计算机网络与通信课件(第五版)4 网络层(下)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章网络层(下)计算机网络与通信4.5因特网的路由选择协议4.5.1有关路由选择协议的几个基本概念4.5.2内部网关协议RIP4.5.3内部网关协议OSPF4.5.4外部网关协议BGP4.5.5路由器的构成4.5.6路由器的构成4.6IP多播4.6.1IP多播的基本概念4.6.2在局域网上进行硬件多播4.6.3因特网组管理协议IGMP和多播路由选择协议4.7虚拟专用网VPN和网络地址转换NAT4.7.1虚拟专用网VPN4.7.2网络地址转换NAT注:4.1节、4.2节(部分)在第四章网络层(上)讲解4.2节(部分)、4.3节、4.4节在第四章网络层(中)讲解4.5因特网的路由选择协议4.5.1有关路由选择协议的几个基本概念1.理想的路由算法算法必须是正确的和完整的。算法在计算上应简单。算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。算法应具有稳定性。算法应是公平的。算法应是最佳的。关于“最佳路由”不存在一种绝对的最佳路由算法。所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。实际的路由选择算法,应尽可能接近于理想的算法。路由选择是个非常复杂的问题它是网络中的所有结点共同协调工作的结果。路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。从路由算法的自适应性考虑静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。2.分层次的路由选择协议因特网采用分层次的路由选择协议。因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。自治系统AS(AutonomousSystem)•自治系统AS的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。•现在对自治系统AS的定义是强调下面的事实:尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。因特网有两大类路由选择协议内部网关协议IGP(InteriorGatewayProtocol)即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和OSPF协议。外部网关协议EGP(ExternalGatewayProtocol)若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用最多的是BGP-4。自治系统和内部网关协议、外部网关协议用内部网关协议(例如,RIP)自治系统B自治系统A用外部网关协议(例如,BGP-4)R1R2用内部网关协议(例如,OSPF)自治系统之间的路由选择也叫做域间路由选择(interdomainrouting),在自治系统内部的路由选择叫做域内路由选择(intradomainrouting)这里要指出两点因特网的早期RFC文档中未使用“路由器”而是使用“网关”这一名词。但是在新的RFC文档中又使用了“路由器”这一名词。应当把这两个属于当作同义词。IGP和EGP是协议类别的名称。但RFC在使用EGP这个名词时出现了一点混乱,因为最早的一个外部网关协议的协议名字正好也是EGP。因此在遇到名词EGP时,应弄清它是指旧的协议EGP还是指外部网关协议EGP这个类别。因特网的路由选择协议内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。外部网关协议EGP:目前使用的协议就是BGP。4.5.2内部网关协议RIP(RoutingInformationProtocol)1.工作原理路由信息协议RIP是内部网关协议IGP中最先得到广泛使用的协议。RIP是一种分布式的基于距离向量的路由选择协议。RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。“距离”的定义从一路由器到直接连接的网络的距离定义为1。从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1。RIP协议中的“距离”也称为“跳数”(hopcount),因为每经过一个路由器,跳数就加1。这里的“距离”实际上指的是“最短距离”,“距离”的定义RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”。RIP允许一条路径最多只能包含15个路由器。“距离”的最大值为16时即相当于不可达。可见RIP只适用于小型互联网。RIP不能在两个网络之间同时使用多条路由。RIP选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。RIP协议的三个要点仅和相邻路由器交换信息。交换的信息是当前本路由器所知道的全部信息,即自己的路由表。按固定的时间间隔交换路由信息,例如,每隔30秒。路由表的建立路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。RIP协议的收敛(convergence)过程较快,即在自治系统中所有的结点都得到正确的路由选择信息的过程。2.距离向量算法收到相邻路由器(其地址为X)的一个RIP报文:(1)先修改此RIP报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。(2)对修改后的RIP报文中的每一个项目,重复以下步骤:若项目中的目的网络不在路由表中,则把该项目加到路由表中。否则若下一跳字段给出的路由器地址是同样的,则把收到的项目替换原路由表中的项目。否则若收到项目中的距离小于路由表中的距离,则进行更新,否则,什么也不做。(3)若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。(4)返回。路由器之间交换信息RIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。4字节RIP报文3.RIP2协议的报文格式路由信息(20字节/路由)可重复出现最多25个IP数据报路由标记网络地址地址族标识符距离(1-16)IP首部UDP首部首部路由部分必为0版本命令4字节子网掩码下一跳路由器地址UDP用户数据报RIP2的报文由首部和路由部分组成。RIP2报文中的路由部分由若干个路由信息组成。每个路由信息需要用20个字节。地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。路由标记填入自治系统的号码,这是考虑使RIP有可能收到本自治系统以外的路由选择信息。再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离。RIP协议的优缺点RIP存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。RIP协议最大的优点就是实现简单,开销较小。RIP限制了网络的规模,它能使用的最大距离为15(16表示不可达)。路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。R2R1网1网3网2正常情况1112R1R1说:“我到网1的距离是1,是直接交付。”“1”表示“从本路由器到网1”“1”表示“距离是1”“”表示“直接交付”R2R1网1网3网2正常情况1112R1R2说:“我到网1的距离是2,是经过R1。”“1”表示“从本路由器到网1”“2”表示“距离是2”“R1”表示经过R1R2R1网1网3网2R2R1网1网3网2网1出了故障正常情况1111612R112R1R1说:“我到网1的距离是16(表示无法到达),是直接交付。”但R2在收到R1的更新报文之前,还发送原来的报文,因为这时R2并不知道R1出了故障。R2R1网1网3网2R2R1网1网3网2网1出了故障正常情况1111612R112R1R1收到R2的更新报文后,误认为可经过R2到达网1,于是更新自己的路由表,说:“我到网1的距离是3,下一跳经过R2”。然后将此更新信息发送给R2。13R2R2R1网1网3网2R2R1网1网3网2网1出了故障正常情况1111612R112R1R2以后又更新自己的路由表为“1,4,R1”,表明“我到网1距离是4,下一跳经过R1”。13R214R1R2R1网1网3网2R2R1网1网3网2网1出了故障正常情况11…11613R215R2116R212R112R114R1116R1…这样不断更新下去,直到R1和R2到网1的距离都增大到16时,R1和R2才知道网1是不可达的。这就是好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是RIP的一个主要缺点。4.5.3内部网关协议OSPF(OpenShortestPathFirst)1.OSPF协议的基本特点“开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的。“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPFOSPF只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。是分布式的链路状态协议。三个要点向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。链路状态数据库(link-statedatabase)由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得快是其重要优点。OSPF的区域(area)为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫作区域。每一个区域都有一个32位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200个。自治系统ASOSPF划分为两种不同的区域区域0.0.0.1区域0.0.0.3主干区域0.0.0.0至其他自治系统R9R7R6R5R4R3R2R1网8网6网3网2网1网7区域0.0.0.2网4网5R8划分区域划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。OSPF使用层次结构的区域划分。在上层的区域叫作主干区域(backbonearea)。主干区域的标识符规定为0.0.0.0。主干区域的作用是用来连通其他在下层的区域。自治系统AS主干路由器区域0.0.0.1区域0.0.0.3主干区域0.0.0.0至其他自治系统R9R7R6R5R4R3R2R1网8网6网3网2网1网7区域0.0.0.2网4网5R8自治系统AS区域边界路由器区域0.0.0.1区域0.0.0.3主干

1 / 93
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功