目录
HCIP --- 华为认证体系下高级网络工程师
计算机间信息传递原理:
规定计算机系统互联的组织:
核心思想 --- 分层
TCP/IP模型 --- TCP/IP协议簇
封装和解封转
PDU --- 协议数据单元
交换机的转发原理
路由器的工作原理
2,DHCP服务器
交换机的转发原理
3,DHCP客户端
4,DHCP服务器
2,打开浏览器
3,网关路由器收到DNS请求报文之后,
4,本地的DNS服务器收到DNS请求信息
5,本地设备将基于web服务器的IP地址,
6,本地设备将基于TCP会话通道发送HTTP请求报文 --- GET
7,baidu服务器收到HTTP请求报文
HDLC --- 高级数据链路控制协议
PPP --- 点到点协议
PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。
1,链路建立阶段 --- LCP(链路控制协议)建立
2,认证阶段 --- PAP,CHAP --- AAA
3,网络层协议协商阶段
PAP认证的配置
chap认证
GRE,MGRE、VPN
GRE的配置
MGRE --- 多点通用路由封装协议
MGRE配置
在MGRE环境下使用RIP获取未知网段的路由信息:
OSPF --- 开放式最短路径优先协议
LSA --- 链路状态通告
2,OSPF状态机
3,OSPF的工作过程
4、OSPF --- 无类别的路由协议
MA网络中的DR/BDR的选举
LSR --- 链路状态请求报文 --- 基于DBD包请求未知的LSA信息。
LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据包
LSACK --- 链路状态确认报文 --- 确认包
OSPF的接口网络类型
OSPF的不规则区域
2,使用OSPF虚链路来解决不规则区域
3,多进程双向重发布
OSPF协议中路由信息类型
1类LSA结构
OSPF的优化
特殊区域
OSPF的拓展配置
2,缺省路由 --- 3类缺省,5类缺省,7类缺省
3,沉默接口
4,加速收敛 --- 减少计时器的时间
5,路由过滤
6,路由控制
7,OSPF的附录E
文章来源地址https://uudwc.com/A/Nx5xg
HCIP --- 华为认证体系下高级网络工程师
计算机间信息传递原理:
(1)抽象语言 --- 电信号
(2)抽象语言 --- 编码
(3)编码 --- 二进制
(4)二进制 --- 电信号
(5)处理电信号
规定计算机系统互联的组织:
OSI/RM ---- 开放式系统互联参考模型 --- 1979 --- ISO --- 国际标准化组织
核心思想 --- 分层
应用层 --- 提供各种应用程序,抽象语言转换成编码,人机交互的接口
表示层 --- 编码转换成二进制
会话层 --- 维持网络应用和网络服务器之间会话连接
传输层 --- 实现端到端的传输 --- 应用到应用之间的传输 --- 端口号 --- 0 - 65535 --- 0一般
不作为传输层的端口号使用,所以,我们真实的端口号的取值范围为1 - 65535。1 - 1023知
名端口号。 --- SPORT,DPORT
网络层 --- 通过IP地址,实现主机之间的逻辑寻址。 --- SIP,DIP
获取DIP的方法:
1,直接知道服务器的IP地址
2,通过域名访问服务器
3,通过应用程序访问
4,通过广播获取
数据链路层 --- 将二进制转换成电信号。通过MAC地址进行物理寻址 --- 在以太网协议中
MAC --- 48位二进制构成 --- 1,全球唯一;2,格式统一 --- SMAC,DMAC
获取目标MAC地址的方法:
1.ARP --- 地址解析协议 --- 通过一种地址获取另一种地址
2.正向ARP --- 通过IP地址获取MAC地址
工作过程 --- 首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取
MAC地址。所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的
对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地
址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地
址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存
表,如果存在记录,则将按照记录转发;如果没有记录,则再发送ARP请求。
3.反向ARP --- 通过MAC地址获取IP地址
4.免费ARP --- 利用的是正向ARP的工作原理,只不过请求的IP地址是自己的。
1,自我介绍;2,检测地址冲突
物理层 --- 处理或传输电信号
TCP/IP模型 --- TCP/IP协议簇
TCP/IP标准模型 --- 四层模型 TCP/IP对等模型 --- 五层模型
封装和解封转
应用层
传输层 --- 端口号 --- TCP,UDP
网络层 --- IP地址 --- IP协议
数据链路层 --- MAC地址 --- 以太网协议
物理层
PDU --- 协议数据单元
应用层 --- 报文
传输层 --- 段
网络层 --- 包
数据链路层 --- 帧
物理层 --- 比特流
TCP/IP模型中可以支持跨层封装,OSI中不行
跨层封装出现的情况较少,一般出现在直连的设备之间。
跨四层封装 --- 一般出现在直连路由设备之间,比如,OSPF协议就是跨四层封装协议。 ---
89
跨三,四层封装 --- 直连交换机之间 --- stp
Sof --- 帧首定界符
1,获取IP地址 --- 1,手工获取;2,通过DHCP自动获取
DHCP --- 动态主机配置协议
1,DHCP客户端 --- 广播包 --- DHCP-Discover
传输层 --- UDP --- SPORT:68 DPORT:67
网络层 --- IP --- SIP:0.0.0.0 DIP:255.255.255.255
数据链路层 --- 以太网 --- SMAC:自己的MAC地址 DMAC:全F
交换机的转发原理
--- 交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,因为目标MAC地址是全F,则将进行泛洪 --- 除了数据进入的接口外,所有接口都将转发数据。
交换机泛洪的情况 --- 1,广播帧;2,组播帧;3,未知单播帧
路由器的工作原理
路由器收到广播包之后 --- 路由器收到数据帧之后先看二层封装,因为其目标
MAC地址为广播地址,则路由器讲解二层封装。则将根据数据帧中的类型字段将
解封装后的数据包交给对应的IP模块进行处理。因为三层头部中目标IP地址为受限
广播地址,则路由器将解三层封装。因为三层协议头部中协议字段为17,则路由
器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则
将解封装后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理
2,DHCP服务器
--- DHCP客户端 ---- DHCP-OFFER(里面将携带一个可用的IP地址) ---- 单播/广播
传输层 --- UDP --- SPORT:67 DPORT:68
网络层 --- IP --- SIP:自己的IP DIP:255.255.255.255
数据链路层 --- 以太网 --- SMAC:自己的MAC地址 DMAC:全F ---- 注意,华为设备以单播的形式来发送DHCP-offer包
交换机的转发原理
--- 交换机收到数据帧之后,首先先记录源MAC地址和进入接口的对应关系到MAC地址表中。之后看数据帧中的目标MAC地址,则根据目标MAC地址查看MAC地址表,如果MAC地址表中有记录,则将直接按照记录发送;如果没有记录,则泛洪。
3,DHCP客户端
--- DHCP服务器 --- DHCP - request(如果存在多个DHCP-OFFER包,则设备将选择第一个到达的OFFER包) --- 广播---- 1,告诉请求IP地址的服务器,需要请求他的IP地址;2,告诉没有选择的IP地址的服务器,自己已经有IP地址了,可以将他们的IP地址释放。
4,DHCP服务器
--- DHCP客户端 --- DHCP - ACK --- 单播/广播
设备在通过DHCP协议获取一个IP地址的同时,还会获取到网关信息(68.85.2.1)以及
DNS服务器的信息(68.87.71.226)
2,打开浏览器
在浏览器中的地址栏上输入需要访问的服务器的URL(资源定位符)
DNS --- 域名解析协议
DNS协议存在两种查询方式 ---- 1,递归查询;2,迭代查询
设备将从输入的URL中提取到域名信息,根据域名信息通过DNS协议获取web服务器的IP
地址
设备将发送DNS请求报文(本地设备会发送递归查询请求到本地DNS服务器)
传输层 --- UDP --- SPORT:随机值 DPORT:53
网络层 --- IP --- SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:???
ARP --- 地址解析协议 --- 工作过程 :
--- 首先,主机以广播的形式发送ARP请求报文。基于已知的IP地址获取MAC地址。
所有收到广播帧的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文。如果请求的IP地址不是本地的IP地址,则将直接丢弃该数据包。之后,再次发送信息时,将优先查看本地的ARP缓存表,如果存在记录,则将按照记录转发;如果没有记
录,则再发送ARP请求。
传输层 --- UDP --- SPORT:随机值 DPORT:53
网络层 --- IP --- SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:网关的MAC地址
3,网关路由器收到DNS请求报文之后,
将先查看数据帧的二层封装,确认该数据帧是给自己的,则将解二层封装看三层,根据目标IP地址查看本地的路由表。
直连路由 --- 直连路由是默认生成的,生成条件1,接口双UP;2,接口需要配置IP地址
静态路由 --- 网络管理员手工添加的路由条目
动态路由 --- 所有路由器运行相同的路由协议,之后,路由器之间沟通,交流最终计算
出到达未知网段的路由条目。
4,本地的DNS服务器收到DNS请求信息
则将先查看本地缓存是否有记录,有则直接返回DNS应答;如果没有,则向DNS根服务器发送迭代查询(TCP 53)。最终将结果返回给设备。
5,本地设备将基于web服务器的IP地址,
发起TCP三次握手,建立TCP会话。(主要因为HTTP协议传输层使用的是TCP协议)
--- 建立本地到服务器之间双向的会话
6,本地设备将基于TCP会话通道发送HTTP请求报文 --- GET
传输层 --- TCP --- SPORT:随机值 DPORT:80
网络层 --- IP --- SIP:自己的IP DIP:baidu的IP
数据链路层 --- 以太网 --- SMAC:自己的MAC DMAC:网关的MAC
7,baidu服务器收到HTTP请求报文
则服务器将解封装,最终回复HTTP应答报文。200 OK
网络类型 --- 根据数据链路层运行的协议进行划分的
P2P --- 点到点
MA --- 多点接入网络
BMA --- 支持广播的多点接入网络
NBMA --- 非广播型多点接入网络
数据链路层运行的协议
以太网协议 --- 需要在数据帧中封装MAC地址进行寻址。
原因 --- 利用以太网协议组建的网络中可以包含两个或两个以上的接口,每个以太网接
口之间都可以通过交互以太网帧的方式进行二层通讯。 --- BMA
如果一个网络中只能有两台设备,则这样的网络不需要MAC地址进行区分标识,也可以正
常通信,这样的网络,我们称为P2P网络。
T1 -- 1.544Mbps
E1 -- 2.048Mbps
以太网做到了一个技术 --- 频分技术 --- 所谓频分,就是一根铜丝上可以同时发送不同频
段的电波而互不干扰,实现数据的并行发送。
1,HDLC
2,PPP
HDLC --- 高级数据链路控制协议
标准的HDLC:ISO组织基于SDLC协议改进得到的
非标的HDLC:各大厂商在标准的HDLC基础上再进行改进而成
(思科设备组建串线网络默认使用的协议是HDLC协议,华为设备组建串线网络默认使用
的协议是PPP协议。)
[r1]display interface Serial4/0/0 --- 查看接口的二层特征
[r1-Serial4/0/0]link-protocol hdlc --- 修改接口协议类型
PPP --- 点到点协议
1,兼容性强 --- 拥有统一的版本,并且串线种类比较多,只要支持全双工的工作模式,
则可以支持PPP协议。
2,可移植性强 --- PPPoE
3,PPP协议支持认证和授权
PPP和TCP协议类似,在正式传输数据之前,也需要经历建立会话的过程。
1,链路建立阶段 --- LCP(链路控制协议)建立
2,认证阶段 --- 可选项
3,网络层协议协商阶段 --- NCP(网络控制协议)协商 --- IPCP协议
PPP协议包含若干个附属协议
文章来源:https://uudwc.com/A/Nx5xg
F --- FLAG --- 01111110
A --- Address --- 111111111
C --- Coltrol --- 00000011
1,链路建立阶段 --- LCP(链路控制协议)建立
所谓链路建立,其实就是参数协商的过程
MRU --- PPP帧中数据部分允许携带的最大长度(字节) --- 默认1500字节
是否需要进行认证以及认证的方式
2,认证阶段 --- PAP,CHAP --- AAA
PPP的认证支持单向认证以及双向认证
PAP --- 密码认证协议 --- 被认证方将用户名和密码信息以明文的形式发给认证方,对方回应
ACK则代表认证成功,如果回复NAK,则代表认证失败。
CHAP --- 挑战握手协议 --- 通过比对摘要值的方式来完成认证。
摘要值 --- HASH算法 --- 散列函数 --- 将任意长度的输入转换成固定长度的输出。
1,不可逆性
2,相同输入,相同输出
3,雪崩效应
MD5 --- 可以将任意长度的输入,转换成128位输出
3,网络层协议协商阶段
--- NCP(网络控制协议)协商 --- IPCP协议
1,IP报文的压缩格式;
2,IP地址
IP地址一旦被认可,对方将学习到达这个地址的主机路由。
获取IP地址方:
[r1-Serial4/0/0]ip address ppp-negotiate
给予方配置:
[r2-Serial4/0/0]remote address 10.0.0.1
PAP认证的配置
认证方:
1,在AAA中申请用户名和密码
[r1-aaa]local-user admin password cipher 123456
[r1-aaa]local-user admin service-type ppp
2,在接口做PAP认证
[r1-Serial4/0/0]ppp authentication-mode pap
被认证方:
[r2-Serial4/0/0]ppp pap local-user admin password cipher 123456
注意,PPP会话是一次性会话,会话一旦建立,再配置认证将不生效,再下次会话建立时
才生效。
chap认证
认证方:
[r1-Serial4/0/0]ppp authentication-mode chap
被认证方:
[r2-Serial4/0/0]ppp chap user admin
[r2-Serial4/0/0]ppp chap password cipher 123456
GRE,MGRE、VPN
物理专线 --- 1,成本;2,地理位置限制
VPN --- 虚拟专用网 --- 隧道技术 --- 封装技术
GRE --- 通用路由封装
希望的走法
DIP:192.168.2.1
SIP:192.168.1.1
数据
实际的走法
SIP:12.0.0.1 DIP:23.0.0.2 数据
GRE
SIP:12.0.0.1 DIP:23.0.0.2
SIP:192.168.1.1 DIP:192.168.2.1 数据
隧道技术 --- 在隧道的两端,通过封装和解封装技术在公网上建立一条数据通道,使用这条通
道进行数据传输。
GRE的配置
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[R1-Tunnel0/0/0]tunnel-protocol gre
4,定义封装内容
[R1-Tunnel0/0/0]source 12.0.0.1
[R1-Tunnel0/0/0]destination 23.0.0.2
MGRE --- 多点通用路由封装协议
NHRP --- 下一跳解析协议 --- 需要在私网中西安选出一个物理接口IP地址不会变的作为NHRP
中心(NHS --- 下一跳解析服务器)。剩下的分支都需要知道中心的隧道接口IP地址和物理接
口的IP地址。然后,NHRP要求所有分支将自己物理接口IP地址和隧道接口IP地址的映射关系
上报给NHS。这样,NHS将把所有的映射关系记录在本地,发送信息的时候,查询即可。分
支如果出接口的IP地址发生变化,则将把最新的映射关系上报给中心。分支之间需要通信,则可以先从中心获取映射关系表,之后,依据关系表进行封装转发。 --- HUB-SPOKE架
构。 --- MGRE在数据传输时搭建的还是一个点到点的隧道 --- 所以,MGRE环境是一种类似
于NBMA的网络环境
MGRE配置
中心:
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装的源IP
[r1-Tunnel0/0/0]source 15.0.0.1
5,创建NHRP域
[r1-Tunnel0/0/0]nhrp network-id 100
分支
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装源IP
[r2-Tunnel0/0/0]source GigabitEthernet 0/0/1 --- 通过出接口来定义
5,加入中心创建的NHRP域
[r2-Tunnel0/0/0]nhrp network-id 100
6,找中心上报映射信息
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register
中心隧道接口IP地址 中心物理接口的IP地址
[r1]display nhrp peer all --- 可以查看隧道接口和物理接口映射关系表
在MGRE环境下使用RIP获取未知网段的路由信息:
1,只有中心获取分支的路由,但是,分支获取不到路由信息
原因 --- MGRE环境是一种类似于NBMA的环境,不支持组播
解决方案 --- 在中心上开启伪广播。
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
2,分支在中心开启伪广播后,只能学习到中心的网段信息,不能学习到其他分支的路
由信息。
原因 --- RIP的水平分割
解决方案 --- [r1-Tunnel0/0/0]undo rip split-horizon
OSPF --- 开放式最短路径优先协议
LSA --- 链路状态通告
1,OSPF的数据包类型
hello包 --- 周期性发现,建立,保活邻居关系。
hello时间 --- 默认10S(30S)
Deadtime --- 4倍的hello时间
RID --- 1,全网唯一;2,格式统一 --- IP地址
1,手工配置
2,自动生成
--- 首先先看自己环回接口的IP地址,选择其中数值最大的作为RID;
如果没有环回接口,则取物理接口中IP地址最大的作为RID。
DBD包 --- 数据库描述报文 --- LSDB ---- 链路状态数据库(存放LSA信息的数据库)
LSR包 --- 链路状态请求报文 --- 基于DBD包请求本地未知的LSA信息
LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据报
LSACK包 --- 链路状态确认报文 --- 确认包
OSPF存在每30MIN一次的周期更新
2,OSPF状态机
Two-Way --- 标志着邻居关系的建立。
(条件匹配)--- 条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关
系,使用hello包进行周期保活。
主从关系选举 --- 通过比较RID,RID大的为主。为主的可以优先获取LSA信息。并且可
以主导隐形确认
FULL ---- 标志着邻接关系的建立。只有邻接关系,才可以交换LSA信息,而邻居关系仅
使用hello包进行保活。
Down状态 --- 启动OSPF,发出hello包之后进入下一个状态
Init(初始化)状态 --- 收到hello包中存在本地RID,进入到下一个状态
2-way(双向通信) --- 标志着邻居关系的建立(条件匹配)条件匹配成功,则进入下一个状态,匹配失败,则仅停留在邻居关系,使用hello包进行周期保活。
exstart(预启动)状态 --- 使用未携带数据的DBD包进行主从关系选举,RID大的为主,为主可以优先获取LSA信息。
Exchange(准交换)状态 --- 使用携带数据的DBD包交换目录信息
Loading(加载)状态 --- 使用LSR包基于DBD包请求未知的LSA信息,对方发送LSU包携带LSA信息,需要LSACK进行确认
FULL状态 --- 标志着邻接关系的建立
3,OSPF的工作过程
启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello
包,hello包中携带本地的RID以及本地已知邻居的RID,之后,将收集到的邻居关系记
录在本地的邻居表中。
邻居表建立完成后,将进入条件匹配环节,失败,则将停留在邻居关系,仅使用hello
包进行周期保活。
如过成功,则将开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选
举,之后使用携带数据的DBD包共享数据库目录信息。之后,本地使用LSR/LSU/LSACK获
取未知的LSA信息。完成本地数据库的建立 --- LSDB --- 生成数据库表。
最后,基于本地的链路状态数据库,生成有向图,及最短路径树。之后,计算本地到
达未知网段的路由信息,将其添加到本地的路由表中。
收敛完成后,OSPF会周期使用hello包进行保活,并且,每30min一次进行周期更新。
结构突变:
1,突然新增一个网段
2,突然断开一个网段
3,无法沟通 ---- 死亡时间
4、OSPF --- 无类别的路由协议
OSPF区域划分的要求:
1,区域之间必须存在ABR设备
2,必须按照星型拓扑来划分 --- 中间区域被称为骨干区域,骨干区域的区域ID(由32
位二进制构成,可以使用点分十进制表示,也可以直接使用十进制表示。)定义为0.
OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告
宣告的目的 --- 1,激活接口;2,发布路由
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成,0
代表不可变,1代表可变
[r1]display ospf peer --- 查看邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb --- 查看链路状态数据库
[r1]display ospf lsdb router 2.2.2.2 --- 查看具体LSA信息
COST = 参考带宽/真实带宽 --- 华为设备默认的参考带宽为100Mbps --- [r1-ospf-1]
bandwidth-reference 1000 --- 注意:如果一台设备的参考带宽修改了,则所有设备的参
考带宽必须改成相同的。
开销值计算,如果出现小数,如果是小于1的小数,则直接按照1来看;如果是大于1的
小数,则直接取整数部分。
结构突变:
1,突然新增一个网段 --- 触发更新,直接发送LSU包,需要ACK确认
2,突然断开一个网段 --- 触发更新,直接发送LSU包,需要ACK确认
3,无法沟通 ---- 死亡时间
条件匹配
指定路由器 --- DR --- 和MA网络中其他设备建立邻接关系。
备份指定路由 --- BDR --- 和MA网络中其他设备建立邻接关系。
MA网络中的DR/BDR的选举
一个MA网络当中,在DR和BDR都存在的情况下,至少需要4台设备才能见到邻居关系,
因为只有DRother之间会保持邻居关系
DR和BDR实际上是接口的概念。
条件匹配 --- 在MA网络中,若所有设备均为邻接关系,将出现大量的重复更新,故需要
进行DR/BDR的选举,所有DRother之间仅维持邻居关系即可。
DR/BDR的选举规则:
1,先比优先级,优先级大的为DR,次大的为BDR
优先级的初始默认值为1。
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
注意:如果将一个接口的优先级改为0,则代表该接口放弃DR/BDR的选举。
2,优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为
BDR。
DR/BDR的选举 --- 非抢占模式的选举 --- 一旦选举成功,则将不能被抢占。 ---- 选举
时间 --- 和死亡时间相同。
<r2>reset ospf 1 process --- 重启OSPF进程的命令
ospf的数据包
OSPF跨四层封装,IP头部使用89作为协议号标识OSPF。
HELLO包,DBD包,LSR包,LSU包,LSACK包
OSPF头部
版本 --- OSPF版本 --- 2
类型 --- OSPF数据包的类型
HELLO --- 1
DBD --- 2
LSR --- 3
LSU --- 4
LSACK --- 5
长度 --- 指的是整个OSPF报文的长度,单位 --- 字节
路由器ID --- 发送这个数据包的路由器的RID
区域ID --- 数据包发出的接口所在的区域的区域ID
校验和 --- 确保数据完整性
认证类型,认证数据 --- 完成OSPF认证工作的
认证类型 --- null --- 空认证 --- 0
simple --- 明文认证 --- 1
MD5 --- 比对摘要值认证 --- 2
HELLO --- 周期性发现,建立,保活邻居关系。DR/BDR选举。
网络掩码 --- 发出该数据包接口所配置的IP地址掩码信息。 --- 华为体系中这个参数邻
居双方所携带的值不一致将无法正常建立邻居关系。 --- 这个限制条件仅针对MA网络,
P2P网络不受限制。
hello时间,死亡时间 --- 如果邻居双方这两时间参数不同,则将限制邻居关系的建立。
可选项 --- 8位 --- 每一位代表路由器遵从某个OSPF特性 --- OSPF特殊区域的标记在其
中,如果邻居双方特殊区域的标记不一致,则将限制邻居关系的建立。
路由器的优先级 --- 发出hello包接口所配置的DR/BDR选举的优先级
DR/BDR --- 网络中DR和BDR所对应接口的IP地址。在没有选出DR和BDR之前,将使用
0.0.0.0进行填充。
Hello包中限制邻居关系建立的因素:
1,网络掩码
2,hello时间
3,dead time
4,OSPF特殊区域的标记
5,认证
DBD包 --- 数据库描述报文 ---- 1,使用未携带数据的DBD包进行主从关系选举;2,使
用携带数据的DBD包进行目录共享; ---- DBD包还存在第三种形态,即仅完成确认的确认包形态。
MTU --- 设备默认没有开启接口MTU值的检测,所以将携带0。
[r1-Serial4/0/0]ospf mtu-enable --- 如果邻居双方都开启了MTU值的检测,但是,双方携
带的MTU值不同,则邻居状态将停留在Exstart状态。
I --- init --- 如果这个标记位置1,则这个DBD包是进行主从关系选举的数据包。
M --- MORE --- 该位置1,则代表后面还有更多的DBD包。
MS --- Master --- 该位置1,则代表发送该数据包的路由器为主。 --- 在主从关系选举
出来之前,双方都将认为自己是主,所以,都会将字节的MS置1;当主从关系选举结束
后,将只有主会置1,从置0。
DBD序列号 --- 在DBD报文交互中,会逐次加1,用于确保DBD包传输的有序性及可靠
性。
LSR --- 链路状态请求报文 --- 基于DBD包请求未知的LSA信息。
链路状态类型,链路状态ID,通告路由器 --- LSA三元组 --- 这三个参数可以唯一的标识
出来一条LSA信息。
LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据包
LSACK --- 链路状态确认报文 --- 确认包
OSPF的接口网络类型
P2P
MA
BMA
NBMA
OSPF接口网络类型 --- 指的是OSPF接口在不同的网络类型默认下的不同工作方式。
[r2]display ospf interface GigabitEthernet 0/0/0 --- 查看OSPF接口工作方式
在华为体系中,将环回接口在OSPF中的开销值定义为0,不会受到外界变化的影响。(修改参
考带宽不会影响该值。)
[r2-LoopBack0]ospf network-type broadcast --- 修改OSPF接口网络类型
华为体系将tunnel接口的传输速率定义为64K,实际上虚拟接口不存在传输速率。这样设定的
目的是为了让隧道接口的开销值变的很大,导致在存在其他路径时,尽可能的避免走隧道接
口,因为隧道接口需要进行复杂的封装和解封装过程,导致效率降低。
全连的MGRE环境 --- MESH --- 所有节点即使中心,也是分支。
[r1-ospf-1]peer 12.0.0.2 --- 指定单播邻居 --- 一定需要双向指定。
Attempt --- 尝试 --- 过度状态,只有在需要手工指定邻居关系的状态下出现,在指定对方后
等待对方指定时将处于该状态,一旦对方指定,则将进行后续状态。
OSPF的不规则区域
区域划分的要求:
1,必须存在ABR设备
2,区域划分必须按照星型拓扑结构划分
1,远离骨干的非骨干区域
2,不连续骨干
1,使用VPN隧道
在AR4和AR2之间构建一条隧道,之后,将这个隧道宣告到区域0中,相当于将AR4非法
的ABR合法话,则AR4将正常传递区域2和区域0,1之间的路由信息。
在这个环境中,在没有隧道之前,AR4可以通过AR2转发的路由信息学习到达区域0的路
由,而存在隧道之后,AR4可以直接通过隧道学习到区域0的拓扑信息。而AR4会优先选
择自己通过拓扑信息学来的路由信息,就算是开销值巨大。
使用VPN隧道解决不规则区域的问题:
1,可能造成选路不佳;
2,可能造成重复更新;
3,因为虚拟链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据
将穿越中间区域区域1,导致中间区域的资源消耗。
2,使用OSPF虚链路来解决不规则区域
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 --- 虚链路的配置方法,后面跟需要创建虚链路设
备的RID。
注意:虚链路的建立是双向的。 --- 虚链路永远属于骨干区域
[r2-ospf-1-area-0.0.0.1]display ospf vlink --- 查看虚链路详细信息
使用虚链路解决不规则区域的问题:
1,因为虚链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将
穿越中间区域区域1,导致中间区域的资源消耗。
2,虚链路只能穿越1个区域
3,多进程双向重发布
不同的路由协议运行的机理各不相同,包括对路由的理解也不同,所以,不同的路由协议之
间存在信息隔离。
重发布就是在运行不同协议的边界设备(ASBR --- 自治系统边界路由器,协议边界路由器)
上,将一种协议按照另一种协议的规则发布出去。 --- ASBR设备要求必须存在重发布行为才
行。
[r4-ospf-1]import-route ospf 2 --- 将进程2的路由信息重发布到进程1中
O_ASE --- 标志域外路由信息 --- 因为域外的路由信息不可控性较强,所以,信任程度较低,
我们将其优先级设置为150。
LSA --- 链路状态通告 --- OSPF协议在不同网络环境下产生的用于携带和传递不同的信息。
LSDB --- 链路状态数据库
SPF --- 最短路径优先算法
Type --- LSA的类型,OSPFV2协议中,需要掌握的LSA类型一共有6种
LinkState ID --- 链路状态标识符 --- 主要用于标记一条LSA信息,可以理解为是LSA信息的名
字。
AdvRouter --- 通告路由器 --- 通告LSA信息的设备的RID。
以上三个参数被称为LSA的三元组 --- 这三个参数可以唯一的标识出来一条LSA信息。
LSA头部内容
Type : Router
Ls id : 4.4.4.4
Adv rtr : 4.4.4.4
LS AGE --- LSA的老化时间 --- 当LSA被始发路由器产生时置为0,之后,该LSA在网络中传
递,老化时间也将累加。 --- 1800S --- 为了防止老化时间无限制增长,我们设置了最大老化
时间 --- MAXAGE -- 3600S。如果一条LSA信息的老化时间达到3600S,则将判定其失效,
将该LSA信息从本地的LSDB中删除。
SEQ --- 序列号 --- 32位二进制构成,用8位16进制表示 --- 一台路由器每发送同一条LSA信息
都会携带一个序列号,并且序列号逐次加1,用来标识LSA的新旧关系。
直线型序列空间 --- 从最小到最大,逐次加1,其有点时新旧关系容易比较,而缺点是序
列号空间有限,当序列号空间饱和后,将无法比较新旧关系。
循环型序列空间 --- 序列号将循环使用,其问题在于一旦序列号差值过大,新旧关系将
难以比较。
棒棒糖型序列空间 --- OSPF采用的就是这种序列空间,但是,为了避免循环部分出现循
环型序列空间的问题,所以,OSPF的序列号将不进入循环部分,其取值范围为
0X80000001 - 0X7FFFFFFE。
当一条LSA的序列号达到最大值时,则发出设备将会把该LSA的老化时间同时置为
3600S(最大老化时间),之后,接受的设备将根据序列号判定为最新的LSA,刷新掉
本地已有的同一条LSA信息,之后,由于其老化时间达到最大老化时间,则将该LSA信
息从本地的LSDB中删除。同时,发出设备会再发送一遍该LSA信息,将其中序列号置为
0X80000001,之后,接受设备将该LSA判定为最新的LSA信息进行接收。
OSPF协议中路由信息类型
Chksum --- 校验和 --- 确保数据完整性。校验和也将参与LSA的新旧比较,当两条LSA信息,三元组相同,且序列号相同时,则我们将通过校验和来进行新旧判定,校验和大的被认定为新。
TYPE-1 :网络中,所有设备都需要发送且只发送一条1类LSA。1类LSA的LS ID就是通告者的RID。
LINK --- 用来描述接口的连接情况。一个接口可以使用一条或者多条LINK进行描述。
TYPE-2 LSA --- 在MA网络中,仅靠1类LSA无法将所有信息描述完整,所以,需要使用二类LSA进行补充。二类LSA一个MA网络中只需要发送1条。
所有传递路由信息的LSA都需要通过1类和2类LSA进行验算。 --- 通过1类2类LSA信息找到通
告者的位置。
Type-3 LSA --- 携带传递的是域间的路由信息,通告者为区域之间的ABR设备,使用通告的路由条目的目标网络号作为LS ID。三类LSA中携带的开销值为通告路由器到达目标网段的开销值。
Type-5 LSA --- 携带传递的是域外的路由信息,通告者为ASBR啊,使用通告的路由条目的目
标网络号作为LS ID。
Metric --- 因为重发布执行后,需要将其他的路由协议按照当前路由协议的规则导入,但
由于不同路由协议的开销值评判标准不同,所以,在重发布后,我们将直接舍弃源协议
的开销值,而定义一个规定值 --- seed Metric(种子度量值),OSPF协议默认的种子
度量值1。
[r4-ospf-1]import-route rip 1 cost 10 --- 在重发布中修改种子度量值
E type --- 一个标记位,有0和1两种变化,置0则代表类型1,置1则代表类型2; --- 这
里的类型指的是开销值的类型。
类型1:如果采用类型1,则所有域内设备到达域外网段的开销值都等于种子度量
值加本地到达通告者的开销值。
类型2:OSPF默认采用类型2,如果开销值的类型为类型2,则所有域内设备到达
域外网段的开销值都等于种子度量值。
Forwarding Address --- 转发地址 --- 应对选路不佳的情况,如果存在选路不佳的情况,
则通告者将会把最佳的下一跳放入转发地址当中,接收者看到转发地址中存在数据,则
将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。默认情况下,在不存在
选路不佳时,将使用0.0.0.0进行填充。
TAG --- 标签 --- 可以给流量打标签,方便后续进行流量抓取,做策略使用
[r4-ospf-1]import-route rip 1 tag
Type-4 LSA --- 携带和传递的是ASBR的位置信息,通告者为区域之间的ABR设备,使用ASBR设备的RID作为LS ID。四类LSA中携带的开销值为通告路由器到ASBR的开销值。
1类LSA结构
V --- 置1,则代表该路由器是VLINK的一个端点
E --- 置1,代表该路由器是ASBR设备
B --- 置1,代表该设备为ABR设备
OSPF的优化
1,汇总 --- 减少骨干区域LSA更新量
2,特殊区域 --- 减少非骨干区域LSA更新量
1,汇总 --- OSPF无法像RIP一样实现接口汇总,因为OSPF区域之间传递路由信息,所以,
OSPF的汇总被称为区域汇总。
域间路由汇总 --- 域间指OSPF区域之间,其实质是在ABR上针对3类LSA进行汇总
[r1-ospf-1-area-0.0.0.2]abr-summary 192.168.0.0 255.255.252.0
注意:在进行区域汇总时,一定是ABR设备通过1类,2类LSA学习到拓扑信息后转
换成的三类LSA才能汇总。
域外路由汇总 --- 域外指OSPF网络之外,其实质是在ASBR上针对5类/7类LSA进行汇总
[r4-ospf-1]asbr-summary 172.16.0.0 255.255.252.0
域外汇总网段种子度量值的计算方法:
TYPE1:如果是类型1,则汇总网段的种子度量值为所有明细网段种子度量值
中最大值。
TYPE2:如果是类型2,则汇总网段的种子度量值为所有明细网段种子度量值中最大值加1。
[r4-ospf-1]import-route rip 1 cost 10 type 1
特殊区域
第一大类特殊区域
1,不能是骨干区域;
2,不能存在虚链路;
3,不能存在ASBR设备
满足以上条件的区域,我们称为末梢区域(STUB) --- 如果将一个区域配置成为末梢区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的三类缺省。
[r1-ospf-1]a 1
[r1-ospf-1-area-0.0.0.1]stub --- 注意,一旦将一个区域配置成特殊区域,则区域内所有设备都
必须做同样的配置,否则将影响邻居关系的建立。
2,完全末梢区域 --- totally stub --- 在普通的末梢区域的基础上,进一步拒绝三类LSA,仅
保留三类缺省。
[r2-ospf-1-area-0.0.0.1]stub no-summary --- 注意,这个命令只需要在ABR设备上执行即可
第二大类特殊区域 --- 1,不能是骨干区域;2,不能存在虚链路;3,必须存在ASBR设备
满足以上条件的区域,我们称为非完全末梢区域(NSSA) --- 如果将一个区域配置成为NSSA区域,则其效果是这个区域将拒绝学习4类和5类LSA。并且,同时将自动生成一条指向骨干区域的7类缺省。
因为NSSA区域拒绝学习5类LSA,但是,因为有ASBR设备的存在,他又必须将域外路由信息导入到OSPF网络当中,所以,他将使用7类LSA来携带域外路由信息,注意,7类LSA只会在NSSA区域出现,在离开NSSA区域时,将由边界的ABR设备重现转换成5类LSA发布出去则这个ABR设备完成了7转5的动作,其身份相当于是一个ASBR设备。
NSSA区域拒绝学习的主要是其他方向来的4类和5类LSA
[r5-ospf-1]a 2
[r5-ospf-1-area-0.0.0.2]nssa --- 注意,一旦将一个区域配置成特殊区域,则区域内所有设备都必须做同样的配置,否则将影响邻居关系的建立。
特殊区域的标记位:
E位:一般置1,代表支持5类LSA。要是做成特殊区域,则将拒绝学习5类LSA,则E位置0.
N位:一般置0,只有在NSSA区域中置1,代表支持7类LSA。
P位 --- P位置1,则代表该LSA支持7转5。
Forwarding Address --- 转发地址 --- 应对选路不佳的情况,如果存在选路不佳的情况,则通告者将会把最佳的下一跳放入转发地址当中,接收者看到转发地址中存在数据,则将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。在5类LSA中,默认情况下,在不存在选路不佳时,将使用0.0.0.0进行填充。而在7类LSA中,一般会使用通告者(ASBR)设备的环回接口地址作为转发地址。如果存在多个环回接口,则将使用最先宣告的地址作为转发地址;如果没有环回接口,则将使用物理接口的地址作为转发地址。
7类LSA生成路由信息的标记位,O_NSSA ,优先级为150。
2,完全的非完全末梢区域 --- totally NSSA --- 在普通的NSSA区域的基础上,进一步拒绝三
类LSA,自动生成一条指向骨干区域的三类缺省。
[r4-ospf-1-area-0.0.0.2]nssa no-summary --- 注意,这个命令只需要在ABR设备上执行即可
注意:在配置完完全的NSSA区域后,因为之间普通的NSSA区域生成了一条7类缺省,完的
NSSA区域又生成了一条三类缺省,因为三类优于7类,所以,将选择三类缺省
注意:手工配置的缺省方向需要和自动生成的缺省方向一置,否则可能产生环路。
OSPF的拓展配置
1,手工认证 --- OSPF邻居双方,发送的所有的数据报中包含认证信息,两边口令相同,则代
表认证成功;不同,则认证失败,将影响邻居关系建立。
1,接口认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
2,区域认证 --- 本质还是接口认证,相当于,将一台设备在某个区域内所有激活的接口
配置接口认证。
[r4-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher 123456
3,虚链路认证 --- 其本质也是接口认证
[r5-ospf-1-area-0.0.0.2]vlink-peer 4.4.4.4 md5 1 cipher 123456
2,缺省路由 --- 3类缺省,5类缺省,7类缺省
3类 --- 只能自动生成,在配置 --- 末梢区域,完全的末梢区域,完全的非完全末梢区域
特征 --- OSPF,优先级默认为10;
5类 --- 通过手工配置的方法生成
[r3-ospf-1]default-route-advertise --- 这个命令相当于是将设备本身通过其他协议学习到
的缺省路由重发布到OSPF网络当中,所以,生成的是5类缺省。
特征 --- O_ASE,优先级默认150;
[r3-ospf-1]default-route-advertise always --- 如果本地没有其他协议学到的缺省信息,在
可以使用这个命令强制下发一条5类缺省。
7类 --- 可以自动生成 --- 普通的NSSA区域
可以手工配置 --- [r5-ospf-1-area-0.0.0.2]nssa default-route-advertise --- 手工下发7类缺省
特征 --- O_NSSA,优先级默认150;
3,沉默接口
--- 将某个接口配置成沉默接口,则该接口将只接受,不发送OSPF数据包。
[r5-ospf-1]silent-interface GigabitEthernet 0/0/2
4,加速收敛 --- 减少计时器的时间
修改HELLO时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5
注意:HELLO时间一旦更改,死亡时间将自动按照四倍关系进行匹配。
修改死亡时间
[r2-GigabitEthernet0/0/0]ospf timer dead 20
注意:死亡时间变更,hello时间不会变化
等待计时器 --- 时间长短等同于死亡时间,DR和BDR选举时的计时器。这个计时器无法
直接修改时间,死亡时间更改,则这个计时器时间同时更改。
Poll --- 轮询时间 --- 120 --- 与状态为DOWN邻居发送hello包的周期时间。 ---NBMA
在NBMA环境下,如果单方面指定邻居关系,则将对方状态置为ATTEMP状态,如果对方一直不指定本地为邻居(中间等待时间为一个等待计时器的时间),则将对方的状态置为DOWN状态。之后,将按照轮询时间为周期发送hello包。
[r1-GigabitEthernet0/0/0]ospf timer poll ? --- 修改轮询时间
INTEGER<1-3600> Second(s)
Retransmit --- 5S --- 重传时间 --- 发送信息需要进行确认,如果对方重传时间内都没有
发送确认,则将重传。
[r2-GigabitEthernet0/0/0]ospf timer retransmit ?
INTEGER<1-3600> Second(s)
Transmit Delay --- 1S ---- 传输延迟 --- 是附加在LSA老化时间上的一个值,因为传输过
程中,数据包中老化时间没有办法更改,所以,在封装数据包时,将在原有的老化时间
基础上,额外增加传输延迟时间,用来补偿传输过程中的时间消耗。
[r2-GigabitEthernet0/0/0]ospf trans-delay 2
5,路由过滤
主要是针对3类,5类,7类LSA进行过滤。
[r2-ospf-1-area-0.0.0.1]abr-summary 192.168.0.0 255.255.252.0 not-advertise --- 在ABR设
备上针对3类LSA进行过滤
[r5-ospf-1]asbr-summary 10.0.0.0 255.255.255.0 not-advertise --- 在ASBR设备上针对5类/7类LSA进行过滤
6,路由控制
优先级
[r5-ospf-1]preference 50 --- 修改协议字段为OSPF的路由的默认优先级 ---- 只影响本设备
[r5-ospf-1]preference ase 100 --- 修改协议字段为O_ASE/O_NSSA的默认优先级开销值
COST = 参考带宽 / 真实带宽
1,通过修改参考带宽实现修改开销值
[r5-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
注意:参考带宽一旦修改,则所有设备的参考带宽必须改成一样的,必须要统一标准。这样的修改只能应对因参考带宽过小而造成的选路不佳,不能实现选路效果。
2,通过修改真实带宽实现修改开销值
[r3-GigabitEthernet0/0/0]undo negotiation auto --- 关闭自动协商
[r3-GigabitEthernet0/0/0]speed 10 --- 修改接口真实带宽
Info: Please undo negotiation first.
注意:修改真实带宽,可以达到控制开销值选路的效果,但是,因为传输速率只能改小,所以,不建议使用这种方法,会影响传输效率。
3,直接修改开销值
[r3-GigabitEthernet0/0/0]ospf cost 1000
注意:1,2两种方法,均无法影响环回接口的开销值,但是,第三种方法,可以直接修改环回接口开销值。
OSPF的开销值计算方法为 --- 目标网段到达本地设备路由流量流入的接口的累加值。
7,OSPF的附录E
附录E主要描述的就是在以下场景中,因为3类,5类,7类LSA导致出现的特殊问题的解决方案。
附录E提出的解决方案是掩码较短的信息正常进入,掩码较长的信息将使用目标网段的直接广播地址作为LS ID。