OSPF總結

1、<OSPF(Open Shortest Path First)> :開放最短路徑優先協議redis


OSPF的基本特性:算法

·OSPF屬於IGP,是Link-State協議,基於IP Pro 89。數據庫

·採用SPF算法(Dijkstra算法)計算最佳路徑。網絡

·快速響應網絡變化。併發

·以較低頻率(每隔30分鐘)發送按期更新,被稱爲鏈路狀態刷新。負載均衡

·網絡變化時是觸發更新。ide

·支持等價的負載均衡。oop


OSPF維護的3張表:學習

1)Neighbor Table:優化

 確保直接鄰居之間可以雙向通訊。

2)Topology Table:

 LSDB(Link-State DataBase),同一區域的全部路由器LSDB相同。

3)Routing Table:

 對LSDB應用SPF算法,選擇到達目標地址的最佳路由放入路由表。


OSPF的區域劃分:

·OSPF採用層次設計,用Area來分隔路由器。

 區域中的路由器保存該區域中全部鏈路和路由器的詳細信息,

 但只保存其餘區域路由器和鏈路的摘要信息。


·Transit area (backbone or area 0)

 主要功能:爲快速、高效地傳輸數據包。一般不接用戶。


·Regular areas (nonbackbone areas)

 主要是鏈接用戶。並且全部數據都必須通過area 0中轉。

 包括:Stub / Totally Stubby / NSSA


採用分區域設計的好處:

 一、能夠在區域邊界作彙總,減小了路由表的條目

 二、只有一個區域內的路由器纔會同步LSDB,LSA的flood在網絡邊界中止,減小了LSA的flood,加速會聚

 三、縮小網絡的不穩定性,一個區域的路由問題不會影響其它區域。


OSPF的鄰居與鄰接關係:

OSPF中路由器之間的關係分兩種:

一、鄰居

二、鄰接


·OSPF路由器可與它直連的鄰居創建鄰居關係。

·P2P鏈路上,鄰居能夠到達FULL狀態,造成鄰接關係

·MA網絡,全部路由器只和DR/BDR(Backup Designated Router)到達FULL狀態。造成鄰接

·路由器只和創建了鄰接關係的鄰居才能夠到達FULL狀態。

·路由更新只在造成FULL狀態的路由器間傳遞。

·OSPF路由器只會與創建了鄰接關係的路由器互傳LSA。同步LSDB

  

Route-ID:

 一個號碼而已,用來惟一標識OSPF域中的路由器。


 設置Route-ID的優先順序:

 1)手工指定Route-ID x.x.x.x(可任意,但區域內不能重複)

 2)自動選擇最大的Loopback IP做route-id

 3)自動選擇最大的物理接口IP(接口必須是激活狀態)


推薦手工指定的router-id


 

DR--指定路由器

BDR--備份的指定路由器


選舉規則:

  1)比較優先級,越大越優(默認爲1,如設爲0表示不參與選舉)

 2)比較Route-ID,越大越優。


·DRother發送LSA給DR/BDR用224.0.0.6

·DR發送LSA給DRother用224.0.0.5

·非MA網絡(沒有DR/BDR),路由器都用224.0.0.5


 

<DR/BDR>特色


 1)不搶佔,DR正常工做時,即便有新的優先級比DR高的路由器也不能搶佔成爲DR。

 2)DR正常時,BDR只接收全部信息,轉發LSA和同步LSDB的任務由DR完成,當DR故障時,BDR自動成爲DR,完成原DR的工做,並選舉新的BDR。

 3)DR是個接口概念。每一個網段都會選舉DR。

  4) 不一樣網段分別選DR/BDR


SPF算法:

最短路徑優先算法


一、在一個區域內的全部路由器有一樣的LSDB

二、每個路由器在計算時都將自已作爲樹根

三、具備去往目標的最低cost值的路由是最好的路徑

四、最好的路由被放入轉發表


計時器:

·Hello Intervals:10S/30S

·Dead Interval:4*Hello =40S  不一樣於其它協議的三倍於Hello時間


hello包發向224.0.0.5


下面這三種網絡類型的hello時間是30S

NON_BROADCAST 

POINT_TO_MULTIPOINT 

POINT_TO_MULTIPOINT NON_BROADCAST


OSPF開銷值計算:

·OSPF Cost = 108/BW (bps) 


幾種經常使用接口的COST值:

一、環回口的COST值是1

二、serial口的COST值是64

三、標準以太接口是10

四、快速以太接口是1



經常使用接口的帶寬和延遲:

lookback   8000000000  5000

s0            1544000         20000

e0            10000000      1000

f0             100000000    100

