OSPF NP

NP—OSPF

OSPF--属于IGP--属于公有协议--属于链路状态协议
何为链路状态协议?
链路:加入ospf的接口以及接口的简要信息
状态:有哪些ospf邻居

链路状态协议在发送路由更新的时候发送的就是链路以及状态的信息

ospf是通过什么方式来发送路由更新的?
是通过组播的形式来代替广播发送路由更新的。

ospf的组播地址:224.0.0.5和224.0.0.6
224.0.0.5--所有的ospf路由器都会加入
224.0.0.6--只有DR/BDR会加入

链路状态协议具有同步的概念,所以网络中的每台设备对于网络的认知都是一样。

OSPF

RID--Router ID--路由器ID
Router ID:在网络中用于唯一标识一台ospf路由器

RID的来源
①手动指定,手动指定的RID具有最高的优先级,并且不会随着网络拓扑的更改发生变化。
②回环接口,如果没有手动指定RID,那么就选择回环接口地址作为RID,如果设备中存在多个回环接口,那么就选择IP地址最大的那个回环口的地址作为RID。
③双UP的物理接口,如果设备既不存在手动指定,又不存在回环接口,那么就选择双up的物理接口地址作为RID,同样是越大越好。

ospf的三五七

三张表:
①邻居表:启用了ospf协议的路由器,就会往组播地址(224.0.0.5)发送hello包,同时也会接收到对方的hello包,此时如果双方的参数匹配,那么就会把对方的RID以及hello包的接受接口关联起来形成邻居表。
IOU1#show ip ospf neighbor--查看邻居表

②拓扑表:也叫作链路状态数据库--相当于网络的地图。形成邻居表之后,邻居之间会相互发送LSA,每一台ospf路由器都会把这些以信息汇总起来形成拓扑表。最后的接口每一台路由器的链路状态数据库达成同步。
IOU1#show ip ospf database --查看拓扑表

③路由表:拿链路状态数据库,运行SPF算法,得到一条最优路径存放到路由表。
IOU1#show ip route ospf

SPF算法:以自己为准,构建一棵最短路径树,选择最优路径加表。
ospf衡量一条最优路径的方法?
前往目标沿途所有出接口的开销累积和,越小越优。
ospf接口的开销计算:10^8/接口带宽
开销的更改:手动更改
①IOU1(config-if)#bandwidth n--通过更改接口带宽来更改开销。但是一般不见以使用这种方式,因为接口的带宽不止于ospf的开销计算有关,也与eigrp的度量值计算有关。
②IOU1(config-if)#ip ospf cost 20--直接更改ospf接口的开销--建议使用

五个报文:
HELLO报文:用于发现、建立和维持邻居之间的关系。包含的内容:版本、RID、认证类型-密码、hello时间10s、死亡时间40s、优先级、组播地址
ospf邻居建立的前提:
①hello间隔要一致 ②区域ID要一致 ③认证类型要一致 ④特殊区域要一致
DBD报文:数据库摘要,用于发送LSA
I:Init--初始位,置为1的时候代表这是该路由器发送的第一个DBD报文。
M:More--后继位,置为1的时候代表后续还有发送DBD报文,置为0的时候代表后续没有DBD报文。
MS:Master/Slaver--主从为,置为1的时候代表该路由器是一个“主”,置为0 的时候代表“从”。主从的选举是通过比较RID产生,RID比较大的成为主。
LSR报文:链路状态请求包--用于请求详细的LSA信息。只有主会发送
LSU报文:链路状态回复包--用于回应LSR,主和从都会发送。
LSAck报文:链路状态确认包--ospf对于每一个发送给自己的LSU都会对其进行确认。其实ospf就是通过该报文来保证路由更新的可靠性。

七个状态:
①Down:断开状态,检测不到ospf的hello。有可能是因为接口松动或者重置了ospf的进程。

②Init:初始状态,启用了ospf的路由器就会开始往组播地址发送hello报文,并且会接收到对方的hello报文。

③2-way:双向通信状态,启用了ospf协议的路由会往组播地址发送hello包,同时也会接收到对方的hello包,此时如果符合条件,那么路由器就会把对方的RID加入自己的hello包中并且发送出去;如果对方同样把自己的RID加入其hello中发送出来,那么双方就形成了一种双向通信的“好朋友关系”---邻居

