[CCNP笔记] OSPF(1) 基础

一 OSPF概述 
<OSPF(Open Shortest Path First)>(RFC2328) 
·OSPF属于IGP,是链路状态(Link-State)协议,基于IP Pro 89。 
·采用SPF算法(Dijkstra算法)计算最佳路径。(特点:1.最短 2.无环) 
·快速响应网络变化。 
·网络变化时发触发更新。 
·以较低频率(每隔30分钟)发送定期更新,被称为链路状态刷新。 
·支持等价的负载均衡,我们所学的协议中,只有EIGRP支持不等价负载。(默认4,最大16) 

一个路由器产生的LSA会把自己所有接口的信息都包含其中,对端邻居会把LSA放入LSDB中,继续泛洪此LSA,直到网络中的所有路由器都收到此LSA。 

SPF算法: 
1、在一个区域内的所有路由器有同样的LSDB 
2、每一个路由器在计算时都将自已做为树根 
3、具有去往目标的最低cost值的路由是最好的路径 
4、最好的路由被放入转发表(路由表,转发数据库) 

OSPF区域结构(层次设计) 
·OSPF采用层次设计,用Area来分隔路由器。 
 区域中的路由器保存该区域中所有链路和路由器的详细信息, 
 但只保存其他区域路由器和链路的摘要信息。 
中转区域 Transit area (backbone or area 0) 
 主要功能:为快速、高效地传输数据包。通常不接用户。 
常规区域 Regular areas (nonbackbone areas) 
 主要是连接用户。而且所有数据都必须经过area 0中转。 
 包括:Stub / Totally Stubby / NSSA 
OSPF只有在一个区域内是链路状态(100%无环路)的, 区域与区域之间是距离矢量关系(这样是不是出现路由环路?那如何解决呢?其实OSPF骨干区域与非骨干区域之间遵循 水平分割法则)。 
当regular areas(非骨干区域)传递给area 0时的是路由,所以可以在边界路由器上做汇总。 
area 0用来防环! 
假如在一个大型网络中,OSPF如果没有分层,会有以下的问题产生: 
1、每一个路由器会接收到太多的LSA 
2、会经常进行路由的计算 
3、路由表太大,而路由器的内存是有限的。 
采用层次设计的好处: 
1、减少了路由表的条目 
2、LSA的flood在网络边界停止,加速会聚 
3、缩小网络的不稳定性,一个区域的问题不会影响其它区域。 

OSPF 度量值计算 
·OSPF Cost = 108/BW (bps) 
EIGRP中是KB,OSPF中是Bit 

OSPF 5种Packet 
[CCNP笔记] OSPF(1) 基础 - 紫色的味道 - 遗失的城市 
VirsionNumber:2 (V3是IPV6) 
Type:对应上面5种 
Data:见课本 

1.Hello 
作用:1.建立邻居 2.维护邻居 3.选DR/BDR 
R1(config-if)# ip ospf hello-interval 9 //修改了hello时间间隔,deadtime自动改为hellotime的4倍 
R1(config-if)# ip os dead-interval 80   //修改deadtime 

2.DBD(DDP,数据库描述) 

3.LSR(链路状态请求) 
4.LSU(链路状态更新) 
5.LSAck(确认) 


OSPF邻接关系建立(adjacency

1、down state       (失效状态) 
2、init state       (初始状态) 
3、two-way state    (双向通信状态) 
(只有在neighbor list中看见自己的router-id才置于two-way状态,所以有先后顺序) 
①邻居关系建立完成 
②DR/BDR选举 
4、exstart state    (信息交换初始状态) 
(发送第一个DBD包,两台路由器选举主/从关系和检查MTU,根据router ID) 
5、exchange state   (信息交换状态) 
发送LSR请求LSA 
6、loading state    (信息加载状态) 
收到真正的LSA(LSU),之后确认LSAck 
7、full state        (完全邻接状态) 

Route-ID: 
 为唯一标识OSPF域中路由器的身份。  
  设置Route-ID的优先顺序: 
 1)手工指定Route-ID x.x.x.x(可任意地址 除开0.0.0.0和255.255.255.255,但不能重复) 
  R1(config-router)# Router-id 1.1.1.1 
 2)最大的Loopback IP 
 3)最大的物理接口IP,无须参与OSPF进程(保证接口是激活状态)higher active physical interface ip 
RID也具有非抢占性(比如:如果OSPF进程已运行-意思已经选好RID=1.1.1.1,只有重新启动路由器或者手工指定完刷新进程( clear ip ospf process)大的Loopback才会生效成新RID) 
推荐使用 环回口手工指定的router-id,因为它们的稳定性更高。 
DR/BDR的选举
 1)比较优先级,越大越优(默认为1,如设为0表示不参与选举) 
  R1(config-if)# ip ospf priority 10 
 2)比较Route-ID,越大越优。 
