# 网络层数据平面导论

# 网络层服务

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

# 网络层得关键功能

# 网络层功能

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

# 网络层:数据平面与控制平面

# 数据平面

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

# 控制平面

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

# 路由控制平面

# 传统方式

# 路由概述以及图解

在每一个路由器中的单独路由器算法元件,在控制平面进行交互

image-20221216184741010

# 路由和转发的相互作用

image-20221216184901306

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

一个不同的控制器与本地控制代理交互

image-20221216185006878

# 网络层服务模型

# 对于单个数据报的服务

  • 可靠传送
  • 延迟保证

# 对于数据报流的服务

  • 保证数据报传送
  • 保证流的最小带宽
  • 分组之间的延迟差

# 连接建立

  • 在某些网络架构中式第三个重要的功能
    • ATM,frame relay,X.25
  • 在分组传输之前,在两个主机之间,在通过一些路由器所构成的路径上建立一个网络层连接
    • 涉及到路由器
  • 网络层和传输层连接服务区别
    • 网络层:在两个主机之间,涉及到路径上的一些路由器
    • 传输层:在两个进程之间,很可能只体现在端系统上

# 路由器的组成

# 路由器结构

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

# IP Internet Protocol

# IP 数据报格式

image-20221216223343417

# IP 分片和重组

  • 网络链路有 MTU(最大传输单元)链路层帧所携带的最大数据长度

    • 不同的链路类型
    • 不同的 MTU
  • 大的 IP 数据报被在网络上分片

    • 一个数据报被分成若干个小的数据报
    • 重组只在最终的目标主机进行
    • IP 头部的信息被用于标识,排序相关分片

    image-20221216223700812

# IP 编址

  • IP 地址:32 位标识,对主机或者路由器接口编址
  • 接口:主机 / 路由器的接口编址
    • 路由器有多个接口
    • 主机也有多个接口
    • IP 地址和每一个接口关联
  • 一个 IP 地址和一个接口相关联

# 子网

  • IP 地址
    • 子网部分
    • 主机部分
  • 子网概况
    • 一个子网内的节点,他们的 IP 地址高位部分相同,这些节点构成的网络的一部分叫做子网
    • 无需路由器介入,子网内各主机可以在物理上相互直接到达

# IP 地址分类

  • Class A:2 的七次方减 2 个网络号,2 的 24 次方减 2 个主机号
  • Class B:2 的十四次方减 2 个网络号,2 的 16 次方减 2 个主机号
  • Class C:2 的二十一次方减 2 个网络号,2 的 8 次方减 2 个主机号
  • Class D:多播地址(multicast)
  • Class E:未来用

image-20221216224506915

# 子网掩码

  • 32bits,0 or 1 in each bit
    • 1:bit 位置表示子网部分
    • 0:bit 位置表示主机部分
  • 原始的 A,B,C 类网络的子网掩码
    • A:255.0.0.0
    • B:255.255.0.0
    • C:255.255.255.0
  • CIDR 下的子网掩码示例
    • 11111111 11111111 11110000 00000000
  • 另外一种表示子网掩码的方式
    • /22:表示前面有 22 个 bit 的子网部分

# DHCP

# 目标

允许主机在加入网络的时候,动态的获取 IP 地址

# 工作概况

  • 主机广播 DHCP discover 报文可选
  • DHCP 服务器用 DHCP offer 提供的报文响应
  • 主机请求 IP 地址,发送 DHCP request 报文
  • DHCP 服务器发送地址:DHCP ack 报文

# 通用转发和 SDN

# 传统方式实现网络功能

  • 垂直集成,昂贵,不便于创新的生态
  • 分布式,固化设备功能(网络设备种类繁多,管理困难)

# SDN:逻辑上集中的控制平面

一个不同的控制器和 CA 交互,控制器决定分组和转发的逻辑(可编程),CA 所在设备执行逻辑

# SDN 主要思路

  • 网络设备数据平面和控制平面分离
  • 数据平面 - 分组交换机
    • 将路由器,交换机和目前大多数网络设备功能进一步抽象成:按照流表(由控制平面设备的控制逻辑)进行 PDU(帧,分组)的动作(转发,丢弃,拷贝,泛洪,阻塞)
    • 统一化设备功能:SDN 交换机,执行控制逻辑
  • 控制平面 - 控制器 + 网络应用
    • 分离,集中
    • 计算和下发控制逻辑:流表

# SDN 控制平面的数据平面分离的优势

  • 水平集成控制平面开放实现,创造出好的产业生态
  • 集中式实现控制逻辑,网络管理容易
  • 基于流表的匹配+行动工作方式允许可编程的分组交换机