一.物理层
- 功能:透明地传输比特流
https://max.book118.com/html/2018/0501/164132072.shtm
https://wenku.baidu.com/view/8f5888c45fbfc77da269b1bf.html
二.数据链路层
https://www.cnblogs.com/drq1/p/9681226.html
-
功能:将网络层传来的IP数据包组装成帧,提供点到点的可靠传输服务,对数据帧进行差错检测,但并不检测数据帧的丢失情况
-
以太网Mac帧格式:
-
Mac帧的首部和尾部的长度为18B,数据部分长度:46B-1500B,总长度:64B-1518B
- 目的Mac地址,6B
- 源Mac地址,6B
- 类型,2B:高层协议类型,指出数据部分应该交给哪个协议处理
- 数据部分,46B-1500B
- FCS,4B:校验码,采用32位循环冗余码(CRC)生成,检验整个Mac帧,但不包含前导码
三.网络层
- 功能:解决分组在网络中的传输问题
- IPv4分组格式:
- IP版本:一般为4
- 首部长度:固定长度为20B,最大为60B,单位为4B,故实际值为5/15
- 区分服务:???
- 总长度:即首部加数据之和,单位为1B,不能超过下面链路层的MTU值
- 标识:用于分片,若标识相同,则为同一个分组
- 标志:占三位,低位MF:MF=0表示最后一个分片,MF=1表示后面还有分片;中位DF:只有DF=0时才允许分片
- 片位移:用于表示片在原分组中的位置,单位为8B
- 生存时间:TTL,若TTL用尽,则表示分组不可达,清理之
- 协议:标识高层协议类型,6为TCP,17为UDP
- 首部校验和: 只校验分组的首部
- 源地址:发送方IP
- 目的地址:接收方IP
四.传输层
- 功能:为端到端的连接提供可靠的传输服务。点到点可理解为主机到主机之间的通信,一个点是指一个Mac地址或IP地址;端到端指运行在不同主机中的两个进程之间的通信,一个进程由一个端口标识,所以称端到端
- TCP报文段格式:
- 源端口
- 目的端口
- 序号:表示本报文段的第一个字节的序号
- 确认号:表示接收方期望收到下一个报文段的第一个字节的序号,即此序号之前的所有数据都以正确接收
- 数据偏移:表示首部长度,单位为4B
- 保留
- 紧急位URG:若URG=1,则表示紧急指针有效
- 确认位ACK:若ACK=1,则表示确认号有效
- 推送位PSH:若PSH=1,则表示接收到报文后,不放入缓冲区,立刻向上交付
- 复位位RST:若RST=1,则表示TCP连接出现严重差错,重新连接
- 同步位SYN:若SYN=1,ACK=0,表示这是一个连接请求报文
- 终止位FIN:若FIN=1,表示发送方的数据发送完毕,要求释放传输连接
- 窗口字段:表示接收方剩余的接收缓存空间
- 校验和:校验整个TCP报文段,要在TCP报文段前加上12B的伪首部
- 紧急指针:标识紧急数据
- 可变部分
五.应用层
六.总结
五层模型 | 常见协议 | 互连设备 | 标识类型 | 数据单位 |
---|---|---|---|---|
应用层 | FTP、DNS、HTTP、SMTP | 主机名 | 应用数据 | |
传输层 | TCP、UDP | 网关 | 端口号 | TCP报文段 |
网络层 | ARP、IP、ICMP、IGMP、RIP | 路由器 | IP地址 | IP数据报 |
数据链路层 | PPP | 网桥、交换机 | MAC地址 | 以太网Mac帧 |
物理层 | IEEE802.11(无线局域网) | 中继器、集线器 | 比特流 |