第5章_internet控制协议剖析.

上传人:今*** 文档编号:107522662 上传时间:2019-10-19 格式:PPT 页数:57 大小:3.49MB
返回 下载 相关 举报
第5章_internet控制协议剖析._第1页
第1页 / 共57页
第5章_internet控制协议剖析._第2页
第2页 / 共57页
第5章_internet控制协议剖析._第3页
第3页 / 共57页
第5章_internet控制协议剖析._第4页
第4页 / 共57页
第5章_internet控制协议剖析._第5页
第5页 / 共57页
点击查看更多>>
资源描述

《第5章_internet控制协议剖析.》由会员分享,可在线阅读,更多相关《第5章_internet控制协议剖析.(57页珍藏版)》请在金锄头文库上搜索。

1、TCP/IP协议分析,主讲:孟慧 2014年3月,第五章 Internet控制协议,两类地址,物理地址:指硬件地址、MAC地址或二层地址。是一个本地地址,管辖范围是本地网络。物理地址通常是用硬件实现的。,逻辑地址:指IP地址,逻辑地址是用软件实现的,并非与物理设备本身相关联。它标识主机所在的网络位置,在网络层以上只使用逻辑地址通信。,ARP:Address Resolution Protocol RARP:Reverse Address Resolution Protocol,地址转换 - ARP协议,ARP协议和RARP协议,5,ARP只能用于具有广播能力的网络。,ARP:将一个已知的IP地

2、址映射到MAC地址。 想一想:为何要进行映射?,映射方法: 已知:IP地址 1)检查本地ARP高速缓存表,若找到IP地址对应的表项,则取出表项中的MAC地址; 2)若IP地址不包含在表中,就向网上发广播来寻找。具有该IP地址的目的站用其MAC地址作为响应。,问题一:为什么要进行地址转换?,问题二:如何进行地址转换?,必须根据IP地址找到物理地址才能进行实际的数据传送。,静态映射 or 动态映射 两种地址类型: 1.空间较小且容易配置的物理地址(静态映射 ) 2.空间巨大且固定的物理地址(动态映射) 静态映射 :IP地址物理地址 动态映射:用协议获得,ARP原理:ARP概述,ARP协议属于在网络

3、层的下部,可看作为网络层和数据链路层的接口,主要用于IPv4以太网。,广播发送ARP请求,单播发送ARP应答,为何要进行地址映射?,为什么需要地址解析协议?,9,在因特网中,数据分组传输使用的是IP地址(逻辑地址);而在局域网中,传输数据时需要使用物理地址(MAC地址)。 许多因特网的主机位于局域网中,当数据分组到达局域网时,需要把IP地址转换成MAC地址,然后把分组封装在局域网链路层的帧中,才能发送到该主机。,1. ARP原理,问题:谁的IP地址是IPb? 请你把你的物理地址告诉我,回答:我的IP地址是IPb? 我的物理地址是PAb,总结:广播请求,单播回应!,2.基本步骤 步骤一:源端A广

4、播包含目标B的IP地址IPb的ARP请求报文,请B回答自己的物理地址PAb ; 步骤二:网络上的主机将IPb与自身的IP地址比较,若相同,则转步骤三,否则忽略; 步骤三:B将PAb封装在ARP应答报文中,之后发送给A; 步骤四:A从应答报文中提取IPb和PAb,从而获得IPb和PAb之间的映射关系。,使用ARP的四种情况,ARP请求分组能够到达的范围就是物理网络中发送的广播帧所能到达的范围,所以ARP工作在路由器隔开的每个网段内,换言之,ARP广播请求不能跨越路由器。,1.源站-目的站间的ARP.源站A希望将分组发送给同一网络上的目的主机B。在这种情况下,源站A发送ARP请求,得到B的物理地址

5、.,2.源站-路由器间的ARP.源站A希望将分组发送给另一个网络上的目的站B。A首先查找其路由表,找到到达目的站的下一跳路由器R1的IP地址。ARP把路由器R1的IP地址映射为物理地址,然后A把IP分组发送到路由器R1.,3.路由器-路由器间的ARP.路由器R1查找路由表,找出IP分组的下一跳路由器R2的IP地址,ARP把R2的IP地址映射为物理地址,然后R1把IP分组发送到R2.,4.路由器-目的站间的ARP.当IP分组到达目的站所在网络的路由器Rn时,ARP把目的站B的IP地址映射为物理地址,然后Rn把IP分组发送到目的站B.,ARP的改进,ARP高速缓存,方法:APR高速缓存,当主机A通

6、过ARP请求得到B的物理地址后,就将此“IP地址-物理地址”绑定存储在高速缓存中。这样,后续发往B的分组,可以通过查找高速缓存获得物理地址,A向B发送IP分组时,广播发送ARP请求分组得到B的物理地址。网络上每台主机都必须接收和处理广播分组。广播的代价过高,无法在每一次发送IP分组时都是用这种方法。 事实上,主机A往往有多个IP分组要发送到B,对发送到B的每个分组都使用ARP是低效率的。,使用高速缓存后ARP请求实现流程,改进后的ARP缓存,提高ARP的效率 设置ARP cache,存放最近解析出来的IP/MAC对。 请求解析时,把自己的IP/MAC地址也放在报文中。 收到ARP请求的所有主机

7、都缓存其中的IP/MAC。 主机入网时,主动广播它的IP/MAC。,改进后的ARP应答实现流程,问题:一条IP/MAC映射记录失效怎么办?,优点:(1)无需专门的通知机制; (2)对硬件可靠性要求低。 缺陷: 时延-可能会反应迟钝;,解决:超时计时器,使用超时机制(20分钟),如果在超时到来前都没有使用某条记录,则删除该记录。,ARP原理:ARP例子,ARP原理:ARP例子,1.PCA以广播形式发送ARP请求,请求网关的MAC地址。,2.网关以单播形式回应A的ARP请求。,3.A更新自己的ARP缓存。,4.A与网关通信。,ARP分组格式,操作:1是ARP请求,2是ARP应答 3是RARP请求,

8、4是RARP应答。,ARP的封装与标识,ARP报文必须封装到一个帧中(帧类型0x0806),ARP报文,帧数据区,帧头,帧尾,ARP原理:ARP分组格式,ARP原理:ARP帧类型,ARP命令,代理ARP,代理ARP能够实现两个物理网络的连接。 网络1上,充当代理ARP的路由器可代表网络2上的一组主机应答ARP.,特性:信任所有ARP应答。,In1,In2,转换步骤: A利用ARP获得路由器R接口1的物理地址 A把报文发给路由器R的接口1 R从接口2使用ARP获得B的物理地址 R把报文从接口2转发给B,代理ARP,也成做网关,创建一个ARP高速缓存,其中包含这两个物理网络中主机或路由器的有关信息

9、。代理ARP必须管理穿越于两个网络的ARP请求和应答。通过把对应于两个网络的ARP高速缓存组合成一个,代理ARP扩充了地址解析过程的灵活性,防止产生过多的ARP请求和ARP应答分组穿越网关。,概述,一、为什么需要ICMP? (1)数据报在传送中可能会遇到各种异常; (2)IP自身没有提供差错报告和差错纠正的机制。 但IP层也需要控制功能(拥塞、差错控制)。 ICMP就是为了补偿上述缺点而设计的,它是配合IP协议使用的。传递网络控制信息、提供差错报告。,二、ICMP的工作机制 (1)路由器(主机)向其它路由器(主机)发送ICMP报文。 (2)只能向源端报告差错,不能向中间路由器报告差错。,概 述

10、,三、ICMP协议与IP协议的关系 1.ICMP与IP同层,只是IP软件中的一个模块。 (1)功能不独立,只是IP的补充; (2)不是上层协议赖以存在的基础 。,在IP数据报中的“协议”字段,1表示其IP数据是ICMP报文,2.ICMP本身是一个网络层协议,但是,它的报文不是如设想的那样直接送给数据链路层。实际上,ICMP报文首先要封装成IP数据报,然后在传送给下一层。,概述,一、报文类型,差错报告报文:报告路由器或主机在处理一个IP数据报时可能遇到的一些问题。 一共有5种差错可处理:目的站不可达、源站抑制、时间超时、参数问题以及改变路由。 查询报文:成对出现的,它帮助主机或网络管理员从一个路

11、由器或另一个主机得到特定的信息。,ICMP报文格式和类型,说明: (1)类型:定义ICMP报文类型。 (2)代码:指明了发送此特定报文类型的原因。 (3)校验和:对整个报文计算校验和 (4)差错报告报文数据区包括:出错数据报首部 + 出错数据报数据区 前64bit。原因:包含上层协议报文的重要信息。,ICMP报文格式和类型,二、报文格式,类型字段的值与ICMP报文的类型的关系,ICMP协议报文的类型,校验和,下图给出了一个简单的回送请求报文的检验和计算例子。 报文分成16比特(2字节)的字。将这些字相加,将和求反码。 现在发送站就可将此值放入检验和字段。,三、ICMP报文的封装及传递,IP互联