g0            1000000000  10

bri0          64000            20000

tu 0          9000               500000

vlan 1     1000000000  10

vir 1        100000000    100000

null         10000000000   0


--------------------------------------------------------------------------------


·OSPF的5種報文

 1)Hello:發現並創建鄰接關係。

 2)DBD:包含路由的摘要信息。

 3)LSR:向另外一臺路由器請求特定路由的完整信息。

 4)LSU:用於LSA的泛洪和迴應LSR該條路由的完整信息。在OSPF中,只有LSU須要顯示確認

 5)LSAck:對LSU作確認。


影響OSPF鄰居或者鄰接關係的因素有:

一、ROUTER ID不能相同;惟一

二、HELLO時間必須一致;

三、DEAD時間必須一致;

四、區域ID必須相同;

五、認證必須相同;

六、STUB標誌位必須相同;

七、MTU不匹配沒法造成鄰接關係(一邊是EXSTART,一邊是EXCHANGE);

八、OSPF版本號不一樣(目前版本爲2);

九、當OSPF網絡類型是MA時,要求掩碼必定一致(兩個鄰居)。由於會出現DR和LSA-2,沒法描述網段。

十、Option Bit 特殊區域標示要求一致,特殊區域內的全部路由器都要配置,保證option一致




OSPF鄰接關係狀態機:

一、down state

二、init state

三、two-way state

四、exstart state

五、exchange state

六、loading state

七、full state


OSPF的同步過程:


      DBD包中有一個三位的標誌字段(主從關係控制標誌):I、M、master/slaver

 

I(是否第一個包) M(是否還有後續包) M/S   

1                                       1                           1   

0                                       1                           0   

0                                       1                           1  

分別是0x7,0x2,0x3     具備最高route-id的路由器爲主,建鄰居時第一個DBD是空的。

 

5954086_201304161015050859.jpg

 

 


1. 在Down狀態下路由器發出第一個hello包。當R2收到一個Hello包,而且在這個hello包中看不到自已的ID,則將自已和鄰居的關係轉到Init狀態。Init是一個one way 狀態,當R1和R2都認識對方後就會進入Two Way狀態。


2. 在Two Way時,將選舉DB/BDR(MA網絡)。進入Two way狀態後(即從Exstart開始),表示這兩個路由器已經創建了鄰居關係了。但最終能不能鄰接關係要看最後是否是FULL。


3. Exstart:Exstart是firstDBD, 確認主從關係。雙方互相發送第一個DBD報文,選取主從。


4. Exchange: Exchange是經過DBD交換LSA的頭部信息。


DBD分爲firstDBD和DBD。

firstDBD不攜帶Lsa頭部信息。經過firstDBD確認主從關係。主的做用只是爲了控制序列號的同步。Router-ID高的將成爲主。

DBD只攜帶LAS的頭部信息,沒有攜帶LAS的具體信息。承載完整LAS是LASUpdate包。


5.Loading:等待M位爲0時,才進入loading。

LSRrequest:是不攜帶LAS頭部的,只經過(公告ID,LSA L類型,linkID)來請求具體的條目。

LSRUpdate:含有真正LSA完整信息的,用來回應LSRrequest。


6.FULL:完成了鄰接關係的完整創建。



DBD(Interface MTU)影響2-way到full的因素


實驗說明:

1.1.1.1 2.2.2.2

ip mtu 1480 ip mtu 1500

exstart exstart


R1 send DBD MTU=1480 I=1 M=1 MS=1 --->   R2能夠接收,可是R1的R_ID小於R2的R_ID

因此,R2不接受R1是Master的請求。


<--- R2  send DBD MTU=1500 I=1 M=1 MS=1

因爲R2的接口MTU大於R1的1480,結果R1不接收.沒法認可R2是Master的事實.


循環以上步驟.致使兩邊都停在exstart.



1.1.1.1 2.2.2.2

ip mtu 1500 ip mtu 1480

exstart --> exchange exstart


R1 send DBD MTU=1500 I=1 M=1 MS=1 ---> 因爲該DBD的接口MTU大於R2的接口MTU.致使R2沒法接收R1的DBD.


<--- R2  send DBD MTU=1480 I=1 M=1 MS=1

因爲R2的接口MTU小於R1的接口MTU,因此R1接受.認可R2是Master的事實.因此R1進入exchange


R1 send DBD MTU=1500 I=0 M=1 MS=0 ---> 

因爲該DBD的接口MTU大於R2的接口MTU.致使R2沒法接收.R2一直處於exstart.



R_ID大的爲Master

R_ID小的爲Slave



在接口MTU小的一邊用ip ospf mtu-ignore命令忽略MTU的匹配.


