Day8:网络层——导论(数据平面、控制平面)、路由器组成

偷博!Secretly fighting~ 哈哈
(有道翻译)在这里插入图片描述
又是美好学习的一天!邂逅了一首安静美好的小诗——《门前》

我多么希望,有一个门口
早晨,阳光照在草上
我们站着
扶着自己的门扇
门很低,但太阳是明亮的
草在结它的种子
风在摇它的叶子
我们站着,不说话
就十分美好
有门,不用开开
是我们的,就十分美好

————1982年8月
啊,确实十分美好~


进入正题(get right to the point)

一、导论

1.学习网络层:数据平面的Goal/Aim

  •  理解网络服务的基本原理,聚焦于其数据平面
     网络服务模型
     转发和路由
     路由器工作原理
     通用转发
  •  互联网中网络层协议的实例和实现

2.网络层服务

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

2.1网络层的关键功能。(转发、路由)

  •  转发: (是一种局部的概念/功能…数据平面的…依赖于路由表…)
    将分组从路由器的输入接口转发到合适的输出接口

  •  路由: (是一种全局的概念/功能…控制平面的…路由表…)
    使用路由算法来决定分组从发送主机到目标接收主机的路径

旅行的类比:
 转发: 通过单个路口的过程
 路由: 从源到目的的路由路径规划过程

两个简单的概念,相互配合就能够把源主机的分组传输到目标主机


3.网络层:数据平面、控制平面

数据平面

  •  本地,每个路由器功能
  • 决定从路由器输入端口到达的分组如何转发到输出端口
  •  转发功能:
    •  传统方式:基于目标地址+转发表
    •  SDN方式:基于多个字段+流表

控制平面

  • 网络范围内的逻辑
  • 决定数据报如何在路由器之间路由决定数据报从源到目标主机之间的端到端路径
  •  2个控制平面方法:
    • 传统的路由算法: 在路由器中被实现
      (就只能匹配路由表,做分组的转发)
    • software-defined networking (SDN): 在远程的服务器中实现
      (Compare to the traditional routing algorithm,SDN is much more flexible.
      SDN 可以多个动作:转发、Block、泛洪、修改某些字段…

在这里插入图片描述
一张简单的图

3.1转发-传统方式:

每-路由器(Per-router)控制平面

  • 在每一个路由器中的单独路由器算法元件,在控制平面进行交互
    分布式的计算路由表,ip协议实体根据路由表来匹配再转发到来的分组
    在这里插入图片描述
  • 路由和转发的相互作用
    在这里插入图片描述
    紧耦合的控制平面和数据平面,以及分布式的路由表(遍布全球,你算你的我算我的…)
    causing some problems: 路由器的运行逻辑修改极其困难。很 "死板(inflexible/stiff)"

路由实现控制功能路由表是控制平面和数据平面的一个 “粘合体”


3.2转发-SDN方式:

(标题链接是百度百科的介绍)
———— 改变僵化的传统路由局面

摘了百度百科上的几句下来:
SDN中的接口具有开放性,以控制器为逻辑中心 [1] ,南向接口负责与数据平面进行通信,北向接口负责与应用平面进行通信,东西向接口负责多控制器之间的通信。
·
SDN的本质特点是控制平面和数据平面的分离以及开放可编程性。通过分离控制平面和数据平面以及开放的通信协议,SDN打破了传统网络设备的封闭性。此外,南北向和东西向的开放接口及可编程性,也使得网络管理变得更加简单、动态和灵活
在这里插入图片描述


  • 逻辑集中的控制平面
    一个不同的(通常是远程的)控制器与本地控制代理(CAs)交互
    在这里插入图片描述
    (这里的CA:Control Agent控制代理)

控制平面的功能,
集中交给了一个Remote Server上的远程控制器(Controller)/网络操作系统,去做
然后Remote Controller 计算出的流表 ,通过南向接口,交给分组交换设备的CA
各个CA流表进行装载,然后对流表中的多个字段进行matching
匹配完成后,采取流表对应的表项,所相应的动作

4.网络服务模型

Q: 从发送方主机到接收方主机传输数据报的“通道”,网络提供什么样的服务模型?

  • 对于单个数据报的服务:
     可靠传送(保序、无误)
     延迟保证,如:少于40ms的延迟;

  • 对于数据报流的服务:
     保序数据报传送
     保证流的最小带宽
     分组之间的延迟差
    (要是延迟差为0,那么接收方就“同步接收分组”,对于Receiver是一个很好的事情)

4.1连接建立

TCP 的连接是面向连接
只体现在源主机和目标主机之间,而具体的物理上的,真正的连接没有体现)
网络层中,主机和主机之间的连接称为,有连接

  •  在某些网络架构中是第三个重要的功能
    •  ATM, frame relay, X.25
  •  在分组传输之前,在两个主机之间,在通过一些路由器所构成的路径上建立一个网络层连接
    •  涉及到路由器

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

