目录
一、网络层概述
1、主要作用
2、控制平面方法
3、网络层提供的两种服务
二、路由器工作原理
1、路由器总体结构
2、输入、输出端口处理
(1)输入端口
(2)输出端口
3、交换
(1)经内存交换
(2)经总线交换
(3)经互联网络交换
4、排队问题
(1)输入排队、输出排队
(2)分组调度
三、网际协议:IPv4、寻址、IPv6及其他
1、IPv4数据报格式
2、IPv4数据报分片
(1)基本概念
(2)IP数据报分片例题
3、划分子网的IPv4地址
(1)分类
(2)分类编址习题
(3)子网和子网掩码
2、无分类编址的IPv4地址
(1)CIDR无分类域间路由选择
(2)路由聚合(构造超网)
3、主机如何获得IP地址?
(1)动态主机配置协议DHCP
(2)获取一块IP地址方法:从ISP获取一组地址
4、网络地址转换NAT
5、IPv6数据报格式
6、通用转发和SDN
一、网络层概述
1、主要作用
- 数据平面:转发【经过单个交换结构的过程】
- 控制平面:路由选择【从源到目的地路径计划的过程】
2、控制平面方法
传统方法:控制平面的路由选择算法决定了插入该路由器的转发表内容
SDN方法:添加远程控制器
3、网络层提供的两种服务
二、路由器工作原理
1、路由器总体结构
2、输入、输出端口处理
(1)输入端口
路由器转发表 前缀匹配 链路接口 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 其他 3 路由器使用最长前缀匹配规则,在该表中找最长匹配项
比如:地址11001000 00010111 00011000 10101010的前24bit与接口1匹配,前21bit与接口2匹配,根据最长前缀匹配规则,路由器向链路接口1转发该分组
(2)输出端口
3、交换
(1)经内存交换
- 一个分组到达一个输入端口后,该端口通过中断方式向路由选择处理器发出信号
- 该分组被复制到处理器内存中
- 路由选择处理器从其首部提取目的地址,在转发表中找到适当输出端口
- 并将该分组复制到输出端口的缓存中
(2)经总线交换
- 输入端口经一根共享总线将分组直接传送到输出端口,不需要路由选择处理器干预
- 输入端口预先计划一个交换机内部标签,将该分组经由总线到达所有输出端口
- 但只有与该标签匹配的端口才能保存该分组
- 标签随后再输出端口被去除
(3)经互联网络交换
- 纵横式网络能够并行转发多个分组,是非阻塞的
4、排队问题
(1)输入排队、输出排队
HOL线路前部阻塞:在一个输入队列排队的分组必须等待通过交换结构发送,由于排在前面的数据报将其阻塞
(2)分组调度
1、先进先出【FIFO】
2、优先权排队
每个优先权类都有自己的队列
1、3、4分组优先权高,2、5分组优先权低
注意:在非抢占式优先权排队规则下,一旦开始传输就不能打断
3、循环和加权公平排队【WFQ】
先服务第1类,再服务第2类,再服务第3类,循环
第一类:1、2、4,第二类:3、5
分组1直接进行传输,链路调度器查找第二类的分组,对3进行传输
3传输完后,链路调度器查找第一类分组,对2进行传输
……
三、网际协议:IPv4、寻址、IPv6及其他
1、IPv4数据报格式
- 版本【4bit】:IPv4、IPv6
- 首部长度【4bit】:0000——1111,单位是4B。一般的IP数据报有20字节的固定部分,假设为1111即为15×4=60字节,去掉固定部分,则剩余可变长度为40字节。首部长度至少为5。
- 数据报长度【16bit】:首部长度+数据长度,单位是1B。最大长度为65535。
- 寿命【TTL】:每经过一个路由器-1,变0则丢弃。
- 协议:指明该IP数据报的数据部分应该交给哪个特定的运输层协议。TCP—6,UDP—17。
2、IPv4数据报分片
(1)基本概念
不同的链路层协议拥有不同的最大传送单元(MTU),MTU严格限制IP数据报的长度。为了将较大的IP数据报挤进链路层帧的有效载荷字段,将IP数据报分片成多个较小的数据报。为了让目的主机重新组装这些分片,IPv4在IPv4数据报中设置了【标识、标志、片偏移】
- 标识【16位】:同一数据报分片使用同一标识
- 标志【3位】:只有后两位有意义。x DF MF
- (Don‘t Fragment)DF=1——禁止分片 DF=0——允许分片
- (MoreFragment)MF=1——后面还有分片 MF=0——最后一片/无分片
- 注:当DF=0允许分片时,MF才有意义
- 片偏移【13位】:分片后,某片在原来分组中的相对位置,以8B为单位
- eg:片偏移000…1,则该片段在原分组的位置是1×8=8B
- 注:除了最后一个分片,每个分片的长度一定是8B的整数倍
(2)IP数据报分片例题
首部(20B) 数据部分(3800B) 需要分片为长度不超过1420B的数据报片。
分析:
每一片都是1420B,且要预留20B的首部,则可以分为下面3片
首部(20B) 数据部分(1400B) 片偏移:0B ÷ 8B = 0
首部(20B) 数据部分(1400B) 片偏移:1400B ÷ 8B = 175
首部(20B) 数据部分(1000B) 片偏移:2800B ÷ 8B = 350
总长度 标识 MF DF 片偏移 原始数据报 3820 12345 0 0 0 分片1 1420 12345 1 0 0 分片2 1420 12345 1 0 175 分片3 1020 12345 0 0 350
3、划分子网的IPv4地址
(1)分类
IP地址 a.b网络号.c.d主机号
A类【(/8)前8位为网络号】:a.b.c.d
- 可指派网络数量:
- 每个网络可分配IP地址:
- 最小网络号0,不指派
- 最大网络号127,作为本地环回测试地址,不指派
B类【(/16)前16位为网络号】:a.b.c.d
- 可指派网络数量:
- 每个网络可分配IP地址:
- 减去主机号全为0的网络地址和全为1的广播地址
C类【(/24)前24位为网络号】:a.b.c.d
- 可指派网络数量:
- 每个网络可分配IP地址:
- 减去主机号全为0的网络地址和全为1的广播地址
缺点:如果要为2000台主机分配地址,分给B类地址,导致剩下超过62000个地址无法被利用,地址空间利用率低下
(2)分类编址习题
1、根据地址左起第一个十进制数,可判断网络类别
- ≤127为A类
- 128~191为B类
- 192~223为C类
2、根据网络类别,可以找出网络号和主机号
- A类:a.b.c.d
- B类:a.b.c.d
- C类:a.b.c.d
3、以下3种情况地址不能指派给主机或路由器
- A类网络号0和127
- 主机号全0,是网络地址
- 主机号全1,是广播地址
(3)子网和子网掩码
子网:不通过中间路由器就能实际到达对方的设备接口
子网掩码——可以表明主机号被借用了几个比特作为子网号
- 用连续的比特1对应网络号和子网号
- 用连续的比特0对应主机号
默认子网掩码
习题一
习题二
2、无分类编址的IPv4地址
(1)CIDR无分类域间路由选择
CIDR消除了传统的A类、B类、C类地址,以及划分子网的概念
IP地址子网部分长度任意
地址格式:a.b.c.d/x(x是网络号的位数)
eg:128.14.35.7/20 指32位IPv4地址前20bit为网络号
习题一:
习题二:
可分配的主机数为2,因为题目给的目的地址是广播地址,所以所以主机都能被广播到,因此是2
习题三:
(2)路由聚合(构造超网)
3、主机如何获得IP地址?
(1)动态主机配置协议DHCP
- 动态主机配置协议DHCP:应用层协议,使用C/S方式,基于UDP
- 动态地从网络服务器获得IP地址 、子网掩码、默认网关、DNS服务器名称与IP
- 允许地址重用——一个主机来了,DHCP服务器分配一个ip给它,它走了,新主机来了,可以把刚刚的地址给新的主机用
- 支持在用地址续租
- 即插即用协议,零配置协议
DHCP协议工作过程:
- 主机广播DHCP发现报文 —— “有没有DHCP服务器呀?” DHCP服务器获得一个IP地址
- DHCP服务器广播DHCP提供报文 —— “这里有!” 服务器拟分配给主机一个IP地址及相关配置
- 主机广播DHCP请求报文 —— “我开始用这个地址啦?” 主机向服务器请求提供IP地址
- DHCP服务器广播DHCP确认报文 —— “用吧!” 正式将IP地址分配给主机
(2)获取一块IP地址方法:从ISP获取一组地址
ISP的地址块 200.23.16.9/20 11001000 00010111 00010000 00000000
组织0200.23.16.9/23 11001000 00010111 00010000 00000000
组织1200.23.18.9/23 11001000 00010111 00010010 00000000
组织2200.23.20.9/23 11001000 00010111 00010100 00000000
……
组织7200.23.30.9/23 11001000 00010111 00011110 00000000
4、网络地址转换NAT
网络地址转换NAT:在专用网连接到因特网的路由器上安装NAT软件,装了该软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址
5、IPv6数据报格式
- 版本【4bit】:IPv6将该字段设置为6
- 流标签【20bit】:属于同一个流的数据报有同一流标签
- 跳数限制:每经过一个路由器-1,变0则丢弃