ip报头格式
IPv4IPv6报头格式

IPv4、v6 报头格式及以太网帧格式
IPv4 协议报头格式
Байду номын сангаас
IPv4 报头长度为 20 个字节。 不分片的最大长度为 1500-20=1480; 分片之后数据报(所有扩展首部都算在有效载荷之内) ,由于报文总长度为 16 位,最大 长度最大值是 64 KB。
IPv6 协议报头格式
IPv6 报头长度为 40 个字节。 不分片的最大长度为 1500-40=1460; IPv6 数据部分:16bit 位,这意味着除基本首部以外的字节数(所有扩展首部都算在有 效载荷之内) ,其最大值是 64 KB。
以太网帧的格式
其中,每帧最前面要插入 7 字节的前同步码和 1 字节的帧开始定界符。 10/100/1000M 以太网帧格式相同。 10~100M 以太网最小帧为 64 字节;1000M 以太网最小帧为 512 字节;
最大长度可以为 1518,当添加了 VLAN 标记,首部增加 4 个字节后,最大长度可以为 1522。
以太网帧格式、IP报文格式、TCPUDP报文格式

以太⽹帧格式、IP报⽂格式、TCPUDP报⽂格式1、ISO开放系统有以下⼏层:7应⽤层6表⽰层5会话层4传输层3⽹络层2数据链路层1物理层2、TCP/IP ⽹络协议栈分为应⽤层(Application)、传输层(Transport)、⽹络层(Network)和链路层(Link)四层。
通信过程中,每层协议都要加上⼀个数据⾸部(header),称为封装(Encapsulation),如下图所⽰不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在⽹络层叫做数据报(datagram),在链路层叫做帧(frame)。
数据封装成帧后发到传输介质上,到达⽬的主机后每层协议再剥掉相应的⾸部,最后将应⽤层数据交给应⽤程序处理。
其实在链路层之下还有物理层,指的是电信号的传递⽅式,⽐如现在以太⽹通⽤的⽹线(双绞线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤等都属于物理层的概念。
3、集线器(Hub)是⼯作在物理层的⽹络设备,⽤于双绞线的连接和信号中继(将已衰减的信号再次放⼤使之传得更远)。
交换机是⼯作在链路层的⽹络设备,可以在不同的链路层⽹络之间转发数据帧(⽐如⼗兆以太⽹和百兆以太⽹之间、以太⽹和令牌环⽹之间),由于不同链路层的帧格式不同,交换机要将进来的数据包拆掉链路层⾸部重新封装之后再转发。
路由器是⼯作在第三层的⽹络设备,同时兼有交换机的功能,可以在不同的链路层接⼝之间转发数据包,因此路由器需要将进来的数据包拆掉⽹络层和链路层两层⾸部并重新封装。
4、⽹络层的IP 协议是构成Internet 的基础。
IP 协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应⽤程序中提供⽀持。
传输层可选择TCP 或UDP 协议。
TCP 是⼀种⾯向连接的、可靠的协议,有点像打电话,双⽅拿起电话互通⾝份之后就建⽴了连接,然后说话就⾏了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。
数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(IP包TCP报头UDP报头)一、IP包格式IP数据包是一种可变长分组,它由首部和数据负载两部分组成。
首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定。
数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B。
1、版本号(Version)长度为4位(bit),IP v4的值为0100,IP v6的值为0110。
2、首部长度指的是IP包头长度,用4位(bit)表示,十进制值就是[0,15],一个IP包前20个字节是必有的,后40个字节根据情况可能有可能没有。
如果IP包头是20个字节,则该位应是20/4=53、服务类型(Type of Service TOS)长度为8位(bit),其组成:前3位为优先级(Precedence),后4位标志位,最后1位保留未用。
优先级主要用于QoS,表示从0(普通级别)到7(网络控制分组)的优先级。
标志位可分别表示D(Delay更低的时延)、T(Throughput 更高的吞吐量)、R(Reliability更高的可靠性)、C(Cost 更低费用的路由)。
TOS只表示用户的请求,不具有强制性,实际应用中很少用,路由器通常忽略TOS字段。
4、总长度(Total Length)指IP包总长度,用16位(bit)表示,即IP包最大长度可以达216=65535字节。
在以太网中允许的最大包长为1500B,当超过网络允许的最大长度时需将过长的数据包分片。
5、标识符(Identifier)长度为16位,用于数据包在分段重组时标识其序列号。
将数据分段后,打包成IP 包,IP包因走的路由上不同,会产生不同的到达目地的时间,到达目地的后再根据标识符进行重新组装还原。
该字段要与标志、段偏移一起使用的才能达到分段组装的目标。
6、标志(Flags)长度为3位,三位从左到右分别是MF、DF、未用。
MF=1表示后面还有分段的数据包,MF=0表示没有更多分片(即最后一个分片)。
ipv6的协议格式

ipv6的协议格式IPv6的协议格式如下:IPv6报头包括以下字段:- 版本(Version):4位字段,指定IPv6协议的版本号,固定为0110(二进制)。
- 流量类别(Traffic Class):8位字段,用于区分和优先处理不同类型的数据流。
- 流标签(Flow Label):20位字段,用于标识一组数据包,以实现对数据流的流级别的服务质量(Quality of Service, QoS)。
- 负载长度(Payload Length):16位字段,指定IPv6报文的负载长度,不包括IPv6报头的长度。
- 下一个报头(Next Header):8位字段,指定在IPv6报头之后所跟随的上层协议类型。
- 跳数限制(Hop Limit):8位字段,类似于IPv4中的生存时间(Time To Live, TTL),它限制了一个IPv6数据报可经过的最大路由跳数。
源地址(Source Address)和目标地址(Destination Address):每个地址为128位,使用IPv6的地址表示方式。
IPv6报头之后的每个扩展报头都有相同的格式:- 下一个报头(Next Header):8位字段,指定在当前扩展报头之后所跟随的下一个报头类型。
- 扩展报头长度(Header Extensions Length):8位字段,指定该扩展报头的长度,不包括下一个报头的长度。
- 扩展报头特定的字段:具体与每个扩展报头相关的特定字段。
最后的上层协议数据:根据下一个报头字段指定的类型,可以是TCP、UDP、ICMPv6等。
总之,IPv6的协议格式相比IPv4更为简洁和灵活,支持更长的地址空间、更好的网络性能和更强的安全性。
IP协议解码详解

协议分析-IP协议解码详解一、IP协议简介IP,全称Internet Protocol,中文名叫因特网协议,它工作在OSI的网络层,它负责将数据传输到正确的目的地,同时也负责路由。
无论传输层使用何种协议,都要依赖IP来发送和接受数据。
IP提供一种无连接的传输机制,这就意味着在网络传输的每个数据报都作为独立的单元来对待。
IP并不维护服务器和客户端之间的连接细节。
IP不能保证数据传输的可靠性。
然而,这些并不意味着分组将被毫无规则的忽略,而是仅在网络出现故障时才会发生数据丢失。
下面我们来介绍一下IP数据报的格式、IP数据报格式,如图1,(图1 IP数据报的格式)●版本:用于传输数据的IP版本,大小为4位;●头部长度:用于规定报头长度;●服务类型:用于设置数据传输的优先权或者优先级,其大小为8位;●总长度:指出数据报的总长,数据报总长=报头长度+数据长度,大小为16位;●标识:用于标识所有的分段,大小为16位;●分段标志:确定一个数据报是否可以分段,同时也指出当前分段后面是否还有更多分段,大小为3位;●分段偏移量:由目标计算机用于查找分段在整个数据报中的位置,大小位13位;●生存时间:设置数据报可以经过的最多路由器数。
长度为8位;●协议:指定用于创建数据字段中的数据的上层协议,大小为8位;●校验和:检查所传输数据的完整性,大小为16位;●源地址:源IP地址,字段长度为32位;●目标地址:目标IP地址,字段长度为32位;●选项:不上一个必须的字段,字段长度具体取决于所选择的IP选项;●数据:包含网络中传输的数据,IP数据报还包括上层协议的报头信息;二、解码详解使用科来网络分析系统捕获IP数据包,其详细解码如图2,(图2 科来网络分析系统中IP数据包的详细解码)图2为科来网络分析系统中IP数据包的详细解码,下面我们来分别说明IP数据包的解码信息:版本:4,表示当前网络中为IPv4;头部长度:4,表示IP报头长度为5x4=20字节;服务类型:0,表示当前IP数据包中没有使用服务类型字段;总长度:40,表示该数据报总长为40字节;标识:表示该数据报的标识为0x41AB(16进制);分段标志:第二位为1,表示该数据报不能被分段,分段偏移量:由于没有被分段,所以该分段便偏移量为0;生存时间:表示该数据报最多可以经过128个路由;上层协议:6代表TCP协议;校验和:该数据报校验和为0x36A8(正确),表示该数据报是完整的;源IP地址:192.168.0.208;目标IP地址:192.168.0.92;选项:表示该数据报没有选项字段;。
计算机三级考试复习知识点:IP数据报

计算机三级考试复习知识点:IP数据报计算机三级考试复习知识点:IP数据报IP数据报是IP协议使用的数据单元,互联层数据信息和控制信息的传递都需要通过IP数据报进行,同时也是计算机三级考试的重要内容,店铺整理了相关知识点,一起来复习下吧:1.IP数据报的格式IP数据报的格式可以分为报头区和数据区两部分,数据区包括高层需要传输的数据,而报头区是为了正确传输高层数据而增加的控制信息。
通俗地说,数据报的数据区就像是一个信件,而信封上写明寄信人和收信人等信息后,就相当于是一个报头区。
把两者结合一起,就是一个IP数据报。
报头区包含了源IP地址、目的IP地址等控制信息,具体内容如下。
(1)版本和协议类型在IP报头中,版本字段表示该数据报对应的IP协议版本号,不同的IP协议版本规定的数据报格式稍有不同,目前使用的IP协议版本号为4。
协议字段表示该数据报数据区数据的高级协议类型(如TCP),用于指明数据区数据的格式。
(2)长度报头中有两个表示长度的字段,一个为报头长度,另一个为总长度。
报头长度以32b为单位,指出该报头区的长度。
在没有选项和填充的情况下,该值为“5”。
总长度以8b为单位,表示整个IP数据报的总长度(其中包含报头区长度和数据区长度)。
(3)服务类型服务类型字段规定对本数据报的处理方式。
利用该字段,发送端可以为IP数据包分配一个转发优先级,并可以要求中转路由器尽量使用低延迟、高吞吐率或高可靠性的线路投递。
(4)生存周期IP数据报的路由选择具有独立性,因此从源主机到目的主机的传输延迟也具有随机性。
如果路由表发生错误,数据报就有可能进入一个死循环。
利用IP报头中的生存周期字段,可以有效的控制数据报在网络中无休止的流动。
在网络中,“生存周期”域随时间而递减,在该域为0时,报文将被删除,避免死循环的发生。
(5)头部校验和头部校验和用于保证IP数据报头的完整性。
注意,在IP数据报中,只含有报头校验字段,没有数据区校验字段。
IP包头格式

IP包头格式|8 | 8 |8 | 8*版本(version)——标识了数据包的IP版本号。
这个4位字段的值设置为二进制的0100表示IP版本4(IPv4),设置为0110表示IP版本6(IPv6)。
*报头长度(header length)——字段长度为4位,正如字段名所示,它表示32位字长的IP 报头长度。
设计报头长度字段是因为数据包的可选项字段的大小会发生变化。
IP报头最小长度为20个八位组,最大可以扩展到60个八位组——通过这个字段也可以描述32位字的最大长度。
*服务类型(TOS,type of service)——字段长度为8位,它用来指定特殊的数据包处理方式。
服务类型字段实际上被划分为两个子字段:优先级和ToS。
优先级用来设置数据包的优先级,这就像邮寄包裹一样,可以是平信、隔日送到或两日内送到。
ToS允许按照吞吐量、时延、可靠性和费用方式选择传输服务。
虽然ToS字段通常不用(所有位均被设置为0),但是开放式最短路径优先(OSPF)协议的早期规范中还是称为ToS路由选择。
优先权位偶尔在服务质量(QoS)应用中使用。
更详细的信息可以参见RFC1340和RFC1349。
*总长度(total length)——数据包总长度字段的长度为16位,以八位组为单位计,其中包括IP报头。
接收者用IP数据包总长度减去IP报头长度,就可以确定数据包数据有效负载的大小。
16位长的二进制数用十进制表示最大可以为65535,所以IP数据包的最大长度是65535。
*标识符(identifier)——字段长度为16位,通常与标记字段和分片偏移字段一起用于数据包的分段。
如果数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU),那么必须将数据包分段为更小的数据包。
例如,一个大小为5000字节的数据包在穿过网络时,如果遇到一条MTU为1500字节的数据链路,即数据帧最多容纳大小为1500字节的数据包。
路由器需要在数据成帧之前将数据包分段成多个数据包,其中每个数据包长度不得超过1500字节;然后路由器在每片数据包的标识字段上打上相同的标记,以便接收设备可以识别出属于一个数据包的分段。
IP包头