---------------------------------------------------------------------------------------


R1(config)#router ospf 110    注意:進程號是cisco的私有技術

R1(config-router)#network 1.1.1.0 0.0.0.255 area 0   (正/反掩碼皆可)

R1(config-router)#network 12.1.1.0 255.255.255.0 area 0   區域號還可用點分十進制表示


R1#show ip protocols 

R1#show ip ospf       可查看router-id,進程號,域的數量

R1#show ip ospf interface 

R1#show ip ospf interface brief 

R1#show ip ospf neighbor    查看鄰居信息


R4(config-if)#ip ospf hello-interval 9 

                     (dead自動*4)


R4(config-if)#ip ospf dead-interval 80


R4(config-if)#ip ospf priority 10   修改優先級


R1#show ip os database 


注意:在OSPF中,環回接口的路由掩碼會變爲32位



------------------------------------------------------------------------------------

不分層次網絡的缺點:


假如在一個大型網絡中,OSPF若是沒有分區域,會有如下的問題產生:

一、每個路由器會接收到太多的LSA

二、會常常進行路由的計算

三、路由表太大,而路由器的內存是有限的。


OSPF路由器的類型:

一、內部路由器--在一個普通區域內的路由器

二、核心路由器--在area 0區域內的路由器

三、ABR區域邊界路由器--鏈接兩個不一樣區域的路由器

四、ASBR自治系統邊界路由器--鏈接OSPF域到另外一個自治系統的路由器


LSA序列號:

一、LSDB中每個LSA都有一個序列號

二、序列號範圍從0x80000001-0x7FFFFFFF

三、OSPF每30分鐘flood一次LSA來維持LSDB同步,每flood一次,序列號加1

四、當一個路由器遇到同一個LSA的兩個實例時,它必須可以肯定哪個是最新的LSA。(根據序列號來識別)

五、LSA條目的老化時間默認是一小時(0-3600S)


當一條LSA的序列號到達最大序列號時,始發路由器會發送一個生存時間爲最大值的相同的LSA,讓其它的路由器從LSDB中清除這條LSA,當其它路由器確認後,再發送一個初始序列號的LSA。

注意:只有始發路由器才能夠提早使這條LSA老化


當一臺路由器收到相同的LSA的多個實例時,將經過如下算法決定將哪一條放入數據庫:

一、比較LSA實例的序列號,大的優先

二、序列號相同,再比校驗和,大的優先

三、校驗和也相同,再比老化時間,若是有一條LSA擁有大小爲最大生存時間(3600S)的老化時間,則最優

四、若是LSA的老化時間之間的差異多於15分鐘,則老化時間小的優先

五、若是以上條件都比不出來,則認爲這些LSA相同


<LSA(Link-State Advertisement)>


鏈路狀態類型、鏈路狀態ID、通告路由器用來惟一地標識一條LSA


序列號、校驗和、老化時間標識一條LSA的具體實例


 

        老化時間    可選項    類型   

                    鏈路狀態ID(Link-ID)   

                    通告路由器(ADV  Router)   

                         序列號   

          校驗和           長度  


·類型         指明是哪一種類型的LSA

·Link-ID      每一條LSA都有一個Link-ID,區分不一樣路由器發出的LSA

·ADV Router   指通告路由器的Router-id


學習時的注意點:

一、每種LSA的傳播範圍  

二、每種LSA由誰產生,也就是說由誰通告的 

三、每種LSA所包含內容


LSA1(Router Link States)


show ip ospf database router   //查看LSDB中的1類LSA的詳細信息


特色:

  一、域內路由,僅在本區域傳遞,不會穿越ABR。

二、每臺路由器都會產生。

三、包含本路由器的直連的鄰居,以及直鏈接口的信息


Link ID:        router ID

ADV router:     router ID


三種信息:一、Another router 

         二、stub network   

         三、transit network (Ma網絡的一些信息)


LSA2(Net Link States)


show ip ospf database network    //查看LSDB中的2類LSA的詳細信息


特色:

一、僅在本區域傳遞

二、只有MA網絡纔會產生LSA2,由DR發出。

三、標識出本MA網中有哪些路由器以及本網的掩碼信息。


Link ID:        DR的接口IP

ADV router:     DR的router ID


LSA3(Summary Net Link States)


show ip ospf database summary    //查看LSDB中的3類LSA的詳細信息


特色:

  一、域間路由,能泛洪到整個AS。

    二、由ABR發出,每穿越一個ABR,其ADV Router就會變成此ABR的Router-id.

三、包含本區域中的路由信息,包括網絡號和掩碼。


Link ID:        路由route(網絡號)

