您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > ARP与ICMP协议
第九章ARP与ICMP协议本章重点内容介绍本章难点本章小结本章习题第九章ARP与ICMP本课内容ARPICMP9-1ARP协议9-1ARP协议各站点在物理网络内部使用各自的MAC地址,而在互联网中自网络层以上各层,均使用IP地址,它对于底层各种形式的地址不做任何改动。因此,在互联网中存在着两种地址形式:MAC地址与IP地址,二者之间必须有一种对应关系。当IP层将分组交于数据链路层通过物理网络传输时,IP地址必须转换为MAC地址。9-1ARP协议9-1-1ARP协议在局域网内的工作原理例:下图为一局域网,里面有三台机子A,B,C,每台机子有自己的IP地址也有自己的MAC地址,外部路由也如此。ABCR9-1ARP协议9-1-1ARP协议在局域网内的工作原理AIP:222.222.222.220MAC:1A-23-F9-CD-06-9BBIP:222.222.222.223MAC:5C-66-AE-90-75-B1CIP:222.222.222.222MAC:49-BD-D2-C7-56-2ARIP:222.222.222.221MAC:88-B2-2F-54-1A-0F9-1ARP协议9-1-1ARP协议在局域网内的工作原理现在假设A主机要把发送给向C主机的数据报封装到下层物理帧中。为了完成这个任务,则双方必须知道对方的MAC地址,每台主机都要维护一个IP地址到MAC地址的转换表,称为ARP表。表中存放着最近用到的一系列和它通信的的同网的计算机的IP地址和MAC地址的映射。9-1ARP协议9-1-1ARP协议在局域网内的工作原理表中除了地址映射外,还包含了一个生存时间TTL,它表明该条地址映射何时从表中删除。一条地址映射从表中删除的时间为放入表后20分钟。下图为A计算机可能有的ARP表:IP地址局域网地址TTL222.222.222.22188-B2-2F-54-1A-0F10:00:10222.222.222.2235C-66-AB-90-75-B110:12:129-1ARP协议9-1-1ARP协议在局域网内的工作原理此时A结点要和C结点通信。A结点首先查看自己的ARP表,看其中是否有C的IP地址222.222.222.222所对应的ARP表项。如果找到了,则不发送ARP包,而直接利用ARP表中的MAC地址把IP数据包封装到帧内,发送给目的结点。根据上表可以看出此时A结点的ARP表中没有相应的地址项,此时ARP协议创建一个ARP请求,并以广播方式发送。在ARP请求包中有要请求的计算机的即C计算机的IP地址222.222.222.222,以及A计算机自己的IP地址和MAC地址。9-1ARP协议9-1-1ARP协议在局域网内的工作原理由于是以广播方式发送,所以所有局域网内的计算机都能收到,不过仅被请求的计算机C处理该请求。C首先把发送请求者的IP地址和MAC地址放入自己的ARP表中,然后C组织ARP响应包,在包中填入自己的MAC地址,发送给A主机。这个响应不再以广播的形式发送,而是在帧的目的端地址处直接填入A的MAC地址,直接发送给A主机。主机A在收到响应后,将从包中提取出目的IP地址及其对应的MAC地址,加入自己的ARP表中,并且发送数据包。9-1ARP协议9-1-2ARP协议在广域网中的工作原理例:下图为两个局域网通过路由器互连,A、B、C、D四台主机各有其自己的MAC与IP地址,但是路由器R比较特殊,它有两个接口,每个接口有自己的IP与MAC。ABDCR129-1ARP协议9-1-2ARP协议在广域网中的工作原理AIP:111.111.111.111MAC:74-29=9C-E8-FF-55BIP:111.111.111.112MAC:CC-49-DE-D0-AB-7DCIP:222.222.222.221MAC:88-B2-2F-54-1A-0FDIP:222.222.222.222MAC:49-BD-D2-C7-56-2AR接口1IP:111.111.111.110MAC:E6-E9-00-17-BB-4BR接口2IP:222.222.222.220MAC:1A-23-F9-CD-06-9B9-1ARP协议9-1-2ARP协议在广域网中的工作原理假设A主机要向D主机发送信息,这时A主机需要先把信息送到路由器R的接口1,如何知道自己必须走这条路,这是A机的路由表决定的,而如何得到路由器R的接口1的MAC地址,还是通过ARP表,如果表中有则直接获得,没有则发送请求。到达R的接口1后,向接口2前进,这也是路由表决定的。到达接口2以后,则下式进入网络2,此时在网络2内部再由ARP表来找到目的对象。9-2ICMP协议9-2ICMP协议ICMP是一种差错控制和报文控制协议,用于传输错误报告和控制信息。ICMP报文封装在IP数据包中进行传输,IP包头的类型为1时,表示报文的数据部分为ICMP报文。虽然ICMP报文由IP报文传输,但是并不能认为ICMP是IP的上层协议,而是IP协议的有机补充。在IP协议的处理过程中,经常要产生一些ICMP报文来报告处理报文情况。之所以把ICMP放在IP协议中,是要利用IP的转发功能。9-2ICMP协议9-2-1ICMP报文格式类型表示ICMP信息的类型;代码表示报文类型进一步的信息;校验和提供对整个ICMP报文的校验。类型代码校验和数据区9-2ICMP协议9-2-2ICMP协议差错报文路由器或目的端在处理IP报文时,如发现错误,就向源端主机发送ICMP差错控制报文。但如果错误是中间路由器发生的,源端仍然无法确定发生错误的地点。在ICMP差错报文的数据区,除了包含出现错误的IP报文头部外,还包含出错IP报文数据区的前64位。如果ICMP差错报文出现错误,IP协议不再为之产生新的差错报文。9-2ICMP协议9-2-2ICMP协议差错报文(1)目的不可达报文转发不成功时,发送“DestinationUnreachable”,抛弃包。报文格式如下:类型码值校验和未用出错报头和前64位数据码值意义0网络不可达1主机不可达2协议不可达3端口4需分段但DF置位5源寻径失败6目的网络未知7目的主机未知8源主机被隔离9与目的网络的通信被禁止10与目的主机的通信被禁止11对请求的服务类型,网络不可达12对请求的服务类型,主机不可达9-2ICMP协议9-2-2ICMP协议差错报文(2)超时报告码值意义0TTL超时1重组超时9-2ICMP协议9-2-2ICMP协议差错报文(3)参数出错报告码值意义0报文中某参数出错1报文中缺少某一要求的选项9-2ICMP协议9-2-3ICMP协议控制报文(1)拥塞控制和源抑制报文ICMP协议采用Sourcequench控制源端发送报文的速率,以此来缓解网络拥塞,过程如下:A:路由器要定期检测每个输出接口,检测是否发生拥塞。如发现,则向导致拥塞的源端主机发送ICMP源抑制报文;9-2ICMP协议9-2-3ICMP协议控制报文(1)拥塞控制和源抑制报文B:源端收到抑制报文后,以一定的比例降低往目的端发送报文的速率。在降低速率后一定时间间隔内,即使收到新的源抑制报文,也保持速率不变。在间隔时间之后,如果还收到源抑制报文,则要继续降低速率;C:恢复速率的过程,由主机自己完成。如果源端在一段时间之后没有收到源抑制报文,则可以缓慢恢复其速率。9-2ICMP协议9-2-3ICMP协议控制报文(2)路由控制和重定向报文在IP网络中,路由选择主要由网络中的路由器来承担。主机只是知道很少的寻径信息,它把非本网的信息往设置的缺省路由器上发送。在一个网络上有两个以上路由器时,以过缺省路由器虽然可以保证把数据包发送出去,但不能保证对于所有的目的主机总是最优的。ICMP重定向报文,是主机和路由器之间交换信息的途径。当缺省路由器检测到某数据包不是沿最优路径进行传输,它也会把数据包正确地转发出去,但同进向源端主机发送一个重定向报文,告诉它到目的地的最优路径。这样,可以让主机不断学习积累,保留一个小而优的路由表。9-2ICMP协议9-2-4ICMP协议请求应答报文请求应答报文主要用于网络诊断。它们一般是成对出现的,每一个请求报文对应一个应答报文。(1)回应请求与应答报文该报文用于测试网络的可达性。请求者向特定的主机发送请求,其中包含任选的数据。目的主机在收到请求后,发送应答报文,其数据部分应该是请求报文中的数据的拷贝。一台主机可以向多台主机同时发送请求报文。9-2ICMP协议9-2-4ICMP协议请求应答报文(2)时戳请求与应答报文使用以上报文是为了让两台机器上的时钟同步。其中包含初始时戳、接收时戳、发送时戳。初始时戳为源端发送请求的时间;接收时戳为目的端收到请求的时间;发送时戳是目的端发送应答的时间。9-2ICMP协议9-2-4ICMP协议请求应答报文(2)时戳请求与应答报文为估算源端和目的端之间的时差,需要计算往返时延。具体方法如下:请求者先发送时戳请求,收到该请求的主机返回时戳响应。通过初始时戳和源端当前时刻计算出从发出请求到收到请求的时间。通过接收时戳和发送时戳计算目的主机上的处理延迟。二者相减,就可以得到往返延迟。把往返延迟除以2,则得到平均传输延迟。主机就把响应包中的发送时戳加上传输延迟,作为本地的当前时间,实现了请求者和响应者之间的同步。
本文标题:ARP与ICMP协议
链接地址:https://www.777doc.com/doc-2901850 .html