计算机网络笔记No.21

Internet采用层次路由,AS内部路由协议也称为内部网络协议IGP(interior gateway protocols)
最常见的AS内部路由协议:

  • 路由信息协议:RIP(Routing Information Protocol)
  • 开放最短路径优先:OSPF(Open Shortest Path First)
  • 内部网关路由协议:IGRP(Interior Gateway Routing Protocol)——Cisco私有协议

RIP协议简介

RIP协议早于1982年随BSD-UNIX操作系统发布,采用距离向量算法,具有以下特性:

  • 距离度量:跳步数 (max = 15 hops), 每条链路1个跳步
  • 每隔30秒,邻居之间交换一次DV,称为通告(advertisement)
  • 每次通告:最多25个目的子网(IP地址形式)

图例:图中假设A向D发送一个通告,告知自己到达Z的路径,D的路由表更新
计算机网络笔记No.21
计算机网络笔记No.21
其中下一跳选项也能起到 毒性逆转的作用

RIP:协议的链路失效、恢复机制
如果180秒没有收到通告(6次通告没有接收到) → 表示邻居或者链路失效

  • 经过该邻居的路由不可用——重新计算路由
  • 向邻居发送新的通告
  • 邻居再依次向外发送通告(如果转发表改变)

RIP路由表的处理:RIP路由表是利用一个称作route-d (daemon)的应用层进程进行管理
由应用进程实现,通告报文周期性地通过UDP数据报发送

OSPF协议简介

OSPF协议是开放的,即公众可用
OSPF协议采用链路状态路由算法
OSPF通告在整个AS范围泛洪——OSPF报文直接封装到IP数据报中

OSPF优点(RIP不具备)

  • 安全(security): 所有OSPF报文可以被认证(预防恶意入侵)
  • 允许使用多条相同费用的路径 (RIP只能选一条)
  • 对于每条链路,可以针对不同的TOS设置多个不同的费用度量
  • 集成单播路由与多播路由——多播OSPF协议(MOSPF) 与OSPF利用相同的网络拓扑数据
  • OSPF支持对大规模AS分层(hierarchical)

OSPF的分层
计算机网络笔记No.21
计算机网络笔记No.21
计算机网络笔记No.21

计算机网络笔记No.21

BGP协议简介

边界网关协议BGP (Border Gateway Protocol):事实上的标准域间路由协议
将Internet “粘合”为一个整体的关键

BGP为每个AS提供了一种手段:

  • eBGP:从邻居AS获取子网可达性信息
  • iBGP:向所有AS内部路由器传播子网可达性信息
  • 基于可达性信息与策略,确定到达其他网络的 “好”路径
    好指最符合策略的路径
  • 容许子网向Internet其余部分通告它的存在

两个BGP路由器交换信息叫做BGP会话(session)

  • 通告去往不同目的前缀(prefix)(子网)的路径 (“路径向量(path vector)”协议)
  • 报文交换基于半永久的TCP连接

BGP报文:

  • OPEN: 与peer建立TCP连接,并认证发送方
  • UPDATE: 通告新路径 (或撤销原路径)
  • KEEPALIVE: 在无UPDATE时,保活连接;
    也用于对OPEN请求的确认
  • NOTIFICATION: 报告先前报文的差错;也被用于关闭连接

分发路径信息
下图中,在3a与1c之间, AS3利用eBGP会话向AS1发送前缀可达性信息

  • 1c则可以利用iBGP向AS1内的所有路由器分发新的前缀可达性信息
  • 1b可以(也可能不)进一步通过1b到2a的eBGP会话,向AS2通告新的可达性信息

当路由器获得新的前缀可达性时,即在其转发表中增加关于该前缀的入口(路由项)
计算机网络笔记No.21

路径属性与BGP路由
通告的前缀信息包括BGP属性,前缀+属性= “路由”
计算机网络笔记No.21
以上图为例:两个重要属性:

  • AS-PATH(AS路径): 包含前缀通告所经过的AS序列: eg: AS 67, AS 17
    表示通过AS3 可去AS 67, AS 17
  • NEXT-HOP(下一跳): 开始一个AS-PATH的路由器接口,指向下一跳AS(图中3a的端口)
    指示1c向3a的11.11.1.1端口方向发送
  • 可能从当前AS到下一跳AS存在多条链路

BGP路由选择
网关路由器收到路由通告后,利用其==输入策略(import policy)==决策接受/拒绝该路由
路由器可能获知到达某目的AS的多条路由,基于以下准则选择:

  • 本地偏好(preference)值属性: 策略决策(policy decision)
  • 最短AS-PATH
  • 最近NEXT-HOP路由器: 热土豆路由(hot potato routing)
  • 附加准则

BGP路由选择策略
下图中:
A,B,C是提供商网络/AS(provider network/AS)
X,W,Y是客户网络(customer network/AS)
W,Y是桩网络(stub network/AS): 只与一个其他AS相连
X是双宿网络(dual-homed network/AS): 连接两个其他AS
计算机网络笔记No.21
A向B通告一条路径:AW
B向X通告路径:BAW
B是否应该向C通告路径BAW呢?

  • 不! B路由CBAW的流量没有任何“收益”,因为W和C均不是B的客户
  • B期望强制C通过A向W路由流量
  • B期望只路由去往/来自其客户的流量

为什么采用不同的AS内与AS间路由协议

  1. 策略(policy)
    • inter-AS: 期望能够管理控制流量如何被路由,谁路由经过其网络等
    • intra-AS: 单一管理,无需策略决策
  2. 规模(scale)
    • 层次路由节省路由表大小,减少路由更新流量
    • 适应大规模互联网
  3. 性能(performance)
    • intra-AS: 侧重性能
    • inter-AS: 策略主导

—————————————————————————————————————————————————————
由于水平有限及时间仓促或疏忽大意以及其他的一些原因,文中难免会存在一些错误,如若有发现不正确的地方,还请大佬们评论或私信告之于我,以便及时纠错