ADV router:     ABR的router ID(通過一個ABR,就會改成這個ABR的router ID)


三類LAS會被一個區域的邊界ABR路由器從新產生並泛洪進下一個區域,因此每穿越一個ABR,其通告路由器就會發生改變。



LSA4(Summary ASB Link States


show ip os database asbr-summary    //查看LSDB中的4類LSA的詳細信息


特色:

  一、把ASBR的Router-id傳播到其餘區域,讓其餘區域的路由器得知ASBR的位置。

    二、由ABR產生併發出,穿越一個ABR,其ADV Router就會變成此ABR的Router-id.


Link ID:        ASBR的RID

ADV router:     ABR的router ID(通過一個ABR,就會改成這個ABR的router ID)


在ASBR直連的區域內,不會產生4類的LSA,由於ASBR會發出一類的LSA,其中會指明自已經是ASBR


LSA5(Type-5 AS External Link States)


show ip os database external        //查看LSDB中的5類LSA的詳細信息


特色:

  一、域外路由,不屬於某個區域。

    二、ASBR產生,泛洪到整個AS。不會改變ADV Router。

三、包含域外的路由

Link ID:        路由(網絡號)

ADV router:     ASBR的router ID (unchange)


LSA7(Type-7 AS External Link States)


show ip os database nssa-external    //查看LSDB中的7類LSA的詳細信息


特色:

  特殊的域外路由,只存在於NSSA區域中。

Link ID:        路由(網絡號)

   ADV router:     ASBR的router ID (只在NSSA區域中)


OSPF的四種路徑類型:

一、域內路由

二、域間路由

三、E1的外部路由

四、E2的外部路由


外部路由重分佈進OSPF有兩種類型


·OE1:  重分佈進OSPF的路由默認爲E2,Cost=20,且傳遞過程當中不改變COST。

·OE2:  若是改成E1類型,則在傳輸過程當中會累加每一個入接口的cost值


OSPF的選路原則:

一、域內路由優於域間路由

二、域間路由優於外部路由

三、OE1的路由優於OE2的路由


若是一臺路由器收到兩條相同的域間的路由,一條是area 0區域傳過來的,一條是普通區域傳過來的,則優選area 0區域傳過來的。


若是有一臺路由器從兩個不一樣的ASBR收到相同的外部路由,OSPF在選擇外部路由的時候,遵循的原則是:


[1]O E1優於O E2


[2]在類型相同的狀況下,Cost越小越優先


[3]對OE2來講,在cost相同的狀況下,選擇到達ASBR最優的路徑


OE2的路由傳遞時帶有一個參數---forward metric,這個參數記錄了OE2的路由所穿越鏈路的總COST值,若是一個路由器收到兩條COST相同的OE2路由,將比較它們的forward metric來選出最優路由。

sh ip route 172.16.1.0

Routing entry for 172.16.1.0/24

  Known via "ospf 110", distance 110, metric 20, type extern 2, forward metric 74

  Last update from 12.1.1.1 on Serial1/0, 00:00:04 ago

  Routing Descriptor Blocks:

  * 12.1.1.1, from 4.4.4.4, 00:00:04 ago, via Serial1/0

      Route metric is 20, traffic share count is 1


新命令:

用來限制路由器所能學習到的LSA的數量


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參考值>


修改COST有兩個方法:


一、經過一條命令直接改動接口的COST值

R1(config)#router os 110

R1(config-if)#ip ospf cost 10  //直接修改COST值1-65535


二、修改OSPF中COST值計算公式的分子

注意:這裏改動的值是以10的六次方爲單位的。


例如:在COST公式中修改分子,本例修改分子爲10的九次方

R1(config-router)#auto-cost reference-bandwidth 1000 (Mbps10的六次方)


-------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

路由彙總

彙總的好處:

一、減小路由條目數

二、使拓撲變化的影響侷限在一個小範圍內

三、減小了LSA3和LSA5的flood


<域間彙總>

只能在ABR上作,用來將一個區域的路由傳遞到另外一個區域時進行彙總。域間彙總只能對打O的路由作彙總。


router ospf 110

  area 0 range 172.16.32.0 255.255.224.0

         


彙總後,在R2本地會產生一條特殊的路由,用來防環

O  172.16.32.0/19 is a summary, 00:00:06, Null0


這條路由稱爲discard-route,能夠用如下命令去掉:

router ospf 110

  no discard-route internal


本彙總命令還可用來作路由的過濾:

router ospf 110

  area 0 range 172.16.0.0 255.255.0.0 not-advertise 過濾掉172.16.0.0的網絡及其所包含的子網


<域×××總>

用於將外部路由重分佈進OSPF時進行彙總,只能在ASBR上作。


router ospf 110

  summary-address 172.16.0.0 255.255.0.0  //在ASBR上作


本地也會產生特殊路由來防環 O  172.16.0.0/16 is a summary, 00:00:04, Null0

用如下命令能夠去掉:

router ospf 110

  no discard-route external


<向OSPF區域注入默認路由>


第一種作法:

須要先寫一條靜態的默認路由,再用命令下發。


ip route 0.0.0.0 0.0.0.0 Serial 0


router ospf 100

  default-information originate 


O*E2 0.0.0.0/0 [110/1]   //之外部路由的形式下發默認路由,metric值默認爲1



第二種作法:

不須要寫一條靜態的默認路由,直接下發。


router ospf 100

  default-information originate always 



還可在下發默認路由時指定metric的類型和metric值

router ospf 11

  default-information originate always metric-type 1 metric 3


<OSPF特殊區域>

在OSPF中共有四類特殊區域,都是用來對OSPF作優化的。能夠減小一個區域中的LSA3和LSA5。


一、Stub

二、Totally Stub

三、NSSA

四、Totally NSSA


<Stub>


·將某區域設爲Stub可阻止LSA4/5進入Stub區域,縮小了區域內路由器的LSDB,下降內存消耗。


·Stub區域中,ABR會發出一條LSA3默認路由給Stub區域的其餘路由器。

 默認的Seed Cost=1


·配置Stub區域的注意點

  一、必須將Stub區域的全部路由器都配成Stub。

 二、Stub區域不能用做虛鏈路的中轉區域。

 三、Stub區域中不能出現ASBR。

 四、Area 0不能配成Stub。


·hello報文中有一個stub area flag,也叫E位,全部的stub路由器會將這一位置爲0,路由器建鄰居的時候,將比較這一位,要求必須匹配。


配置命令:

router ospf 110

  area 2 stub

  area 2 default-cost 6 (在ABR上作,改Seed Cost=6)在同時有兩個ABR的狀況下,可經過修改這個COST值來實現選路


<Totally Stubby > Cisco 私有


·更加縮小區域內路由器的LSDB,在Stub基礎上,又阻止LSA3。(阻止LSA3/4/5 )

·也會由ABR發出一條LSA3默認路由給Stub區域內的其餘路由器。


配置步驟:

先配置出一個STUB區域,而後在ABR上打上如下命令:

router ospf 110

  area 2 stub no-summary   //(只需在ABR上作)


<NSSA(Not-So-Stubby Areas)>


·NSSA區域和Stub區域同樣會阻止LSA4/5。

·NSSA區域打破了Stub區域的規則,能夠存在ASBR。

·ASBR會引入外部路由,是以LSA7引入的,只有NSSA區域中才會現LSA7。

·NSSA區域的邊界ABR會將LSA7轉成LSA5,傳播到其餘區域。這時,ABR也成爲了ASBR,由於它也引入了LSA5。其它區域路由器看到LSA5的通告路由器是ABR。

·若是在NSSA區域中,有兩個ABR的話,只有router-id大的ABR會作7轉5的工做。


配置命令:

router ospf 110

  area 2 nssa 



注意:NSSA區域不會自動產生默認路由,要手動下發一條


router ospf 110

  area 2 nssa default-information-originate 

 (在ABR上作,由ABR產生一條LSA7默認路由傳播到NSSA其餘路由器,默認Seed Cost=1,而且不會發生變化)



還可改動默認路由的metric類型,metric值

router ospf 110

  area 2 default-cost 6          //(在ABR上作,改Seed Cost=6)

  area 2 nssa default-information-originate metric 6 metric-type 1



對ABR上有外部路由進入NSSA區域時,若是要將其阻止,用如下命令,由於在ABR向nssa區域下發默認路由後,不須要它再將它鏈接的一些外部區域路由傳進NSSA區域

router ospf 110

  area 2 nssa no-redistribution   //在ABR上作

 


在NSSA區域中,LSA7的forward address會出現不爲零的狀況,會變爲ASBR上最後一個宣告進OSPF區域的接口的address。在特定的環境下,這將給網絡形成問題,可用如下命令解決:

router ospf 110

  area 2 nssa translate type7 suppress      //這個命令一般用在NSSA區域的邊界路由器上,做用是在7類轉5類出去的時候,把這個forward address變成0.0.0.0


<totally NSSA area>


也是CISCO私有特性--

Totally NSSA,能阻止LSA3/4/5,而且由ABR產生LSA3默認路由傳播到NSSA其餘路由器


R2(config-router)#area 2 nssa no-summary    //把三類的LSA也幹掉,同時也下發一條三類的默認路由,而且這條默認路由會取代default-information-originate所下發的默認路由。

 


若是在ABR上用下面的命令,LSDB中會出現LSA3/7默認路由,路由表中只會顯示LSA3默認路由

router ospf 110

  area 2 nssa no-redistribution default-information-originate no-summary 


在下列這種狀況下5類LSA的forward address也會出現不爲0的狀況:

 

一、在R1和R2上運行OSPF

二、在R1上寫靜態路由,下一跳指向R3

三、和R3相連的接口必須是以太口

四、將R1的E0口也宣告進OSPF

五、R1的E0口不能是passive-interface

六、在R1上將靜態路由重分佈進OSPF


這時,你會發現R1產生的5類LSA中forward address是R3的接口IP


若是在R1上寫默認路由指向R3,而後在R1上使用default-information originate 下發默認路由,這條默認路由LSA的forward address也會變爲R3的接口IP。



<OSPF區域的鏈接問題>


若是出現下面這種狀況:一個普通區域沒有跟area 0區域相連,可以使用下面的三種方法來解決。

 


1)在ABR上起不一樣OSPF進程,進行OSPF之間的重分佈。

   例如:R1的s0口在area 1中,進程號是10,s1口在area 2中,進程號是20,而後重分佈

   Router ospf 10                           router ospf 20

   Redistribute ospf 20 subnets             redistribute ospf 10 subnets


