TCP/IP 详解卷一 - 路由协议

        本章没有记录TCP/IP 详解上的路由协议,而是记录了图解TCP/IP 一书中的路由协议。

IP地址与路由控制

        在互联网中,网络结构是相当复杂的(存在复杂的局域网或广域网),若想要将数据包从一个主机成功发送到目的主机,则需要合理的路由将数据转发最终发送到目的主机。而要使路由能够正确的工作,需要路由控制模块和相关的路由协议来支持路由的工作。

路由控制

        互联网是由路由器连接的网络组合而成,为了能让数据包正确到达目的主机,路由器必须能够正确的转发数据包,对数据包的转发处理需要路由控制来进行。路由器根据路由控制表来转发数据包,它根据接收到数据包中目的主机的 IP 地址与路由控制表比较得出下一个应该接收数据包的路由器。因此,路由控制表应该正确记录信息。

        路由控制可分为:静态路由和动态路由;静态路由是指由管理员事先手动设置好路由器和主机中并将路由信息固定的一种方法;动态路由是指让路由协议在运行过程中自动设置路由控制信息的一种方法;


       使用动态路由的情况下,管理员必须设置好路由协议,其设定过程的复杂程度与具体要设置路由协议的类型有直接关系。例如在RIP的情况下,基本上无需过多的设置。而根据OSPF进行较详细路由控制时,设置工作将会非常繁琐。如果有一个新的网络被追加到原有的网络中时,只要在新增加网络的路由器上进行一个路由的设置即可。而不需要像静态路由那样,不得不在其他所有路由器上进行修改。对于路由器个数较多的网络,采用动态路由显然是一个能够减轻管理员负担的方法。

       不论是静态路由还是动态路由,不要只使用其中的一种,可以将它们组合起来使用。

动态路由的基础

       动态路由如下图所示,会给相邻路由器发送自己已知的网络连接信息,而这些信息又像接力一样一次传递给其他路由器,直至整个网络都了解时,路由控制表也就完成了。而此时也就可以正确转发IP数据包了。


路由协议

       随着IP网络的发展,想要对所有网络统一管理是不可能的事。因此,人们根据路由控制的范围常使用IGP和EGP两种类型的路由协议。

       路由协议大致可分为两类:用于同一自治系统各路由器之间的内部网关协议(Interior GatewayProtocol,IGP)和用于不同自治系统内部路由器通信的外部网关协议(Exterior GatewayProtocol,EGP)。

        IP 地址分为网络部分和主机部分,他们有各自的分工。IGP 与 EPG 的关系类似 IP 地址的网络部分和主机部分的关系,就像根据 IP 地址的网络部分可以在网路之间进行路由选择、根据 IP 地址主机部分在链路内部进行主机识别一样。可以根据 EGP 在区域网络之间进行路由选择、根据 IGP 在区域网络内部进行主机识别。

IGP 协议主要有:RIP(RoutingInformation Protocol,路由信息协议)、RIP2和OSPF(Open Shortest Path First,开放式最短路径优先);

EGP 协议主要有:BGP(BorderGateway Protocol,边界网关协议);

路由算法

       最基本的算法是距离向量算法和链路状态算法:

距离向量算法:是根据距离和方向决定目标网络或目标主机的位置的一种方法。路由器之间可以互换目标网络的距离和方向相关信息,并以这些信息为基础制作路由控制表。

链路状态算法:是路由器在了解网络整体连接状态的基础上生成的路由控制表的一种方法。该方法中每个路由器必须保持同样的信息才能进行路由选择。

        距离路由算法中每个路由器的信息都不同,通往每个网络所耗的距离也根据路由器的不同而不同。因此,该算法的一个缺点是不能判断路由器上的信息是否正确。

        链路状态算法所有路由器所持的信息都相同,对任何一台路由器,网络拓扑都一样。因此,只要某一台路由器与其他路由器保持的同样的路由控制信息,则该路由器上的信息就是正确的。只要每个路由器尽快的与其他路由器保持同步的路由信息,就可以使路由信息到达一个稳定的状态。因此,即使网路结构再复杂,每个路由器也能保持正确的路由信息、进行稳定的路由选择。

