目录
过滤策略---filter-policy(分发列表---cisco)
第二章 HCIA复习
OSI参考模型
-
应用层---人机交互接口
-
表示层---格式化数据
-
会话层---建立、维护、管理会话连接
-
传输层---建立、维护、管理端到端的连接
-
网络层---IP逻辑寻址、路由选择
-
数据链路层---控制网络层与物理层之间的通讯
-
物理层---比特流传输
ARP协议
通过一种地址获取到另一种地址信息
-
正向ARP
-
反向ARP
-
免费ARP
TCP/IP模型
将OSI三层统一为应用层,将下两层统一为网络接口层
四层模型---TCP/IP标准模型
五层模型---TCP/IP对等模型
跨层封装
目的---提高封装和解封装的速度,加快传输效率
-
跨四层封装---应用在直连路由设备之间
-
跨三、四层封装----应用在直连交换设备之间
<span style="background-color:#f8f8f8"><span style="color:#333333">DSAP---标识接收方上层处理该数据包的模块
SSAP---标识发送方上层处理该数据包的模块
Control---决定了数据传输的方式
无连接模式
面向连接模式---分片、重组、排序</span></span>
IP地址
<span style="background-color:#f8f8f8"><span style="color:#333333">单播地址---既能作为源IP地址,又能作为目的IP地址
组播地址---只能作为目的IP地址
广播地址---只能作为目的IP地址
单播地址
A:掩码8
B:掩码16
C:掩码24
组播地址
D:
保留地址
E</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333">A类私网:10.0.0.0-10.255.255.255
B类私网:172.16.0.0-172.31.255.255
C类私网:192.168.0.0-192.168.255.255
特殊IP地址
环回地址---127.0.0.1-127.255.255.254
受限广播地址---255.255.255.255
主机位全1---直接广播地址---192.168.1.255/24
主机位全0---网络地址---192.168.1.0
0.0.0.0---所有IP、没有IP
169.254.0.0/16---本地链路地址/自动私有地址</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333">http---80------www代理服务---8080
ssh----22
telnet-23
ftp----20/21
dns----53
https---443</span></span>
VLSM---可变长子网掩码
从主机位向网络位借位。借出的位被称为网络位
CIDR---无类域间路由
思路:取相同,去不同
超网----汇总后的掩码小于主类掩码
子网汇总---汇总后的掩码大于主类掩码
DHCP服务
应用层 | DHCP-Discover |
---|---|
传输层 | 基于UDP进行封装。源端口-68;目标端口-67 |
网络层 | 基于IP协议进行封装。源IP-0.0.0.0;目IP-255.255.255.255 |
数据链路层 | 基于以太网封装。源MAC-00:16:D3:23:68:8A;目MAC-FFFF-FFFF-FFFF |
交换机转发原理
<span style="background-color:#f8f8f8">交换机在接收到电信号后,会将电信号转换为二进制,之后截取数据帧。查看数据帧中的源MAC地址,将该数据包进入的接口与该MAC地址形成对应关系记录在MAC地址表(300S)。
之后,查看数据帧中的目标MAC地址,基于目标MAC地址查询本地MAC地址表,如果表中存在记录,则按照记录进行指导转发;若表中没有记录,则将进行洪泛(交换机将数据除了进入的接口外的所有接口发送一遍)。
>
>
> 交换机洪泛的情况
> 1、遇到广播帧
> 2、遇到组播帧
> 3、遇到未知的单播帧
------
#### HTTP协议---超文本传输协议</span>
应用层 | DHCP-Offer(网络参数) |
---|---|
传输层 | 基于UDP封装。源端口-67;目标端口-68。 |
网络层 | IP协议;源IP:68.85.2.1;目IP:68.85.2.101 |
数据链路层 | 以太网协议;源MAC:00:22:6B:45:1F:1B;目MAC:00:16:D3:23:68:8A |
应用层 | DHCP-Request----用来正式请求IP地址/通告其余DHCP服务器 |
---|---|
传输层 | 基于UDP进行封装。源端口-68;目标端口-67。 |
网络层 | 基于IP协议进行封装。源IP-0.0.0.0;目IP-255.255.255.255 |
数据链路层 | 基于以太网封装。源MAC-00:16:D3:23:68:8A;目MAC-FFFF-FFFF-FFFF |
应用层 | DHCP-ACK |
---|---|
传输层 | 基于UDP封装。源端口-67;目标端口-68。 |
网络层 | IP协议;源IP:68.85.2.1;目IP:68.85.2.101 |
数据链路层 | 以太网协议;源MAC:00:22:6B:45:1F:1B;目MAC:00:16:D3:23:68:8A |
DNS服务
<span style="background-color:#f8f8f8"><span style="color:#333333">http://www.baidu.com:80/news/index.html---->URL资源定位符</span></span>
DNS基于UDP/TCP的53号端口传输数据
<span style="background-color:#f8f8f8"><span style="color:#333333"> UDP规定,报文最大长度为512字节,当DNS查询报文超过512字节时,协议内的TC标记位会置为1,则使用TCP传输数据。</span></span>
DNS查询过程---递归查询/迭代查询
应用层 | DNS请求报文 |
---|---|
传输层 | UDP;源端口:随机;目端口:53 |
网络层 | IP协议;源IP:68.85.2.101;目IP:68.87.71.226 |
数据链路层 | 以太网封装;源MAC:00:16:D3:23:68:8A;目MAC:00:22:6B:45:1F:1B |
网络层 | ARP协议;源IP:68.85.2.101;目IP:68.85.2.1 |
---|---|
数据链路层 | 以太网封装;源MAC:00:16:D3:23:68:8A;目MAC:FFFF-FFFF-FFFF |
路由器的转发原理:路由器基于数据包的目的IP地址查询本地全局路由表;若表中有记录,则无条件按记录转发;若没有记录,则丢弃该数据包
TCP---传输控制协议
是一种面向连接的可靠协议
可靠性
-
确认----每收到一个报文,就需要进行一次信息确认
-
重传---超时重传,当一个数据中的某一个数据报文丢失,会要求重新传输丢失的报文
-
排序---一个数据段被分为多个数据包,从不同路径进行传输,最终达到目的地的顺序被打乱,需要重新排组。---依据序列号字段完成
-
流控---滑动窗口---通过调节窗口大小(无需等待确认就可以连续发送的数据的最大量)来对流量的流速进行控制
面向连接
-
三次握手
-
四次挥手
应用层面 | HTTP请求报文---请求方式:GET |
---|---|
传输层 | TCP;源端口:随机端口;目端口:80 |
网络层 | IP协议;源IP:PC;目IP:Web服务器 |
数据链路层 | 以太网协议;源MAC:连接服务器的接口;目MAC:服务器MAC |
静态路由
-
安全
-
稳定
-
资源占用
缺点
-
配置量大
-
维护困难
静态路由配置
法一:ip route-static 192.168.2.0 24 12.0.0.1
需要递归来查找路由的出接口
方法二:ip route
路由器发送ARP的方式
-
以目的IP为ARP请求内容发送
-
以下一跳IP地址为ARP请求内容发送
静态路由扩展配置
负载均衡---等价路由
目的相同,路由来源相同,开销相同,且下一跳相同
手工汇总
减少路由表条目,加速设备查找路由速度
缺省路由
[r3]ip route-static 0.0.0.0 0 LoopBack 0
路由黑洞
造成
空接口防环
浮动静态路由
作业
静态路由与BFD联动
BFD---双向转发检测机制
是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通情况
第二章 网路类型及数据链路层协议
网络类型是根据数据链路层所运行的协议及规则来划分的
网络类型的分类
-
p2p-----point to point----点到点网络
-
MA-----Multi-access Network---多点接入网络
-
BMA---Broadcast Multi-access Network-----广播型多点接入网络
-
NBMA---Non Broadcast Multi-access Network-----非广播型多点接入网络
-
数据链路层协议
MA网络
以太网协议
特点---需要使用MAC地址对设备进行区分和标识
BMA网络的构建方式:使用以太网线缆连接设备的以太网接口,形成的网络就是以太网网络,所运行的二层协议就是以太网协议
以太网核心技术---频分技术
P2P网络
不需要MAC地址进行通讯
p2p网络定义----当一个网络在只能存在两台设备,并且不允许第三台设备加入,这样的网络被称为p2p网络
点到点网络的搭建:使用串口线缆连接设备的串线接口,形成的网络
串线的标准
-
E1标准---传输速率为2.048Mbps---欧洲标准
-
T1标准---传输速率为1.544Mbps---北美标准
HDLC----高级数据链路控制协议
满足工业标准的标准HDLC协议
<span style="background-color:#f8f8f8"><span style="color:#333333">ISP根据SDLC(面向比特的同步数据链路控制协议)改进而来的HDLC协议
同步---以帧为单位来传输数据
异同---以字节为单位传输数据</span></span>
非标的HDLC协议
上述两种协议
HDLC网络搭建
华为设备串口网络默认使用协议ppp
HDLC接口地址借用
在串线中无需配置接口IP地址,只需从环回接口借用一个IP即可,但需要在对端设备补充路由信息。且环回接口的IP地址配置为掩码32位,对端的路由信息编写主机路由
PPP---点到点协议
优点
-
兼容性
-
可移植性
-
速率快,因为ppp协议没有重传机制
PPP会话的建立
-
链路建立阶段
-
认证阶段
-
网络层协议协商阶段
PPP链路建立过程
-
Dead阶段---物理层不可用阶段
-
Establish---会进行LCP参数协商
-
Authenticate---认证阶段
-
该阶段不是必选项
-
-
Network---NCP参数协商
-
Terminate阶段---该阶段在进行资源释放,若所有资源均被完全释放,则回到dead阶段
PPP数据帧结构
LCP协议----链路控制协议---完成ppp会话建立第一阶段的协商
NCP协议---网络控制协议---一系列协议的总称,完成ppp会话建立第三阶段时针对网络层协议进行协商。若网络
层使用IP协议,则对应使用NCP协议的IPCP
LCP协议报文
-
链路配置报文
-
链路终止报文
-
Terminater-Request
-
Terminater-ack
-
-
链路维护报文
-
Echo-Request----回波请求
-
Echo-Reply--------回波应答
-
链路建立阶段---LCP建立
<span style="background-color:#f8f8f8"><span style="color:#333333">1、MRU值-----PPP数据帧所允许携带的最大数据单元,单位字节,默认值1500
2、认证------协商PPP会话建立第二阶段是否需要进行认证,以及使用何种方式认证
3、魔术字----用于检测链路中是否存在环路</span></span>
协商过程
<span style="background-color:#f8f8f8"><span style="color:#333333"> A设备发送链路配置请求报文给对端,若没有收到对端回复的任何一个链路配置报文,则每隔3s重传一次链路配置请求报文,如果连续10次发送链路配置请求,仍然没有收到回复报文,则认为对端不可用,停止发送报文。
如果对端不认可某些参数的数值,则回复的是NAK报文,该报文将携带不认可的参数以及该参数的数值范围。本端收到该报文后,根据内容重新发送链路配置请求
如果对端不认可某种参数,则回复Reject报文,该报文携带不认可的参数。本端收到该报文后,删除该参数</span></span>
认证阶段
PPP本身不具备认证等功能,是通过调用AAA框架来完成的
该认证可以是单向或双向。------一般实际应用汇总采用单向认证
-
PAP----密码认证协议
P2P是将需要认证的用户名和密码以明文的形式携带
CHAP---挑战握手协议
认证双方通过对比摘要值的方式进行认证
网络层协议协商阶段---NCP协商
如果网络层使用的是IP协议,则需要使用IPCP协议协商
-
协商内容
-
IP报文的压缩方式
-
IP地址---1、协商IP地址是否为可用IP地址;2、该IP地址是否与本地冲突
-
-
协商过程
-
静态协商
-
第三章 GRE和MGRE
VPN---虚拟专用网络:是指依靠ISP或其他NSP在公用网络基础设施之上构建的专用的安全数据通信网络,只不过这个专线网络是逻辑上的而非物理的。
-
虚拟---使用公共网络资源建立自己的私有网络
-
专用---用户按需构建
-
核心技术---隧道技术
GRE---通用路由封装
隧道技术---在隧道两端,通过封装及解封装技术在公网上建立一条数据通道,使用这条数据通道进行数据传输
MGRE---多点通用路由封装
MGRE这个逻辑拓扑是网络中存在多个节点,但是本身在发送数据时,还是依旧点到点
NHRP---下一跳解析协议
在私网中选择一个出口物理IP不会发生改变的设备作为NHRP的中心节点(NHS)。这样,剩下的分支都可以知道中心节点的隧道IP地址和物理IP地址。
然后,NHRP要求所有分支都需要将自己的物理接口IP地址和虚拟接口IP地址
Hub-Spoke架构
-
Hub就是服务端---中心节点
-
Spoke客户端---分支节点
Hub配置
DSVPN---动态智能VPN技术
mgre+nhrp
Mgre隧道--->静态隧道(spoke到hub)、动态隧道(spoke到spoke)
NHRP映射表
-
静态表项
-
有网络管理员手动配置
-
-
动态表项
-
由NHRP协议动态生成
-
hub节点通过nhrp注册报文提取各个spoke的tunnel地址和公网地址生成nhrp动态映射表
-
各个spoke通过nhrp
-
老化时间---7200s
-
NHRP映射表的建立过程
建立spoke和hub之间的mgre隧道
-
spoke向hub注册
分支之间的路由学习
-
分支之间相互学习路由信息---非shortcut方式
建立spoke与spoke之间的mgre隧道
根据分支之间的路由学习方式不同
第四章 OSPF
OSPF基础
动态路由的评判标准
-
选路
-
占用资源
-
收敛速度
OSPF协议---开放式最短路径优先
-
适用范围---IGP
-
算法类型---链路状态型协议
-
使用算法---SPF算法---最短路径优先算法
-
<span style="background-color:#f8f8f8">OSPFv2和RIPv2对比 相同点: 1、都是无类别路由协议 2、均采用组播方式更新数据 3、均支持等开销负载均衡 不同点: RIPv2仅适用于小型网路;OSPF可以应用在大中型网络中</span>
<span style="background-color:#f8f8f8"><span style="color:#333333">
### OSPF区域划分
**<font color='red'>ospf域</font>**---将一系列的ospf路由器组成的网络称为ospf域
如果一台路由器的多个接口分别接入了不同区域,则它将为**每个区域分别维护一套LSDB**
**多区域的设计限制了TOPO信息的洪泛,有效的将拓扑变化的影响控制在区域内部**
要求:
1、**<font color='red'>OSPF要求域中所有的非骨干区域都必须与Area 0相连</font>**
2、**<font color='red'>骨干区域不能被分割</font>**
OSPF区域结构部署规则的必要性
假定没有“所有非骨干区域都必须与骨干区域相连”规则
![image-20231118221352957](C:\Users\琳娜连老公\AppData\Roaming\Typora\typora-user-images\image-20231118221352957.png)
**<font color='red'>ABR设备(区域边界路由器)</font>**
- 至少连接两个以上的区域
- 连接的区域中至少有一个是区域0(骨干区域)
- 在骨干区域中至少有一个活跃的邻居
作用:将A区域的拓扑转换成路由后,发送到B区域中。---**传递域间路由信息**
**<font color='red'>非骨干之间不允许直接相互发布区域间路由信息</font>**
假定没有‘’骨干区域不能被分割‘’规则
![image-20231118221456239](C:\Users\琳娜连老公\AppData\Roaming\Typora\typora-user-images\image-20231118221456239.png)
**<font color='red'>OSPF规定:从非骨干区域收到的路由信息,ABR设备能接收该路由但不会使用这条路由信息(OSPF的区域水平分割原则)</font>**----**从一个区域学习到的路由信息,不能再传递回该区域**
总结:
</span></span>
OSPF规定: 1、伪ABR设备---不允许转发区域间路由信息 2、真实ABR设备 能够将自己直连的非骨干区域的区域内路由信息传递给骨干区域 能够将自己的直连的骨干区域的区域内路由信息传递给非骨干区域 能够将自己从骨干区域学习到的域间路由信息传递给非骨干区域
<span style="background-color:#f8f8f8"><span style="color:#333333">
### OSPF路由器角色
![image-20231118222118644](C:\Users\琳娜连老公\AppData\Roaming\Typora\typora-user-images\image-20231118222118644.png)
- 内部路由器---IR
- 所有接口都属于同一个OSPF区域
- 区域边界路由器---ABR
- 骨干路由器---BR
- 接入Area 0的路由器
- AS边界路由器---ASBR
- 工作在OSPF自治系统边界的路由器
- 负责将域外的路由信息引入到本域内---默认不进行路由引入
- **并不是同时运行了多种路由协议的OSPF路由器就一定是ASBR,ASBR一定是将外部路由重发布到OSPF,或者是执行了路由重分发操作的路由器**。
### **OSPF数据包**
![H](C:\Users\琳娜连老公\AppData\Roaming\Typora\typora-user-images\image-20231118222204891.png)
- hello包
- 用来发现,建立OSPF邻居关系,周期保活。224.0.0.5;10s;40s。
- RID---全局唯一
- 配置方式
- 手工配置:满足32位二进制,且点十分进制表示,全域唯一。
- 自动配置:默认优选最大环回IP地址,没有环回则选择最大物理IP地址
- ```
在启动OSPF进程前,必须有接口IP地址。若有IP地址,则在第一次启动OSPF进程时,会选取第一个配置的IP地址作为RID值。
在思科设备中,若没有IP地址,则OSPF启动失败。
在华为设备中,若没有IP地址,则OSPF启动后,RID为0.0.0.0
华为标准:状态最先UP的接口的IP地址作为RID
RFC标准:
1、取loopback接口IP地址中最大的作为RID
2、取物理接口IP地址最大的作为RID。</span></span>
-
DBD包
-
数据库描述报文
-
报文中携带的是路径信息摘要
-
避免重复更新
-
-
LSR包
-
链路状态请求报文
-
请求获取未知的链路信息
-
-
LSU包
-
链路状态更新报文
-
携带真实的LSA信息的数据包
-
-
LSAck包
-
链路状态确认报文
-
OSPF状态机
-
down---关闭---一旦启动OSPF进入下一状态,并发送hello报文
-
init---初始化状态---收到的hello报文中存在自身的RID值,则进入下一状态
-
2-way---双向通讯----邻居关系建立的标志。---稳定态。
条件匹配:匹配成功进入下一个阶段,匹配失败则停留在2-way状态,保持邻居关系,仅使用hello报文保活。
-
exstart---预启动---使用未携带LSA摘要信息的DBD报文进行主从关系选举,选举规则是RID值越大越优。
-
exchange---准交换----使用携带LSA摘要信息的DBD报文进行链路数据库共享。
-
loading---加载状态---邻居之间使用LSR/LSU/LSAck报文来获取完整的LSA信息。
-
full----转发状态----拓扑交换完成后进入该状态,标志着邻接关系的建立。---稳定态
-
启动配置后,OSPF将向本地所有运行OSPF协议的接口以组播224.0.0.5的方式发送hello报文,hello报文中RID值和接口优先级;此时路由器的状态进入到init。
-
当路由器收到的hello报文中存在本地的RID值(hello包中的邻居字段),会建立邻居关系----生成邻居表。
-
进入2-way状态,在2-way状态后执行条件匹配操作,若选举成功,则进入邻接关系建立过程;若选举失败,则停留在2-way状态,仅使用hello报文进行保活。
-
邻接关系建立
-
使用未携带摘要信息的DBD报文进行主从关系选举,RID值大的为主。主设备会先进入到下一个状态。
-
之后,从设备先发送携带摘要信息的DBD报文进行LSA目录信息共享。
-
主设备通过对比接收到的DBD报文中的摘要信息与自己本地的LSDB数据库信息,从而查找未知LSA。
-
通过发送LSR报文/LSU/LSAck报文获取完整的未知LSA信息。
-
当所有未知LSA信息均获取成功后,填充完整本地的LSDB。
-
-
当网络中所有设备获取到相同且完整的LSDB后,每台设备基于LSDB根据SPF算法生成有向图和最短路径树,之后根据计算结果获知网络中所有的未知网段的最短路径,然后将其添加到本地OSPF路由表中。
-
-
根据本地所有路由表信息,从而选择最优路由加载如全局路由表。
-
此时,网络收敛完成,仅进行Hello包周期保活。且每30min进行一次周期链路状态刷新。
=
条件匹配
选举规则:
-
比较接口优先级,0-255;默认值为1。越大越优。
-
比较RID值,越大越优。
非抢占模式----一旦选举成功,不因为新加入的设备而重新选举。
选举过程:
<span style="background-color:#f8f8f8"><span style="color:#333333">1、DR、BDR的选举是通过hello报文来实现,选举过程发生在2-way状态之后。
2、路由器将自己接口的DR优先级填写到hello报文中。
3、华为DR修改方式:在接口视图下,ospf dr-priority
4、DR优先级为0的接口不具备DR和BDR的选举资格。
5、当接口激活OSPF后,首先检查接口连接网络上是否存在DR,如果存在,则接收已存在的DR设备(因为非抢占性),否则拥有最高DR优先级的设备接口将成为DR,当优先级相同,则拥由最大RID的路由器接口将成为DR。
6、BDR的选举过程与DR相同,但是在DR选举之后进行。</span></span>
<span style="background-color:#f8f8f8"><span style="color:#333333">Attempt:尝试状态
在NBMA网络类型下,如果需要启动OSPF协议,需要使用peer命令指定邻居IP地址,否则不会发送hello报文,配置该命令后,邻居状态会进入到init。</span></span>
OSPF工作过程
-
启动配置后,OSPF将向本地所有运行OSPF协议的接口以组播224.0.0.5的方式发送hello报文,hello报文中RID值和接口优先级;此时路由器的状态进入到init。
-
当路由器收到的hello报文中存在本地的RID值(hello包中的邻居字段),会建立邻居关系----生成邻居表。
-
进入2-way状态,在2-way状态后执行条件匹配操作,若选举成功,则进入邻接关系建立过程;若选举失败,则停留在2-way状态,仅使用hello报文进行保活。
-
邻接关系建立
-
使用未携带摘要信息的DBD报文进行主从关系选举,RID值大的为主。主设备会先进入到下一个状态
-
之后,从设备先发送携带摘要信息的DBD报文进行LSA目录信息共享。
-
主设备通过对比接收到的DBD报文中的摘要信息与自己本地的LSDB数据库信息,从而查找未知LSA。
-
通过发送LSR报文/LSU/LSAck报文获取完整的未知LSA信息。
-
当所有未知LSA信息均获取成功后,填充完整本地的LSDB。
-
-
当网络中所有设备获取到相同且完整的LSDB后,每台设备基于LSDB根据SPF算法生成有向图和最短路径树,之后根据计算结果获知网络中所有的未知网段的最短路径,然后将其添加到本地OSPF路由表中。
-
-
根据本地所有路由表信息,从而选择最优路由加载如全局路由表。
-
此时,网络收敛完成,仅进行Hello包周期保活。且每30min进行一次周期链路状态刷新。
OSPF基本配置
<span style="background-color:#f8f8f8"><span style="color:#333333">1、启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
2、创建区域
[r1-ospf-1]area 0
3、宣告
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.255.255.255---范围宣告
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 ---精准宣告</span></span>
OSPF报文格式
OSPF报文头部
-
固定长度---24字节
-
路由器ID---路由器的OSPF协议中的RID值
-
区域ID---发出该报文的接口所属于的区域的ID值
-
认证类型
-
不认证
-
明文(简单)认证
-
MD5认证
-
-
认证数据
-
用于报文认证的内容
-
如果认证类型为不认证,则该字段全用0填充
-
Hello包
-
网络掩码(network mask)
-
该字段填充的是发送该hello报文的接口的掩码信息
-
OSPF邻居关系建立过程中需要比对掩码信息,从而验证对端是否路由可达----华为私有
-
如果一方在接口上收到的hello报文中‘’网络掩码‘’字段与本接口不同,则忽略该hello报文,此时邻居关系无法建立。
-
-
如果两台OSPF路由器通过MA网络直连,则需要验证;若通过点到点网络则不需要验证该参数。
-
-
hello间隔
-
间隔周期发送hello报文的时间间隔·---秒
-
两台设备需要保证hello时间间隔相同,否则邻居无法正常建立
-
-
可选项(option)
-
该字段具有8个标记位,每一个标记位为1,则代表OSPF实现某种特性
-
特殊区域标记
-
-
路由器失效时间
-
指的是邻居路由器被视为无效之前,需要待收到对方hello报文的时间---秒
-
两套设备的该参数若不同,则邻居关系无法正常建立
-
所有的224.0.0.X格式的组播地址被称为本地链路组播,目的IP地址是本地链路组播的地址。且TTL值为1.所有的本地链路组播都存在与其对应的组播MAC地址,01-00-5e-0后23位位组播IP地址的后23位
DBD报文
-
使用未携带数据的DBD进行主从关系选举
-
使用携带数据的DBD进行LSA摘要信息共享
-
使用未携带数据的DBD进行隐形确认机制
-
接口最大传输单元-----MTU
-
默认情况下,该字段值为0
-
华为默认不进行MTU检测,可以开启该功能
-
[r1-GigabitEthernet0/0/0]ospf mtu-enable ---开启MTU检测机制,两端都需要开启。
-
如果双方都开启该功能,则进行MTU检测,若两边相同,则检测通过;若两边不同,则状态卡在exstart状态。
-
-
-
I----主从关系选举
-
M----代表后续还存在DD报文
-
MS----代表是否为主设备
-
DD序列号
-
DD报文的序列号,在DD报文交互过程汇总,序列号逐次加一,用于确保DD报文传输的有序和可靠性。
-
DD序列号必须由Master路由器来决定,而从路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。----隐性确认机制。
-
DD报文的交互过程会一直持续,直到双方的LSA摘要信息全部发送完成。---本地的LSDB接收完成。
-
LSR包
'链路状态类型、链路状态ID、通告路由器---LSA三元组,通过这三个参数可以唯一的标识出一条LSA信息
LSU包
LSAck包
显性确认机制
OSPF接口网络类型
所谓的OSPF接口类型,实际上指OSPF的接口在某种网络类型下
广播型多路访问类型---BMA
网络类型 | OSPF接口的网络类型(工作方式) |
---|---|
BMA | Broadcast;可以建立多个邻居关系;需要进行DR和BDR的选举;hello时间10S;dead时间40S |
P2P | P2P,只能建立一个邻居关系。不需要进行DR和BDR的选举;hello时间10s;dead时间40s |
环回接口 | P2P,华为设备定位P2P;该接口实际上没有真实数据的收发,也就意味着不需要进行DR/BDR选举,也不存在邻居关系。hello时间10S;dead时间40S;环回接口默认学习32位主机路由。 |
P2MP,可以建立多个邻居关系,不需要进行DR和BDR的选举;hello时间30S;dead时间120S;会学习邻居接口的主机路由。 | |
NBMA | NBMA,可以建立多个邻居关系,需要进行DR和BDR的选举;hello时间30S;dead时间120S;无法自动建立邻居关系。 |
Vlink;以单播形式发送hello报文。不需要进行DR和BDR的选举;hello时间10S;dead时间40S |
广播域多路访问类型----BMA
<span style="background-color:#f8f8f8"><span style="color:#333333">[r3]display ospf interface GigabitEthernet 0/0/0 ---查看OSPF接口网络类型</span></span>
OSPF在BMA类型的接口上通常以组播的方式发送hello报文、LSU报文以及LSAck报文。以单播的形式发送DD报文和LSR报文。
点到点类型(p2p)
OSPF在网络类型为P2P的接口上以组播的方式发送所有OSPF数据报文
环回接口(虚拟接口)
华为特殊将环回接口的开销值定义为0
类型字段的参数是由P2P进行填充,华为没有为该字段定位内容,而Cisco则定义了一个loopback类型作为环回接口的类型。
所有通过SOPF学习到的环回接口的路由掩码信息都是32位。也就是每台设备学习到的路由条目是主机路由。该方式可以在保证路由信息的精准性的前提下,避免环路或者路由黑洞问题。
<span style="background-color:#f8f8f8"><span style="color:#333333">[r2-LoopBack0]ospf network-type broadcast ---修改接口网络类型;OSPF的邻居之间均需要修改。</span></span>
在DR和BDR选举时,会启动一个waiting计时器,该计时器的时间与dead时间相同,当计时器时间超时后,该接口会认为自己就是DR设备。----且设备会进入exstart状态。
华为将tunnel接口的传输速率定为64Kbps。
在Hub-Spoke架构中,运行MGRE时,使用OSPF协议学习路由信息,需要将隧道接口的OSPF网络类型修改为BMA,全网均修改。且手工干涉DR选举,将DR选举在Hub节点。
点到多点类型(p2mp)
只能由网络管理员手动修改设置
在P2MP网络中,接口
非广播型多路访问类型(NBMA)
在NBMA网络中,邻居双方均需要手工指定自己的邻居,从而才可以发送出OSPF报文信息。在该接口网络类型下,所有的OSPF报文以单播的形式发送数据
OSPF的不规则区域划分
-
所有非骨干都必须与骨干直接相连
-
骨干区域不能被分割
不规则区域主要由两种情况
-
远离骨干的非骨干区域
-
不连续骨干区域
解决不规则区域的最佳方式---重新规划OSPF配置和内容,使得整个OSPF域满足区域划分
解决方案
使用tunnel隧道
使用该方式解决不规则区域的问题
-
可能产生选路不佳
-
可能造成重复更新
-
因为存在虚拟链路,R2和R3之间也需要建立邻居关系。导致它们之间维护的周期性数据将穿越中间区域,导致中间区域的资源消耗增加
虚链路---Vlink
专门为了解决OSPF不规则区域所诞生的技术
路由:让真实的ABR设备给伪ABR设备进行一次担保,给予伪ABR设备传递路由的功能,或者说给予一个ABR设备的权限。
配置
<span style="background-color:#f8f8f8"><span style="color:#333333">[r2-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3 ----建立Vlink邻居,该参数为邻居的RID值
[r3-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2</span></span>
配置位置在于设备需要穿越的区域。虚链路的只能穿越一个区域。---原因在与配置的时候使用的是RID值,而RID值只能在同一区域找到,设备无法跨越区域找到RID所对应的设备。
[r2]display ospf vlink ---查看vlink邻居关系
Vlink被视为是骨干区域的一段延伸(Vlink永远属于area 0)
缺陷:
-
只能穿越一个区域
-
Vlink之间需要建立邻居,故会消耗穿越区域中的链路资源
实际上,Vlink更多应用在一些修复次优路径或骨干区域不健壮问题上。
骨干链路单点故障问题
Vlink环路问题
场景一
Vlink选择不恰当,可能会引发环路问题。----解决方式,在物理链路相连的两台设备上建立vlink。
场景二
解决思路:OSPF规定,Vlink所在的费骨干区域,不能传递汇总路由。也就是说,ABR设备不能向配置了vlink链路的区域传递汇总路由。
多进程双向重发布
配置
<span style="background-color:#f8f8f8"><span style="color:#333333">[r3-ospf-1]import-route ospf 2
[r3-ospf-2]import-route ospf 1</span></span>
此时R3被称为ASBR,因为其运行在不同的网络中,且执行了重发布操作
重发布就是在运行了不同协议或不同进程的边界设备上,将一种协议按照另一种协议的规则发布出去。
重发不操作在引入路由信息时,会清除掉该路由信息原本的度量值,但是引入时,该参数不能没有,故会赋予路由信息一个种子度量值。
OSPF对于域外路由信息的标识为O-ASE:优先级为150
(域内优先级高于域外优先级)
OSPF的LSA详解
LSA头部
-
链路状态老化时间
-
一条LSA的老化时间,16bit的整数
-
当该LSA被始发路由器产生时,该参数有效,且数值为0。之后随着该LSA在网络中被洪泛,老化时间逐渐增加。
-
一般情况下,老化时间不会超过1800s
-
该参数存在最大老化时间---3600s。---当一条LSA的老化时间达到最大老化时间时,将被认定失效,从本地的LSDB中删除
-
在OSPF网络中,只有始发路由器能够提前使某条LSA老化,既有意识的清除该LSA信息
-
-
-
可选项---与hello报文相同
-
链路状态类型---本条LSA的类型,不同LSA类型在描述不同的OSPF信息
-
链路状态ID---LSA标识。不同的LSA类型,该字段内容含义不同
-
通告路由器---产生本条LSA的路由器的RID
-
链路状态序列号---标识一条LSA的新旧
-
每台路由器在发送相同LSA信息时,序列号逐次加一。
-
序列号起始为0x80000001
-
序列号截止为0x7FFFFFFF
-
-
链路状态校验和
-
而是参与到LSA的新旧关系比较中
-
-
长度---LSA的总长度
判断LSA的新旧关系
OSPF使用链路状态序列号、校验个老化时间来判断LSA的新旧关系
-
拥有较高链路状态序列号的LSA被认为是最新的LSA信息
-
如果序列号相同,则比较校验和,拥有较大校验和的LSA被认为更新
-
如果校验和与序列号均相同,则比较老化时间
-
如果某条LSA的老化时间为3600S,则认为该LSA最新
-
如果没有任何一条LSA的老化时间为3600S,则比较两条LSA老化时间的差值
-
如果查值大于15min,则认为老化时间小的LSA为更新
-
如果差值小于15min,则认为这两条LSA相同
-
-
T
类型 | LS ID | 通告者 | 作用范围 | 携带信息 |
---|---|---|---|---|
Type-1 LSA(Router) | 通告者的RID | |||
Type-2 LSA(Network) | DR的接口IP地址 | 单个MA网络中DR所在的路由器的RID | 单区域 | 单 |
Type-3 LSA(Summary) | 路由信息的目标网络号 |
Type-1 LSA
-
V---代表该路由器是Vlink链路的端点
-
E---该路由器为ASBR设备
-
B---该路由器为ABR设备
-
链路数量----该字段指明该一类LSA包含多少条Link。每条link均包含链路ID、链路数据、度量值等信息
-
链路类型---该类型不是所谓的网络类型
-
链路类型不同,导致链路ID和链路数据内容不同
-
-
Type-2 LSA
DR会在本区域内洪泛Type-2 LSA信息,来列举接入该MA网络的所有路由器的信息,以及这个网络的掩码信息。2类LSA有且只有本区域的DR设备可以发送
链路状态ID--->
Type-3 LSA
Type-5 LSA
由ASBR设备发送,在整个OSPF域中传播,传递的是域外的路由信息。
-
度量值---外部路由的开销值
-
该常量值为1。
-
-
E位---用于表示外部路由使用的度量值类型
-
类型1---E位为0,则代表使用类型为1。---域内所有设备到达目标网段的开销值等于本地始发出该条LSA的ASBR的开销值加上种子度量值
-
类型2---默认---当一个域外的LSA信息使用该类型时,则域内所有设备到达域外目标网段的开销值都等于种子度量值
-
-
转发地址---FA
-
默认为0.0.0.0;当FA字段不为0.0.0.0时,则数据层面流量的转发依照转发地址进行数据传输。
-
当同时满足如下条件时,FA字段才允许设定为其他值。
-
-
外部路由标记
-
该参数只有外部路由信息才会携带,常被用于路由策略
-
该字段在华为路由器默认为1
-
Type-4 LSA
4类LSA的LS ID是SABR的RID值。4类LSA又被称为
Type-7 LSA
7类LSA的报文格式与5类LSA相同。
Options字段在5类LSA中,显示为E(代表可以洪泛5类LSA)
路由撤销
1类LSA撤销---通过序列号+1,校验和不变,老化时间=0的方式进行路由撤销
2类LSA撤销---1、使用序列号+1的方式撤销路由(网络中还存在自己的邻居);2、使用老化时间3600s进行路由撤销(网络中不存在自己的邻居)
3类LSA撤销---使用老化时间3600s进行路由撤销,序列号不变
5类/7类LSA撤销---使用老化时间3600s进行路由撤销,序列号不变
OSPF优化
OSPF的优化主要是为了减少LSA的更新量
-
路由汇总---减少骨干区域的LSA
-
OSPF特殊区域---减少非骨干区域的LSA
OSPF路由汇总(路由聚合)
域间路由汇总----在ABR设备上部署
<span style="background-color:#f8f8f8"><span style="color:#333333">[GS-R2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.224.0 ---汇总位置必须是路由信息的来源区域
[GS-R3-ospf-1-area-0.0.0.2]abr-summary 192.168.32.0 255.255.224.0</span></span>
域间路由汇总只能在明细所在区域的ABR身上配置,不能在其余ABR上配置。执行完汇总操作后,只要站点内这条汇总路由所涵盖的明细路由中有一条是有效的,则会继续通告该汇总路由,当所有明细失效后,汇总路由会被撤销。---汇总并不会影响ABR设备自身的明细路由信息
域外路由汇总----在ASBR上配置
<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-ospf-1]asbr-summary 10.1.0.0 255.255.0.0 ---域外路由汇总,在ASBR设备上进行</span></span>
注意内容:所谓的最大开销就是种子度量值。
-
Type-2:汇总网段的开销值等于所有明细路由开销值最大值加1
-
Type-1:汇总网段的开销值等于所有明细路由开销值最大值
OSPF的特殊区域
-
第一大类:1、不能是骨干区域 2、不能存在虚链路 3、不能存在ASBR设备
1、末梢区域(Stub Area)
如果将一个区域配置为末梢区域,则这个区域将不再学习4类和5类LSA。---ABR设备将不会在向该区域转发4类和5类LSA信息。---但是该区域还可能需要访问域外路由信息,故会自动生成一条指向骨干区域的三类缺省路由。
<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-ospf-1-area-0.0.0.2]stub
[r5-ospf-1-area-0.0.0.2]stub </span></span>
所有区域内的设备都必须配置为相同的特殊区域
2、完全末梢区域(Totally Stub)
在末梢区域的基础上,进一步拒绝3类LSA信息,仅保留3类缺省路由信息
<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-ospf-1-area-0.0.0.2]stub no-summary ---完全末梢区域,在ABR上配置即可</span></span>
第二大类:1、不能是骨干区域 2、不能存在虚链路 3、必须存在ASBR设备
3、非完全末梢区域(NSSA)
拒绝4类和5类LSA信息。因为该区域存在ASBR设备,故需要将域外路由信息引入到本区域,因为拒绝5类LSA的学习,所以只能以7类LSA的形式传递。之后,在7类LSA信息离开NSSA区域后,需要在转换为5类LSA进行传输。
将某区域配置为NSSA后,该区域的ABR设备会自动生成一条7类LSA描述的缺省路由信息,指向骨干区域。
<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-ospf-1-area-0.0.0.2]nssa
[r5-ospf-1-area-0.0.0.2]nssa </span></span>
O_NSSA---7类域外路由信息的标记,默认优先级为150
4、完全的非完全末梢区域(totally NSSA)
在NASS区域的基础上,进一步拒绝三类LSA,自动产生一条3类缺省路由
<span style="background-color:#f8f8f8"><span style="color:#333333">[r1-ospf-1-area-0.0.0.2]nssa no-summary ----在ABR设备上配置</span></span>
在完全NSSA区域,会看到3类缺省和7类缺省,设备会选择3类缺省
Type-1 | Type-2 | Tpye-3 | Type-4 | Type-5 | Type-7 | |
---|---|---|---|---|---|---|
常规区域 | √ | √ | √ | √ | √ | × |
stub | √ | √ | √ | × | × | × |
Totally stub | √ | √ | × | × | × | × |
NSSA | √ | √ | √ | × | × | √ |
Totally NSSA | √ | √ | × | × | × | √ |
NASS的环路问题
总结:
-
NSSA区域的7类LSA实际上是需要ASBR或者ABR自己下发的
-
如果多台设备均下发7类缺省路由成功,则虽然都会受到LSA信息,但是并不会将其他路由器发布的路由器加载到本地路由表中。因为始终相信自己的缺省路由是最好的。
NSSA
OSPF对于7转5操作由严格规范:
-
P比特位用于告知路由器该Type-7 LSA是否需要被转换
-
转换路由器是NSSA区域中RID值最大的ABR设备
-
只有P比特位和FA字段不为0的Type-7 LSA才能被转换
NSSA区域如果没有FA字段,将会有很大
FA字段解决NSSA区域环路问题
OSPF综合实验
第五章,重发布及路由策略
重发布
在同一个网络拓扑中,如果存在多种不同的路由协议,由于不同路由协议的机理不同,对路由的处理方式各不相同,这就会在网络中造成路由信息隔离,而在路由协议的边界设备上,将某种路由协议的路由信息引入到另一种路由协议中,这个操作叫做路由引入或路由重发布。----技术叫做重发布
条件
-
必须存在边界设备----同时连接连接两种协议或两个进程
-
必须关注种子度量值---起始度量值
规则
-
重发布技术的配置位置---将A协议发布到B协议中,在边界设备的B协商上配置
-
将A协议发布到B协议中,边界设备将会把所有的通过A协议学习到的路由以及边界设备在A协议上宣告的所有直连路由,全部共享到B协议中---重发布的内容
名词解释
点
-
单点-----两个协议或两个进程之间仅存在一个边界设备
-
双电-----两个协议或两个进程之间仅存在连个边界设备
-
多点-----两个协议或两个进程之间仅存在多个边界设备
向
-
单向-----仅将A协议引入到B协议中
-
双向-----A/B协议的路由共享
单点重发布
配置
-
A---->B
-
[r2-rip-1]import-route ospf 1
在RIP中,种子度量值为0。
<span style="background-color:#f8f8f8">[r2-rip-1]default-cost 2 ----修改种子度量值,全局修改 [r2-rip-1]import-route ospf 1 cost 5 ---针对本次重发布内容修改 当以上两条命令同时执行,则按照第二条规则匹配 [r2-ospf-1]default cost ? ---修改OSPF种子度量值</span>
-
-
静态----->B
-
<span style="background-color:#f8f8f8">[r2]ip route-static 0.0.0.0 0 LoopBack 0 [r2]ip route-static 192.168.1.0 24 LoopBack 0 [r2-rip-1]import-route static</span>
在导入路由时,无法将任意一条缺省路由引入到网络中。
-
-
直连------>B
<span style="background-color:#f8f8f8">[r2-rip-1]import-route direct </span>
引入直连时,除了与R1直连的网段,其余所有直连均会引入。
若边界设备进行了A--->B的重发布以及直连--->B的重发布,并且两次包含了相同的路由信息,则将会优先学习直连--->B的重发布信息。
双点重发布
路由回馈---某一条路由信息从A协议发布到其他协议,最终又被发布回A协议。---严重会引发环路问题
在默认情况下,RIP和OSPF协议若进行双点重发布,由于两者优先级不同,故第一台设备重发布动作结束后,会影响到其余边界设备的路由表,使得路由可能会被传回源协议中。
华为为了了解路由回馈问题,将OSPF的域外路由信息的优先级定义为150(150高于华为体系下所有IGP协议的优先级)
多点重发布必然存在的问题----选路不佳。---因为重发布机制将路由引入到其他协议中时,将原本的开销值抹除,从而导致其他协议中设备对于该路由信息认知不全导致的
路由策略
控制层流量和数据层流量
-
控制层流量---路由协议传递路由信息时产生的流量
-
数据层流量---设备访问目标地址时产生的流量
所谓的路由策略----就是在控制层面转发流量的过程中,截取流量,之后修改流量再转发或不转发,最终达到影响路由表的生成,干涉选路的效果
抓流量
ACL列表
ACL本身设计出来是为了抓取数据层流量,所以,设计了通配符来来灵活的匹配数字特征。但是ACL没有办法匹配路由信息中的掩码特征,因此,ACL并不擅长抓取控制层流量。
前缀列表(IP-prefix)
一个路由条目是由目的网络地址(前缀)及掩码长度(前缀长度)共同标识
ip前缀列表可以包含一条或多条语句,每条语句都使用一个十进制的序号(index)来标识。在创建一个IP前缀列表时,并未指定该语句的序号,则系统会为其自动添加一个序号,序号缺省值为10,步长为10
前缀列表匹配规则:从上而下,逐一匹配,一旦匹配上则将按照该规则执行,,不再向下匹配。末尾隐含拒绝所有的规则
示例
<span style="background-color:#f8f8f8"><span style="color:#333333"></span></span>
做策略
在做任何策略时,在本地的入方向修改,会影响到自身对于路由信息的学习;
偏移列表---Cisco
偏移列表在华为中不属于策略,因为该工具是专门为了距离矢量型协议使用
过滤策略---filter-policy(分发列表---cisco)
只能对路由信息进行过滤,无法对LSA进行过滤
注意:过滤策略本身没有过滤能力,所以,需要依靠抓取流量的工具来执行拒绝动作。在过滤策略中,匹配的流量抓取工具如果没有放通流量,就会将所有流量拒绝。
filter-policy对于向OSPF发布的路由进行过滤
使用过滤策略对链路协议状态型协议进行路由过滤,仅仅是能够保证不将路由信息转换为LSA信息,从而进行过滤。但是,该操作会影响到所有启动链路状态型协议的路由器,而非单独的某个路由器。---且过滤策略的配置位置必须是LSA的始发路由器。
对于5类LSA而言,过滤策略的调用方向必须为出方向---本质是对5类LSA的生成做操作
filter-policy对于OSPF接收的路由器进行过滤
LSA是OSPF用于路由计算的关键信息,一台OSPF路由器会把网络中所洪泛的LSA存储在自己的LSDB中,并且运行SPF算法,进而计算出到达
1/2类LSA | 3类LSA | 5/7LSA | |
---|---|---|---|
调用方向 | 入方向 | 入方向 | 出方向 |
影响效果 | 仅影响本地 | 影响该3类LSA的通告者,以及后续的区域 | 影响除了ASBR以外的所有运行了OSPF协议的设备 |
过滤原因 | 阻止 |