网络层的功能
异构网络互联
通过中继系统将不同的网络互联:
| 中继系统 | 层级 | 设备 |
|---|---|---|
| 物理层中继 | 物理层 | 中继器、集线器 Hub |
| 数据链路层中继 | 数据链路层 | 网桥、交换机 |
| 网络层中继 | 网络层 | 路由器 |
| 高层中继 | 网络层以上 | 网关 |
路由器连接异构网络:物理层和数据链路层协议可以不同,网络层以上协议必须相同。
路由与转发
- 路由选择:根据路由算法确定数据分组的传输路径
- 分组转发:根据转发表将分组从合适的端口转发出去
拥塞控制
网络中出现过多分组导致性能下降的现象。
- 开环控制:设计时预防拥塞(静态)
- 闭环控制:运行时检测和消除拥塞(动态)
判断方法:观察网络吞吐量与负载的关系。
路由算法
静态路由算法(非自适应)
网络管理员手工配置,适用于小型、拓扑变化少的网络。
动态路由算法(自适应)
| 算法类型 | 说明 | 代表协议 |
|---|---|---|
| 距离向量路由算法 | 每个结点将全部路由表发给相邻结点 | RIP |
| 链路状态路由算法 | 每个结点广播链路状态信息 | OSPF |
层次路由
将路由分为域内和域间两个层次:
| 类别 | 范围 | 协议 |
|---|---|---|
| 域内路由 IGP | 自治系统内部 | RIP、OSPF |
| 域间路由 EGP | 自治系统之间 | BGP |
路由协议
RIP 协议(路由信息协议)
基于距离向量的分布式路由选择协议。
- 仅和相邻路由器交换信息
- 交换全部路由表信息
- 定期更新(默认 30 秒)
- 使用跳数作为度量,最大跳数 15(16 表示不可达)
- 应用层协议,使用 UDP(端口 520)
优点:简单、开销小、收敛快 缺点:规模受限(最大 15 跳)、慢收敛(坏消息传得慢)
OSPF 协议(开放最短路径优先)
基于链路状态的路由协议。
- 向自治系统内所有路由器发送信息(泛洪法)
- 只发送链路状态变化信息(与 RIP 的全表不同)
- 网络层协议,直接用 IP 数据报传送
五种分组类型:
- 问候分组(Hello):发现和维持邻居
- 数据库描述分组:描述链路状态数据库
- 链路状态请求分组:请求缺失的链路状态
- 链路状态更新分组:泛洪更新
- 链路状态确认分组:确认收到更新
BGP 协议(边界网关协议)
用于自治系统间的路由选择。
- 应用层协议,基于 TCP
- 寻找较好的路由(非最佳)
- 采用路径向量路由选择协议
RIP / OSPF / BGP 封装协议
| 协议 | 封装协议 |
|---|---|
| RIP | UDP |
| OSPF | IP 数据报 |
| BGP | TCP |
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 地址进行路由选择和转发。