④Exstart:交换初始状态,双方拟定需要交换的信息,选举出主,由“主”来主导此次交换过程。

⑤Exchange:交换状态,双方一开始不会交换完整的信息,而是会交换数据库摘要信息。此时从会优先把自己的信息发送给主,主接收到信息以后会对照自己的数据库信息,如果数据库存在相应的信息,那么就直接忽略;如果数据库不存在相应的信息,那么主就会向通发送LSR请求详细的LSA信息。此时,为了保证数据库的同步,主也会把从没有的信息通过LSU发送给从。

⑥Loading:加载状态,加载LSA

⑦Full:完全邻接状态,到达这一步以后,双方已经达成了链路状态数据库的同步。

特殊状态:
⑧ATTEMPT:尝试状态,只会出现在非广播多路访问环境中,想要和对方建立邻居,但是不知道该如何发包。

OSPF的区域
为什么要划分区域?
ospf是一个链路状态协议,需要进行链路状态数据库的同步。所以需要管理庞大的链路状态信息,并且运行复杂的SPF算法,因此会对设备的CPU造成很大的消耗,对设备的性能也是很大的损耗。所以提出了区域的概念,将一整个大的ospf路由域划分成多个比较小的区域,每隔区域中的路由器只需要管理本区域内部的链路状态信息。不同的区域之间的路由器是通过传递发送路由的形式来进行数据的传递。类似于距离矢量协议。

ospf的区域划分:采用层级的方式进行划分
骨干区域:区域0
非骨干区域:除了区域0以外的其他所有区域
ospf对于区域的要求?
1、要求非骨干区域一定要与骨干区域相连
2、骨干区域与骨干区域之间一定要直连

ospf的路由器类型
ABR:区域边界路由器,连接两个不同的区域,其中一个必须是区域0
ASBR:自治系统边界路由器,连接ospf路由域和其他外部路由协议的路由器,负责将外部的路由信息注入ospf路由域,同时将ospf的路由信息传递给外部的路由协议。---重分发
IR:内部路由器,位于同一个区域内的路由器,该路由器上的所有接口都属于同一个区域。

基本配置:

IOU1(config)#router ospf 1--创建一个ospf进程,进程号是1--1只在本地有意义
IOU1(config-router)#router-id 1.1.1.1--手动指定RID
IOU1(config-router)#network 192.168.12.0 0.0.0.255 area 0--后面必须跟上区域

距离矢量协议和链路状态协议network的含义:
距离矢量协议的network是将一个网段通告进路由进程;链路状态协议的network是规定一个网段,路由器上属于该网段IP地址的接口就会划分成进ospf进程的相应区域里面。
IOU1(config-router)#int e0/0
IOU1(config-if)#ip ospf 1 area 1 --基于接口的命令比基于进程下的命令具有更高的优先级。

查看命令:
IOU1#show int e0/0
IOU3#show ip ospf interface loopback 0
IOU1# show ip ospf
IOU1#clear ip ospf process --重置路由进程
Reset ALL OSPF processes? [no]: y

第二次课

DR:指定路由器
BDR:备份指定路由器
DR/BDR的选举:是在一条以太网链路上进行选举--ospf的DR并不是常理上的选举得到,应该是由BDR晋升来。网络中首先会选举出BDR,等到BDR晋升成为DR以后才会继续选举出新的BDR。

选举规则:
①先比较接口优先级(针对以太网链路来说,默认的接口优先级是1;针对串行链路来说默认的接口优先级是0--代表不参与DR/BDR的选举),优先级大的成为DR/BDR。
IOU1(config-if)# ip ospf priority n --更改ospf的接口优先级
②如果优先级一致的话,比较双方的RID大小,同样是大的成为DR/BDR
注意:DR/BDR的选举是非抢占,网络中经过40s的等待时间选举出DR/BDR之后,已经处于稳定状态,此时就算有优先级更高的路由器加入该网络中也不会马上抢占原本DR的地位,除非重置ospf的进程--clear ip ospf process--y