2)tunnel 只要在區域的兩個邊界上配置

  R1:                               R2:

  Int tunnel 1                      int tunnel 2

    Tunnel source s1                  tunnel source s1

    Tunnel destination 12.1.1.2       tunnel destination 12.1.1.1

    Ip add 100.1.1.1 255.255.255.0    Ip add 100.1.1.2 255.255.255.0


  Router ospf 10                    router ospf 10

  Net 100.1.1.0 0.0.0.255 area 0    net 100.1.1.0 0.0.0.255 area 0


3)虛鏈路:

  最簡單的方法,只需在區域的兩臺邊界路由器上配就能夠了

 R1:

  router ospf 110

    area 1 virtual-link 2.2.2.2 (對方Router-ID)   



·注意:虛鏈路只在建鄰居時發送hello包,當鄰居關係創建後,再也不發送hello包。而且LSA是觸發更新且不老化的。這個特性被稱爲DNA(DoNotAge)。


show ip ospf virtual-links 



<負載均衡>


·OSPF只支持等價的負載均衡。(默認爲4條)


show ip protocols 


router ospf 110

  maximum-paths 6          //(最多16條)


<被動接口>


router ospf 110

  passive-interface loopback 


接口將不收發Hello包


<OSPF認證>


·分3種認證

  一、Link認證

  二、Area認證

  三、Virtual-Link認證

 

·OSPF即能作明文認證,也能作MD5認證



Link:用於同一鏈路上的路由器之間,在接口下作


第一步:接口下配密碼

int s1/0

  ip ospf authentication-key wolf  //配明文密碼


第二步:接口下啓用認證

  ip ospf authentication       //啓動明文認證


int s1/0

  ip ospf message-digest-key 1 md5 wolf //配密文密碼

  ip ospf authentication message-digest  //啓動密文認證


注意:在MD5驗證中,兩邊的KEY號必須一致


Area:


第一步:接口下配密碼

int s1/0

  ip ospf message-digest-key 1 md5 wolf   //配密文密碼


第二步:進程下啓用

router ospf 110

  area 0 authentication Message-digest  //啓動密文認證


注意:區域內的全部路由器都要開啓認證。兩臺路由器相連的鏈路的密碼要匹配。


注:區域認證跟接口認證能夠協商經過,由於區域認證至關於開啓了全部接口的認證。接口認證優先於區域認證,在同時有區域認證和接口認證的狀況下,則使用接口的認證進行協商。(接口命令都優於進程命令) 由於接口只能調用密文或明文其中一種,因此沒有密文優於明文的概念。



Virtual-Link:

 router ospf 110

    area 2 virtual-link 2.2.2.2 message-digest-key 1 md5 wolf //配密碼

   area 2 virtual-link 2.2.2.2 authentication message-digest //啓動MD5認證


 在有虛鏈路的狀況下,若是Area0啓動認證,起了Virtual-Link的兩臺路由器上也要啓動區域認證。

  注意:虛電路上只在剛開始創建鄰居關係的時候發送hello包,以後再也不發送hello包。因此作這個試驗以後要重置鄰居關係,或製造一次更新就能夠看到效果了。




關於作MD5認證時的KEY-ID值:

