IP包格式详解

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

Proxy ARP
如果目的IP地址是子 网外的,显然它不可能 收到ARP请求,这时有 两种方案: 1. 路由器有ARP代理功 能,它代理子网外 的主机响应ARP请求。 2. 主机通过识别目的 IP地址的网络号, 知道它是子网外的 主机,直接发给缺 省路由器
Host A Host B
Router
Stn. A
因为物理帧最小长度为64字节,前面的42字 节再加上4个CRC校验字节,还差18个字 节
ARP包的填充
电脑MAC地址为 aa-aa-aa-aa-aa-aa,IP为 192.168.0.1 我们想要查询 192.168.0.99的MAC地址, 应该怎么来做呢?

请求包
DLC Header 字段 接收方MAC 发送方MAC Ethertype 长度(Byte) 6 6 2 填充值 ffffffffffff aaaaaaaaaaaa 0x0806
对于一个ARP请求来说,除目的端硬件 地址外的所有其他的字段都有填充值。当系 统收到一份目的端为本机的ARP请求报文后, 它就把硬件地址填进去,然后用两个目的端 地址分别替换两个发送端地址,并把操作字 段置为2,最后把它发送回去。
物理帧头
DLC Header 字段 接收方 MAC 发送方 MAC Ethertyp e 长度 默认值 (Byte) 6 6 2 0x0806是ARP帧的类 0x0806 型值 备注 广播时,为 ff-ffff-ff-ff-ff
8、TTL域,存活周期,是一个限制分组生 存期的计数器.计数时间为秒,一共占8位, 所以最大生存期为255(秒/点)通常为64。 当他递减到0时,路由器给源主机发送一个 警告分组,原分组被丢弃.这样可以避免数 据报长时间存在网络中.
TTL=7 TTL=8
TTL=6
9、协议类型
IP内的号码 1
2 3
4、总长度: 即首部+数据部分的长度,它是 一个数值。单位是字节,总长度为16位,最长 为:216-1=65535字节, 实际上决定于MTU(最 大传输单元),对以太网为1500字节。 若包太长,超过了MTU的值,则需要切割,即 分片
5、标识(Identification)的用途 是让目标主机 确定一个新的数据段属于哪个数据包,同一个 数据报的分段有相同的标志值.当IP被重组时, 每个来自同一笔数据的小IP就得要有个识别 码以告知接收端这些小IP其实来自同一个封 包才行。
6、分片(Fragmentation)及重组

