劉 潔,何 倩
LIU Jie,HE Qian
(唐山學院,唐山 063020)
網絡層是OSI參考模型中的第三層,介于傳輸層和數據鏈路層之間,它在數據鏈路層提供的兩個相鄰端點之間的數據幀的傳送功能上,進一步管理網絡中的數據通信,將數據設法從源端經過若直干個中間節點傳送到目的端,從而向傳輸層提供最基本的端到端的數據傳送服務。簡單的說就是網絡層提供兩臺主機之間的連接和路徑選擇。網絡層包括以下協議:IP(Internet協議),ICMP(Internet控制信息協議),ARP(地址解析協議),RARP(逆向地址解析協議),BOOTP(自舉協議),DHCP(動態主機配置協議),路由協議和路由選擇協議。本文主要介紹ARP協議,路由協議和路由選擇協議的應用和原理。
在網絡中是以“幀”作為實際傳輸的,數據傳輸是有目標性的,所以“幀”里面包含著目標主機的MAC地址,在以太網中,兩太主機之間如果要進行直接通信,是要先確定彼此的MAC地址的,這個MAC地址就是通過ARP協議獲得的,在通信前主機將目標的IP轉換成目標主機的MAC地址,這個過程就叫做“地址解析”。每個IP地址都對應一個目標設備的MAC地址,而MAC地址是唯一的,ARP協議就是通過IP地址來確認目標的MAC地址,這樣可以保證通信的暢通進行。如圖1所示。

