计算机网络 学习笔记(四) 网络层:数据平面

网络层概述

4.1.1转发与路由选择

网络层作用
两个主机AB进行信息传输时,A的网络层从上层运输层的报文段,将报文段封装成数据报,向相邻路由器发送。B主机的网络层从相邻路由器获得信息,传输到上层的运输层。
其功能分为两个部分:数据平面和控制平面

数据平面
从路由器的输入链路将数据报转发到输出链路,即转发

控制平面
控制数据包在传输过程中经过哪些路由器,即路由选择
转发表:路由器查看到达分组首部的若干个字段,然后查阅转发表进行转发

转发表的两种使用方式:

  • 传统方式:转发表放在路由器中,由路由器实现转发和路由选择
  • SDN方式:远程控制器计算并向路由器分发转发表,并不是将所有转发表放置在路由器中。
    远程控制器与路由器的交流方式:通过交换包含转发表和其他路由选择信息的报文。
    远程控制器是由软件实现的,所以网络时软件定义的,称其为软件定义网络(SDN)

4.1.2网络服务模型

网络层的服务是一种尽力而为的服务模式,不会保证数据一定到达。

分组交换机
分为链路层交换机和路由器。链路层交换机的转发依据链路帧中的字段,路由器依据网络层的字段转发。

4.2 路由器工作原理

计算机网络 学习笔记(四) 网络层:数据平面

输入端口

  • 左侧方框:终结来自如物理链路的物理层功能
  • 中间方框:协同数据链路层完成链路层功能
  • 右侧方框:查询转发表来绝对输出端口,并发送到交换结构

交换结构

连接输入输出端口

输出端口

保存从交换结构获得的分组,执行必要的链路层和物理层功能,输出分组。
当线路双向时,输入输出端口会成对出现在同一线路上。

路由选择处理器

执行控制平面功能

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

计算机网络 学习笔记(四) 网络层:数据平面转发表的两种方式中:

  • 传统方式:转发表存储在路由器中,由路由选择处理器对其进行更改
  • SDN方式:直接取自远程SDN控制器的内容

转发表的使用方法
一个输出端口会负责输出一段连续的地址,这些地址因为连续所以会有前若干位相同的情况,这些位称为前缀。前缀和对应的输出端口会放在转发表中。
通过对比转发表和分组头部内容的前缀来进行转发,如果对应两个,则选择较长的。
为了实现较快的查询,使用三态内容可寻址存储器(TCAM),

其他输入端口使用交换结构时,该端口要转发的数据需要排队。

4.2.2交换

交换结构有三种实现方式
计算机网络 学习笔记(四) 网络层:数据平面

  • 经内存交换:交换结构相当于一个处理器内存,路由选择处理器相当于处理器,路由选择处理器将输入端口的内容复制到交换结构,然后复制到相应的输出端口
  • 经总线交换:输入端口为分组创建一个标签,放入总线构成的交换结构进行传输,所有的输出结构得到该分组,比较该标签是否是自己的,是则输出,不是则丢弃。一次只可以转发一个分组。
  • 经互联网络交换:图中交叉的线是总线,交叉处由交换结构控制来控制交叉处的开闭。多个不同输入端口要向同一个输出端口转发分组的时候,需要一个个传。但是用多级交换元素后,可以解决该问题。

4.2.3 输出端口

计算机网络 学习笔记(四) 网络层:数据平面

4.2.4 何时出现排队

没有内存来存储排队的分组时会出现丢包

这里假设输入输出线路速度为R1,交换接口的速度为R2

输入排队

条件:不同输入端口向不同输出端口传输,可以同时传输。不同输入端口向同一输出端口传输时,同时只可以传输一个

出现排队的情况:

  • 多个输入端口同时要向同一个输出端口传输
  • 一个输入端口前面由信息在排队时,后面的分组无法传输

输出排队

条件:R2比R1快n倍

出现拥塞的情况:一段时间内交换结构向同一输出端口转发多个分组