基本OSPF實現 、 高級OSPF實現

靜態PAT
-NAT Server ,
主要是爲了實現外網用戶到內部網絡的訪問;

數據轉換原則:
外—>內:先查NAT表,再查路由表
轉換的是“目標IP地址”
將“公有地址”,轉換爲,“私有地址”

內—>外:先查路由表,再NAT表
轉換的是“源IP地址”
將“私有地址”,轉換爲,“公有地址”

OSPF:
-open shortest path first ,最短路徑優先(協議)
-在路由器之間運行,主要是爲了動態的互相學習路由條目
屬於動態路由協議的類型;
-公有的標準協議,任何廠商設備都支持
-OSPF的數據包是直接包含在IP頭部後面的,協議號爲 89
-OSPF的數據包的發送方式是組播,組播地址爲:224.0.0.5和224.0.0.6
[224.0.0.5,表示所有的OSPF路由器]
[224.0.0.6,表示的是OSPF的DR和BDR]


OSPF工作原理/流程:
1.建立鄰接表
2.同步數據庫
3.計算路由表


OSPF的報文類型:
1.hello,用於鄰接路由器的發現、建立、維護、拆除
*鄰居設備之間會週期性的發送 hello 報文,維護鄰居關係;
週期時間爲 10s ;[hello timer ,即 hello 計時器]
*如果鄰居設備在一定的時間內,沒有收到對方設備發送的hello報文,
此時,就認定鄰居設備出現了故障,從而刪除當前的鄰居關係;
所謂的”一定的時間”,是 40s ;[hold timer ,即保持計時器]
[該計時器也可以稱之爲 dead 計時器,即死亡計時器]

2.DD(database description) ,即數據庫描述報文
用於描述OSPF路由器的數據庫信息;互爲鄰居的兩個設備通過發送
和比較 DD 報文,從而區分鄰居設備之間的數據庫的不同。
[其實,OSPF數據庫中包含的是“鏈路狀態”。]
3.LSR(link state request),即鏈路狀態 請求報文
通過該報文,向對方的鄰居設備請求自己沒有的“鏈路狀態”信息;
4.LSU(link state update),即鏈路狀態 更新包文
通過該報文,向鄰居發送所請求的“鏈路狀態”信息;
5.LSAck(link state acknowledge),即鏈路狀態 確認報文
通過該報文,用於實現 LSR 和 LSU 這兩種類型的報文的可靠傳輸


OSPF鄰接表:
   -包含的是“鄰接關係”的路由器 ;
   -查看命令:
      display ospf peer brief -> 查看 OSPF 的鄰接表 
	  
例如:查看 R1 上的 OSPF 鄰接表   
<R1>display  ospf peer  brief  
	 OSPF Process 10 with Router ID 1.1.1.1
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             2.2.2.2          Full        
 ----------------------------------------------------------------------------

@OSPF Process 10 :表示 OSPF 協議的進程號是 10 ; 
@Router ID : 表示的是 OSPF 路由器的名字,上述表示的是 1.1.1.1 ;
@Area Id :表示的是當前鄰接關係所屬於的 OSPF 區域 ;上述表示的是區域 0 ;
@Interface:表示的是當前 R1 與 對方建立鄰接關係時候,所使用的的接口,即 gi0/0/0 
@Neighbor id:表示的是鄰居設備的名字(router-id)
@State:表示的是鄰接設備的狀態
   1.init ,表示的是初始化狀態
   2.two-way ,表示的是雙向通信狀態
   3.exstart ,表示的是交換初始化狀態
   4.exchange,表示的是交換狀態
   5.loading ,表示的是加載狀態
   6.full    ,表示的是完全鄰接狀態 [完美狀態]
   7.down    ,表示鄰居掛掉了


注意: 
   鄰居表示兩個設備之間的數據庫信息不同步;
   鄰接表示兩個設備之間的數據庫信息完全同步;[即數據庫相同的鄰居]

===================================================================