RIP 协议

        广播路由控制信息: RIP 将路由信息定期(30秒一次)向全网广播,没有收到路由控制信息,连接就会被断开。没收到路由控制信息有可能是丢弃 IP 数据报所引起,因此 RIP 规定等待 5 次,若在第 6 次仍未收到路由控制信息,则真正将连接关闭。

        RIP 协议是基于距离向量算法确定路径。距离的单位是“跳数”,跳数是指所经过路由器的个数。RIP 希望尽可能少的经过路由器将数据报发送到目的主机的 IP 地址。

       RIP 虽然不交换子网掩码信息,但是可以用于使用子网掩码的网络环境,但必须注意以下情况:

 从接口 IP 地址对应分类得出网路地址后,与根据路由控制信息流过此路由器的包的 IP 地址对应分类得出的网络地址进行比较。若两个网络地址相同,则就以接口网络地址的长度为标准。若不相同,则以 IP 地址分类所确定的网络地址长度为标准。

        RIP 的基本行为可总结如下:

1.        将自己所知道的路由控制信息定期进行广播;

2.        一旦认为网络被断开,则数据无法流过该路由器,其他路由器也就可以得知该网络已断开;

RIP2 协议

        RIP2 协议是 RIP 协议的第二版本,也就是其的改进版本,改进信息如下:

使用多广播:RIP 中当路由器之间交换路由信息采用广播形式,然而在 RIP2 采用多播,这不仅减少了网络流量,还缩小对无关主机的影响;

1.        支持子网掩码:RIP2 支持在交换路由信息时加入子网掩码信息;

2.        路由选择域:在同一个网络中可以使用多个逻辑上独立的 RIP;

3.        外部路由标志:通常用于把从 BGP 等获得的路由控制信息通过 RIP 传入到 AS 内;

4.        身份验证密钥:RIP 携带密钥,只有自己能够识别这个密钥时才接收数据,否则丢弃该 RIP 数据包; 

OSPF 协议

        OSPF 协议克服了 RIP 协议的所有限制,与采用距离向量算法的 RIP 协议不同的是,OSPF 协议采用的是链路状态算法。

        OSPF 是链路状态型路由器,路由器之间交换链路状态生成网络拓扑信息,然后根据这个拓扑信息生成路由控制表。

        RIP 的路由选择,要求途中所经过的路由器个数越少越好。而 OSPF 可以给每条链路赋予一个权重,并且选择一个权重最小的路径作为最终的路由。

        RIP 中包的类型只有一种,它利用路由控制信息,一边确认网络是否连接,一边传送网络信息。这种方式的确定是,当网络的个数越多,每次交换的路由控制信息就越大,而且当网络处于稳定状态时,还要定期进行交换相同的路由控制信息,这在一定程度上浪费了网络带宽。

        OSPF 根据作用不同采用 5 包的类型,如下表所示:

 

       通过发送问候包确认是否连接。每个路由器为了同步路由控制信息,利用数据库描述包相互发送路由摘要信息和版本信息。如果版本较老,则首先发出一个链路状态请求包请求路由控制信息,然后由路由链路状态更新包接收路由控制信息,最后通过链路状态确认应答包通知大家本地已接收到路由控制信息。这样可以减少网络流量,加快更新速度。

BGP 协议

       BGP 协议是一种不同自治系统内部路由器通信的外部网关协议。在 RIP 和 OSPF 中采用 IP 的网络地址部分进行路由控制。而 BGP 的最终路由控制表由网络地址和下一站的路由器组来表示,不过它会根据所要经过的 AS 个数进行路有个控制。BGP 与 RIP 和 OSPF 不同的是采用 TCP 作为其传输层协议。两个运行 BGP 的系统之间建立一条 TCP 连接,然后交换整个 BGP 路由控制表。BGP 是一个距离向量协议,但是与 RIP 不同的是,BGP 列举了到每个目的地址的路由。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值