· DRother发送LSA给DR/BDR用224.0.0.6( DRother的链路状态发生变化时发送给DR/BDR的组播地址
·DR发送LSA给DRother用224.0.0.5 
·非MA网络(如:p2p没有DR/BDR),路由器都用224.0.0.5 
wait time: 
在以太网络中作用,在选举DR/BDR之前,先等待40秒。 
DR/BDR 特点 
 1)不抢占。DR正常时, 即使有新的Pri比DR高的路由器也不能抢占成为DR. 
  //今天做实验,修改hello-interval可以抢占DR 先改成非10,再改回来.如果优先级最高(事先改好),即可以抢占DR. 
 2)DR正常时, BDR只接收所有信息, 转发LSA和同步LSDB的任务由DR完成,当DR故障时,BDR自动成为DR,完成原DR的工作,并选举新的BDR。 
 3)DR是个接口概念。每个网段都会选举DR。 
  4) 不同网段分别选DR/BDR 

OSPF三张表 
1.邻居表 
 确保直连邻居之间能够双向通信(ping通) 
必要条件: 
 (1) Hello/Dead Intervals 
 (2) Area ID 
 (3) Authentication Type/Password(认证类型和认证密码) 
 (4) Stub Area Flag 
  (5)MTU(不是必要条件,但需要注意(config-if)#ip ospf mtu ignore忽略MTU比较 注意:在MTU小的那边敲入) 
  (6) subnet mask(必须是同一个网段)//也就是不能ping通也无法建邻居的 
计时器: 
·Hello Intervals:10S/30S 
·Dead Interval:4*Hello =40S  不同于其它协议的三倍于Hello时间 
  Dead time一定要大于hello time,要不然会产生邻接关系的翻动 
hello包发向224.0.0.5 
P2P和广播网络的hello时间是10S 
下面这三种网络类型的hello时间是30S 
非广播 NON_BROADCAST 
点到多点 POINT_TO_MULTIPOINT 
点到多点非广播 POINT_TO_MULTIPOINT NON_BROADCAST 
OSPF的邻居与邻接关系: 
·OSPF路由器与它直连的邻居建立邻居关系。 
·OSPF路由器只会与建立了邻接关系的路由器互传LSA。 
·路由器只和建立了邻接关系的邻居才可以到达FULL状态。 
·路由更新只在形成FULL状态的路由器间传递。 
·P2P链路可以到达FULL状态。 
·MA网络,所有路由器只和DR/BDR(Backup Designated Router)到达FULL状态。 
邻居及邻接的区别. 
  邻居---必须有直连的链路 
  邻接--- 1. 必须是邻居, 2. 链路两边同一区域的数据库必须同步(状态为:FULL). 
2.拓扑表,链路状态数据库 Topology Table: 
 LSDB(Link-State DataBase),同一区域的所有路由器LSDB相同。 
------------------------------------------------------------------------- 
R4#sh ip os database 
            OSPF Router with ID (4.4.4.4) (Process ID 1) 
                Router Link States (Area 0) 
Link ID         ADV Router      Age         Seq#       Checksum Link count 
2.2.2.2         2.2.2.2         1969        0x80000014 0x00C46A 1 
3.3.3.3         3.3.3.3         254         0x80000008 0x0023F1 2 
4.4.4.4         4.4.4.4         263         0x8000000C 0x002FD4 2 
11.11.11.11     11.11.11.11     356         0x8000000F 0x0012DA 1 
                Net Link States (Area 0) 
Link ID         ADV Router      Age         Seq#       Checksum 
192.168.0.3     3.3.3.3         254         0x80000014 0x00BC99 
------------------------------------------------------------------------- 
OSPF链路状态序列号 
1、LSDB中每一个LSA都有一个序列号 
2、序列号范围从0x80000001-0x7FFFFFFF(0x80000001-0xFFFFFFFF-0x7FFFFFFF) 
3、OSPF 每30分钟flood一次LSA来维持LSDB同步,每flood一次,序列号加1 
4、当一个路由器遇到同一个LSA的两个实例时,它必须能够确定哪一个是最近的LSA。(根据序列号来识别) 
LSA条目的老化时间默认是一小时(0-3600S) 
当一条LSA的序列号到达最大序列号时,始发路由器会发送一个生存时间为最大值的LSA,让其它的路由器从LSDB中清除这条LSA,当其它路由器确认后,再发送一个初始序列号的LSA。 
注意:只有始发路由器才可以提前使这条LSA老化 
3.Routing Table: 
 对LSDB应用SPF算法,选择到达目标地址的最佳路由放入路由表。 
OSPF LSA (Link-State Advertisement)
对于每种LSA需要掌握的东西:
1、传播范围  
2、由谁产生 
3、包含内容
类型1:LSA1(Router Link States)
R1# show ip ospf database router 
1、域内路由,仅在本区域传递,不会穿越ABR。
2、每台路由器都会产生。
3、包含本路由器的直连的邻居,以及直连网络的信息

类型2: LSA2(Network Link States)
R1# show ip ospf database network  
1、仅在本区域传递
2、 只有MA网络才会产生LSA2由DR发出。
3、标识出本MA网中有哪些路由器以及本网的掩码信息。

类型3:LSA3(Summary Net Link States)
R1# show ip ospf database summary 
1、域间路由,能泛洪到整个AS。
2、由 ABR发出,穿越一个ABR,其ADV Router就会变成此ABR的Router-id.
3、包含本区域中的所有路由信息,包括网络号和掩码和度量值。

类型4:LSA4(Summary ASB Link States)
R1# show ip os database asbr-summary  
  1、把ASBR的Router-id传播到其他区域,让其他区域的路由器得知ASBR的位置。
    2、由 ABR产生并发出, 穿越一个ABR,其ADV Router就会变成此ABR的Router-id.(离ASBR最近的ABR产生)
Link ID:        ASBR的RID
ADV router:     ABR的router ID(经过一个ABR,就会改为这个ABR的router ID)
在ASBR直连的区域内,不会产生4类的LSA,因为ASBR会发出一类的LSA,其中会指明自已是ASBR
类型4LSA告知怎样去达类型5LSA通告的网络

类型5:LSA5(Type-5 AS External Link States)
R1# show ip os database external 
1、域外路由,不属于某个区域。
2、 ASBR产生,泛洪/到整个AS。不会改变ADV Router。
3、包含域外的路由
 
LSA7(Type-7 NSSA External Link States)
R2#show ip os database nssa-external 
  特殊的域外路由,只存在于NSSA区域中。
Link ID:        路由(网络号)
   ADV router:     ASBR的router ID (只在NSSA区域中)
R2(config-if)#bandwidth 5000
R2(config-if)#ip ospf cost 30
 
OSPF的四种路径类型:
1、区域内路由(O)
2、区域间路由(O IA)
3.1、类型1的外部路由(E1)[在传输过程中会累加每个入接口的cost值]
3.2、类型2的外部路由(E2)[重分布进OSPF的路由默认就是O E2但COST不会改变,传输过程中也不变]
4.1、OSPF NSSA external type 1(N1)
4.2、OSPF NSSA external type 2(N2)
 
外部路由重分布进OSPF的两种类型O E1 和O E2,如果有去往同一目标的多条路由重分布进OSPF,OSPF在选择外部路由的时候,遵循的原则是:
[1]O E1优于O E2
[2]在同样的情况下,Cost越小越优先
[3]在cost相同的情况下,选择到达ASBR最优的路径
 
新命令:
Router(config-router)#max-lsa maximum-number [threshold-percentage] [warning-only] [ignore-time] [ignore-count] [reset-time]
定义一个百分比值,当收到LSA的条数超过我指定的值,进行相应的操作,用于限定路由器所能收到的LSA条数
maximum-number   所允许收到LSA的最大条数
[threshold-percentage]  maximum-number的百分比,超过这个值就会发出警告,默认75%
[warning-only]    只发送警告,不做其它动作,默认是关闭的
[ignore-time]     超过最大值后进入ignore状态的时间,默认5分钟,5分钟后恢复
[ignore-count]    超过多少次后,一直进入ignore状态
[reset-time]      一直进入ignore状态后多长时间重置所有邻居
ABR有多条路由时如何发出三类LSA:
ABR路由器即使知道它有多条路由可以到达同一个目的地,它只会为这个目的地始发单条网络汇总LSA通告。不论是从核心区域到非核心,还是从非核心到核心区域。而且一定是代价最低的一条LSA。
<修改Cost参考值>
·OSPF Cost = 108/BW (bps)    环回口的COST值是1,serial口的COST值是64,以太口是10
要修改路由的COST值有两种方法:
第一种(改COST):
R1(config)#int e0
R1(config-if)#ip ospf cost 10  直接修改COST值1-65535
第二种(改分子10^8=100M):
R1(config)#router ospf 110
R1(config-router)#auto-cost reference-bandwidth 1000 (Mbps10的六次方)在COST公式中修改分子,本例修改分子为10的九次方
第三种(改分母-入向接口带宽):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值