網絡知識掃盲之鏈路層


說明:為了方便學習,綜合了OSI和TCP/IP的優點,得出“五層協議”圖

網絡基礎 <wbr>計算機網絡基礎之鏈路層

 

數據鏈路和幀

鏈路(物理鏈路):從一個結點到相鄰結點的一段物理線路,而中間沒有任何其他的交換結點。

數據鏈路(邏輯鏈路):把實現通信協議的硬件和軟件加到鏈路上,就構成了數據鏈路。現在最常用的方法是網絡適配器來實現這些協議和軟件。一般的適配器都包括了數據鏈路層和物理層這兩層的功能。

幀:數據鏈路層的協議數據單元。

數據鏈路層把網絡層交下來的數據構成幀發送到鏈路上,以及把接收到的幀中的數據去除並交給網絡層。在因特網中,網絡層協議數據單元就是IP數據報(簡稱為數據報、分組、包)

網絡基礎 <wbr>計算機網絡基礎之鏈路層
(a) 簡化模型

如上圖,點對點信道的數據鏈路層在進行通信時的主要步驟如下:

(1) 結點A的數據鏈路層把網絡層交下來的IP數據報添加到首部和尾部封裝成幀。

(2) 結點A把封裝好的幀發送給結點B的數據鏈路層。

(3) 若結點B的數據鏈路層收到的幀無差錯,則從收到的幀中提取出IP數據報上交給上面的網絡層,否則就丟棄這個幀。

 

適配器的作用

計算機與外界局域網的連接是通過通信適配器。適配器本來是在主機箱內插入的一塊網絡接口板(或者是在筆記本電腦中插入的一塊PCMCIA卡),這種接口板又稱為網絡接口卡NIC(Network Interface Card)或簡稱為“網卡”,由於較新的計算機主板上已經嵌入了這種適配器,不使用單獨的網卡,因此使用適配器這個術語會更准確。在適配器上裝有處理器和存儲器(包括RAM和ROM)。適配器和局域網之間的通信是通過電纜或雙絞線以串行傳輸方式進行的,而適配器和計算機之間的通信則是通過計算機主板上的I/O總線以並行傳輸方式進行的。因此,適配器的一個重要功能就是要進行數據串行和並行傳輸的轉換。因為網絡的數據率和計算機總線上的數據率並不相同,因此在適配器中必須裝有對數據進行緩存的存儲芯片。若在主板上插入適配器時,還必須把管理該適配器的設備驅動程序安裝在計算機的操作系統中。這個驅動程序以后就會告訴適配器,應當從存儲器的什么位置把多長的數據塊發送到局域網,或者應該在存儲器的什么位置上把局域網傳送過來的數據塊存儲下來。適配器還要能夠實現以太網協議。

 

適配器接收和發送各種幀時不使用計算機的CPU。這時CPU可以處理其他任務。當適配器收到有差錯的幀時,就把這個幀丟棄而不必通知計算機。當適配器收到正確的幀時,它就使用中斷來通知計算機並交付給協議棧中的網絡層。當計算機要發送IP數據報時,就由協議棧把IP數據報向下交給適配器,組裝成幀后,發送到局域網。下圖表示適配器的作用。注意:計算機的硬件地址在適配器的ROM中,而計算機的軟件地址---IP地址,則在計算機的存儲器中。

網絡基礎 <wbr>計算機網絡基礎之鏈路層
           計算機通過適配器與局域網進行通信

 

在數據鏈路層擴展以太網

1.  網橋的內部結構

下圖給了網橋的內部結構要點。最簡單的網橋有兩個接口。兩個以太網通過網橋連接起來后,就成為一個覆蓋范圍更大的以太網,而原來的每個以太網就可以稱為一個網段。

網橋依賴轉發表來轉發幀。轉發表也叫做轉發數據庫或路由目錄。如下圖,若網橋從接口1收到A發給E的幀,則在查找轉發表后,把這個幀送到接口2轉發到另一個網段。使E能夠收到這個幀。若網橋從接口1收到A發送給B的幀,就丟棄這個幀,因為轉發表表指出,轉發給B的幀應當從接口1轉發出去,而現在正是從接口1收到這個幀,這說明B和A處在同一個網段上,B能夠直接收到這個幀而不需要借助於網橋的轉發。

網絡基礎 <wbr>計算機網絡基礎之鏈路層

網橋是通過內部的接口管理軟件和網橋協議實體來完成上述操作的。

注:網橋的接口也稱為端口

 

2.  網橋的優缺點

網橋的優點:

1) 過濾通信量,增大吞吐量。網橋工作在鏈路層的MAC子層。可以使以太網各網段成為隔離開的碰撞域。如果把網橋換成工作在物理層的轉發器,那就沒這種過濾通信量的功能。如下,網橋B1和B2把三個網段連接成一個以太網。但它具有三個隔離開的碰撞域。

網絡基礎 <wbr>計算機網絡基礎之鏈路層
網橋使各網段成為隔離開的碰撞域

可以看到,不同網段上的通信互不干擾。例如,A和B正在通信,但其他網段上的C和D以及E和F也都可以同時通信。但如果A要和另一個斷網上的C通信,必須經過網橋B1的轉發,那么這兩個網段上就不能再有其他的站點進行通信(但這時E和F仍然可以通信)。因此,若每一個網段的數據率都是10Mb/s,那么三個網段合起來的最大吞吐量就變成30Mb/s。如果把兩個網橋換成集線器或轉發器,那么整個網絡仍然是一個碰撞域,當A和B通信時,所有其他站點都不能夠通信。整個碰撞域的最大吞吐量仍然為10Mb/s