當鏈路須要換密碼時,爲了防止鏈路抖動,可使用Key ID來實現平穩過渡。

最後配置的KEYID纔是YoungestID,與ID號大小無關,就算clear ip os pro也沒用。要求雙方youngestID的密鑰必須一致。


當起用了最新的KEYID,將新的和老的KEYID都發過去

當最新的youngestKEYID沒有被經過認證,則用老的KEYID作匹配。

當最新的youngestKEYID被在對方的列表找到相同的KEYID了,將只發最新的KEYID。而不全發。

當youngestID被no掉了,就會選次yongest爲yongestID



例一:


 

這時R1的KID2是Youngest KeyID ,R2的KID1是Youngest KeyID。

由於R1的key2沒有在對方找到對應的KEYID,R1會發key 1和key2給R2,R2收到後KID1驗證經過,但KID2驗證不經過, R2發key1過去,因爲雙方的KEY1匹配,鄰接關係就能夠創建起來,一切正常,但R1仍是會不停發key1和key2,R1收到key2一直報錯,但不影響正常工做。由於經過key1已經創建關係了。


當R2再起了個key 2的「ccie」,雙方認識到對方都有key2而且KEY號相同,就再也不發key1了,雖然key2的密碼不同沒能經過認證沒能創建起鄰居關係。因此OSPF的密文認證是先比較keyID,再比較密碼。它收到對方的keyID先與本身的列表比較有沒有同樣的KEYID再比較密碼。本身有對方的對應的youngestID,將通告對方「我有你相同的KEYID」,對方就再也不發整個列表過來,只發youngestID。



例二:


 


R1同R2相同KID的密碼同樣。

當R1和R2的KID3都no掉後,R1的youngest是KID2;R2的yongest是KID1;這時候鄰接仍然能夠創建。由於本身發送的youngestKID在對方都能找到相應KID及正確的密碼。


R1發給R2的密碼是ccna,R2發給R1的密碼是cisco


-------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

網絡的物理鏈接類型分三種:

1)POINT_TO_POINT:    

2)BROADCAST:      

3)NON_BROADCAST(NBMA): 


<OSPF Network Type>


1)LOOPBACK:       Loopback                      出現32位主機路由

2)POINT_TO_POINT:    Serial / FR's P2P Subif /    (無DR,組播更新)

3)BROADCAST:      Ethernet                     (選舉DR,經過組播建鄰居)

4)NON_BROADCAST(NBMA): FR's Physical / FR's MP Subif(選舉DR,單播更新)

5)POINT_TO_MULTIPOINT:                    (無DR,組播更新,出現/32主機路由)

6)POINT_TO_MULTIPOINT NON_BROADCAST:             (無DR,單播,出現/32主機路由)


[2/3] Hello:10S       [4/5/6] Hello:30S


·每種物理接口都被賦予了默認的OSPF Network Type,但可手工對其修改。


<各類網絡類型的特色>

 

 

5954086_201304161026060015.jpg

 



·NON_BROADCAST - RFC 國際標準

  ·FR的物理接口和多點子接口默認是NBMA網絡類型

  ·hello時間30S

 ·單播更新

  ·因爲是單播更新,必須手動指定鄰居(只需一方設置就OK,一般在Hub指Spoke)

  ·3層是NBMA,沒有廣播,二層也能夠不用廣播。(FR map後可不加Broadcast去實現僞廣播)

  ·要選舉DR和BDR

  ·必定要確保HUB端成爲DR

  ·須要手工加MAP映射


  改動接口的網絡類型:

  R1(config-if)#ip ospf network non-broadcast


 在HUB端(R1)

 R1(config)#router ospf 110

 R1(config-router)#neighbor 10.1.1.4

 R1(config-router)#neighbor 10.1.1.5


 確保HUB成爲DR,和Spoke交互路由信息。

 R1(config)#int s0

 R1(config-if)#ip ospf priority 100

 R4/R5(config-if)#ip ospf priority 0  改成0則不參加選舉


 手工MAP(Spoke 端的互訪)

 R4(config-if)#frame-relay map ip 10.1.1.5 401

 R5(config-if)#frame-relay map ip 10.1.1.4 501



·BROADCAST - Cisco私有


 ·以太網接口運行OSPF後默認是broadcast網絡類型

  ·hello時間10S

 ·組播更新

  ·因爲是組播更新,不用手動指定鄰居,能夠自動發現

  ·3層是有廣播的,2層也必定要有廣播能力。(FR map後必定要加Broadcsat)

  ·要選舉DR和BDR

  ·必定要確保HUB端成爲DR

  ·須要手工加MAP映射


  改動接口的網絡類型:

  R1(config-if)#ip ospf network broadcast


 R1(config-if)#fram map ip 10.1.1.4 104 broadcast 

 R1(config-if)#fram map ip 10.1.1.5 105 broadcast 


 確保HUB成爲DR,和Spoke交互路由信息。

 R1(config)#int s0

 R1(config-if)#ip ospf priority 100

 R4/R5(config-if)#ip ospf priority 0


 手工加MAP

 R4(config-if)#frame-relay map ip 10.1.1.5 401 broadcast

 R5(config-if)#frame-relay map ip 10.1.1.4 501 broadcast

 

·POINT_TO_MULTIPOINT - RFC國際標準    

  ·全自動,最好的

  ·hello時間30S

 ·組播更新

  ·因爲是組播更新,不用手動指定鄰居,能夠自動發現

  ·3層是有廣播的,2層也必定要有廣播能力。(FR map後必定要加Broadcsat)

  ·不須要選舉DR和BDR,點到多點網絡把PVC看成一個點到點鏈路的集合,所以就沒有DR/BDR的選取發生。

  ·會自動產生32位主機路由

  ·不須要手工加MAP映射


  改動接口的網絡類型:

  R1(config-if)#ip ospf network point-to-multipoint 


  R1#show ip ospf neighbor detail 

  DR is 0.0.0.0 BDR is 0.0.0.0


 P2P/P2MP/P2MP-NB都不須要選舉DR/BDR,因此DR is 0.0.0.0 BDR is 0.0.0.0

 

  每個P-MP的接口都會產生/32主機路由,傳遞給其餘的路由器,因此不需手工加MAP。這就是32位的好處。


·POINT_TO_MULTIPOINT NON_BROADCAST   


  ·cisco私有的

  ·爲一些動態鏈接的網絡而設計,好比說幀中繼SVC

  ·hello時間30S

 ·單播更新

  ·因爲是單播更新,必須手動指定鄰居(只需一方設置就OK,一般在Hub指Spoke)

  ·3層沒有廣播,二層也能夠不用廣播。(FR map後可不加Broadcast去實現僞廣播)

  ·不須要選舉DR和BDR

  ·會自動產生32位主機路由

  ·不須要手工加MAP映射

  


  改動接口的網絡類型:

  R1(config-if)#ip ospf network point-to-multipoint non-broadcast


 在HUB端(R1)

 R1(config)#router ospf 110

 R1(config-router)#neighbor 10.1.1.4

 R1(config-router)#neighbor 10.1.1.5


 也會產生/32主機路由,因此不需手工MAP。


  用show ip ospf interface serial 0看不到non-broadcast,只能show run


·POINT_TO_POINT(作不一樣網段)- 實際工做中用得最多的模式

cisco私有的

  ·hello時間10S

 ·組播更新

  ·因爲是組播更新,不用手動指定鄰居,能夠自動發現

  ·3層是有廣播的,2層也必定要有廣播能力。(FR map後必定要加Broadcsat)

  ·不須要選舉DR和BDR

  ·不須要手工加MAP映射


 HUB端起2個P2P子接口:

 interface Serial0

  encapsulation frame-relay

  no frame-relay inverse-arp


 interface Serial0.14 point-to-point

  ip address 14.1.1.1 255.255.255.0

  frame-relay interface-dlci 104   


 interface Serial0.15 point-to-point

  ip address 15.1.1.1 255.255.255.0

  frame-relay interface-dlci 105   


  幀中繼的點到點子接口運行OSPF後,默認的網絡類型就是P-TO-P的


  在R4和R5上改動接口的網絡類型:

  R1(config-if)#ip ospf network point-to-point 


--------------------------------------------------------------------------------------

當兩端的網絡類型不一致時.經過修改HELLO及DEAD值,可否創建鄰接關係


l 在任意狀況下

n P-P 與P-M能夠創建鄰接關係.路由正常,

n NBMA與BROADCAST能夠創建鄰接關係.路由正常

l 兩臺路由器之間運行OSPF

n P-P AND BROAD  能創建. 路由不通

n P-P AND NBMA   能創建, 路由不通

n P-M AND NBMA  能創建.路由不通.

n P-M AND BROADCAST 能創建,但路由不通.

l HUB-SPOKE模式

n P-P AND BROAD  能創建. FLAPPING

n P-P AND NBMA   能創建, FLAPPING

n P-M AND NBMA  能創建.路由不通.

n P-M AND BROADCAST 能創建,路由不通.

n P-P AND P-M     能創建.路由通

nNBMA AND BROADCAST 能創建.路由通

相關文章
相關標籤/搜索