Network Layer -- 网络层(上)
网络层概述
发送方主机的网络层将传输层的报文段分装成数据报,发送给发送方的临近路由。接收方主机的网络层由其临近路由收到数据报,提取出报文段并将其交给传输层。
转发和路由:数据层面与控制层面
网络层的两个主要功能:
- 转发:当一个分组到达某路由器的一条输入链路时,该路由器必须把该分组移动到适当的输出链路。时间尺度通常为纳秒,一般用硬件实现。
- 路由:分组从发送方流向接收方时网络层必须决定这些分组所采用的路由或路径。计算这些路径的算法被称为路由选择算法。时间尺度通常为秒,一般用软件实现。
每台网络路由中有一个关键元素是它的转发表。路由器检查到达分组首部的一个或多个字段值,进而使用这些首部值在其转发表中的索引,由此来转发分组。这些值对应存储在转发表项中的值,指出了该分组将被转发的路由的输出链路接口。
控制层面:传统的方法
路由器中物理存在的所有转发表的内容是由人类网络操作员直接配置,这种情况下,不需要任何路由协议。人类操作员之间需要彼此交流沟通以确保转发表能使分组到达其目的地。这种方式在网络拓扑结构变化后的响应较慢。
控制层面:SDN方法
- 由路由选择算法决定转发表中的值使用该方法每台路由器都有一个路由选择组件,能与其他路由器的路由选择组件通信
- 远程控制器计算和分发转发表,以供每台路由器使用,控制层面的路由选择功能与物理的路由器是分离的。由于计算转发表并与路由器通讯的工作是软件完成的,因此这种方法是软件定义网络(SDN) 方法。
网络服务模型
- 网络服务模型定义了分组在发送与接收端之间的端到端运输特性
什么样的服务模型适合引导数据报从发送方传输到接收方?
- 对于单个的数据报:
- 确保交付
- 确保交付的时延小于40ms
- 对于一组数据报流:
- 数据报有序的交付
- 确保传输的最小带宽
- 确保最大时延抖动,两个相继分组之间的时间间隔的变化不超过某些特定值

Internet的网络层只提供尽力而为的服务
- ATM:Asynchronous Transfer Mode(异步传输模式)
- CBR:恒定比特率,带宽保证恒定速率
- VBR:可变比特速率,允许随时可变的带宽,但必须指定峰值带宽、最大突发数据长度和必须维持的最低速率
- ABR:可用比特率,带宽保证最小速率
- UBR:未定比特速率,尽量传输
虚电路和数据报网络
有连接、无连接服务
- 数据报网络提供了网络层的无连接服务
- 数据报网络提供了网络层的无连接服务
- 类似传输层TCP/UDP的面向连接/无连接服务,但是
- 服务:主机到主机
- 没有选择:每中网络体系结构只提供其中一种连接
- 实现:端系统,以及位于网络核心的路由器
虚电路 -- Virtual circuits
“使收发双方之间的路径表现得如同电话线路一般”
- 网络内部有较多的智能和性能指标
- 沿收发路径上的网络结点的操作比较复杂
- 在数据流动前,需要建立连接(call setup),流动结束后要断开( teardown )
- 每个分组携带 VC标识 (而不是信宿主机的ID)
- 每个在收发双方路径上的路由器需要为正在传输中的连接维持“状态”
- 传输层的连接仅涉及到两个端系统(end system)
- 链路, 路由器资源 (带宽, 缓存等)可被分配 给 VC
- 目的:为了达到类似电路交换的性能
虚电路的实现
一个虚电路包含:
- 从源到目的端的路径
- VC号,沿着该路径的每段链路的一个号码
- 沿着该路径的每台路由器的转发表表项
- VC中的传输的分组在它的首部携带一个VC号,而不是目的端地址
- 一条虚电路在每个链路上具有不同的VC号
- 新的VC号来自转发表
虚电路转发表

