文章插图
数据通信的本质就是
两个协议栈之间进行通信
。总结:
- 应用层解决的传输数据的目的,根据特定的通信目的,进行数据分析与处理,达到某种业务性的目的
- 传输层和网络层处理数据传输遇到的问题,保证数据的可靠性
- 数据链路层和物理层负责数据真正发送的过程,完成以太网和局域网的通信
- 下三层处理的是通信细节,应用层处理的是业务细节
- 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容
- 对于一台路由器,它实现了从网络层到物理层(有些可到应用层)
- 对于一台交换机,它实现了从数据链路层到物理层
- 对于集线器,它只实现了物理层
- 但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发)
- 应用层协议:
- FTP 文件传输协议
- HTTP 超文本传输协议
- NFS 网络文件系统
- 传输层协议:
- TCP 传输控制协议
- UDP 用户数据报协议
- 网络层协议:
- IP 因特网互联协议
- ICMP 因特网控制报文协议 ping
- IGMP 因特网组管理协议
- 链路层协议:
- ARP 地址解析协议,通过ip找mac地址
- RARP 反向地址解析协议,通过mac找ip
- 不同的协议层对数据包有不同的称谓,在传输层叫做数据段(segment),在网络层叫做数据报 (datagram),在链路层叫做数据帧(frame),应用层叫做请求和响应
文章插图
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation) 。首部信息中包含了一些类似于首部有多长,载荷(payload)有多长,上层协议是什么等信息
文章插图
因每一层的传输数据单元不同,所以需要封装报文头部,以此使下一层能够看懂识别 。传输层:传输层有TCP/IP两个协议,TCP(传输控制协议)和UDP(用户数据报协议) 。TCP协议传输更加稳定可靠,UDP协议传输效率更高 。所以,上层数据到达传输层后需要封装TCP头部或者UDP头部 。网络层:同理,上层数据到达这里需要封装IP头部 。TCP/IP定义了网络互联协议(IP)(英文是Iternet Protocol) 。而IP又由四个支撑协议组成:ARP(地址解析协议),RARP(逆地址解析协议),ICMP(网际控制报文协议)和IGMP(网际组管理协议) 。数据链路层:同理,上层数据到此需要封装MAC头部 。物理层:到达物理层就直接由计算机通过信号接收了 。
经验总结扩展阅读
- 腌豇豆的腌制方法和盐的比例
- php注解使用示例
- 1 onps栈移植说明——onps栈的配置及裁剪
- netty系列之: 在netty中使用 tls 协议请求 DNS 服务器
- 使用LabVIEW实现基于pytorch的DeepLabv3图像语义分割
- 含钾高的食物有哪些
- 我的Spark学习笔记
- 万姓男孩名字2024年7月4日出生的生辰八字五行查询
- 梭子蟹的黄为什么是苦的
- 邹姓男孩名字2024年4月19日出生的生辰八字五行查询