圖1 通過IP地址來確認目標的MAC地址
根據上圖我們來說明一下ARP的解析過程是什么樣的,如圖1源主機IP地址為:197.15.22.33,目標主機IP地址為:197.15.22.126。程序產生數據包,然后把數據包提供給網絡驅動程序。假設源主機不能在MAC表中確定目標IP地址所對應的MAC地址。那么源主機就會啟動一個ARP請求過程。源主機生成一個ARP分組,并把該分組向子網內部所有設備發送,為了確保子網內所有的主機都能看見,源主機會使用一個廣播形式為FFFF-FF-FF-FF-FF-的MAC地址。由于ARP請求分組廣播模式發送,所以子網內的所有設備都能看到和接受這些分組信息,然后把信息交給網絡層進行處理。經過處理后,如果一臺主機的IP地址于ARP請求中的目標IP地址相吻合的話,該主機就會想源主機發送自己的MAC地址來響應。這個過程叫做ARP的應答。
源主機在收到回應后,因為自己的ARP表里沒有目標主機的MAC地址,所以源主機會從目標主機的硬件地址字段中提取出MAC地址,然后更新。這樣就可以給數據正確的指定目標MAC地址和IP地址拉。
上面講述了在一個子網中ARP是怎么解析的過程,那么在不同的網絡上,主機之間的通信,ARP是怎么做的呢。
在不同網絡中進行通信有三種形式:第一種缺省網關,第二中是設備會監聽路由器的通告。第三種是代理ARP。
代理ARP是ARP協議的一個變種,一臺中間設備代表端節點想發送請求的主機發送ARP響應,運行代理ARP的路由器會捕捉到這些ARP分組,他們使用它們自己的MAC地址響應那些不在本地子網地址范圍內的請求。
如果數據包的目的IP地址不在本子網內,路由器就用直接連接到主機所在網絡的接口MAC地址進行應答,這就是代理ARP的工作原理。
ARP只是在本地網絡上使用,當一臺路由器不知道下一跳路由器的MAC地址時,源路由器就會發布一個ARP請求。與源路由器處于同一個網段的路由器就會接受該ARP的請求,而且這臺路由器會給發布該ARP請求的源路由器給出一個應答,該應答包括了應答路由器的MAC地址。
路由器收到數據時,會剝去在封裝中使用的數據鏈路層信息,然后將數據傳送到網絡層,在這一層路由器會檢查目標設備的IP地址,它會把目標設備的IP地址和路由選擇表中所包含的信息進行比較,如果路由器定位到了映射的目標設備IP地址和MAC地址,并且知道了連接到該網絡的端口,那么它就會用新的MAC地址信息對數據進行封裝,然后轉發到正確的目標設備上。如果該路由器不能將最終目標設備的IP地址映射為MAC地址,它要么發送一個ARP請求,要么去定位另外一臺路由器的MAC地址,然后將該數據轉發到那臺路由器上。如果不存在一臺缺省路由器,而且沒有ARP應答,那么該分組就會被丟棄。
在實際的應用和學習中,經常把路由協議和路由選擇協議混淆,下面就先說說什么是路由協議和路由選擇協議,他們的區別是什么。
1)路由協議:路由協議在網絡層地址中提供足夠的信息,使得一個分組能夠基于該尋址方案從一臺主機轉發到另一臺主機。它規定了分組內部字段的格式以及使用,使得分組能實現端到端的傳遞,網際協議(IP)就是路由協議。
2)路由選擇協議:路由選擇協議通過提供共享路由選擇信息的機制來支持路由協議的運行。路由選擇信息在路由器之間傳達,路由選擇協議使得路由器能與其他的路由器進行通信并更新和維護自己的路由表。路由信息協議,內部網觀路由協議,增強內部網關路由協議以及開放式最短路徑優先,都是路由選擇協議。
簡單的說路由協議就是確定要達到的路徑,路由選擇協議就是來選擇路徑的。
7.1 EIGRP
首先我們先了解下EIGRP的前身IGRP(內部網關路由協議),它是一種是Cisco公司20世紀80年代開發的,是一種動態的、長跨度(最大可支持255跳)的路由協議,使用度量(向量)來確定到達一個網絡的最佳路由,由延時、帶寬、可靠性和負載等來計算最優路由,它在同個自治系統內具有高跨度,適合復雜的網絡。
隨即現代化信息產業的發展和壯大,網絡規模也不斷擴大,這樣IGRP就開始變的不能在適應這么大的網絡規模,為了適應時代發展Cisco公司又開發了增強的IGRP,即EIGRP。EIGRP具有如下特點:
1)快速收斂。EIGRP使用了一個更新的算法叫散播更新算法,它的原理是這樣的,這里引用了兩個概念,最小開銷和次最小開銷,當最小開銷的路徑不能適應網絡或者不能使用的時候,就會馬上切換到次最小開銷的路徑上,也就是說快速收斂。這個過程是通過在路由表中備份路由而實現的。
2)觸發式。在原來的RIP和IGRP協議中,為了保證路由表的隨時更新和網絡通暢,他們會間隔一定的時間就進行一次路由信息的交換,這樣大大浪費的帶寬,做了無用功。EIGRP只是當網絡中路由狀態發生了變化或者度量發生改變的時候才會于鄰接EIGRP路由器發送路由更新。所以EIGRP要比IP和IGRP節省了很多帶寬。
3)增量更新。EIGRP使用了增量更新,也就是說當路由進行更新時,它只給需要知道它變更的路由器發送狀態改變信息,所以節省了更多的路由器CPU。
7.2 OSPF
OSPF(開放式最短路徑優先)協議是一種為IP網絡開發的內部網關路由選擇協議,由IETF開發并推薦使用。OSPF協議由三個子協議組成:Hello協議、交換協議和擴散協議。
OSPF協議具有以下優點:OSPF將整個網絡表現在自己的連通狀態數據庫中,這樣做不能很麻煩的重復計算最小開銷和次最小開銷,大大的減低了收斂的時間。OSPF在大型異構網絡中的表現也為非凡的,它的出現讓異構網絡可以通過一種協議,從而進行數據交換。而且使用OSPF在這樣的大型異構網絡中不會出現錯誤的路由信息。當我們有多條路徑去往相同的目的主機的時候OSPT也是可以支持和提供服務的。OSPT區別不同的外部路由是通過路由標簽來進行的。OSPT提供的網絡路由是安全的,表現在它使用路由驗證,只有雙方路由起都通過了驗證之后才能進行數據交換。它這種驗證方式也很靈活,可以根據不同的區域來定義不同的驗證方式。OSPF是一個非族類路由協議,路由信息不受跳數的限制,減少了因分級路由帶來的子網分離問題。
7.3 RIP
在同一個區域內的路由器之間傳送路由時,最常用的是路由選擇協議(RIP)。這個內部網關協議可以計算到達目標主機的距離,使用RIP的路由器會定期的更新路由選擇表,通常是每30秒一次,因此產生的網絡流量會消耗很多帶寬。如果在網絡比較簡單的情況下,RIP使用的帶寬比鏈路狀態的協議少的多,所以RIP還有有一定的價值的。
RIP使用距離向量的概念來選擇發送數據的路徑,當數據通過一臺路由器,從而通過一個網絡號的時候,就認為已經通過了一跳。一條擁有4跳的路徑表明該數據為到達網絡上的最終目標主機,必須要經過4臺路由器才能到達。
如果有若干個路徑可以達到目標主機,使用RIP的路由器會選擇從源主機到目標主機跳數最少的路徑。但是由于RIP只考慮使用跳數在少的來選擇最佳路徑,所以不能保證被選擇的路徑是最快的。其他的路由協議會使用包括跳數在內的很多計算值來確定最佳路徑的。但是RIP仍然很流行,并應用廣泛。因為RIP是最早研究出來的路由協議之一,這就意味著對它的理解比較深刻,而且它比鏈路狀態路由選擇協議要更簡單。
使用RIP協議有一個很嚴重的問題,就是目的地由于距離太遠而沒有辦法到達,因為RIP要求一條路徑最多有15跳,如果目的地超過了15個網絡路由器的挑,那么就認為不可到達。
本問通過介紹網絡層中的ARP協議,路由協議,路由選擇協議,以及對比了幾種常見的路由協議。來說明了在網絡學習中,對于協議的掌握是很重要的,更重要的是一些基礎和概念。在眾多的協議中不能混淆。
[1]雷震甲.網絡工程師教程[M].北京:清華大學出版社,2006.
[2]陳應明.計算機網絡與應用[M].冶金工業出版社,2005.
[3]謝希仁.計算機網絡(第二版)[M].北京:電子工業出版社,2001.
[4]林全新,周圍.計算機網絡工程[M].人民郵電出版社,2003.
[5]張恒杰,曹雋.計算機網絡工程[M].大連理工大學出版社,2006.