第6章 路由器
本章首先介紹路由器的性能特點和工作原理。并且提出了兩種常用的內(nèi)部網(wǎng)關(guān)協(xié)議(包括RIP和
OSPF),并著重討論了RIP。
然后討論了路由器產(chǎn)品的幾種結(jié)構(gòu),最后介紹了局域網(wǎng)系統(tǒng)中使用路由器的解決方案。
6.1 路由器的性能特點和工作原理
6.1.1 路由器的性能特點
1.路由器的性能
路由器是跨越互聯(lián)網(wǎng),把信息從源端送到目的端。
2.路由器的特點
路由器與橋接器比較:
相同點:均為網(wǎng)絡(luò)互連設(shè)備;
不同點:路由器工作在第三層,通過網(wǎng)絡(luò)地址(IP)作為轉(zhuǎn)發(fā)的依據(jù),一般耗時較 長,
具有廣播包抑制和子網(wǎng)隔離功能;
而網(wǎng)橋工作在第二層,通過物理地址(MAC)作為轉(zhuǎn)發(fā)的依據(jù),一般耗時較短;
6.1.2 路由器組網(wǎng)體系結(jié)構(gòu)
(1)一臺功能完整的路由器中,常常可以支持多種協(xié)議棧數(shù)據(jù)轉(zhuǎn)發(fā)。
(2)路由器的功能還包括數(shù)據(jù)過濾、計費、網(wǎng)絡(luò)管理等多項功能。
(3)路由器屬中間系統(tǒng)(IS),主機(jī)屬端系統(tǒng)(ES)。
6.1.3 路由器工作原理
(1)接收幀,并分解IP數(shù)據(jù)包;
(2)IP包頭合法性驗證;
?鏈路層幀長必須足夠大(20字節(jié));
?CRC驗證;
?版本號必須為4;
?IP數(shù)據(jù)包長度必須足夠大,以容納IP數(shù)據(jù)包頭。
(3)IP數(shù)據(jù)包選項處理;
?紀(jì)錄路由選項:路由器在選項數(shù)據(jù)域中寫入自己的IP地址;
?對于時間戳選項,寫入自己的IP地址及當(dāng)前以毫秒為單位的世界標(biāo)準(zhǔn)時
間計算值;
對于源路由選項,要先寫入自己的IP地址,后面還要做進(jìn)一步的處理。
(4)IP數(shù)據(jù)包本地提交和轉(zhuǎn)發(fā);
確定數(shù)據(jù)包是當(dāng)?shù)氐倪€是需轉(zhuǎn)發(fā)。
(5)轉(zhuǎn)發(fā)尋徑;
根據(jù)目的地址確定轉(zhuǎn)發(fā)路徑。
(6)轉(zhuǎn)發(fā)驗證;
主要對IP地址進(jìn)行驗證。
(7)TTL處理;
TTL——Time to live (生存時間),經(jīng)過一個路由器,TTL的值減1,如果TTL的值為0時,這個
數(shù)據(jù)包被丟棄。且路由器發(fā)給源站點一個ICME超時控制報文。
(8)數(shù)據(jù)包分段;
當(dāng)要轉(zhuǎn)發(fā)的IP數(shù)據(jù)包中長度大于要輸出的物理網(wǎng)絡(luò)的MTU(傳輸單元)時,路 由器要把這
個數(shù)據(jù)包分段。
(9)鏈路層尋址。
根據(jù)路由器的路由表選擇下一個輸出端口。
實例:在Internet上路由IP數(shù)據(jù)包的傳送
下面從一個實例說明IP數(shù)據(jù)包在Internet上如何從一臺主機(jī)到另一臺主機(jī)。
主機(jī)A是如何發(fā)送數(shù)據(jù)到主機(jī)B的。
步驟1:主機(jī)A
在網(wǎng)絡(luò)128.1.0.0上的主機(jī)A想用Telnet協(xié)議連接網(wǎng)絡(luò)128.4.0.0上的主機(jī)B.網(wǎng)絡(luò)128.1.0.0上的主
機(jī)A和主機(jī)B在不同網(wǎng)絡(luò)上,網(wǎng)絡(luò)A必須用IP路由器的服務(wù)把數(shù)據(jù)報傳輸給主機(jī)B.根據(jù)初始設(shè)置,主機(jī)
A知道它的默認(rèn)網(wǎng)關(guān)是路由器A,其IP地址為128.1.0.2.
(1)主機(jī)A必須將所有的數(shù)據(jù)包通過路由器A送往主機(jī)B.
(2)如果主機(jī)A的ARP緩沖中沒有路由器A的MAC地址,它發(fā)出ARP請求,并等待路由器A響應(yīng).
(3)當(dāng)?shù)刂酚成浯嬖诤?主機(jī)A將送給主機(jī)B的數(shù)據(jù)包封裝到目的MAC地址為080002001231(路由器A
的端口1),源MAC地址為080002001111(主機(jī)A),類型域為0800h(IP)的以太網(wǎng)中.
(4)注意:在傳輸過程中,IP地址一直不變,而MAC地址一直在變化。
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001231源MAC080002001111類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.1.0.0上的數(shù)據(jù)包
步驟2:網(wǎng)絡(luò)128.2.0.0上的數(shù)據(jù)包
當(dāng)接收到來自主機(jī)A的數(shù)據(jù)包時,路由器A刪除以太網(wǎng)報頭,檢查類型域,然后將數(shù)據(jù)包送給IP模塊
(軟件進(jìn)程)。IP模塊檢查IP報頭中的目的網(wǎng)絡(luò)號并且在其路由表中定位于128.4.0.0的路由上。
路由器A的路由表
網(wǎng)絡(luò)號下一個跳步路由器跳步
128.1.0.0直接端口0
128.2.0.0直接端口0
128.3.0.0128.2.0.31
128.4.0.0128.2.0.32
由上表可知,路由器A知道目標(biāo)網(wǎng)絡(luò)有兩個跳步的距離,它必須將數(shù)據(jù)包裝發(fā)給路由器B,IP地址為
128.2.0.3.
如果路由器A的ARP緩存中沒有路由器B的硬件地址,它會發(fā)出一個ARP請求并且等待,路由器B響應(yīng).
得到地址后,路由器A將數(shù)據(jù)包封裝在以太網(wǎng)幀中,目的MAC地址為080002001233(路由器B的端口
1),源MAC地址為080002001232(路由器A的端口2),類型域為0800(IP),然后路由器A幀發(fā)送到端
口2。
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001233源MAC080002001232類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.2.0.0上的數(shù)據(jù)包
步驟3: 網(wǎng)絡(luò)128.3.0.0上的數(shù)據(jù)包
當(dāng)接收到來自主機(jī)A的數(shù)據(jù)包時,路由器B刪除以太網(wǎng)報頭,檢查類型域,然后將數(shù)據(jù)包送給IP模塊
(軟件進(jìn)程)。IP模塊檢查IP報頭中的目的網(wǎng)絡(luò)號并且在其路由表中定位于128.4.0.0的路由上。
路由器B的路由表
網(wǎng)絡(luò)號下一個跳步路由器跳步
128.1.0.0128.2.0.21
128.2.0.0直接端口0
128.3.0.0直接端口0
128.4.0.0128.3.0.31
由上表可知,路由器B知道目標(biāo)網(wǎng)絡(luò)有1個跳步的距離,它必須將數(shù)據(jù)包轉(zhuǎn)發(fā)給路由器C,IP地址為
128.3.0.3。
如果路由器B的ARP緩存中沒有路由器C的硬件地址,它會發(fā)出一個ARP請求并且等待路由器C響應(yīng)。
得到地址后,路由器B將數(shù)據(jù)包封裝在以太網(wǎng)幀中,目的MAC地址為080002001234(路由器B的端口
1),源MAC地址為080002001232(路由器B的端口2),類型域為0800(IP),然后路由器B將幀發(fā)送到端口
2.
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001235源MAC080002001234類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.3.0.0上的數(shù)據(jù)包
本章首先介紹路由器的性能特點和工作原理。并且提出了兩種常用的內(nèi)部網(wǎng)關(guān)協(xié)議(包括RIP和
OSPF),并著重討論了RIP。
然后討論了路由器產(chǎn)品的幾種結(jié)構(gòu),最后介紹了局域網(wǎng)系統(tǒng)中使用路由器的解決方案。
6.1 路由器的性能特點和工作原理
6.1.1 路由器的性能特點
1.路由器的性能
路由器是跨越互聯(lián)網(wǎng),把信息從源端送到目的端。
2.路由器的特點
路由器與橋接器比較:
相同點:均為網(wǎng)絡(luò)互連設(shè)備;
不同點:路由器工作在第三層,通過網(wǎng)絡(luò)地址(IP)作為轉(zhuǎn)發(fā)的依據(jù),一般耗時較 長,
具有廣播包抑制和子網(wǎng)隔離功能;
而網(wǎng)橋工作在第二層,通過物理地址(MAC)作為轉(zhuǎn)發(fā)的依據(jù),一般耗時較短;
6.1.2 路由器組網(wǎng)體系結(jié)構(gòu)
(1)一臺功能完整的路由器中,常常可以支持多種協(xié)議棧數(shù)據(jù)轉(zhuǎn)發(fā)。
(2)路由器的功能還包括數(shù)據(jù)過濾、計費、網(wǎng)絡(luò)管理等多項功能。
(3)路由器屬中間系統(tǒng)(IS),主機(jī)屬端系統(tǒng)(ES)。
6.1.3 路由器工作原理
(1)接收幀,并分解IP數(shù)據(jù)包;
(2)IP包頭合法性驗證;
?鏈路層幀長必須足夠大(20字節(jié));
?CRC驗證;
?版本號必須為4;
?IP數(shù)據(jù)包長度必須足夠大,以容納IP數(shù)據(jù)包頭。
(3)IP數(shù)據(jù)包選項處理;
?紀(jì)錄路由選項:路由器在選項數(shù)據(jù)域中寫入自己的IP地址;
?對于時間戳選項,寫入自己的IP地址及當(dāng)前以毫秒為單位的世界標(biāo)準(zhǔn)時
間計算值;
對于源路由選項,要先寫入自己的IP地址,后面還要做進(jìn)一步的處理。
(4)IP數(shù)據(jù)包本地提交和轉(zhuǎn)發(fā);
確定數(shù)據(jù)包是當(dāng)?shù)氐倪€是需轉(zhuǎn)發(fā)。
(5)轉(zhuǎn)發(fā)尋徑;
根據(jù)目的地址確定轉(zhuǎn)發(fā)路徑。
(6)轉(zhuǎn)發(fā)驗證;
主要對IP地址進(jìn)行驗證。
(7)TTL處理;
TTL——Time to live (生存時間),經(jīng)過一個路由器,TTL的值減1,如果TTL的值為0時,這個
數(shù)據(jù)包被丟棄。且路由器發(fā)給源站點一個ICME超時控制報文。
(8)數(shù)據(jù)包分段;
當(dāng)要轉(zhuǎn)發(fā)的IP數(shù)據(jù)包中長度大于要輸出的物理網(wǎng)絡(luò)的MTU(傳輸單元)時,路 由器要把這
個數(shù)據(jù)包分段。
(9)鏈路層尋址。
根據(jù)路由器的路由表選擇下一個輸出端口。
實例:在Internet上路由IP數(shù)據(jù)包的傳送
下面從一個實例說明IP數(shù)據(jù)包在Internet上如何從一臺主機(jī)到另一臺主機(jī)。
主機(jī)A是如何發(fā)送數(shù)據(jù)到主機(jī)B的。
步驟1:主機(jī)A
在網(wǎng)絡(luò)128.1.0.0上的主機(jī)A想用Telnet協(xié)議連接網(wǎng)絡(luò)128.4.0.0上的主機(jī)B.網(wǎng)絡(luò)128.1.0.0上的主
機(jī)A和主機(jī)B在不同網(wǎng)絡(luò)上,網(wǎng)絡(luò)A必須用IP路由器的服務(wù)把數(shù)據(jù)報傳輸給主機(jī)B.根據(jù)初始設(shè)置,主機(jī)
A知道它的默認(rèn)網(wǎng)關(guān)是路由器A,其IP地址為128.1.0.2.
(1)主機(jī)A必須將所有的數(shù)據(jù)包通過路由器A送往主機(jī)B.
(2)如果主機(jī)A的ARP緩沖中沒有路由器A的MAC地址,它發(fā)出ARP請求,并等待路由器A響應(yīng).
(3)當(dāng)?shù)刂酚成浯嬖诤?主機(jī)A將送給主機(jī)B的數(shù)據(jù)包封裝到目的MAC地址為080002001231(路由器A
的端口1),源MAC地址為080002001111(主機(jī)A),類型域為0800h(IP)的以太網(wǎng)中.
(4)注意:在傳輸過程中,IP地址一直不變,而MAC地址一直在變化。
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001231源MAC080002001111類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.1.0.0上的數(shù)據(jù)包
步驟2:網(wǎng)絡(luò)128.2.0.0上的數(shù)據(jù)包
當(dāng)接收到來自主機(jī)A的數(shù)據(jù)包時,路由器A刪除以太網(wǎng)報頭,檢查類型域,然后將數(shù)據(jù)包送給IP模塊
(軟件進(jìn)程)。IP模塊檢查IP報頭中的目的網(wǎng)絡(luò)號并且在其路由表中定位于128.4.0.0的路由上。
路由器A的路由表
網(wǎng)絡(luò)號下一個跳步路由器跳步
128.1.0.0直接端口0
128.2.0.0直接端口0
128.3.0.0128.2.0.31
128.4.0.0128.2.0.32
由上表可知,路由器A知道目標(biāo)網(wǎng)絡(luò)有兩個跳步的距離,它必須將數(shù)據(jù)包裝發(fā)給路由器B,IP地址為
128.2.0.3.
如果路由器A的ARP緩存中沒有路由器B的硬件地址,它會發(fā)出一個ARP請求并且等待,路由器B響應(yīng).
得到地址后,路由器A將數(shù)據(jù)包封裝在以太網(wǎng)幀中,目的MAC地址為080002001233(路由器B的端口
1),源MAC地址為080002001232(路由器A的端口2),類型域為0800(IP),然后路由器A幀發(fā)送到端
口2。
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001233源MAC080002001232類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.2.0.0上的數(shù)據(jù)包
步驟3: 網(wǎng)絡(luò)128.3.0.0上的數(shù)據(jù)包
當(dāng)接收到來自主機(jī)A的數(shù)據(jù)包時,路由器B刪除以太網(wǎng)報頭,檢查類型域,然后將數(shù)據(jù)包送給IP模塊
(軟件進(jìn)程)。IP模塊檢查IP報頭中的目的網(wǎng)絡(luò)號并且在其路由表中定位于128.4.0.0的路由上。
路由器B的路由表
網(wǎng)絡(luò)號下一個跳步路由器跳步
128.1.0.0128.2.0.21
128.2.0.0直接端口0
128.3.0.0直接端口0
128.4.0.0128.3.0.31
由上表可知,路由器B知道目標(biāo)網(wǎng)絡(luò)有1個跳步的距離,它必須將數(shù)據(jù)包轉(zhuǎn)發(fā)給路由器C,IP地址為
128.3.0.3。
如果路由器B的ARP緩存中沒有路由器C的硬件地址,它會發(fā)出一個ARP請求并且等待路由器C響應(yīng)。
得到地址后,路由器B將數(shù)據(jù)包封裝在以太網(wǎng)幀中,目的MAC地址為080002001234(路由器B的端口
1),源MAC地址為080002001232(路由器B的端口2),類型域為0800(IP),然后路由器B將幀發(fā)送到端口
2.
目的主機(jī)128.4.0.1源主機(jī)128.1.0.1IP數(shù)據(jù)
以太網(wǎng)數(shù)據(jù)
目的MAC080002001235源MAC080002001234類型0800以太網(wǎng)數(shù)據(jù)CRC
網(wǎng)絡(luò)128.3.0.0上的數(shù)據(jù)包