MTU(Maximum Transfer Unit)
MTU=1500 以太网
MTU=576 X.25或拨号线路
MTU=1500
IP包,长度为768
DF = 0
思考:如DF=1,怎么办?
分段
分组头 数据(1400字节)
MTU=620字节 分组头 数据(600字节) 段偏 移=0 分组头 数据(600字节) 段偏移 =75 数据 分组头 200字节 段偏移 =150
分片实例
选项都是以一个8位的选项开始的,每个 选项由三部分组成:一个字节的选项码、一个字 节的长度、多个字节所构成的选项数据,长度 由前一部分决定。不同的选项码位的数字代表 不同的意义,其代表意义如下: 第0位代表:拷贝类((Copy)。用于控制网关对 数据包分片时对本项的处理,“1”将本选项拷 贝到所有的分片中;“0”仅将本选项拷贝第一 个分片中。第1、2位代表:选项类(Option Class). 第3~7位:目前定义了6种类型,其中如定义为 00111代表记录路由,该选项让数据包把从源节 点到目的节点所经过的各路由填上其IP地址.
专题一
IPV4协议应用
一、IP数据包格式

(1)头部+数据部分
其中头部又包含一个20字节的定长部分和一 个可选的变长部分. (一)头部组成 1、vesion(版本)取值为:IPv4: 4, IPv6: 6 。
2、IHL(首部长度)
可表示的最大十进制数值是15。请注意,这个字段所表 示数的单位是32位字长(1个32位字长是4字节),因 此,当IP的首部长度为1111时(即十进制的15),首 部长度就达到60字节。当IP分组的首部长度不是4字节 的整数倍时,必须利用最后的填充字段加以填充。因 此数据部分永远在4字节的整数倍开始,这样在实现IP 协议时较为方便。首部长度限制为60 字节的缺点是有 时可能不够用。但这样做是希望用户尽量减少开销。 最常用的首部长度就是20字节(即首部长度为0101), 这时不使用任何选项。
地址解析为这两种不同的地址形式提 供映射:32 bit的IP地址和数据链路层使 用的任何类型的地址。(ARP 和RARP)
一:基本概念
ARP理论的基础是:每个网络接口有一个硬 件地址(一个48 bit的值,标识不同的以太网 或令牌环网络接口)。在硬件层次上进行的数 据帧交换必须有正确的接口地址。但是, TCP/IP有自己的地址:32 bit的IP地址。知道 主机的IP地址并不能让内核发送一帧数据给主 机。内核(如以太网驱动程序)必须知道目的 端的硬件地址才能发送数据。ARP的功能是在 32 bitIP地址和采用不同网络技术的硬件地址 之间提供动态映射。
6、标志(Flags)
该地方的内容为0D* DF:若为0表示可以分段,若为1表示不 可分段 MF:若为0表示此IP为最后分段,若为1 表示非最后分段。

7、分段偏移

表示目前这个IP分段在原始的IP封包中所 占的位置,有点像序号,有这个序号才 能将所有的小IP分段组合成为原本的IP封 包大少
形容词hardware(硬件)和protocol(协议)用来 描述ARP分组中的各个字段。例如,一个ARP 请求分组询问协议地址(这里是IP地址)对应 的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。它的 值为1即表示以太网地址。协议类型字段表 示要映射的协议地址类型。它的值为0x0800 即表示IP地址。它的值与包含IP数据报的以 太网数据帧中的类型字段的值相同,这是有 意设计的。 接下来的两个1字节的字段,硬件地址长 度和协议地址长度分别指出硬件地址和协议 地址的长度,以字节为单位。对于以太网上 IP地址的ARP请求或回答来说,它们的值分 别为6和4。
长度(Byte) 2 2 1 1 2 6 4 6 4 18
填充值 1 0800 6 4 2 aaaaaaaaaaaa 192.168.0.1 bbbbbbbbbbbb 192.168.0.99 0
四:ARP高速缓存
ARP高效运行的关键是由于每个主机上都有 一个ARP高速缓存。这个高速缓存存放了最 近Internet地址到硬件地址之间的映射记录。 高速缓存中每一项的生存时间一般为20分钟, 起始时间从被创建时开始算起。
三: ARP的分组格式
在以太网上解析IP地址时,ARP请求和回 答分组的格式如图所示。(ARP可以用于其 它类型的网络,可以解析IP地址以外的地址。 紧跟着帧类型字段的前四个字段指定了最后 四个字段的类型和长度。)
以太网报头中的前两个字段是以太网的源地 址和目的地址。目的地址为全1的特殊地址是 广播地址。电缆上的所有以太网接口都要接收 广播的数据帧。 2个字节长的以太网帧类型表示后面数据的 类型。对于ARP请求或回答来说,该字段的值 为0x0806。
第5讲 ARP和RARP应用
回顾以太网数据包发送格式如下:
首部 IP 首部 MAC 首部 报文 应用层数据 报文
在以太网中,上层运行的是IP协议, 当一台主机把以太网数据帧发送到位于 同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。 即下层传输地址使用MAC地址表示。 我们使用SOCKET程序,只是关心 IP地址。它们二者是怎样相对应呢?
响应包
DLC Header 字段 接收方MAC 发送方MAC Ethertype 长度(Byte) 6 6 2 填充值 bbbbbbbbbbbb aaaaaaaaaaaa 0x0806
ARP Frame 字段 硬件类型 上层协议类型 MAC地址长度 IP地址长度 操作码 发送方MAC 发送方IP 接收方MAC 接收方IP 填充数据
ARP为IP地址到对应的硬件地址之间提供动 态映射。这个过程一般应用程序会自动完成 的,用户并不知道。 RARP是被那些没有磁盘驱动器的系统使 用,它需要系统管理员进行手工设置。
地址转换规程




当链路层要封装网络层分组时, 它需要知道目的物理地址。 首先,每个主机都有ARP缓存, 用来存放一些IP地址与MAC地址 的对应关系。主机根据分组头上 的目的IP地址查阅自己的ARP缓 存,如果没查到,就用广播地址 发送ARP请求。 被请求的IP地址所对应的主机返 回一个ARP响应。 主机收到响应后,就可发送数据 帧,并将该IP地址与MAC地址对 存放在ARP缓存中。
操作字段指出四种操作类型,它们是ARP请求 ( 值 为 1 ) , ARP回 答 ( 值 为 2 ) , RARP 请 求 (值为3),RARP回答(值为4)。这个字段必 需的,因为ARP请求和ARP回答的帧类型字段值 是相同的。 接下来的四个字段是发送端的硬件地址(在本 例中是以太网地址),发送端的协议地址(IP地 址),目的端的硬件地址,目的端的协议地址。 注意,这里有一些重复信息:在以太网的数据帧 报头中和ARP请求数据帧中都有发送端的硬件地 址。
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
字段 长度(Byte) 硬件类型 2 上层协议类型 2 MAC地址长度 1 IP地址长度 1 操作码 2 发送方MAC 6 发送方IP 4 接收方MAC 6 接收方IP 4 填充数据 18
ARP Frame 填充值 1 0800 6 4 1 aaaaaaaaaaaa 192.168.0.1 任意值 xxxxxxxxxxxx 192.168.0.99 0
协议名称 ICMP
IGMP GGP
4
6 8
IP
TCP EGP
17
UDP
10、头部校验和,当数据到达时,头部所有的16 位累加起来,再取结果的补码,其结果应该为0. 11、32位的源地址和32位的目标地址, 12、选项 IP首部的长度必须是4个字节的整数倍,如果 选项长度不是4的整数倍,必须填充数据0。
ARP帧的格式
字段 硬件类型 上层协议类 型 MAC地址长 度 IP地址长度 操作码 发送方MAC 发送方IP 接收方MAC 接收方IP 填充数据
长度 (Byt wenku.baidu.com)
2 2 1 1 2 6 4 6 4 18
默认值 0x1 0x0800 0x6 0x4
备注 以太网类型值 上层协议为IP协议 以太网MAC地址长度为 6 IP地址长度为 4 0x1表示ARP请求包,0x2表示应答包
举例
3、区分服务(DS)一共8个bit位,从左到右依次为 PPPDTRCU,其中包含4个标志D,T,R,C(延迟, 吞吐量,可靠性,最小费用) 和一位保留位。
PPP:表示IP封包的优先度
D:若为0表示一般延迟,为1低延迟 T:为0表示一般传输量,为1表示高传输量 R:若为0表示为一般可靠度,为1高可靠度 U:保留位,一般未使用
相关文档
最新文档