OSPF絕對無環的原因:SPT生成一張地圖,將整張拓撲記錄下來
初始化配置
檢查是否配置完成,通過檢查三張表“路由表”、“鄰居表”、”拓撲表”
路由認證
跟前面學習的認證過程有些區別,沒有所謂的key chain等信息
鏈路認證
在接口下開啓認證
在R1-R2之間建立一個基本的認證,其實這個也是沒辦法建立鄰居的原因之一
區域認證
在進程下開啓認證
在同一個區域裏面的密碼是共享的,配置起來跟鏈路認證沒啥區別
完整過程
注意:
不同接口的密鑰可以不同;
一邊開啓認證,另一邊鄰居沒開啓,則認證失敗
OSPF默認路由
跟RIP的默認路由部署非常相似
方法一
效果是在R1和R3都能看到R2下發的默認路由信息
方法二
我們R2的默認路由刪除仍然是可以ping通信息的
其實更多的在工程項目中用得更多的是這個方法,因爲沒必要再多寫個默認路由啊
拓展參數
這個地方先記着OE1要比OE2大就對了
主要應用以下這個場景,增加鏈路儲備場景
路由分組
首先有明確,路由分組可以實現流量優化的目的
重新部署新的拓撲表
回顧一些概念
Full狀態會互相發送hello包,在某些情況下很是消耗帶寬資源,沒必要,因此出現優化的地方
DR/BDR選舉會在hello包中體現,這個後面再說
觀察現象
先將鄰居關係清除
總體觀察
我們僅僅觀察192.168.1.0網段,一共四臺路由器,一共建立起4*3/2=6個鄰居。就是用到很普通的數學公式n*(n-1)/2
DR選舉
DR:Designated Router指定路由器
BDR:Backup DR備用指定路由器
DROther:
1.選擇優先級較大<1-255,默認爲1>;
2.選擇鄰居RID較大
DR/BDR特徵:
1.不支持搶佔;(一般來說角色定下來之後就不會改變了,目的是爲了網絡穩定,因爲選舉的過程需要發送大量的hello包通過碰撞進行選舉,減少會話數。然而ISIS是支持搶佔的,後面在講)
2.DR/BDR是針對接口的概念,
不同接口角色可能不同.
3.若接口優先級爲0,則表示退出選舉.
我們可以修改優先級的
就算我們修改優先級了,也不會一步上位,需要將原來的DR取消,此時原來的BDR成爲DR,修改後的DROTHER成爲BDR,依次迭代上位
DR/BDR地址:
DR/BDR對外發送路由條目,以224.0.0.5(表示DRother接收)發送;
DRother對外發送路由條目,以224.0.0.6(表示DR/BDR接收)發送;
一個路由器在不同的局域網的角色不一定一樣的,儘管只有一段(兩臺路由器)但是他們之間仍然會選舉出DR/BDR
通過這些選舉我們可以發現
主從選舉
實現DBD的可靠更新,通過DD Sequence得值來決定。觀察這四個包
實現的機制
主從選舉表面只是一種關係選舉,實際上是一種可靠更新機制,保證DBD數據庫描述信息可靠交互。
M/S角色是否由序號決定?DR/BDR角色決定?還是由RID決定?(確定爲RID)
11種LSA
術語說明
LSDB | Link-state Database | 鏈路狀態數據庫 | 一張地圖 |
LSU | Link-State Update | 鏈路狀態更新 | 地圖的某條路徑 |
LSA | Link-State Advertisement | 鏈路狀態通告 | 某條路徑的具體描述 |
ABR | AREA BOREDER ROUTER | 連接多個區域的路由器 | 連接多個區域,且其中一個區域是骨幹區AREA 0的路由器 |
LSU裏面有很多LSA,同理LSDB中有很多LSU
LSA Type | Description | ||
1 | Router LSAs | 描述路由器所有的直連信息 | 生成O路由,即所以帶O開頭的路由信息 Show ip route ospf看到的O開頭的,而且他們都是本區域的 |
2 | Network LSAs | 描述DR/BDR的直連信息 | |
3 or 4 | Summary LSAs | 描述區域間相互發送路由的關鍵生成OIA路由 | 4和5一般是外部信息,所以都會生成一種OE2的路由 |
5 | Autonomous system external LSAs | ||
6 | Multicast OSPF LSA | ||
7 | Defined for not-so-stubby areas | ||
8 | External attributes LSA for Border Gateway Protocol (BGP) | ||
9, 10, 11 | Opaque LSAs |
LSA Type 1: Router LSA
One router LSA (type 1) for every routerin an area
Includes list of directlyattached links
Each link identified by IPprefix assigned to link and link type
所有直連鏈路的IP網段、開銷
Identified by the router ID of the originating router即只能發送向本區域的路由器
我們增加一條以太網鏈路增加實驗覆蓋面
Floods within its area only; does not cross ABR
R1和R2都要寫的,我就貼一個就行啦,省點力氣~~
Type1: 描述點對點廣域網環境下的直連拓撲
Type2:描述以太網廣播環境下DR的信息
Type3:所有直連IP網段
這些地圖信息都是統一的,我們在其他的路由器仍然可以看到
LSA Type 2: Network LSA
這個其實是對type1信息的補充,因爲帶多了掩碼信息,內容相對簡單一些,跟type1形成互補關係
One network (type 2) LSA for each transit broadcast or NBMA network in
an areaIncludes list of attached routers on the transit link
Includes subnet mask of link
直連路由器,廣播網段
Advertised by the DR of the broadcastnetwork 只能DR發送
Floods within its area only; does notcross ABR 本區域
LSA Type 3: Summary LSA
Type 3 LSAs are used to flood network information to areas outside the originating area (interarea)
Describes network number and mask of link.
OSPF所有路由
Advertised by the ABR of originatingarea. 由ABR發送
Regenerated by subsequent ABRs to flood throughout the autonomoussystem.
By default, routes are not summarized,and type 3 LSA is advertised for every subnet. 區域間路由
把type1,type2中的簡單信息,發送到其他區域中去
爲了驗證效果,需要相應修改一下拓撲圖,並在箭頭位置抓包
【3.4 5類LSA】External LSA
一般情況下,只會出現123類
事實上是先有Type5 LSA再有Type 4
LSA Type 5: External LSA
External (type 5) LSAs are used to advertise networks from other autonomous systems.
Type 5 LSAs are advertised and owned by the originating ASBR.
外部路由Type5發送的
Type 5 LSAs flood throughout the entire autonomous system.在自治系統內
The advertising router ID (ASBR) is unchanged throughout theautonomous system.
Type 4 LSA is needed to find the ASBR.用於找到ASBR,Type4一般是Type5的附屬
By default, routes are not summarized.
區別於Type3通告的是區域間的路由信息
還是在R3和R4之間抓包
看下圖
對於E1來說,更優先於E2,認爲需要繼承,需要cost累加
對於E2來說,外部路由沒必要增長
LSA Type 4: Summary LSA
涉及到路由遞歸的問題,沒有Type 4,Type5根本跑不起來的
Summary (type 4) LSAs are used to advertise an ASBR to all other areas in the autonomous system. 用來通告ASBR
They are generated by the ABR of the originating area.
They are regenerated by all subsequent ABRs to flood throughout theautonomous system.
Type 4 LSAs contain the router ID of the ASBR.
OSPF路由類型
默認重分發外部的路由,OSPF都是O E2類型,並且默認cost爲20;
E2代表後續外部路由不再累加沿途的cost;
但是同時有多根O E2的情況下,度量值都是20的情況下,還是有路徑優劣對比
E1代表後續外部路由累加沿途的cost;
通往統一目的地的OE1 和 OE2路由,O E1要優先於 O E2,即便O E1的cost
劣質於 O E2
OSPF選路機制
最長匹配原則
管理距離 AD
路由類型 O > O IA > O E1 > O E2
度量值 Cost
區域設計
常規區域 | 骨幹區域 | 常規區域 | |||
特殊區域 | 脫節區域 | 末節區域 Stub | 完全末節區域 Totally Stub | 非純末節區域 NSSA | 完全非純末節區域 Totally NSSA |
路由器類型:骨幹路由器(骨幹區域)、常規路由器(常規區域)、ABR(邊界路由器)、ASBR(位於協議之間)
路由類型:OOIA OE1 OE2 ON1 ON2
區域類型: 骨幹區域、常規區域、STUB、NSSA 、脫節區域
LSA類型:LSA1-5、LSA7
實驗拓撲
此時,我們可以觀察到R5可以獲得Area0、Area1、Area2、Area3的路由信息
然而,R6的路由表~~
這個就是所謂的脫節區域的原因
脫節區域
背景:網絡發生遷移時,常規區域無法直接掛接到骨幹區域,此時沒有與骨幹區域相連的區域則爲脫節區域-無法學習到其他區域的路由信息。(場景:部門合併)
ABR:當區域路由器連接到多個區域的時候,至少要有一個接口放入區域0,此路由器才能算ABR。
解決方案1
非常推薦使用這種解決方案
使用虛擬鏈路“昇華”脫節區域與骨幹區域的關係。在進程裏面寫的
Area +承載區域+virtual-link+對方RID
此時的R6出現了路由信息
解決方案2
使用tunnel技術。這個比較麻煩,我們需要在編輯上,寫出隧道的頭和尾,加上隧道本身的地址信息,這個主要是使用在IPv6和IPv4之間的轉換的,用在這裏有些浪費了
首先將原來虛鏈路刪除
觀察到R6的地址開銷非常大
使用show ip ospf intface tunnel x專門用來查看OSPF下的接口信息
由於有這個GRE的封裝才能實現跨越多個路由器的目的,相當於打了一個馬甲,是啊”建立”隧道不過如此啊,穿越高山大海~~
末節區域Stub Areas
External LSAs are stopped.
Default route is advertised into stub area by the ABR.
All routers in area 50 must be configured as stub.
有些區域認爲,在小區域的中沒必要存儲全網的路由,完全可以把外部的信息屏蔽,取而代之的是一條默認路由。末節區域、完全末節區域、非純末節區域、完全非純末節區域,其實就是爲了節省內存,盡最大可能的節省路由表空間
末節區域不接受O E1 E2路由<LSA5>;不接受外部信息
末節區域不能是骨幹區域;區域不能有虛鏈路
ABR會向末節區域下發O IA*的默認路由
實現這個效果,先把原來的tunnel刪除,此時的R6就先當作花瓶好了
此時Area2就多了兩個角色
而且此時我們還可以ping通
完全末節區域Totally Stubby Areas
這個是思科的首先提出來的,然而由於效果感人,其他廠商紛紛效仿
External LSAs are stopped.
Summary LSAs are stopped.
Routing table is reduced to a minimum.
All routers must be configured as stub.
ABR must be configured as totally stubby.
This is a Cisco proprietary feature.
思科覺得,在末節的基礎上不再彙總路由不是更好嗎?所以可以在ABR上實現這個效果
Not-So-Stubby Areas非純末節區域!?
相對於末節區域的外部情況是不能進來的,現在這種特別的情況
NSSA breaks stub area rules.
ASBR (R1) is allowed in NSSA.
Special LSA type 7 defined, sent by ASBR.
ABR (R2) converts LSA type 7 to LSA type 5.
ABR sends default route into NSSA instead of external routes fromother ASBRs.
NSSA is an RFC addendum.
整體思路還是換馬甲
外部的OE2進不來,然而外部OE2的還是想要進來,所以就用ON2進來<Type7>進來之後,如果需要出去再把ON2轉換成OE2
跟Type5一模一樣的
特徵:
NSSA不接受外部路由OE1/2<LSA5>,但是會生成O N1/2<LSA 7>;
NSSA默認不下發默認路由,可以手工通過default-information xxx下發;
生成O * N2的默認路由 area 1 nssadefault-information-originate (可選)
完全非純末節區域
特徵:在NSSA的基礎上,不接受 O IA路由
總結
末節:不要5類 OE1/E2
完全:不要3類 O IA
非純:要7類 ON1 / N2
1、 末節區域:不接收外部路由O E2 area 24 stub;
2、 完全末節區域:不接收外部和區域間路由 O IA O E2 area 24stub no-summary(工程環境中最常用的)
3、 非純末節區域:不接收OE2,能夠接收O N2路由 area 24 nssa
4、 完全非純末節區域:不接收O E2 O IA,能夠接收O N2路由,area 24 nssa no-summary
網絡類型
這個其實也是一個網絡環境的優化點
修改網絡拓撲:改成幀中繼實驗
在OSPF有5種網絡模式,廣播(全互連)、非廣播、點對點(自動建立沒有DR/BDR)、點對多點、點對多點非廣播。OSPF會自適應的調整相應的網絡類型,一般情況下,這些模式也可以是人爲控制的,當你需要的話
點對點模式
把R3配置完全
空的!!!!!
由於在點對點環境下,需要手工指定鄰居
廣播模式
其實這種廣播是一種僞廣播,在幀中繼環境下,其實也是單播,抓包可知R2和R3是不會互相聯繫的
觀察到主備角色相當的混亂
因此相應的需要修改角色優先級
結果
點對多點模式
不選擇DR/BDR的話~~修改爲點對多點模式
會發現,有鄰居,但沒有角色信息,驗證完畢
後記
認爲OSPF實現可靠傳輸的原因:會回覆反饋信息
有沒有負載均衡可以通過看cost值啊
OSPF的內容真的好多~~~寫了好久,也理解了好久~~