本文共 983 字,大约阅读时间需要 3 分钟。
这里所讲的协议比较主要是指协议格式的比较。理论上来说,数据链路层,网际层,传输层的用途和目的各不相同,协议的实现自然也不相同,比较起来意义不大。但是把它们罗列放在一起后,各自的特点和协议的目的就更加的明显。
协议名 | 层次 | 目标地址 | 源地址 | 校验方式 | 负载类型 | 报文头长度 |
以太网协议 | 数据链路层 | MAC地址(6 Byte) | MAC地址(6 Byte) | FCS: 4字节CRC帧校验码 全数据校验 | 2字节 | 协议中无体现 固定,根据前导码区分 |
IP协议 | 网际层 | IP地址(4 Byte) | IP地址(4 Byte) | 首部检验和:2字节 只检验IP首部 | 1字节 | 首部长度项,4 bit 表示IP报文头长度可变, 报文头20~60字节 |
TCP协议 | 运输层 | 源端口(2 Byte) | 目标端口(2 Byte) | 2字节:伪首部全数据校验 | 无 | 数据偏移,4bit 表示TCP报文段的首部长度,报文头20~60字节 |
UDP协议 | 运输层 | 源端口(2 Byte) | 目标端口(2 Byte) | 2字节:伪首部全数据校验 | 无 | 协议中无体现 UDP报文头长度固定为8字节 |
协议名 | 层次 | 负载长度 | 时间戳 | 特有项 | 特点 |
以太网协议 | 数据链路层 | 协议中无体现, 根据前导码进行区分 46-1500字节数据 | 无 | 无 | 透明传输,是不可靠传输协议,不能保证上层报文的有序、可靠、完整性 |
IP协议 | 网际层 | 总长度,2 Byte IP报文最长65535 | 生存时间 实际表示跳数,超过跳数丢弃 | 标识/标志/片偏移 原因:IP层特有的分片机制所需要 | 不可靠传输协议,不能保证上层报文的有序、可靠、完整性 IP包在传输过程中丢失,则丢弃 |
TCP协议 | 运输层 | 无。TCP是流式传输 靠窗口值来保证可靠传输 | 时间戳 (可选项):用于计算往返时间RTT。来估算超时重传时间 | 序列号/确认号/确认ACK/同步SYN/ 终止比特FIN/窗口 用于流的可靠传输的建立、传输和结束过程 | 可靠传输协议,保证数据有序、可靠和完整性 |
UDP协议 | 运输层 | 2Byte,UDP最长65535 | 无 | 无 UDP层提供的是一个不可靠的协议,不关心发出的包对端是否可靠接受 | 不可靠传输协议,数据包丢失则丢失 |