连接状态信息由VC路由器维护
虚电路:信令协议
- 用来建立、维护、断开VC
- 应用在ATM、帧中继、X.25(电信级服务)
- 不应用于当今的Internet
数据报网络 -- Datagram networks
- 在网络层没有连接建立过程
- 路由器: 没有端对端的连接状态
- 在网络层不存在“连接”的概念
- 分组使用目的主机的地址进行路由选择
- 因此收发双方的不同分组所经由的路径可能不同
数据报转发表

最长前缀匹配规则:在为一个给定地址在表中寻找之前储存的记录时,寻找与这个地址的前缀匹配程度最高的一条记录,将其所对应的的接口号分配给该条地址。
例如:

- DA: 11001000 00010111 00010110 10100001 -- 0号接口
- DA: 11001000 00010111 00011000 10101010 -- 1号接口
数据报网络与VC网络对比
Internet(数据报网络)
- 来源于计算机之间的数据交换的需求
- 灵活、可伸缩的“弹性”服务,没有严苛的实时性需求
- 可利用各种不同类型的链路层技术
- 具有不同的特性
- 很难统一其服务标准
- 智能端系统(计算机)
- 自适应,性能控制,容错
- 网络内部架构简单,把复杂性留给了网络边缘
ATM(VC)
- 源自于电话网络
- 人的会话交互
- 对实时性、可靠性有较高要求
- 需要性能保障服务
- 哑端设备
- 电话
- 网络内部架构复杂
路由器工作原理
路由器的两个主要功能:
- 运行路由算法/协议(RIP,OSPF,BGP)
- 将数据报从入口链路转发到出口链路

路由器的结构
输入端口(input port):
- 物理层:接收物理信号,将其转换为bit
- 与数据链路层交互来执行数据链路层功能
- 网络层:查找、转发、排队
- 非集中式的交换:转发表的副本已发送给每个输入端口,因此,转发决策由输入端口在本地完成
- 根据数据报的目的地址,在输入端口内存的转发表中寻找输出端口
- 目标:以线缆一级的速度完成输入端口处理
- 队列:如果数据报达到的速率大于处理速率则需要排队
交换结构
交换结构将路由器的输入端口连接到它的输出端口。这种交换结构包含在路由之中,是一个路由器中的"网络"
三种类型的交换结构:
- 内存型
- 传统的计算机,由CPU直接控制完成交换
- 数据分组需要拷贝到系统的内存中
- 交换速率受限于内存带宽
![]()
- 总线型
- 分组直接通过共享总线直接从输入端口的内存发到输出端口的内存
- 总线竞争(同一时间只有一个分组能够使用总线):路由交换速率受限于总线带宽
- 32Gbps总线,Cisco5600:对于小型接入网和企业网其交换速率通常足够
![]()
- 互联型
- 克服了总线宽带的限制
- 将数据报分割为固定长度的单元,每个单元通过交换结构完成交换
- Cisco12000:通过互联网络其交换带宽达到60Gbps
![]()
输出端口
输出端口存储从交换结构接收到的分组,并在输出链路上传输这些分组。当一条链路是双向的时,输出端口常与该链路输入端口成对出现在同一线路卡上。
- 缓冲区:当交换结构速率较快时,就需要缓存,否则,在遇到拥塞时,会导致分组丢失
- 分组调度:先来先服务(FCFS)规则,加权公平排队规则(WFQ),遵循“网络中立”原则,为服务质量保障(QoS)起到关键作用
输出端口排队:
- 当交换速率大于输出端口链路速率时需要有缓存
- 输出端缓存溢出时会发生丢包
需要缓存的大小:
- RFC 3439规则:平均RTT * 链路容量C (基于相对较少量TCP流的排队动态分析得到)
- 目前推荐的规则:有大量TCP流(N)流过一条链路时:\(\frac{RTT\cdot{C}}{\sqrt{N}}\)



posted on
浙公网安备 33010602011771号