OSPF的网络类型--ospf可以根据链路类型来区分网络类型
①串行链路:网络类型是点对点(P2P),点对点链路是不需要进行DR/BDR的选举,会发送组播的hello报文,hello时间是10s。

②以太网链路:网络类型是广播多路访问环境(MA),MA的网络环境需要进行DR/BDR的选举,会发送组播的hello报文,hello时间是10s。

③回环接口:网络类型是loopback,回环接口被认为是一种主机接口,所以邻居学习到的回环接口的路由信息默认都是/32位。
Loopback interface is treated as a stub Host--回环接口被认为是一种末节的主机。
影响:在网路中有可能因为掩码的不一致而导致通信障碍。
解决方案:
1、将回环接口的地址配置成32,这样双方的信息一致。
2、更改接口的网络类型
IOU1(config-if)#ip ospf network point-to-point

④非广播多路访问环境:早期的一些技术,帧中继、ATM,需要进行DR/BDR的选举,但是不会发送组播的hello报文。但是可以通过单播指定。
IOU2(config-router)#neighbor 192.168.12.1--单播指定邻居

注意:
ospf的网络类型和邻居的建立没有必然的联系,只要满足邻居建立的四个条件就可以建立邻居;
ospf的路由学习与网络类型有必然的联系,不一致的网络类型无法相互学习路由。

OSPF的LSA---链路状态通告
通过LSA的类型、名称、内容、作用、通告者、传播范围去了解他们

LSA1:IOU1#show ip ospf database router
名称:Router Link States ---路由器的LSA
内容:本区域内部的链路以及状态的信息
作用:构建本区域内的链路状态数据库,通过链路状态数据库来得到路由信息。
通告者:本区域内的所有路由器
传播范围:仅限于本区域内部

LSA2:IOU1#show ip ospf database network
名称: Net Link States--网络的LSA
内容:多路访问环境的网段和子网掩码,以及加入多路访问的邻居路由器
作用:结合1类LSA,共同描述本区域内部的链路状态信息
通告者:多路访问环境的DR
传播范围:仅限于本区域内

LSA3:IOU1#show ip ospf database summary
名称: Summary Net Link States--汇总的LSA
内容:本区域外的路由信息
作用:通告本区域内的路由信息以LSA3的形式,实现其他区域能够学习到本区域内部的路由信息,同时本区域也可以学习到其他区域的路由信息。
通告者:ABR
传播范围:整个ospf路由域

LSA4:IOU1# show ip ospf database asbr-summary
名称:Summary ASB Link States--汇总的ASBR LSA
内容:ABR到ASBR的开销
作用:告诉内部的路由器该如何到达ASBR
通告者:ABR
传播范围:除了起源区域以外的其他ospf区域。起源区域--ASBR所在的区域

LSA5:IOU1# show ip ospf database external
名称:Type-5 AS External Link States--外部的LSA
内容:ospf路由域外的路由信息
作用:实现ospf路由域外部的路由信息注入ospf路由域,同时也可以让其他的路由协议学习到ospf的路由信息。
通告者:ASBR
传播范围:整个ospf路由域

LSA7
Type-7 AS External Link States--7类的LSA,是ospf的外部路由信息,该信息只会存在于ospf的nssa区域内。

ospf的路由类型:
O:同一个区域内学习到的路由条目
O IA:不同区域间学习到的路由条目
O E2/E1:ospf外部学习到的路由条目
O E2/E1的区别:O E2是从外部学习到路由信息的时候,开销是保持不变的,默认都是20;O E1是从外部学习到路由信息的时候,开销是累加的。--默认的开销类型是O E2。
①IOU3(config-router)# redistribute rip subnets metric-type 1--将rip重分发进ospf的时候更改默认的开销类型是0 E1。
②IOU3(config-router)#redistribute rip subnets metric 40--将rip重分发进ospf的时候更改默认的开销是40

O*N2:该路由只会存在于ospf的特殊区域,一旦离开特殊区域就会恢复到原来的O E2

第三次课

OSPF的虚链路
①用于解决普通区域和骨干区域之间没有直连:

