每個用例前自己最好先畫個圖,不然容易繞暈,這篇文章寫好久了,自己都覺得有點繞
一、直連路由
如果一個交換機與另一個交換機時直連著的并且他們用來連接的端口屬于同網段,那么這種情況下他們就屬于直連路由。不需要做任何配置便可以通信
但是如果用來連接的兩個端口不屬于同一網段,那么在 IP 層上這兩個設備是不能直接通信的,但它們仍然可以在數據鏈路層(Layer 2)進行通訊。這是因為數據鏈路層的通信機制與網絡層的 IP 地址無關(前面講過)
二、靜態路由
場景:交換機A(swA)端口1的ip 10.1.1.1/24,交換機B(swB)的端口2的ip 11.1.1.1/24。交換機C(swC)的端口1的ip是 10.1.1.2/24 交換機C端口2的ip是 11.1.1.2/24
swA的port1和sw2的port2是屬于不同網段的兩個端口,他們如果想實現通信,就需要通過路由實現
具體如何實現:
讓swA的port1和swC的port相連,swB的port2和swC的port2相連
這里swA與swC之間的兩個port1是可以直接通信的,他們屬于同網段10.1.1.0,這里swB與swC之間的兩個port2也是可以直接通信的,他們屬于同網段11.1.1.0,然后swC的port1和port2是可以直接通信的(同一個交換機上的端口是可以直接通信的)
備注:這里大部分人都認為路由swA已經可以和swB直接通信了,實際不行,還需要配置一個路由(這里你可以在swA的后臺去ping 10.1.1.2是能ping通的,然后ping 11.1.1.2無法ping通,會提示網關不可達,也就是要配置路由)
這里我們配置靜態路由:
1、在swA上配置靜態路由的頁面配置一條靜態路由,包括目的網絡(這里是11.1.1.0的網段),下一跳(這里下一跳10.1.1.2),這條路由的作用也就是發送到11.1.1.0網段的報文,會轉發到ip是10.1.1.2的端口,
前提是這個下一跳是可達的,這里swA的port1 10.1.1.1與swC的port2 10.1.1.2直連,所以是可達的
2、這時swA可以ping通swC交換機上的11.1.1.2這個端口了,但我們的目的是ping通swB上的11.1.1.1這個port2這個端口,這里你ping一下發現還是無法ping通(原因是因為想要ping通這個過程是雙向的,swA后臺ping swB上的port2,原理是發送一個報文,
然后swB上port2接受到報文后會返回一個報文,這才是ping通整個流程,現在這個報文能通過路由到swB的11.1.1.1port2這個端口,但是swB返回的這個報文無法回到swA的10.1.1.1port1這個端口,因為swB這個交換機上沒有到達10.1.1.0這個網段的路由)
3、所以配置靜態路由不能只在swA上配置,還要在swB上配置一個目的網絡10.1.1.0,下一跳11.1.1.2的靜態路由
這時你再swA ping 11.1.1.2,能ping通
三、策略路由
場景:pc1的ip是 10.1.1.1 交換機A(swA)的端口port1的ip是10.1.1.2 端口2的ip是11.1.1.2 端口3的ip是12.1.1.2,交換機B(swB)的端口port2的ip是11.1.1.3 端口3的ip是12.1.1.3,端口4的ip是13.1.1.3,pc2的ip,13.1.1.4
連線狀態:pc1與swA的port1相連,swA和swb之間port2互連,port3互連,pc2與swB的port4相連
這里pc1和pc2屬于不同網段的ip,他們如果想實現通信,就需要實現路由
這里pc1想ping通pc2如果想通過靜態路由就采用上面的方法,在swA上配置目的網絡13.1.1.0,下一跳11.1.1.3的靜態路由,在swB上配置目的網絡10.1.1.0,下一跳11.1.1.2的靜態路由,這樣便可以pc1 ping 通pc2了(這里我選擇的路由路線是通過swA和swB之間port2端口互連的那一條線)
注意(這里pc1和pc2配置ip時的配置的默認網關需要和對應連接交換機端口的ip一樣,也就是說這里pc1的網關是10.1.1.2,這里pc2的網關是13.1.1.3),如果不這樣配置那么你會發現pc1甚至連直連交換機A上的11.1.1.2都無法ping通,pc2甚至連直連交換機B上的11.1.1.3都無法ping通)
這里的默認網關的作用是比如當pc1想ping pc2時,pc1沒有和pc2的13.1.1.4直連,所以不能直達,像這種不能直達的報文就會轉發給默認網關
如果想通過策略路由實現通信:1、在上面配置了靜態路由的基礎上在swA上配置策略路由的頁面新增一條策略路由首先選擇端口,這個端口是入端口,也就是報文傳入的端口,這里是指和pc1相連的swA上的port1,意思就是接下來的規則只針對這個端口
2、在增加一條規則:這里源IP填入10.1.1.1,目的ip不填、協議不限、動作選路由,然后確定。然后下一跳填12.1.1.3。這里意思就是只要是目的ip是10.1.1.1的報文都能直接路由到12.1.1.3。(前提是12.1.1.3可達)
3、選擇高于其它類型路由或者低于其它類型路由。如果這里選高于其它類型路由,那么你pc1 ping pc2時便不會走上面swA和swB之間port2端口互連的那一條線,而是swA和swB之間port3的那一條線
現在這里的場景就是swA和swB之間有兩條路由線路,一條是靜態路由pc1 10.1.1.1-》swA的port1 10.1.1.2-》swA的port2 11.1.1.2-》swB的port2 11.1.1.3-》swB的port4 13.1.1.3-》pc2 13.1.1.4
一條是策略路由pc1 10.1.1.1-》swA的port1 10.1.1.2-》swA的port3 12.1.1.2-》swB的port3 12.1.1.3-》swB的port4 13.1.1.3-》pc2 13.1.1.4
選擇那一條就看誰的優先級更高,策略路由要么高于其它,要低于其它。(可能不同公司對優先級的先后順序設定不一樣)
上面兩種路由都是屬于靜態的,都是屬于手動配置的,接下來講兩種常用的動態路由,RIP路由和OSPF路由
四、RIP路由
給大家看一段復制過來的話:RIP路由是距離矢量路由協議,路由是以矢量(距離,方向)的方式被通告出去的,這里的距離是根據度量來 決定的。每個路由器都不了解整個網絡拓撲,它們只知道與自己直接相連的網絡情況,
并根據從鄰居得 到的路由信息更新自己的路由。通俗點就是往某個方向上的距離。
看看就行了,具體怎么樣看實操
RIP路由形成的過程:(這段也是復制過來的,比較清楚)
RIP協議啟動之后,SwitchA會向相鄰的交換機廣播一個Request報文。
SwitchB從接口接收到SwitchA發送的Request報文后,把自己的RIP路由表封裝在Response報文內,然后向該接口對應的網絡廣播。
SwitchA根據SwitchB發送的Response報文,形成自己的路由表。
場景:交換機A(swA)的port1的ip 10.1.1.1/24 交換機B(swB)的port1的ip 10.1.1.2/24、port2的ip 20.1.1.2/24,交換機C(swC)的port2的ip 20.1.1.1/24
連線狀態:swA的port1連swB的port1,swB的port2連swC的port2
如果想要用靜態路由那么直接在swA上配一個目的網絡20.1.1.0,下一跳10.1.1.2的靜態路由,和swC上配一個目的網絡10.1.1.0,下一跳20.1.1.2的靜態路由即可(這樣swA能ping通swC的port2,也就是20.1.1.1或者swC能ping通swA的port1,也就是10.1.1.1)
上面是手動在頁面配置的靜態路由,靜態路由是必須手動配置的,在網絡復雜的情況下,手動配置就比較費時,所以就有了動態路由
如果用RIP路由會輕松很多,如果想通過RIP路由實現通信:
?? ?在需要開啟RIP路由的交換機的配置RIP路由頁面勾選開啟RIP路由的選項,選擇對應接口即可。
?? ?在這里就是在swA的配置RIP路由頁面開啟RIP路由,選擇port1,在swB的配置RIP路由頁面開啟RIP路由,選擇port1和port2.在swC的配置RIP的路由頁面開啟RIP路由,選擇port2.
(這樣swA能ping通swC的port2,也就是20.1.1.1或者swC能ping通swA的port1,也就是10.1.1.1)
原理:每個開啟RIP的交換機會定期發送其路由信息給鄰近的設備。swB會將自己的路由(即它知道的網絡信息)通過Port1發送給swA。swB會將自己的路由(即它知道的網絡信息)通過Port2發送給swC。這樣swA學習到了如何通往swC的路由,swC也知道了如何通往swA的路由
五、OSPF路由(主流) ? ospf原理這里講解不夠詳細(可以去b站搜一下)
給大家看一段復制過來的話:OSPF協議是一個鏈路狀態內部網關路由協議,運行OSPF協議的路由器會將自己擁有的鏈路狀態信息,通過啟用OSPF協議的接口發送給其他OSPF協議設備,
同一個OSPF協議區域中的每臺設備都會參與鏈路狀態信息的創建、發送、接收與轉發,直至這個區域中的所有OSPF協議設備都獲得了相同的鏈路狀態信息為止。
鏈路狀態:OSPF協議是一種基于鏈路狀態的路由協議,鏈路狀態也指路由器的接口狀態,其核心思想是,每臺路由器都將自己的各個接口的接口狀態(鏈路狀態)共享給其他路由器。
一個OSPF協議網絡可以被劃分成多個區域(Area),至于為什么要劃分區域,你想想要是當一個網絡規模特別大的時候,如果不劃分區域,所有的路由信息都會傳遞到每一個路由器,導致路由表十分龐大。所以通過劃分區域,可以將路由信息限制在特定區域內,從而減少每個路由器的路由表大小。
如果一個OSPF協議網絡只包含一個區域,則被稱為單區域OSPF協議網絡;
如果一個OSPF協議網絡包含多個區域,則被稱為多區域OSPF協議網絡。
(1)一個OSPF協議網絡中只有一個區域就是單區域,有多個區域就是多區域,每一個區域都有一個區域ID號標識,這個ID號是32位的二進制數表示;
(2)骨干區域:區域ID為0的區域,單區域OSPF網絡的區域為骨干區域;
(3)普通區域:區域ID為非零的區域,在多區域中,除骨干區域外都為普通區域;
(4)普通區域之間的通信需要骨干區域的中轉,當兩者沒直連時,需要虛鏈路技術實現。
原理:
1、通過交互Hello報文形成鄰居關系
路由器運行OSPF協議后,會從所有啟動OSPF協議的接口上發送Hello報文。如果兩臺路由器共享一條公共數據鏈路,并且能夠成功協商各自Hello報文中所指定的某些參數,就能形成鄰居關系。
2、通過泛洪LSA通告鏈路狀態信息
形成鄰居關系的路由器之間進一步交互LSA形成鄰接關系,每臺路由器根據自己周圍的網絡拓撲結構生成LSA,LSA描述了路由器所有的鏈路、接口、鄰居及鏈路狀態等信息,路由器通過交互這些鏈路信息來了解整個網絡的拓撲信息。
3、通過組建LSDB形成帶權有向圖
通過LSA的泛洪,路由器會把收到的LSA匯總記錄在LSDB中。最終,所有路由器都會形成同樣的LSDB。
4、通過SPF算法計算并形成路由
當LSDB同步完成之后,每一臺路由器都將以其自身為根,使用SPF算法來計算一個無環路的拓撲圖來描述它所知道的到達每一個目的地的最短路徑(最小的路徑代價)。
5、維護和更新路由表
根據SPF算法得出最短路徑樹后,每臺路由器將計算得出的最短路徑加載到OSPF路由表形成指導數據轉發的路由表項,并且實時更新。同時,鄰居之間交互Hello報文進行保活,維持鄰居關系或鄰接關系,并且周期性地重傳LSA。
下面舉的例子是一個單區域的場景,避免太過復雜
場景:交換機A(swA)的port1的ip 10.1.1.1/24 交換機B(swB)的port1的ip 10.1.1.2/24、port2的ip 20.1.1.2/24,交換機C(swC)的port2的ip 20.1.1.1/24
連線狀態:swA的port1連swB的port1,swB的port2連swC的port2
如果想通過ospf路由實現通信:
?? ?在需要開啟ospf路由的交換機的配置ospf路由頁面勾選開啟ospf路由的選項,配置路由標識符(唯一標識一臺 OSPF 路由器,不同的路由器必須有不同的路由器 ID。)、然后再新增一個區域(配置區域ID,選擇接口、選擇區域類型)、配置基礎帶寬(每個鏈路都有一個成本值,該值與鏈路帶寬的反比有關。帶寬越高,成本值越低,反之亦然。)
?? ?在這里就是在swA的配置OSPF路由頁面開啟OSPF路由,設置路由標識符(1.1.1.1)、設置基準帶寬(100)、新增區域(區域ID:1、區域類型:普通區域、接口:port1)、其余默認
?? ??? ? ?在swB的配置OSPF路由頁面開啟OSPF路由,設置路由標識符(1.1.1.2)、設置基準帶寬(100)、新增區域(區域ID:1、區域類型:普通區域、接口:port1、port2)、其余默認
?? ??? ? ?在swC的配置OSPF路由頁面開啟OSPF路由,設置路由標識符(1.1.1.3)、設置基準帶寬(100)、新增區域(區域ID:1、區域類型:普通區域、接口:port2)、其余默認
?? ?備注:想要正確建立鄰居關系,則首先路由標識符不能一致,另外區域的區域ID和區域類型需要一樣,只有區域ID和類型一致的區域才能建立鄰居關系
配置完成后:swA則能與swC通信
?? ?