这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 通讯及无线技术 » Internet路由技术及相关协议

共1条 1/1 1 跳转至

Internet路由技术及相关协议

菜鸟
2003-05-22 19:03:44     打赏
国家数字交换系统工程技术研究中心 周文辉 丁利剑 唐健 摘 要:首先对路由技术的发展和要求进行了介绍,接着讨论了两种主要的路由算法,最后主要对RIP、OSPF和BGP路由协议进行了介绍。 关键词:Internet 路由 RIP OSPF BGP 所谓路由技术,简单而言就是采用一种或多种策略,为数据分组从源地址到目的地址的转发选择一条或几条理想的路径。路由技术是通过在路由设备(如路由器等)上运行路由协议来实现的。通过路由器相互间的通信,每个路由器都建立一个路由表,存放网络的路由转发信息。当路由器转发数据分组时,首先根据数据分组的目的地址查找路由表表项,然后按表项中提供的相应下一站的地址对该数据分组进行转发。 路由技术是计算机和通信技术相结合的产物,它随着网络的迅速发展而发展。在各种网络中,Internet的发展对路由技术的革新起到了关键的作用。在Internet发展的初期,它是以ARPANET为核心的核心系统结构,其他网络通过核心路由器与ARPANET主干网相连。当时的路由协议比较单一,功能也比较简单,比较典型的路由协议有RIP-1和EGP。但随着网络数量的增长,仍然要求其他网络与核心系统相连,这既不现实也不可能。于是非核心系统体系结构应运而生,并引入了AS(自治系统,Autonomous system)概念。这种非核心系统体系结构将整个Internet划分为许多AS,每个AS由不同的机构运营管理,在其内部使用自己的路由协议,并且可以独立于其他AS所选用的路由协议,随之产生了RIP-2,OSPF和BGP4为代表的一批路由协议。 路由技术发展到现在,很好地实现了异种网络之间互连的目的。以TCP/IP协议簇为基础,几乎可以进行任何异种网络间的互连。相对于RIP-1,EGP等早期路由协议,以RIP-2,OSPF和BGP4为代表的路由协议在安全性、灵活性、稳定性和可扩展性等方面有了极大的改善。 1 现代路由技术的要求 随着Internet的发展,新业务不断出现,网络数量和规模不断增长,给路由技术提出了新的要求。 1.1 路由技术和交换技术相互结合 在过去的20多年中,路由技术和交换技术都得到了充分的发展。但随着网络流量的高速增长,路由器的处理速度低下以及交换机无法适应众多新业务等问题也日益暴露出来。在这种情况下,多种多层交换技术被提出。但无论是Cisco的标签交换,还是NOKIA/Ipsilon的IP switch技术,其基本实现方法均是将IP层的智能路由能力与第二层的快速交换能力融合在一起。无论采用哪一种交换技术,都离不开路由技术,离不开现有的路由协议,只是与第二层交换功能结合得更为紧密。 1.2 支持CIDR(无类域间路由) 目前的IP地址总长度为32bit,总共能提供210万个网络号,37亿个主机地址。但随着Internet的迅猛发展,局域网数量和主机数量急剧增长,地址耗尽问题迫在眉睫。同时随着网络数量的增长,路由表表项增长过快。因为从路由器的观点来看,IP地址空间是一个由网络号和主机号组成的两级结构,路由表中不必包含所有主机的地址信息,但必须知道所有的网络。如果有50万个C类网络地址,则Internet上的每个主干路由器都要保存一个有50万个表项的路由列表,这将导致与路由表管理相关的算法复杂度会超线性地增长。而CIDR以可变长分块的方式分配所剩的C类网络地址,将几个连续的C类网络地址压缩为一个表项,这可以缓解一下地址耗尽和路由表表项增长过快问题的解决,也就要求路由协议支持CIDR方案。 1.3 支持组播传送 通过Internet向小组内的每个成员发送消息的事件时有发生,尤其在多媒体应用方面。如果组的规模较小,它可以通过点到点的方式向其他成员发送消息;如果组太大,这种策略会造成带宽的极大浪费。组播(点到多点)方式仅在必要的时候才复制数据分组,这使网络负载大大减少。另一方面,采用支持组播的路由协议还需允许进行资源发现。为了支持组播传送能力,需要开发相应的路由算法和路由协议。 1.4 网络攻击给路由安全提出了要求 最初的计算机网络应用范围狭小,主要是针对科研人员和公司职员而言,所以在安全性问题上并未给予足够的重视。随着越来越多的用户开始通过网络办理各项业务,路由信息被攻击和篡改事件屡见不鲜,路由的安全性已成为一个不容忽视的大问题。这就要求路由协议支持一定的安全机制,如数字签名和MD5等。 2 路由算法 路由算法形式多样,得到广泛应用的有两种:距离向量算法和链路状态算法。目前大多数路由协议都是基于这两种路由算法之一。 2.1 距离向量算法(distance vector algorithm) 距离向量算法是基于下面的计算公式: D(i,i) = 0 D(i,j) = min [d(i,k)+D(k,j)] 其中,D(i,j)表示从节点(节点为网络或路由器)i到节点j的最短路径,d(i,k)表示从节点i到k的直接路径,也就是说节点i和k之间没有中介节点。具体运算步骤如下: (1) 所有的路由器建有一个路由表,使系统中的所有目的地址都出现在表中。每一表项内容包括目的地址和下一站地址,记为元组(N,G)。 (2) 路由器周期性地向邻居发送更新分组,更新分组的内容为路由表中的所有信息。 (3) 邻居路由器接收处理更新分组。 设更新分组来自G’,根据更新分组计算到目的地址N的路由开销为D’,如果D’<D,采用新的路由(N,G’)。如果当前路由表中所存放的相应下一站地址为G’,也就是G’ =G,采用新的路由,不管D’是大或小。 2.2 链路状态算法(link state algorithm) 链路状态算法,或者称为SPF(Shortest-Path First)算法,其思路可以分为以下4个部分来描述: (1) 发现该路由器的邻居,获取它们的网络地址,建立相邻关系,并测量到每个相邻路由器的开销或延迟。建立相邻关系是通过发送Hello分组来实现的。 (2) 将用于交换的信息收集起来,构造包含这些信息的链路状态分组。创建链路状态分组的时机分两种,一种为定期创建,另一种就是当有事件发生时创建。 (3) 通过flood(扩散)算法,向所有的其他路由器发送该分组。如何可靠地发布链路状态分组在链路状态路由选择算法中占相当大的比重,链路状态算法实现的好坏在一定程度上取决于flood算法的优劣。 (4) 根据收集到的链路状态信息,通过Dijkstra算法,计算本路由器到全网其他路由器或网络的最短距离。 3 路由协议 路由协议作为TCP/IP协议簇中重要成员之一,其选路过程实现的好坏会影响整个Internet网络的效率。按应用范围的不同,路由协议可分为两类:在一个AS内的路由协议称为内部网关协议(interior gate-way protocol),AS之间的路由协议称为外部网关协议(exterior gateway prot ocol)。这里网关是路由器的旧称。 现在正在使用的内部网关路由协议有以下几种:RIP-1,RIP-2,IGRP,EIGRP,IS-IS和OSPF。其中前4种路由协议采用的是距离向量算法,IS-IS和OSPF采用的是链路状态算法。对于小型网络,采用基于距离向量算法的路由协议易于配置和管理,且应用较为广泛。但在面对大型网络时,不但其固有的环路问题变得更难解决,所占用的带宽也迅速增长,以至于网络无法承受。对于大型网络,采用链路状态算法的IS-IS和OSPF较为有效,并且得到了广泛的应用。IS-IS与OSPF在质量和性能上的差别并不大,但OSPF更适用于IP,较IS-IS更具有活力。IETF始终在致力于OSPF的改进工作,其修改节奏要比IS-IS快得多。这使得OSPF正在成为应用广泛的一种路由协议。现在不论是传统的路由器设计,还是即将成为标准的MPLS(多协议标记交换),均将OSPF视为必不可少的路由协议。 外部网关协议最初采用的是EGP。EGP是为一个简单的树形拓扑结构设计的。随着越来越多的用户和网络加入Internet,给EGP带来了很多的局限性。为了摆脱EGP的局限性,IETF边界网关协议工作组制定了标准的边界网关协议——BGP。 下面对使用广泛且很有活力的RIP,OSPF和BGP进行介绍。 3.1 RIP协议 RIP是路由信息协议(Routing Information Protocol)的缩写,采用距离向量算法,是当今应用最为广泛的内部网关协议。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和相应分组。 RIP-1被提出较早,其中有许多缺陷。为了改善RIP-1的不足,在RFC1388中提出了改进的RIP-2,并在RFC 1723和RFC 2453中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。 随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了分割范围方法,即路由器不可以通过它得知路由的接口去宣告路由。分割范围解决了两个路由器之间的路由环路问题,但不能防止3个或多个路由器形成路由环路。触发更新是解决环路问题的另一方法,它要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数路径不能超过15,这使得RIP协议不适于大型网络。 3.2 OSPF协议 为了解决RIP协议的缺陷,1988年RFC成立了OSPF工作组,开始着手于OSPF的研究与制定,并于1998年4月在RFC 2328中OSPF协议第二版(OSPFv2)以标准形式出现。OSPF全称为开放式最短路径优先协议(Open Shortest-Path First),OSPF中的O意味着OSPF标准是对公共开放的,而不是封闭的专有路由方案。 OSPF采用链路状态协议算法,每个路由器维护一个相同的链路状态数据库,保存整个AS的拓扑结构(AS不划分情况下)。一旦每个路由器有了完整的链路状态数据库,该路由器就可以自己为根,构造最短路径树,然后再根据最短路径构造路由表。对于大型的网络,为了进一步减少路由协议通信流量,利于管理和计算,OSPF将整个AS划分为若干个区域,区域内的路由器维护一个相同的链路状态数据库,保存该区域的拓扑结构。OSPF路由器相互间交换信息,但交换的信息不是路由,而是链路状态。OSPF定义了5种分组:Hello分组用于建立和维护连接;数据库描述分组初始化路由器的网络拓扑数据库。当发现数据库中的某部分信息已经过时后,路由器发送链路状态请求分组,请求邻站提供更新信息;路由器使用链路状态更新分组来主动扩散自己的链路状态数据库或对链路状态请求分组进行响应;由于OSPF直接运行在IP层,协议本身要提供确认机制,链路状态应答分组是对链路状态更新分组进行确认。 相对于其他协议,OSPF有许多优点。OSPF支持各种不同鉴别机制(如简单口令验证,MD5加密验证等),并且允许各个系统或区域采用互不相同的鉴别机制;提供负载均衡功能,如果计算出到某个目的站有若干条费用相同的路由,OSPF路由器会把通信流量均匀地分配给这几条路由,沿这几条路由把该分组发送出去;在一个自治系统内可划分出若干个区域,每个区域根据自己的拓扑结构计算最短路径,这减少了OSPF路由实现的工作量;OSPF属动态的自适应协议,对于网络的拓扑结构变化可以迅速地做出反应,进行相应调整,提供短的收敛期,使路由表尽快稳定化,并且与其他路由协议相比,OSPF在对网络拓扑变化的处理过程中仅需要最少的通信流量;OSPF提供点到多点接口,支持CIDR(无类型域间路由)地址。 OSPF的不足之处就是协议本身庞大复杂,实现起来较RIP困难。 3.3 BGP协议 RFC1771对BGP的最新版本BGP-4进行了详尽的介绍。BGP用来在AS之间实现网络可达信息的交换,整个交换过程要求建立在可靠的传输连接基础上来实现。这样做有许多优点,BGP可以将所有的差错控制功能交给传输协议来处理,而其本身就变得简单多了。BGP使用TCP作为其传输协议,缺省端口号为179。 与EGP相比,BGP有许多不同之处,其最重要的革新就是其采用路径向量的概念和对CIDR技术的支持。路径向量中记录了路由所经路径上所有AS的列表,这样可以有效地检测并避免复杂拓扑结构中可能出现的环路问题;对CIDR的支持,减少了路由表项,从而加快了选路速度,也减少了路由器间所要交换的路由信息。另外,BGP一旦与其他BGP路由器建立对等关系,其仅在最初的初始化过程中交换整个路由表,此后只有当自身路由表发生改变时,BGP才会产生更新报文发送给其他路由器,且该报文中仅包含那些发生改变的路由,这样不但减少了路由器的计算量,而且节省了BGP所占带宽。 BGP有4种分组类型:打开分组用来建立连接;更新分组用来通告可达路由和撤销无效路由;周期性地发送存活分组,以确保连接的有效性;当检测到一个差错时,发送通告分组。 4 未来发展 (1)IPv6 尽管采用CIDR技术缓解了IPv4所面临的问题,但IPv4的诸多弊端是它自身所不能解决的。为了摆脱IPv4所固有的症结,需要采用新版本的网络协议——IPv6。下个世纪初IPv6将逐步地取代IPv4,而这将带来一系列问题。当前的路由协议均是面向IPv4,这就需要开发新的路由协议。RFC2080中描述了面向IPv6的RIP——RIPng,该协议在RIP-1和RIP-2基础上做了较小的改动,使之适用于IPv6的环境。对于面向IPv6的OSPF,只是以草稿(draft)的形式出现在RFC中,还未列入RFC标准。 (2)增强组播路由 支持组播的算法主要有扩散式(flood)、生成树(spanning tree)、反向路径转发(reverse-path for-warding)、steiner树、修剪反向路径广播(Truncated Reverse Path Broadcasting)和有核树(core-based trees)。支持组播的路由协议主要有DVMRP,MOSPF和PIM。DVMRP是距离向量组播路由协议的缩写,它源于RIP,在RFC1057中有详尽的描述;RFC1584中描述了支持组播路由的MOSPF,它在OSPF链路状态数据库的帮助下建立自己的组播传送树;PIM(协议无关组播)是由IDMR(域间组播路由)工作组提出,RFC2117中提出了PIM的稀疏形式。支持组播的MBONE(组播主干网)实验网于1992年开通,并在随后的几年得到了迅速发展。 (3)可移动IP 随着可移动计算机和可移动网络的出现,移动用户在不断地增长。同时这也带来了一个有挑战性的课题:考虑可移动IP。为此,IETF专门成立了移动IP小组,处理可移动IP的相关问题。可移动IP路由需考虑以下问题:一个移动的主机必须能持续通信,并使用同一IP地址;一个移动的主机应该能与现有的其它主机和路由器相互协作;考虑移动主机的安全性问题;支持移动主机的组播处理能力。到现在,有关移动IP的解决方案多以草稿的形式出现在RFC中。随着移动用户的增加,有关移动IP方面的研究将会越广泛。



关键词: Internet     路由     技术     相关     协议     交换         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]