關於OSPF、NAT的原理


OSPF初始化流程

建立令居與鄰接關係

  • 發送hello報文發現和建立鄰居關係,組播地址224.0.0.5

    • 接口UP
    • 雙方接口IP地址在同一網段
    • 雙方接口在同一區域
  • 選舉DR/BDR,建立鄰接關係

  • DR/BDR選舉

    • 選舉原因:廣播網絡中使路由信息交換更加高速有序
    • 選舉範圍:沒條廣播鏈路上都需要選舉出一個DR和一個BDR
    • 選舉規則:
      • 優先級大的優先,默認優先級都是1
      • Router-id大的優先
  • Router-id:

    • 定義:Rid,表示路由器的身份
  • Router-id產生方法:

    • 手動配置一個IPv4地址格式作爲Rid
    • 自動選舉:
      • 在所有環回口中選舉IP地址最大的作爲Rid
      • 在所有物理接口中選舉IP地址最大的作爲Rid
  • 建議手動配置一個本地環回口的IP地址作爲Rid

  • 關係狀態

    • DRoyher與DR建立鄰接關係
    • DRoyher與BDR建立鄰接關係
    • DR與BDR建立鄰接關係
    • 兩個DRoyher之間保持鄰接關係

鄰接路由器之間交換鏈路狀態信息,實現區域內鏈路狀態數據庫同步

  • 相關概念
  • 鏈路狀態通告
    • LSA
    • 用來描述路由器的接口、路由條目的相關信息
  • 鏈路狀態數據庫
    • LSDB
    • 存儲本地所有LSA
  • 工作流程
    • 向鄰接路由器發送DD報文,通過本地LSDB中所有LSA的摘要信息
    • 收到DD後,與本地LSDB對比,向對方發送LSR報文,請求發送本機所需的LSA的完整信息
    • 收到LSR後,把對方所需的LSA的完整信息打包爲一條LSU報文,發送至對方
    • 收到LSU後,向對方回覆LSAck報文,進行確認

每臺路由器根據本機鏈路狀態數據庫,計算到達每個目的網段的最優路由,寫入路由表

OSPF報文類型

  • Hello報文
  • DD報文
    • 數據庫描述報文
    • 用於描述本地LSDB中所有LSA的摘要
  • LSR報文:鏈路狀態請求
  • LSU報文:鏈路狀態更新
  • LSAck報文:鏈路狀態確認

OSPF分區管理

分區域的原因

  • 加快收斂速度
  • 把網絡故障隔離在區域內部

路由器角色

  • IR
    • 內部路由器
    • 所有接口都處於同一個區域
  • ABR
    • 區域邊界路由器
    • 連接不同區域的路由器
  • ASBR
    • 自治系統邊界路由器
    • 連接外部自治系統的路由器

區域類型

  • 骨幹區域
    • 只能有一個骨幹區域
    • 骨幹區域必須是連續的
  • 非骨幹區域
    • 非骨幹區域必須連接到骨幹區域
  • 特殊區域

實驗

  • 如下拓撲(06)
    在這裏插入圖片描述
    實驗需求
  1. 按照圖示,配置IP地址
  2. 按照圖示區域配置OSPF,實現全網互通
  3. 爲了路由結構穩定,要求路由器使用環回口作爲Router-id,ABR的環回口宣告進骨幹區域
  • 按照拓撲圖配置IP與環回接口
//在R1上配置接口IP並配置環回接口地址
[R1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24  //配置接口IP
[R1-GigabitEthernet0/0]qu
[R1]interface LoopBack 1  //創建環回口。簡寫int l0(不是10)
[R1-LoopBack0]ip add 1.1.1.1 32  //配置環回口地址
//同樣方法配置其他的路由器
  • 創建OSPF
[R1]ospf router-id 1.1.1.1  //如果不加router-id則是自動選擇
[R1-ospf-1]display ospf  //查看router-id
  • 進入area 1,進行宣告
[R1-ospf-1]area 1  //進入area 1區域
[R1-ospf-1-area-0.0.0.1]network 100.1.1.0 0.0.0.255  //宣告100.1.1.0網段,跟上此網段的反掩碼
[R1-ospf-1-area-0.0.0.1]net 1.1.1.1 0.0.0.0  //宣告環回口
//同樣方法配置其他的路由器
  • 反掩碼就是255.255.255.255減去原網段的掩碼,即反掩碼。學術名,掩碼通配符
  • 100.1.1.0 0.0.0.255的意思就是0所對應的地址位必須匹配,即其他的地址前三位必須爲100.1.1最後一位任意匹配
  • ABR宣告
[R2]ospf router-id 2.2.2.2  //指定router-id
[R2-ospf-1]area 0  //進入骨幹(area 0)區域
[R2-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255  //宣告100.2.2.0網段
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0  //宣告環回口
[R2-ospf-1-area-0.0.0.0]area 1  //進入area 1區域
[R2-ospf-1-area-0.0.0.1]net 100.1.1.0 0.0.0.255  //宣告100.1.1.0網段
//同樣方法配置其他的路由器
  • 邊界路由器在兩個區域都要進行宣告
  • 對於環回口,可以隨便宣告在哪個區域,建議是宣告在骨幹區域
  • 環回口一般用於遠程管理設備
  • 檢查OSPF鄰接關係是否建立
[R2]dis ospf peer  //檢查邊界路由器是否有兩個鄰居

         OSPF Process 1 with Router ID 2.2.2.2
               Neighbor Brief Information

 Area: 0.0.0.0        
 Router ID       Address         Pri Dead-Time  State             Interface
 3.3.3.3         100.2.2.3       1   39         Full/BDR          GE0/1

 Area: 0.0.0.1        
 Router ID       Address         Pri Dead-Time  State             Interface
 1.1.1.1         100.1.1.1       1   39         Full/DR           GE0/0
  • 除查看數量外,還要查看狀態,FULL爲鄰接關係,2—Way表示鄰居關係
  • 只有鄰接關係才能交換信息
  • 檢查OSPF路由是否學習完整
[R5]dis ip routing-table 

Destinations : 20       Routes : 20

Destination/Mask   Proto   Pre Cost        NextHop         Interface
0.0.0.0/32         Direct  0   0           127.0.0.1       InLoop0
1.1.1.1/32         O_INTER 10  4           100.4.4.4       GE0/0
2.2.2.2/32         O_INTER 10  3           100.4.4.4       GE0/0
3.3.3.3/32         O_INTER 10  2           100.4.4.4       GE0/0
4.4.4.4/32         O_INTER 10  1           100.4.4.4       GE0/0

[R2]dis ip rou
4.4.4.4/32         O_INTRA 10  2           100.2.2.3       GE0/1
5.5.5.5/32         O_INTER 10  3           100.2.2.3       GE0/1
  • 查看五個換回路由是否都學到
  • O_INTERO表示OSPF,INTER表示其他區域的路由,INTRA表示區域內的路由
  • 進行連通性測試

NAT

  • 產生背景
    • IPv4公網地址資源耗盡
    • IPv6普及遙遙無期
    • 子網劃分杯水車薪
  • 定義
    • 網絡地址轉換
    • 通過把私有地址轉換爲公有地址,使私有IP地址主機可以訪問互聯網,來解決公網地址不夠用的問題
  • 分類
    • 靜態NAT
      • 把公有地址一對一的靜態映射給私有地址使用
    • 基本NAT(思科中叫動態NAT)
      • 建立公有地址池,把地址池中的公有地址動態的映射給私有地址使用
      • 本質上仍然是一對一的映射
    • NAPT(思科中叫PAT)
      • 把公有地址和端口動態的映射給私有地址和端口,實現一個公有地址可以供多個私有地址同時使用訪問互聯網
      • 轉換源IP和源端口,數據回包還原目的IP和目的端口
    • Easy IP
      • NAPT的一種建議實現形式
      • 適用於公網地址不固定的場景
    • NAT Server
      • 把公網IP的某個端口固定映射到私網IP的某個端口,讓公網上的用戶可以主動訪問私網中的服務
      • 轉換目的IP和目的端口,數據回包還原IP和源端口
      • 也稱端口映射

0-1023知名協議端口號,發出的數據包在1024以上隨機產生端口號

實驗

NAT

  • 如下拓撲圖(07)
    在這裏插入圖片描述
    實驗需求
  1. 按照圖示配置IP地址,SERVER使用路由器模擬,配置默認路由來實現網關的效果
  2. 在R1上配置Easy IP,使PC和server可以訪問互聯網
  3. 在R1上配置NAT Server,使R3可以訪問SERVER的FTP
[R1]int g0/1
[R1-GigabitEthernet0/1]ip add 192.168.1.254 24
[R1-GigabitEthernet0/1]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24
[R2]int g0/0
[R2-GigabitEthernet0/0]ip add 100.1.1.2 24
[R2-GigabitEthernet0/0]int g0/1
[R2-GigabitEthernet0/1]ip add 100.2.2.2 24
[R3]int g0/0
[R3-GigabitEthernet0/0]ip add 200.2.2.3 24
  • PC配置IP及網關
    在這裏插入圖片描述

  • 在R1和R3上分別配置靜態路由聯通內網和公網

//配置默認路由
[R1]ip route-static 0.0.0.0 0 100.1.1.2

//配置默認路由,連通公網
[R3]ip route-static 0.0.0.0 0 200.2.2.2
  • 在server上配置IP與網關
[SERVER]int g0/0
[SERVER-GigabitEthernet0/0]ip add 192.168.1.2 24  //配置IP
[SERVER]ip route-static 0.0.0.0 0 192.168.1.254  //配置默認路由
  • 在R1上配置NAT
[R1]acl basic 2000  //創建ACL
//設置允許進行NAT轉換的網段
[R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[R1]int g0/0
[R1-GigabitEthernet0/0]nat outbound 2000  //調用ACL
  • 連通性測試,並查看轉換記錄
//在PC和server上pingR3,查看連通性
[R1]dis nat session verbose   //查看NAT轉換記錄

NAT Server

  • 搭建FTP服務器
[SERVER]ftp server enable   //開啓FTP服務
[SERVER]local-user bad  //創建一個用於登錄FTP的用戶
[SERVER-luser-manage-bad]password simple 123  //設置一個簡單的密碼
[SERVER-luser-manage-bad]service-type ftp   //這個賬戶用於FTP
//授予最高權限
[SERVER-luser-manage-bad]authorization-attribute user-role level-15
  • 配置端口映射
[R1]int g0/0  //進入連接公網的接口
//將公網的100.1.1.1的20、21端口映射到私網192.168.1.2的20、21端口
[R1-GigabitEthernet0/0]nat server protocol tcp global 100.1.1.1 20 21 inside 192
.168.1.2 20 21
  • 在R3驗證遠程登錄FTP
<R3>ftp 100.1.1.1  //在用戶視圖下遠程登錄ftp
Press CTRL+C to abort.
Connected to 100.1.1.1 (100.1.1.1).
220 FTP service ready.
User (100.1.1.1:(none)): bad
331 Password required for bad.
Password: 
230 User logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
以上內容均屬原創,如有不詳或錯誤,敬請指出。
本文作者: 壞壞
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章