计算机网络原理外部网关协议EGP
两个交换路由选择信息的路由器若分别属于两个自治系统,则被称为外部邻站(Exterior Neighbors),但它们若同属于一个自治系统,则称为内部邻站(Interior Neighbors)。外部邻站使用的向其他自治系统通告可达信息的协议被称为外部网关协议EGP(Exterior Gateway Protocol),使用该协议的路由器被称为外部路由器(Exterior Router)。在Internet网中,EGP 显得尤为重要,因为与之相连的自治系统使用它向核心系统通告可达信息。
EGP有3个基本功能:
●它支持邻居获取(neighbor acquisition)机制,即允许一个路由器请求另一个路由
器同意交换可达信息。我们可以说,一个路由器获得了(acquire)一个EGP对等
路由器(EGP peer)或一个EGP邻站(EGP neighbor)。EGP对等路由器仅在交换选
路信息的意义上来说是邻站,而不论其地理位置是否邻近。
●路由器持续地测试其EGP邻站是否能够响应。
●EGP邻站周期性地传送选路更新报文(Routing Update Message)来交换网络可达信
息。
为了实现上述3个基本功能,EGP定义了以下几种报文类型,如表6-3所示。
所有的EGP报文都有固定的报头用于说明报文类型。EGP报头的格式如图6-14所示。
081631
图6-14 EGP报头格式
报头中的版本(VERSION)字段取整数值,指出该报文使用的EGP的版本号。接收方检测版本号以确认双方使用相同版本的协议。类型(TYPE)字段指出报文的类型,而代码(CODE)字段给出了子类型。状态(STATUS)字段包含了与本报文有关的状态信息。EGP使用校验和字段来确认报文的正确到达。自治系统号(AUTONOMOUS SYSTEM NUM)字段给出了表示发送该报文的路由器所在的自治系统的编号,而序号(SEQUENCE NUMBER)用于收发双方进行联系。路由器请求邻站时赋值一个初始序号,以后每次发送报文时将序号增加。邻站回送最近收到的序号值,发送方便用这个回送值与发送时的值作一比较来确保报文的正确性。
路由器通过发送邻站获取(Neighbor Acquisition )报文来和另一个路由器建立EGP通
信。但EGP 并未规定选择邻站的原则和具体方式。我们一般认为应该由管理该路由器的机构而不是由协议软件来作出这个选择。EGP 邻站获取报文格式如图6-15所示。
81631图6-15 EGP 邻站获取报文格式
EGP 有两种测试邻站是否活跃的方式。一种是主动方式,路由器周期性地发送轮询报文和Hello 报文并等待邻站的响应。另一种是被动方式,路由器依靠邻站向其发送Hello 报文或轮询报文(被动地等待)。按照被动方式工作的路由器使用可达报文中的状态字段信息来判断邻站是否活跃,
以及邻站是否知道它是活跃的。EGP 邻站可达性请求报文格式如图6-16所示。
81631图6-16 EGP 邻站可达性请求报文格式
路由器使用EGP 轮询请求(Poll Request )和轮询响应(Poll Request )报文获得网络可达信息。EGP 轮询报文格式化如图6-17所示。IP 源网络(IP SOURCE NETWORK )字段说明了一个与这两个路由器都相连的网络,并且这个网络是两个自治系统所共有的。这种在两个自治系统中的路由器使用EGP 交换网络可达信息,如图6-18所示。
8163124
图6-17 EGP 轮询报文格式
图6-18 使用EGP 进行网络可达信息通信
外部路由器发送路由更新报文,将可达网络的信息传送给它的EGP 邻站。通常,外部路由器收集这些信息,并使它们能被其他自治系统中的路由器使用。在原理上,运行EGP 的路由器可以向其对等路由器报告两类可达信息。第一种是由该路由器所在的自治系统中所有目的网络构成的。第二种是由该路由器所知道的、位于其自治系统之外的目的网络构成的。EGP 不允许一个任意的路由器通知给任意一个目的网络,它对路由器通知的网络信息有一个严格的限制,通知的信息仅限于该路由器所在的自治系统内部的目的网络。即EGP 限制一个(非核心)路由器仅仅通知那些完全可以从该自治系统内部到达的网络。EGP 路由更新报文格式如图6-19所示。
8163124
图6-19 EGP 路由更新报文格式