12、网利用ICMP传输控制报文和差错报文 ICMP报文的封装:封装在IP数据报中,(1)只向源站提供报告,本身一般不处理差错。 (2)差错报文作为一般数据传输。 (3)携带ICMP差错报告报文的IP分组不再产生ICMP差错。即不能嵌套。 (4)携带分片的IP分组,如果不是第一个分片,则不产生ICMP差错报告报文。 (5)具有多播地址的IP 分组不产生ICMP差错报告报文。 (6)具有特殊地址的IP分组不产生ICMP差错报告报文。,ICMP差错报告报文,1、目的站不可达报告:无法转发或投递时,路由器在IP分组不能转发或交付时,会发送一个目的站不可达报文, 但是它并不能检测出目的站不可达的所有问题,代

13、码:给出了目的站不可达原因 (0)网络不可达:选路失败 (1)主机不可达:投递失败 (2)协议不可达:与TCP或更高层协议有关 (3)端口不可达:与TCP/UDP协议端口有关,ICMP差错报告报文,拥塞处理步骤: 1.网关发现拥塞,按一定策略向某些源站发出源站抑站报文; 2.源站收到源抑制报文后,按一定速率降低发往某信宿的数据报的速率; 3.在一定时间间隔内若无源抑制报文到达,则源站认为拥塞解除,提高发送速率。,拥塞:大量数据报涌入同一网关,导致该网关资源耗尽而必须丢弃后面到达的数据报。 拥塞控制:解决数据报大量涌入问题 解决拥塞方法:源站抑制,即抑制信源发出数据报的速率。,作用: 1.通知源

14、站,由于拥塞,路由器或目的站已经丢失了IP分组, 2.源站必须放慢分组的发送,以减轻拥塞程度。,2、拥塞控制与源站抑制,3、 超时报告:TTL = 0或分片重组超时,ICMP差错报告报文,情形一:如果在一个或多个路由表中出现差错,那么某一个分组就可能在一个回路中,从一个路由器到下一个路由器,或无休止的通过一系列的路由器。,情形二:当组一个IP分组的所有分片未能在某一时限内到达目的主机时,目的站丢弃所有分片,也向远端发送超过报文。代码为1.,情形一:为了避免循环路由,每一个数据报都有一个叫做TTL的字段,当收到数据报的路由器在发现这个字段的值为0时,就丢弃该分组。同时向源端发送一个时间超过报文。

15、代码为0。,4.改变路由(重定向报文)-更新主机路由表,A:默认网关R1,A发送数据给B时,首先发给R1,R1发现合适的路由器是R2,则向主机A发送重定向报文,ICMP差错报告报文,问题:主机的路由表如何更新? 答案:靠路由器发送的重定向报文。当路由器发现一台主机使用非优化路由时,向主机发一重定向报文,请求主机改变路由。,注意:在发送改变路由报文时,路由器并不丢弃IP分组,5、参数出错报告:数据报首部或选项出错时,指针:指向数据报出错的第一个字节,ICMP差错报告报文,情形一:路由器或目的主机发现了数据报首部中出现二义性。情形二:在数据报的某个字段中缺少某个值, 则丢弃这个数据报,并发送参数问

16、题报文。 代码0:在首部的一个字段中有差错或二义性。 代码1:表示缺少所需的选项部分。,ICMP查询(请求/应答)报文,例:ping命令 原理:基于ICMP回送请求与应答报文 使用: 可测试网络的可达性 可查看记录路由选项 可指定松散源路由和严格源路由,网络管理员和用户都可使用这对报文来发现网络的问题。 类型:8回送请求报文,0回送应答报文。 标识和序号功能:由源站匹配请求和应答。,1. 回送请求与应答(Echo & Echo Reply) :检测可达性,ICMP查询(请求/应答)报文,(1)可测试网络的可达性 ICMP报文被封装在IP分组中,发送回送请求报文的源站在收到回送应答时,就证明了源站和目的站之间能够使用IP分组进行通信。此外,还能够证明中间路由器能够接收、处理和转发IP分组。 两台主机之间使用Echo & Echo Reply来检查IP层是否可达。,(2)用Ping命令可以查看记录路由选项 UNIX:Ping R,Windows:Ping r 处理过程:Pi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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