IP协议报文格式与分包重组

来源:互联网 发布:网络科技股龙头 编辑:程序博客网 时间:2024/06/10 01:39
IP报文体: |------------->16<--------------|------------->16<--------------| 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | vesion| IHL | TypeOfService | TotleLength |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- | identification |flags| FragmentOffset |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time to Live | Protocol | Header Checksum |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Address |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Address |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+说明:Version -- 版本:4bits长度,指明IP地址的协议版本,如果IPV4,值为4IHL -- 报文头长度:4bits长度,指从Version到Destination Address有几个32位的长度,由上可知有5个32位长TOS -- 服务类型:目前大多数网络对此一般不作处理. bit位域如下 0 1 2 3 4 5 6 7 -+-+-+-+-+-+-+-+-+ |PREC |D|T|R|M|0| precedence -- 优先级:3bits长度.对网络没有强制性 (111 - Network Control(网络控制);110 - Internetwork Control(互联网络控制); 101 - CRITIC/ECP(至关重要);100-Flash Override(火速覆盖);011 - Flash(火速); 010 - Immediate(立即);001 - Priority(主要);000 - Routine(常规) ) D -- 延迟(Delay): 置位代表要求网络能提供低的时延 T -- 吞吐量(Troughout): 置位代表要求网络能提供高的吞吐量 R -- 可靠性(Reliability): 置位表示要求网络提供高的可靠性 M -- 代价(Monetary):TotleLen -- IP总长度:16bits长,包括IP报文头和IP报文体的bit长度。IP包的最大长度可达2/u0015/u001F16/u001F-1=65535B≈64kBIdent -- 标识符:16bits长,使目的主机判断新来的分段属于哪个分组,所有属于同一分组的分段包含同样的标识值。flags -- 标志位:3bits长。(Bit0:保留; Bit1:DF; Bit2:MF) DF:置位表示通知路由器不要分段,因为目的端不能重组分段。如果无分段路由器无法转发,则丢弃包。 MF:标识是否是最后一个分段。FramOset -- 分段偏移:13bits长。标明分段在当前数据报的位置。以8字节(64bits)作为计量单位.第一个分段偏移为0TToL -- 生存时间:8bits长。跳数大小,每经过一个网关时,减1.如果减为0,被抛弃,抛弃的设备将产生ICMP报文 发回源主机Protocol -- 高层协议:8bits长。标识出传输层的地址或协议号,即报文的数据区是那个高级协议。如VINES、TCP、UDPCheckSum -- IP报文头校验和:16bits长。头部所有16bits字的和。crc算法SrcAddr -- 源地址:32bits长,如IP地址DesAddr -- 目的地址:32bits长,如IP地址Option -- 报文头选项:0-40bits可变长度Padding -- IP数据报文/***************************************************************************//***************************************************************************/IP报文分段方法: _________________________________________________ 原始报文: |IP Header| IP Packet data ...... | ------------------------------------------------- _____________________________________________________________ 分段后报文: |IP Header| IP Packet1 |IP Header| IP Packet2 | ........ | -------------------------------------------------------------分段时,在原始报文的报文数据域中的合适位置插入分包后的IP协议头。
原创粉丝点击