IP包头(Packet Header)的格式版本(version):长度4比特,表示数据包的IP版本号,0x0100表示IP版本4,0x0110表示IP版本6报头长度(header lenght):长度4比特,表示IP包头长度,最小长度为20个字节,最大可以扩展到60个字节。
服务类型(Type of service):长度8比特,表示特殊数据包的处理方式。
服务类型字段实际上被划分为两个子字段:优先级和ToS。
总长度(Total Length):长度16比特,表示IP包的长度(包头+数据),所以IP 数据包的最大长度是65535(2^16)。
标识符(Identifier):长度16比特,通常与标记字段和分片偏移字段一起用于数据包的分段。
如果数据包原始长度超过数据包所要经过的数据链路的最大传输单元(MTU),那么必须将数据包分段为更小的数据包。
例如,一个大小为5000字节的数据包在穿过网络时,如果遇到一条MTU为1500字节的数据链路,即数据帧最多容纳大小为1500字节的数据包。
路由器需要在数据成帧之前将数据包分段成多个数据包,其中每个数据包长度不得超过1500字节;然后路由器在每片数据包的标识字段上打上相同的标记,以便接收设备可以识别出属于一个数据包的分段。
标记字段(Flag):长度3比特,其中第1位不使用,第2位是不分段(DF)位。
当DF位被设置为1时,表示路由器不能对数据包进行分段处理。
如果数据包由于不能被分段而未能被转发,那么路由器将丢弃该数据包并向源点发送错误消息。
第3位表示还有更多分段(MF)位,当路由器对数据包进行分段时,MF位为1,说明后面还有分段;MF位为0,说明这是最后一个分段。
分段偏移(Fragment Offset):长度13比特,表示该IP包在该组分片包中位置,接收端靠此来组装还原IP包。
请注意,如果一个分片在传输中丢失,那么必须在网络中同一点对整个数据包重新分片重新发送。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
版本——标识了IP协议的版本,通常这个字段的值为0010,常用的版本号为4,新的版本号为6,现在IPv6还没有普遍使用,但是中国已经为奥运会建立了一个ipv6的网络。
IPv6又被称为IPng(IP Next Generation)
报头长度——这个字段的长度为4,它表明了IP报头的长度,设计这个字段的原因是报文的选择项字段会发生改变,IP报头的最小长度为20个8bit,最大为24个8bit。
报文字段描述了以32比特为单位程度的报头长度,其中5表示IP 报头的最小长度为160比特,6表示最大。
服务类型——字段长度为8位,它用来表示特殊报文的处理方式。
服务类型字段实际上被划分为2个部分,一部分为优先权一部分为TOS。
优先权用来设定报文的优先级,就像邮包分为挂号和平信一样。
TOS允许按照吞吐量、时延、可靠性和费用方式选择传输服务,在早期的时候,TOS还被用来进行路由选择。
在QOS 中有时也会使用优先权,常见的优先权队列。
总长度——字段长度为16位,通常预标记字段和分片偏移字段一起用于IP报文的分段。
如果报文总长度大于数据链路可传输的最大传输单元(MTU),那么就会对报文进行分片。
标记字段——长度位3位,其中第一位没有被使用第二位是不分片位,当DF 位被置1,表示路由器不能对数据报文进行分片处理,如果报文由于不能被分片而不能被转发,那么路由器将丢弃这个数据包,并向源地址发送错误报告。
这一功能可以用来测试线路的最大传输单元。
第三位MF,当路由器对数据进行分片时,除了最后一个分片的MF位为0外,其他所有的MF为全部为1,表示其后面还有其他的分片。
分片偏移――字段长度为13位,以8个bit为单位,用于指明分片起始点相对于报头的起始点的偏移量,由于分片到达时间可能错序,所以分片偏移字段可以使得接受者按照顺序重新组织报文。
生存时间——字段长度为8位,在最初创建报文时,TTL就被设定为某个特定值,当报文沿路由器传送时,每经过一个路由器TTL的值就会减小1,当TTL为零的时候,就会丢弃这个报文,同时向源地址发送错误报告,促使重新发送。
协议――字段长度为8位,它给出了主机到主机或者传输层的地址或者协议号,协议字段中指定了报文中信息的类型,当前已分配了100多个不同的协议号。
校验和――时针对IP报头的纠错字段,校验和的计算不能用被封装的数据内容,UDP/TCP/和ICMP都有各自的校验和,此字段包含一个16位的二进制补码和,这是由报文发送者计算得到的,接收者将联通院士校验和从新进行16位补码和计算,如果在传输中没有发生错误,那么16位补码值全部为1,由于路由器都会降低TTL值,所以路由器都会重新计算校验和。
源地址――字段长度为32位,分别表示发送报文的路由器的源地址。
目的地址――标识接收数据报文的路由器的地址。
可选项――这个字段是一个变长字段,并且可选,可选项被添加到报头中,包括圆点长生的信息和其他路由器假如的信息,这个字段主要用于测试。
常用的可选项如下:
Loose Srouce Routing ――它给出了一连串路由器接口的IP地址序列。
报文必须沿IP地址序列传送,但是允许在相继的两个的只见跳过多个路由器。
Sttict Source Routing――它给出了一系列路由器接口的IP地址的序列,不同于loose Source Routing ,报文必须按照序列转发,否则就
会出错。
Record Route――给离开路由器的报文记录出口地址,以便保留报文经过的所有的路由器的记录。
Timestamp――除了每个路由器还会记录一个时间戳之外,时间戳现象十分类似于记录路由选项。
填充――该字段通过在后面添加0来补足32位,这样保证报头长度是32bit的倍数。
IPV4报头有12个必需的字段和可选IP选项字段,位于要发送的数据之前。
如果使用IP层已有的库或其他组件,一般不必考虑报头中的大多数字段,但程序代码需要提供源端和目的端地址。
版本(Version):4比特,IP协议版本已经经过多次修订,1981年的RFC0791描述了IPV4,RCF2460中介绍了IPV6。
报头长度(Header Length):4比特,报头长度是报头数据的长度,以4字节表示,也就是以32字节为单位。
报头长度是可变的。
必需的字段使用20字节(报头长度为5,IP选项字段最多有40个附加字节(报头长度为15)。
服务类型、优先级(Priority &Type of Service):8比特,该字段给出发送进程建议路由器如何处理报片的方法。
可选择最大可靠性、最小延迟、最大吞吐量和最小开销。
路由器可以忽略这部分。
总长度(Total Length):16比特,该字段是报头长度和数据字节的总和,以字节为单位。
最大长度为65535字节。
标识符(Identification):16比特,原始数据的主机为数据报分配一个唯一的数据报标识符。
在数据报传向目的地址时,如果路由器将数据报分为报片,那么每个报片都有相同的数据标识符。
标志(Flag):3比特,标志字段中有2位与报片有关。
位0:未用。
位1:不是报片。
如果这位是1,则路由器就不会把数据报分片。
路由器会尽可能把数据报传给可一次接收整个数据报的网络;否则,路由器会放弃数据报,并返回差错报文,表示目的地址不可达。
IP标准要求主机可以接收576字节以内的数据报,因此,如果想把数据报传给未知的主机,并想确认数据报没有因为大小的原因而被放弃,那么就使用少于或等于576字节的数据。
位2:更多的报片。
如果该位为1,则数据报是一个报片,但不是该分片数据报的最后一个报片;如果该位为0,则数据报没有分片,或者是最后一个报片。
碎片偏移(Fragment Offset):13比特,该字段标识报片在分片数据报中的位置。
其值以8字节为单位,最大为8191字节,对应65528字节的偏移。
例如,将要发送的1024字节分为576和424字节两个报片。
首片的偏移是0,第二片的偏移是72(因为72×8=576)。
生存时间(Timw-to-Live,TTL):8比特,如果数据报在合理时间内没有到达目的地,则网络就会放弃它。
生存时间字段确定放弃数据报的时间。
生存时间表示数据报剩余的时间,每个路由器都会将其值减一,或递减需要数理和传递数据报的时间。
实际上,路由器处理和传递数据报的时间一般都小于1S,因此该值没有测量时间,而是测量路由器之间跳跃次数或网段的个数。
发送数据报的计算机设置初始生存时间。
协议(Protocol):8比特,该字段指定数据报的数据部分所使用的协议,因此IP层知道将接收到的数据报传向何处。
TCP协议为6,UDP协议为17。
报头检验和(Header Checksum):16比特,该字端使数据报的接收方只需要检验IP报头中的错误,而不校验数据区的内容或报文。
校验和由报头中的数值计算而得,报头校验和假设为0,以太网帧和TCP报文段以及UDP数据报中的可选项都需要进行报文检错。
源IP地址(Source IP Address):32比特,表示数据报的发送方。
目的IP地址(Destination IP Address):32比特,表示数据报的目的地。
选项(Options):0-32比特。
数据(Date):协议信息。
传输层的上层是应用层,传输层会根据应用层协议数据单元的大小而分段。
TCP 在三次握手时也会协商一个segment大小,即分段大小。
到网络层后,网络层会根据MTU的大小为上层传来的数据段分片,分片时会为每个片进行标识,用此标识符标识哪些片是一个相同数据段所分的片,便于接收方收到后重组数据。