注:

兩個網橋之間也可使用一段點到點鏈路

網絡基礎 <wbr>計算機網絡基礎之鏈路層

 

注意,網橋在轉發幀時不改變幀的源地址

 

2) 擴大了物理范圍,因而也增加了整個以太網工作站的最大數目。

3) 提高了可靠性。當網絡出現故障時,一般只影響個別網段。

4) 可互連不同物理層、不同MAC子層和不同速率(如10Mb/s和100Mb/s)的以太網

 

網橋的缺點:

1) 由於網橋對接收的幀要先存儲然后查找轉發表,然后才轉發,而轉發之前,還必須執行CSMA/CD算法,增加了延時

2) 在MAC子層並沒流量控制功能。當網絡上的負荷很重時,網橋中的緩存的存儲空間可能不夠而發生溢出,以致產生幀丟失的現象。

3) 網橋只適合於用戶數不太多(不超過幾百個)和通信量不太大的以太網,否則可能因傳播過多的廣播信息而產生我拿過來擁塞。

 

3.  透明網橋

目前使用最多的網橋,一種即插即用設備,即只要把網橋介入局域網,不用人工配置轉發表網橋就能工作。

 

網橋自學習原理

若從某個站A發出的幀從接口x進入了某網橋,那么從這個接口出發沿相反方向一定可以把一個幀傳送到A。所以網橋只要每收到一個幀,就記下其源地址和進入網橋的接口,作為轉發表中的一個項目。請注意,轉發表中並沒有“源地址”這一欄,而只有“地址”這一欄。在建立轉發表時是把幀首部中的源地址寫在“地址”這一欄的下面。在轉發幀時,則是根據收到的幀首部中的目的地址來轉發的。這時就把“地址”欄下面已經記錄的原地址當作目的地址,而把記下的進入接口當作轉發接口。以下圖為例,說明轉發表的建立過程。當首先我們要在強調一下網橋和集線器的一個重要區別:網橋是按存儲轉發方式工作的,一定是把整個幀收下來(但集線器或轉發器是逐比特轉發)在進行處理,而不管其目的地址是什么。因此網橋丟棄CRC檢驗有錯誤的幀以及幀長過短和過長的無效幀,然后按照以下步驟進行處理:

網絡基礎 <wbr>計算機網絡基礎之鏈路層

網橋的自學習和轉發過程

1) A向B發送幀。連接在同一個局域網上的站點B和網橋B1都能接收到A發送幀。網橋B1按源地址A查找轉發表。B1的轉發表中沒有A的地址,於是把地址A和收到此幀的接口1寫入轉發表中。這就表示,以后若收到要發給A的幀,就應當從這個接口1轉發出去。接着,再按目的地址B查找轉發表。轉發表中沒有B的地址,於是就通過除收到此幀的接口1以外的所有接口(現在就是接口2)轉發該幀。網橋B2從其接口1收到這個轉發過來的幀。

網橋B2按照同樣方式處理收到的幀。B2的轉發表中沒有A的地址,因此在轉發表中寫入地址A和接口1.B2的轉發表中沒有B的地址,因此B2通過接收此幀的接口1以外的所有接口(現在就是接口2)轉發該幀。

請注意,現在兩個轉發表已各有一個項目了。讀者可能問,B本來就可以直接收到A發送的幀,為什么還要讓網橋B1和網橋B2盲目的轉發這個幀呢?答案是:這兩個網橋當時並不知道網絡拓撲,因此要通過自學習過程(盲目轉發的過程)才能逐步弄清除所有的網絡拓撲,建立起自己的轉發表

2) F向C發送幀。網橋B2從其接口2收到這個幀。B2的轉發表中沒有F,因此轉發表寫入地址F和接口2.B2的轉發表中沒有C,因此要通過B2的接口1把幀轉發出去。現在C和網橋B1都能收到這個幀。在網橋B1的轉發表中沒有F,因此要把地址F和接口2寫入轉發表,並且還要從B1的接口1轉發這個幀。

3) B向A發送幀。網橋B1從器接口1收到這個幀。B1的轉發表中沒有B,因此在轉發表寫入地址B和接口1.再查找目的地址A。現在B1的轉發表可以查到A,其轉發接口是1,和這個幀進入網橋B1的接口一樣。於是網橋B1知道了,自己不用轉發這個幀。這次網橋B1的轉發表增加了一個項目,網橋B2的轉發表沒變。

顯然,如果網絡上的每一個站都有發送過幀,那么每一個站的地址最終都會記錄在兩個網橋的轉表中。

實際上,在網橋的轉發表中寫入的信息除了地址和接口外,還有幀進入該網橋的時間。網橋中的接口管理軟件周期性的掃描轉發表中的項目,只要在一定時間以前登記的都要刪除,以保持最新的網絡拓撲。

總結:網橋的自學習和轉發幀的一般步驟

1.網橋收到一幀后先進行自學習。查找轉發表中與收到幀的源地址,有無相匹配的項目。如果沒有,就在轉發表中增加一個項目(源地址、進入的接口和時間)。如果有,則把原有的項目進行更新。

2.轉發幀。查找轉發表中與收到幀的目的地址有無相匹配的項目。如果沒有,則通過所有其它接口(進入網橋的接口除外)進行轉發。如有,則按轉發表中給出的接口進行轉發。但應注意,若轉發表中給出的接口就是該幀進入網橋的接口,則應該丟棄這個幀(因為這時不需要經過網橋進行轉發)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM