文章目录
一、网络层设计的基本问题
网络层需要解决的问题:
- 如何将源端数据包送到接收方?
基本问题:
- 如何选择好的传输路径;
- 如何选择路由器,避免拥塞;
- 如何连接不同的网络;
网络层运行环境:
网络层提供给传输层的服务:
- 向上提供的服务应独立于实现;
- 屏蔽路由器数量、类型和拓扑;
- 统一编址方案;
无连接和有连接服务:
-
无连接:
- 数据报网络
- 路由表
- 路由算法
-
面向连接:
- 虚电路
- 标签交换
无连接和面向连接的比较:
问题 | 面向连接 | 无连接 |
---|---|---|
电路建立 | 不需要 | 需要 |
寻址 | 每个包包含全部的源和目的地址 | 每个包包含简短的VC号 |
状态信息 | 路由器不保留连接状态 | 针对每个连接,每条VC都需要路由器保存其状态 |
路由方式 | 每个数据包单独路由 | 建立VC时选择路由,所有包都遵循该路由 |
路由器失效的影响 | 没影响,除了路由器崩溃时丢失的包 | 穿过故障路由器的所有VC中断 |
服务质量 | 困难 | 容易,如果在建立VC时有足够的资源 |
拥塞控制 | 困难 | 容易,如果在建立VC时有足够的资源 |
二、路由算法
-
路由和转发:
- 转发:数据包到达时采取的动作;
- 路由:决定使用哪一条路径;