网关协议
Internet中的路由器称为IP网关。网关协议用于网关之间交换路由信息。
1.自治系统(IGP和EGP)
自治系统是由同构型的网关连接的互联网,这样的系统往往是由一个网络管理中心控制的。自治系统内部的网关之间执行内部网关协议(IGP
),互相交换路由信息。IGP是自治系统内部专用的,为特定的应用服务,在自治系统之外是无效的。
一个互联网也可能由不同的自治系统互联而成。在这种情况下,不同的自治系统可能采用不同的路由表和不同的路由选择算法。在不同自治系统中的网关之间交换路由信息,要用
外部网关协议(EGP
)。EGP比IGP传送的信息要少一些,因为EGP只涉及自治系统之间的路由信息,而与系统内部路由无关。EGP以自治系统为节点,通告各个网关可到达哪些系统。
2.外部网关协议(BGP)
自治系统之间使用EGP,最新的EGP叫做边界网关协议(BGP
)。BGP的主要功能是控制路由策略,如是否愿意转发过路的分组等。BGP的报文通过TCP连接传送。BGP报文可实现以下3个功能过程。
(1)建立邻居关系
。位于不同的自治系统中的两个路由器首先要建立邻居关系,然后才能周期性地交换路由信息。建立邻居关系地过程是:一个路由器发送open报文,另一个路由器若愿意接收请求,则以keepalive(保持活动状态)报文应答。
(2)邻居可达性。这个过程维护邻居关系地有效性。通过周期性地互相发送keepalive报文,双方都知道对方的活动状态。
(3)网络可达性。每个路由器保持一个数据库,记录着它可到达的所有子网。当情况有变化时,用更新报文把最新信息及时地广播给所有实现BGP地路由器。
3.内部网关协议(RIP、OSPF)
Internet的内部路由协议经过了几次大的变化。最初的RIP(路由选择信息协议)是基于Bellman-Ford算法的延迟矢量协议
。这个协议规模不大时工作得较好,当网络规模扩大后,因为交换的路由信息太多而显得效率很低。于是,在1979年5月被另一个路由协议——
基于Dijkstra算法的链接状态协议所取代。从1988年开始,IETF开始研制新的路由协议,这就是OSPF(开放最短路径优先
)协议。1990年,OSPF正式成为新的内部路由协议标准。
OSPF基本上仍是一种链路状态协议。OSPF的路由器维护一个本地链路状态表,并随时向其他相邻的路由器发送关于链路状态的更新信息。通过周期地扩散传播链路状态信息,每个路由器都记住了关于网络拓扑结构地全局数据库。同时OSPF路由器根据用户指定地链路费用标准(延迟、带宽或收费率等)计算最短通路,由到达各个目标地最短通路构成路由表,OSPF报文包含在原始地IP数据报中传送。
4.核心网关协议(GGP)
Internet中有一个主干网,所有地子系统都连接到主干网上。主干网中的网关叫核心网关。核心网关之间交换路由信息时使用网关到网关协议(GGP
)。这里需要区分EGP和GGP:EGP用于两个不同自治系统中的网关之间交换路由信息;而GGP是主干网中的网关协议
。因为主干网中的核心网关是由InterNOC(网络操作中心)直接控制的,所以GGP更具有专用性,当一个核心网关加入主干网时用GGP协议向邻机广播发送它所连接的网络的路由信息,各邻机更新路由表,并进一步传播新的路由信息。
GGP协议的报文分为4类。
(1)路由更新报文:发送路由信息。
(2)应答报文:对路由更新报文的应答,分肯定/否定两种。
(3)测试报文:测试相邻网关是否存在。
(4)网络接口状态报文:测试本地网络连接的状态。