《互联网络层》PPT课件.ppt
1,人民邮电出版社,第3章 互联网络层,2,3.1网络层的互联技术,3.1.1网络互联概述1.互联网如果利用网络互联设备将两个或多个物理网络相互连接,就成了互联网络(internetwork),简称互联网(internet,注意“i”为小写,当“I”为大写时,即Internet,特指全球范围内的互联网)。将多个物理网络互联的最常用设备是路由器(Router),如图3-1所示,该示意图有4个物理网络,这4个物理网络通过R1、R2、R3、R4和R5共5个路由器来实现其互联互通的作用。,3,3.1网络层的互联技术,4,3.1网络层的互联技术,3.1.1网络互联概述2.Intranet与Extranet如果一个企业内部网络,使用了Internet中的TCP/IP协议及其网络互联技术,就是一个Intranet。简单地说,Intranet就是一个有限的、封闭的计算机网络,而该网络使用Internet技术共享数据,一个Intranet可以是一个Internet的子网,不过在子网与Internet的交界处增加了访问控制,以防止不受欢迎的访问。由于Internet技术的成熟与普及,使使用了Internet技术的Intranet实现和维护费用较低。如果一个Intranet通过防火墙等技术与外部Internet相连,该Intranet就是一个开放的,通过外部可以访问的网络,这时它就成了一个Extranet,因此从某种程度上说,Extranet就是公司与公司之间的网络。,5,3.1网络层的互联技术,3.1.2路由器路由器是用于连接多个逻辑上分开的网络。路由器具有转发报文和路由选择两大功能.路由器不关心各子网使用的硬件设备,但要求各网络层协议要运行功能一致的软件。,6,3.1网络层的互联技术,3.1.2路由器1.路由器的工作原理当IP子网中的一台主机发送IP报文给不同IP子网上的主机时,它要选择一个能到达目的子网的路由器,把IP报文送给该路由器,由路由器负责把IP报文送到目的地。路由器转发IP报文时,只根据IP报文中目的IP地址的网络号部分,选择合适的端口,把IP报文送出去。每个路由器在收到IP报文后也要判定端口所连接的是否是目的子网,如果是,就直接把报文通过端口送到网络上,否则,也要选择下一个路由器来转发IP报文。,7,3.1网络层的互联技术,3.1.2路由器2.路由器的功能(1)在网络之间接收和发送数据包。(2)为网际间通信选择最合理的路由。(3)根据需要可对数据包进行拆分或组装。(4)对于支持多通信协议的路由器,可以将两个使用不同协议的网络连接起来。(5)网络安全功能,目前大部分路由器都具备一定的防火墙功能,能够屏蔽内部网络的IP地址,自由设定IP地址、通信端口过滤等,使网络更加安全。,8,3.1网络层的互联技术,3.1.3面向连接的互联技术通信的源端和目标端之间建立了一条逻辑通路,一般称为虚电路(virtual circuit).面向连接(connect-oriented)的互联技术,这种方式看似简单,易于实现,但其最大的缺点是如果不能保证虚电路中沿途经过的节点都能可靠的发送数据,就可能使网络崩溃。由于互联网所连网络的复杂性和多样性,很难保证所节点都能可靠的发送数据。,9,3.1网络层的互联技术,3.1.4无连接的互联技术无连接的(connectionless)的互联网解决方案在源端和目标端之间不需要建立一条逻辑通路,而是送到网络中的每个分组带有完整的目标主机地址,收到分组的节点(主要是路由器)根据目标地址和当前网络状况(如通信量等),选择一条合适的线路把分组发送到接近目标端的下一个节点,通过多个节点的转发,最终把分组送达目标节点。,10,3.1网络层的互联技术,3.1.5IP互联原理对互联的不同物理网络(具体表现就是不同网络的网络接口卡和设备驱动程序互不相同)上传输的数据帧,都加上一层相同的“包装”,使加了“包装”后的网络数据帧对外有统一的“外表”(为了区别数据帧,我们就把它叫“数据报”)。这样的数据报,不同网络中的节点(主要是路由器)都可以识别,因此,就可以根据数据报的目标地址,把它从一个节点转发到另一个节点,直到目标主机。最后由目标主机对数据报的内容进行解释。,11,3.2IP协议,3.2.1IP协议概述IP协议是TCP/IP协议簇中最重要的协议,从协议体系结构来看,向下它屏蔽了不同物理网络的低层,向上它提供了一个逻辑上统一的互联网。TCP/IP网络中的IP就如同邮政服务中的“标准信封”,在这个基本的、有效的传送机制中,任何种类的数据都能放入到该“标准信封”中,如图3-3所示。,12,3.2IP协议,3.2.1IP协议概述1.IP协议的主要功能IP协议所完成的主要功能包括以下内容:将上层数据(如 TCP,UDP数据)或同层的其它数据(如ICMP数据)封装到IP数据报中。将IP数据报传送到最终目的地。为了使数据能够在链路层上进行传输,对数据进行分段。确定数据报到达其它网络的路径。,13,3.2IP协议,3.2.1IP协议概述2.IP协议在TCP/IP协议栈中的地位与特点互联网上的所有数据报都要经过IP协议进行传输,它是通信网络与高层协议的分界,如图3-4所示。,14,3.2IP协议,3.2.1IP协议概述2.IP协议在TCP/IP协议栈中的地位与特点使用IP协议的互联网具有以下重要特点:IP协议是一种无连接(connectionless)不可靠(unreliable)的数据报传输协议。IP互联网中的计算机没有主次之分,所有主机地位平等(因为惟一标识它们的是IP地址)。IP互联网没有确定的拓扑结构。在IP互联网中的任何一台主机,都至少有一个独一无二的IP地址,有多个网络接口卡的计算机每个接口可以有一个IP地址,这样一台主机可能就有多个IP地址,有多个IP地址的主机叫多宿主机(multi-home host)。在互联网中有IP地址的设备,不一定就是一台计算机,如IP路由器、网关等,因为与互联网有独立连接的设备都要有IP地址。,15,3.2IP协议,3.2.1 IP数据报格式IP数据报的格式分为报头区和数据区两大部分,其中数据区包括高层协议需要传输的数据,报头区是为了正确传输高层数据而加的各种控制信息。IP数据报的格式如图3-5所示。,16,3.2IP协议,3.2.1 IP数据报格式,17,3.2IP协议,3.2.3 IP数据报的分片与重组1.最大传输单元MTU正如图3-1所示,IP数据报在互联网上传输,可能要经过多个物理网络数据报才能从源端传输到目标端。不同的网络由于链路层和介质的物理特性不同,因此在进行数据传输时,对数据帧的最大长度都有一个限制,这个限制值叫最大传输单元MTU(Maximum Transmission Unit)。同一个网络上的两台主机之间通信时,该网络的MTU是确定,不存在分片问题。分片问题一般只存在于具有不同MTU值的互联网中。由于现在互联网主要使用路由器进行网络连接,所以分片工作通常由路由器进行。,18,3.2IP协议,3.2.3 IP数据报的分片与重组1.最大传输单元MTU如果两台主机之间的通信要通过多个具有不同MTU值的网络时,重要的不是两台主机所在网络的MTU值,而是两台通信主机路径上的最小MTU值,它被称作路径MTU。两台主机之间的路径MTU不一定是个常数,它取决于数据报所经过的路径。由于路由选择不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此,路径MTU在两个方向上不一定是一致的。表3-3列出了几种常用网络的MTU值。,19,3.2IP协议,3.2.3 IP数据报的分片与重组,20,3.2IP协议,3.2.3 IP数据报的分片与重组2.分片当一个IP数据报要通过链路层进行传输时,如果IP数据报的长度比链路层MTU的值大,那么IP层就需要对将要发送的IP数据报进行分片,把一个IP数据报分成若干个长度小于或等于链路层MTU的IP数据报,才能经过链路层进行传输。这种把一个数据报为了适合网络传输而分成多个数据报的过程,叫分片(fragmentation)。一定要注意,被分片后的各个IP数据报,可能经过不同的路径到达目标主机。一个IP数据报在传输过程中可能被分片,也可能不被分片。如果被分片,分片后的IP数据报和原来没有分片的IP数据报结构是相同的,即也是由IP头部和IP数据区两部分组成。,21,3.2IP协议,3.2.3 IP数据报的分片与重组3.重组当分了片的IP数据报被传输到最终目标主机时,目标主机要对收到的各分片重新进行组装,以恢复成源主机发送时的IP数据报,这个过程叫IP数据报的重组。重组时如何知道收到的分片(IP数据报)属于原来哪个IP数据报呢?解决这个问题就要使用IP数据报头部的标识字段。在IP数据报头部中,标识用16位二进制数表示,它惟一地标识主机发送的每一份数据报。通常在源端保持着一个计数器,每发送一个数据报它的值就会加1,以保证每个数据报有一个惟一的标识,而在一个数据报被分片时,每个分片仅把原数据报标识字段的值原样复制一份,所以一个数据报的所有分片具有相同的标识。,22,3.2IP协议,3.2.3 IP数据报的分片与重组3.重组目标端主机重组数据报的原理是:根据标识可以确定收到的分片属于哪个原IP数据报;根据标志字段的片未完MF子字段可以确定分片是不是最后一个分片;根据偏移量就可以确定分片在原数据报中的位置。,23,3.3IP地址,3.3.1 IP地址的表示格式互联网是由很多网络连接而成的,互联网中的数据报有些是在本网内主机之间传输的,有些是要送到互联网中其它网络中主机的数据报,因此,IP地址不但要标识在本网内的主机号,还要标识在互联网中的网络号。一个IP地址由网络号和主机号两部分组成,网络号标识互联网中的一个特定网络,主机号标识该网络中的一台特定主机。这样给定一个IP地址,就可以很方便的知道它是哪个网络上的哪一台主机。,24,3.3IP地址,3.3.1 IP地址的表示格式,25,3.3IP地址,3.3.2 IP地址的分类在Internet发展的初期,人们用IP地址的前8位用来定义所在的网络,后24位用来定义该主机在当地网络中的地址。这样互联网中最多只能有255(应该有256个,但全1的IP地址用于广播)个网络。后来由于这种方案可以表示的网络数太少,而每个网络中可以连入的主机又非常多,这不符合互联网的实际情况。于是,人们设计了一种新的编码方案,该方案中用IP地址高位字节的若干位来表示不同类型的网络,以适应大型、中型、小型网络对IP地址的需求。这种IP地址分类法把IP地址共分为A、B、C、D和E共五类,用IP地址的高位来区分。,26,3.3IP地址,3.3.2 IP地址的分类,27,3.3IP地址,3.3.3 子网的划分1.子网与子网地址IP地址最初使用两层地址结构(包括网络地址和主机地址),在这种结构中A类和B类网络所能容纳的主机数非常庞大,但使用C类IP地址的网络只能接入254台主机。随着时间的推移,计算机网络技术不断普及,有大量的个人用户和小型局域网接入互联网,对于这样的用户,即使分配一个C类网络地址仍然会造成IP地址的很大浪费。因此,人们提出了三层结构的IP地址,把每个网络可以进一步划分成若干个子网(subnet),子网内主机的IP地址由三部分组成。一个网络可以划分成多少个子网,由子网地址位数决定,当然一种给定类型的IP地址,如果子网占用的位数越多,子网内主机就越少。划分子网进一步减少了可用的IP地址数量,这是因为,把主机地址的一部分拿走用于识别子网和进行子网内广播.,28,3.3IP地址,3.3.3 子网的划分2.子网掩码对于划分了子网的网络,由于子网地址是由两级地址结构中主机地址的若干位组成的,具体子网所占位数的多少,要根据子网的规模来决定,如果一个网络内的子网数较少,而子网内主机数较多,就应该把两级地址结构中主机地址的大部分位数分配给子网内的主机,少量位用来表示子网号。那么,究竟在一个IP地址中哪些位用来表示网络号,哪些位用来表示子网号,以及哪些位用来表示主机号呢?这就要使用子网掩码(subnet mask)来标识。,29,3.3IP地址,3.3.3 子网的划分2.子网掩码子网掩码用32位二进制数表示,常用点分十进制数格式来书写,掩码中用于标识网络号和子网号的位置为1,主机位为0。举例来说,一个C类地址取主机号的两位为子网号,则掩码为11111111.11111111.11111111.11000000(255.255.255.192),子网可以产生64个可能的主机地址,实际上只有62个地址是可用的,另外两个地址,一个用于识别子网自身,另一个用于子网的广播,因此得到子网内最大可用的主机数时总要减去2。如2位的子网号数学上的组合为00、01、10和11共四种,第一种和最后一种组合有特殊用处,只剩下01和10可用于识别子网,得到2个可用的子网地址。,30,3.3IP地址,3.3.4 特殊IP地址IP地址用来标识互联网中的主机,但少数IP地址有特殊用途,不能分配给主机,共有如下几种(以下用Netid表示网络号,用Hostid表示主机号)。1.网络地址(Netid=特定网络号,Hostid=0)在互联网中经常要使用某个网络的网络地址。在IP地址编码方案中,网络地址由一个有效的网络号和全“0”的主机地址组成。例如,某主机的IP地址为,它是一个A类地址,则该主机所在网络的地址为,某主机的IP地址为,它是一个B类地址,则主机所在网络的地址为。,31,3.3IP地址,3.3.4 特殊IP地址2.直接广播地址(Netid=特定网络号,Hostid=全1)当IP地址由一个有效的网络号和全“1”的主机地址组成时,这样的IP地址用于广播通信,即同时向指定网络中的所有主机发送数据报,叫直接广播(directed broadcasting),具有这种特点的IP地址叫直接广播地址。例如,当互联网中的一台主机如果使用为目标地址发送数据报时,则网络号为的网络中的所有主机都能收到该数据报。,32,3.3IP地址,3.3.4 特殊IP地址3.有限广播地址(Netid=全1,Hostid=全1)有限广播(limited broadcast)地址也称为本网广播地址,如果IP地址的32位二进制数全为“1”,这样的地址用于对本网广播通信。也就是说,如果一台主机发送的数据报,目标IP地址为255.255.255.255,则该数据报被送到本网中的每一台主机。4.本网特定主机地址(Netid=全0,Hostid=特定主机号)在本网内部主机之间通信时,可以用网络地址全为“0”的IP地址。这有两种情况:一是可能主机想进行本网内主机之间的通信,但又不知道本网的网络地址;二是为了简单起见,在本网络内通信时只给出目标主机的主机号。例如,某主机发送数据报时,目标IP地址为(B类地址),则表示该数据报要送到本网主机号为123.42的主机上。,33,3.3IP地址,3.3.4 特殊IP地址5.回送地址(Netid=127,Hostid=任意值)A类地址中网络地址为127的地址是一个保留地址,用于网络软件测试或本机进程间通信,发送到这种地址的数据报不输出到线路上,而是数据报被立即返回,又当作输入数据报,在本机内部进行处理,所以称为回送(look back)地址。在任何网络上不可能出现网络地址为127的数据报在传输,一般用来对本机协议的正确性进行测试。,34,3.3IP地址,3.3.4 特殊IP地址6.本网络本主机(Netid=全0,Hostid=全0)全“0”的IP地址表示本网络上的本主机。从上面可以看出,IP地址网络地址或主机地址中值“全0”和值“全1”有特别的含意,值“全0”表示本网络或本主机;值“全1”表示一个广播地址。如果用户网络不与互联网相连,从原理上来说,可以由用户自行分配IP地址,但最好还是使用互联网地址分配管理机构保留的私有IP地址,这些地址范围是:A类地址B类地址C类地址,35,3.4 Internet控制报文协议(ICMP),3.4.1 ICMP报文的封装与格式1.ICMP报文的封装ICMP报文和其它协议的报文一样,也由ICMP报文头区和数据区两部分组成。ICMP报文是封装在IP数据报中通过链路层在网络进行传输的。,36,3.4 Internet控制报文协议(ICMP),3.4.1 ICMP报文的封装与格式2.ICMP报文的格式ICMP报文的格式如图3-17所示,其中报文头分为三个部分:类型、代码和校验和。,37,3.4 Internet控制报文协议(ICMP),3.4.2 ICMP差错报文2.目标不可达ICMP报文目标不可达是指当一个路由器检测出一个IP数据报不能发往它的目的地时,路由器发出一个目标不可达的ICMP差错报文。3.IP数据报超时ICMP报文当IP数据报报头中生存时间TTL的值减为0时,路由器则抛弃该IP数据报,并且产生一个ICMP超时报文,向源主机报告超时错误。ICMP超时报文的格式与图3-18所示的ICMP不可达报文格式相同,类型字段取值为11,代码字段为0或为1。为0时表示IP数据报传输期间TTL超时,为1时表示分片重组时超时。4.参数错误ICMP报文当IP数据报在传输过程中发生数据报报头错误或数据报选项区缺少必要的参数时,路由器则抛弃该IP数据报,并且产生一个ICMP参数出错报文。类型字段为12,代码字段为0或1,为0时表示IP数据报报头错误,引起错误的字节用一个指针字段指出,,38,3.4 Internet控制报文协议(ICMP),3.4.3 ICMP控制报文1拥塞控制与源站抑制报文当一个路由器接收IP数据报的速度比其处理IP数据报的速度快,或一个路由器传入数据报的速率大于传出数据报的速率时,就会产生拥塞(congestion)现象。这时路由器可以通过发送源站抑制(source quench)报文来抑制源主机发送IP数据报的速率,避免可能产生的差错。当路由器发现拥塞时,发出ICMP源站抑制报文。源主机收到抑制报文后,按一定的速率降低发往目标主机的数据报传输率。如果在一定的时间间隔内源主机没有收到抑制报文,便认为拥塞已解除,源主机可以逐渐恢复到原来数据报的流量。,39,3.4 Internet控制报文协议(ICMP),3.4.3 ICMP控制报文2路由控制与重定向报文在主机启动后,一般通过默认的路由器把IP数据报发送出去,但不能保证是最优的路由,因为网络中的路由器或网络拓扑结构都可能随网络的调整而以生变化。ICMP重向定报文的格式如图3-21所示,它的类型字段为5,代码字段为03。路由器IP地址为源主机向目标主机发送IP数据报时的优化路由。,40,3.4 Internet控制报文协议(ICMP),3.4.4 ICMP请求与应答报文差错报文和控制报文都是送往源主机的单向报文,并且对源主机来说都是被动的接受。ICMP请求与应答报文可以由源主机主动发出请求报文,为了响应一个请求,ICMP软件需要发送一个ICMP应答报文。通过这种方法可以获得网络中某些有用的信息,以便进行故障诊断和网络控制。,41,3.5 IP数据报路由选择与路由协议,3.5.1 路由表网络层进行路由选择的依据是保存在路由器中的路由表。路由表保存了通过该路由器可能到达的目标网络以及如何到达该目标网络的信息。路由表中的基本表项包括目标网络地址、子网掩码以及到达目标网络的下一跳路由器地址。,42,3.5 IP数据报路由选择与路由协议,3.5.2 路由选择算法1路由器从收到的IP数据报中取出目标IP地址;2搜索路由表,寻找能与目的IP地址完全匹配的表目(网络号和主机号都要匹配)。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口,路由选择过程结束;如果找不到,则执行下一步操作;3搜索路由表,把目标IP地址与子网掩码逐位求“与”后,寻找能与目的网络号相匹配的表目。如果找到,则把报文发送给该表目指定的下一站路由器或直接连接的网络接口,路由选择过程结束;如果找不到,则执行下一步操作;4搜索路由表,寻找标为“默认(default)”的表目。如果找到,则把报文发送给该表目指定的下一站路由器;如果找不到,则本次选路失败,发送一个“目标不可达”的ICMP报文给源主机。,43,3.5 IP数据报路由选择与路由协议,3.5.3 路由表的建立与刷新1静态路由静态路由是由互联网网络管理员,根据网络的拓扑结构和连接方式人工建立的。静态路由的优点是可以使网络更安全,因为只有一条流进和流出网络的路径(除非定义多条静态路由);配置简单,系统开销少。静态路由的缺点是配置静态路由工作量大;当网络发生问题或拓扑结构发生变化时,网络管理员要对路由信息重新进行设置。另外,在静态路由配置完成后,由于去往某一目标网络的路径是固定的,如果该路径出现故障,即使有其它路径存在,目标网络也是不可达的。,44,3.5 IP数据报路由选择与路由协议,3.5.3 路由表的建立与刷新2动态路由动态路由指互联网中的路由器可以通过自身的学习,自动修改和刷新路由表。它是通过相邻路由器之间的通信,以告知对方每个路由器当前所连接的网络,收到路由信息的路由器就用这些信息对自己的路由进行更新。,45,3.5 IP数据报路由选择与路由协议,3.5.3 路由表的建立与刷新2动态路由路由守护程序在选择最佳路由时,是根据一定的选路策略(routing policy)来进行的。选路策略与线路的速度、带宽、延迟、可靠性、跳数(IP数据报到达目标站必须经过的路由器个数)等因素有关,每条线路的好坏用一个数字来表示,这个数字称为度量值(Metric),度量值小的线路。用户自治系统最常用的路由协议有两种:一种是基于距离-向量路由算法的路由信息协议RIP(Routing Information Protocol);另一种中是基于链路-状态路由算法的开放式最短路径优先OSPF(Open Shortest Path First)协议。,46,3.6 地址转换协议,3.6.1 ARP协议1.ARP报文格式在常用的以太中,ARP报文被封装成如图3-26所示的以太网数据帧,然后以广播方式发送到物理网络。,47,3.6 地址转换协议,3.6.1 ARP协议1.ARP报文格式ARP报文格式如图3-27所示,,48,3.6 地址转换协议,3.6.1 ARP协议1.ARP报文格式(1)硬件类型:硬件类型字段占2个字节,表示发送者硬件地址的类型。它的值为1即表示以太网地址。(2)协议类型:字段类型字段占2个字节,表示发送方要映射的协议地址类型,该字段的常用值见表3-10所示。协议地址为IP地址时,它的值为0 x0800。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同,(3)硬件地址长度和协议地址长度:各占一个1字节,分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。(4)操作代码:由于ARP和RARP在设计时的协议格式完全相同,只有该字段可以对它们进行区分。该字段指出四种操作报文类型:值为1时表示ARP请求报文,值为2时表示ARP应答报文,值为3时表示RARP请求报文,值为4时表示RARP应答报文。,49,3.6 地址转换协议,3.6.1 ARP协议1.ARP报文格式(5)发送方硬件地址和发送方协议地址:长度由硬件地址长度字段和协议地址长度字段指定。(6)目标方硬件地址和目标方协议地址:长度由硬件地址长度字段和协议地址长度字段指定。,50,3.6 地址转换协议,3.6.1 ARP协议2.ARP工作原理ARP工作时,首先由知道目标主机IP地址,但不知道目标主机物理地址的主机发出一份ARP请求报文,该报文中填有发送方硬件地址、发送方IP地址和目标方IP地址,操作代码为1,目标方硬件地址填的是广播地址(在以太网中为全1),所以该网络内的所有主机都可以收到该报文,其含意是“如果你是这个IP地址的拥有者,请回答你的硬件地址”。目的主机的ARP层收到这份广播报文后,识别出这是发送方在寻问它的IP地址,于是发送一个ARP应答报文。这个ARP应答报文包含它的IP地址及对应的硬件地址,操作代码为2,把原来发送方硬件地址和协议地址填入目标方硬件地址和协议地址位置,也就是说这时目标方变成了发送方,发送方变成了目标方。请求方收到ARP应答报文后,就可以使用目标方物理地址进行IP数据报的发送了。,51,3.6 地址转换协议,3.6.1 ARP协议3.ARP高速缓冲一台主机向另一台主机发送数据报后,可能不久还要发送,如果每发送一次数据报就进行一次ARP请求,那么ARP的工作效率很低。另外由于ARP请求是以广播方式发送的,因此频繁使用ARP会使造成网络拥挤,影响网络的正常工作。解决该问题的关键是使用了ARP高速缓冲技术。在网络中,每台主机上都有一个ARP高速缓存,这个高速缓存存放了最近IP地址到硬件地址之间的映射记录。高速缓冲区中表项建立的方法是:请求主机收到ARP应答后,主机就把获得的IP地址与物理地址的映射关系存入ARP表中。由于ARP请求报文是广播发送的,所有收到ARP请求报文的主机都以可把其中发送方的物理地址和IP地址映射存入自己的高速缓冲中,以备将来使用。网络中的主机在启动时,可以主动广播自己的IP地址和物理地址的映射关系,以免其它主机对它提出ARP请求(这也使一台主机在启动时,就可以知道自己的IP地址与网络中其它主机的IP地址有没有冲突)。,52,3.6 地址转换协议,3.6.1 ARP协议3.ARP高速缓冲使用了高速缓存后,要ARP解析一个IP地址时,它会首先搜索ARP 高速缓存查看是否有与该IP地址匹配的ARP表项,如果找到,ARP地址解析就完成了。假如ARP没找到一个匹配的IP地址,才会向网络上发送ARP请求报文。我们可以用arp命令来检查和修改ARP高速缓存中的表项。ARP高速缓冲中的表项一般分为动态表项和静态表项两种,动态表项有一定的生存时间,它随时间的推移自动添加和删除,静态表项在主机工作期间一直保留在高速缓冲中,除非用ARP命令删除它。,53,3.6 地址转换协议,3.6.2 RARP协议在对主机进行配置时,IP地址一般保存在本机的磁盘上,因此系统引导时从磁盘上的配置文件中读取本机的IP地址。但是对互联网中的无盘工作站或X终端等无法在本机保存IP地址的主机,如何获得IP地址呢?设计RARP就是为了解决这个问题。在互联网中一台主机的标识是IP地址,在一个局域网络中主机的标识是硬件地址,它保存在网络接口卡中,它可以惟一标识一个网络中的一台主机。无盘工作站在启动时,利用从网络接口卡上读取的硬件地址做标识,发送一个RARP请求报文,它和RAP正好相反,用来获取主机的IP地址。RARP请求报文在网络中也是广播发送的,询问“谁知道这个物理地址对应的IP地址”。通常在系统中设有专门用来响应RARP请求的RARP服务器,在RARP服务器中保存有本网络中主机的物理地址与IP地址的映射表,RARP规定只有RARP服务器能产生应答报文。许多网络指定了多个RARP服务器,这样做既是为了平衡负载也是为了出现问题时进行备份,但会出现多个RARP服务器同时回答一个RARP请求的现象,为此可以指定某个RARP服务器为主服务器,其它的为备份服务器,备份服务器在规定的时间内检测不到主服务器对RARP请求的响应时,才进行应答。,54,3.6 地址转换协议,3.6.2 RARP协议RARP报文的格式与ARP报文格式基本一致(见图3-27)。它们之间主要的差别是RARP请求或应答的帧类型代码为0 x8035,见表3-10所示,而且RARP请求的操作代码为3,应答操作代码为4。,