【第四章 网络层:数据平面,控制平面,路由器组成】

发布于:2024-05-07 ⋅ 阅读:(24) ⋅ 点赞:(0)

第四章 网络层:数据平面

4.1 导论

  • 数据平面
  • 控制平面

网络层服务

  • 在发送主机和接收主机之间传送段(segment)
  • 在发送段将段封装到数据报中
  • 在接收端,将段上交给传输层实体
  • 网路层协议存在于每一个主机和路由器
  • 路由器检查每一个经过它的IP数据报的头部

网络层的关键功能

网络层功能:

  • 转发:将分组从路由器的输入接口转发到合适的输出接口
  • 路由:使用路由算法从发送主机到目标接收主机的路径
    • 路由选择算法
    • 路由选择协议

网路层:数据平面,控制平面

数据平面(局部)

  • 决定从路由器输入端口到达的分组如何转发到输出端口
  • 转发功能:
    • 传统方式:基于目标地址+转发表
    • SDN方式:基于多个字段+流表
      流表方式可以做多个动作:转发或block(阻塞)

控制平面(全局)
决定数据报该怎么走?

  • 网络范围的逻辑
  • 决定数据报如何在路由器之间路由,决定数据报从源到目标主机之间端到端的路径
  • 2个控制平面的方法:
    • 传统的路由算法:在路由器中被实现
    • soft-defined networking(SDN):在远程的服务器中实现

传统方式:每-路由器(Per-router)控制平面

在每一个路由器中的单独路由器算法元件,在控制平面进行交互。
在这里插入图片描述

SDN方式:逻辑集中的控制平面

一个不同的(通常是远程的)控制器与本地控制代(CAs)交互

  • 改变不同的逻辑流表不同的网络应用会形成不同的流表。

网络服务模型(best offer:尽力而为)

对于单个数据报的服务

  • 可靠传送
  • 延迟保证,如:少于40ms的延迟
    对于数据报流的服务:
  • 保序
  • 保证流的最小带宽
  • 分组之间的延迟差

连接建立

  • 网络层和传输层连接服务区别:
    • 网络层: 在2个主机之间,涉及到路径上的一些路由器
    • 传输层: 在2个进程之间,很可能只体现在端系统上(TCP连接)

路由器组成

在这里插入图片描述
在这里插入图片描述

输入端口缓存

  • 匹配的瞬时的输入,输出速率不一致需要一个池子。
    • 排队延迟以及由于输入缓存溢出造成丢失!
  • Head-of-the-Line (HOL) blocking(头端阻塞): 排在队头的数据报阻止了队列中其他数据报向前移动
    在这里插入图片描述

交换结构

  • 将分组从输入缓冲区传输到合适的输出端口
  • 交换速率:分组可以按照该速率从输入传输到输出
    • 运行速度经常是输入/输出链路速率的若干倍
    • N 个输入端口:交换机构的交换速度是输入线路速度的N倍比较理想,才不会成为瓶颈
      在这里插入图片描述

通过内存交换(通过系统总线两次:阻塞)

  • 分组被拷贝到系统内存,CPU从分组的头部提取出目标
    地址,查找转发表,找到对应的输出端口,拷贝到输出
    端口
  • 转发速率被内存的带宽限制 (数据报通过BUS两遍)
  • 一次只能转发一个分组

通过总线交换

  • 数据报通过共享总线,从输入端口转发到输出端口
  • 总线竞争: 交换速度受限于总线带宽
  • 1次处理一个分组

通过互联网络(crossbar等)的交换

  • 同时并发转发多个分组,克服总线带宽限制
  • 在这里插入图片描述
    相当于A到Y的时候,就可以把B,C短路。