IP数据报的格式

合集下载

IP包格式详解

IP包格式详解
简介:ICMP(Internet Control Message Protocol)是用于在IP主机和路由器 之间传递控制消息的协议,用于诊断网络问题。
工作原理:当IP包在传输过程中遇到问题时,如目的不可达、路由问题等,源主机发 送ICMP报文给路由器或目的主机,帮助诊断和解决问题。
主要功能:ICMP提供了一些重要的诊断工具,如ping命令,用于测试主机之间的连 通性。
IP包安全防护措施
使用加密技术 保护IP包内容, 防止数据被窃
取或篡改
部署防火墙, 限制非法访问
和恶意攻击
定期更新和升 级操作系统、 应用程序和安 全设备,以修
复安全漏洞
实施安全审计 和日志记录, 监控网络流量
和异常行为
加密技术应用
加密技术可以保护IP包的内容,防止数据被窃取或篡改 常见的加密技术包括对称加密和公钥加密 对称加密使用相同的密钥进行加密和解密,常见的对称加密算法有AES和DES 公钥加密使用不同的密钥进行加密和解密,常见的公钥加密算法有RSA和ECC
严格源路由:用于 指定数据包必须经 过特定的路径到达 目的主机
选项长度
长度范围:0-40字节 选项字段的长度不固定,取决于具体选项的长度和数量 选项字段长度必须为4字节的整数倍 选项字段长度不足时,需要填充0字节
选项内容
选项类型:标识IP选项的类型, 如路由器警告、时间戳等
选项长度:IP选项的长度,以 32位为单位
IP包重组的过程
IP包到达接收端
接收端检查IP包的头部信 息
根据头部信息,将IP包放 入重组缓冲区
按照IP包的序号进行排序, 完成重组
IP包安全问题与 防护措施
IP包面临的安全威胁
篡改数据:攻击者可以修改IP包中的数据,导致数据丢失或损坏 窃取信息:攻击者可以截获IP包中的敏感信息,如账号密码等 拒绝服务:攻击者可以发送大量的垃圾IP包,导致网络拥堵,影响正常通信 恶意软件传播:攻击者可以利用IP包传播病毒、木马等恶意软件

IP数据报格式

IP数据报格式

IP数据报格式TCP/IP协议定义了一个在因特网上传输的包,称为IP 数据报(IP Datagram)。

这是一个与硬件无关的虚拟包, 由首部和数据两部分组成,其格式如图所示。

首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

首部中的源地址和目的地址都是IP协议地址1、IP数据报首部的固定部分中的各字段(1)版本占4位,指IP协议的版本。

通信双方使用的IP 协议版本必须一致。

目前广泛使用的IP协议版本号为4(即IPv4)。

(2)首部长度占4位,可表示的最大十进制数值是15。

请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。

当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。

因此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为方便。

首部长度限制为60 字节的缺点是有时可能不够用。

但这样做是希望用户尽量减少开销。

最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。

