目录
一、网络层提供的功能
网络层实现主机与主机之间的通信
从发送方主机传输报文段到接收方主机:
- 发送方主机封装报文段 (segments) 为数据报 (datagrams)
- 接收方主机递交报文段给传输层
在每个主机和路由器上都需要运行网络层协议
- 路由器会检查通过它的所有 IP 数据报的头部字段
- 然后根据目的 IP 地址对数据报进行转发
采用的是数据报网络
二、路由和转发
路由和转发是网络层的两个主要功能
路由 (routing):确定分组从发送方传输到接收方所需经过的路径或路由。
- 通过路由算法来确定
转发 (forwarding):将分组从路由器的输入端口转移到正确的路由器输出端口。
类比:
- 路由类似于从发送方到接收方计划旅行路线的过程
- 转发类似于驾车通过一个立交桥的过程
路由与转发的相互作用
三、数据平面和控制平面
网络层能被分解为:数据平面和控制平面
1. 数据平面
- 存在于本地
- 数据平面的功能等于每个路由器自身的功能
- 决定到达路由器输入端口的数据报如何转发到该路由器的输出端口
2. 控制平面
- 存在于整个网络范围
- 决定数据报在端到端路径上的路由器之间如何路由
控制平面的实现方式:
- 传统的路由算法:在路由器中实现
- 软件定义网络 SDN:在远程服务器上实现
SDN:software-defined networking
3. 控制平面:传统方式
方式:每个路由器都有单独的路由算法组件,路由器之间通过交互来实现控制平面。
4. 控制平面:SDN 方式
方式:通过一个远程的控制器来与路由器本地的控制代理 CA 交互。
- RC 需要知道全网的状态
- RC 需要向路由器下发路由表
四、网络层的服务模型
网络服务模型:定义了分组在发送与接收主机之间的端到端传输特性。
1. 网络层可能提供的服务
- 确保交付:确保分组将最终到达目的地。
- 具有时延上界的确保交付:在特定的主机到主机的时延内交付。
- 有序分组交付:以发送的顺序到达目的地。
- 确保最小带宽:只要发送方以低于特定 bps 的速率发送比特,则分组将最终到达目的地。
- 确保最大时延抖动:发送方发送两个连续分组的时间间隔与接收到的间隔相同。
2. Internet 的网络层提供的服务
提供单一的服务,即尽力而为服务。
- 不能保证分组的最终交付
- 不能保证端到端时延
- 不能保证以发送的顺序被接收
- 不能保证有最小的带宽