欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

TCP/IP协议簇下的各报文结构总结

程序员文章站 2024-01-16 22:56:04
一、TCP/IP 协议簇层次结构:     二、具体的协议有:   说明: 1. ARP和 RARP...


一、TCP/IP 协议簇层次结构:
 

TCP/IP协议簇下的各报文结构总结
 

二、具体的协议有:
 

TCP/IP协议簇下的各报文结构总结


说明:

1. ARP和 RARP  用于物理地址和网络地址间的转换,应属于物理链路层。但由于 ARP 和 RARP 在以太网帧中都有各自的帧类型,所以画在以太网驱动程序和 IP 之间。

2. ICMP和 IGMP  通常用于查询网络管理,也就是被认为是 IP 层的组成部分。但它们都是被封装在 IP 报文中传输,在 IP 的协议类型字段有自己的字段,所以画在 IP 和传输层间。

3. 服务层的括号内的是端口号,其他层括号内的是协议字段类型


三、各报文结构

(一)以太网

CSMA/CD网络 802.3 ,令牌总线 802.4 和令牌环总线 802.5 是 802 委员会公布的标准集,其中 802.2 定义了上面三者的共同特性。目前基本上都在用以太网,采用 CSMA/CD 接入 .  但 802.3 和 802.2 ( RFC1042 )定义了与以太网( RFC894 )两种不同的帧结构。这里只画以太网的帧封装格式:
 

TCP/IP协议簇下的各报文结构总结


说明: 数据部分至少46 字节,不够的话需要插入填充字节


(二)ARP、 RARP

TCP/IP协议簇下的各报文结构总结


说明:

1.ARP帧 类型为0x0806, RARP 为 0x0835 。

2.硬件类型为1 ,表示以太网地址( MAC ),协议类型为 0x0800 表明协议的地址类型为 IP 类型。

3.当硬件类型为1 ,协议类型为 0x0800 时,硬件地址和协议地址长度分别为 6,4 字节,即 48,32 位。

4.操作类型可以为ARP 请求( 1 )、 ARP 应答( 2 )、 RARP 请求( 3 )、 RARP 应答( 4 )。

5.注意后四个与前两个有重复数据。
 

(三)ICMP

TCP/IP协议簇下的各报文结构总结


说明:

1.不同的类型和不同的代码结合而成解释不同的报文。

2.第二个4 字节不同的报文有不同的内容。如 Ping 程序为标识符和序列号。


(四)IGMP

TCP/IP协议簇下的各报文结构总结


说明:

1.IGMP是 Internet  组管理协议

2.32位的组地址用于标识不同组
 

(五)IP

TCP/IP协议簇下的各报文结构总结


说明:

1. 版本包括说明IPv4 和 IPv6

2. 服务类型:如说明最小时耗、最大吞吐量、最大可靠性和最小费用

3. 总长度最大为65535 ,但 MTU 和主机要求等特性会限制到。总长度包括头部和数据

4. 标识号标识主机发送的每一份数据包

5. 标志位有三位,包括是否分片等(第一位未用,第二位为不分片标识,第三位标识是否还有后续分片)。片偏移用于计算分片的数据位置。

6. TTL说明数据报最多可经过多少路由器

7. 协议用于说明被封装在IP 的协议类型
 

(六)TCP

TCP/IP协议簇下的各报文结构总结


说明:

1. 序号和确认序号用于提供确认和重传

2. 因为有可选选项,所以有首部长度

3. URG 标识紧急指针, ACK  标识确认, PSH  标识需要马上将数据包传给上一层, RST 标识重置, FIN  标识挥手时的结束。

4. 窗口大小是用于流控制(滑动窗口机制)

5. 紧急指针指向紧急数据的位置
 

(七)UDP

TCP/IP协议簇下的各报文结构总结


说明:

1. 数据包长度包括头部和数据部分。

2. 校验和和IP 、 TCP 、 IP 、 ICMP 、 IGMP 的一样,但都不是 CRC (以太网帧是 CRC )
 

四、总结

这些报文在TCP/IP  详解中都有,记录一下只为记忆深刻点。