21-05-19-计网自顶向下方法

4.1.1 转发和路由选择:数据平面和控制平面

网络层两种重要的功能

  • 转发:
    • 当一个分组到达某路由器的一条输入链路时,路由器需要将其分组移到到适当的输出链路
    • 转发是数据平面实现的唯一功能
    • 分组也可能被现有路由器阻挡,或者冗余的经过多条链路发送
  • 路由选择
    • 网络层决定这些分组采用的路由或路径,选择路径的算法称路由选择算法

区别:

转发:输入链路到输出链路的路由器本地动作

路由选择:分组从源到目的地所采取的端到端路径的网络范围处理过程,时间尺度长,常采用软件实现

路由器中的关键元素是转发表,检查到达的分组首部的一个或者多个字段只,使用这些值在转发表中索引,从而转发分组

路由算法决定转发表中的值

控制平面:SDN方法

远程控制器确定转发表中的值

控制平面路由选择功能与路由器是分离的,路由器仅执行转发,远程控制器计算并分发转发表

远程控制器可实现在远程数据中心、ISP或第三方管理

4.1.2 网络服务模型

  • 确保交付
  • 具有时延上界的确保交付
  • 有序分组交付
  • 确保最小带宽:模仿发送和接收主机之间一条特定比特率的传输链路,只要低于此比特率的传输速率,则分组最终会交付目的主机
  • 安全性

BUT,网络层提供的服务是尽力而为服务,以上均不保证

分组交换机:一台通用的分组交换设备,根据分组首部字段中的值,从输入链路接口到输出接口转移分组

链路层交换机:基于链路层帧中的字段值做出转发决定

路由器:基于网络层数据报中的首部字段值做出转发绝对,是网络层设备

4.2 路由器工作原理

通用路由器体系结构总体视图:

路由器体系结构

  • 输入端口:

    • 终结物理层的功能进入网络层
    • 还有与位于入链路远端的数据链路层交互来执行数据链路层功能
    • 执行查找功能,通过查询转发表决定路由器的输出端口
    • 端口指路由器的物理输入和输出端口,不同于软件端口
  • 交换结构

    • 连接输入输出端口,网络路由器中的网络
  • 输出端口

    • 输出分组,执行链路层和物理层功能来传输b
  • 路由选择处理器

    • 执行控制平面功能
      • 传统:执行路由选择协议
      • SDN:与远程控制器通信,接收转发表项,在输入输出端口安装
    • 网络管理功能

以上了除了路由选择处理器几乎使用硬件实现

对于基于目的的转发和通用

4.2.1 输入端口处理和基于目的地转发

输入端口处理

输入端口的线路端接功能与链路层处理实现了用于各个输入链路的物理层和链路层

转发表从路由选择处理器经过独立的总线复制到线路卡

使用在每个输入端口的影子副本,转发决策能在每个输入端口本地做出,无须基于每个分组调用集中式路由器选择处理器

前缀匹配

使用前缀进行匹配,当有多个匹配时使用最长前缀匹配原则

一旦通过查找确定了某分组的输出端口,则该分组能够进入交换结构

在某些设计中,如果其他输入端口的分组在使用交换结构,则分组会被阻塞,在输入端口处排队

“查找”在输入端口处理还需要有其他处理:

  • 必须物理层和链路层的处理
  • 必须检查分组的版本号、检验和以及寿命字段,并重写最后两个字段
  • 必须更新用于网络管理的计数器(如IP数据报的数目)

4.2.2 交换

三种交换技术

  • 经内存交换:早期的路由器则是传统的路由器,输入与输出端口的功能就像在操作系统中的IO设备一样;当一个分组到达一个输入端口时,该端口通过中断方式向路由选择处理器发出信号,于是该分组从输入端口被复制进处理器的内存,并复制到输出端口的缓存中。

  • 经总线交换:经过共享总线直接到输出端口,在输入端口选择好输出端口后在分组首部加上特别标签,到达所有输出端口,但只有与标签指示的相同的输出端口才可以保存,保存后则将表情去除,仅用于跨越总线;如果有多个分组同时到达路由器,但由于只有一个分组能跨越总线,因此效率也不高

  • 经互联网络交换:使用 2N 条总线连接 N 个输入端口与 N 个输出端口,非阻塞的,当前输出端口没有转发而来的分组则可以进行转发,但同时有不同输入端口分组转发向同一输出端口,还是会被阻塞

4.2.3 输出端口处理

输出端口处理

4.2.4 排队

输入端口和输出端口均会排队,当内存耗尽时则出现丢包

1.输入排队

输入排队的HOL阻塞

1 输入端口一个分组要转发到 1 输出分组,3 输入端口的一个分组也要转发到 1 输出分组,此时它被阻塞,且位于它后面的要转发到 2 输出端口的分组也会被阻塞,即使 2 输出端口是空闲的,即HOL阻塞

2.输出排队

主动队列管理AQM:分组丢弃与标记策略

随机早期检测是最广泛的AQM算法之一

输出端口排队

4.2.5 分组调度

1.先进先出

FIFO排队抽象

2.优先权排队

优先权排队

同一优先权级别的以FIFO排队

非抢占式:分组传输过程中不能暂停

例如1,3,4是高优先级,2,5是低优先级

优先权队列的操作

3.循环和加权公平排队

循环排队:分组先分类,再在每一个类轮流调度一个分组,当某个类为空则立即寻找下一个类,不允许链路保持空闲

两类循环队列操作

广泛实现在路由器中的是加权公平排队WFQ

与循环排队基本类似,但循环排队是每类传输一个分组,而加权公平排队是每类分配一个权重,循环到它时发送此权重占比的分组数

加权公平排队

4.3 网际协议:IPv4、寻址、IPv6及其他

4.3.1 IPv4数据报格式

IPv4数据报格式

关键字段:

  • 版本号:4 比特,不同版本路由器需要不同解释后续部分
  • 首部长度:
    • IPv4数据报包含可变数量的选项,存在于首部中,所以需要 4 比特来确定IPv4数据报中被封装的运输层报文实际开始的地方
    • 大部分数据报不包含选项,一般为 20 字节首部
  • 服务类型:
    • 服务类型TOS包含在首部中,区分不同类型的数据报,如要求低时延、高吞吐量或可靠性的数据报
  • 数据报长度:IP数据报的总长度(首部 + 数据),单位字节,该字段为 16 比特,所以理论最大长度为 65535 字节,但实际为了 IP 数据报能容纳最大长度以太网帧的的载荷,所以一般不超过 1500 字节
posted @ 2021-05-19 22:54  zephxu  阅读(134)  评论(0)    收藏  举报