局域網概述

局域網(Local Area Network, LAN)是指覆蓋局部區域的計算機網絡, 一般在機構內部使用.算法

與廣域網相比, 局域網一般物理跨度和設備數不多但對帶寬要求很高.網絡

對比OSI參考模型, 局域網技術主要定義物理層和數據鏈路層的實現.即定義介質的物理特性, 實現點對點的物理尋址和線路控制功能, 也可能包括差錯控制, 流量控制等功能.併發

環狀和星形是最多見的局域網拓撲結構, 此外還有總線型和樹形等.異步

以太網是目前使用最普遍的局域網技術, 它使用交換機進行網絡鏈接和組織, 使用星形或總線型拓撲結構.分佈式

IEEE802 參考模型

早期的局域網技術由各廠家開發, 互不兼容. IEEE提出了802系列標準, 推進了局域網技術的標準化.計算機網絡

IEEE802物理層對傳輸媒體和拓撲結構進行了定義, 使之能夠兼容雙絞線、同軸電纜、光纖和無線等多種傳輸介質.blog

對比OSI參考模型, IEEE802將數據鏈路層的功能分到了介質訪問控制(Media Access Control, MAC)和邏輯鏈路控制(Logic Link Control, LLC)兩個子層.排序

介質訪問控制

MAC子層直接控制幀(frame)在信道上的傳輸, 提供物理尋址和線路控制功能. MAC子層接受來自LLC層的數據塊, 並添加MAC首部(header)和尾部(tailer)把它們封裝成幀.token

MAC首部通常包含控制字段, 目的MAC地址, 源MAC地址等, MAC尾部通常包含幀的校驗信息.接口

MAC子層的核心任務是解決局域網中不一樣設備競爭共享信道時衝突的問題, 根據資源分配策略部署位置的不一樣分爲集中式和分佈式兩種.

集中式控制採用一臺控制器分配信道資源, 任何設備使用信道必須獲得控制器的受權.

分佈式控制網絡中, 全部設備配合執行資源分配. 好比令牌環網中一個被稱爲令牌(token)的特殊幀在信道上傳遞, 只有收到該幀的設備纔可使用信道.

載波監聽多路訪問(Carrier Sense Multiple Access,CSMA)是一種分佈式的介質訪問控制協議.

CSMA根據監聽發送策略分爲3類:

  • 非持續CSMA: 設備監聽到信道忙或衝突時則會等待一段隨機時間後再次監聽, 信道空閒則當即發送. 此策略延遲較高, 信道利用率較低.

  • 持續CSMA: 設備監聽到信道忙或衝突時會一直監聽, 發現信道空閒則當即發送. 信道利用率高, 但會產生較多的衝突.

  • p-持續CSMA: 設備監聽到信道忙或衝突時會一直監聽, 發現信道空閒則根據機率p決定是否發送. 持續CSMA能夠視爲p-持續CSMA的一個特例:1-持續CSMA

這些方法能夠減小衝突的發生, 但沒法完全解決碰撞問題, 咱們須要改進方案.

載波偵聽多路訪問/碰撞檢測(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)要求設備在發送幀的同時進行監聽.若發送過程當中監聽到衝突, 則執行衝突處理:

  1. 停止數據發送併發送全1信號做爲阻塞消息, 使得其它設備儘快檢測到衝突.

  2. 在必定範圍內等待一段隨機時間後再次發送

  3. 若再次衝突則採用截斷二進制指數避退算法進行發送,即每一次等待時間即爲上一次的兩倍.嘗試16次以後仍然失敗則放棄發送.

載波偵聽多路訪問/碰撞避免(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)採用主動監測來避免衝突, 主要使用兩種方法來避免衝突:

  • 在信道空閒且設備準備發送時, 設備老是先等待一段隨機時間後, 結束等待後發現信道仍然空閒則發送數據.因爲各個設備的等待時間是分別隨機產生的, 再次衝突的可能性大大減小.

  • 設備在發送幀以前首先發送一個很小的RTS(Request to Send)幀給最近的接入點(Access Point), 等待目標端回覆CTS(Clear to Send)幀後再開始發送.

CSMA/CA方案被IEEE802.11採納. 此外還有位仲裁(BA)和載波優先(CP)等方法.

邏輯鏈路控制

邏輯鏈路控制(Logical Link Control,LLC)子層工做在MAC子層之上, 併爲網路層的訪問提供接口.

下圖展現了一個幀內部各層之間的關係:

LLC層提供了幀出錯控制和流量控制等功能, LLC提供了3種工做模式:

  • 不確認的無鏈接服務

  • 鏈接服務

  • 帶確認的無鏈接服務

不確認的無鏈接服務是一種數據報形式的服務, 不包含差錯控制和流量控制的功能. 由於TCP等上層軟件提供了可靠性保證和流量控制功能, 不確認的無鏈接服務減小了重複提升了效率, 是大多數時候的最佳選擇.

鏈接服務適用於沒有上層網絡協議支持的簡單設備, 它要求設備經過握手創建邏輯鏈接而後進行通訊.它提供了可靠性保證和流量控制功能.

鏈接方式須要邏輯鏈路控制軟件維護大量的鏈接數據, 並且通訊前須要先耗費時間創建邏輯鏈路.在自動化控制等場合, 控制主機須要和大量嵌入式控制器進行通訊, 並且對通訊時效性和可靠性要求較高.

帶確認的無鏈接服務不創建邏輯鏈接, 可是要求接收方收到數據後發送確認信息.

