# 网络层数据平面导论
# 网络层服务
- 在发送主机和接收主机之间传送段
- 在发送端将段封装到数据报中
- 在接收端,将段上交给传输层实体
- 网络层协议存在于每一个主机和路由器
- 路由器检查每一个经过它的 IP 数据报得头部
# 网络层得关键功能
# 网络层功能
- 转发:将分组从路由器得输入接口转发到合适得输出接口
- 路由:使用路由算法来决定分组从发送主机到目标接收主机得路径
- 路由选择算法
- 路由选择协议
# 网络层:数据平面与控制平面
# 数据平面
- 本地,每一个路由器得功能
- 决定从路由器输入端口到达得分组如何转发到输出端口
- 转发功能
- 传统方式:基于目标地址 + 转发表
- SDN 方式:基于多个字段 + 流表
# 控制平面
- 网络范围内的逻辑
- 决定数据报如何在路由器之间路由,决定数据报从源到目标主机之间的端到端的路径
- 两个控制平面的方法
- 传统的路由算法:在路由器中难被发现
- 在远程的服务器中实现
# 路由控制平面
# 传统方式
# 路由概述以及图解
在每一个路由器中的单独路由器算法元件,在控制平面进行交互
# 路由和转发的相互作用
# SDN 方式:逻辑集中的控制平面
一个不同的控制器与本地控制代理交互
# 网络层服务模型
# 对于单个数据报的服务
- 可靠传送
- 延迟保证
# 对于数据报流的服务
- 保证数据报传送
- 保证流的最小带宽
- 分组之间的延迟差
# 连接建立
- 在某些网络架构中式第三个重要的功能
- ATM,frame relay,X.25
- 在分组传输之前,在两个主机之间,在通过一些路由器所构成的路径上建立一个网络层连接
- 涉及到路由器
- 网络层和传输层连接服务区别
- 网络层:在两个主机之间,涉及到路径上的一些路由器
- 传输层:在两个进程之间,很可能只体现在端系统上
# 路由器的组成
# 路由器结构
- 路由:运行路由选择算法(协议(RIP,OSPF,BGP)生成路由表)
- 转发:从输入到输出链路交换数据报,根据路由表进行分组和转发
# IP Internet Protocol
# IP 数据报格式
# IP 分片和重组
-
网络链路有 MTU(最大传输单元)链路层帧所携带的最大数据长度
- 不同的链路类型
- 不同的 MTU
-
大的 IP 数据报被在网络上分片
- 一个数据报被分成若干个小的数据报
- 重组只在最终的目标主机进行
- IP 头部的信息被用于标识,排序相关分片
# 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:未来用
# 子网掩码
- 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 控制平面的数据平面分离的优势
- 水平集成控制平面开放实现,创造出好的产业生态
- 集中式实现控制逻辑,网络管理容易
- 基于流表的匹配+行动工作方式允许可编程的分组交换机