第一章 HCIA复习
HCIA-----网络通讯过程
1、DHCP服务获取IP
交换机转发
交换机在接收到电信号后,会将电信号转换为二进制,之后截取数据帧。查看数据帧中的MAC地址,将该数据包进入的接口与该MAC地址形成的对应关系记录在MAC地址表(300S)
之后,查看数据帧中的目标MAC地址基于目标MAC地址查询本地MAC地址表,如果表中存在记录,则按照记录进行指导转发;若表中没有记录,则将进行洪泛(交换机将数据除了进入的接口外的所有接口发送一遍)。
交换机洪泛的情况 1、遇到广播帧 2、遇到组播帧 3、遇到未知的单播帧
2、DNS---域名解析服务
http://ww.baidu.com:80/news/index.html --------URL---资源定界符
DNS基于UDP/TCP的53号端口传输数据
UDP规定:报文最大长度为512字节,当DNS查询报文超过512字节时,协议内的TC标记位会置为1,则使用TCP传输数据
DNS查询过程---递归查询(UDP)/迭代查询(TCP)
路由器的转发原理:路由器基于数据包中的目的IP地址查询本地全局路由表;若表中有记录,则无条件按记录转发;若没有记录,则丢弃该数据包。
192.168.1.0/24---路由 目标ip:192.168.1.1
11000000.10101000.00000001.00000001
11111111.11111111.11111111.00000000
11000000.10101000.00000001.00000000-----192.168.1.0
获取未知网段的路由信息
1、直连路由
2、静态路由
3、动态路由
直连路由的生成条件
1、接口双UP
物理层UP---链路正常
协议层UP--->具备通讯协议
2、接口必须配置合法的IP地址
HTTP协议---超文本传输协议---C/S架构
基于TCP协议进行工作,端口号80
超文本:link+元素标记,用URL表示,运用HTML语言
先建立TCP连接,再建立HTTP
应答状态码
1XX:100
2XX:200(成功)
3XX:301(重定向)
4XX:403(禁止)404(响应)
5XX:500 (服务器错误) 503(稍后重置)
静态路由
优点
1、安全
2、选路灵活
3、资源占用少
缺点
1、配置量大
2、维护困难
基本配置
1、规划网段、PC选静态
2、接口IP
测试,网络可通
方法①下一跳:ip route-static 目标网段 下一跳------用于以太网MA网络
R1
ip route-static 192.168.2.0 24 12.0.0.2
缺点:需要递归来查找路由的出接口
静态路由:优先级60,开销值0
方法②出接口:ip route-static 目标网段 g 0/0/1(自己路由器的出接口)-----用于点到点,P2P
或ip route-static 192.168.2.0 24 g 0/0/1
测试不通,解决方式:
R2
int g 0/0/0
arp-proxy enable----开启ARP代理
路由器ping PC3测试可通,PCpingpc不通
ARP代理思路:
当接收到ARP数据包后,路由器会查看本地路由表,若本地
R1
dis arp
arp static 12.0.0.1 00e0-fc07-533c (MAC地址)
路由器发送ARP的方式:
以目的IP为ARP请求内容发送
以下一跳IP地址为ARP请求内容发送
方法③合并1和2
R1
ip route-static 192.168.2.0 24 g 0/0/1 12.0.0.2
方法④下两跳---多跳
R1
ip route-static 192.168.2.0 24 23.0.0.3
ip route-static 23.0.0.0 24 12.0.0.2
ping 192.168.2.1
需要提前铺垫好所有在递归查找过程中需要使用到的路由信息
静态路由扩展配置
负载均衡---等价路由(目的相同,路由来源相同,开销相同,且下一跳不同)
手工汇总
R1先补上3条环回,再汇总
用于减少路由表条目,
缺省路由
ip route-static 0.0.0.0 l 0
路由黑洞
造成流量有去无回的情况,丢弃流量的路由器称为黑洞路由器
空接口防环
R1
ip route-static 172.16.0.0 22 NULL 0
在黑洞路由器上编写一条指向空接口的汇总路由
浮动静态路由----备份
代理ARP场景
静态路由与BFD联动
BFD----双向转发检测机制
是一种全网统一的检测机制,用于快速检测、监控网络中链路或IP路由的转发连通情况。
R1
[r1]bfd
bfd aa bind peer-ip 10.1.12.1---创建BFD会话,会话名称为aa,对端IP为10.1.12.1
discriminator local 10
discriminator remote 20
commit---提交配置
R2
bfd bb bind peer-ip 10.1.12.2---创建BFD会话,会话名称为bb,对端IP为10.1.12.1
discriminator local 20
discriminator remote 10
commit
R1
ip route-static 10.9.9.0 24 10.1.12.1 track bfd-session aa------将静态路由与BFD会话联动
测试:ping 10.9.9.1
缺省情况下,BFD会话每隔1000毫秒发送一次报文,连续三次报文后均无响应,则BFD会话状态断开
第二章 网络类型及数据链路层协议
网络类型是根据数据链路层所运行的协议及规则来划分的
网络类型分类
-
P2P--point to point---点到点
-
MA--Multi-access Network--多点(三层设备)接入网络
BMA---broadcast Multi-access Network----广播型多点接入型网络
NBMA--Non Broadcast Multi-access Network----非广播型多点接入网络
数据链路层协议
MA网络
以太网协议---BMA
特点----需要使用MAC地址对设备进行区分和标识
BMA网络的构建方式:使用以太网线缆连接设备的以太网接口,形成的网络就是以太网网络,所运行的二层协议就是以太网协议
-
以太网线缆--光纤、同轴电缆、双绞线
-
以太网接口--看名称----Ethernet\g-ethernet\ten-g-ethernet
-
以太网核心技术----频分技术
P2P网络
不需要MAC地址进行通讯
P2P网络定义---当一个网络中只能存在2台设备,并且不允许第三台设备加入,这样的网络被称为P2P网络
点到点网络的连接:使用串口线缆连接设备的串线接口,形成的网络
串口线缆:HDMI、VGA、Console
串线接口:2SA
串线标准
-
E1---传输速率为2.048Mbps---欧洲标准
-
T1---传输速率为1.544Mbps---北美标准
HDLC---高级数据链路控制协议
满足工业标准的标准的HDLC协议---ISO
ISP根据SDLC(面向比特的同步数据链路控制层协议)改进而来的HDLC协议
同步---以帧为单位传输数据
异步---以字节为单位传输数据
非标准的HDLC协议---思科
上述两种协议不兼容,思科设备默认采用的串线协议是非标准的HDLC协议
HDLC网络搭建
1、判断
不需要MAC
[r1]dis int g 0/0/0-------存在物理地址
[r1]dis int s 4/0/0-------无MAC地址
不需要IP(实际上需要IP,为上层应用服务)
2、
配IP
[r1]int s 4/0/0
[r1]ip add 12.0.0.1 24
[r2]int s 4/0/0
[r2]ip add 12.0.0.2 24
[r1]ping 12.0.0.2
--------华为设备默认使用PPP协议
[r1]int s 4/0/0
[r1-s-4/0/0]link-protocol hdlc-------在接口修改协议类型为HDLC协议
[r2]int s 4/0/0
[r2-s-4/0/0]link-protocol hdlc
串口线缆具备10S的死亡时间
[r1]测试:ping 12.0.0.2
[r1]int l 0
[r1]ip add 1.1.1.1 32
[r1]int s 4/0/0
[r1-s-4/0/0]ip add 1.1.1.1 32
[r1]ip route-static 12.0.0.2 32 s 4/0/0----配置通往对端接口的ip在串线中,无需配置接口IP地址,只需要从环回接口借用一个IP即可,但需要在对端设备 上补充路由信息。且环回接口的IP地址配置为掩码32位,对端的路由信息编写在主机路由。
PPP--点到点协议
优点
-
兼容性
-
可移植性----pppoe=ppp over 以太网(Ethernet)
-
速率快,因为PPP协议无重传机制(数据)
PPP会话建立
-
链路建立阶段---LCP
-
认证阶段---PPP认证(AAA)
-
网络层协议协商
PPP链路链路过程
- Dead---物理层不可用阶段
- Establish---会进行LCP参数协商
- Authenticate---认证阶段-------该阶段不是必选项
- Network---NCP参数协商
- Terminate阶段---该阶段进行资源释放,若所有资源均被完全释放,则回到Dead阶段
PPP数据帧结构
-
PPP帧的首部 首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。 首部中的地址字段A规定为0xFF(即11111111)。 首部中的控制字段C规定为0x03(即00000011)。 首部中的2字节的协议字段: (1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。 (2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据。 (3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据。
-
PPP帧的信息字段部分 信息字段的长度是可变的,不超过1500字节。
LCP协议----链路控制协议---完成PPP会话建立第一阶段的协商
NCP协议----网络控制协议---系列协议的总称,完成PPP会话建立第三阶段时针对网络层协议进行协商。若网络层使用IP协议,则对应使用NCP协议中
LCP协议报文类型
- 链路配置报文
-
链路终止报文
Terminater-Request
Terminater-ack
-
链路维护报文
Echo-Request---回波请求
Echo-Reply-------回波应答
链路建立阶段---LCP建立(双向)
1、MRU---PPP数据帧所携带的最大数据单元,单位字节,默认值1500
MTU=IP头+数据 MSS=TCP头+数据
2、认证---协商ppp会话建立第二阶段是否需要进行认证,以及使用何种方式认证
3、魔术字--用于检测链路中是否存在环路
协商过程
A设备发送链路配置请求报文给对端,若没有收到对端回复的任何一个链路配置报文,则每隔3S重传一次链路配置报文,若连续10次发送链路请求,仍然没有收到回复报文,则认为对端不可用,停止发送报文
若对端不认可某些参数的数值,则回复的是NAK报文,该报文中将携带不认可的参数及该参数的数值范围。本端收到报文后,根据内容重新发送链路配置请求
如果对端不认可某种参数,则回复Reject报文,则报文中携带不认可的参数。本端收到该报文后,删除该报文,并重新发送链路配置请求
认证阶段
PPP会话的建立是一次性会话,会话建立完成后,后续的修改不会影响到会话本身
PPP本身不具备认证等功能,是通过AAA框架来完成的
该认证可以是单向或者双向的-----一般实际应用中,采用单向认证
-
PAP----密码认证协议(明文形式)
P2P是将需要认证的用户名和密码以明文的形式携带在数据报文中,发送给对端进行认证
被认证方r1、认证方r2
[r2]aaa
[r2-aaa]local-user huawei password cipher 123456----创建用户名和密码的信息
[r2-aaa]local-user huawei service-type ppp----修改服务类型
[r2-s-4/0/0]ppp authentication-mode pap
[r1]int s 4/0/0
[r1-s-4/0/0]ppp pap local-user huawei password cipher 123456
[r2-s-4/0/0/0]ip add 12.0.0.2 24
[r2]ping 12.0.0.1
- CHAP---挑战握手协议
认证双方通过对比摘要值的方式进行认证(HASH算法)
认证过程:
1、认证方发送挑战报文:认证方的用户名、一个随机数给被认证方
2、在被认证方段,根据用户名找到对应密码,然后将密码信息和随机数进行HASH算法得到摘要值,然后将摘要值和用户名发送给认证方,
3、认证方收到后,根据用户名信息查找本地密码信息,使用相同HASH算法进行计算,得到摘要值,将2个摘要值进行对比,若得出的内容一致,认证方:发送ACK给被认证方;若不同,则回复NAK报文HASH----散列函数---将任意长度的输入转换为固定长度的输出
特点:
1、相同输出相同输入
2、不可逆性
3、雪崩效应或蝴蝶效应典型HASH算法--->MD5(将任意长度转换为128位输出)
配置:r1认证方、r2被认证方
认证方:
[r1]aaa
[r1-aaa]local-user admin password cipher 654321
[r1-aaa]local-user admin service-type ppp
[r1]int s 4/0/0
[r1-s-4/0/0]ppp authentication-mode chap
被认证方:
[r2]int s 4/0/0
[r2-s-4/0/0]ppp chap user admin
[r2-s-4/0/0]ppp chap password cipher 654321
1条PPP链路的2端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议并且正确配置用户名和密码信息
网络层协议协商阶段---NCP协商
如果网络层使用的是IP协议,则需要使用IPCP协议进行协商
-
协商内容
IP报文的压缩方式
IP地址---1、协商IP地址是否为可用IP地址 2、该IP地址是否与本地冲突
-
协商过程
静态地址协商
如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同,则认为对端可以使用该地址
一旦认可了对方的IP地址,则将会自动学习到达该地址的主机路由
动态地址协商
r2配置方、r1获取方 [r2]int s 4/0/0 [r2-s-4/0/0]remote add 1.1.1.1 [r1]int s 4/0/0 [r1-s-4/0/0]ip add ppp-negotiate
第三章 GRE 和 MGRE
物理专线缺点:
1、成本高;2、地理位置
VPN-------虚拟专用网络:指依靠ISP或其他NSP在公用网络基础设施之上构建的专用于安全数据通讯网络,中不过该专线是逻辑上的而非物理的
-
虚拟---使用公共网络资源建立自己的私有网络
-
专用---用户按需构建
-
核心技术---隧道技术
GRE
隧道技术----在隧道的两端,通过封装技术及解封装技术在公网上建立一条数据通道,使用这条数据通道进行数据传输
GRE----是一种隧道封装技术,是一种标准的三层隧道技术,是一种点对点的隧道
1、配IP
[r1]int l 0
[r1-l 0]ip add 192.168.1.1 24
[r1]int g 0/0/0
[r1-g-0/0/0]ip add 12.0.0.1 24
[r1-g-0/0/0]q
[r1]ip route-static 0.0.0.0 0 12.0.0.2[r2]int g 0/0/0
[r2-g-0/0/0]ip add 12.0.0.2 24
[r2]int g 0/0/1
[r2-g 0/0/1]ip add 23.0.0.2 24
[r2-g 0/0/1]q[r3]int g 0/0/0
[r3-g-0/0/0]ip add 23.0.0.3 24
[r3-g-0/0/0]int l 0
[r3-l0]ip add 192.168.2.1 24
[r3-l0]q
[r3]ip route-static 0.0.0.0 0 23.0.0.2
希望的流量走向和实际的流量走向
配置
[r1]int Tunnel 0/0/0-----创建隧道接口
[r1-T 0/0/0]ip add 192.168.3.1 24------配IP
[r1-T 0/0/0]tunnel-protocol gre-----定义封装方式
[r1-T 0/0/0]source 12.0.0.1-----定义封装内容
[r1-T 0/0/0]destination 23.0.0.3----定义封装内容
[r1]ip route-static 192.168.2.0 24 192.168.3.2-----补充路由信息[r3]int Tunnel 0/0/0
[r3-T 0/0/0]ip add 192.168.3.2 24
[r3-T 0/0/0]tunnel-protocol gre
[r3-T 0/0/0]source 23.0.0.3
[r3-T 0/0/0]destination 12.0.0.1
[r3]ip route-static 192.168.1.0 24 192.168.3.1[r1]测试:ping -a 192.168.1.1 192.168.2.1
GRE两端配置完成后,必须存在指向隧道的路由信息,否则数据无法被GRE进行封装,也就无法正常通讯
GRE封装和解封装过程 1、设备从连接私网的接口接收到报文后,检查报文头部中目的IP地址字段,在路由表中查出接口,如果发现出接口是隧道接口,则将报文发送给隧道模块进行处理 2、隧道模块接收到报文后,首先根据乘客协议的类型和当前的GRE隧道的配置生成校验和参数,对报文进行GRE封装,即添加GRE头部信息 3、然后,设备给报文添加传输协议报文头部,即IP头部。该IP报文头部的源地址就是隧道的源地址,目的地址就是隧道的目的地址 4、最后,设备根据新添加的IP报文头部的目的地址,在路由表中查找相应的出接口,并发送报文,之后,封装后的报文将在公网环境下进行数据转发 5、接收端设备从连接公网的接口收到报文后,首先会分析IP头部信息,如果发现协议类型字段值为47,则表示该上层协议为GRE协议,于是将报文交给GRE模块进行处理。
-
GRE模块去掉IP报文头部和GRE报文头部,并根据GRE报文头部中的协议类型字段,确定将该报文交于那个乘客协议进行处理。
keepalive检测
用于检测隧道对端是否可达
-
如果对端不可达,隧道连接会及时关闭,避免形成数据空洞
-
开启keepalive检测后,GRE隧道会定期向对端发送keepalive探测报文
配置
[r1]int t 0/0/0
[r1-T 0/0/0]keepalive-----开启keepalive检测功能
[r1-T0/0/0]keepalive period 5 retry-times 3
period--->代表发送周期
retry-times---->探测报文重传次数
如果在隧道一端开启了keepalive检测功能,无论对端是否配置keepalive,对端都会回复收到的keepalive探测报文,即会向源发送一个回应报文
MGRE---多点通用路由封装----不是vpn技术
MGRE这个逻辑拓扑是网络中存在多个节点,但本身在发送数据时,还是依照点到点的数据发动,并不存在光比和组播行为,所以,这种网络结构可以近似为NBMA
NHRP---下一跳解析协议----C/S架构
在私网中选择一个出口物理IP不会发生改变的设备作为NHRP的中心节点(NHS)。这样,剩下的分支都可以知道中心节点的隧道IP和物理IP地址
然后,NHRP要求所有的分支都需要将自己的物理接口ip地址和虚拟接口IP地址的映射关系发送给NHS.此时,NHS会将所有的分支地址
Hub-spoke架构
-
Hub---服务端---中心节点----NHS---下一跳服务器(IP固定,买下来)
-
spoke--客户端---分支节点(非固定)
配置
1、配IP
2、配置缺省路由
[r1]ip rou 0.0.0.0 0 15.0.0.5 [r2]ip rou 0.0.0.0 0 25.0.0.5 [r3]ip rou 0.0.0.0 0 35.0.0.5 [r4]ip rou 0.0.0.0 0 45.0.0.53、HUB配置
[r1]int T 0/0/0 [r1-T 0/0/0]ip add 192.168.5.1 24--------维护和获取IP信息 [r1-T 0/0/0]tunnel-protocol gre p2mp---修改接口封装协议为多点GRE [r1-T 0/0/0]source 15.0.0.1----定义封装源 [r1-T 0/0/0]nhrp network-id ----可选,若配置则需要将所有设备均修改相同;默认值为04、spoke配置
[r2]int T 0/0/0 [r2-T 0/0/0]ip add 192.168.5.2 24 [r2-T 0/0/0]tunnel-protocol gre p2mp [r2-T 0/0/0]source G 0/0/0 [r2-T 0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register----分支向中心节点注册 中心的隧道IP 中心的物理IP [r3]int T 0/0/0 [r3-T 0/0/0]ip add 192.168.5.3 24 [r3-T 0/0/0]tunnel-protocol gre p2mp [r3-T 0/0/0]source G 0/0/0 [r3-T 0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register [r4]int T 0/0/0 [r4-T 0/0/0]ip add 192.168.5.4 24 [r4-T 0/0/0]tunnel-protocol gre p2mp [r4-T 0/0/0]source G 0/0/0 [r4-T 0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register
[r2]dis nhrp peer all -------静态表单
[r1]dis nhrp peer all -------静态表单
测试隧道是否搭建成功:
[r1]ping 192.168.5.1 /5.2/5.3/5.4
5、补路由
DSVPN---动态智能VPN技术
mgre+nhrp
mgre隧道--->静态隧道(spoke到hub)、动态隧道(spoke-spoke)
NHRP映射表
-
静态表象
由网络管理员手动配置
-
动态表象
由NHRP协议动态生成
hub通过nhrp注册报文提取到各个spoke的Tunnel地址和公网地址生成NHRP动态映射表
各个spoke通过nhrp解析报文提取对端spoke的Tunnel地址和公网地址生成NHRP映射表
老化时间----7200s----2h
NHRP映射表的建立过程
-
建立spoke和hub之间的mgre隧道
1、spoke向hub注册请求
spoke将定时向hub发送NHRP注册请求报文,该报文中携带了spoke节点的tunnel地址和公网地址
2、hub向spoke注册应答
hub从NHRP注册请求报文中提取spoke节点的tunnel地址和公网地址,并生成NHRP映射表,进而建立hub和spoke之间的隧道
并发送注册应答报文给spoke节点
-
分支路由之间的路由学习
1、分支之间互相学习路由信息---非shortcut方式
2、分支之间的路由汇聚到总部---shortcut方式
-
建立spoke和spoke之间的mgre隧道
根据分支之间的路由学习方式不同,NHRP映射表的生成过程也不同,故,分支之间的mgre隧道建立方式不同
非shortcut方式
源spoke可以学习到目的spoke的tunnel地址,因此,源spoke可以直接根据目的spoke的tunnel地址来查找目的spoke的公网地址,从而生成目的spoke的映射关系
shortcut方式
所有spoke的路由下一跳均为hub的tunnel地址,源spoke无法学习到目的spoke的tunnel地址。因此,源spoke只能根据报文的目的地址来查找spoke的公网地址,会生成目的spoke的子网地址和公网地址的NHRP映射关系。
MGRE的shortcut方式
hub
[r1]int t 0/0/0
[r1- t 0/0/0]nhrp redirect-----开启重定向功能,开启该功能后,会给源分支发送NHRP重定向报文,要求源分支向目的分支请求物理地址,从而构造NHRP映射关系
spoke
[r2]int t 0/0/0
[r2-Tunnel0/0/0]nhrp shortcut ----使能shortcut功能;如果为使能该功能,则分支节点在接收到重定向报文后,会忽略其内容。
MGRE环境下的RIP
因为RIP是组播发送应答报文,而MGRE环境下是P2P通讯,实际上发送的是单播报文。因为是单播行为,分支会发送给中心;而中心不会发生报文,因为中心的GRE
[r1-t 0/0/0]nhrp enrty multicast dynamic------开启伪广播功能通过给所有分支分别发送一条单播数据包,以达到广播行为
分支在中心开启伪广播功能后,只能获取到中心的路由信息
[r1-t 0/0/0]undo rip split-horizon----关闭水平分割--非shortcut
[r1-t 0/0/0]rip summary-address 192.168.0.0 255.255.248.0 ---汇总方式解决--shortcut
第四章 OSPF基础
动态路由的评判标准
-
选路
-
占用资源
-
收敛速度
OSPF----协议开放式最短路径优先
IETF-----国际互联网工程任务组
适用范围---IGF
算法类型---链路状态型协议
使用算法---SPF算法---最短路径优先算法
OSPFV2和RIPV2对比
相同点:
1、都是无类别路由协议
2、均支持组播方式更新数据
3、均支持等开销负载均衡
不同点:
RIPV2仅适用于小型网络;OSPFV2可以应用于大中型网络
OSPF区域划分
OSPF域---将一系列连续的OSPF路由器组成的网络称为OSPF域
如果一台路由器的多个接口分别接入了不同的区域,则它将为每个区域分别维护一套LSDB
多区域的设计限制了TOPO信息的洪泛,有效的将拓扑变化的影响控制在区域内部
要求:
1、OSPF要求域中所有非骨干区域都必须与Area 0相连
2、骨干区域不能被分割
OSPF区域结构部署规则的必要性
假定没有“所有非骨干区域都必须与Area 0相连”规则
ABR设备(区域边界路由器)
至少连接2个以上的区域
连接的区域中至少有一个是区域0(骨干区域)
在骨干区域中至少有一个活跃的邻居
作用:将A区域的拓扑转换成路由后,发送到B区域中------传递域间路由信息
非骨干之间不允许直接互相发布区域间路由信息
假定没有“骨干区域不能被分割”的规则
OSPF规定:
从非骨干区域收到的路由信息,ABR设备能接收到该路由但不会使用这条路由信息(OSPF的区域水平分割原则)----从一个区域学习到的路由信息,不能再传递回该区域
总结:
OSPF规定:
1、伪ABR设备---不允许转发区域间路由信息
2、真实ABR设备
能够将自己直连的非骨干区域的区域路由信息传递给骨干区域
能够将自己直连的骨干区域的区域内路由信息传递给非骨干区域
能够将自己从骨干区域学习到的域间路由信息传递给非骨干区域
OSPF路由器角色
-
内部路由器---IR
所有接口都属于一个OSPF区域
-
区域边界路由器---ABR
-
骨干路由器---BR
接入AREA0
-
AS边界路由器--ASBR
工作在OSPF自治系统边界的路由器
负责将域外的路由信息引入到本域内。默认不进行路由引入
并不是同时运行了多种路由协议的OSPF路由器就一定是ASBR
OSPF数据包
-
hello包
用来发现、建立、周期保活OSPF邻居关系(的信息传递)。224.0.0.5
周期保活----每10S发送一次hello报文,来告诉邻居自己的存在。----hello time
若四倍的hello时间都未收到hello报文,那么会认为邻居不存在。---dead time
Router-ID----路由器身份标识
手工配置:32位二进制组成,点分十进制标识。全域唯一。
自动配置:默认优选最大环回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
-
DBD---数据库描述报文(简单的介绍)
-
该报文中包含了本地所有LSA信息的目录信息。
-
报文中携带的是路径信息摘要
-
避免重复更新
-
-
LSR----链路状态请求报文
-
该报文用以请求未知的LSA信息。
-
-
LSU----链路状态更新报文
-
该报文用以回复请求报文,该报文中携带了完整的LSA信息。
-
-
LSAck-----链路状态确认报文
OSPF状态机
down---关闭---一旦启动OSPF进入下一个状态,并发送hello报文
init---初始化状态---收到的hello报文中存在自身的RID值,则进入下一个状态
2-way----双向通讯---邻居关系建立的标志。----稳定态
条件匹配:匹配成功则进入下一状态,匹配失败则停留在2-way状态。
exstart---预启动状态-----使用未携带数据的DBD报文进行主从关系选举,其中RID值大的为主设备。主设备会先进入下一个(loading)状态(但是实际上先发送数据包的设备为从设备)
exchange----准交换状态-----设备使用携带目录信息的DBD报文进行目录共享(从设备先进入exchange)
loading----加载状态-----邻居间使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
full-----转发状态----拓扑交换完成后进入该状态,标志着邻接关系的建立。----稳定态。
显性确认:LSACK
隐性确认:DBD报文中的DD序列号,确认LSA信息和摘要信息
条件匹配
接口角色:指定路由器-----DR
备份指定路由器----BDR
其他路由器-----DRother
选举规则:
1、接口优先级-----默认值为1,范围为0-255,优先级越大越优;
2、看RID,越大越优
非抢占模式---一旦选举成功,不因为新加入的设备而重新选举
选举过程:
Attempt:尝试状态
在NBMA网络下,如果需要启动OSPF协议,需要使用peer命令指定邻居ip地址,否则不会发送
OSPF工作过程
1、OSPF协议启动后,路由器向本地所有启动了OSPF协议的直连接口,以组播224.0.0.5的方式发送hello报文,该Hello报文中,携带了本地的全域唯一的RID值和接口优先级;此时路由器状态进入init
2、当路由器收到的hello报文中存在本地的RID值(hello包中的邻居字段),会建立邻居关系----生成邻居表
3、进入2-way状态,在2-way状态后执行条件匹配,匹配失败则停留在邻居关系,仅使用hello报文保活;若条件匹配成功,则可以开始建立邻接关系。
4、邻接关系建立
-
使用未携带摘要信息的DBD报文进行主从关系的选举,RID值大的为主设备,主设备先进入下一个状态
-
之后,从设备先发送携带摘要信息的DBD报文进行LSA目录信息共享
-
主设备通过对比接受到的DBD报文中的摘要信息与本地的LSDB数据库信息,从而查找未知LSA。
通过发送LSR报文/LSU/LSACK报文获取完整的未知LSA信息
当所有未知LSA信息均获取后,填充本地的LSDB
-
当网络中所有设备获得到相同且完整的LSDB后,每台设备基于LSDB根据SPF算法生成有向图和最短路径数,之后根据计算结果获知网络中所有的未知网段的最短路径,然后将其添加到本地OSPF路由表中
-
根据本地所有路由信息,从而选择最优路由器的加载
-
此时,网络收敛完成,仅进行Hello包保活,每30min进行一次周期链路状态刷新
结构突变
-
新增网段----触发更新----使用LSU告知对端
-
断开网段----触发更新----使用LSU告知对端
-
无法沟通----通过死亡时间来判断,从而删除路由信息
OSPF基本配置
1、配IP,环回
R1:
int g 0/0/0
ip add 12.0.0.1 24
int l 0
ip add 1.1.1.1 24
R2:
int g 0/0/0
ip add 12.0.0.2 24
int g 0/0/1
ip add 23.0.0.2 24
int l 0
ip add 2.2.2.2 24
R3:
int g 0/0/0
ip add 23.0.0.3 24
int l 0
ip add 3.3.3.3 24
测直连启动OSPF进程:ospf 1 router-id 1.1.1.1(一般选择环回地址)------启动OSPF进程,告知RID
2、自行划分区域
R1:
area 0------进入区域0
network 12.0.0.0.0 0.255.255.255(反掩码)------宣告网段:激活接口、发布路由----范围宣告
network 1.1.1.1 0.0.0.0------精准宣告,必须写反掩码
dis ip int b
dis ospf peer
<huawei>reset ospf
R2:
ospf 1 router-id 2.2.2.2
area 0
network 12.0.0.2 0.0.0.0
network 2.2.2.2 0.0.0.0
q
area1
network 23.0.0.2 0.0.0.0
network 2.2.2.2 0.0.0.0
R3:
ospf 1 router-id 3.3.3.3
area1
network 23.0.0.3 0.0.0.0
network 3.3.3.3 0.0.0.0
查看邻居简表:
dis ospf peer
查看数据库表单:
dis ospf lsdb
查看路由器表单:
dis ospf routing
OPSF特殊配置
-
缺省路由
1、非强制下发
default-route-advertise
设备必须存在某一种缺省路由,否则无法下发,缺省路由必须有效
2、强制性下发
default-route-advertise always
-
静默接口-----配置为静默接口的接口对OSPF数据包不收也不发
slient-interface G 0/0/1
-
手工认证------双方均需配置,若选择密文认证,则双方的Key ID需要配置相同。
1、区域认证
ospf 1
area 0
authentication-mode md5 1 cipher 123456
2、接口认证-----仅对接口配置
int g 0/0/0
ospf authentication-mode md5 1 cipher 123456
- 加速收敛-----修改时间,全网均要修改
ospf timer hello 5-----修改hello时间,死亡时间随之改变
ospf timer dead time-----修改dead时间,hello时间不变
- 修改参考宽带-------建议全链路修改
bandwidth-reference 10000
OSPF开销计算0+参考/实际带宽
- 修改接口优先级
int g 0/0/0
ospf dr-priority 10
q
<huawei>reset ospf------ R1和R2都重启
OSPF报文格式
OSPF报文头部
- 固定长度--24字节
版本:OSPF的版本号,其值为2
类型:OSPF报文的类型(hello包、DBD报文、LSR报文、LSR报文、LSU报文、LSack报文)
报文长度:完整报文长度,包括报文头在内
路由器ID:路由器的OSPF协议中的RID值
区域ID:发出该报文的接口所属于的区域的ID值
校验和
验证类型:认证算法(0-不认证、1-明文(简单)、2-MD5)
认证数据:
- 用于报文认证的内容
- 若认证类型为不认证,则该字段用全0填充
hello包
-
网络掩码
-
该字段填充的是发送该接口的子网掩码信息-----进行协商
-
OSPF邻居关系建立过程中需要对比掩码信息,从而验证对端是否路由可达---华为私有。如果一方在接口上收到的hello报文中“网络掩码”字段与本接口不同,则忽略该hello报文,此时邻居关系无法建立
-
如果两台OSPF路由器通过MA网络直连,则需要验证;若通过点到点网络则不需要验证该参数
-
-
hello间隔
发送hello报文的时间间隔--秒--需要协商
两台设备需要保证hello时间间隔相同,否则邻居无法正常建立
-
可选项
-
该字段具有8个标记位,每个标记位置为1,则代表OSPF实现某种特性
-
特殊区域标记
-
-
路由器失效时间
-
指的是邻居路由器被视为无效之前,需等待收到对方的hello报文的时间--秒
-
两台设备的该参数若不同,则邻居关系无法正常建立
-
-
指定路由器
-
本网段DR的接口IP地址
-
备份指定路由器
-
本网段BDR的接口IP地址
所有的224.0.0.X格式的组播地址被称为本地链路组播,目标IP地址是本地链路组播的地址,且TTL值为1。所有的本地链路组播都存在与其对应的组播MAC地址,01-00-5e-0后23位为组播IP地址的后23位
-
DBD包
-
使用未携带数据的DBD进行主从关系选举
-
使用携带数据的DBD进行LSA摘要信息共享
-
使用未携带数据的DBD进行隐形确认机制
-
接口最大传输单元---MTU
-
默认不填充时为0
-
华为默认不进行MTU值检测,可以开启该功能
-
[r1-g 0/0/0]ospf mtu-enable ---开启MTU检测机制,两端都需要开启。
如果双方都开启该功能,则进行MTU检测,若两边都相同,则检测通过;若两边不同,则状态卡在exstart状态
-
I(比特位)---主从关系选举
M----代表后续还存在DD报文
MS---代表是否为主设备
DD序列号
-
DD序列号的序列号,在DD报文交互过程汇总,序列号逐次加1,用于确保DD报文传输的有序和可靠性
-
DD序列号必须由Master路由器来决定,而从路由器只能使用Master路由器发送的DD序列号来发送自己的DD报文。----隐性确认机制。
-
DD报文的交互过程会一直持续,直到双方的LSA摘要信息全部发送完成。---本地的LSDB接收完成。
LSR包
链路状态类型、链路状态ID、通告路由器---LSA三元组,通过这3个参数可以唯一的标识出一条LSA信息
LSU包
LSAck包
显性确认机制
OSPF的接口网络类型
所谓的OSPF接口网络类型,实际上是指OSPF的接口在某种网络类型下的一种工作方式.
广播型多路访问类型----BMA
[r3]dis ospf int g 0/0/0----查看OSPF接口网络类型
OSPF在BMA类型的接口上通常以组播的方式发送hello报文、LSU报文以及LSAck报文。以单播的形式发送DD报文和LSR报文。
点到点类型(P2P)
配IP
[r3]dis ospf int s 1/0/0----查看OSPF接口网络类型
cost:100/2.048(E1)=48
OSPF在网络类型为P2P的接口上以组播的方式发送所有的OSPF数据报文
环回接口(虚拟接口)
[r1]dis ospf int l 0
华为特殊将环回接口的开销值定义为0
Type中的参数是由P2P进行填充,华为没有为该字段定位内容,而思科则定义了一个Loopback类型作为环回接口的类型
所有通过OSPF学习到的环回接口的路由掩码信息都是32位,也就是每台设备学习到的路由条目是主机路由。该方式可以在保证路由信息的精准性的前提下,避免环路或者路由黑洞问题
[r2-Loopback 0]ospf network-type broadcast-----修改接口网络类型
C/S架构
华为将tunnel接口的传输速率定为64Kbps
cost:100/0/0.064=1562
[r7]nhrp enrty multicast dynamic---------开启伪广播
[r7]int t 0/0/0
[r7]ospf network-type broadcast-----修改接口网络类型
[r8]int t 0/0/0
[r8]ospf network-type broadcast
[r9]int t 0/0/0
[r9]ospf network-type broadcast
<r7>reset ospf 1 process------等一会
[r8]int t 0/0/0
[r8]ospf dr-priority 0-----放弃选举
[r9]int t 0/0/0
[r9]ospf dr-priority 0----放弃选举
在HUB-spoke架构中,运行MGRE时,使用OSPF协议学习路由信息,需要将隧道接口类型修改为BMA,全网均修改。且手工干涉DR选举,将DR选举在Hub节点
full-mesh架构-----每一个都是Hub
点到多点类型(p2mp)
只能由网络管理员手动修改配置
在P2MP网络中,接口通常以组播的方式发送hello报文,以单播形式发送其他报文
[r7]int t 0/0/0
[r7]ospf network p2mp
[r8]int t 0/0/0
[r8]ospf network p2mp
[r8]undo ospf dr-priority 0
[r9]int t 0/0/0
[r9]ospf network p2mp
[r9]undo ospf dr-priority 0
[r7]dis ospf int t 0/0/0
[r7]ping -a 192.168. 192.168.
([r8]int t 0/0/0
[r8]nhrp registration intervel 1800)----让分支节点重新发送一次NHRP注册报文,让中心学习到分支的隧道关系
非广播型多路访问类型---NBMA
[r4]dis ospf int s 1/0/0
<r4>reset ospf 1 process
在NBMA网络中,邻居双方均需要手工指定自己的邻居,从而才可以发送出OSPF报文信息,在该接口网络类型下,所有的OSPF报文以单播形式发送数据
加快收敛---P2P
P2MP,修改hello时间为10S
OSPF的不规则区域划分
1、所有非骨干都必须与骨干直接相连
2、骨干区域不能被分割
不规则区域有两种情况:
1、远离骨干的非骨干区域
2、不连续骨干区域
解决不规则区域的最佳方式---重新规划OSPF配置和内容,使得整个OSPF域满足区域划分的规则
解决方案
AR3不是ABR,R4学不到路由信息
使用tunnel隧道---R2和R3
[r2]int t 0/0/0
[r2-t 0/0/0]ip add 10.1.1.2 24
[r2- t 0/0/0]source 25.0.0.2
[r3]int t 0/0/0
[r3-t 0/0/0]ip add 10.1.1.3 24
选择1563-----ABR(路由转发)接收到非骨干区域的信息,不使用
使用该方式(VNP)解决不规则区域的问题
1、可能产生选路不佳
2、可能造成重复更新
3、因为存在虚拟链路,R2和R3之间也需要建立邻居关系,导致他们之间维护的周期性数据将穿越中间区域,导致中间区域的资源消耗增加
虚链路---Vlink
专门为了解决OSPF不规则区域所诞生的技术
思路:让真实的ABR设备给伪ABR设备进行一次担保,给予伪ABR设备传递路由的功能,或者说给伪ABR一个权限
配置:
R2
[r2]area 1
[r2-area1]vlink-peer 3.3.3.3-----建立vlink邻居,该参数为邻居的RID
R3
[r3]area 1
[r3-area1]vlink-peer 2.2.2.2
配置位置在于设备需要穿越的区域。虚链路的配置只能穿越一个区域----原因在于配置时使用的是RID值,而RID值只能在同一个区域找到,设备无法跨越区域找到RID所对应的设备
[r2]dis ospf vlink------查看vlink邻居关系
不进行BR、BDR选举
Vlink被视为骨干区域的一般延伸(Vlink永远属于Area 0)
缺陷:
1、因为虚拟链路的存在,R2和R3之间也需要建立邻居。导致他们之间维护的周期性数据将穿越Area1,导致中间区域的资源消耗过大。
2、只能穿越一个区域。
实际上,Vlink更多用在一些修复次优路径或者骨干区域不健壮问题
骨干链路单点故障问题
在R3和R4之间建立Vlink
[r3]area 1
[r3-area1]vlink-peer 4.4.4.4
[r4]area 1
[r4-area1]vlink-peer 3.3.3.3
Vlink环路问题
Vlink选择不恰当可能会引发环路问题----解决方式:在物理链路相连的2台设备上建立Vlink
R2
路由汇总:10.0.0.0/8
R4
路由汇总:10.1.0.0/16
R3获得10.0.0.0/8 和10.1.0.0/16 ,选择10.1.0.0/16
解决思路:
OSPF规定,Vlink所在的非骨干区域,不能传递汇总路由。也就是说,ABR设备不能向配置了Vlink链路的区域传递汇总路由
多进程双向重发布---ASBR(路由发布)
[r3]undo vlink-peer 3.3.3.3
[r3]area 2
[r3]undo ospf 2
[r3]ospf 2 router-id 3.3.3.3
[r3]area 2
[r3]network[r3]ospf 1
[r3]import-route ospf 2------在ospf1引入ospf2
[r4]ospf 2
[r4]import-route ospf 1
此时,R3被称为ASBR,因为其运行在不同的网络中,且执行了重发布操作
重发布操作就是在运行了不同协议或不同进程的边界设备上,将一种协议按另一种协议的规则发步出去
重发布操作在引入路由信息时,会清除掉该路由信息原本的度量值,但是在引入时,该参数不能没有,故会赋予路由信息一个种子度量值
OSPF对于域外路由信息的标识为O-ASE;优先级为150
域内-10>域外-150
OSPF的LSA详解
display ospf lsdb router link-state id-----查看lsa详细信息
LSA头部信息
1、链路状态老化时间
-
一条LSA老化时间,16bit整数
-
当该LSA被始发路由器产生时,该参数有效,且数值为0之后随着该LSA在网络中被洪泛,老化时间逐渐累加
-
一般情况下,老化时间不会超过1800秒
-
该参数存在最大老化时间---3600秒---当一条LSA的老化时间到达最大老化时间时,将被认定为失效,从本地的LSDB中删除
-
在OSPF中,只有始发路由器能够提前使某条LSA老化,即有意识地清楚该LSA信息
2、可选项---与hello报文相同
3、链路状态类型---本条LSA的类型,不同的LSA类型在描述不同OSPF的信息
4、链路状态ID---LSA的标识,不同的LSA类型,该字段内容含义不同
5、通告路由器---产生本条LSA类型的路由器的RID
6、链路状态序列号---标识一条LSA的新旧
-
每台路由器在发送相同LSA信息时,序列号逐次加一
-
序列号起始为0x80000001
-
序列号截至为0x7FFFFFFF
7、链路状态校验和
-
而是参与到LSA的新旧关系比较中
8、长度---LSA的总长度、
-
判断LSA的新旧关系
OSPF使用链路状态序列号、校验和以及老化时间来判断LSA的新旧关系
1、拥有较高的链路状态序列号的LSA被认为是最新的LSA信息
2、如果序列号相同,则比较校验和,拥有较大校验和的LSA被认为更新
3、如果校验和与序列号均相同,则比较老化时间
1、如果某条LSA的老化时间为3600秒,则认为该LSA最新
2、如果没有任何一条LSA老化时间为3600秒,则比较两条LSA老化时间的差值
①如果差值大于15min,则认为老化时间大的LSA为更新
②如果差值小于15min,则认为这两条LSA相同
Type-1 LSA
LSA的Type名称为Router的LSA是一类LSA信息。每台路由器的所有属于相同区域的接口共用一个一类LSA信息。如果路由器连接在多个区域,则会在多个区域单独产生一类LSA
-
V---代表该路由器是Vlink链路的端点
-
E---该路由器为ASBR设备
-
B---该路由器为ABR设备
-
-
链路数量---该字段指明该一类LSA包含了多少条Link.每条link均包含链路ID、链路数据、度量值等信息
-
链路类型---该类型不是所谓的网络类型
-
链路类型不同,导致链路OD和链路数据内容不同
-
[r1]dis ospf lsdb router 1.1.1.1
[r1]dis ospf lsdb router 2.2.2.2
根据以上,得拓扑信息
Type-2 LSA
[r3]dis ospf lsdb
[r3]dis ospf lsdb router 3.3.3.3
[r3]dis ospf lsdb router 1.1.1.1----无变化
[r3]dis ospf lsdb router 2.2.2.2-----多了一条信息
补充拓扑图:
欠缺一个MA网络
Type-2 LSA
DR会在本区域内洪泛Type-2 LSA信息,来列举出接入该MA网络的所有路由器RID的信息,以及这个网络的掩码信息。2类LSA有且只有本区域的DR设备可以发送
链路状态ID-------描述DR的接口IP地址
Type-3 LSA
[r3]dis ospf lsdb
[r1]dis ospf lsdb summary 4.4.4.4
Type-3 LSA中的开销值,指的是该LSA的通告者到达目的地的开销值。而接受这对于该路由信息在加入到路由表时的开销值等于LSA中的开销值加上本地到达该LSA通告者的开销值之和。
3类LSA传递路由信息的方式类似于距离矢量型协议的方式,通告者就是到达目标网段的下一跳。所以,接收者在收到三类LSA后,需要根据1类和2类LSA信息计算拓扑信息从而来寻找三类LSA的通告者。如果可以找到则本条3类LSA可用,如果递归不到,则忽略该3类LSA信息
如果,通告者是所在区域的ABR设备,那么自然可以寻找到三类LSA的通告者,从而该路由可用。但当LSA信息跨区域传播时,接受者就无法递归到始发该3类LSA的通告者,因为不在同一个区域内部,无法使用1、2类LSA递归。故3类LSA在传输时,若需要跨越区域,则由每个区域的ABR重新构造一个新的描述相同目标网段的3类LSA信息发送。
Type-5 LAS
由ASBR设备发送,在整个OSPF域中传播,传递的是域外的路由信息
[r3]dis ospf lsdb ase 10.1.1.0
-
度量值----外部路由的开销值
-
该常量值为1(rip和ospf算法不同,故会赋予一个种子度量值1)
-
[r4]ospf 1
-
[r4-ospf-1]import -route rip 1 cost 10------在重发布时修改度量值
-
-
E位----用于表示外部路由使用的度量值类型
类型1---E位为0,则表示使用类型1---域内所有设备到达目标网段的开销值等于本地始发出该条LSA的ASBR的开销值加上种子度量值
类型2---默认--当一个域外的LSA信息使用该类型时,则域内所有设备到达域外目标网段
-
转发地址---FA
-
在5类LSA中默认为0.0.0.0;当FA字段不为0.0.0.0时,则数据层面流量的转发依照转发地址进行数据传输
-
当同时满足如下条件时,FA字段才被允许为其他值
-
1、引入外部路由的ASBR在其连接外部网络的接口上激活了OSPF
2、该接口没有配置为静默接口
3、该接口的网络类型为MA
4、该接口的IP地址在OSPF中被network命令激活
-
- 外部路由标
- 该参数只有外部路由信息才会携带,常用于路由策略
-
该字段在华为路由器中默认为1
[r4-ospf-1]import-route rip 1 cost 5 type 1
Type-4 LSA
4类LSA的LS ID是ASDB的RID值,4类LSA又被称为ASBR的汇总LSA,是一条到达ASBR的主机路由信息
[r1]dis ospf lsdb asbr 4.4.4.4
4类LSA的任务就是辅助5类LSA完成验算过程,找到ASBR的位置
Type-7 LSA
7类LSA的报文格式与5类LSA相同
[r5]dis ospf lsdb nssa 20.1.1.0
Options字段在五类LSA中,
E----代表可以洪泛五类LSA
N----代表允许处理7类LSA信息,尽在NSSA区域置为1
P----代表支持7转5操作,一般与N位共同使用---该标记位加密,抓包看不到
转发地址----应对选路不佳的情况,如果存在选路不佳的情况,则通告者会把最佳的下一跳放入转发地址中,接收者看到FA字段,则将不按照算法来计算下一跳,而直接使用转发地址作为下一跳。在7类LSA中,一般会使用通告者(ASBR)设备的环回接口IP地址作为转发地址。如果存在多个环回接口,则将使用最先宣告的地址作为转发地址;如果没有环回接口,则将使用物理接口作为转发地址。---华为的逻辑
路由撤销
1类LSA撤销----通过序列号加1,校验和不变,老化时间=0的方式进行路由撤销
2类LSA撤销----1、使用序列号加1的方式撤销路由(网络中还存在自己的邻居);2、使用老化时间3600S进行路由撤销(网络中不存在自己的邻居)
3类LSA撤销----使用老化时间3600S进行路由撤销,序列号不变
5类/7类LSA撤销----使用老化时间3600S进行路由撤销,序列号不变
OSPF优化
OSPF的优化主要是为了减少LSA的更新量
-
路由汇总
-
OSPF特殊区域---减少非骨干区域的LSA
OSPF的路由汇总(路由聚合)
域间路由汇总---在ABR(OSPF骨干和其他区域的成员)上部署
[r2]ospf 1
[r2-ospf-1]abr-summary 192.168.0.0 255.255.224.0-----汇总位置必须是路由信息的来源区域
[r3]]ospf 1
[r3-ospf-1]abr-summary 192.168.32.0 255.255.224.0
域间路由汇总只能在明细路由所在区域的ABR身上配置,不能再其余ABR身上配置。执行完汇总操作后,只要站点内这条汇总路由所涵盖的明细路由中有一条是有效的,则会继续通告该汇总路由,当所有的明细路由全部失效时,汇总路由则会被撤销。---汇总并不会影响ABR设备自身的明细路由信息
域外路由汇总---在ASBR(非OSPF区域和OSPF区域间互联的路由器)上
[r1]ospf 1
[r1]asb-summary 10.1.0.0 255.255.0.0 ---域外路由汇总,在ASBR上配置
注意内容:所谓的开销最大值就是种子度量值
Type-2:汇总网段的开销值等于所有明细路由开销最大值加1
Type-1:汇总网段的开销值等于所有明细路由开销最大值
OSPF的特殊区域
第一大类:1、不能是骨干区域;2、不能存在虚链路;3、不能存在ASBR设备
1、末梢区域(stub area )
如果将一个区域配置为末梢区域,则这个区域将不再学习4类和5类LSA-----ABR设备将不会再向该区域转发4类和5类LSA信息-----但是该区域还可能需要访问域外路由信息,故会自动生成一条指向骨干区域的三类缺省路由
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area 2]stub
[r5]ospf 1
[r5-ospf-1]area 2
[r5-ospf-1-area 2]stub
所有区域必须配置为相同的特殊区域
2、完全末梢区域(totally stub)
在末梢区域的基础上,进一步拒绝学习3类LSA信息,仅保留3类缺省路由信息
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area 2]stub no-summary----完全末梢区域,仅在ABR配置
第二大类:1、不能是骨干区域;2、不能存在虚链路;3、必须存在ASBR设备
3、非完全末梢区域(NSSA)
拒绝4类和5类LSA信息。因为该区域存在ASBR设备,故需要将域外路由信息引入到本地,因为拒绝5类LSA的学习,所以只能以7类LSA的形式传递。之后,在7类LSA信息离开NSSA区域后,需要再转换为5类LSA进行传输。
将某区域配置为NSSA后,该区域的ABR设备会自动生成一条7类LSA描述的缺省路由信息,指向骨干区域
[r1]ospf 1
[r1-ospf-1]area 2
[r1-ospf-1-area 2]nssa
[r5]ospf 1
[r5-ospf-1]area 2
[r5-ospf-1-area 2]nssa
O_NSSA---7类域外路由信息的标记,默认优先级为150。
4、完全的非完全末梢区域(Totally NSSA)
在NSSA区域的基础上,进一步拒绝三类LSA,自动产生一条3类缺省路由
[r1-ospf-1-area 2]nssa no summary------完全的非完全末梢区域,仅在ABR上配置
在完全NSSA区域,会看到3类缺省和7类缺省,设备会选择3类缺省
NSSA的环路问题
问题:R3学习到3类和7类的LSA,选择了3类LSA,R2选择了7类LSA,区域1形成环路,并进行7转5,形成5类LSA转发到区域0,区域0中的R1和R2形成等价路由。
解决方式:R2保留7类LSA缺省路由,不会学习其他LSA防止环路
[r3-ospf-1-area-1]nssa default-route-advertise---在NSSA区域下放缺省路由
总结:
1、NSSA的7类LSA实际上是需要ASBR或者ABR自己下发的
2、如果多台设备均下发7类缺省路由成功,则虽然都会接收到LSA信息,但不会将其他路由器发布的路由加载到本地路由表中,因为始终相信自己的缺省路由是最好的
3、而对于第一台发布7类缺省路由的设备而言,会认为自己的身上已经具备一条去往外部区域的路由,而且本地作为通告者,那么当其接收到其他设备发送的7类缺省路由,也不会进行学习----该逻辑解决了NSSA环路问题
-
华为的解决方案:保留NSSA区域由ABR设备产生的7类LSA缺省路由
4、OSPF规定:在NSSA区域中,可能同时存在多个ABR,为了防止环路产生,边界路由器之间不计算对方发布的缺省路由信息
NSSA负载分担解决次优路径问题
OSPF对7转5操作有严格规范:
1、P比特位用于告知路由器该Type-7 LSA是否需要被转换
2、转换路由器是NSSA区域中RID值最大的ABR设备
3、只有P比特位和FA字段不为0的Type-7 LSA才能被转换
[r4]int g 0/0/0
[r4-g 0/0/0]ospf cost 100-----修改开销值
[r4-ospf1-area1]nssa suppress-forwarding-address---在进行7转5操作时,抑制FA字段
[r1]ospf 1
[r1-ospf1]area 1
[r1-ospf1-area1]nssa translater-always---强制开启进行7转5操作
NSSA区域如果没有FA字段,将会有很大的可能因为7转5操作出现次优路径问题
FA字段解决NSSA区域环路问题