计算机网络:网络层(中)

143 阅读2分钟

日新计划6月更文 Day 11

  上一篇我们讨论了网络层的位置、作用以及网络层重要的通信协议——IP,接下来我们讨论网络层重要的设备——路由器及其功能。

  计算机网络可划分为多个自治系统(Autonomous System,AS),每个自治系统有权决定其内部使用的路由协议,如 RIP(Routing Information Protocol,路由信息协议)、OSPF(Open Shortest Path First,开放最短路径优先)协议或 IGRP(Interior Gateway Routing Protocol,内部网关路由协议)。而各个相邻的 AS 之间可以使用 BGP(Border Gateway Protocol,边界网关协议)共享路由信息。

  RIP 的路由表保存了到达各个已知网络的下一跳信息与总跳数(hops)(distance vector algorithm),每个路由器的守护进程(daemon) routed 使用 UDP 协议每 30 秒向 AS 内相邻路由器广播(advertisement)其已知的所有路由信息(最多 25 条),若 180 秒内未收到某个邻居的广播则判断经过该邻居的所有路由信息失效。为防止循环依赖,超过15 跳的路由信息无效。

  OSPF 协议判断路径代价考虑了链路状态(Link State,LS),每个路由器独立维护了一个 LSDB(Link State DataBase),每个接口的代价为参考带宽 / 接口链路带宽,路由表发生变化时先与 AS 内所有路由器同步 LSDB,然后根据 Dijkstra 算法计算出代价最小的路径。相比 RIP,OSPF 协议具有消息身份验证、允许多个相同代价的路径、效率高等优点。另外,OSPF 的数据使用 IP 报文发送。

  OSPF 区分了主干(backbone)路由器与边缘(boundary)路由器:前者构成了此 AS 的主干,只运行主干 OSPF;后者用于连接其他 AS,汇总到本网络的代价并向其他 AS 的边缘路由器通告。

  以上是 AS 内的路由协议,接下来会讨论 AS 间的路由协议BGP。