LLC協議傳送的數據被稱爲協議數據單元(Protocol Data Unit,PDU).

對應於3種工做模式, LLC分爲三種操做:

  • 1類操做: 使用無編號的PDU實現無確認的無鏈接服務

  • 2類操做: 使用異步平衡方式支持鏈接方式的LLC服務

  • 3類操做: 使用兩個無編號的PDU實現帶確認的無鏈接服務

三種操做都採用相同的PDU格式 ,它們都由4個字段組成:

  • 目的服務接入點(Destination Service Access Point, DSAP), 7bit

  • 源服務接入點(Source Service Access Point, SSAP), 7bit

  • DSAP類型,單地址或組地址, 1bit

  • PDU類型, 命令PDU或響應PDU, 1bit

第1類操做使用無編號(UI)PDU進行通訊, 沒有差錯控制和流量控制的功能.

第2類操做中, 某臺設備首先發出SABME PDU請求創建邏輯連接. 目標設備若接受請求則發送無編號的確認(AC)PDU, 不然發送DM PDU拒絕鏈接.

鏈接創建後, 全部雙方之間的PDU都會擁有一個編號進行排序, 重傳和流量控制. 雙方隨時能夠發送斷連(DISC)PDU來停止邏輯鏈接.

第3類操做相對於第1類操做, 增長了無編號(UC)PDU進行接收確認.

網絡設備

集線器與網橋

集線器 (HUB)是星形拓撲結構中常見的網絡設備, 它經過雙絞線和多臺設備鏈接, 來自一臺設備的幀會發送到全部其它設備上.

集線器顯而易見的問題在於, 每一個幀都會被廣播,佔用了大量信道.

網橋(Bridge)是解決該問題的一個早期嘗試, 網橋上有兩個端口, 分別鏈接兩個採用相同MAC協議的子網.

網橋內部有兩張表存儲子網A和B中全部設備的MAC地址. 系統開始運行的時候, 這兩張表都是空的.

此時,網橋收到來自A的幀後會將其轉發到B,並將該幀的源MAC地址加入到子網A的表格中.

對來自子網B的幀也進行相似處理, 通過一段時間後網橋將得到子網A, B中幾乎全部MAC地址.

當一個幀從子網A的某臺設備發送到集線器後, 幀被廣播到A中其它設備和網橋.

網橋發現目的MAC屬於子網A則直接丟棄該幀, 若目的地址屬於子網B, 則會發送到B的集線器進行廣播.

交換機

如今人們使用第二層交換機(Switch)來代替集線器. 交換機一樣使用雙絞線與多臺設備鏈接.

交換機內部維護了一個MAC端口映射表, 這個表保存了全部與它鏈接的設備MAC地址和鏈接到的端口, 交換機讀取幀首部的目的MAC地址並將其發送到對應的端口上.

交換機分爲直通式和存儲轉發式交換機. 直通式交換機直接將幀發送到目標端口,存儲轉發式交換機則先保存幀完成CRC校驗和糾錯以後再進行轉發.

當幀來自未知的源MAC地址, 交換機就會將這個幀端口和MAC的對應關係添加到映射表中. 若映射表已滿則會覆蓋最先的數據.

當幀發往未知的MAC地址, 交換機會將該幀廣播. 若該幀的目標確實是網絡中的一臺設備, 該設備響應時發出的幀會讓交換機瞭解它的MAC地址.

VLAN是交換機的另外一個重要功能, 它將一個交換機下的設備分爲多個廣播域. 在進行廣播的時候僅向同廣播域的設備發送.

路由器和第三層交換機

廣播會佔用大量的網絡流量, 路由器能夠隔離局域造成多個廣播域.

路由器是工做OSI第三層, 即網絡層的設備.路由器的核心功能是根據目的IP地址將IP數據包發送到下一跳的路由設備上.

除此以外路由器還具備很強的網絡層控制功能, 好比NAT和DHCP等.可是路由器依賴軟件決策使用CPU轉發, 轉發速率遠低於交換機.

若設備A要給B發送數據,那麼A就用子網掩碼取得網絡地址,判斷目的IP是否與本身在同一網段.若是在同一網段,但不知道轉發數據所需的MAC地址,A就發送一個廣播ARP請求,B返回其MAC地址.

上述過程當中可能出現大量的ARP廣播, 因此須要一種設備根據網段將局域網劃分爲多個廣播域, 減小廣播佔用的信道.

路由器能夠完成這個功能, 可是路由器轉發速度過慢, 咱們須要結合交換機硬件交換的高速度.

三層交換機是能夠讀取IP封包, 執行部分路由選擇功能的交換機, 擁有部分網絡層控制功能和基於硬件的高速轉發能力.

不過三層交換機造價相對較高, 一般在大型局域網中使用.

衝突域與廣播域

當多臺設備鏈接到同一介質上時,它們可能由於搶奪介質出現衝突的狀況, 網絡中可能出現介質衝突的範圍稱爲一個衝突域。

因而可知衝突域是一個物理層概念, 橋接器的兩個端口將網絡分紅兩個衝突域, 對交換機來講它的每個端口是一個衝突域。

廣播域是廣播幀所能到達的範圍, 屬於數據鏈路層概念。鏈接到橋接器上的設備通常處於一個廣播域。

交換機上的設備通常處於一個廣播域,可是交換機的VLAN技術能夠劃分出多個廣播域。

相關文章
相關標籤/搜索