area 2-area 1-area 0:该网络架构中,普通区域2与骨干区域0之间隔了一个普通区域1,所以骨干区域无法学习到普通区域2的路由信息,普通区域2也无法学习到骨干区域的路由信息。
②用于解决骨干区域和骨干区域之间不连续:
area 0-area 1-area 0:该网络架构中,存在两个不连续的骨干区域,所以骨干区域之间无法相互学习路由信息。

基于以上原因,提出了虚链路。虚链路是在两台ABR上配置,并且不能存在特殊区域。一个网络中不一定只存在一条虚链路,应该综合网络情况,需要几条就配置几条。

基本配置:

IOU3(config-router)#area 1 virtual-link 2.2.2.2 --跨域区域1与邻居2.2.2.2建立虚链路(对方的RID)
IOU3#show ip ospf virtual-links--查看ospf的虚链路

注意:通过虚链路建立起来的邻居是不会发送路由更新的,只会在一开始建立邻居的时候发送一次hello,并且是永不老化。虚链路的邻居是基于物理接口建立起来,一旦物理接口挂掉,虚链路也会消失。

隧道:用于解决虚链路无法解决的问题--存在特殊区域---×××
隧道本质上是一个虚拟的接口,该接口存在IP地址,并且可以使用协议,但是要指明是在哪一个区域。

基本配置:

IOU2(config)#int tunnel 1 --创建隧道编号是1--1只在本地有意义
IOU2(config-if)#tunnel source s2/0--指明隧道的源
IOU2(config-if)#tunnel destination 192.168.23.3--隧道的目的地
IOU2(config-if)#ip address 23.23.23.2 255.255.255.0--给隧道配置地址
IOU2(config-if)#ip ospf 1 area 2--启用协议

OU3(config)#int tunnel 1
IOU3(config-if)#tunnel source 192.168.23.3
IOU3(config-if)#tunnel destination 192.168.23.2
IOU3(config-if)#ip address 23.23.23.3 255.255.255.0
IOU3(config-if)#ip ospf 1 area 2

OSPF的路由汇总
什么是路由汇总?---明细路由汇总成一个大的网段

为什么要进行路由的汇总?---减少路由表的路由条目,降低资源消耗
距离矢量协议的手动汇总:
RIP:IOU1(config-if)#ip summary-address rip 10.1.0.0 255.255.0.0
EIGRP:IOU1(config-if)#ip summary-address eigrp 90 10.1.0.0 255.255.0.0

ospf是一个链路状态协议,具有同步的概念,所以不能进自动汇总。所以ospf只能针对不需要进行同步的路由进行汇总。3类、5类
3类路由的产生者:ABR
5类路由的产生者:ASBR
谁产生,谁汇总

汇总外部的路由,在ASBR上:
IOU2(config-router)#summary-address 10.1.0.0 255.255.0.0
汇总区域间的路由,在ABR上:
IOU3(config-router)#area 1 range 172.16.0.0 255.255.0.0

注意:无论是在ABR或者ASBR上进行汇总,都会在本地产生一条汇总路由指向NULL 0(NULL 0是一个空标签),指向NULL 0代表执行数据包的丢弃,以此来避免环路。

OSPF的默认路由
优势:路由表更小、资源消耗更低。
①ip route 0.0.0.0 0.0.0.0 s2/0--这种默认路由,无法自动适应网络拓扑的变化,所以不建议使用。
②一般建议使用默认路由的动态下发。
A.条件下发:

IOU3(config-router)#default-information originate--默认信息的起源,只有存在默认路由才能够下发,并且只能再存在默认路由的设备上才能配置。

B.强制下发:

IOU3(config-router)#default-information originate always --无论是都存在默认路由,都会强制下发一条默认路由并且是指向自己。

IOU3(config-router)#default-information originate always metric-type 1--强制下发默认路由的时候更改路由类型为0 E1。

IOU3(config-router)#default-information originate always metric 10--强制下发默认路由的时候更改默认的开销是10

OSPF的特殊区域
特殊区域:主要是针对ospf路由域进行优化---LSA
特殊区域同样不能针对区域间的路由进行优化,只能针对3类、5类路由优化

①stub区域:可以过滤4类、5类的路由,并且ABR会自动向内部下放一条默认路由。
IOU2(config-router)#area 1 stub--将该区域设置成末节区域,同区域内的所有路由器都要配置
②totally stub区域:在stub的基础上,继续过滤3类的路由信息,并且ABR会自动向内部下发默认路由。
IOU2(config-router)#area 1 stub no-summary --只需要在ABR上配置
③nssa区域:可以过滤4类、5类的路由,并且ABR不会自动向内部下发一条默认路由,但是可以手动下发。
IOU2(config-router)#area 1 nssa 将该区域配置成nssa区域,同一个区域内的所有路由器都需要配置
IOU2(config-router)#area 1 nssa default-information-originate --手动下放默认路由,只需要在ABR上配置。
④totally nssa区域:在nssa的基础上继续过滤3类的路由信息,并且ABR会自动下发一跳默认路由给内部。
IOU2(config-router)#area 1 nssa no-summary--只需要在ABR上配置

特殊区域的配置规则:
①存在一个或者多个的ABR
②特殊区域的标识是邻居建立的前提,同一个区域内的所有路由器都要配置成特殊区域路由器
③骨干区域不能配置成特殊区域
④虚链路不能透传特殊区域,存在特殊区域的地方不能配置虚链路
⑤末节区域不能存在ASBR,nssa区域可以存在ASBR

注意:将一个区域配置成nssa区域之后,就会过滤4类5类的路由信息,并且不会自动下发默认路由。此时,如果是特殊区域外的路由器产生的路由信息会被自动过滤,如果是特殊区域内产生的路由信息,不止不会被过滤,还会将其路由类型更改为O N2。并且为了确保特殊区域能够正常通信,一般会在ABR上手动下发一条默认路由,该默认路由是属于外部的路由信息,所以也会被更改成0 N2的形式。这些外部的路由信息一旦离开nssa区域,就会回到原来的路由的类型--O E2。

重分发的基本配置

IOU3(config)#router ospf 1   --在ospf进程下,将eigrp的路由重分发进ospf   
IOU3(config-router)#redistribute eigrp 90 subnets 

IOU3(config)#router ei 90 --在eigrp的进程下将ospf的路由重分发进eigrp
IOU3(config-router)#redistribute ospf 1 metric 1 1 1 1 1 

OSPF的认证
为什么需要认证?
----防止对方向发送恶意的更新源信息

认证类型:明文认证和MD5
认证的配置有两套模式:基于接口和基于进程
二者的区别:基于接口的认证只会影响到一条链路;基于进程下的认证会影响整个区域。

基于接口的明文认证:

IOU2(config-router)#int s2/0
IOU2(config-if)#ip ospf authentication--激活明文认证
IOU2(config-if)#ip ospf authentication-key cisco--配置明文认证密码

基于进程下的明文认证:

IOU3(config-if)#router os 1
IOU3(config-router)#area 1 authentication 

IOU3(config-router)#int s2/0
IOU3(config-if)#ip ospf authentication-key yucedu

基于虚链路的明文认证:

IOU2(config-router)#area 1 virtual-link 3.3.3.3 authentication     
IOU2(config-router)#area 1 virtual-link 3.3.3.3 authentication-key 1234

基于接口的MD5认证:

IOU2(config)#int e0/0
IOU2(config-if)#ip ospf authentication message-digest --激活MD5认证
IOU2(config-if)#ip ospf message-digest-key 1 md5 yucedu--配置认证秘钥以及密码

基于进程下的MD5认证:

IOU2(config-if)# router os 1
IOU2(config-router)#area 1 authentication  message-digest 
IOU2(config-router)#int e0/0
IOU2(config-if)#ip ospf message-digest-key 2 md5 cisco

OSPF被动接口
不会发送或者接受路路由更新
作用:节约资源的消耗,更加安全
建议:与主机相连的接口或者回环接口都配置为被动接口

配置:

IOU1(config)#router os 1
IOU1(config-router)#passive-interface e0/0

IOU1(config)#router os 1 
IOU1(config-router)#passive-interface default --将所有的接口都配置成被动接口
IOU1(config-router)#no passive-interface e0/0

OSPF NP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值