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

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

TCP/IP 协议簇下的各报文结构总结_第1张图片

二、具体的协议有:

TCP/IP 协议簇下的各报文结构总结_第2张图片

说明:

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

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

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

三、各报文结构

(一)以太网

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


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

(二)ARPRARP

TCP/IP 协议簇下的各报文结构总结_第3张图片

说明:

1.ARP类型为0x0806RARP0x0835

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 协议簇下的各报文结构总结_第4张图片

说明:

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

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

(四)IGMP

TCP/IP 协议簇下的各报文结构总结_第5张图片

说明:

1.IGMPInternet 组管理协议

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

(五)IP

TCP/IP 协议簇下的各报文结构总结_第6张图片

说明:

1. 版本包括说明IPv4IPv6

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

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

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

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

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

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

(六)TCP

TCP/IP 协议簇下的各报文结构总结_第7张图片

说明:

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

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

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

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

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

(七)UDP

TCP/IP 协议簇下的各报文结构总结_第8张图片

说明:

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

2. 校验和和IPTCPIPICMPIGMP的一样,但都不是CRC(以太网帧是CRC

四、总结

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

该文为原创,转载请注明本博客.

你可能感兴趣的:(网络,tcp,internet,路由器)