知识点整理:网络层
- 网络层设计问题
网络层的功能:异构网络互联;路由与转发;拥塞控制;
网络层的目标:
- 网络层关注如何将数据分组从源端送到接收方
- 运输数据分组可能需要经过多跳中间路由器
- 网络层是处理端到端数据传输的最低层。
- 存储-转发数据包交换机制
- 如果一台主机要发送一个数据包,则将数据包传送给最近的路由器。
- 该数据包被存储在路由器上,路由器验证它的校验和。
- 路由器将该数据包沿路转发到下一台路由器,直至到达目标主机为止。
- 最后在目标主机上递交给相应的进程。
- 提供给传输层的服务
网络层通过网络层/传输层接口向传输层提供服务,网络层服务的设计考虑到了以下目标:
- 服务应独立于路由器技术。
- 运输层应屏蔽,避免存在路由器的数量、类型和拓扑。
- 提供给运输层的网络地址应使用统一的编号计划,甚至跨 LAN 和 WAN。
- 无连接服务的实现
每个数据包被独立的注入网络,并独立路由,不需要提前建立任何设置。这种数据包被称为数据报:Datagram。具体的路由方法(应该选择哪条链路)由网络层的一系列算法和协议决定。
-
- 面向连接服务的实现
面向连接的网络稍有不同。在这种情况下,在发送每个数据包前会先建立一条从原router到目标router的路径。通过这条连接的所有流量都会经过这条路径,一直到连接释放。这个连接称为虚电路(virtual circuit)。
-
- 虚电路与数据报网络的比较
Datagram网络 |
VC网络 |
|
电路建立 |
不需要 |
需要 |
寻址 |
每个包都包含目标地址与源地址 |
每个包只包含简短的VC号 |
状态信息 |
路由器不保留连接状态 |
每个连接,每条VC |
路由方式 |
每个包单独路由 |
建立VC时需要路由,之后都遵从原来的规则 |
路由器失效的影响 |
除了崩溃期间丢失的包之外没有影响 |
穿过故障router的所有VC全部中断 |
服务质量 |
难 |
易。只需要建立VC的时候有资源来分配 |
拥塞控制 |
难。因为网络情况复杂 |
易。只需要建立VC的时候有资源来分配 |
- 路由算法
路由算法是网络层软件的一个部分,它负责确定一个入境数据包应该被发送到哪一条输出线路上。路由对使用哪一条路径做出决策,转发则是当一个数据包到达时采取什么样的行动。路由算法可以分成两大类:非自适应算法和自适应算法。非自适应算法(nonadaptivealgorithm)不会根据当前测量或者估计的流量和拓扑结构,来调整它们的路由决策。相反,从I到J(对所有的Ⅰ和J)所使用的路由选择是预先在离线情况下计算好,并在网络启动时被下载到路由器中的。这个过程有时候也称为静态路由(static routing)。因为它无法响应故障,所以静态路由对于路由选择已经很清楚的场合非常有用。例如,在图5-3中&#