在这里插入图片描述

二、路由器组成

路由器结构概况(高层面(非常简化的)通用路由器体系架构)

  •  路由: 运行路由选择算法/协议 (RIP, OSPF, BGP)-生成路由表
  •  转发: 从输入到输出链路交换数据报-根据路由表进行分组的转发

下图中间大红框框,应该是 “high-speed switching fabric” 高速开关结构

在这里插入图片描述
其中四角的红蓝绿颜色的框框分别代表:
在这里插入图片描述
图中分布式交换有queuing(课件pdf又错了,多了个e)
是因为这个 “红色框框”左右两边的箭头的传输速度不配。
一般来说,右箭头要比左箭头faster
但是根据生活经验 ,排的队越长说明排 队这一方的“请求服务”的 速度更快
·
出现queuing的原因是这样的:
输入端口缓存在这里插入图片描述
有可能因为排队,在输入端口被drop
也有可能在输出端口被drop

注意:

  • 实际中的路由器的Router input ports和 output ports 是同一个端口
  • 只是为了方便输入输出端口的讲解才分成两个“独立的输入输出端口”

到此为止,介绍了input ports了
下面介绍input ports 和 output ports之间的 switch fabric


1.交换结构(Switching Fabric )

  •  将分组从输入缓冲区传输到合适的输出端口

  •  交换速率:分组可以按照该速率从输入传输到输出 (单位PPM,packet per minute)
    运行速度经常是输入/输出链路速率的若干倍
     N 个输入端口:
    交换机构的交换速度是输入线路速度的N倍比较理想,才不会成为瓶颈

  •  3种典型的交换机构
    **-**


分别介绍如下:

1.1通过内存交换

  • 第一代路由器:
    在CPU直接控制下的交换,采用传统的计算机
    分组被拷贝到系统内存,CPU从分组的头部提取出目标地址,
    查找转发表,找到对应的输出端口,拷贝到输出端口
    转发速率被内存的带宽限制
    (数据报通过BUS (系统总线) 两遍)
    一次只能转发一个分组(速度慢)
    在这里插入图片描述

1.2通过总线(并非系统总线)交换

  •  数据报通过共享总线,从输入端口转发到输出端口
  •  总线竞争: 交换速度受限于总线带宽
  •  1次处理一个分组
  •  1 Gbps bus, Cisco 1900; 32 Gbps bus, Cisco 5600;
    对于接入或企业级路由器,速度足够**(但不适合区域或骨干网络)**
    在这里插入图片描述

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

啊这,啥啊,互联网络,没有好名词嘛?比如说:穿越火条、交叉木条…哈哈哈

  •  同时并发转发多个分组,克服总线带宽限制
  •  Banyan(榕树)网络,crossbar(纵横)和其它的互联网络被开发,
    将多个处理器连接成多处理器
  •  当分组从端口A到达,转给端口Y;控制器短接(短路)相应的两个总线
  •  高级设计:将数据报分片为固定长度的信元,通过交换网络交换
  •  Cisco12000:以60Gbps的交换速率通过互联网络
  • 在这里插入图片描述

2.输出端口

在这里插入图片描述

2.1输出端口排队

在这里插入图片描述
 假设交换速率R_switch 是R_line的N倍(N:输入端口的数量)
 当多个输入端口同时向输出端口发送时,
缓冲该分组(当通过交换网络到达的速率超过输出速率则缓存)
 排队带来延迟,由于输出端口缓存溢出则丢弃数据报!

Besides,先来的不一定先output。这is up to Scheduling Rules


2.2需要多少缓存?

在这里插入图片描述

2.3调度机制

 调度: 选择下一个要通过链路传输的分组

  •  FIFO (first in first out) scheduling: 按照分组到来的次序发送
    在这里插入图片描述

  • 优先权调度:发送最高优先权的分组
    在这里插入图片描述
    (具体咋标记是高级计算机网络中的内容,研究生阶段会上

  • Round Robin (RR) scheduling(本意环形丝带,其实叫轮询调度):
    在这里插入图片描述

  • Weighted Fair Queuing (WFQ,加权公平队列):
    在这里插入图片描述

  • 其他的Scheduling(vip加速服务啊…svip加速服务啊…铂金会员…星钻会员…哈哈)

突然好奇什么是VIP了
于是我baidu一下:
VIP是very important person的缩写,起源于上个世纪80年代,当时电子邮件在美国一些发达地区很流行,人们没事就发一封快捷简单便宜的邮件向朋友问候.一个人在发送邮件的时候不想让其他人知道邮件的内容,所以就把邮件标名为very important person,后来VIP这个词被沿用到现在.字面意思是很重要的人,有文采的翻译就是贵宾,大人物之类的.

本篇结束

猜你喜欢

转载自blog.csdn.net/m0_46156900/article/details/113845298