路由器工作原理_第1頁
路由器工作原理_第2頁
路由器工作原理_第3頁
路由器工作原理_第4頁
路由器工作原理_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、-作者xxxx-日期xxxx路由器工作原理【精品文檔】1.1 路由器工作原理1.1.1 概述路由器的主要作用是轉發(fā)數(shù)據(jù)包,將每一個IP數(shù)據(jù)包由一個端口轉發(fā)到另一個端口。轉發(fā)行為既可以由硬件完成,也可以由軟件完成,顯然硬件轉發(fā)的速度要快于軟件轉發(fā)的速度,無論那種轉發(fā)都根據(jù)“轉發(fā)表”或“路由表”來進行,該表指明了到某一目的地址的數(shù)據(jù)包將從路由器的某個端口發(fā)送出去,并且指定了下一個接收路由器的地址。每一個IP數(shù)據(jù)包都攜帶一個目的IP地址,沿途的各個路由器根據(jù)該地址到表中尋找對應的路由,如果沒有合適的路由,路由器將丟棄該數(shù)據(jù)包,并向發(fā)送改包的主機送一個通知,表明要去的目的地址“不可達”。路由表如何形成

2、是路由器軟件系統(tǒng)的核心內(nèi)容,動態(tài)路由協(xié)議就是用來收集路由信息,為路由表的創(chuàng)建提供原始素材。簡單來講,當路由器加電后經(jīng)過人工適當配置后,如指定端口IP地址等,路由器已經(jīng)能夠識別它的各個接口卡上的所有已經(jīng)啟動并且經(jīng)過配置的端口所連接的網(wǎng)絡,路由器就有了最初的路由表,這時各個端口所連的網(wǎng)絡就可以互通了。如何將最初的路由表告知其他路由器,這就是動態(tài)路由協(xié)議的任務了。路由器將自身的路由信息通過路由協(xié)議所規(guī)定的數(shù)據(jù)格式發(fā)送出去,接收到該信息的路由器如果也運行了相同的路由協(xié)議,就可以將改信息加以保存,根據(jù)規(guī)則對收到的信息加工處理,這樣它的路由表得到擴充與豐富,再將變化后的路由表發(fā)送給其他路由器,經(jīng)過一段時間

3、,所有的路由器都得到了關于整個網(wǎng)絡的路由信息,該過程也稱為路由收斂。當網(wǎng)絡拓撲結構發(fā)生變化時,路由信息要重新進行收斂。動態(tài)路由協(xié)議有許多種,它們的適用范圍與特性各不相同,ZXR10支持常用的幾種路由協(xié)議:路由信息協(xié)議(RIP v2)、開放最短路徑優(yōu)先(OSPF v2)、邊界網(wǎng)關協(xié)議(BGP v4)。這幾種路由協(xié)議同時運行時,各自收集到路由信息按照優(yōu)先權順序安裝到路由表中,只有優(yōu)先權最高的路由信息起到轉發(fā)作用,其他的做為備份,當最高優(yōu)先權的路由信息失效時,次優(yōu)先權的路由信息得以啟用。為進一步理解路由器的工作原理,需要了解TCP/IP協(xié)議棧的背景知識,以下幾節(jié)對此作簡要介紹。1.1.2 網(wǎng)絡模型與

4、協(xié)議TCP/IP協(xié)議棧是一組不同層次上的多個協(xié)議的組合。通常,TCP/IP被認為是一個四層協(xié)議的體系結構,它是國際標準化組織(ISO)的開放系統(tǒng)互聯(lián)(OSI)七層參考模型的簡化,兩者的結構圖2-3所示:應用層應用層表示層會話層傳輸層傳輸層網(wǎng)絡層網(wǎng)絡層數(shù)據(jù)鏈路層鏈路層物理層圖2-3 網(wǎng)絡模型每一層的功能如下:1) 應用層:負責處理各種應用程序的細節(jié),常見的通用的應用程序有:l Telnet 遠程登錄l FTP 文件傳輸協(xié)議l SMTP 簡單郵件傳送協(xié)議l SNMP 簡單網(wǎng)絡管理協(xié)議2) 傳輸層:為兩臺主機上的程序提供端到端的通信,該層有兩種協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報協(xié)議)。

5、TCP為兩臺主機提供高可靠性的通信連接,有著復雜的控制機制。UDP是比較簡單的協(xié)議,不保證數(shù)據(jù)包的可靠傳輸,任何必須的可靠性必須由上層程序來提供。兩個傳輸協(xié)議將應用程序的數(shù)據(jù)加上自身格式的首部字段后交給下一層進行處理。UDP首部各字段如圖2-4所示:16位源端口號16位目的端口號16位UDP長度16位UDP校驗和數(shù)據(jù)圖2-4 UDP首部TCP首部各字段如圖2-5所示: 16位源端口號16位目的端口號32位序列號32位確認號4位首部長度保留其它16位窗口大小16位TCP校驗和16位緊急指針選項(若有)數(shù)據(jù)圖2-4 TCP首部一臺主機可以運行多個應用程序,那么有多個TCP和UDP連接同時存在,這里

6、源端口號在區(qū)分各個連接時起到了作用,一般而言,源端口號是隨機分配的,目的端口號是通過知名端口來識別的,這樣服務器接收到該數(shù)據(jù)包時根據(jù)數(shù)據(jù)包中的目的端口號就可以知道對應的服務類型,如FTP服務器的TCP端口號為21,Telnet服務器的TCP端口號為23,TFTP(簡單文件傳輸協(xié)議)服務器的端口號為69,RIP路由信息協(xié)議的UDP端口號為520。詳盡的知名端口號的分配可參考RFC1700文件。TCP連接是并發(fā)進行的,應用程序通過TCB傳輸控制塊來對應進程的,TCB是由源、目的端口和源、目的主機IP地址這四個參數(shù)組成的,具有唯一性。而UDP連接是單進程進行的,多個連接需排隊順序處理,也用源、目的I

7、P地址和端口來標識各個連接。3) 網(wǎng)絡層:有時也稱為互聯(lián)網(wǎng)層,處理分組數(shù)據(jù)在網(wǎng)絡中的活動,如路由選擇等。由于該層應用了包含邏輯地址的IP數(shù)據(jù)包來傳輸數(shù)據(jù),完全獨立于底層的各種各樣的硬件類型和技術,使得應用TCP/IP協(xié)議棧的網(wǎng)絡完全實現(xiàn)互聯(lián)互通,最終形成了規(guī)模龐大的遍布全球的因特網(wǎng)。但該層提供的是不可靠的服務,只是盡最大努力將分組數(shù)據(jù)從源端傳送到目的端,可靠性完全由上層協(xié)議來保證。該層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議)、ICMP協(xié)議(網(wǎng)際控制報文協(xié)議)、IGMP(網(wǎng)際組管理協(xié)議)。其中IP數(shù)據(jù)包的首部格式如圖2-5所示:4位版本4位首部長度8位服務類型(TOS)16位總長度16位標識3位標志13位片

8、偏移8位生存時間(TTL)8位協(xié)議標識16位首部檢驗和32位源IP地址32位目的IP地址32位選項(若有)數(shù)據(jù)圖2-5 IP首部這里的協(xié)議標識可用來區(qū)分封裝在IP包中的其它協(xié)議類型,如協(xié)議標識為6表示封裝的是TCP數(shù)據(jù)包,協(xié)議標識為17表示封裝的是UDP數(shù)據(jù)包,協(xié)議標識為89表示封裝的是OSPF數(shù)據(jù)包,協(xié)議標識為1表示封裝的是ICMP數(shù)據(jù)包,協(xié)議標識為2表示封裝的是IGMP數(shù)據(jù)包。TTL(time-to-live)生存時間字段設置了數(shù)據(jù)包可以經(jīng)過的最多路由器數(shù),目的是防止數(shù)據(jù)包在網(wǎng)絡上的無限循環(huán)。該值由源主機設置(通常為32或64),一旦經(jīng)過一個路由器,路由器就將它減1,當某路由器檢查該值為1

