网络层的功能

异构网络互联

通过中继系统将不同的网络互联:

中继系统层级设备
物理层中继物理层中继器、集线器 Hub
数据链路层中继数据链路层网桥、交换机
网络层中继网络层路由器
高层中继网络层以上网关

路由器连接异构网络:物理层和数据链路层协议可以不同,网络层以上协议必须相同。

路由与转发

  • 路由选择:根据路由算法确定数据分组的传输路径
  • 分组转发:根据转发表将分组从合适的端口转发出去

拥塞控制

网络中出现过多分组导致性能下降的现象。

  • 开环控制:设计时预防拥塞(静态)
  • 闭环控制:运行时检测和消除拥塞(动态)

判断方法:观察网络吞吐量与负载的关系。

路由算法

静态路由算法(非自适应)

网络管理员手工配置,适用于小型、拓扑变化少的网络。

动态路由算法(自适应)

算法类型说明代表协议
距离向量路由算法每个结点将全部路由表发给相邻结点RIP
链路状态路由算法每个结点广播链路状态信息OSPF

层次路由

将路由分为域内和域间两个层次:

类别范围协议
域内路由 IGP自治系统内部RIP、OSPF
域间路由 EGP自治系统之间BGP

路由协议

RIP 协议(路由信息协议)

基于距离向量的分布式路由选择协议。

  • 仅和相邻路由器交换信息
  • 交换全部路由表信息
  • 定期更新(默认 30 秒)
  • 使用跳数作为度量,最大跳数 15(16 表示不可达)
  • 应用层协议,使用 UDP(端口 520)

优点:简单、开销小、收敛快 缺点:规模受限(最大 15 跳)、慢收敛(坏消息传得慢)

OSPF 协议(开放最短路径优先)

基于链路状态的路由协议。

  • 向自治系统内所有路由器发送信息(泛洪法)
  • 只发送链路状态变化信息(与 RIP 的全表不同)
  • 网络层协议,直接用 IP 数据报传送

五种分组类型

  1. 问候分组(Hello):发现和维持邻居
  2. 数据库描述分组:描述链路状态数据库
  3. 链路状态请求分组:请求缺失的链路状态
  4. 链路状态更新分组:泛洪更新
  5. 链路状态确认分组:确认收到更新

BGP 协议(边界网关协议)

用于自治系统间的路由选择。

  • 应用层协议,基于 TCP
  • 寻找较好的路由(非最佳)
  • 采用路径向量路由选择协议

RIP / OSPF / BGP 封装协议

协议封装协议
RIPUDP
OSPFIP 数据报
BGPTCP

IP 组播

组播地址

  • 使用 D 类地址(224.0.0.0 ~ 239.255.255.255)
  • 映射到 MAC 地址:01-00-5E-[0 + IP 地址后 23 位]

IGMP(Internet Group Management Protocol)

主机和直接相连的路由器之间通信,用于加入或离开组播组。

移动 IP

关键概念

  • 移动结点:可以在不同网络间移动的终端
  • 本地代理(归属代理):移动结点归属网络中的路由器
  • 外部代理(外地代理):移动结点访问的外地网络中的路由器

通信过程

四个阶段:代理发现 → 注册 → 分组路由 → 注销

网络层设备

路由器 Router

组成

  • 路由计算部分:运行路由协议,生成路由表
  • 分组转发部分:交换结构、输入端口、输出端口

功能

  • 路由选择:根据路由算法计算最佳路径
  • 分组转发:根据路由表转发分组

路由表结构

| 目的网络 IP 地址 | 子网掩码 | 下一跳 IP 地址 | 接口 |

与网桥的区别

网桥与高层协议无关,只转发帧;路由器是面向协议的,根据 IP 地址进行路由选择和转发。