首页 > 其他分享 >IP包格式

IP包格式

时间:2023-08-25 23:23:09浏览次数:31  
标签:分段 首部 IP 格式 长度 数据包 字节

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=5。

3、服务类型(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表示没有更多分片(即最后一个分片)。DF=1表示路由器不能对该数据包分段,DF=0表示数据包可以被分段。

7、偏移量(Fragment Offset)

也称段偏移,用于标识该数据段在上层初始数据报文中的偏移量。如果某个包含分段的上层报文的IP数据包在传送时丢失,则整个一系列包含分段的上层数据包的IP包都会要求重传。

8、生存时间(TTL)

长度为8位,初始值由操作系统设置,每经过一个路由器转发后其值就减1,减至0后丢弃该包。这种机制可以避免数据包找不到目地时不断被转发,堵塞网络。

9、协议(Protocol)

长度为8位,标识上层所使用的协议。

10、首部校验和(Header Checksum)

长度为16位,首部检验和只对IP数据包首部进行校验,不包含数据部分。数据包每经过一个中间节点都要重新计算首部校验和,对首都进行检验。

11、源IP地址(Source IP)

长度为32位,表示数据发送的主机IP。

12、目的IP地址(Destination IP)

长度为32位,表示数据要接收的主机IP。

13、选项字段(Options)

长度为0-40字节(Byte),主要有:安全和处理限制(Security)、记录路径(Record Route)、时间戳(Timestamps)、宽松源站选路(Loose Source Routing)、严格的源站选路(Strict Source Routing)等。

标签:分段,首部,IP,格式,长度,数据包,字节
From: https://www.cnblogs.com/sawyerhan/p/17658163.html

相关文章

  • UDP数据段格式
    UDP数据段 UDP数据报由首部和数据两部分组成,其中首部只有8B(字节)。1、源端口号(SourcePort)长度为16位,指明发送数据的进程。2、目的端口号(DestinationPort)长度为16位,指明目的主机接收数据的进程。3、长度长度为16位,该字段值为报头和数据两部分的总字节数。4、检验和(Ch......
  • OSI七层模型和TCP/IP五层模型
    OSI七层模型“OSI模型,即开放式通信系统互联参考模型(OpenSystemInterconnectionReferenceModel),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。”OSI定义了网络互连的七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层......
  • JLR DOIP VCI SDD Pathfinder Interface: The Best Choice for Jaguar Land Rover Lov
    IfyouareaJaguarLandRover(JLR)enthusiast,youmustbefamiliarwiththeimportanceofhavingtherightdiagnostictoolathand.Inthisblogpost,wewilldiscusstheJLRDOIPVCISDDPathfinderInterfaceandwhyitstandsoutasthebestchoicefo......
  • 关于 buildroot ubuntu 的 固定ip 的设置。
    先来看看ubuntu:      但是再16.04使用的是这种方式:     再来看看buildroot   这么设置ip倒是可以,但是怎么设置DNS呢?        这说明再嵌入式中,非常不标准,各有各的实现方式,名字也是各不相同。 经过我的测试......
  • IP新地标!三思1700㎡“裸眼3D悬浮橱窗”惊艳深圳湾区之心
    适逢炎炎夏日,当你走在街头,看见一瓶悬浮半空的巨型雪碧,是否会想起昔日“望梅止渴”的故事?是的!这样一幕酷炫的现代版场景近期就在深圳南山区上演。图片来源:深圳南山区电信大厦三思LED屏无论是南海大道来往深南大道、滨海大道,抑或是前往蛇口、前海片区的主要交通干道。在这条东西向交......
  • VSCode使用JavaScript刷LeetCode配置教程(亲试可以!)
    账号秘密都对,但是缺登录不成功的问题诀窍可能是:在属性设置中把LeetCode版本改成cn。点击LeetCode配置,修改Endpoint配置项,改成leetcode-cn,再次尝试登陆即可。  大家可移步原博文:https://blog.csdn.net/qq_37263248/article/details/124304402......
  • Jenkins +miniprogram-ci 构建 发布、预览微信小程序
           #!/bin/bash-lrm-rfqrcode*.jpgyarnyarnwxcitype=$actionappid=$appidversion=$versiondesc=$descbuildId=${BUILD_ID}#计算过期时间,并将过期时间写进自定义环境变量#计算过期时间,并将过期时间写进自定义环境变量now=`date'+%Y-%m-%d%H......
  • Eclipse集成Tomcat
    1.打开Eclipse,点击“Window”,选择“Preferences”2.找到“Server”(如果找不到Server,查看本页最下方的解决办法)---“RuntimeEnvironments”--“Add”,——运行时环境(RuntimeEnvironments)——添加(Add),添加Tomcat服务器对应安装的Tomcat版本选择ApacheTomcat。 下一步通......
  • Java maven 工程报错:cannot be read or is not a valid ZIP file
    原因:这个报错,其实jar包是个异常的jar。我是通过maven下载的后缀.lastupdate,然后我就直接把.lastupdate改成了.jar。但是其实这个并不是实际意义上的jar包。解决办法:找到匹配的jar包替换掉这个无效的jar包就可以了......
  • JavaScript 去重-对象数组中的重复对象
    先showCodeArray.from(newSet(myArray.map(JSON.stringify)),JSON.parse)myArray是一个对象数组,它是源数据。map(JSON.stringify) 的作用是将每个对象转换为JSON字符串。JSON.stringify 方法将JavaScript对象转换为JSON字符串表示。newSet(...) 创建一个新的S......