9、且目的地址不在本路由器直聯(lián)的網(wǎng)絡上時,該數(shù)據(jù)包就被丟棄,并發(fā)送ICMP報文通知源主機。當TTL值改變后,首部檢驗和也要改變。一般路由器在轉發(fā)IP數(shù)據(jù)包時,僅僅改變這兩個字段。首部檢驗和的計算過程是:先將該字段置為0,然后對首部中每個16bit進行二進制反碼求和,將結果存在檢驗和字段中。當路由器收到一份IP數(shù)據(jù)包后,同樣對首部中每個16比特進行二進制反碼求和,如果結果為FF才表示IP數(shù)據(jù)包正確。出錯的數(shù)據(jù)包將被丟棄,但不發(fā)送ICMP報文,上層協(xié)議可以檢測到出錯并對該數(shù)據(jù)包重傳。首部長度指的是首部占32比特(雙字)的數(shù)目,包括任選項。普通IP數(shù)據(jù)包是沒有選擇項的,因此該字段的值為5。路由器收到IP

10、包后對此字段要做檢查,帶選項的IP數(shù)據(jù)包在轉發(fā)前要做特殊處理。版本字段為4,這表示這種IP首部格式是IPV4的格式,IPV4是當前Internet所使用的IP版本,其實也是第一個版本,下一代的版本為IPV6。4) 鏈路層:也稱為數(shù)據(jù)鏈路層或網(wǎng)絡接口層,通常包括操作系統(tǒng)中的設備驅動程序和網(wǎng)絡接口硬件。該層將IP數(shù)據(jù)包按照鏈路協(xié)議定義的格式進行封裝,并按照硬件接口的編碼方式形成合適的基帶信號發(fā)送到傳輸介質(zhì)上。如常見的以太網(wǎng)(Ethernet II)協(xié)議的封裝格式為:8字節(jié)前導碼6字節(jié)目的地址6字節(jié)源地址2字節(jié)協(xié)議類型461500字節(jié)數(shù)據(jù)4字節(jié)CRC兩字節(jié)的協(xié)議類型字段區(qū)分了封裝的協(xié)議類型:0800

11、表示封裝的是IP數(shù)據(jù)包,0806表示封裝的是ARP地址解析協(xié)議數(shù)據(jù)包。封裝好的數(shù)據(jù)幀協(xié)議在線路空閑時(用CSMA/CD載波偵聽多路存取/碰撞檢測的方法來檢測)按照曼徹斯特編碼將數(shù)據(jù)變成電平發(fā)送到線路上。線速路由器中常用的另一種鏈路層協(xié)議為PPP點到點協(xié)議,IP數(shù)據(jù)包被封裝成PPP數(shù)據(jù)幀,PPP數(shù)據(jù)幀再映射進同步數(shù)字序列SDH中去透明傳輸,路由器上這樣的接口常稱為POS接口(Packer over SDH)。PPP幀格式為:標記地址控制協(xié)議數(shù)據(jù)幀校驗7EFF031/2 字節(jié)1500字節(jié)1字節(jié)協(xié)議字段為0021時表示數(shù)據(jù)部分為IP數(shù)據(jù)包,C021表示數(shù)據(jù)部分為LCP鏈路控制協(xié)議,8021為NCP網(wǎng)

