Skip to content

网络层(控制平面)

一、路由原理

1、网络层功能

1)数据平面

转发:将分组从路由器的一个输入端口移到合适的输出端口

2)控制平面

路由:确定分组从源到目标的路径

2、路由算法

  1. 路径长度
  2. 可靠性
  3. 延迟
  4. 带宽
  5. 负载
  6. 通信代价

3、路由的原则

1)正确性

算法必须是正确的和完整的,使分组一站一站接力,正确发向目标站

完整:目标所有的站地址,在路由表中都能找到相应的表项,没有处理不了的目标站地址

2)简单性

算法在计算机上应简单:最优但复杂的算法,时间上延迟很大,不实用,不应为了获取路由信息增加很多的通信量

3)健壮性

算法应能适应通信量和网络拓扑的变化:通信量变化,网络拓扑的变化算法能很快适应;不向很拥挤的链路发数据,不向断了的链路发送数据

4)稳定性

产生的路由不应该摇摆

5)公平性

对每一个站点都公平

6)最优性

某一个指标的接近最优,时间上,费用上,等指标,或综合指标

4、路由协议

  1. 直连路由:路由器直接交付
  2. 静态路由:设置固定路由表,除非网络管理员干预,否则静态路由不发生变化
  3. 动态路由:路由器之间相互通信,传递路由信息,利用收到的路由信息,更新自己路由表的过程,能实时使用网络结构的变化

5、自治系统AS

自治系统AS(Autonomous System)的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议用以确定分组在AS之间的路由

现在对自治系统AS的定义是强调下面的事实:尽管一个AS使用了多种内部路由选择协议和度量,但重要的是一个AS对其他AS表现出的是一个单一的和一致的路由选择策略

二、AS的路由选择

1、RIP距离向量算法

1)RIP概述

在 1982年发布的BSD-UNIX 中实现

采用 Distance vector 算法

2)RIP通告

在邻居之间每30秒交换通告报文

定期且在改变路由的时候发送通告报文,在对方的请求下可以发送通告报文

要点

  1. 仅和相邻路由器交换信息
  2. 交换的信息是当前路由器所知道的全部信息,即自己的路由表
  3. 按固定的时间间隔交换路由信息

3)RIP链路失效和恢复

如果180秒没有收到通告信息 => 邻居或者链路失效

  1. 发现经过这个邻居的路由已失效
  2. 新的通告报文会传递给邻居
  3. 邻居因此发出新的通告 (如果路由变化的话)
  4. 链路失效快速(?)地在整网中传输
  5. 使用毒性逆转阻止ping-pong回路(不可达的距离:跳数无限 = 16 段)

4)RIP进程处理

RIP 以应用进程的方式实现,通告报文通过UDP报文传送,周期性重复

网络层的协议使用了传输层的服务,以应用层实体的方式实现

5)RIP协议优缺点

  1. RIP存在一个问题就是当网络出现故障时,要经过比较长的时间才能将此信息传达到所有的路由器
  2. RIP协议最大的优点就是实现简单,开销较小
  3. RIP限制了网络的规模,并能使用的最大距离为15(16表示不可达)
  4. 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增大

2、OSPF内部网关协议

1)OSPF协议的基本特点

最短路径优先 是因为使用了Dijkstra提出的最短路径算法SPF

OSPF只是一个协议的名字,它并不表示其他的路由选择协议不是最短路径优先

OSPF是分布式的链路状态协议

2)OSPF三个要点

  1. 向本自治系统中所有的路由器发送消息,这里使用的方法是洪泛法
  2. 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息 => 链路状态就是说明本路由器都和哪些路由器相邻,以及该链路的度量
  3. 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息

3)层次化的OSPF

为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域(area)

2个级别的层次性:本地, 骨干

  1. 链路状态通告仅仅在本地区域Area范围内进行
  2. 每一个节点拥有本地区域的拓扑信息
  3. 关于其他区域,知道去它的方向,通过区域边界路由器

区域边界路由器: 汇总(聚集)到自己区域内网络的距离,向其它区域边界路由器通告

骨干路由器: 在骨干区域内运行OSPF路由

边界路由器: 连接其它的AS的边界路由

4)OSPF的特点

1.OSPF对不同的链路可根据IP分组的不同服务类型TOS而设置成不同的代价,因此,OSPF对于不同类型的业务可计算出不同的路由

2.如果到同一个目的网络有多条相同的路径,那么可以将通信量分配给这几条路径,这叫作多路径间的负载平衡

3.所有在OSPF路由器之间交换的分组都具有鉴别的功能

4.支持可变长度的子网划分和无分类编址CIDR

5.每一个链路状态都带上一个32位符号,序号越大,状态就越新

6.OSPF还规定了每隔一段时间,要刷新一次数据库中的链路状态

7.由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而整个互联网的规模并无直接关系,因此当互联网规模很大时,OSPF协议要距离向量协议RIP好得多

8.OSPF没有坏消息传得慢的问题,据统计,其相应网络变化的时间小于100ms

三、ISP的路由选择

1、BGP

1)BGP概述

  1. BGP是不同自治系统的路由器之间交换路由信息的协议
  2. BGP较新的版本是2006年1月发表的BGP-4,即RFC 4271~4278
  3. BGP-4 简写为 BGP

2)BGP发言人

  1. 每一个自治系统至少有一个路由器作为该自治系统的 BGP发言人
  2. 两个BGP发言人都是通过一个共享网络连接在一起的,而BGP发言人往往是BGP边界路由器,但也可以不是BGP边界路由器

3)BGP交换路由信息

1.一个BGP发言人与其他自治系统中的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文建立BGP会话,利用BGP会话交换路由信息

2.使用TCP连接可以提供可靠服务,也简化了路由选择协议

3.使用TCP连接交换路由信息的两个BGP发言人,彼此成为了对方的邻站或对等站

4)BGP协议的特点

  1. BGP协议交换路由信息的节点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多
  2. 每一个自治系统中BGP发言人(或边界路由器)的数目是很少的,这样就使得自治系统之间的路由选择不敢过分复杂
  3. BGP支持CIDR,因此BGP的路由表就应当包括目的网络前缀,下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列
  4. 在BGP刚刚运行时,BGP的邻站是交换整个的BGP路由表,但以为只需要在发生变化时更新有变化的部分,这样做对节省网络宽带和减少路由器的处理开销方面都有好处

四、AS和ISP路由方式不同的原因

1、策略方面

Inter-AS:管理员需要控制通信路径,谁在使用它的网络进行数据传输

Intra-AS:一个管理者,所以无需策略。AS内部的各子网的主机尽可能地利用资源进行快速路由

2、规模方面

AS间路由必须考虑规模问题,以便支持全网的数据转发

AS内部路由规模不是一个大的问题

  1. 如果AS太大,可将此AS分成小的AS => 规模可控
  2. AS之间只不过多了一个点而已
  3. AS内部路由支持层次性,层次性路由节约了表空间,降低了更新的数据流量

3、性能方面

Intra-AS:关注性能

Inter-AS:策略可能比性能更重要

五、典型的路由器的结构

Released under the MIT License.