网络层:数据平面
一、网络层概述
转发和路由选择:数据平面和控制平面
-
数据平面(转发)
-
本地
-
每个路由器
自身
的功能
-
-
控制平面(路由)
-
整个网络
-
路由器之间通过交互
来实现
-
SDN
:一个分离的(通常是远程的)
控制器
和路由器本地的
控制代理
交互
-
IP
(
Internet Protocol
)
- 数据报格式
- 寻址
- 网络地址转换
-
IPv6
-
路由器
-
检查
通过它的所有
IP
数据报中的头部字段。 - 沿着端到端的路径,将数据包从输入端口移动到输出端口。
-
-
两个关键功能
-
转发
-
将数据包从路由器的输入链路
移动
到适当的路由器输出链路
-
将数据包从路由器的输入链路
-
路由
-
确定数据包
从源到目标
所采用的
路由
。
-
确定数据包
-
网络层的服务模型
-
可能保证
- 确保交付
-
具有
时延上限
的确保交付 -
有序
分组交付 -
确保
最小带宽
-
确保
最大时延抖动
-
尽力而为
-
尽力而为
不保证-
成功
传送 -
定时
或者
按序
- 端到端的可用带宽
-
二、路由器的工作原理
-
输入端口
- 终结入物理链路的物理层功能,与位于入链路远端的数据链路层交互来执行数据链路层功能,在输入端口还要执行查找功能。
-
交换结构
- 将路由器的输入端口连接到它的输出端口。
-
输出端口
- 存储分组,传输分组。
-
路由选择处理器
- 控制平面功能。
输入端口处理器和基于目的地转发
- 路由器使用转发表来查找输出端口。
- 最长前缀匹配
交换
-
经内存交换
-
在
CPU
的直接控制下完成的 - 不能同时转发两个分组,即使他们有不同的目的端口
-
在
-
经总线交换
- 不需要理由选择处理器的干预
- 经互联网络交换
输出端口处理
- 取出已经存在输出端口内存中的分组并将其发送到输出链路上。
何处出现排队
- 输入排队
- 输出排队
- 交换结构
分组调度
- 先进先出
- 优先权排队
- 循环和加权公平排队
三、网际协议:IPv4、寻址、IPv6及其他
IPv4数据包格式
-
版本
-
4
比特 -
IP
协议的版本
-
-
首部长度
-
4
比特 -
使用
单位
来表示,一个单位为四字节。 -
故首部长度最大为
15
个单位,即
60
个字节。
-
- 服务类型
-
数据报总长度
-
16
比特 - 指首部和数据之和的长度。
-
故数据报最大可为
65535
字节。 -
总长度不能超过
MTU
。
-
- 标识(计数器)
- 标志
-
片偏移
- 分片后,某片在原分组中的相对位置。
-
生存时间
-
数据报在网络中可经过的路由器数的
最大值
。
-
数据报在网络中可经过的路由器数的
- 上层协议
-
首部检验和
-
只检验数据报的首部
不检验数据部分。
-
-
源/目的IP
-
各占
4
字节
-
各占
IP数据报分片和重组
-
一个
大的分组
可能在路由器中被分割为几个
分片
。 -
在最终的
目的主机
上,将这些分片
重新组装
成一个大的分组。
只针对
UDP
IPv4编址
-
IP
地址-
分配给主机或路由器
接口的标识符
-
分配给主机或路由器
-
接口
- 主机/路由器与物理链路之间的边界
- 路由器有多个接口
- 主机可以有多个接口
-
每个接口有一个
IP
地址
-
IP
地址有两种-
IPv4
-
32
个二进制位长(
4
字节) - 常用点分十进制表示
-
-
IPv6
-
128
个二进制位长(
16
字节) - 常用冒号分隔表示
-
-
-
地址分类
IP | 作用 |
---|---|
127.x.x.x | 本地回环地址 |
10.x.x.x | 私有地址 |
172.16.x.x-172.31.x.x | 私有地址 |
192.168.x.x | 私有地址 |
0.0.0.0 | 无法识别的网络和主机 |
255.255.255.255 | 受限的广播地址 |
IP地址获取
-
手工指定
- 在系统配置中设置
-
DHCP
-
自动从一个
DHCP
服务器获得
IP
-
还可分配客户的
第一跳路由器的地址
(网关)、
DNS
服务器的
IP
或者域名、子网掩码。 -
是
应用层协议
-
自动从一个
NAT:网络地址转换
-
外出的分组
-
替换每个外出的分组的 (源
IP
地址, 端口号) 为 (
NAT
的
IP
地址, 新端口号) -
远程客户/服务器用(
NAT
的
IP
地址, 新端口号)作为目的地来响应。
-
替换每个外出的分组的 (源
-
在
NAT
转换表
中)-
记录每个(源
IP
地址, 端口号)到 (
NAT
的
IP
地址, 新端口号) 转换配对。
-
记录每个(源
-
进来的分组
-
对每个进来的分组,用保存在
NAT
表中的对应的 (源
IP
地址, 端口号) 替换分组中的目的域 (
NAT
的
IP
地址, 新端口号)。
-
对每个进来的分组,用保存在
IPv6
-
更大的地址空间
-
32
位到
128
位。
-
- 扩展的地址层次结构
-
灵活的首部格式
-
IPv6
定义了许多可选的扩展首部。
-
-
改进的选项
-
IPv6
允许数据报包含有选项的控制信息,其选项放在有效载荷中。
-
- 允许协议继续扩充。
-
支持即插即用(即自动配置)。
-
因此
IPv6
不需要使用
DHCP
。
-
因此
-
支持资源的预分配
-
IPv6
支持实时视像等要求,保证一定的带宽和时延的应用。
-
-
IPv6
首部改为
8
字节对齐-
首部长度必须是
8
字节的整数倍。 -
原来的
IPv4
首部是
4
字节对齐。
-
首部长度必须是
-
冒号十六进制记法
-
每个
16
位的值用十六进制值表示,各值之间用冒号分隔。-
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
-
-
在十六进制记法中,允许把
数字前面的 0 省略
。-
例如把
0000
中的前三个
0
省略,写成一个
0
。
-
例如把
-
冒号十六进制记法可以允许
零压缩
(
zero compression
),即一连串连续的零可以为一对冒号所取代。-
FF05:0:0:0:0:0:0:B3
可压缩为:
FF05::B3
-
-
每个
注意:在任一地址中只能使用一次零压缩。
四、通用转发和SDN
-
每个路由器都包含一个转发表 (
forwarding table
),也称为流表 (
flow table
) -
匹配
- 数据包头字段中的值。
-
动作
-
对于
匹配的
数据包:
丢弃,转发,修改
匹配的数据包或将匹配的数据包
发送到控制器
。
-
对于
-
优先级
- 消除重叠模式
-
计数器
-
计数
byte
和
packet
数量。
-
计数
版权声明:本文为qq_45969062原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。