TCP/IP Volume I

 

TCP/IP Volume I
第一部分 路由技術基礎知識
第1章 基本概念:互聯網絡、路由器和地址
 
第2章 TCP/IP回顧
 
第3章 靜態路由
 
第4章 動態路由選擇協議
 
第二部分 內部路由選擇協議
 
第5章 路由選擇信息協議(RIP)
 
第6章 內部網關路由選擇協議(IGRP)
 
第7章 路由選擇信息協議—第2版(RIPv2)
 
第8章 增強型內部網關路由選擇協議(EIGRP)
 
第9章 開放最短路徑優先協議(OSPF)
Ospf是由Internet工程任務組IETF開發的路由選擇協議;
鏈路狀態協議
RFC1131          OSPFv1
RFC1247\RFC2328 OSPFv2
和距離矢量協議相比,一個主要的改善就在於它的快速收斂;
特性:
1.區域的概念可以減少路由協議對路由器的CPU、內存資源消耗
2.無類,排除有類別路由選擇協議的問題;
3.支持VLSM和超網技術;
4.支持任意度量值;
5.支持多路徑的等價負載均衡;
6.組播宣告;
7.支持更安全的路由選擇認證;
8.使用可以跟蹤外部路由的路由標記;
9.1 OSPF的操作
1.Hello報文---協商參數—形成鄰居;
2.鄰接關係的建立是由交換Hello報文信息的路由器類型和交換Hello報文信息的網絡類型決定的;
3.鏈路狀態通告LSA(Link State Advertisement)通告路由器的接口和鏈路狀態信息;由於這些鏈路狀態信息的多樣性,OSPF協議定義了許多LSA類型;
4.路由器接受LSA通告記錄在鏈路狀態數據庫當中,併發出一份拷貝給其他鄰居;
5.LSA泛洪整個區域,所有路由器形成同樣的鏈路狀態數據庫;
6.當這些路由器的數據庫完全相同時,每臺路由器以自身爲根,使用SPF算法去計算一個無環路的拓撲圖,來描述它所知道的最短路徑。這個拓撲圖就是SPF算法樹;
7.最後,每臺路由器都從SPF算法樹中構建自己的路由選擇表;
鄰居之間交換的Hello報文稱爲keepalive報文,並且每隔30min重傳一次LSA;
9.1.1鄰居和鄰接關係
Show ip ospf neighbor
路由器ID是在OSPF區域內唯一標識一臺路由器的IP地址;
路由器ID的選擇:
(1)       首先,loopback接口上數值最高的IP地址;
(2)    如沒有配置loopback,則選取物理接口上數值最高的IP地址。用作路由器ID的接口不一定非要運行OSPF協議;
用loopback口的兩個好處:比物理接口穩定;預先分配地址時有更多回旋餘地;
    Loopback接口的一個主要好處在於它具有更好控制路由器ID的能力
         即使路由器的這個用作路由器ID的物理接口隨後實效了或被刪除了,OSPF協議也會繼續使用原來的物理接口作爲路由器ID;
 
1.Hello報文協議
Hello報文的目的:
  發現鄰居路由器
          稱爲鄰居前協商幾個參數
      擔當keepalive角色
      確保鄰居路由器間的雙向通信
      用來在一個廣播網絡或NBMA網絡上選取DR、BDR
缺省Hello時間間隔(HelloInterval)是10s;可以通過命令ip ospf hello-interval更改
路由器無效時間間隔(RouterDeadInterval)是Hello時間間隔的4倍;可以通過ip ospf dead-interval更改;
每一個Hello報文包含的信息:
         RouterID
         AreaID
         接口地址掩碼
         認證類型和認證信息;
         Hello時間間隔;
         無效時間間隔;
         路由器優先級;
         DR和BDR;
路由器收到一個Hello報文時,它將檢驗匹配參數,如果不匹配,將丟棄
 
2.網絡類型
OSPF協議定義了以下5種網絡的類型:
         1.點到點:總是可以形成鄰接關係;OSPF報文目的地址總是224.0.0.5
         2.廣播型: 選舉DR、BDR;
hello報文組播發送到224.0.0.5 AllSPFRouters (0100.5E00.0005);
其它所有路由器以組播發送鏈路狀態更新報文和確認報文到224.0.0.6 AllDRouters (0100.5E00.0006)
3.非廣播多址:NBMA網絡,像X.25、幀中繼和ATM;
沒有廣播數據包的能力;這些網絡上的路由器有必要增加另外的配置來獲得鄰居;需要選舉DR/BDR,並且所有的OSPF報文都是單播的
         4.點到多點:NBMA網絡的一個特殊配置,可以被看作是一羣點到點鏈路的集合;
不選舉DR/BDR;OSPF報文是組播的;
         5.虛鏈路:沒有編號的點到點網絡;OSPF報文已單播發送
 
3.指定路由器和備份指定路由器
一臺路由器可能是其中一個與它相連的多址網絡的指定路由器,但可能不是其他與它相連的多址網絡的指定路由器;
指定路由器是一個路由器接口的特性,而不是整個路由器的特性;
 
網絡上所有的路由器將和指定路由器DR與BDR同時形成鄰接關係。DR和BDR之間也將互相形成鄰接關係;
DR/BDR的選取是通過一個接口狀態機的方式觸發;爲了能夠使選取的處理過程可以進行,需要滿足以下一些前提條件:
         每臺路由器的每一個多點訪問的接口都有一個路由器的優先級(router priority);大小範圍0~255;默認是1;可以通過ip ospf priority更改;0優先級的路由器將不能成爲DR/BDR;
         Hello報文包含了優先級字段;
         當一個接口在多址網絡上開始有效時,它將把它的DR和BDR的地址設置爲0.0.0.0
 
DR/BDR的選舉過程:
(1)       鄰居路由器之間首先建立成功雙向通信(2-way),列出所有具有DR和BDR選取資格的路由器的列表(優先級大於0,並且是2-way狀態);接着所有路由器都將宣傳自己是DR和BDR;
(2)       從具有選取資格的路由器的列表中,創建一個還沒有宣告爲DR路由器的所有路由器的子集(宣告自己爲DR路由器的路由器不能被選取爲BDR路由器)。
(3)       此子集中的一個或多個鄰居路由器,它們在Hello報文的BDR字段包含了它們自己的接口地址,那麼考慮最高優先級依次最高路由器ID;
(4)       如果沒有路由器宣傳自己是BDR路由器,那麼考慮最高優先級依次最高路由器ID;
(5)       如果路由器在Hello報文的DR字段包含它們的接口地址,那麼考慮最高優先級依次最高路由器ID;
(6)       如果沒有路由器宣傳自己是DR路由器,那麼新選取的BDR路由器將成爲DR路由器;
 
需要注意的是,路由器的優先級可以影響一個選取過程,但是它不能強制更換已經有效的DR或BDR路由器;
在一個多址網絡上,最先初始化啓動的兩臺具有DR選取資格的路由器將成爲DR和BDR路由器;
所有路由器將繼續以組播方式發送Hello報文到ALLSPFRouters(224.0.0.5);DRothers路由器以組播方式發送更新報文到ALLDRouters(224.0.0.6);DR路由器將使用組播地址224.0.0.5泛洪更新報文到DRothers;
 
注意,如果在一個多址網絡上只有唯一的一臺具有選取資格的路由器相連,那麼這臺將成爲DR,並且網絡上沒有BDR;如果沒有選取資格的路由器和一個多址網絡相連,那麼網絡上將沒有DR或BDR路由器,並且不建立任何連接關係,這樣都停留在2-way狀態;
 
4.OSPF接口
         (1)OSPF接口數據結構
Show ip ospf interface Serial1.738
 
路由器接口的數據結構的信息:
Ip address and mask
Area id :接口所在的區域;
Process id (進程ID): cisco特有屬性;進程ID僅在所配置的路由器上有效;
Router ID
Network type (網絡類型)
Cost :是指從該接口發送出去的數據包的出站接口代價;
108 /128kbit/s =781 ; 通過ip ospf cost改變
                   Cisco使用ospf auro-cost reference-bandwidth修正帶寬高於100M的值
InfTransmit Delay:這個信息是指LSA通告從路由器的接口發送後經理的時間;cisco路由器上缺省爲1s;通過ip ospf transmit-delay來改變
State(狀態)
Router priority
Show ip ospf interface Ethernet0
Designated router
Backup designated router
Hellointerval
RouterDeadInterval
Wait timer
RxmtInterval:在沒有得到確認的情況下,路由器重傳OSPF報文將要等待的時間長度
Hello Timer:將在3秒後超時
Neighboring routers
Autype:描述在網絡上使用的認證類型,這裏使用了MD認證方式;
Authertication key
 
 
 
 
Show ip ospf interface Serial3
 
注意,在這裏HelloInterval的值是NBMA網絡類型缺省值30s
 
(2)OSPF接口狀態機
一個啓用OSPF協議的接口在它變成完全有效之前,將會在幾種接口狀態中間發生轉換。
失效(down)
點到點
等待
DR
備份(Backup)-在這種接口狀態下,該路由器就是BDR;
DRother
Loopback
 
 
5.OSPF鄰居
要成功建立一個鄰接關係,通常需要下面4個階段:
         發現階段
         雙向通信階段
         數據庫同步階段
         完全鄰接階段
         (1)鄰居數據結構
     Show ip ospf neighbor 192.168.30.105
Neighbor ID
Neighbor IP Address
Area ID
Interface
Neighbor priority
State
PollIntervlan:這個值只用於NBMA網絡上相關的鄰居路由器;缺省值60s;
Neighbor Options
Inactivity Timer
 
 
 
 
       (2)鄰居狀態機
       實效狀態Down :在RouterDeadInterval時間內未收到來自鄰居的Hello報文;
       嘗試狀態Attempt:僅適用於NBMA網絡上的鄰居;
初始狀態Init:在RouterDeadInterval時間內收到了來自鄰居的Hello報文;
         雙向通信狀態2-Way: 在來自鄰居路由器的Hello報文中看到了它自己的路由器ID
         信息交換初始狀態ExStart: 本地路由器和它的鄰居將建立起主/從關係;
         信息交換狀態Exchange: 向鄰居發送數據庫描述報文;
         信息加載狀態Loading:向鄰居發送鏈路狀態請求報文,來請求最新的LSA通告;
         完全鄰接狀態Full:
(3)建立一個鄰接關係
除非Hello報文的參數不匹配,一般情況下都可以建立鄰居關係;
數據庫描述報文裏面有3個標記位用來管理鄰接關係的建立過程:
I位:初始位,指明發送的是第一個數據庫描述報文;
M位:後繼位,指明發送的還不是最後一個數據庫描述報文;
MS位:主/從位,始發於一個“主”路由器是,該位設置爲1;
如果主路由器發送完描述它自己的鏈路狀態數據庫所必要的所有數據庫描述報文,並且收到“從路由器”一個M位置爲0的數據庫描述報文,這時主路由器就認爲數據庫的同步過程完成了;
從路由器總是最先得知同步過程完成了;
Debug ip ospf adj
 
6.泛洪
每個節點都必須擁有一個關於這個拓撲結構的相同的拓撲圖,這個拓撲圖就是拓撲數據庫;也叫鏈路狀態數據庫。這個數據庫由路由器可以接收到的所有LSA組成;
泛洪過程將會使用到兩種OSPF報文:更新、確認類型4、類型5;
(1)       可靠的泛洪:確認
(2)       可靠的泛洪:序列號、校驗和、老化時間
Show ip ospf database
 
 
9.1.2 區域
對於和區域相關的通信量定義了下面3種通信量的類型:
         域內通信量(Intra-Area Traffic)
         域間通信量(Inter-Area Traffic)
         外部通信量(External Traffic)--同另一個自主系統內
1.路由器的類型
內部路由器
ABR:區域邊界路由器
BR:骨幹路由器
ASBR:自主系統邊界路由器
2.分段區域
 
3.虛鏈路
是指一條通過一個非骨幹區域連接到骨幹區域的鏈路。
9.1.3 鏈路狀態數據庫
Show ip ospf database:所顯示的僅僅是這些LSA的頭部信息;
鏈路狀態的重刷新機制Link State Refresh是用來確保每條LSA通告的活動狀態的,還有個額外的好處是替換可能已經被破壞的LSA通告;
每隔30min,每臺路由器將重刷新它始發的所有LSA通告,而不管這些LSA通告實際的老化時間,如果一個鏈路狀態數據庫很大,那麼每隔30min,網絡上就會產生一個區域通信量和CPU利用率的高峯;
Show ip ospf database database-summary
LSA組步調:
1.LSA的類型:
Router LSA:
1.Show ip ospf database router 192.168.30.10
2.Show ip ospf database network 192.168.17.18
3.Show ip ospf database summary 172.16.121.0
4.Show ip ospf database asbr-summary
5.Show ip ospf database external 10.83.10.0
6.組成員LSA是使用在OSPF協議的一個增強版本—組播OSPF協議(MOSPF協議)中的
7.非純末梢區域(not-so-stubby area),始發於ASBR
         Show ip ospf database nssa-external
8.9.10.11.本書編寫時還未實現;
 
2.末梢(stub)區域
末梢區域是一個不允許AS外部LSA通告(類型5)在其內部進行泛洪的區域;
在末梢區域中也有4個限制條件:
所有末梢區域內的路由器都會在它們的Hello報文中設置一個標誌—就是E-bit位,並將它設置爲0;
(1)       完全末梢區域(totally stubby area)
  使用缺省路由到達OSPF自主系統外部的目的地址;阻塞所有彙總LSA(除了缺省的那條類型3)
(2)       非純末梢區域(not-so-stubby area)
帶有一些末梢網絡的某臺RIP路由器必須通過區域2的其中一臺路由器和OSPF的網絡相連;
如果一臺NSSA ABR路由器收到一條P-bit設置爲1的類型7的LSA報文,那麼它將把這條類型7的LSA轉換成爲類型5的LSA,並泛洪
 
9.1.4 路由選擇表
1.目的類型
Show ip ospf border-routers
 
2.路徑類型
         區域內路徑
         區域間路徑 IA
         類型1的外部路徑 E1 :指目的地在OSPF自主系統外部的路徑;對於類型1的外部路徑來說,這個代價值是這條路由的外部代價加上到達ASBR路由器的路徑代價之和;
         類型2的外部路徑 E2 : 也指目的地在OSPF自主系統外部的路徑;在計算外部路由度量是不再計入到達ASBR路由器的路徑代價;
 
 
3.路由選擇表的查找
         OSPF路由器檢查一個數據包目的地址是的步驟:
         (1)掩碼最長匹配
         (2)通過排除次優的路徑類型來剪除可選擇條目的集合;
                   區域內路徑—區域間路徑—E1---E2
 
9.1.5認證
Ospf協議在鄰居路由器之間的所有報文的交換都具有認證的能力;
9.1.6 按需電路上的OSPF
 
9.1.7 OSPF的報文格式
 
1.報文頭部
 
2.Hello報文
 
3.數據庫描述報文
數據庫描述報文的一個主要目的是描述始發路由器數據庫中的一些或者全部LSA信息;
 
4.鏈路狀態請求報文
 
5.鏈路狀態更新報文
 
6.鏈路狀態確認報文
 
9.1.8 OSPF的LSA格式
1.LSA的頭部
 
2.路由器LSA(始發於每一臺路由器)
 
3.網絡LSA(始發於DR)
 
4.網絡彙總LSA和ASBR彙總LSA
 
5.自主系統外部LSA(始發於ASBR路由器)
 
6.NSSA外部LSA(始發於NSSA區域內的ASBR路由器)
 
9.1.9 可選項字段
可選項字段是出現在每一個Hello報文、數據庫描述報文和每一個LSA中的。可選字段允許路由器和其他路由器進行一些可選性能的通信。
 
9.2配置OSPF
9.2.1 案例1:一個基本的OSPF配置
9.2.2 案例2:使用loopback接口設置路由器的ID
9.2.3 案例3:域名服務查詢
9.2.4 案例4:OSPF和輔助地址
9.2.5 案例5:末梢區域
9.2.6 案例6:完全末梢區域
9.2.7 案例7:NSSA區域
9.2.8 案例8:地址彙總
9.2.9 案例9:認證
9.2.10 案例10:虛鏈路
9.2.11 案例11:運行在NBMA網絡上的OSPF
9.2.12 案例12:運行在按需電路上的OSPF
 
 
9.3 OSPF故障排除
9.3.1 案例13:孤立的區域
9.3.2 案例14:路由彙總配置錯誤
 
9.4展望
 
9.5總結表:第9章命令總結
 
 
 
 
 
第10章 集成IS-IS協議
IS-IS的意思是表示中間系統到中間系統,並且是爲ISO無連接網絡協議CLNP(Connectionless Network Protocol)設計的路由選擇協議。
由ISO10589定義個解釋的;由DEC公司發展而來;
 
 
10.1 集成IS-IS協議的操作
子網連接點(Subnetwork Point of Attachment,SNPA)
協議數據單元(Protocol Data Unit,PDU)
執行與OSPF協議中的LSA等價功能的數據單元稱爲鏈路狀態PDU(LSP)
10.1.1 IS-IS區域
OSPF協議的區域邊界是通過路由器來劃分的;
ISIS的區域邊界是在鏈路上;
由L2路由器(包括L1/L2路由器)和它們之間的互連鏈路一起構成IS-IS的骨幹;
 
10.1.2網絡實體標題
即使在一個純IP環境中,一臺IS-IS路由器也必須有一個ISO地址。這個ISO地址是一個網絡地址,稱爲網絡實體標題(NET);
 
10.1.3 IS-IS的功能結構
1.依賴於子網的功能
2.獨立於子網的功能
10.1.4 IS-IS 的PDU格式
9種PDU類型:
1.CLV字段
2.IS-IS Hello PDU報文
3.IS-IS協議鏈路狀態PDU報文格式
4.IS-IS協議序列號PDU報文
10.2 配置集成IS-IS協議
10.2.1案例1:一個基本的集成IS-IS配置
 
10.2.2案例2:更改路由器的類型
 
10.2.3案例3:區域的遷移
 
10.2.4案例4:路由彙總
 
10.2.5案例5:認證
 
 
 
 
 
10.3 集成IS-IS協議的故障排除
10.3.1 IS-IS鄰接關係的故障排除
 
10.3.2 IS-IS鏈路狀態數據庫的故障排除
 
10.3.3 案例6:運行於NBMA網絡上的集成IS-IS
 
 
第三部分 路由控制和互操作性
第11章 路由重新分配
 
第12章 缺省路由和按需路由選擇
 
第13章 路由過濾
 
第14章 路由圖
 
第四部分 附錄
 
第8章 OSPFv2
開放最短路徑優先(open shortest path first,OSPF)
Rfc2328 V2
特性:區域  無類別  超網  任意度量值 多路徑等價負載均衡  組播  認證  路由標記
8.1 基本原理
1.hello
2.鄰接關係
3.鄰居之間發送鏈路狀態通告(link state advertisement ,LSA)
4.LSA泛洪到整個區域,所有路由器會形成同樣的鏈路狀態數據庫;
5.每路由器以自身爲根,用SPF算法來計算一個無環路的拓撲圖;
6.每路由器從SPF算法樹(無環路的拓撲圖)中構造出自己的路由表;
7.網絡穩定,每隔30min重傳一次LSA,鄰居之間交換的hello數據包稱爲keepalive;
 
 
 
8.1.1 鄰居和鄰接關係
Show ip ospf neighbor
Router-id 手工配置 router ID
Ip ospf hello-interval
Ip ospf dead-interval
Ip ospf priority
Show ip ospf interface Ethernet0
Show ip ospf neighbor 10.7.0.1
Debug ip ospf adj
Show ip ospf database
Show ip ospf database
Show ip ospf database database-summary
Show ip ospf database router 192.168.30.10
Show ip ospf database network 192.168.17.18
Show ip ospf database summary 172.16.121.0
Show ip ospf database asbr-summary
Show ip ospf database external 10.83.10.0
Show ip ospf database nssa-external
8.1.8路由表
Show ip route
Show ip ospf border-routers
8.2 配置OSPF
Show ip ospf 40(process-id)
Show arp
Show ip route
Show ip ospf database database-summary
 
8.2.5 末梢區域
Router ospf 10
Area 1 stub 把區域1配置爲末梢區域
   Area 1 default-cost 20 配置一條代價爲20的缺省路由
 
8.2.6 完全末梢區域
Router ospf 10
Area 1 stub no-summary 把區域1配置爲完全末梢區域
 
8.2.7 NSSA區域
Router ospf 10
Area 192.168.10.0 nssa 把區域192.168.10.0配置爲NSSA
Area 192.168.10.0 nssa no-summary 把區域192.168.10.0配置爲完全非純末梢區域
 
Show ip ospf data external
Area 15 nssa translate type 7 suppress-fa 抑制了包括在轉換類型5LSA中的轉發地址
 
 
 
 
TCP/IP Volume II
第一部分 外部網關協議(EGP)
第1章 外部網關協議
EGP   RFC827(1982)
EGP2 RFC888
            RFC904 EGPv2正式
 
 
 
第2章 BGP4簡介
BGP-4出現在1995年的RFC1771中;最重要的區別就是無類的,而早期的版本都是有類的;
無類域間路由(CIDR0(最早在1993年的RFC 15175中提出),BGP-4的出現是爲了支持CIDR;
 
2.1 無類域間路由
2.2 誰需要BGP
2.2.1 一個單宿主自治系統
2.2.2 多宿主到一個單一的AS
2.2.3 多宿主到多個自治系統
2.2.4 “負載均衡”中應當注意的一個問題
2.2.5 BGP的危險
2.3 BGP基礎知識
2.3.1 BGP消息類型
BGP有四種消息類型:
         Open
         Keepalive
         Update
         Notification
 
2.3.2 BGP有限狀態機
6個狀態
1.空閒狀態
2.連接狀態
3.激活狀態
4.發送Open消息狀態
5.Open消息確認狀態
6.已建立狀態
 
2.3.3 路徑屬性
四種:公認必選、公認自選、任選可透明傳送、任選非可透明傳送
1.ORIGIN屬性
2.AS_PATH屬性
3.NEXT_HOP屬性
4.LOCAL_PREF屬性
5.MULTI_EXIT_DISC屬性
6.ATOMIC_AGGREGATE和AGGREGATOR屬性
7.COMMUNITY屬性
8.ORIGINATOR_ID和CLUSTER_LIST屬性
 
2.3.4 管理權值
0~65535
權值越高,該路由的優先選擇權就越高;
缺省情況下,從對等學習到的所有路由的權值都是0,由本地路由器產生的所有路由的權值都是32768
 
2.3.5 AS_SET
2.3.6 BGP決策過程
2.3.7 路由抑制
2.4 IBGP和IGP的同步
2.5 管理大型BGP對等關係
2.5.1 對等組
2.5.2 團體
2.5.3 路由反射器
2.5.4 聯盟
2.6 BGP信息格式
2.6.1 Open消息
2.6.2 Update消息
2.6.3 Keepalive消息
2.6.4 Notification消息
第3章 BGP4的配置以及故障排除
3.1 基本的BGP配置
3.1.1 案例:建立BGP路由器之間的對等
3.1.2 案例:向BGP中注入IGP路由
3.1.3 案例:向IGP注入BGP路由
3.1.4 案例:沒有IGP的IBGP
3.1.5 案例:IGP上的IBGP
3.1.6 案例:EBGP多跳
3.1.7 案例:聚合路由
3.1.8 管理BGP連接
3.2 路由策略
3.2.1 重置BGP連接
3.2.2 案例研究:通過NLRI過濾路由
3.2.3 案例研究:通過AS_PATH過濾路由
3.2.4 案例研究:通過路由圖過濾路由
3.2.5 案例研究:管理權值
3.2.6 案例研究:管理距離以及後門路由
3.2.7 案例研究:使用LOCAL_PREF屬性
3.2.8 案例研究:使用MULTI_EXIT_DISC屬性
3.2.9 案例分析:附加AS_PATH
3.2.10 案例分析:路由標記
3.2.11 案例分析:路由抑制
3.3 大型BGP
3.3.1 案例分析:BGP對等組
3.3.2 案例分析:BGP團體
3.3.3 案例分析:專用AS號
3.3.4 案例分析:BGP聯盟
3.3.5 案例分析:路由反射器
 
 
第二部分 高級IP路由問題
第4章 網絡地址翻譯
 
第5章 IP多播路由介紹
 
第6章 IP多播路由的配置和故障排除
 
第7章 大範圍IP多播路由
 
第8章 IPv6
 
第9章 路由器管理
 
第三部分 附錄
 
 
 
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章