12、絡控制協(xié)議,C023為PAP密碼驗證,C223為CHAP質(zhì)詢握手驗證協(xié)議。詳細信息可參考RFC1661RFC、RFC1662文檔。1.1.3 IP編址和路由選擇地址有網(wǎng)絡層地址和鏈路層地址,它們的作用各不相同。整個網(wǎng)絡中的尋址是根據(jù)網(wǎng)絡層的地址進行的,因為網(wǎng)絡層地址有不依賴于硬件的獨立性,有利于統(tǒng)一規(guī)劃與編排,它的“分層”設計將地址分為網(wǎng)絡部分與主機部分,這更加有利于路由的構建和選擇。傳輸鏈路上數(shù)據(jù)包的識別是根據(jù)鏈路層地址進行的,鏈路層的地址編排依賴于傳輸鏈路的技術本身,不同的鏈路協(xié)議采用不同的編址方式,如以太網(wǎng)的鏈路層地址為48位編碼的唯一地址,PPP鏈路層地址用統(tǒng)一的FF表示,幀中繼網(wǎng)絡的

13、鏈路層地址用連接標識符DLCI表示,ATM網(wǎng)絡用PVC永久虛電路、SVC交換虛電路來標識。IP協(xié)議棧中的網(wǎng)絡層地址就是指常見的IP地址,分為A、B、C、D、E五類,常用的為前三類,D類地址為網(wǎng)絡組播地址,E類地址保留。IP地址有兩部分組成,一部分為網(wǎng)絡號,一部分為主機號,兩者的確定是由子網(wǎng)掩碼來決定的。子網(wǎng)掩碼與IP地址一樣也是32bit長度,并且兩者是一一對應的,子網(wǎng)掩碼中數(shù)字為“1”所對應的IP地址中的部分為網(wǎng)絡號,為“0”所對應的部分為主機號。子網(wǎng)掩碼中數(shù)字“1”和“0”都是連續(xù)的,不允許間插,且數(shù)字“1”在前,數(shù)字“0”在后。常規(guī)IP地址分類結構如下:類別特征位網(wǎng)絡號主機號范圍A類07

14、位24位B類1014位16位C類11021位8位D類111028位多播組號2E類11110保留這種地址劃分方法的初衷是為路由協(xié)議的設計提供便利,只從IP地址的首部特征位就可以判定子網(wǎng)掩碼了。隨著互聯(lián)網(wǎng)的急劇膨脹,地址短缺的問題愈來愈突出,因為這種分類方法使得地址空間無法得到最大限度的利用。目前出現(xiàn)的無類域間路由(CIDR)技術淡化了IP地址的類的概念,多種路由協(xié)議在路由條目更新中都帶有子網(wǎng)掩碼,無需利用IP地址的首部特征位去判定子網(wǎng)掩碼了,這在一定程度上緩解了目前IP地址短缺的問題,但最終的解決方案是應用下一代的IPV6編址方法,其地址長度為128位。關于IP地址的規(guī)定:1)

15、用于沒有IP地址的主機啟動時使用,通過RARP、BOOTTP、DHCP來獲得地址。在路由表中該地址還用作缺省路由。2) 55 用于廣播的目的地址,不能作源地址。3) 127.X.X.X 稱為環(huán)回地址,即使不知道主機的實際IP地址,也可用該地址代表“本機”。4) 僅主機部分全1表示廣播到特定的網(wǎng)絡。5) 合法的主機IP地址其網(wǎng)絡部分或主機部分都不能全0或全1。主機通信只能在具有相同網(wǎng)絡號的IP地址之間進行,不同網(wǎng)絡號的主機之間的通信必須經(jīng)過路由器進行轉發(fā),這是包含IP協(xié)議棧的各類操作系統(tǒng)所共同遵守的。路由器的多個端口連接到多個IP網(wǎng)絡上,一般而言,不同的端口對應不同的I

16、P子網(wǎng),每個端口的IP地址的網(wǎng)絡號必須與所連接的IP子網(wǎng)的網(wǎng)絡號相同。當應用程序需要與其它主機連接時,操作系統(tǒng)判斷目的主機的IP地址是否與本主機在同一個子網(wǎng)上,如果在同一子網(wǎng)上則尋找目的主機的MAC地址,然后封裝成鏈路層幀格式發(fā)送出去。如果不在同一子網(wǎng)上且配置了缺省網(wǎng)關,系統(tǒng)將數(shù)據(jù)轉發(fā)給與之相連的路由器上。路由器收到數(shù)據(jù)包后將檢測數(shù)據(jù)包的目的地址,并用它與路由表中條目進行“最長匹配”。如果匹配成功,則路由器將數(shù)據(jù)包從與目的地址匹配的本地接口轉發(fā)出去。如果在路由表中沒有目的地址的入口,并且也沒有缺省路由,那么數(shù)據(jù)包將被丟失??梢?,路由查找的過程就是“最長匹配”的過程,如何實現(xiàn)該過程完全由路由表的

17、數(shù)據(jù)結構決定。直觀上來講,理解了子網(wǎng)劃分的技術,可以“看出”哪個表項是“最長匹配”。舉例來講,路由表有這樣幾個目的網(wǎng)絡(斜杠后的數(shù)字為子網(wǎng)掩碼長度):4/27,6/27,28/26,92/27,24/28,40/28,那么到IP地址為63主機的路由將選中28/26這一表項。其實,該網(wǎng)絡地址的主機范圍為2990,唯一包含了目的主機的IP地址。但是,路由查找軟件是沒有這樣的“判斷”

18、的,假設路由表中沒有28/26這一項,軟件查找的結果就是92/27為最長匹配了,顯然這是錯誤的,因為該網(wǎng)絡地址的主機范圍為9322,不包括63。1.1.4 路由表的建立、維護、構成路由表由靜態(tài)路由表項和動態(tài)路由表項組成,靜態(tài)路由入口由網(wǎng)絡管理者手工配置的靜態(tài)路由組成,動態(tài)路由入口由路由協(xié)議如RIP、OSPF、BGP交換的路由表信息組成。一般而言,在同一個路由域中所有路由器的各個路由協(xié)議都有一個“收斂”(convergence)狀態(tài)或過程。當所有路由器達到一個穩(wěn)定、準確、一致的網(wǎng)絡拓撲狀

19、態(tài)時,就會獲得“收斂”狀態(tài)。也許該狀態(tài)是短暫的,網(wǎng)絡拓撲的變化會使路由器重新進行“收斂”。路由器如何獲得收斂狀態(tài)是由它們的配置和路由協(xié)議所絕定的。RIP只維護一張表:路由表,它們定期與相鄰路由器交換全部路由表,如果一個路由被宣布為不可達,則該路由被標記為“possible down”,并被置為抑制狀態(tài)。過一定時間若仍未從原來的源端重新學習,該路由將被清除。OSPF、BGP除了維護一張路由表外,還維護另外的兩張表:相鄰路由器表和拓撲表或路徑表。相鄰路由器通過HELLO數(shù)據(jù)包來建立和維護相鄰路由器表。一旦正確建立了鄰居關系后,彼此交換路由表信息,此過程建立了拓撲數(shù)據(jù)庫。根據(jù)拓撲數(shù)據(jù)庫,OSPF實現(xiàn)

20、最短路徑優(yōu)先算法,并將結果放在主路由表中。理解路由表的各個構成項的功能對了解路由器的路由過程非常重要。一般路由表有以下七項:路由信息的起源目的地址管理距離度量值下一跳計時本地接口1.1.5 路由器的組成結構路由器主要由以下幾個部分組成:輸入/輸出接口部分、包轉發(fā)或交換結構部分(switching fablic)、路由計算或處理部分。輸入/輸出部分實現(xiàn)數(shù)據(jù)鏈路層的封裝和解封裝,并按一定的路由查詢算法,根據(jù)輸入數(shù)據(jù)包的目的IP地址查找到轉發(fā)的輸出端口,該功能可用專用集成電路(ASIC)實現(xiàn)純硬件查找和數(shù)據(jù)包的拆包與打包處理,也可以由專用的網(wǎng)絡處理器實現(xiàn)微碼轉發(fā)。普通路由器中該部分的功能完全由路由器

