- IP报文格式
- 在网络通信中,IP包格式是按照互联网协议(IP)标准来设计的。它包含以下几个关键部分:
- 版本号(Version):占4位,用于指示IP的版本。IPv4的值为0100,IPv6的值为0110。
- 首部长度(Header Length):占4位,表示首部的长度,单位为32位字长。首部最小长度为20字节(即5个32位字长),最大长度可达60字节。
- 服务类型(Type of Service, TOS):占8位,用于指示服务质量要求,包括优先级、吞吐量、时延、可靠性和成本等指标。
- 总长度(Total Length):占16位,指示整个IP包的总长度,包括首部和数据部分,最长不得超过65535字节。
- 标识符(Identifier):占16位,用于标识发送的数据报,尤其用于分段和重组。
- 标志(Flags):占3位,其中包含一个未用位、一个不分段(DF)标志和一个更多分段(MF)标志。
- 段偏移量(Fragment Offset):占13位,用于在分段过程中指示每个分段相对于原始数据报的偏移位置。
- 生存时间(Time to Live, TTL):占8位,指示数据报可以在网络中传输的最大跳数,每经过一个路由器递减1,减至0时丢弃该数据报。
- 协议(Protocol):占8位,指示载荷数据使用的协议类型。
- 首部校验和(Header Checksum):占16位,用于对首部信息进行校验,不包括数据部分。
- 源IP地址(Source IP):占32位,指示发送方的IP地址。
- 目的IP地址(Destination IP):占32位,指示接收方的IP地址。
- 选项(Options):长度可变,最多不超过40字节,根据需要提供额外的控制信息,如安全和处理限制、记录路径、时间戳等。
- IP报文的最大和最小字节数
- IP报文的最大和最小字节数主要取决于其版本(如IPv4或IPv6)、首部长度、以及数据部分的长度。以下是对IPv4报文最大和最小字节数的详细解释:
- 最大字节数:
- IPv4报文的总长度由16位字段表示,这意味着它的最大值是2^16 - 1 = 65,535字节。这包括了报头和数据部分的总长度。
- 在实际应用中,由于以太网帧的限制(如MTU为1500字节),IP报文通常会被分片传输,以避免超过链路层的最大传输单元。
- 最小字节数:
- IP报文的最小长度通常受到链路层协议的限制。例如,在以太网环境中,最小的IP数据报长度为46字节(不包括以太网帧的首部同步和CRC校验序列)。
- 如果IP报文小于这个长度,它会被填充到至少46字节,以确保满足链路层的要求。
- MAC数据帧格式
- 前同步码:用来使接收端的适配器在接收 MAC 帧时能够迅速调整时钟频率,使它和发送端的频率相同。前同步码为 7 个字节,1 和 0 交替。
- 帧开始定界符:帧的起始符,为 1 个字节。前 6 位 1 和 0 交替,最后的两个连续的 1 表示告诉接收端适配器:“帧信息要来了,准备接收”。
- 目的地址:接收帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。作用是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同,就会进一步处理;如果不同,则直接丢弃。
- 源地址:发送帧的网络适配器的物理地址(MAC 地址),为 6 个字节(48 比特)。
- 类型:上层协议的类型。由于上层协议众多,所以在处理数据的时候必须设置该字段,标识数据交付哪个协议处理。例如,字段为 0x0800 时,表示将数据交付给 IP 协议。
- 数据:也称为效载荷,表示交付给上层的数据。以太网帧数据长度最小为 46 字节,最大为 1500 字节。如果不足 46 字节时,会填充到最小长度。最大值也叫最大传输单元(MTU)。
以太网帧格式
最新推荐文章于 2024-09-30 17:57:44 发布