OSPF基本概念:

  @進程號(process ID),用於區分同一個路由器上的不同的 OSPF 協議
                       取值範圍是 1 - 65535 ;如果不明確指定進程號
					   那麼使用的是默認的進程號 ----  1 ;

  @區域號:通常在配置的時候,是通過 10 進製表示;
           同一個鏈路上的路由器接口,所屬於的區域,必須是相同的;
		   區域分爲骨幹區域和非骨幹區域
		     - 如果區域號爲0,則表示爲“骨幹區域”
			 - 如果區域號爲非0,則表示爲“非骨幹區域”

  
  
  @router-id,表示的是 OSPF 協議爲每個路由器起的名字,
              目的是爲了區分不同的路由器
			  格式:類似於IP地址,但是不是IP地址
              確定方式,有兩種:
			     1.手動指定
				     [R1]ospf {進程號}  router-id {x.x.x.x} 
				 2.自動選舉
				     *首選選擇使用設備上IP地址大的那個迴環口的IP地址
					 *其次選擇使用設備上的IP地址大的那個物理接口的IP地址
                 [規則:手動指定的優先級,要高於自動選舉]
				 [特點:特別穩定,即一旦確定就不再更改了]
				        如果想讓OSPF路由器重新選擇 router-id 
						只能說重啓路由器或者說 重啓OSPF 協議;
				 
	例如:
        手動指定 R1 的 ospf router-id 爲 1.1.1.1 ;	
				 
		[R1]ospf 1 router-id 1.1.1.1 //手動指定 router-id 	 
				 
	    [R1]quit 
        <R1>reset ospf process          // 重置/重啓OSPF進程
                               [Y/N]:y	

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~							   
	
   @DR:designated router ,指定路由器
    BDR: backup designated router ,備份的指定路由器

       當一個網段中,同時存在多個OSPF路由器的時候,
	   爲了簡化 OSPF 的鄰接關係,以及提高數據庫的同步效率,
	   所以,
	   我們在同網段的多個 OSPF 路由器之間,選擇一個最好的路由器,
	   該網段的其他路由器,都僅僅和這個“最好”的路由器,建立鄰接關係。
	   那麼, 
	   這個所謂的“最好”的路由器,稱之爲 DR 。
	   
	   如何選擇“最好”?
	      -首先,比較端口的 DR 優先級,越大越好,默認是1;
		  -其次,比較每個設備的 router-id ,越大越好;
	   
       防止當 DR 故障的時候,導致同網段的其他所有的OSPF路由器出現
	   不能互通的問題,所以我們建議在同一個網段中,選舉了DR之後,
	   再選舉一個 BDR 。
	   
	   那些既不是DR,也不是BDR的設備,統稱之爲 DRother 。
	   [如果優先級手動設置爲0,那麼該設備永遠只能是DRother]

       原則:
	     同網段中的所有的路由器,都只和 DR/BDR 建立鄰接關係。(Full)
		 DRother 設備之間的鄰居的狀態,不是 Full,是 two-way 狀態。

       特點: 
	      穩定,即一旦確定,就無法更改;
		  [即使後來的設備優先級或者router-id更高,都不能搶佔DR的身份]
		  除非,重啓路由器或者重啓OSPF進程;
		  
	   相關配置命令:(修改接口的DR優先級,默認是1)
	   
	   interface gi0/0/x 
	      ospf dr-priority 0   // 將接口的DR優先級修改爲 0 ,永遠是DRother
                                  接口的DR優先級的取值範圍是 0 -- 255 

<R3>display  ospf interface GigabitEthernet 0/0/1

	 OSPF Process 30 with Router ID 3.3.3.3
		 Interfaces 
 Interface: 192.168.23.3 (GigabitEthernet0/0/1)
 Cost: 22      State: BDR       Type: Broadcast    MTU: 1500  
 Priority: 1
 Designated Router: 192.168.23.2
 Backup Designated Router: 192.168.23.3
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 


								  
    @網絡類型:
	     -每個接口運行OSPF以後,都會有一個默認的網絡類型;
		 -常見的網絡類型有以下幾種:
		      @P2P,point to point ,點到點網絡類型;
			      當一個接口的網絡類型爲P2P,OSPF認爲該接口上只有2個路由器
				  該網絡類型的接口,不選 DR/BDR 
				  
			  @broadcast,廣播;
			      當一個接口的網絡類型爲broadcast,
				  OSPF認爲該接口上有很多個路由器
 				  該網絡類型的接口,必須選 DR/BDR 
              @P2MP:點到多點網絡類型
			         不選 DR/BDR 
			  @NBMA:non-broadcast multi-access,非廣播網絡
			         必須選 DR/BDR 

				  

        查看和修改網絡接口的OSPF網絡類型的命令:
		     interface gi0/0/x 
			   ospf network-type p2p // 將網絡類型修改爲 P2P 
			   
			 display ospf interface gi0/0/x --> 查看type 爲 p2p 
			                                    此時的 state 已經不是DR或BDR了
			 