(#我们一般看到的版本和首部长度两个字段是十六进制45,就是版本号version=4,headlength=5,也就是首部长度是60个字节)(3)区分服务占8位,用来获得更好的服务。

这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。

1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。

只有在使用区分服务时,这个字段才起作用。

(4)总长度总长度指首部和数据之和的长度,单位为字节。

总长度字段为16位,因此数据报的最大长度为216-1=65535字节。

#可以看这个以太网frame总长为336字节,而IP数据包Total length=322,336-322=14正好是Ethernet包头的长度,所以就可以看出这IP数据包总长度一值就是除去Ethernet头的剩余长度,也就是IP包头加数据的长度。

IP数据报格式和IP地址路由

IP数据报格式和IP地址路由

IP数据报格式和IP地址路由⼀、IP数据报格式IP数据报格式如下:注:需要注意的是⽹络数据包以⼤端字节序传输,当然头部也得是⼤端字节序,也就是说:The most significant bit is numbered 0 at the left, and the least significant bit of a 32-bit value is numbered 31 on the right.The 4 bytes in the 32-bit value are transmitted in the order: bits 0-7 first, then bits 8-15, then 16-23, and bits 24-31 last. This is called big endian byte ordering, which is the byte ordering requiredfor all binary integers in the TCP/IP headers as they traverse a network. This is called the network byte order. Machines that store binary integers in other formats, such as the little endian format,must convert the header values into the network byte order before transmitting the data.版本IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为6⾸部长度以32位的字为单位,该字段长度为4位,最⼩值为5,即不带任何选项的IP⾸部20个字节;最⼤值为15,所以⾸部长度最⼤为60个字节服务类型(TOS)长度为8位。

IP数据报的格式

IP数据报的格式

IP数据报的格式TCP/IP协议使用IP数据报包含一个数据报报头和一个数据区。

IP数据报头包含有源、目的信息,做寻径用。

并且指明承载负载的协议类型。

数据报所携带的数据量不固定!下面给出IP数据报的详细格式: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-----------------------------------------------------------------| 版本 |报头长度| 服务类型 | 总长度 | -----------------------------------------------------------------| 标识符 | 标志 | 分片偏移量 | -----------------------------------------------------------------| 存活时间 | 协议 | 报头校验和 | -----------------------------------------------------------------|源地址 | -----------------------------------------------------------------|目的地址 | -----------------------------------------------------------------| IP选项 | 填充 | -----------------------------------------------------------------|数据区。

| -----------------------------------------------------------------| 2.1 版本协议号IP数据报的第一个域是4bit长的版本域(version)。

数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(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表示没有更多分片(即最后一个分片)。

计算机三级考试复习知识点:IP数据报

计算机三级考试复习知识点: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数据报格式

IP数据报格式IP数据报格式TCP/IP协议定义了⼀个在因特⽹上传输的包,称为IP 数据报(IP Datagram)。

这是⼀个与硬件⽆关的虚拟包, 由⾸部和数据两部分组成,其格式如图所⽰。

⾸部的前⼀部分是固定长度,共20字节,是所有IP数据报必须具有的。

在⾸部的固定部分的后⾯是⼀些可选字段,其长度是可变的。

⾸部中的源地址和⽬的地址都是IP协议地址1、IP数据报⾸部的固定部分中的各字段(1)版本占4位,指IP协议的版本。

通信双⽅使⽤的IP 协议版本必须⼀致。

⽬前⼴泛使⽤的IP协议版本号为4(即IPv4)。

(2)⾸部长度占4位,可表⽰的最⼤⼗进制数值是15。

请注意,这个字段所表⽰数的单位是32位字长(1个32位字长是4字节),因此,当IP的⾸部长度为1111时(即⼗进制的15),⾸部长度就达到60字节。

当IP分组的⾸部长度不是4字节的整数倍时,必须利⽤最后的填充字段加以填充。

因此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为⽅便。

⾸部长度限制为60 字节的缺点是有时可能不够⽤。

但这样做是希望⽤户尽量减少开销。

最常⽤的⾸部长度就是20字节(即⾸部长度为0101),这时不使⽤任何选项。

(#我们⼀般看到的版本和⾸部长度两个字段是⼗六进制45,就是版本号version=4,headlength=5,也就是⾸部长度是60个字节)(3)区分服务占8位,⽤来获得更好的服务。

这个字段在旧标准中叫做服务类型,但实际上⼀直没有被使⽤过。

1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。

只有在使⽤区分服务时,这个字段才起作⽤。

(4)总长度总长度指⾸部和数据之和的长度,单位为字节。

总长度字段为16位,因此数据报的最⼤长度为216-1=65535字节。

#可以看这个以太⽹frame总长为336字节,⽽IP数据包Total length=322,336-322=14正好是Ethernet包头的长度,所以就可以看出这IP数据包总长度⼀值就是除去Ethernet头的剩余长度,也就是IP包头加数据的长度。

TCPIP几种协议数据报格式简介

TCPIP几种协议数据报格式简介
z TCP 报文格式如下图:
TCP 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍。“序号”指数据在发送端数据流中 的位置。“确认号”指出本机希望下一个接收的字节的序号。与 IP 校验不同的是 TCP,UDP 校验采用伪头标加整个 报文一同校验的方法。TCP 协议工作原理另行介绍。
TCP 数据报中依次包括以下信息:
协议采用分层结构,因此,数据报文也采用分层封装的方法。下面以应用最广泛的以太网为例说明其数据报 文分层封装,如下图所示:
任何通讯协议都有独特的报文格式,TCP/IP 协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。 由于 TCP/IP 协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下 TCP/IP 各层报文格式。
1、 16 位源端口 Source Port。该部分占 16 个 BIT。通过此值,可以看出发起连接的计算机源端口号。
2、 16 位目的端口 Destination Port。该部分占 16 个 BIT。通过此值,可以看出要登录的目的端口号。
3、 32 位序列号 Initial Sequence Number。表示初始连接的请求号,即 SEQ 值。该部分占 32 个 BIT。
4、 32 位确认号 Next Expected SEQ Numbe。对方返回的 ACK 值。该部分占 32 个 BIT。
5、 4 位数据偏移 Data Offset。表示数据偏移的大小。该部分占 4 个 BIT。
6、 6 位保留位 Reserved Bites:保留位,此处不用。该部分占 6 个 BIT。
的 16 次方减 1,即:65535 个字节。因此,在以太网中能够传输的最大 IP 数据包为 65535 个字节。
5、 16 位标识号 Identification。该部分占 16 个 BIT,以十进制数表示。

IP数据报的格式

IP数据报的格式

IP数据报的格式 IP协议具有什么功能从数据报的格式中就能够知道,⼀个IP数据报被分为了⾸部和数据两个部分,在⾸部中有20个字节是固定的,还有⼀些可选字段长度是可变的,下⾯是IP数据报的具体格式:IP数据报各个字段的意义 1.版本号 版本号占4位,指使⽤的IP协议的版本,通信双⽅使⽤的版本要⼀致才能通信,⽬前的版本有IPv4和IPv6, 2.⾸部长度 指数据报的⾸部的长度,占4位,注意这⾥的⾸部长度的单位是4个字节,所以最⼤的⾸部长度可以达到 15 * 4 = 60 个字节,当⾸部长度不是4个整数倍的时候,就要使⽤填充字段进⾏填充。

3.区分服务 占8位,⽤来获得更好的服务,只有在使⽤区分服务的时候,这个字段才有⽤,⼀般情况下,都不使⽤这个字段 4.总长度 ⾸部和数据部分长度之和,占16位,因此IP数据报的最⼤长度位2的16次⽅ - 1,即65535个字节,然⽽这样长度的数据报是极少遇到的,我们知道在数据链层规定了MTU的⼤⼩(常⽤的以太⽹的MTU为1500字节),当数据报的⼤⼩超过MTU时,就要进⾏分⽚处理。

IP协议规定所有的主机和路由器,必须能够接受长度不超过576字节的数据报,当要发送的数据包的长度超过576个字节时,就应该先了解⽬的主机是否能够接受所发送的数据报的长度,否则就要进⾏分⽚处理了。

5.标识 占16位,IP软件在存储器中维持⼀个计数器,每产⽣⼀个数据报,就将计数器加⼀,并将此值赋值给标识字段,当数据报的长度,超过⽹络的MTU时,就必须进⾏分⽚处理,这个标识将会赋值到所有的分⽚中,也就是说⼀个数据报经过分⽚之后的形成的多个数据报的标识是⼀样的,这样做是为了将它们组成⼀个完整的数据报。

6.标志 占3位,但⽬前只有两位有意义, 标志字段的最低位为MF,当MF = 1 时,表⽰后⾯还有分⽚,MF = 0表⽰这是最后⼀个分⽚ 中间位位DF,DF的意思是不能分⽚,当DF=0时,才允许分⽚ 7.⽚位移 占13位,分⽚之后的每⼀⽚在原来的数据报中的位置,即相对于数据报的起点位置,该⽚从何处开始,⽚位移以8个字节位单位, 8.⽣存时间 占8位,英⽂缩写为TTL(Time To Live),这个字段指明数据报在⽹络中的⽣存时间,每当数据报经过⼀个路由器,TTL就减1,当TTL为0时,路由器就丢弃该数据报,⽽不进⾏转发了,这样做的⽬的是为了防⽌数据报在⽹络中“兜圈⼦”⽽⽩⽩消耗⽹络资源,⼀般的操作系统都有默认的TTL: Linux 64 Windows 128 Unix 256 9.协议 占8位,协议字段指出数据包的数据部分使⽤的是何种协议,以便使⽬的主机的IP层知道应该将数据报中的数据交给哪个部分来处理,常见的协议和对应的字段值如下: ICMP 1 IGMP 2 IP 4 , IP数据报再封装到IP数据报中 TCP 6 IGP 9 UDP 17 IPv6 41 ESP 50 OSPF 89 10.⾸部检验和 占16位,只将⾸部检验过后的检验和填⼊此字段中,不检验数据报的数据部分,数据报每经过⼀个路由器都要重新计算检验和,检验和的计算过程如下: 先将检验和字段设置为全0, 然后将IP数据报的⾸部划分位以16位为⼀个单位的序列,将这些字段进⾏反码算术运算求和, 将得到的结果取反,并写⼊检验和字段,注意这个取反后的结果和原来的结果相加为全1 接收⽅收到数据报之后,也将IP数据报的⾸部划分位以16位为⼀个单位的序列,将这些字段进⾏反码算术运算求和, 若将得到的结果取反不为0,那么证明出错了,则丢弃该数据报,若取反结果为0,将数据报上交。

IP报文格式

IP报文格式

2.2 TCP/IP报文格式1、IP报文格式IP协议是TCP/IP协议族中最为核心的协议。

它提供不可靠、无连接的服务,也即依赖其他层的协议进行差错控制。

在局域网环境,IP协议往往被封装在以太网帧(见本章1.3节)中传送。

而所有的TCP、UDP、ICMP、IGMP数据都被封装在IP数据报中传送。

如图2-3所示:图2-3 TCP/IP报文封装图2-4是IP头部(报头)格式:(RFC 791)。

图2-4 IP头部格式其中:●版本(Version)字段:占4比特。

用来表明IP协议实现的版本号,当前一般为IPv4,即0100。

●报头长度(Internet Header Length,IHL)字段:占4比特。

是头部占32比特的数字,包括可选项。

普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。

此字段最大值为60字节。

●服务类型(Type of Service ,TOS)字段:占8比特。

其中前3比特为优先权子字段(Precedence,现已被忽略)。

第8比特保留未用。

第4至第7比特分别代表延迟、吞吐量、可靠性和花费。

当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。

这4比特的服务类型中只能置其中1比特为1。

可以全为0,若全为0则表示一般服务。

服务类型字段声明了数据报被网络系统传输时可以被怎样处理。

例如:TELNET协议可能要求有最小的延迟,FTP协议(数据)可能要求有最大吞吐量,SNMP协议可能要求有最高可靠性,NNTP(Network News Transfer Protocol,网络新闻传输协议)可能要求最小费用,而ICMP协议可能无特殊要求(4比特全为0)。

实际上,大部分主机会忽略这个字段,但一些动态路由协议如OSPF(Open Shortest Path First Protocol)、IS-IS(Intermediate System to Intermediate System Protocol)可以根据这些字段的值进行路由决策。

IP 数据报格式详解

IP 数据报格式详解

标识 生存时 间
标志 协议
源地址
片偏移 首部检验和
可变 部分
目 的地址
可 选 字 段 (长 度 可 变)
数据部分
填充
服务类型—— 占 8 bit,用来获得更好的服务 这个字段以前一直没有被人们使用
比特 0
1
2
3
4
5
6
7
优先级
D
T
R
C 未用
比特 0
4
8
16
19
24
31
版 本 首部长度 服 务 类 型
总长度

首 部
定 部 分
标识
生存时 间
协议
标志
源地址
片偏移 首部检验和
可变 部分
目 的地址
可 选 字 段 (长 度 可 变)
填充
数据部分
传送
首部
数据部分 IP 数据报
比特 0
1
2
3
4
5
6
7
优先级
D
T
R
C 未用
比特 0
4
8
16
19
24
31

首 部
定 部 分
版 本 首部长度 服 务 类 型
标识
生存时 间
协议
标志
源地址
总长度 片偏移
首部检验和
可变 部分
目 的地址
可 选 字 段 (长 度 可 变)
数据部分
填充
传送
首部
数据部分 IP 数据报
比特 0
1
2
3
4
5
6
7
优先级
D
T
R

ip报头格式

ip报头格式

版本——标识了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 为零的时候,就会丢弃这个报文,同时向源地址发送错误报告,促使重新发送。

IP报文格式详解

IP报文格式详解

清默网络 CCIE Team
技术群:137962123
电话 0551-5436206
185+185=370
报文分析专题
之 IP 报文格式
那么第一段的分段偏移为0,第二段分段偏移为1480/8=185,第三段为
Time to Live(生存时间):用于防止数据包在网络上无休止地被传输;长度8位,最大值255,每经过一台 路由器,TTL被减1。
| Time to Live | Protocol |
Header Checksum
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Verbose(详细内容):查看数据包传送的详细内容;一般用于查看延迟;
Padding(填充):通过在可选字段后面添加0来补足32位,为了确保报头长度是32的倍数。

IP数据报

IP数据报

IP 数据报版本 报头长度服务类型 总长度 标识标志 片偏移 生存周期 协议头部校验和 源IP 地址目的IP 地址选项+填充数据…… IP 数据报格式1. 版本与协议类型在IP 报头中,版本字段表示该数据报对应的IP 协议版本号,不同的IP 协议版本规的数据报格式稍有不同,目前使用的IP 协议版本号为“4”。

为了避免错误解释报文格式和内容,所有IP 软件在处理数据报之前都必须检查版本号,以确保版本正确。

协议字段表示该数据报数据区数据的高级协议类型(如TCP ),用于指明数据区数据的格式。

2. 长度报头中有两个表示长度的字段,一个为报头长度,一个为总长度。

报头长度以32位的双字节为单位,指出该报头区的长度。

在没有选项和填充的情况下,该值为“5”。

一个含有选项的报头长度则取决于选项域的长度。

但是,报头长度应当是32位的整数倍,如不是,需在填充域加0凑齐。

总长度以8位的字节为单位,表示整个IP 数据报的长度(其中包含头部长度和数据报区长度)。

3. 服务类型服务类型字段规定对本数据报的处理方式。

利用该字段,发送端可以为IP 数据报分配一个转发优先级,并可以要求中途转发路由器尽量使用低延迟、高吞吐率或高可靠性的线路投递。

但是,中途的路由器能否按照IP 数据报要求的服务类型进行处理,则依赖于路由器的实现方法和底层物理网络技术。

4. 生存周期IP 数据报的路由选择具有独立性,因此从源主机到目的主机的传输延迟也具有随机性。

如果路由表发生错误,数据报有可能进入一条循环路径,无休止地在网络中流动。

利用IP 报头中的生存周期字段,就可以有效控制这一情况的发生。

在网络中,“生存周期”域随时间而递减,在该域为“0”时,报文将被删除,避免死循环的发生。

5. 头部校验和头部校验和用于保证IP 数据报报头的完整性。

请注意,在IP 数据报中只含有报头校验字段,而没有数据区校验字段。

这样做的最大好处是,可大大节约路由器处理每一数据报的0 4 8 16 19 31 报头区数据区时间,并允许不同的上层协议选择自己的数据校验方法。

TCP-IP包格式详解

TCP-IP包格式详解

可以用arp命令来检查ARP高速缓存。参数 -a的意思是显示高速缓存中所有的内容。
ARP Utility
五、RARP的分组格式
RARP分组的格式与ARP分组基本一致。 它们之间主要的差别是RARP请求或回答的 帧类型代码为0x8035,而且RARP请求的操 作代码为3,回答操作代码为4。
对应于ARP,RARP请求以广播方式传送, 而RARP回答一般是单播(unicast)传送的。
Stn. B ROUTER
Stn. C
Stn. D
MAC R1 NET N1
MAC R2 NET N2
Station B wants to send a frame to Station D


One Way – Using Router with Proxy ARP Station B Arp’s for Station D Router Proxy ARP responds with MAC address of R1 Station B transmits frame with SourceMAC=MB, SourceNetwork=N1B, DestinationMAC=R1, DestinationNetwork=N2D Router forwards frame with SourceMAC=R2, SourceNetwork=N1B, DestinationMAC=MD, DestinationNetwork=N2D Second Way – Station knows R1 is the designated Router for N2
分片实例
7、协议类型,可能是tcp,或者udp或者其他. 8、头部校验和,当数据到达时,头部所有的16 位累加起来,再取结果的补码,其结果应该为0. 9、32位的源地址和32位的目标地址, 10、选项 选项长度可变,提供某些场合下需要的控 制功能,IP首部的长度必须是4个字节的整数 倍,如果选项长度不是4的整数倍,必须填充 数据0。

计算机网络原理 IP数据报的格式

计算机网络原理  IP数据报的格式

计算机网络原理IP数据报的格式要进行传输的数据在IP层首先需要加上IP头信息,封装成IP数据报。

IP数据报包括一个报文头以及与更高层协议相关的数据。

图6-22所示为IP数据报的具体格式。

图6-22 IP数据报格式IP数据报的格式可以分为报头区和数据区两大部分,其中,数据区包括高层需要传输的数据,报头区是为了正确传输高层数据而增加的控制信息,这些控制信息包括:●版本。

长度为4bit,表示与数据报对应的IP协议版本号。

不同的IP协议版本,其数据报格式有所不同。

当前的IP协议版本号为“4”。

所有IP软件在处理数据报之前都必须检查版本号,以确保版本正确。

IP软件将拒绝处理版本不同的数据报,以避免错误解释其中内容。

●报头长度。

长度为4bit,指出以32bit长计算的报头长度,IP数据报头中除IP选项域外,其他各域均为定长域,各定长域长度为20个字节,这样一个不含选项域的普通IP数据报其头标长度域值为“5”。

总的来说,头标长度应为32bit的整数位,假如不是,在头标尾部添“0”凑齐。

●服务类型。

服务类型(SERVICE TYPE)规定对本数据报的处理方式。

该域长度为一个字节,被分为5个子域,其子域结构如表6-6所示。

其中,3bit的“优先权”(PRECEDENCE)子域指示本数据报的优先权,表示本数据报的重要程度。

优先权取值从0到7,“0”表示一般优先权,“7”表示网络控制优先权,优先权值是由用户指定的。

大多数网络软件对此不予理睬,然而它毕竟提供了一种手段,允许控制信息享受比一般数据较高的优先权。

DTR三位数据表示本数据报所要的传输类型。

其中,D 代表低延迟——Delay;T代表高吞吐率——Throughput;R代表高可靠性——Reliability。

上述3位只是用户的请求,不具有强制性,Internet在寻找路径时可能以它们为参考。

●总长:总长域为16bit,指示整个IP数据报的长度,以字节为单位,其中包括报头长度及数据区长。

IP数据报首部格式

IP数据报首部格式

IP数据报⾸部格式IP协议提供不可靠、⽆连接的数据报传送服务。

不可靠:尽⼒⽽为地传输,不保证IP数据报能成功到达⽬的地。

⽆连接:每⼀个数据报之间相互独⽴地进⾏路由选择,可不按发送顺序接收。

IP⾸部格式例如以下:以下就⽤这幅图结合Wireshark来分析个字段含义。

这次截取的是DNS数据报,它位于应⽤层。

⾸先看⼀下整个IP⾸部的内容:相应的原始数据:以下按字段分别进⾏说明。

4位版本号表⽰眼下的协议版本号号。

这⾥使⽤的是IPv4,当然值就是4啦。

4为⾸部长度表⽰⾸部包括多少个4字节。

相应Header length字段的20字节,但依据原始数据能够看出,这个字段实际值应该是5,也就是有5个4字节,共20字节。

8位服务类型包含最⼩延迟、最⼤吞吐量、最⾼可靠性等性能指标。

这⾥全为0表⽰⼀般服务。

16位总长度是指整个IP数据报的长度。

以字节为单位。

这⾥为514字节。

注意这⼀长度仅仅是包括在以太⽹帧中的IP数据报的长度,不包括以太⽹帧开头的⽬的地址(6字节)、源地址(6字节)、类型(2字节)。

16位标识唯⼀地标识主机发送的每⼀份数据报。

通常每发送⼀份报⽂它的值就加1。

这⼀字段主要⽤来分⽚和重组。

3位标识。

在分⽚和重组时⽤到,这⾥暂不讨论。

13位⽚廉价。

在分⽚和重组时⽤到。

这⾥暂不讨论。

8位⽣存时间表⽰该数据报能够经过的最多路由器数。

经过⼀个路由器值减1。

减到0则丢弃该数据报。

并发送ICMP报⽂通知源主机。

8位协议域。

分别有:1表⽰ICMP协议2表⽰IGMP协议6表⽰TCP协议17表⽰UDP协议我们这⾥是UDP协议。

从⽽能够知道,DNS协议执⾏于UDP之上。

16位⾸部检验和。

详细怎样校验这⾥不讨论。

当校验值有误时,IP层丢弃收到的数据报,但不⽣成差错报⽂,由上层去发现丢失的数据报并进⾏重传。

接下来就是32位的源IP加上32位的⽬的IP。

这⾥没什么好说的。

最后的选项字段⾮常少被使⽤,这⾥就不讨论了。

參考:《TCP/IP具体解释》 P24-P27.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IP数据报的格式
(TCP/IP标准中,各数据格式常以32位(4字节)为单位来描述)
各字段含义:
版本:占4位,指IP协议的版本。

通讯双方的IP协议必须一致,目前广泛使用的IP协议版本号为4(IPv4),还有以后将要使用的IPv6。

首部长度:占4位,表示IP数据报首部所含4字节(是以4字节为单位的)的个数,最大值为15,即首部长度最大为60字节。

当首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。

最常用的首部长度就是20字节,不带任何选项。

区分服务:占8位,用来获得更好的服务。

在旧标准中称之为服务类型,但实际上一直没有被使用过。

只有在使用区分服务时,这个字段才起作用,一般情况下不使用。

总长度:占16位,表示首部和数据部分的总长度,单位为字节。

IP数据报的最大长度为16
2-1=65535字节。

但在IP层下面的每一种数据链路层都有自己的帧格式,包括帧格式中的数据字段的最大长度,即最大传送单元MTU。

一般主机和路由器处理的IP数据报长度最小576字节最大不超过1500字节,当超过1500字节时就需要进行分片。

还要注意的是:这里的总长度指的是分片后的每一个分片的首部长度与数据长度的总和。

标识:占16位,分片时,此字段的值被复制到所有的数据报片的标识字段中,只有标识字段的值相同的分片才能正确地重装成原来的数据报。

其作用就是用来标识各数据报片。

标志:占3位,目前只有最低位和中间位有意义。

最低位记为MF,MF=1表示该数据报片后面“还有分片”的数据报,MF=0则表示该数据报片已是最后一个分片。

中间位记为DF,意思为“不能分片”,只有DF=0时才可以分片,也就是说分了片的数据报,其首部DF标志位都为0。

片偏移:占13位,指出较长的分组在分片后,某片在原分组的相对位置。

分片数据字段起始位置相对原分组数据字段起始位置(原始分组数字字段起始位置为第0字节),片偏移是以8字节为偏移单位,也就是说每个分片的长度一定是8字节(64位)的整数倍。

生存时间:占8位,用TTL来表示,表明数据报在网络中的寿命。

后来功能改为“跳数
限制”,由发出数据报的源点设置,发送每经过一个路由器,该字段的值就减1,若TTL的值为0,则丢弃该数据报。

最大值为255,若TTL设为1,则表示这个数据报只在本局域网中传送。

协议:占8位,指出此数据报携带的数据是使用何种协议,以便目的主机的IP层知道应将数据交给哪个处理过程。

常用协议字段值对应协议:
首部检验和:占16位,只校验数据报的首部,但不包括数据部分。

每经过一个路由器都要重新计算首部检验和,这是因为首部一些字段如生存时间、标志、片偏移等在发生改变。

计算方法:将IP数据报首部划分为许多16位(2字节)的序列,把检验和字段置为零,再将所有16位字(序列)进行反码算术相加,结果再取反码,将此时的结果写入检验和字段。

接收方收到数据报后,将首部16位字再使用反码算术运算相加,得结果取反码,如果是0则保留,否则丢弃。

源地址:占32位。

目的地址:占32位。

可变部分:包括可选字段和填充字段,用来支持排错、测量以及安全等措施。

可选字段长度从1个字节到40个字节不等,可包含多个选项,最后用全0的填充字段补齐为4字节的整数倍。

相关文档
最新文档