网络层导论
网络层服务
- 在发送主机和接收主机对之间传送段(segment)
- 在发送端将段封装到数据报中
- 在接收端,将段上交给传输层实体
- 网络层协议存在于每一个主机和路由器
- 路由器检查每一个经过它的IP数据报的头部
网络层的关键功能
网络层功能
- 转发: 将分组从路由器的输入接口转发到合适的输出接口
- 路由: 使用路由算法来决定分组从发送主机到目标接收主机的路径
- 路由选择算法
- 路由选择协议
数据平面、控制平面
数据平面
- 本地,每个路由器功能
- 决定从路由器输入端口到达的分组如何转发到输出端口
- 转发功能:
- 传统方式:基于目标 地址+转发表
- SDN方式:基于多个字段+流表
控制平面
- 网络范围内的逻辑
- 决定数据报如何在路由器之间 路由,决定数据报从源到目标主机之间的端到端路径
- 2个控制平面方法:
- 传统的路由算法: 在路由器中被实现(功能单一:根据目标的IP地址进行转发)
- software-defined networking (SDN): 在远程的服务器中实现(匹配很多字段,功能更多:泛洪、转发、修改字段)
传统方式:每一路由器(Per-router)控制平面
在每一个路由器中的单独路由器算法元件,在控制平面进行交互
SDN方式:逻辑集中的控制平面
一个不同的(通常是远程的)控制器与本地控制代理(CAs) 交互
网络服务模型
从发送方主机到接收方主机传输数据报的"通道" ,网络提供什么样的服务模型?
对于单个数据报的服务:
- 可靠传送
- 延迟保证,如:少于 40ms的延迟
对于数据报流的服务:
- 保序数据报传送
- 保证流的最小带宽
- 分组之间的延迟差(延迟差为0,那么发送就会立即接受到,对于多媒体来说很好)
连接建立
- 在某些网络提供有连接的网络
- ATM, frame relay, X.25
- 在分组传输之前,在两个主机之间,在通过一些 路由器所构成的路径上建立一个网络层连接
- 涉及到路由器
- 网络层和传输层连接服务区别:
- 网络层: 在2个主机之间,涉及到路径上的一些路由器 ------ 有连接
- 传输层: 在2个进程之间,很可能只体现在端系统上 (TCP连接) ------ 面向连接
网络层服务模型
网络架构 | 服务模型 | 是否保证带宽 | 是否保证丢失 | 是否保序 | 是否保证延迟 | 拥塞反馈 |
---|---|---|---|---|---|---|
Internet | best effort(尽力而为) | none | no | no | no | no(inferred via loss) |
ATM | CBR恒定速率 | constant rate | yes | yes | yes | no congestion |
ATM | VBR 变化速率 | guaranteed rate | yes | yes | yes | no congestion |
ATM | ABR 可用比特率 | guaranteed rate | no | yes | no | yes |
ATM | UBR 不指明比特率 | one | no | yes | no | no |