当前位置:文档之家› IP包格式详解解析

IP包格式详解解析


Proxy ARP
如果目的IP地址是子 网外的,显然它不可能 收到ARP请求,这时有 两种方案: 1. 路由器有ARP代理功 能,它代理子网外 的主机响应ARP请求。 2. 主机通过识别目的 IP地址的网络号, 知道它是子网外的 主机,直接发给缺 省路由器
地址解析为这两种不同的地址形式提 供映射:32 bit的IP地址和数据链路层使 用的任何类型的地址。(ARP 和RARP)
一:基本概念
ARP理论的基础是:每个网络接口有一个硬 件地址(一个48 bit的值,标识不同的以太网 或令牌环网络接口)。在硬件层次上进行的数 据帧交换必须有正确的接口地址。但是, TCP/IP有自己的地址:32 bit的IP地址。知道 主机的IP地址并不能让内核发送一帧数据给主 机。内核(如以太网驱动程序)必须知道目的 端的硬件地址才能发送数据。ARP的功能是在 32 bitIP地址和采用不同网络技术的硬件地址 之间提供动态映射。
分片实例
选项都是以一个8位的选项开始的,每个 选项由三部分组成:一个字节的选项码、一个字 节的长度、多个字节所构成的选项数据,长度 由前一部分决定。不同的选项码位的数字代表 不同的意义,其代表意义如下: 第0位代表:拷贝类((Copy)。用于控制网关对 数据包分片时对本项的处理,“1”将本选项拷 贝到所有的分片中;“0”仅将本选项拷贝第一 个分片中。第1、2位代表:选项类(Option Class). 第3~7位:目前定义了6种类型,其中如定义为 00111代表记录路由,该选项让数据包把从源节 点到目的节点所经过的各路由填上其IP地址.
ARP为IP地址到对应的硬件地址之间提供动 态映射。这个过程一般应用程序会自动完成 的,用户并不知道。 RARP是被那些没有磁盘驱动器的系统使 用,它需要系统管理员进行手工设置。
地址转换规程




当链路层要封装网络层分组时, 它需要知道目的物理地址。 首先,每个主机都有ARP缓存, 用来存放一些IP地址与MAC地址 的对应关系。主机根据分组头上 的目的IP地址查阅自己的ARP缓 存,如果没查到,就用广播地址 发送ARP请求。 被请求的IP地址所对应的主机返 回一个ARP响应。 主机收到响应后,就可发送数据 帧,并将该IP地址与MAC地址对 存放在ARP缓存中。
举例
3、区分服务(DS)一共8个bit位,从左到右依次为 PPPDTRCU,其中包含4个标志D,T,R,C(延迟, 吞吐量,可靠性,最小费用) 和一位保留位。
PPP:表示IP封低延迟 T:为0表示一般传输量,为1表示高传输量 R:若为0表示为一般可靠度,为1高可靠度 U:保留位,一般未使用
第5讲 ARP和RARP应用
回顾以太网数据包发送格式如下:
首部 IP 首部 MAC 首部 报文 应用层数据 报文
在以太网中,上层运行的是IP协议, 当一台主机把以太网数据帧发送到位于 同一局域网上的另一台主机时,是根据 48 bit的以太网地址来确定目的接口的。 即下层传输地址使用MAC地址表示。 我们使用SOCKET程序,只是关心 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
4、总长度: 即首部+数据部分的长度,它是 一个数值。单位是字节,总长度为16位,最长 为:216-1=65535字节, 实际上决定于MTU(最 大传输单元),对以太网为1500字节。 若包太长,超过了MTU的值,则需要切割,即 分片
5、标识(Identification)的用途 是让目标主机 确定一个新的数据段属于哪个数据包,同一个 数据报的分段有相同的标志值.当IP被重组时, 每个来自同一笔数据的小IP就得要有个识别 码以告知接收端这些小IP其实来自同一个封 包才行。
8、TTL域,存活周期,是一个限制分组生 存期的计数器.计数时间为秒,一共占8位, 所以最大生存期为255(秒/点)通常为64。 当他递减到0时,路由器给源主机发送一个 警告分组,原分组被丢弃.这样可以避免数 据报长时间存在网络中.
TTL=7 TTL=8
TTL=6
9、协议类型
IP内的号码 1
2 3
协议名称 ICMP
IGMP GGP
4
6 8
IP
TCP EGP
17
UDP
10、头部校验和,当数据到达时,头部所有的16 位累加起来,再取结果的补码,其结果应该为0. 11、32位的源地址和32位的目标地址, 12、选项 IP首部的长度必须是4个字节的整数倍,如果 选项长度不是4的整数倍,必须填充数据0。
6、标志(Flags)
该地方的内容为0D* DF:若为0表示可以分段,若为1表示不 可分段 MF:若为0表示此IP为最后分段,若为1 表示非最后分段。

7、分段偏移

表示目前这个IP分段在原始的IP封包中所 占的位置,有点像序号,有这个序号才 能将所有的小IP分段组合成为原本的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), 这时不使用任何选项。
相关主题