目录
4.1内部网关协议RIP(Routing Information Protocol)
4.2内部网关协议OSPF(Open Shortest Path First Interior Gateway Protocol)
一、网络层提供的两种服务
网络层:向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。在通信前需要先建立虚电路,确保通信所需资源。
包括:虚电路和数据报服务。
1.1虚电路
只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式进行传送。
1.2数据报
每一个分组(IP数据报)独立发送,与其前后的分组无关(不进行编号)。
1.3虚电路与数据报的对比
虚电路服务 | 数据报服务 | |
思路 | 可靠通信应当由网络来保障 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 尽在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有终点的完整地址 |
分组的转发 | 属于同一个虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当结点出 故障时 | 所有通过出故障的虚电路均不能工作 | 出故障的结点可能会丢失分组,一些路由可能会发生变化 |
分组顺序 | 总是按发送顺序到达终点 | 到达终点时不一定按发送顺序 |
端到端的差错处理和流量控制 | 可以由网络负责, 也可以由用户主机负责 | 由用户主机负责 |
二、IPv4
地址分类:分为A,B,C,D,E五类,由网络号和主机号组成。
地址解析协议ARP
作用:为了从网络层的IP地址解析出在数据链路层使用的硬件地址。
原理:在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表会经常动态更新。
注:从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
IP数据报的格式
- 首部长度:占4位,可表达的最大十进制数值是15。
- 总长度:占16位,指首部和数据之和的长度。
- 片偏移:占13位,分片后某片在原分组中的相对位置,以8个字节为偏移单位。
- 首部检验和:占16位,只检验数据报的首部,不包括数据部分。
- 源地址字段:占4B,标识发送方的IP地址。
- 目的地址字段:占4B,标识接收方的IP地址。
划分子网
原因:每个物理网络分配一个网络号会使路由表变得太大,IP地址空间的利用率很低,不够灵活。因此,一个拥有许多物理网络的单位,可将所属的物理网络划分为若干各子网。
特点:网络单位划分子网只在内部进行,其对外仍然表现为一个网络。本网络以外的网络不知道其是由多少各子网组成。
方法:从网络的主机号借用若干位作为子网号,当然主机号也就减少了同样的位数,于是两级IP地址在本单位内就变成了三级IP地址,增加了灵活性。
IP地址 = {<网络号>, <子网号>, <主机号>}
子网掩码
从IP数据报的首部我们是无法看出源主机或目的主机多连接的网络是否进行了子网的划分。因此需要使用子网掩码,表示对原网络中主机号的借位。路由表中也必须有子网掩码,若网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。
A、B、C类地址的默认子网掩码分别是:255.0.0.0、255.255.0.0、255.255.255.0
注:
通过IP地址与子网掩码, 执行相与操作后,才得到网络地址。相同的IP地址和不同的子网掩码可以得到相同的网络地址。
为提高性能IPv4还使用:可变长子网掩码(VLSM)和无分类编址CIDR(构造超网)。
使用子网时分组的转发过程
路由表中必须包含:目的网络地址、子网掩码、下一跳地址
路由器转发分组的算法:
- 从收到的IP数据报的首部提取目的IP地址D
- 先判断是否为直接交付,否则向下继续执行3
- 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由器中所指明的下一跳路由器。否则实行5
- 对路由表每一行,用其中的子网掩码和IP地址D逐位相“与”,其结果为N。若N与该行的目的地址匹配,则把数据报传送给指明的下一跳路由器;否则跳过4
- 若路由器中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器,否则执行6
- 报告转发分组出错
无分类编址CIDR(构造超网)
CIDR不再使用子网,更有效地分配地址空间。但其仍然使用“掩码”这一名词(称地址码)。CIDR 使用“斜线记法”把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”CIDR使用32bits的地址掩码,例如128.14.32.0/20 表示的地址块共有 212个地址。因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是12位。一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,也称为构成超网。
IP地址 = {<网络前缀>, <主机号>}
例题:
注:以太网交换机连接同一网络地址,路由器可连接不同网络地址。
三、网际控制报文协议ICMP
作用:提高IP数据报交付成功的机会,更有效的转发IP数据报
分为两种:ICMP差错报告报文和ICMP询问报文
3.1差错报告报文的类型:
- 终点不可达:当路由器或主机不能交付数据报时,向源点发送终点不可达报文。
- 时间超过 :当收到生存时间TTL为0数据报时,除丢弃该数据报外,还向源点发送时间超过报文。
- 参数问题 :当收到数据报的首部中有的字段的值不正确时,丢弃该数据报并向源点发送参数问题报文。
- 改变路由(重定向):路由器把改变路由报告给主机,让主机知道下次应将数据发送给另外的路由器。
3.2询问报文的类型
- 回送请求和回答(最常见使用:组间互ping,测试连通性)
- 时间戳请求和回答
四、路由选择协议
路由算法有两大类:静态路由选择策略(非自适应路由选择)、动态路由选择策略(自适应路由选择)
互联网络要求路由算法能否随网络的通信量或拓扑结构自适应地进行调整来划分,则用的路由选择协议主要是自适应、分布式路由选择协议。
在单一技术管理下的一组路由器,使用一种自治系统AS(autonomous system)内部的路由选择协议和共同的度量。一个AS对其他的AS表现出的是一个单一且统一的路由选择策略。
路由选择协议分为:① 内部网关协议RIP ② 内部网关协议OSPF ③ 外部网关协议BGP
4.1内部网关协议RIP(Routing Information Protocol)
特点:
- 是一种分布式的基于距离向量的路由选择协议,使用距离向量算法。
- 只适用于小型的互联网。
- 固定的时间间隔,仅仅与邻路由器交换信息(路由表)。
要求:网络中的每一个路由器都要维护从它自己到其他各个目的网络的距离记录。
记录规则:
- 从路由器到直接连接的网络的距离定义为1
- 从路由器到非直接连接的网络的距离定义为:所经过的路由器数加1(距离也称为“跳数”)。
内部网关协议RIP——距离向量算法
路由器收到相邻路由器(其地址为 X)的一个 RIP 报文:
- 先修改此 RIP 报文中的每一项目:将“下一跳”字段中地址都改为 X,并把所有的“距离”字段的值加 1。
- 对修改后的 RIP 报文每一项目,重复以下步骤:若目的网络不在路由表中,则把该项目加到路由表中;若目的网络已在路由表中, 且查看下一跳字段的路由器地址。
- 若 3 min还没有收到相邻路由器的更新路由表,则将此相邻路由器记为:距离置为 16(代表不可达路由器)。
- 返回。
4.2内部网关协议OSPF(Open Shortest Path First Interior Gateway Protocol)
使用了Dijkstra最短路径算法SPF(Shortest Path First)
最主要的特征:使用分布式的链路状态协议
- 使用洪泛法向本AS中所有路由器发送信息(只相自己相邻的路由器发送信息,收到更新分组后要发送确认)
- 发送的信息就是与本路由器相邻的所有路由器的链路状态(包括与哪些路由器相邻+度量信息(费用、时延、带宽等))
- 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送上述链路状态信息。
OSPF将每个AS划分为若干个区域:
- 主干路由器(R3,R4,R5,R6,R7)
- 区域边界路由器(R3,R4,R7);AS边界路由器(R6)
所有的路由器最终都能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。
五种分组类型:
- 问候分组
- 数据库描述分组
- 链路状态请求分组
- 链路状态更新分组:用洪泛法对全网更新链路状态。
- 链路状态确认分组
4.3外部网关协议BGP
使用BGP的原因:内部网关协议主要是使数据报在一个AS中尽可能有效地传送。
但是:(1)互联网的规模太大,AS之间路由选择非常困难(2)AS之间的路由选择必须考虑有关策略
因此:使用BGP仅寻找一条比较好的能够到达目的网络的路由,无需寻找最佳路由。
特点:BGP采用了路径-向量路由选择协议
BGP使用四种报文:
- 打开报文:与相邻的BGP发言人建立关系
- 更新报文:发送路由的信息
- 保活报文:确认打开报文,并周期性地证实邻站关系
- 通知报文:发送检测到的差错
4.4三种路由协议的比较
五、IPv6
作用:为解决IPv4的IP地址即将耗尽问题,又开发了IPv6。
从IPv4到IPv6的主要变化:
- 更大的地址空间,32为变为128位
- 扩展的地址层次结构
- 灵活的首部格式
- 改进的选项
- 允许协议继续扩充
- 支持即插即用
- 支持资源的预分配
- IPv6首部改为8字节对齐
IPv4向IPv6过渡可以采用:双协议栈和隧道技术
- 双协议栈:一台设备上同时装有IPv4和IPv6协议栈。
- 隧道技术:将整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6可以在IPv4网的隧道中传输。
六、网络层设备
网络层中断系统:路由器
路由器:是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组,按照分组要去的目的地,从合适的端口转发给下一跳路由器。
路由器的作用: 转发分组,连接不同的网络。
其结构划分为两大部分:
- 路由选择部分:是路由器控制部分,核心构件是路由选择处理机。其任务:①根据路由选择协议构造路由表②不断更新和维护路由表
- 分组转发部分有三个结构组成:① 交换结构 ②输入端口③输出端口