1、第4章 网络互连4.1网络层概述4.2网络服务模型4.3网际协议(IP)4.4路由选择协议及其算法4.5路由器工作原理路由器工作原理路由器工作原理路由器工作原理4.6移动移动IP技术技术4.7MPLS4.8IP多播多播4.9小结小结 网络互连(续)*4.4 路由选择协议及其算法 1 有关路由选择协议的几个基本概念 2 内部网关协议 RIP 3 内部网关协议 OSPF 4 外部网关协议 BGP 理想的路由算法n算法必须是正确的和完整的。n算法在计算上应简单。n算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。n算法应具有稳定性。n算法应是公平的。n算法应是最佳的。代价 n在研究路由选择
2、时,需要给每一条链路指明一定的代价(cost)。n这里“代价”并不是指“钱”,而是由一个或几个因素综合决定的一种度量(metric),如链路长度、数据率、链路容量、是否要保密、传播时延等,甚至还可以是一天中某一个小时内的通信量、结点的缓存被占用的程度、链路差错率等。最佳路由 n不存在一种绝对的最佳路由算法。n所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。n实际的路由选择算法,应尽可能接近于理想的算法。n路由选择是个非常复杂的问题n它是网络中的所有结点共同协调工作的结果。n路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。自适应性考虑分类n静态路由选择策略即非自适应
3、路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。n动态路由选择策略即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。分层次的路由选择协议n因特网采用分层次的路由选择协议。n因特网的规模非常大。如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。n许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。自治系统(autonomous system)n因特网将整个互联网划
4、分为许多较小的自治系统 AS。n一个自治系统是一个互联网,其最重要的特点就是自治系统有权自主地决定在本系统内应采用何种路由选择协议。n一个自治系统内的所有网络都属于一个行政单位(例如,一个公司,一所大学,政府的一个部门,等等)来管辖。n一个自治系统的所有路由器在本自治系统内都必须是连通的。因特网有两大类路由选择协议 n内部网关协议IGP(Interior Gateway Protocol)即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和 OSPF协议。n外部网关协议EGP(External Gateway Protocol)若源站和目的站处在不同的自治系统中,
5、当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。在外部网关协议中目前使用最多的是BGP-4。R1H1H2内部网关协议IGP(例如,RIP)自治系统 A自治系统 B自治系统 CIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPIGPEGPEGPEGP内部网关协议IGP(例如,OSPF)外部网关协议EGP(例如,BGP-4)IGPR3R2自治系统和内部网关协议、外部网关协议 这里要指出两点 n因特网的早期 RFC 文档中未使用“路由器”而是使用“网关”这一名词。但是在新的 RFC 文档中又使用了“路由器”这
6、一名词。应当把这两个属于当作同义词。nIGP 和 EGP 是协议类别的名称。但 RFC 在使用 EGP 这个名词时出现了一点混乱,因为最早的一个外部网关协议的协议名字正好也是 EGP。因此在遇到名词 EGP 时,应弄清它是指旧的协议 EGP 还是指外部网关协议 EGP 这个类别。因特网的路由选择协议 n内部网关协议 IGP:具体的协议有多种,如 RIP 和 OSPF 等。n外部网关协议 EGP:目前使用的协议就是 BGP。网络互连(续)*4.4 路由选择协议及其算法 1 有关路由选择协议的几个基本概念 2 内部网关协议 RIP 3 内部网关协议 OSPF 4 外部网关协议 BGP RIP(Ro
7、uting Information Protocol)1.工作原理n路由信息协议 RIP 是内部网关协议 IGP中最先得到广泛使用的协议。nRIP 是一种分布式的基于距离向量的路由选择协议。nRIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。“距离”的定义 n从一路由器到直接连接的网络的距离定义为 1。n从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。nRIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。“距离”的定义 nRIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”。nRIP
8、允许一条路径最多只能包含 15 个路由器。n“距离”的最大值为16 时即相当于不可达。可见 RIP 只适用于小型互联网。nRIP 不能在两个网络之间同时使用多条路由。RIP 选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。RIP 协议的三个要点 n仅和相邻路由器交换信息。n交换的信息是当前本路由器所知道的全部信息,即自己的路由表。n按固定的时间间隔交换路由信息,例如,每隔 30 秒。路由表的建立 n路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为 1)。n以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。n经过若
9、干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。nRIP 协议的收敛(convergence)过程较快,即在自治系统中所有的结点都得到正确的路由选择信息的过程。2.距离向量算法收到相邻路由器(其地址为 X)的一个 RIP 报文:(1)先修改此 RIP 报文中的所有项目:将“下一跳”字段中的地址都改为 X,并将所有的“距离”字段的值加 1。(2)对修改后的 RIP 报文中的每一个项目,重复以下步骤:若项目中的目的网络不在路由表中,则将该项目加到路由表中。否则 若下一跳字段给出的路由器地址是同样的,则将收到的项目替换原路由表中的项目。否则 若收到项目
10、中的距离小于路由表中的距离,则进行更新,否则,什么也不做。(3)若 3 分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16(距离为16 表示不可达)。(4)返回。路由器之间交换信息 nRIP协议让互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。n虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。1 1 2 1 3 1 FEDCBA5 1 6 1 2 1 5 1 3 1 4 1 4 1 6 1
11、1 1 5 1 一开始,各路由表只有到相邻路由器的信息网 3网 2网 4网 6网 5网 1“4”表示“从本路由器到网 4”“1”表示“距离是 1”“”表示“直接交付”1 1 2 1 3 1 FEDCBA5 1 6 1 2 1 5 1 3 1 4 1 4 1 6 1 1 1 5 1 路由器 B 收到相邻路由器 A 和 C 的路由表网 3网 2网 4网 6网 5网 11 1 2 1 3 1 4 1 6 1 1 2 A2 2 A3 1 4 1 6 2 C更新后A 说:“我到网 1 的距离是 1。”因此 B 现在也可以到网 1,距离是 2,经过 A。”1 1 2 1 3 1 FEDCBA5 1 6 1
12、 2 1 5 1 3 1 4 1 4 1 6 1 1 1 5 1 路由器 B 收到相邻路由器 A 和 C 的路由表网 3网 2网 4网 6网 5网 11 1 2 1 3 1 4 1 6 1 1 2 A2 2 A3 1 4 1 6 2 C更新后A 说:“我到网 2 的距离是 1。”因此 B 现在也可以到网 2,距离是 2,经过 A。”1 1 2 1 3 1 FEDCBA5 1 6 1 2 1 5 1 3 1 4 1 4 1 6 1 1 1 5 1 路由器 B 收到相邻路由器 A 和 C 的路由表网 3网 2网 4网 6网 5网 11 1 2 1 3 1 4 1 6 1 1 2 A2 2 A3 1
13、 4 1 6 2 C更新后A 说:“我到网 3 的距离是 1。”但 B 没有必要绕道经过路由器 A再到达网 3,因此这一项目不变。1 1 2 1 3 1 FEDCBA5 1 6 1 2 1 5 1 3 1 4 1 4 1 6 1 1 1 5 1 路由器 B 收到相邻路由器 A 和 C 的路由表网 3网 2网 4网 6网 5网 11 1 2 1 3 1 4 1 6 1 1 2 A2 2 A3 1 4 1 6 2 C更新后C 说:“我到网 4 的距离是 1。”但 B 没有必要绕道经过路由器 C再到达网 4,因此这一项目不变。1 1 2 1 3 1 FEDCBA5 1 6 1 2 1 5 1 3 1
14、 4 1 4 1 6 1 1 1 5 1 路由器 B 收到相邻路由器 A 和 C 的路由表网 3网 2网 4网 6网 5网 11 1 2 1 3 1 4 1 6 1 1 2 A2 2 A3 1 4 1 6 2 C更新后C 说:“我到网 6 的距离是 1。”因此 B 现在也可以到网 6,距离是 2,经过 C。”最终所有的路由器的路由表都更新了FEDCBA1 1 2 1 3 1 4 2 B5 2 E6 3 B1 1 2 2 A3 2 A4 3 A5 1 6 2 F1 2 E2 2 D3 3 C4 2 C5 1 6 1 1 3 B2 3 B3 2 B4 1 5 2 F6 1 网 2网 6网 5网 1
15、网 3网 41 2 A2 1 3 2 A4 3 A5 1 6 2 F1 2 A2 2 A3 1 4 1 5 3 C6 2 CRIP 协议的优缺点 nRIP 协议最大的优点就是实现简单,开销较小。nRIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。n路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。nRIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。R2R1网 1网 3网 2正常情况1 1 1 2 R1R1 说:“我到网 1 的距离是 1,是直接交付。”“1”表示“从本路由器到网 1”“1”表示
16、“距离是 1”“”表示“直接交付”R2R1网 1网 3网 2正常情况1 1 1 2 R1R2 说:“我到网 1 的距离是 2,是经过 R1。”“1”表示“从本路由器到网 1”“2”表示“距离是 2”“R1”表示经过 R1R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R1 说:“我到网 1 的距离是 16(表示无法到达),是直接交付。”但 R2 在收到 R1 的更新报文之前,还发送原来的报文,因为这时 R2 并不知道网1出了故障。R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R1 收到 R2 的更新报文后,误认为可经过 R2 到达网1,于是更新自己的路由表,说:“我到网 1 的距离是 3,下一跳经过 R2”。然后将此更新信息发送给 R2。1 3 R2R2R1网 1网 3网 2R2R1网 1网 3网 2网 1出了故障正常情况1 1 1 16 1 2 R11 2 R1R2 以后又更新自己的路由表为“1,4,R1”,表明“我到网 1 距离是 4,下一跳经过
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1