[R1]display  ospf interface GigabitEthernet 0/0/0

	 OSPF Process 10 with Router ID 1.1.1.1
 Interface: 192.168.12.1 (GigabitEthernet0/0/0) --> 192.168.12.2
 Cost: 1       State: P-2-P     Type: P2P       MTU: 1500  
 Timers: Hello 10 , Dead 40 , Poll  120 , Retransmit 5 , Transmit Delay 1 
[R1]


注意: 
   以太網接口運行OSPF以後,默認的網絡類型是“廣播”;
   同一段鏈路上的接口的 OSPF 網絡類型,必須是相同的; 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      @ OSPF 路由開銷 
	        -每個運行OSPF的接口,默認都有一個 cost,通常1;
			   接口的默認cost的,是通過下面的公式計算出來的:
			    COST = 100M/接口實際帶寬  [100M,通常稱之爲參考帶寬]
				例如:gi0/0/0 的帶寬爲 1000M
				      那麼該接口運行OSPF以後,該接口的cost爲:
					    COST = 100M/1000M ,即 0.1,
					  但是,在網絡中是沒有辦法表示小數的,
					  所以,這種小於1的數值,全都取值爲 1.
					  
			-OSPF路由的cost的計算方法:
			    *一個路由條目在路由表中的 cost 值,是這麼計算出來的:
				   該路由沿傳遞方向,所有入接口的cost值的累加和;

        查看和修改接口 cost 值的方法: 
		    interface gi0/0/x 
			   ospf cost  ***  --> 將接口的cost修改爲 *** ;最大取值爲65535
			   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果去往一個目標網段,有多個路由條目,如下:
      網段         優先級  開銷     下一跳
1   192.168.1.0/24   60      1    192.168.11.2
2   192.168.1.0/24   10      3    192.168.22.2 
3   192.168.1.0/24   10      2    192.168.33.2

請問:
   去往IP地址 192.168.1.1時,應該選擇使用哪個路由條目進行轉發?
     -應該選擇使用最好的路由條目。
         *什麼是最好的路由條目啊?
            #首先比較優先級,數值越小越好;
			 [優先級表示的是一個路由的穩定性,數值越小表示越穩定]
            #優先級如果相同,則比較開銷值,也是越小越好;
             [開銷表示的是去往一個目標網絡的距離,數值越小越好]			
   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

OSPF基本配置:

R1:
  ospf  {進程號}  router-id  {x.x.x.x} //啓用OSPF並指定router-id 
     area {區域號}                     // 進行特定的OSPF區域
	   network  {網段}  {反掩碼}       // 宣告某網段進入OSPF協議
  
  @network :該命令後面跟的是一個網段,以及網段所對應的反掩碼;
             後面的“網絡”,有兩種類型:
			     @我們想通過 OSPF 協議傳輸的那些網段 /路由 ;
				 @運行OSPF協議的路由器,他們之間的網段,也必須network
  
                [反掩碼:就是將掩碼中的1和0顛倒]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

OSPF的驗證命令: 

display ospf  peer brief --> 查看 OSPF 鄰接表  

display ospf interface gi0/0/x ---> 查看接口的 OSPF 信息;
                                    包含優先級、cost、網絡類型 
  
  
常見OSPF驗證命令:

display ospf peer brief -> 查看 OSPF 鄰接表

reset ospf process  ->重置設備上的所有的 OSPF 進程; 

reset ospf 11 process  --> 重置設備上的特定進程號的 OSPF,即 OSPF 11

display ip interface brief --> 查看設備上的所有的IP接口地址簡要信息

display ip routing-table protocol ospf  --> 查看 OSPF 路由表

interface gi0/0/x 
  ospf dr-priority  * --> 修改接口上的DR優先級
  ospf network-type p2p // 將網絡類型修改爲 P2P 
  ospf timer hello  **  // 修改 OSPF 接口的hello計時器;[兩邊都必須相同]
  ospf timer dead   **  // 修改 OSPF 接口的dead計時器;[兩邊都必須相同]

display ospf interface gi0/0/x ->查看接口的OSPF相關信息
                                 比如優先級、網絡類型、DR狀態、
								 開銷值、計時器、




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章