第四章
网络层概述
- 转发和路由选择:数据平面和控制平面
- 传统的控制方法和SDN的控制方法
- 路由器的工作原理及数据转发原则
网络层作用
- 路径选择,选择数据报经过的路由器
- 网络层的路由器中进行存储、交换、转发
- 拥塞控制,选择不堵的路径传输
- 呼叫准入,首先左主机先发送一个控制包给右主机,这个控制包说明了自己视频数据所需要的带宽等等信息,那么这个包所途径的路由器都会首先查看自己能不能满足这个需求,如果不能就返回一个不能的信息,如果能就按照路由表向右主机传送
网络层主要功能
本层通过寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。具体同上
数据平面和控制平面概念
交换机数据平面:
交换机的基本任务是处理和转发交
换机各不同端口上各种类型的数据,L2/L3/ACL/QOS/组播/安全防护等各种具体的数据处理转发过程,都属于交换机数据平面的任务范畴。
交换机控制平面:
交换机的控制平面用于控制和管理所有网络协议的运行。控制平面提供了数据平面数据处理转发前所必须的各种网络信息和转发查询表项
网络层服务类型
协议:IP,ICMP,IGMP,ARP,RARP
IPv4协议
- IPv4协议
- IP地址的含义
- IP地址的分配原则
- NAT
IP协议作用
设计IP的目的是提高网络的可扩展性:
- 解决互联网问题,实现大规模、异构网络的互联互通;
- 分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。
IP只为主机提供一种无连接、不可靠的、尽力而为的数据包传输服务
IP首部格式
IP分片与重组
分片时,上图的三位标志符:
- 0:保留; 必须为零。
- 1位(为1时):不分段(DF)
- 2位(为1时):更多片段(MF)
例子:
对于1500字节的MTU和20个字节的报头大小,该片段的偏移将是(1500年至1520年)/ 8 = 185。这些倍数倍数0,185,370,555,740,…
它有可能为一包在一个路由器进行分段,并在另一路由器进行分段的片段。例如,考虑4500个字节,没有选项大小和20字节的IP报头大小传输层段。因此IP分组大小为4,520字节。
重组:
- 首先根据分片标志中的 MF(More Fragment)位 (MF位为1表示当前数据报还有更多的分片,为0表示当前分片是该数据报最后一个分片。)判断是否是最后一个分片报文,如果是,则根据分片偏移量计算各个分片报文在原始数据报中的位置,进行重组。
IP地址概念
用32位二进制来表示,也就是32比特,换算成字节,就是4个字节。
这些位通常被分割为4个部分,每一部分8位二进制,中间使用符号“.”分开,分成4部分的二进制地址,10101100.00010000.00011110.00111000, IP地址经常被写成十进制的形式,于是,上面的IP地址可以表示为“172.16.30.56”。
IP地址决定了数据包最终到达哪一个计算机(终点)
MAC地址:MAC地址决定了该数据包下一跳由哪个设备接收,不一定是终点。(可能是路由节点或终点)
子网划分(含变长子网)
概念:借用现有网段的主机位做子网位,划分出多个子网
IP分类
A类地址:网络地址的最高位是0的地址为A类地址,默认子网掩码为255.0.0.0
B类地址:网络地址的最高位是10的地址为B类地址,默认子网掩码为255.255.0.0
C类地址:网络地址的最高位是110的地址为C类地址,默认子网掩码为255.255.255.0
D类地址和E类地址(不要求):网络地址的最高位是1110的地址为D类地址(多用于多播组播)
私网地址:
- A类:10.0.0.0 255.0.0.0,保留了一个A类网络。
- B类:172.16.0.0 255.255.0.0~172.31.0.0 255.255.0.0,保留了16个B类网络。
- C类:192.168.0.0 255.255.255.0~192.168.255.0 255.255.255.0,保留了256个C类网络。
私网地址访问Internet需要NAT或PAT
等长子网划分
将一个网段等分成多个网段,也就是等分成多个子网。
- A和B两个子网的子网掩码都为255.255.255.128,
A子网可用的地址范围为192.168.0.1~192.168.0.126
B子网可用的地址范围为192.168.0.128~192.168.0.254
规律:等分N个子网,则默认网关往后移位
每个子网的最后一个地址都是本子网的广播地址,不能分配给计算机使用,的A子网的63、B子网的127、C子网的191和D子网的255
变长子网划分
如果一个子网地址块是原来网段的 N等分,子网掩码就
在原网段的基础上后移n位,不等长子网,子网掩码也不同。
CIDR与超网
子网掩码中1的个数被称为CIDR值。
例:
/26表示网络部分为前26位,再将主机部分归零得到子网地址,转换为十进制得192.168.0.64
超网
合并网段
- 子网掩码往左移1位,能够合并两个连续的网段,但不是任何连续的网段都能合并
- 判断连续的2个网段是否能够合并,只要第一个网络号能被2整除,就能够通过左移1位子网掩码合并。
类推4个网段合并左移2位,8个网段左移3位…
合并之后,IP地址192.168.0.255/23就可以给计算机使用
判断一个网段到底是子网还是超网,就要看该网段是A类网络、还是B类网络、还是C类网络,默认A类子网掩码/8,B类子网掩码是/16,C类子网掩码是/24,如果该网段的子网掩码比默认子网掩码长,就是子网,如果该网段的子网掩码比默认子网掩码短,则是超网
例:12.3.0.0/16(子网,8<16)
路由转发分组原则
数据路由:路由器在不同网段转发数据包;
网络畅通的条件:数据包能去能回;
-
从源网络发出时,沿途的每一个路由器必须知道到目标网络下一跳给哪个接口;
-
从目标网络返回时,沿途的每一个路由器必须知道到源网络下一跳给哪个接口;
路由算法
- 路由选择算法
- RIP协议
- ICMP
- 静态路由,OSPF
控制平面两种实现方式
路由选择算法机器分类
Dijkstra算法
- 从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止
Bellman-Ford方程(动态规划)
具体详见Bellman-Ford算法
ICMP
验证网络是否畅通(ping原理)
功能:
- 确认IP包是否成功到达目标地址
- 通知在发送过程中IP包被丢弃的原因
RIP协议
基于基于距离矢量算法
只关心相邻路由器
三要点:
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- 按固定的时间间隔交换路由信息,例如,每隔 30 秒。
协议步骤:
收到相邻路由器(其地址为 X)的一个 RIP 报文:
- 先修改此 RIP 报文中的所有项目:把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。
- 对修改后的 RIP 报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中,则把该项目加到路由表中。
否则
若下一跳字段给出的路由器地址是同样的,则把收到的项 目 替换原路由表中的项目。
否则
若收到项目中的距离小于路由表中的距离,则进行更新,否则,什么也不做。 - 若 3 分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
- 返回。
OSPF
OSPF区域分为主干区域和其他下层区域
这样这些区域构成的自治系统就完成系统的网络拓扑图的构建,而再与其他自治系统的交流时,只需要有一个主干路由器作为自治系统边界路由器就能与其他自治系统交流了
采用链路状态路由算法(Dijkstra算法)
优势(相较RIP):
- 安全(security): 所有OSPF报文可以被认证
(预防恶意入侵) - 允许使用多条相同费用的路径 (RIP只能选一条)
- 对于每条链路,可以针对不同的TOS设置多个不 同的费用度量 (e.g., 卫星链路可以针对“尽力” (best effort) ToS设置“低”费用;针对实时ToS 设置“高”费用)
- 集成单播路由与多播路由:
多播OSPF协议(MOSPF) 与OSPF利用相同的 网络拓扑数据 - OSPF支持对大规模AS分层(hierarchical)
AS:聚合路由器为一个区域:自 治 系 统,
同一AS内的路由器运行 相同的路由协议(算法),分区域管理
借助了许多博客资料,侵删…