ip包格式详解

上传人:小** 文档编号:64090408 上传时间:2018-12-26 格式:PPT 页数:44 大小:839.50KB
返回 下载 相关 举报
ip包格式详解_第1页
第1页 / 共44页
ip包格式详解_第2页
第2页 / 共44页
ip包格式详解_第3页
第3页 / 共44页
ip包格式详解_第4页
第4页 / 共44页
ip包格式详解_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《ip包格式详解》由会员分享,可在线阅读,更多相关《ip包格式详解(44页珍藏版)》请在金锄头文库上搜索。

1、,专题一 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 字节的缺点是有时可能

2、不够用。但这样做是希望用户尽量减少开销。最常用的首部长度就是20字节(即首部长度为0101),这时不使用任何选项。,举例,3、区分服务(DS)一共8个bit位,从左到右依次为PPPDTRCU,其中包含4个标志D,T,R,C(延迟,吞吐量,可靠性,最小费用) 和一位保留位。 PPP:表示IP封包的优先度 D:若为0表示一般延迟,为1低延迟 T:为0表示一般传输量,为1表示高传输量 R:若为0表示为一般可靠度,为1高可靠度 U:保留位,一般未使用,4、总长度: 即首部+数据部分的长度,它是一个数值。单位是字节,总长度为16位,最长为:216-1=65535字节, 实际上决定于MTU(最大传输单元)

3、,对以太网为1500字节。 若包太长,超过了MTU的值,则需要切割,即分片,5、标识(Identification)的用途 是让目标主机确定一个新的数据段属于哪个数据包,同一个数据报的分段有相同的标志值.当IP被重组时,每个来自同一笔数据的小IP就得要有个识别码以告知接收端这些小IP其实来自同一个封包才行。,6、标志(Flags),该地方的内容为0D* DF:若为0表示可以分段,若为1表示不可分段 MF:若为0表示此IP为最后分段,若为1表示非最后分段。,7、分段偏移,表示目前这个IP分段在原始的IP封包中所占的位置,有点像序号,有这个序号才能将所有的小IP分段组合成为原本的IP封包大少,8、

4、TTL域,存活周期,是一个限制分组生存期的计数器.计数时间为秒,一共占8位,所以最大生存期为255(秒/点)通常为64。当他递减到0时,路由器给源主机发送一个警告分组,原分组被丢弃.这样可以避免数据报长时间存在网络中.,TTL=8,TTL=7,TTL=6,9、协议类型,10、头部校验和,当数据到达时,头部所有的16位累加起来,再取结果的补码,其结果应该为0. 11、32位的源地址和32位的目标地址, 12、选项 IP首部的长度必须是4个字节的整数倍,如果选项长度不是4的整数倍,必须填充数据0。,6、分片(Fragmentation)及重组,MTU(Maximum Transfer Unit),

5、MTU=1500,MTU=1500,MTU=576,IP包,长度为768 DF = 0,X.25或拨号线路,以太网,思考:如DF=1,怎么办?,分段,数据(1400字节),分组头,MTU=620字节,分组头,分组头,分组头,数据(600字节),数据(600字节),数据 200字节,段偏移=0,段偏移=75,段偏移=150,分片实例,选项都是以一个8位的选项开始的,每个选项由三部分组成:一个字节的选项码、一个字节的长度、多个字节所构成的选项数据,长度由前一部分决定。不同的选项码位的数字代表不同的意义,其代表意义如下: 第0位代表:拷贝类(Copy)。用于控制网关对数据包分片时对本项的处理,“1”

6、将本选项拷贝到所有的分片中;“0”仅将本选项拷贝第一个分片中。第1、2位代表:选项类(Option Class).第37位:目前定义了6种类型,其中如定义为00111代表记录路由,该选项让数据包把从源节点到目的节点所经过的各路由填上其IP地址.,第讲 ARP和RARP应用,回顾以太网数据包发送格式如下:,在以太网中,上层运行的是IP协议, 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的。即下层传输地址使用MAC地址表示。 我们使用SOCKET程序,只是关心IP地址。它们二者是怎样相对应呢?,地址解析为这两种不同的地址形式提供映射:3

7、2 bit的IP地址和数据链路层使用的任何类型的地址。(ARP 和RARP),一:基本概念,ARP理论的基础是:每个网络接口有一个硬件地址(一个48 bit的值,标识不同的以太网或令牌环网络接口)。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP有自己的地址:32 bit的IP地址。知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32 bitIP地址和采用不同网络技术的硬件地址之间提供动态映射。,ARP为IP地址到对应的硬件地址之间提供动态映射。这个过程一般应用程序会自动完成的,用户并不知道。

8、RARP是被那些没有磁盘驱动器的系统使用,它需要系统管理员进行手工设置。,地址转换规程,当链路层要封装网络层分组时,它需要知道目的物理地址。 首先,每个主机都有ARP缓存,用来存放一些IP地址与MAC地址的对应关系。主机根据分组头上的目的IP地址查阅自己的ARP缓存,如果没查到,就用广播地址发送ARP请求。 被请求的IP地址所对应的主机返回一个ARP响应。 主机收到响应后,就可发送数据帧,并将该IP地址与MAC地址对存放在ARP缓存中。,Proxy ARP,如果目的IP地址是子网外的,显然它不可能收到ARP请求,这时有两种方案: 路由器有ARP代理功能,它代理子网外的主机响应ARP请求。 主机

9、通过识别目的IP地址的网络号,知道它是子网外的主机,直接发给缺省路由器,One Way Using Router with Proxy ARP Station B Arps 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, Sou

10、rceNetwork=N1B, DestinationMAC=MD, DestinationNetwork=N2D Second Way Station knows R1 is the designated Router for N2,三: ARP的分组格式,在以太网上解析IP地址时,ARP请求和回答分组的格式如图所示。(ARP可以用于其它类型的网络,可以解析IP地址以外的地址。紧跟着帧类型字段的前四个字段指定了最后四个字段的类型和长度。),以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。 2个字节长的以太网帧

11、类型表示后面数据的类型。对于ARP请求或回答来说,该字段的值为0x0806。 形容词hardware(硬件)和protocol(协议)用来描述ARP分组中的各个字段。例如,一个ARP请求分组询问协议地址(这里是IP地址)对应的硬件地址(这里是以太网地址)。,硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同,这是有意设计的。 接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求

12、或回答来说,它们的值分别为6和4。,操作字段指出四种操作类型,它们是ARP请求(值为1),ARP回答(值为2),RARP请求(值为3),RARP回答(值为4)。这个字段必需的,因为ARP请求和ARP回答的帧类型字段值是相同的。 接下来的四个字段是发送端的硬件地址(在本例中是以太网地址),发送端的协议地址(IP地址),目的端的硬件地址,目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。,对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端

13、地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。,物理帧头,ARP包的填充,电脑MAC地址为 aa-aa-aa-aa-aa-aa,IP为 192.168.0.1 我们想要查询 192.168.0.99的MAC地址,应该怎么来做呢?,请求包,响应包,四:ARP高速缓存,ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。 可以用arp命令来检查ARP高速缓存。参数-a的意思是显示高速缓存中所有的内容。,ARP Utility,五、RARP的分组格式,RARP分组的格式与ARP分组基本一致。它们之间主要的差别是RARP请求或回答的帧类型代码为0x8035,而且RARP请求的操作代码为3,回答操作代码为4。 对应于ARP,RARP请求以广播方式传送,而RARP回答一般是单播(unicast)传送的。,作业,程序实现一种ARP网络攻击。 设计一种ARP防御方法。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号