IP详解(三)

互联网的路由选择协议

  • 理想的路由算法
    • 1、算法必须是正确的和完整的,正确的含义:沿着各路由表所指引的路由,分组一定能够最终到达目的网络和目的主机。
    • 2、算法在计算上应简单。路由选择的计算不应使用网络通信量增加太多的额外开销。
    • 3、算法应能适应通信量和网络拓扑的变化,要有自适应性。当网络中的通信量发生变化时,算法能自适应地改变路由以均衡各链路的负载。当某个或某些节点、链路发生故障不能工作,或者修理好了再投入运行时,算法也能及时地改变路由。有时称为这种自适应性为“稳健性”。
    • 4、算法应具有稳定性。在网络通信量和网络拓扑相对稳定的情况下,路由算法应收敛于一个可以接受的解,而不应使用得出的路由不停的变化。
    • 5、算法应是公平的。路由选择算法应对于所有用户(除对少数优先级高的用户)都是平等的。
    • 6、算法应是最佳的。路由选择算法应当能够找出最好的路由,使得分组平均时延最小而网络的吞吐量最大。虽然我们希望得出“最佳”的算法,但这并不是最重要的。对于某些网络,网络的可靠性有时要比最小的分组的分组平均时延或最大吞吐量更加重要。因此,所谓的最佳只能是相对于某一种特定要求下得出的较为合理的选择而已。
  • 倘若从路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,则只有两大类:静态路由选择策略与动态路由选择策略
    • 静态路由选择也叫做非自适应路由选择:其特点是简单和开销较小,但不能及时适应网络状态的变化。对于很简单的小网络,完全可以采用静态路由选择,用人工配置每一条路由。
    • 动态路由选择也叫做自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。因此,动态路由选择适用于较复杂的大网络。
  • 分层次的路由选择协议
    • 互联网采用的路由选择协议主要是自适应性的(动态的)、分布式路由选择协议。由于以下两种原因,互联网采用分层次的路由选择协议。
      • 1、互联网的规模特别大,如果让所有的路由器都知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间。而所有这些路由器之间交换信息所需要的带宽就会使互联网的通信链路饱和。
      • 2、许多单位不愿意外界了解自己单位内部的网络的布局和本部门所采用的路由选择协议(这属于部门内部的事情),但同时希望连接到互联网上。
    • 因此,我们把互联网划分为多个许多较小的自治系统,一般都记为AS。自治系统AS就是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个AS对其他AS表现出的是一个单一的和一致的理由选择策略。
      • 在目前的互联网中,一个大的ISP就是一个自治系统。这样,互联网就把路由选择协议划分为两大类:
        • 内部网关协议IGP: 即在一个自治系统内部使用的路由选择协议,而这与在互联网中其他自治系统选用什么路由选择协议无关。目前这类协议使用的最多,如RIP和OSPE协议。
        • 外部网关协议EGP: 若源主机和目的主机在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。目前使用最多的外部网关协议是BGP的版本4(BGP-4)
          • EGP和BGP的区别:EGP是一个旧协议,新协议是BGP,旧协议EGP和新协议BGP都属于外部网关协议EGP这一类别。
        • 自治系统之间的路由选择叫做域间路由选择,而在自治系统内部的路由选择叫做域内路由选择。
      • 因此,使用分层次的路由选择方法,可将互联网的路由选择协议划分成:
        • 内部网关协议IGP:目前的协议有多种,如RIP和OSPF。
        • 外部网关协议EGP:目前使用的是BGP。
      • 内部网关协议RIP

        • 最先得到广泛使用的协议,是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。
        • RIP协议要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组记录,即“距离向量”)。
          • RIP协议将“距离"定义:从一路由器到直接连接的网路的距离定义为1,。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。“加1”是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1。
          • RIP协议的“距离”也称为“跳数”,因为每经过一个路由器,跳数就加1,。RIP认为好的路由器就是它通过的路由器的数目少,即”距离短“。RIP允许一条路劲最多只能包含15个路由器。因此”距离“等于16时即相当于不可达。可见RIP只适用于小型互联网。
          • RIP协议的特点:仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。不相邻的路由器不交换信息。
          • 路由表交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。也就是说,交换的信息是:”我到本自治系统中所有网络的最短距离,以及到每个网络应经过的下一跳路由器“。
          • 按固定的时间间隔交换路由信息,例如,每隔30秒。然后路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
          • 距离向量算法:对每一个相邻路由器发送过来的RIP报文,进行以下步骤:
            • 1、对地址为X的相邻路由器发送来的RIP报文,先修改此报文中的所有项目:把”下一跳“字段的地址都改为X,并把所有的”距离“字段的值加1.每一个项目都有三个关键数据,即:到目的网络N,距离是d,下一跳路由器是X。
            • 2、对修改后的RIP报文中的每一个项目,进行下面的步骤:
              • 若原来的路由表中没有目的网络N,则把该项目添加到路由表中。
              • 否则(即在路由表中有目的网络N,这时就再查看下一跳路由器地址)
              • 若下一跳路由器地址是X,则把收到的项目替换成原理由表中的项目。
              • 若则(即这个项目是:到目的网络N,但下一跳路由器不是X)
                • 若收到的项目中的距离d小于路由表中的距离,则进行更新。
                • 否则什么都不做。
            • 3、若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,即把距离置为16(距离16表示不可达)
        • RIP协议报文格式不详细解释了
        • RIP有一个特点就是好消息转播的快,但是坏消息传播的慢。RIP的最大优点就是实现简单,开销较小。RIP的缺点:限制了网络的规模,它能使用的最大距离为15,其次路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。最后,坏消息传播的慢,使更新过程中收敛时间过长。
      • 内部网关协议OSPF

        •  开放最短路劲,最主要的特征就是使用分布式的链路状态协议,而不是像RIP那样的距离向量协议。
        • 1、向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法,这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每一个相邻路由器又再将此信息发往其所有的相邻路由器(但不发送给刚刚发来信息的那个路由器)。这样最终整个区域中所有的路由器都得到了这个信息的一个副本。注意:RIP协议仅仅向自己相邻的几个路由器发送信息。
        • 2、发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。所谓”链路状态“就是说明本路由器都和那些路由器相邻,以及该链路的度量。OSPF将这个”度量“用来表示费用、距离、时延、带宽等等。这些都由网络管理人员决定,因此比较灵活。注意:RIP发送的信息是:到所有网络的距离和下一跳路由器。
        • 3、只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送信息。而不像RIP那样,不管网络拓扑有无发生变化,路由器之间都要定期交换路由表的信息。
        • 由于各路由器之间频繁的交换链路状态信息,因此,所有的路由器最终都能够建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的(这称为链路状态数据库的同步)。因此,每一个路由器都知道全网共有多个路由器,以及那些路由器是相连的,其代价是多少,等等。每一个路由器使用链路状态数据库中的数据,构造出自己的数据表。注意:RIP协议的每一个路由器虽然知道到所有的网络的距离以及下一跳路由器。但是不知道全网的拓扑结构(只有到了下一跳路由器,才能知道再下一跳应当怎样走)。
        • 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分成若干个范围,叫做区域。那么就有了主干区域、区域边界路由器、主干路由器、自治系统边界路由器等概念。
        • OSPF不用UDP而是直接用IP数据报传送。
        • OSPF的五种分组类型
          • 1、问候分组,用来发现和维持邻站的可达性。
          • 2、数据库描述分组:向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息。
          • 3、链路状态请求分组:向对方请求发送某些链路状态项目的详细信息
          • 4、链路状态更新分组:用洪泛法对全网更新链路状态,路由器使用这种分组将其链路状态通知给邻站。
          • 5、链路状态确认分组:对链路更新分组的确认。
      • 外部网关协议BGP

        • 内部网关协议只要是设法使数据报在一个自治系统中尽可能有效地从源站传送到目的站。在一个自治系统内部也不需要考虑其他方面的策略。然后BGP使用的环境不同,主要有两个原因:
          • 1、互联网的规模太大,使得自治系统AS之间路由选择非常困难。目前在互联网的主干网路由器中,一个路由表的项目数早已超过了5万个网络前缀。如果使用链路状态协议,则每一个路由器必须维持一个很大的链路状态数据库。
          • 2、自治网络之间的路由选择必须考虑有关策略。
        • 边界网关协议BGP只是力求寻找一个能够到达目的网络且比较好的路由,而并非要寻找一个最佳路由。BGP采用路径向量路由选择协议。在配置BGP时,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的”BGP发言人“。一般来说,两个BGP发言人都是要通过一个共享网络连接在一起的,而BGP发言人往往就是BGP边界路由器,但也可以不是BGP边界路由器。
        • 一个BGP发言人与其他AS的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息,如增加路由信息,或撤销过时的路由,以及报告出差错的情况等等。
        • 四种报文:
          • 1、打开报文:用来与相邻的另一个BGP发言人建立关系,使通信初始化。
          • 2、更新报文:用来通告某一路由的信息,以及列出要撤销的多条路由。
          • 3、保活报文:用来周期性地证实邻站的连通新。
          • 4、通知报文:用来发送检测到的报文。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值