http://www.2002china.com
必须区分严格,以便于使用自动选路算法。例如,一个自治系统属于某个公司,它可能不会选择这样的路由,把分组转发到与之直接相连的但属于另一个公司的某个自治系统。为了让自动选路算法能区分各个自治系统,各自治系统被赋予一个自治系统编号(autonomous system number),该编号由负责赋予Internet网络地址的集中式管理机构分发。当两个路由器交换网络可达信息时,报文中要携带该路由器代表的自治系统的编号。
对上述思想总结如下:
一个大型的TCP/IP互连网络有一个附加的结构来适应管理的界限:每个由一个机构管理的网络和路由器的集合称为一个自治系统。一个自治系统可自由地选择其内部的选路体系结构,但是必须收集其内部所有的网络的信息,并责成若干个路由器把这些可达信息送给其他的自治系统。由于Internet使用核心体系结构,每个与之相连的自治系统都要把可达信息送到Internet核心路由器。 1.7.4. 外部网关协议(EGP)
两个交换选路信息的路由器若分属两个自治系统,则被称为外部邻站(exterior neighbors),但它们若同属一个自治系统,则称为内部邻站(interior neighbors)。外部邻站使用的向其他自治系统通告可达信息的协议被称为外部网关协议EGP(Exterior Gateway Protocol),使用该协议的路由器被称为外部路由器(exterior router)。在Internet网中,EGP显得尤为重要,因为与之相连的自治系统使用它向核心系统通告可达信息。
图3.4显示了两个外部邻让使用EGP的情况。路由器R1收集了自治系统1中的网络信息,使用EGP把这些信息通告给路由器R2,与此同时,路由器R2也通告了自治系统2的信息。
EGP 自治系统1 自治系统2 R1 R2
3.4 对两个外部路由器R1和R2收集到所在的自治系
统中的网络信息后,使用EGP来通告这些信息的过程的概念性说明。正如其名字“外部”的含义那样,
外部路由器通常接近自治系统的外围边界
EGP有三大功能。第一个是它支持邻居获取(neighbor acquisition)机制,
http://www.2002china.com
http://www.2002china.com
即允许一个路由器请求另一个路由器同意交换可达信息。我们可以说,一个路由器获得了(acquire)一个EGP对等路由器(EGP peer)或一个EGP邻站(EGP neighbor)。EGP对等路由器仅在交换选路信息的意义上来说是邻站,而不论其地理位置是否邻近。第二,路由器持续地测试其EGP邻站是否能够响应。每三,EGP邻站周期性地传送选路更新报文(routing update message)来交换网络可达信息。
1.7.5. EGP报文首部
为了实现上述三个基本功能,EGP定义了下表所列的九种报文类型:
EGP报文类型 描 述
Acquisition Request(获取请求) 请求路由器成为邻站(对等路由器) Acquisition Confirm(获取证实) 对获取请求的肯定响应 Acquisition Refuse(获取拒绝) 对获取请求的否定响应 Cease Request(中止请求) 请求中止邻站关系
Cease Confirm(中止证实) 对中止请求的证实响应 Hello(你好) 请求邻站回答是否活跃 I Heard You(我听见你) 对Hello报文的回答 Poll Request(轮询请求) 请求更新网络的选路 Routing Update(选路更新) 网络可达信息 Error(差错) 对不正确报文的响应
所有的EGP报文都有固定的首都用于说明报文类型。图3.5给出了EGP首部的格式。
0 版本 校验和 序号 8 类型 16 代码 状态 自治系统编号 31 图3.5 所有EGP报文的固定首部
首部中的版本(VERSION)字段取整数值,指出该报文使用的EGP的版本号。接收方检测版本号以确认双方使用相同版本的协议。类型(TYPE)字段指出报文的类型,而代码(CODE)字段给出了子类型。状态(STATUS)字段包含了与本报文有关的状态信息。
EGP使用校验和字段来确认报文的正确到达。其算法与IP的校验和算法相同。它把整个EGP报文当做16比特整数的序列,使用各个整数的二进制反码和的二进制反码作为校验和。计算校验和之前把校验和(CHECKSUM)字段初始化为零,通过填充0来把报文长度变为16比特的整数倍。
http://www.2002china.com
http://www.2002china.com
自治系统号(AUTONOMOUS SYSTEM NUM)字段给出了表示发送该报文的路由器所在的自治系统的编号,而序号(SEQUENCE NUMBER)用于收发双方进行联系。路由器请求邻站时赋一个初始序号,以后每次发送报文时将序号增加。邻站回送最近收到的序号值,发送方便用这个回送值与发送时的值作一比较来确保报文的正确性。
1.7.6. EGP邻站获取报文
路由器通过发送邻站获取(neighbor acquisition)报文来和另一个路由器建立EGP通信。请注意,EGP并未规定选择邻站的原则和具体方式。我们认为应该由管理该路由器的机构而不是由协议软件来作出这个选择。
除了标准首部的序号字段之外,邻站获取报文还包括了一个初始时间间隔值,在每隔一段时间就去监测邻站是否在使用中(该时间间隔称为Hello间隔),报文中还包括了轮询间隔(polling interval),它用于控制路由更新的最高频率。发送方提供一个轮询间隔n,即告诉接收方每秒钟最多轮询n次。发送方最初可以随着时间动态地改变轮询间隔。此外,对等路由器所使用的轮询间隔可能是不对称的,可以允许某个对等路由器以更快的频率进行轮询。图3.6给出了邻站获取报文及其响应的格式。
0 版本 8 类型(3) 校验和 序号 轮询间隔 16 代码(0-4) 24 状态 自治系统编号 HELLO间隔 31 图3.6 EGP邻站获取报文的格式。首部以外的字段指定了协议使用的初始参数 下表给出了代码(CODE)字段与报文类型的对应关系:
代码 0 1 2 3 4
描 述
Acquisition Request(获取请求) Acquisition Confirm(获取证实) Acquisition Refuse(获取拒绝) Cease Request(中止请求) Cease Confirm(中止证实)
1.7.7. EGP邻站可达性报文
EGP有两种测试邻站是否活跃的方式。一种是主动方式,路由器周期性地发送轮询报文和Hello报文并等待邻站的回答。另一种是被动方式,路由器依靠其邻站向其发送Hello报文或轮询报文(被动地等待)。按照被动方式工作的路由器使用可达报文中的状态字段来判断其对等是否活跃,以及其对等是否知道它是活跃
http://www.2002china.com
http://www.2002china.com
的。通常一对邻站都采用主动方式对对等进行检测。
把邻站可达性的计算与路由信息的交换分离开来是十分重要的,它可以降低网络负载。由于网络选路信息并不像单个路由器的状态那样频频变化,所以没必要经常传输选路信息。因此,把这两种检测分开之后,可以以最小的计算负荷和通信负载去经常地检测邻站状态。图3.7显示了仅仅由EGP报文的标准首部构成的邻站可达性请求。
0 版本 序号 8 类型 (5) 校验和 16 代码 (0或) 31 状态 自治系统编号 图3.7 EGP邻站可达性请求报文的格式。代码字段取0
表示这是Hello请求报文,代码字段取1表示I Hear You回答报文
由于Hello报文和I Hear You报文都可能丢失,EGP就使用n中取k原则来判断对等路由器的状态是否从“正常”(up)转为“故障”(down)。理解该算法最好的方法,就是设想一个路由器连续地发送Hello报文并接收I Hear You报文,同时建立一个窗口记录最近n次报文的交互情况。当最近的n次交互中,必须至少发生k次故障之后,路由器才把邻站的状态置为故障,而一旦邻站宣布处于故障状态,那么必须至少要正常交互j次,才能宣布邻站状态为正常。协议标准建议的j和k的值包含这样的意思:在EGP宣布对等路由器为故障(正常)状态之前,应出现两个连续的报文丢失(收到)。
引入j和k带来的迟滞现象对EGP的整体性能有重大影响。和其他选路算法一样,EGP不应传播不必要的路由变更信息。原因很简单:路由器把这个变更传播到等路由器后,变化并不会停止。而对等路由器会把这个变更传播给其他路由器。当EGP对等使用矢量距离算法来传播更新的路由信息时,尽量减少迅速改变的路由变化就显得特别重要,这是因为这种持续变化会使矢量距离算法变得不稳定。因此,如外部路由器在每次报文丢失的情况下就发出可达信息发生变化的报知,那么就会使选路系统处于持续的变迁之中。 1.7.8. EGP轮询请求报文
路由器使用EGP轮询请求(poll request)和轮询响应(poll request)报文获得网络可达信息。图3.8给出了报文的格式。IP源网络(IP SOURCE NE TWORK)字段说明了一个与这两个路由器都相连的网络,并且这个网络是两个自治系统所共有的。而响应报文含有一些路由,其距离是以这个指定的IP源网络上的路由器为参照来计算的。
0
8
16
24
31
http://www.2002china.com
http://www.2002china.com
版本 类型(2) 校验和 序号 IP源网络 图3.8 EGP轮询报文格式。代码为0表示
Hello请求报文,代码为1表示I Hear You回答报文
要想理解为什么EGP使用轮询请求来指定源网络,这可能有点困难。之所以这样作有两个原因。首先我们知道,路由器可以与两个或更多的物理网络相连。如果运行在该路由器上的应用软件使用EGP,那么这个应用软件可能并不知道EGP请求报文会到达哪个网络接口。因此,它也就不知道这个请求报文是发给哪个网络的。其次,运行EGP的路由器经常要收集整个自治系统的信息。在传播网络可达信息时,外部路由器向邻站发送一个序偶集合,每个序偶指出在自治系统内的一个目的网络以及到达该网络所要路经的路由器。显然,到达目的网络所要经过的路由器,取决于进入自治系统的通信流量。在轮询请求报文中提到的源网络指定了分组进入自治系统的入口。图3.9给出了使用基于自治系统之间共有的网络来传播网络可达信息的示意图。
代码(0或1) 保留 状态 自治系统编号 EGP使用的 共有的网络 G1 G2 图3.9 两个自治系统中的路由器使用EGP进行网络可达信息的
通信。可到达性报文指出了两个所共有的网络上的路由器,
以及通过这些路由器所能到达的目的站
1.7.9. EGP选路更新报文
外部路由器发送选路更新报文,将可达网络的信息传送给它的EGP邻站。通常,外部路由器收集这些信息,并使它们能被其他自治系统中的路由器使用。在原理上,运行EGP的路由器可以向其对等路由器报告两类可达信息。第一种是由该路由器所在的自治系统中所有目的网络构成的。第二种是由该路由器所知道的、位于其自治系统之外的目的网络构成的。
http://www.2002china.com
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库动态路由协议工作原理介绍(7)在线全文阅读。
相关推荐: