第三章:網絡地址轉換與路由選擇協議—NAT、RIP、OSPF、BGP
一、相關概念簡述:
NAT:網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化爲合法IP地址的轉換技術,它被廣泛應用於各種類型Internet接入方式和各種類型的網絡中。
RIP:RIP(RoutinginformationProtocol)協議的全稱是一種內部網關協議(IGP),是一種動態路由選擇,用於一個自治系統(AS)內的路由信息的傳遞。
OSPF:OSPF (Open Shortest Path First開放式最短路徑優先)是一個內部網關協議(Interior Gateway Protocol,簡稱IGP),用於在單一自治系統(autonomous system,AS)內決策路由。與RIP相比,OSPF是鏈路狀態路由協議,而RIP是距離矢量路由協議。OSPF的協議管理距離(AD)是110。
BGP :BGP(Border Gateway Protocol )邊界網關協議,用來連接Internet上獨立系統的路由選擇協議。BGP是爲取代最初的外部網關協議EGP設計的,也被認爲是一個路徑矢量協議。
二、網絡地址轉換與路由選擇協議:主要探討的是用於創建和更新路由表的路由信息的傳播問題。重點要討論路由表最初如何構建,並解釋路由軟件如何按需要不斷更新路由表。
三、IP路由分爲兩大類別:
靜態路由:路由不會改變路由表在系統啓動時載入值,除非檢測到錯誤,否則路由不會改變。靜態路由適用的地方:多數主機。
動態路由:指可以隨時間改變路由表信息的系統。動態路由的開始與靜態路由完全一樣,在系統啓動時將一組原始路由載入到路由表中。動態路由適用的地方:多數路由器。
四、全球Internet路由:
Internet使用兩級路由層次——將Internet上的路由器和網絡劃分成組。每個組內的所有路由器相互交換路由信息,然後每個組中至少有一臺路由器(可能更多)彙總這些信息,在把這些信息傳遞給其他組。
自治系統:一個網絡和路由器的連通集合,它們都在一個管理權威的控制下。
因此,全球Internet中的路由器被分成組,每個組被稱爲自治系統。一個自治系統內部的路由器彼此交換路由信息,這些信息在彙總後纔會傳遞給其他組。
五、Internet路由協議:
內部網關協議(Interior Gateway Protocol,IGP):適用於自治系統內部的路由器交換路由信息。容易安裝和操作,但可能會限制自治系統的規模或路由複雜性。
外部網關協議(Exterior Gateway Protocol,EGP):適用於一個自治系統的路由器與另一個自治系統中的路由器交換路由信息。安裝和操作要比IGP複雜一些,具有更好的靈活性和較低的開銷。爲了減少通信量,EGP需要在將自己所在的自治系統的路由信息向另一個自治系統傳遞之前進行彙總。
六、因特網的路由選擇協議:
內部網關協議IGP:具體的協議有多種,如RIP和OSPF等。
外部網關協議EGP:目前使用的協議就是BGP。
七、內部網關協議RIP:
1、RIP工作原理:
1)路由信息協議RIP是內部網關協議IGP中最先得到廣泛使用的協議。
2)RIP是一種分佈式的基於距離向量的路由選擇協議。
3)RIP協議要求網絡中的每一個路由器都要維護從它自己到其他每一個目的網絡的距離記錄。
RIP協議中的“距離”也稱爲“跳數”(hop count),因爲每經過一個路由器,跳數就加1。
2、RIP 協議的三個要點:
1)僅和相鄰路由器交換信息。
2)交換的信息是當前本路由器所知道的全部信息,即自己的路由表。
3)按固定的時間間隔交換路由信息,例如,每隔30秒。
3、路由表的建立:
1)路由器在剛剛開始工作時,只知道到直接連接的網絡的距離(此距離定義爲1)。
2)以後,每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。
3)經過若干次更新後,所有的路由器最終都會知道到達本自治系統中任何一個網絡的最短距離和下一跳路由器的地址。
4)RIP 協議的收斂(convergence)過程較快,即在自治系統中所有的結點都得到正確的路由選擇信息的過程。
4、路由器之間交換信息:
1)RIP協議讓互聯網中的所有路由器都和自己的相鄰路由器不斷交換路由信息,並不斷更新其路由表,使得從每一個路由器到每一個目的網絡的路由都是最短的(即跳數最少)。
2)雖然所有的路由器最終都擁有了整個自治系統的全局路由信息,但由於每一個路由器的位置不同,它們的路由表當然也應當是不同的。
5、RIP協議的位置:
1)RIP協議使用運輸層的用戶數據報UDP進行傳送(使用 UDP 的端口 520)。
2)因此RIP協議的位置應當在應用層。但轉發IP數據報的過程是在網絡層完成的。
6、RIP2 協議的報文格式:
7、RIP協議的優缺點:
1)RIP存在的一個問題是當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
2)RIP協議最大的優點就是實現簡單,開銷較小。
3)RIP限制了網絡的規模,它能使用的最大距離爲 15(16 表示不可達)。
4)路由器之間交換的路由信息是路由器中的完整路由表,因而隨着網絡規模的擴大,開銷也就增加。
八、內部網關協議OSPF:
1、OSPF 協議的基本特點:
1)“開放”表明OSPF協議不是受某一家廠商控制,而是公開發表的。
2)“最短路徑優先”是因爲使用了Dijkstra提出的最短路徑算法SPF。
3)OSPF只是一個協議的名字,它並不表示其他的路由選擇協議不是“最短路徑優先”。
4)是分佈式的鏈路狀態協議。
2、三個要點:
1)向本自治系統中所有路由器發送信息,這裏使用的方法是洪泛法。
2)發送的信息就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分信息。
“鏈路狀態”就是說明本路由器都和哪些路由器相鄰,以及該鏈路的“度量”(metric)。
3)只有當鏈路狀態發生變化時,路由器才用洪泛法向所有路由器發送此信息。
3、鏈路狀態數據庫(link-state database):
1)由於各路由器之間頻繁地交換鏈路狀態信息,因此所有的路由器最終都能建立一個鏈路狀態數據庫。
2)這個數據庫實際上就是全網的拓撲結構圖,它在全網範圍內是一致的(這稱爲鏈路狀態數據庫的同步)。
3)OSPF的鏈路狀態數據庫能較快地進行更新,使各個路由器能及時更新其路由表。OSPF 的更新過程收斂得快是其重要優點。
4、OSPF的區域(area):
1)爲了使OSPF能夠用於規模很大的網絡,OSPF將一個自治系統再劃分爲若干個更小的範圍,叫作區域。
2)每一個區域都有一個32 bit的區域標識符(用點分十進制表示)。
3)區域也不能太大,在一個區域內的路由器最好不超過200個。
5、劃分區域:
1)劃分區域的好處就是將利用洪泛法交換鏈路狀態信息的範圍侷限於每一個區域而不是整個的自治系統,這就減少了整個網絡上的通信量。
2)在一個區域內部的路由器只知道本區域的完整網絡拓撲,而不知道其他區域的網絡拓撲的情況。
3)OSPF使用層次結構的區域劃分。在上層的區域叫作主幹區域(backbone area)。主幹區域的標識符規定爲0.0.0.0。主幹區域的作用是用來連通其他在下層的區域。
6、OSPF直接用IP數據報傳送:
1)OSPF不用UDP而是直接用IP 數據報傳送,可見 OSPF 的位置在網絡層。
2)OSPF構成的數據報很短。這樣做可減少路由信息的通信量。
3)數據報很短的另一好處是可以不必將長的數據報分片傳送。分片傳送的數據報只要丟失一個,就無法組裝成原來的數據報,而整個數據報就必須重傳。
7、OSPF分組協議:
8、OSPF的五種分組類型:
類型1,問候(Hello)分組。
類型2,數據庫描述(Database Description)分組。
類型3,鏈路狀態請求(Link State Request)分組。
類型4,鏈路狀態更新(Link State Update)分組,用洪泛法對全網更新鏈路狀態。
類型5,鏈路狀態確認(Link State Acknowledgment)分組。
9、OSPF的其他特點:
1)OSPF還規定每隔一段時間,如30分鐘,要刷新一次數據庫中的鏈路狀態。
2)由於一個路由器的鏈路狀態只涉及到與相鄰路由器的連通狀態,因而與整個互聯網的規模並無直接關係。因此當互聯網規模很大時,OSPF協議要比距離向量協議RIP好得多。
3)OSPF沒有“壞消息傳播得慢”的問題,據統計,其響應網絡變化的時間小於100 ms。
10、OSPF支持三種網絡的連接:
1)兩個路由器之間的點對點連接
2)具有廣播功能的局域網
3)無廣播功能的廣域網
九、外部網關協議BGP:
1、邊界網關協議BGP簡述:
1)BGP是不同自治系統的路由器之間交換路由信息的協議。
2)BGP的較新版本是1995年發表的BGP-4(BGP的第4個版本)。
3)可以將BGP-4簡寫爲BGP。
2、BGP使用的環境卻不同:
1)因特網的規模太大,使得自治系統之間路由選擇非常困難。
2)對於自治系統之間的路由選擇,要尋找最佳路由是很不現實的。
3)自治系統之間的路由選擇必須考慮有關策略。
4)因此,邊界網關協議BGP只能是力求尋找一條能夠到達目的網絡且比較好的路由(不能兜圈子),而並非要尋找一條最佳路由。
3、BGP發言人:
1)每一個自治系統的管理員要選擇至少一個路由器作爲該自治系統的“BGP 發言人”。
2)一般說來,兩個BGP發言人都是通過一個共享網絡連接在一起的,而BGP發言人往往就是BGP邊界路由器,但也可以不是BGP邊界路由器。
4、BGP交換路由信息:
1)一個BGP發言人與其他自治系統中的BGP發言人要交換路由信息,就要先建立TCP連接,然後在此連接上交換BGP報文以建立BGP會話(session),利用BGP會話交換路由信息。
2)使用TCP連接能提供可靠的服務,也簡化了路由選擇協議。
3)使用TCP連接交換路由信息的兩個BGP發言人,彼此成爲對方的鄰站或對等站。
5、BGP協議的特點:
1)BGP協議交換路由信息的結點數量級是自治系統數的量級,這要比這些自治系統中的網絡數少很多。
2)每一個自治系統中BGP發言人(或邊界路由器)的數目是很少的。這樣就使得自治系統之間的路由選擇不致過分複雜。
3)BGP支持CIDR,因此BGP的路由表也就應當包括目的網絡前綴、下一跳路由器,以及到達該目的網絡所要經過的各個自治系統序列。
4)在BGP剛剛運行時,BGP的鄰站是交換整個的BGP路由表。但以後只需要在發生變化時更新有變化的部分。這樣做對節省網絡帶寬和減少路由器的處理開銷方面都有好處。
6、BGP-4共使用四種報文:
1)打開(Open)報文,用來與相鄰的另一個BGP發言人建立關係。
2)更新(Update)報文,用來發送某一路由的信息,以及列出要撤消的多條路由。
3)保活(Keepalive)報文,用來確認打開報文和週期性地證實鄰站關係。
4)通知(Notificaton)報文,用來發送檢測到的差錯。
7、BGP報文的格式: