計算機網路知識點——7.網路層之路由協議
有類網中的IP路由選擇:
如果目的網路為直連網路,則下一跳(next hop)為空。路由表(routing table)有時也被稱為轉發表(forwarding table)。
有類網的路由選擇演算法:
利用資料包中的目的地址得到目的網路號,然後查詢路由表:
- 如果查詢的結果為直連網,則直接把資料報從查到的介面轉發到目的主機;
- 否則,如果查詢得到下一跳(路由器),則把資料包轉發給下一跳;
- 如果沒有查到任何匹配項,則把資料包轉發給預設路由器;
- 如果沒有設定預設路由,則丟棄該資料報。
例:如果R60依次收到目的地址為10.1.1.20、166.132.5.5、202.118.201.227、
195.42.22.1、211.1.1.1的IP分組,R60轉發它們的下一跳分別是什麼?
當目的地址為10.1.1.20時,查詢目的網路號為10,發往R12;
當目的地址為166.132.5.5時,查詢目的網路號為166.132,查詢到下一跳,為R34,則從介面2轉發到下一跳;
當目的地址為202.118.201.227時,查詢到目的網路號為202.118.201,下一跳為空,所以為直連網路,直接將資料轉發到目的主機;
當目的地址為195.42.22.1時,查詢目的地址不存在195.42.22,發往R5;
當目的地址為211.1.1.1時,沒有查詢到任何匹配項,所以將資料包轉發到預設路由R5.
無類網路的IP路由選擇:
匹配方法:目的IP地址and子網掩碼==子網號,即是否等於子網號
最長匹配原則(The longest match rule)
QA: how to forward packets with the following dest addr:
199.1.19.114212.116.5.131
66.5.10.100
212.116.5.221
當目的地址為199.1.19.114時,與第二個子網掩碼相與時,得到子網號為199.1.19.0,所以從介面2傳到相應直連網主機上;
當目的地址為212.116.5.131時,最後8位為:10000011,與子網掩碼相與子網號為212.116.5.128,沒法成為192,所以從介面2轉到下一跳R37;
當目的地址為66.5.10.100時,只能轉發到預設路由R18上;
當目的地址為212.116.5.221時,最後8位為:11011101,與子網掩碼相與,第一個和第三個均符合,但是第三個子網掩碼較長,根據最長匹配原則,從2介面轉到R33。
問題:下圖為路由器R1的路由表 :
如果R1依次收到目的地址為192.4.153.17、128.96.39.10、128.96.40.12、128.96.40.151和192.4.153.90的IP分組,R1轉發它們的下一跳分別是什麼?
解析:
192.4.153.17下一跳為:128.96.39.212;
128.96.39.10,對於路由表中第一個和第二個,可知子網號分別為:128.96.39.0和128.96.39.128,目的地址128.96.39.10與子網掩碼相與後得到子網號為128.96.39.0,所以與路由表第一個相匹配,下一跳為:128.96.39.1;
128.96.40.12,與子網掩碼相與後得到子網號為128.96.40.0,所以下一跳為199.1.3.1;
128.96.40.151,128.96.40.10010111與第三項子網掩碼255.255.255.10000000相與後得到子網號為128.96.40.128,所以子網號128.96.40.0與之不匹配,找不到匹配項,轉發到預設路由,下一跳為128.96.39.198;
192.4.153.01011010,與255.255.255.11000000相與之後得到子網號為192.4.153.64,不匹配,所以發往128.96.39.198;
路由表:
route print
如果多個條目匹配且其子網掩碼長度相等,則會選擇躍點數最小的路由。如果躍點數相同,則選擇所有路線。(躍點數為需要經過的路由數目)
例題:下面的路由表為一臺主機的路由表,該主機有一個有線網絡卡(BroadCom)和一個無線網絡卡(Intel),介面編號分別為0x10003和0x10004。無線介面為活動介面,其IP地址、子網掩碼和預設閘道器分別為192.168.2.101、255.255.255.0、192.168.2.1。
--下一跳(Gateway):直連網(介面IP地址)或環回網路(127.0.0.1,即自己)。
--介面(interface): 發往某個介面(介面IP地址)或環回介面(127.0.0.1)
--最長匹配原則:多項匹配且子網掩碼一樣長時,選擇metric最小的,
如果metric也一樣,則同時轉發到這些網路
當要傳送的IP資料報的目的地址分別匹配路由表的第1~8項時,其含義為 :
可選項:
- 在無線網路中進行多播
- 發給無線網路中的主機
- 在有線網路中進行廣播
- 在無線網路中進行(遠端)廣播
- 在無線網路中進行廣播
- 發給預設閘道器
- 發給環回網路(自己)
含義分別為:
- 發給預設閘道器
- 發給環回網路(自己)
- 發給無線網路中的主機
- 發給環回網路(自己)
- 在無線網路中進行廣播(廣播就是主機位全為1)
- 在無線網路中進行多播(224為多播地址,沒有主機位)
- 在無線網路中進行廣播
- 在有線網路中進行廣播
路由協議:
路由器在收到一個數據報之後用其目的地址查詢路由表(routing tables)得到下一跳,再把該資料報轉發給下一跳。
路由表可以由管理員手工建立,也可以由路由協議(routing protocols)自動建立。所建立的路由分別稱為靜態路由和動態路由。預設路由和直連路由都是靜態路由。
問題:當路由器為一個IP分組查詢路由表,對於以下幾種情況,路由器會怎麼做?從可選項中選擇最合適的(填字母)
(1)沒有任何匹配項 (2)有匹配項,下一跳介面為乙太網 (3)有匹配項,下一跳介面為PPP (4)有匹配項,沒有下一跳,匹配項的介面為乙太網 (5)有匹配項,沒有下一跳,匹配項的介面為PPP
可選項:
A.用IP分組的目的地址查詢MAC地址 (ARP協議)
B.用下一跳的地址查詢MAC地址 (ARP協議)
C.直接把IP分組封裝成幀傳送出去
D.用IP分組的源地址查詢MAC地址 (ARP協議)
E.直接把IP分組傳送出去
F.丟棄該分組
答案:FBCAC
自治系統:
- 整個因特網實際上有很多機構管理,每個機構管理自己的網路。它們有權決定採用什麼協議和網路控制策略。這樣在同一個機構管理下的網路稱為一個自治系統(autonomous systems,AS)。也就是說,因特網實際上是由很多自治系統構成的。
- 用於在AS內(Intra-AS)建立動態路由的路由協議稱為內部閘道器協議(Interior Gateway Protocols,IGP)。例如,RIP協議和OSPF協議。
- 用於在AS之間(inter-AS)建立動態路由的路由協議稱為外部閘道器協議(Exterior Gateway Protocol,EGP)。例如,EGP協議,BGP協議。
- 在一個AS中可以使用多個IGP協議。使用同一個IGP協議的連通區域稱為一個路由選擇域(routing domain)。
- 每個中轉AS(transit AS)都需要由IANA分配一個AS號,而末端AS(stub AS)不需要AS號。連入多箇中轉AS的末端AS稱為多穴AS(multi-homed AS)。
問題:
(1)RIP協議屬於()
(2)OSPF協議屬於()
(3)BGP協議屬於()
(4)路由表中手工配置的路由項稱為()
(5)採用路由協議自動得到的路由稱為()
(6)直連網的路由和預設路由都屬於()
(7)路由協議所用的演算法稱為()演算法
可選項:路由,動態路由,靜態路由,IGP協議,EGP協議
答案:IGP協議,IGP協議,EGP協議,靜態路由,動態路由,靜態路由,路由。
問:什麼是自治系統(Autonomous System)?
A.a kind of automobile system
B.a kind of organization
C.a kind of web server
D.a kind of computer system
E.a kind of network
答案:E
問:以下哪個協議是外部閘道器協議(Exterior Gateway Protocol)?
A.RIP
B.OSPF
C.BGP
D.EIGRP
答:C
路由演算法(routing algorithm):
找路由間最短路徑的演算法。如link state和distance vecotr,之後的部落格會繼續介紹。