21、的中央處理器來執(zhí)行,制約了數(shù)據(jù)包的轉發(fā)速率(每秒幾千到幾萬個數(shù)據(jù)包)。高端路由器中普遍實現(xiàn)了分布式硬件處理,接口部分有強大的CPU處理器和大容量的高速緩存,使接口數(shù)據(jù)速率達到10Gbps,滿足了高速骨干網(wǎng)絡的傳輸要求。路由器的轉發(fā)機制對路由器的性能影響很大,常見的轉發(fā)方式有:進程轉發(fā)、快速轉發(fā)、優(yōu)化轉發(fā)、分布式快速轉發(fā)。進程轉發(fā)將數(shù)據(jù)包從接口緩存拷貝到處理器的緩存中進行處理,先查看路由表再查看ARP表,重新封裝數(shù)據(jù)包后將數(shù)據(jù)包拷貝到接口緩存中準備傳送出去,兩次查表和拷貝數(shù)據(jù)極大的占用CPU的處理時間,所以這是最慢的交換方式,只在低檔路由器中使用??焖俳粨Q將兩次查表的結果作了緩存,也無需拷貝數(shù)據(jù)

22、,所以CPU的處理數(shù)據(jù)包的時間縮短了。優(yōu)化交換在快速交換的基礎上略作改進,將緩存表的數(shù)據(jù)結構作了改變,用深度為4的256叉樹代替了深度為32的2叉數(shù)或哈希表(hash),CPU的查找時間進一步縮短。這兩種轉發(fā)方式在中高檔路由器中普遍加以應用。在骨干路由器中由于路由表條目的成倍增加,路由表或ARP表的任何變化都會引起大部分路由緩沖失效,以前的交換方式都不再適用,最新的交換方式是分布式快速交換,它在每個接口處理板上構建一個鏡像(mirror)路由表和MAC地址表相結合的轉發(fā)表,這仍是深度為4的256叉表,但每個節(jié)點的數(shù)據(jù)部分是指向另一個稱為鄰接表的指針,這種結構使得轉發(fā)表完全由路由表和ARP表來同

23、步更新,本身也不再需要一個老化進程,克服了其它交換方式需要不斷對緩存表進行老化的缺陷。交換結構最常見的有總線型、共享內(nèi)存型、Cross-bar??偩€型結構最簡單,但在調(diào)度共享數(shù)據(jù)傳輸通道上必須花費一定的開銷,而且總線帶寬制約了交換容量的擴張,在中檔路由器用使用這種結構。共享內(nèi)存結構中,用存儲器來緩沖數(shù)據(jù)包,數(shù)據(jù)的交換是通過指針調(diào)用實現(xiàn)的,它受限于內(nèi)存的訪問速度和存儲器的管理效率,在早期的中低檔路由器中普遍應用。Cross-bar結構相當于多條并行工作的總線,對流經(jīng)它的數(shù)據(jù)不斷進行開關切換,可見開關速度決定了交換容量,隨著各種高速器件的不斷涌現(xiàn),這種結構的交換容量普遍達到幾十Gbps以上,成為目前高端路由器和交換機的首選交換結構。路由處理部分主要是運行動態(tài)路由協(xié)議。接收和發(fā)送路由信息,計算出路由表,為數(shù)據(jù)包的轉發(fā)提供依據(jù)。各種檔次的路由器的路由表條目的大小存在很大差異,從幾千條到幾百萬條不等,因此高端路由器的路由表的構造對路由查找速度影響很大,其路由表的數(shù)據(jù)結構常采用二叉數(shù)的形式,查找與更新的速度都比較快。一般而言,路由器對一個數(shù)據(jù)包的交換要經(jīng)過一系列的復雜處理,主要有以下幾個方面:u 壓縮和解壓縮u 加密和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論