OSPF
——開放式最短路徑優先協議
? ? ? ?無類別鏈路狀態IGP動態路由協議
距離矢量協議
運行距離矢量協議的路由器會周期性的泛洪自己的路由表,通過路由之間的交互,每臺路由器都從相鄰的路由器學習到路由條目,隨后加載進自己的路由表中。對于網絡中的所有路由器而言,他們并不清楚整張拓撲的結構,只是簡單的知道要去往某個地方方向在哪兒,距離多遠。這既是距離矢量協議的本質。
鏈路狀態協議
與距離矢量協議不同,鏈路狀態協議通告的是鏈路狀態,而不是路由表。運行鏈路狀態協議的路由器之間會首先建立一個協議的鄰居關系,然后彼此之間開始交互LSA=鏈路狀態通告。每臺設備都會產生自己的LSA,路由器將接收到的LSA信息放入自己的LSDB(鏈路狀態數據庫)中。路由器通過自己的LSDB,便掌握了全網的拓撲。最后,路由器將計算出最優路徑加載進自己的路由表中。
支持同開銷負載均衡
基于組播進行更新——224.0.0.5?? 224.0.0.6?
支持觸發更新
每30min周期更新一次??
需要結構化的部署
區域劃分---地址規劃?
區域劃分的規則
星型結構
骨干區域為0去,所有大于0的區域 都是非骨干區域,所有非骨干區域必須接入到骨干區域上??
ABR---域間路由器
兩個區域互聯時,必須存在域間路由器ABR,且ABR同時工作在兩個區域?
Router ID 路由器標識符
——用于在一個OSPF域中唯一的標識一臺路由器,RID必須唯一。?
RID的設定可以通過手工配置的方式,或使用系統自動生成的方式。(切記:務必使用手工配置的方式)
使用系統自動生成---有限配置環回的最大數值,如果沒有環回則選擇最大的物理接口。
使用cost值作為度量值;cost=參考帶寬/接口帶寬;參考帶寬默認為100M;整段路徑cost值之合最小為最佳
若接口帶寬大于參考帶寬,則度量值為1 ,故會導致選路不佳,所以在接口帶寬大于參考帶寬的環境中,可以認為修改參考帶寬。
OSPF的數據包
Hello包?
——用于鄰居間的發現關系建立和周期保活
DD包---數據庫描述包
——用于攜帶本地的數據庫目錄
LSR包---鏈路狀態請求包
——在查看完對端的DD包后,基于本地的LSA進行信息查詢,隨后去索要??
LSU包---鏈路狀態更新包
——用于攜帶各種LSA信息?
LSack包---鏈路狀態確認包
——表示確認收到
OSPF的狀態機
Down狀態
——表示未被激活的狀態,一旦本地發出hello包,或接收到hello包,立刻進入下一個狀態機?
Init狀態
——表示初始化的狀態?
TOW-WAY狀態
——雙向通訊建立,表示建立了鄰居關系
條件匹配
Exstart 狀態
——預啟動,使用不攜帶數據庫目錄的DD包進行主從選舉,RID大為主,優先進入下一個狀態機
Exchange 狀態
——準交換,攜帶具體數據庫目錄的DD包進行目錄交換,需要ack確認
Loading狀態
——加載,在查看完對端的DD包后,使用LSR?? LSU 及 LSACK? 進行LSDB的同步。
FULL 狀態
——轉發,鄰接關系建立的標志
OSPF的工作過程
啟動配置完成后,本地組播 224.0.0.5 發送hello包;
Hello包將攜帶本地的rid值,以及本地已知的所有鄰居的rid值;
若接收到來自對端的hello包中,存在本段的rid,那么視為雙方認識,鄰居關系建立;
生成鄰居表
鄰居關系建立后,開始條件匹配,匹配失敗將永遠停留于鄰居關系,僅hello包保活即可;
若條件匹配成功,則表明可以建立鄰接關系
先使用不攜帶數據庫目錄的DD包進行主從選舉,rid大為主,優先進入下一個狀態(優先共享自己的數據庫目錄)
最后在基于對端的DD包查詢本地的LSDB,篩選出自己所需要的LSA
之后使用LSR? LSU? LSACK? 來獲取未知的LSA信息;
最終生成數據庫表(LSDB-鏈路狀態數據庫表)
之后啟用SPF算法,基于本地的LSDB生成有向圖,在計算出最短路徑樹,在基于樹形結構算出本地到達所有位置的最短路徑,加載于本地的路由表中;
收斂完成后,hello包周期保活;
每30min鄰接關系之間,在進行DD包的比對,若一致,則繼續保活,若不一致則重新收斂。
結構突變
新增一個網段
——直連新增網段的設備? 直接使用更新包告知鄰接關系? 需要ack確認
斷開一個網段
——直連斷開網段的設備? 直接使用更新包告知鄰接關系? 需要ack確認
無法溝通
——hello time 10s , dead time 40s ,時間到了就刪除鄰居信息
OSPF的基礎配置
[R1]ospf 1 router-id 1.1.1.1
——創建ospf進程, 進程號為1, RID為1.1.1.1
[R1-ospf-1]area 0
——進入0區?
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
反掩碼:掩碼反過來?
?<R2>display ospf peer
——查詢鄰居關系
<R2>display ospf peer brief
——查詢鄰居表
<R2>display ospf lsdb
——查詢數據庫表
<R2>display ospf lsdb router 2.2.2.2
——打開數據庫表種的詳細目錄? (類型+ID)
修改參考帶寬?? 注:單位?
[R2]display? ospf routing
——查看ospf生成的路由表?
OSPF的擴展配置?
從鄰局關系成為鄰接關系的條件?
網絡類型---兩個類型
點到點的網絡
——在一個網段中,僅支持存在兩個節點
MA---多路訪問
——在一個網段中,支持存在的節點不限
在點到點的網絡類型中,所有鄰居關系將直接成為鄰接關系
在MA網段中,若所有設備間均是鄰接關系,將導致大量的重復更新;故進行DR/BDR的選舉。?
所有和DR/BDR設備相連的設備之間,為鄰接關系?
所有非DR/BDR的設備統一稱之為DRother
選舉DR/BDR的規則
①先比較參選接口的優先級,默認為1? 范圍0-255? 大為優
② 若接口的優先級相同,比較參選設備的RID,大為優
[R1]interface g 0/0/0
——進入參選接口
[R1-GigabitEthernet0/0/0]ospf dr-priority 2
——將該接口在sopf協議中 DR參選時 優先級設置為2??
DR的選舉是非搶占性質的,若參選接口的優先級為0,則視為放棄參選。
<R1>reset ospf process
——重啟ospf進程?
手工認證
——在相鄰的設備之間定義安全密鑰?
[R1]interface g 0/0/0——進入相鄰接口
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 666666
手工匯總——匯總區域?
[R2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
——在0區中進行路由匯總發往其他區域
注意:必須要在域間路由器上進行匯總,匯總那個區域就進入那個區域去做。
被動接口——沉默接口
——僅接收不發送路由信息,只能用于鏈接用戶pc端的接口;不得用于路由器之間。
[R1-ospf-1]silent-interface g 0/0/1
——在ospf1進程中,將g0/0/1接口設置為被動接口
加快收斂——改計時器
Hello time 10s?? dead time 40 s?
切記:鄰居間直連接口的 hello time。若不一直,則該接口的dead time 就會自動關閉,將無法建立鄰居關系
修改時不建議修改的過小? ?
[R1-GigabitEthernet0/0/0]ospf timer hello 10
——將該接口 的hello time 修改為10 s?
缺省路由
——在連接的邊界路由器上,配置一條缺省路由,隨后該設備將向內網發送缺省路由目的地指向自己。
[R3-ospf-1]default-route-advertise always
——下發缺省路由
VLAN
——虛擬局域網---在交換機和路由器協同工作之后,將原先的一個廣播域邏輯上切分為多個廣播域。
創建vlan
[SW1]display vlan
——查看vlan
VID---vlan ID 用來區分和標定不同的vlan??
VID由12位二進制構成,范圍 0-4095?? 0和4095作為保留值 1-4095
[SW1]vlan 2
——創建vlan2
[SW1]vlan batch 4 to 100
——批量創建vlan 4-100
劃分vlan?
①基于端口的vlan??
②基于mac地址的vlan
③基于協議的vlan??
[SW1]display? mac-address
——查詢mac地址表
加入VID之后交換機的轉發原理
當數據來到交換機,交換機會先記錄源MAC地址和接口的映射關系,順便將接口所對應的VID進行記錄。之后查看目標MAC地址,若目標MAC地址在本地的MAC地址表中有記錄且VID和源MAC地址及相應接口對應的VID相同,則單播,若VID不同則進行泛洪。(泛洪只在VID相同的區域內進行)
IEEE組織-----802.1q標準
在源MAC地址和長度類型之間加了4個字節的tag(標簽),這樣的新幀結構我們稱之為802.1q幀或者叫做tagged幀。將沒有打標簽的802.1q幀稱之為untagged幀。
我們把交換機和PC端之間的鏈路我們稱之為access鏈路,access鏈路只能通過untagged幀,并且這些幀只能屬于一個特定的vlan;將交換機與交換機(路由器)之間的鏈路我們稱之為trunk鏈路,trunk鏈路中運行通過tagged幀,且這些幀可以屬于多個vlan。
[SW1-GigabitEthernet0/0/1]port link-type access ?
——定義該接口下鏈路類型為 access
[SW1-GigabitEthernet0/0/1]port default vlan 2
——定義該接口所屬vlan為 vlan2?
[SW1-GigabitEthernet0/0/6]port link-type trunk ?
——定義該接口下鏈路類型為 trunk
[SW1-GigabitEthernet0/0/6]port trunk allow-pass vlan 2 to 3
——定義該接口下可通過的vlan為 vlan2 和 vlan3
[SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan all ?
——定義該接口下可通過的vlan 為? 所有vlan?
實現vlan間的通信?
路由器的子接口——虛擬接口---將路由的一個物理接口,邏輯上劃分為多個虛擬的子接口。
[R1]interface g 0/0/0.1? 進入g 0/0/0接口的子接口 0/0/0.1
虛擬子接口默認關閉arp廣播?
[R1-GigabitEthernet0/0/0.1]dot1q termination vid 2
——讓該接口執行802.1q標準 且 管理vid2?
[R1-GigabitEthernet0/0/0.1]arp broadcast enable?
——開啟子接口的arp廣播功能
ACL——訪問控制列表?
訪問控制
——在路由器的入或者出接口上,匹配流量,之后產生動作----允許/拒絕?
定義感興趣流量
——幫助其他軟件抓流量?
匹配規則
至上而下,逐一匹配,上調匹配按照上條執行,不在查看下條; 在思科體系中,末尾隱含拒絕所有,在華為體系中,末尾隱含允許所有。
ACL的分類
標準——僅關注數據包中的源IP地址
擴展——關注數據包中的源IP地址?? 目標IP地址? 協議號或目標端口號
標準ACL的配置
由于標準ACL僅關注數據包中的源IP,故,調用時盡量靠近目標為最佳,防止誤殺。
2000-2999 標準acl的編號?? 3000-3999 擴展acl的編號
[R2]acl 2000
——創建標準ACL 編號為2000
[R2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0?
——規定拒絕源 192.168.1.2,這個IP
? ? ? ?配置地址時,需要使用通配符
Acl的通配符與ospf的反掩碼匹配規則相同,唯一區別在于通配符可以進行0 1的穿插?
[R2-acl-basic-2000]rule permit source any?
——規定允許放通的IP為任意?
[R2-acl-basic-2000]rule 9 deny source 192.168.1.3 0.0.0.0?
——規定步調為9,拒絕源192.168.1.3 這個IP
[R2]interface g 0/0/1
——進入需要調用acl的接口
[R2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000?
——在0/0/1接口出方向上 調用acl2000
擴展ACL
由于擴展ACL可以對流量進行精確匹配,故,調用時盡量靠近源為最佳。
關注源IP 和目標 IP?
[R1]acl 3000
——創建擴展acl? 編號為3000
[R1-acl-adv-3000]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.2 0.0.0.0?
——規定拒絕源 192.168.1.2 向目標 192.168.3.2 的ip行為?
在關注源IP目標IP的同時,再關注目標端口號/協議號
Telnet——遠程登錄?
——基于tcp 23號端口
條件
1、登錄與被登錄設備之間必須可達
2、被登陸設備開啟telnet設定
[R2]aaa
——開啟aaa服務
[R2-aaa]local-user MXY privilege level? 15? password cipher 123456
——創建一個名為MXY 權限為15 密碼為123456 的用戶?
[R2-aaa]local-user MXY service-type telnet
——定義MXY賬戶適用于telnet協議
[R2]user-interface vty 0 4?
——創建用于賬號登錄的虛擬通道 0-4 個?
[R2-ui-vty0-4]authentication-mode aaa
——該虛擬通道服務于aaa?
[R1]acl 3003 ?
——創建擴展acl 編號為3003
[R1-acl-adv-3003]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23??
——規定拒絕源 192.168.1.10 向目標 192.168.2.2 的 tcp行為中的端口號為23的行為?
[R1-acl-adv-3003]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0?
——規定拒絕源 192.168.1.10 向目標 192.168.2.2 的icmp行為