OSPF全解剖析Word下载.docx
《OSPF全解剖析Word下载.docx》由会员分享,可在线阅读,更多相关《OSPF全解剖析Word下载.docx(28页珍藏版)》请在冰点文库上搜索。
![OSPF全解剖析Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/a37f57d9-0d97-4415-b7f3-013ed6f298b6/a37f57d9-0d97-4415-b7f3-013ed6f298b61.gif)
routerospf110
area35stub
过滤5类的LSA(外部路由)
生成3类的LSA默认路由
totalstub除了过滤域外路由(如引入的eigrp路由)外,还过滤OSPF域间路由LSA3。
同样生成3类默认路由
该区域所有路由器都打上:
该区域的ABR上打
area35stubno-summary
LSA4型:
因为LSA5型的公告路由器(ASBR)是不会改变的,所以需要4型来为除了AREA0以外的区域寻路。
LSA类型4的作用,描述ASBR所在位置
LSA类型4由区域的ABR产生。
NSSA区域
Not-so-stubbyareas:
可以过滤area0发来的外部路由,但可以引进外部路由到其他area。
过滤5类LSA,但是可以引入外部路由
产生LSA7(由区域概念nssa本区域可以看到ON2,别的区域看不到。
)
NSSA区域的ABR同时也是ASBR,负责把7类LSA转换成5类LSA。
OSPF(OpenShortestPathFisrt)
理论:
OSPF三张表(OSPFAD:
110)
~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Neighbortable(列出了所有和本路由器直接相连的OSPF邻居)
2.Topologytable(LSDB链路状态数据库)
列举了所有从自己的邻居那得到的LSA,(Flooding/泛洪),
在同一个OSPF区域中的路由器,都有完全一致的OSPFDatabase。
一个OSPF区域,就对应着一个OSPFDatabase。
3.Routingtable:
(从OSPF这个路由协议,学到的路由。
在OSPF的数据库中,通过SPF算法,计算得到了路由。
也称为:
ForwardingDatabase
OSPF网络的层次化设计,区域划分,及划分的目的:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ospftwo-levelhierarchy:
Transitarea(backboneorarea0)
Regularareas(nonbackboneareas)
划分的目的:
1.提高路由效率:
缩减部分路由器的OSPF的路由条目。
对某些特定的LSA,可以在区域边界(ABR/ASBR)上,实现汇总/控制/过滤。
(通过OSPF的汇总路由/默认路由实现OSPF区域之间的全网互通)
2.提高网络稳定性:
当某个区域内的一条OSPF路由出现抖动时,可以有效控制受影响的波及面。
(对于大型的路由协议来说,稳定是很重要的一个因素。
3.OSPFVS.IS-IS的区域可扩展性的对比:
两种协议的算法都是基于SPF算法
OSPF:
以Area0为BackBone。
(比较好)
IS-IS:
以Level2的链路为BackBone,以链路为区域分界。
(很好)
OSPFRoutingupdatesandtopologyinformationareonlypassedbetweenFULLadjacentrouters.
物理网络链路类型分类:
(L2概念)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.P2P(HDLC/PPPSerial/Point2PointSub-if)
一定要求是Full状态.
(点对点链路)
(没有DR/BDR的选举的,代表是E1,两台路由器直连)
(WAN/广域网)
2.BMA:
BroadcastMulti-Access
(EtherNet/TR/FDDI)(代表是局域网)
(有DR/BDR的选举的)
默认可以传输广播流量的,多路访问网络
3.NBMA:
Non-BroadcastMulti-Access
(FR/ATM/X.25)(代表是广域网,如帧中继)
(有DR/BDR的选举的)
默认不传输广播流量的,多路访问网络
OSPF的SPF算法:
~~~~~~~~~~~~~~~~~
1.每一个OSPF区域,就对应着一个独立的OSPFDatabase(LSDB)
意味着同在一个OSPF区域中的,所有路由器,都有相同的一个LSDB
2.每一个OSPF路由器,都生成了以自己为根的,一棵SPF树。
3.从本路由器出发,到特定目标网络的整体开销最小的那个路径,成为最佳路径。
4.那么这条最佳路径,就成为OSPF这个协议,提交给路由表的,到达这个目标网络的路由。
LSA的传播更新规律(OSPF是LS协议,无需遵循水平分割,DV协议才遵循水平分割。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Step1:
如果本路由器从来没有收到过此LSA,那么路由器就将其加入LSDB,并且转发/泛洪此LSA,同时继续SPF计算,得出达到此目标的最佳路由。
Step2:
如果本路由器,曾经受到过描述同一个网络的LSA:
(seq:
100)
2-1.如果新收到的LSA序号与自己已有的相同(seq:
100),则丢弃此LSA。
2-2.如果新收到的LSA序号比自己已有的更新(seq:
101),则同Step1,去计算最佳路由。
2-3.如果新收到的LSA的序号,比自己的更旧(seq:
99),就将自己较新的LSA,发送给源。
OSPF的5种数据包
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Hello(建立和维护邻居(Neighbor)关系,路由器发送Hello包的缺省时间间隔是10秒)
2.DBD(DatabaseDescription)
3.LSR(LinkStatusRequest)
4.LSU(LinkStatusUpdate)(LSA是包含在LSU中的)
5.LSAck
OSPF的ProtocolID:
89(EIGRP:
88)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在OSPF的Hello包中,影响建立邻居关系的4个关键因素:
Hello/deadinterval
Area-ID(链路所在的AreaID)
Authenticationpassword(OSPF认证的密码)
Stubareaflag(NSSA标示位)
这四个因素必须匹配才能建立邻居,否则无法建成OSPF邻居
在BMA网络和点对点网络上,默认的HelloInterval值是10秒,DeadInterval值是40秒。
在NBMA网络上,默认的HelloInterval值是30秒,DeadInterval值是120秒。
修改HelloInterval和DeadInterval的值:
(在接口上修改)
R1(config-if)#ipospfhello-intervaltime(time的取值为1-65535秒)
R1(config-if)#ipospfdead-intervaltime(time的取值为1-65535秒)
OSPF邻接关系的建立过程:
~~~~~~~~~~~~~~~~~~~~~~~~
1.Down(路由器A从运行OSPF的接口以组播地址224.0.0.4发送Hello数据包)
2.Init(所有收到从路由器A发送来的Hello数据包的路由器,都把路由器A添加到自己的邻居Neighbor列表中)
3.TwoWay(所有收到路由器A的Hello包的路由器都向其发送一个单点传送的回复Hello包,其中包含有它们的信
息。
路由器A收到这些信息后,检查这些数据包,把哪些Hello包的邻居域中有自己ID的路由器也加入
自己的
邻居列表中。
在这个过程中同时选举出DR和BDR)
4.Exstart(DR和BDR与其他的路由器建立相邻关系(Adjacency)。
5.Exchange(由DR向其他路由器发送数据库描述数据包(DBD,DatabaseDescription)。
DBD有序号,由DR决定DBD
的序号)
6.Loading(发送链路状态请求包的过程)
7.Full(路由器及哪个新的链路状态条目添加到它们的链路状态数据库中。
当所有的LSR都得到答复时,相邻的路由
器就被认为达到了同步并处于“Full”状态了。
路由器必须在达到Full状态后才能正常转发数据。
此
时区域内的每个链路应该都有相同的数据链路状态数据库。
OSPF数据包的发送地址
DR/BDRnotifiesLSUon224.0.0.5(映射到二层MAC地址:
010005e0000005)
DR-OthernotifiesLSUtoOSPFDRon224.0.0.6(映射到二层MAC地址:
010005e0000006)
DR负责宣告整个网络的路由更新,BDR或DR-Other只能先把路由更新先发给DR,然后再由DR发给BDR和DR-Other
每次收到LSU,路由器在重新计算路由表之前等待一段时间,默认是5秒。
每个LSA都有一个老化(Aging)计时器,到期时由产生该LSA的路由器再发送一个有关该网络的LSU以证实该链路仍然是活跃的,这个Aging时间默认是1800秒。
DR和BDR是在交换Hello数据包的过程中选举出来的,然后其他路由器都与DR和BDR建立相邻关系。
每台DR-other路由器都只与DR和BDR建立相邻关系(Adjacency),交换链路状态信息。
LAB1.OSPF的Router-ID(要求全网唯一)
一旦启动OSPF,立刻确定Router-ID
通过此命令察看Router-ID:
R1#showipospf
在OSPF路由器上,确定Router_ID的3个优先级别:
(建议使用router-id命令来确定Router-ID)
通过router-id命令,修改Router-ID,其优先级别最高,也是建议的。
(先建立一个LOOPBACK口作为R-ID用)
R1(config)#routerospf110
R1(config-router)#router-id100.0.0.1
假如没有通过router-id命令指定router-id,
那么路由器会自动的将自己的环回口的IP,作为router-id.
如果存在多个环回口,
那么路由器会自动的选择一个IP地址最大的那个环回口IP作为自己的Router-ID。
Step3:
如果路由器上,连一个环回口都没有,
那么路由器会自动从当前是Active(激活状态下:
UP/UP)的物理接口中,
选择IP地址最大的那个接口的IP作为自己的Router-ID。
这是很不稳定的,不建议的方法。
LAB2.通过反掩码控制有哪些接口,在运行OSPF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
step1:
启动OSPF,并宣告网络:
R1(config-router)#network192.16.1.10.0.0.0area0
(表示特定一个接口,在运行OSPF协议)
R3(config-router)#network0.0.0.0255.255.255.255area0
(表示路由器上的所有接口,都运行OSPF协议)
反掩码/通配符:
wildcardbits
反掩码的匹配原则:
0:
表示准确匹配
1:
表示忽略不计
结论:
network命令中携带的反掩码,
不表示这个接口所在的网络长度
而表示运行路由协议的接口范围(有哪些接口在运行EIGRP/OSPF)
LAB3:
OSPF必需察看的4个SHOW
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
showipospfinterface
(查看有哪些接口在运行OSPF,本路由器是DR,或者BDR,还是DR-other,还有优先级)
showipospfneighbor
(查看路由器的OSPF邻居表,当前有哪些OSPF的邻居,DR/BDR/DR-other状态)
showipospfdatabase
(察看路由器的LSDB:
showiprouteospf
(察看从OSPF学到的路由)
LAB4.DR/BDR的选举:
(前提:
只发生在多路访问网络/Multi-AccessNetwork,BMA和NBMA)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
察看OSPF路由器的DR/BDR的状态
showipospfinterfaceethernet0
RouterID100.0.0.1,
stateDR?
BDR/DR-other,Priority1
1.在点对点链路,是没有DR/BDR的选举
2.在MA网络中:
2-1:
OSPF首先通过接口优先级,控制DR/BDR的选举:
(优先级越大,越可能成为DR。
OSPF路由器的接口优先级,默认是1。
如果需要进行DR的人为控制,
应该建议,通过OSPF的接口优先级进行控制。
R1(config)#inte0(修改特定接口的优先级)
R1(config-if)#ipospfpriority10
(OSPFPriority:
0~255)
R1#clearipospfprocess(清OSPF进程)
特别注明:
OSPF的优先级是针对某个特定的MA接口而言的,不是针对整个路由器的。
2-2:
OSPF的接口优先级相同的情况:
如果OSPF路由器的优先级,全部都是默认值1,路由器默认通过Router-ID,选举DR/BDR,Router-ID最大的成为DR,次大的成为BDR。
其余的统统都是DR-other。
2-3:
OSPF的接口优先级如果为0,表示该路由器放弃DR选举
2-4:
:
在Hub&
Spoke的NBMA网络中,中心点(HUB)应该成为DR,无BDR。
2-5:
OSPF的DR/BDR的选举,无抢占性。
1.同一个路由器的不同MA接口,可能在不同的MA网络中,充当不同的DR/BDR/DR-other.
DR/BDR只是针对接口而言,而不是针对整个路由器。
2.在一个MA网络中:
DR/BDR与所有的邻居都是Full状态,DR-Other与DR/BDR是Full的,但与别的DR-Other是2way状态。
特别注意:
只有Full状态才能交换路由信息。
在选出DR/BDR后,如果有新的优先级更高的路由器加入,那么新加入的路由器并不会成为DR/BDR,需要在下次选举中才能生效。
AdvanceOSPFControlling
LAB5:
OSPF的基本实验配置
~~~~~~~~~~~~~~~~~~~~~~~~~~
intloopback1
ipadd195.100.0.x255.255.255.0
启动OSPF,明确指定Router-ID
router-ID195.100.0.x
Step3:
宣告OSPF的链路在哪个区域。
(宣告网络)(激活接口,运行OSPF)
network*.*.*.**.*.*.*
建议宣告每一个Router-ID的网络,便于网管Telnet。
如Router-ID是195.100.0.1,则宣告网络network195.100.0.00.0.0.255area0。
Step4:
OSPF的三类路由
R4#showiproute
O
100.0.0.0/16(域内路由)
OIA12.0.0.0.0/24
(域间路由:
IA-OSPFinterarea)
OIA13.0.0.0.0/24
(域间路由)
OE25.0.0.0/8
(域外路由:
E-OSPFexternal)
OE235.0.0.0/24(域外路由)
在R3这个同时运行EIGRP/OSPF的路由器上,将EIGRP路由重分布到OSPF:
R3(config)#routerospf110
R3(config-router)#redistributeeigrp90subnets
LAB6:
OSPF的Metric计算
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
影响OSPFMetric计算的3种操纵方法
在路由协议计算Metric/Cost值时,只计算路由的入口
OSPF计算Cost的公式:
Cost=100,000,000/BW(路由入口的带宽,其单位是bps)(10^8/BW,BW的单位是bps)
OSPF的路由的Metric值:
每个接口Metric值的累加。
收集每种接口的带宽:
Showinterfacesserial1(BW1544Kbit)
showinterfacesethernet0(BW10,000Kbit)
showinterfacesfast-ethernet0(BW100,000Kbit)
showinterfacesloopback5(BW8,000,000Kbit,环回口的OSPFCost固定为1,而不管参考带宽的值是多少)
R1访问35.0.0.0网络的Cost是10^8/BW+10^8/BW(BW是bps,即1544Kbps=1,544,000)
把每个接口的OSPFCOST值累加,就可以得到OSPF路由的Metric。
LAB7:
影响OSPFMetric计算的3种操纵方法:
(操纵OSPF路由)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
方法1:
直接修改接口Cost值
R4(config)#intE0
R4(config-if)#ipospfcost128(用这个命令修改后,就不再用10^8/BW这个公式计算Cost了)
方法2:
修改接口的带宽BW
R3(config)#ints0
R3(config-if)#bandwidth2048(单位是Kbps,2.048Mbps/E1)
bandwidth:
影响路由协议的选路
clockrate:
影响物理链路的真实速率
方法3:
修改参考带宽(分子)
工程/题目需求:
考虑到为了的网络发展,要求将来再10Gbps链路上,其OSPFCost为:
10,
所以我们要把分子更改为100G,即1011。
(1G的链路,其COST为100)
在全网路由器上:
R1(config-router)#auto-costreference-bandwidth100000(单位是Mbps)
要求:
一旦准备更改OSPF的参考带宽,就必须在所有的OSPF路由器(包含不同区域)上一起更改。
"
ipospfcost"
设置的值要优先于"
auto-costreference-bandwidth"
命令计算出来的值。
1.路由入口的定义。
2.同步串行的同步时钟速率:
clockrate2400,只会影响链路的真实物理速率(带宽),不会影响OSPF的Cost的计算。
但接口种配置的“Bandwidth2048"
,只影响OSPF的Cost的计算,影响OSPF选路,不影响真实物理速率
3.对于以太网,其速率就等于其接口的带宽。
改接口速率:
intfastethernet0/1
speed10(100)
1.4-动态路由协议OSPF③
OSPF的路由汇总
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
用默认的网络地址
因为
无论在何种路由协议的路由汇总中:
生成的汇总路由包含范围过大,则很可能形成路由黑洞。
生成的汇总路由包含范围过小,则很可能丢失部分明细路由。
所以
默认情况下,在工程/题目没有指定汇总的长度的时候,应该进行最精准的汇总。
RIP和EIGRP的路由汇总是设置在接口上的,它们是DV协议。
链路状态路由协议的路由汇总需要在路由进程中设置,链路状态协议没有自动汇总的特性。
OSPF的域间汇总,发生在连接不同OSPf区域的ABR上。
0IA(IA:
inter-area)
ABR:
(互联了2个,或者2个以上的OSPF区域的路由器。
2:
OSPF的域外汇总,发生在OSPF与