1. 程式人生 > >【網絡】 數據鏈路層筆記

【網絡】 數據鏈路層筆記

出現 雙絞線 穩定性 同時 節點 計算 只需要 blog less

數據鏈路層

  簡稱鏈路層,功能在於將數據包封裝成幀,控制幀對介質的訪問。鏈路層連接了物理介質和其之上抽象層,可以使上層不用關心用什麽方法在什麽介質中傳輸信息。

  在幀被傳輸時經過的每一跳,每個中間設備(通常也是路由器)會對幀做如下一些處理:

  1. 從介質接收幀

  2. 把幀解封為數據包

  3. 把本設備處理完的數據包再次封裝成適合傳輸向下一個介質的幀

  4. 將新幀通過下一介質轉發出去

  5. 對幀進行錯誤檢查,如果發現錯誤就把幀丟棄

  如何將幀放到介質上or如何從介質上取得幀的技術被稱為介質訪問控制或者MAC方法。MAC方法控制著數據進出介質,防止比如不同幀同時在同一介質中傳輸等問題。針對不同的介質比如光纖,雙絞線和無線介質,它們具有不同的性質,為了能更貼切地利用好這些介質最好要有不同的MAC方法。MAC方法就好比是交通規則,沒有了MAC方法,數據從節點進入介質好比汽車無視信號燈進入路口,會引起混亂。

  終端設備常用適配器來連接到網絡,比如主機要連接到LAN的話,設備會使用合適的NIC(網卡)來連接介質,通過介質進入網絡。

  中間設備如路由器通常需要面臨多種傳輸介質,此時就需要其有多個物理接口來順利連接不同的介質。比如家裏用的無線路由器一般就有一個WAN的串行接口,若幹個LAN接口和一根天線(無線介質接口)。

■  MAC方法——把數據放入介質

  鏈路層協議中定義了許多訪問不同介質時所用的MAC方法

  其實主要是看兩個要素來確定改用什麽MAC方法:1.節點間是否存在共享介質 2. 節點間連接拓撲如何

  ● 當有共享介質的情況存在時

  因為要考慮到多臺設備同時訪問介質的情況,所以有兩種類型的基本MAC方法可以選擇,分別是受控制訪問和爭用訪問。

  受控訪問:每臺節點依次訪問介質,如果某節點不需要使用介質就把訪問介質的機會交給下一個等待中的節點,當介質上有某節點的某個幀的話,直到該幀傳輸完畢為止,都不允許其他設備放其他幀到介質上去。受控訪問類的MAC方法常用於如令牌傳遞等場景。這種訪問控制沒有沖突,秩序好,並且提供可以預測的吞吐量,只是效率有點低。

  爭用訪問:每個節點在需要介質時訪問介質。為了防止混亂,這類方法使用CSMA(載波偵聽多路訪問)先檢測介質上是否有正在傳輸的信號。但是光檢測了也並不代表萬無一失,有可能會出現檢測時OK但是發出信號後就沖突了的情況。為了解決潛在的信號沖突的危險,CSMA還被細分成兩種具體的形式,CSMA/CD(沖突檢測)和CSMA/CA(沖突避免)。沖突檢測是說,節點一邊監聽一邊傳輸信號,當監聽到沖突的時候立刻停止傳輸信號以減少垃圾信號的生成,節省傳輸成本,以太網就是以這種方式處理沖突信號的。另一種沖突避免則是說在進行傳輸之前節點先進性介質的預約,讓其他節點知道這裏有信號要傳輸了,因為無線介質的物理特性決定了其不能同時收發信號,所以無線協議如802.11大多都是用這種方式來處理沖突信號的。

  ● 無共享介質的情況

  由於沒有共享介質(比如點對點的拓撲結構),MAC方法基本不需要控制信息。只需要考慮該用半雙工還是全雙工的模式

  半雙工:節點可以通過介質發或者收信號,但不能同時那麽做,相當於單車道

  全雙工:就是雙車道了

  ● 物理or邏輯拓撲

  物理拓撲是指設備在現實中的接線情況形成的拓撲圖,而邏輯拓撲則是只網絡節點間通過網絡的邏輯連接起來的拓撲圖。鏈路層協議主要關註不同的邏輯拓撲。

  常見的邏輯拓撲有:
技術分享

  多路訪問拓撲中,每個節點都會接受到幀但是只有目的節點可以處理它並作出回應。環狀結構中各個節點依次接收到幀,如果該節點不是目的地就繼續發往下一個節點。

■  幀的結構

  任何一種鏈路層協議的幀都包含了數據(通常是來自網絡層的數據包),幀頭,幀尾三部分。

  幀頭:包含了鏈路層協議對特定邏輯拓撲和介質的控制信息,不同的鏈路層協議有不同且唯一的幀頭。幀頭中比較重要的一個信息就是編址,即目的地址。這個目的地址和網絡層的目的地址不同,指的是目的的物理地址即MAC地址。MAC地址只用於本地傳送,而如果把它放到本地LAN以外的網絡是沒有意義的。

  幀尾:包括驗證幀內容是否出錯的信息——幀校驗序列和停止字段。

■  鏈路層協議實例

  鏈路層協議有很多種,比如以太網,PPP,HDLC,幀中繼,以太幀等等。

  因特網中有兩類基本的網絡環境即WAN和LAN。WAN和LAN對技術有不同的要求,比如LAN要求協議可以支持高帶寬多用戶,因為地理範圍小且反應時間快,而WAN可能要求傳輸的穩定性和跨區域。對協議的要求因此也是不同的,也就是說,LAN和WAN有著各自不同的鏈路層協議。

  LAN的以太網:廣義的以太網是IEEE 802.2和802.3標準中定義的一系列互聯網技術,其包括了物理層和鏈路層的一些技術。以太網用CSMA/CD(沖突檢測)的MAC方法保證數據對介質的訪問有效且安全。同時以太網幀含有以下信息:

    前導碼

    目的地址

    源地址

    上層協議類型(以上是幀頭中的信息)

    數據包

    幀校驗序列(幀尾中的信息)

  WAN的PPP協議:PPP(點對點協議)用於兩個節點之間傳送幀的情況。可以用於不同的物理介質。PPP分成上下兩層工作,下層為不同的介質建立起PPP會話,借此隱蔽了上層對物理介質的感知。。PPP幀的內容包括了:

    幀開始標誌

    地址

    控制

    協議(以上幀頭)

    數據包

    幀校驗序列(幀尾)

  LAN無線協議802.11:802.11是對IEEE 802.2標準的一個擴展,為了適應無線傳輸的不穩定性和不確定性,新加入了許多額外的控制功能。IEEE 802.11又被人稱為Wi-Fi(Wireless Fidelity),因為可能還存在一些通過其他協議建立起來的無線局域網,所以WLAN(Wireless Local Area Network)是個更大的概念。Wi-fi是WLAN重要且主要的組成部分。

  802.11采用爭用訪問的方式來管理主機間對介質的競爭,使用CSMA/CA(沖突避免)的MAC方法解決共享介質可能導致的沖突。

  802.11的幀比較復雜。

■  以太網

  以太網是由IEEE標準描述的一系列LAN產品的家族。也是目前占主導地位的有線LAN技術。以太網的標準編號是IEEE802.3,最初開發以太網標準是為了解決OSI模型中第一層和第二層下半層的需求。

  以太網的發展過程:

    最原始的以太網設計為多臺計算機互聯的總線結構,其物理拓撲也維持總線結構,融入了CSMA/CD的MAC方法。這類以太網的規模和效率都被限制得比較小,由於介質最早使用的是單軸銅纜。

    傳統以太網改變最原始的銅纜為成本更低且更方便的非屏蔽雙絞線。且運用集線器作為子網網段的中心,將物理拓撲改為星型(邏輯上仍然是總線結構)。集線器使得人們可以把一些節點看做一組,一個獨立單元來處理。傳統以太網仍然用介質爭用訪問的模式與CSMA/CD方法。所有設備共享介質且檢測沖突的存在。相比於上一代以太網,這種集線星型拓撲的以太網可靠性更高不會因為其中某一條電纜故障使得全盤癱瘓。

    當今的以太網使用交換機取代了集線器成為網段中心的設備,它可以為節點提供全部帶寬而無介質爭用的情形。它可以隔離每個端口,只把幀發送到正確的目的地而非總線一樣每個節點都要收到,這樣就大幅度降低了沖突的發生,相當於把每一次單獨的通信都轉變成了點對點的邏輯拓撲。

    在次世代(我覺得現在應該已經開始在普及了)將會出現的是帶寬在1G以上的以太網。對於這種需要更高帶寬,更廣域的以太網,對介質和交換機的升級是主要手段。比如把銅纜換成光纖,可以得到更高的傳輸速度以及更低的出錯概率。在未來,WAN和LAN之間在規模和速度上的差別會變得不那麽明顯了。

  以太網的一個幀的結構:

  同其他鏈路層協議一樣,以太網規定了其幀的結構。一個以太網幀最小定義為64字節,最大為1518個字節,如果接受到的幀大小大於最大值或小於最小值設備可能就會認為幀被破壞,將主動丟棄這個幀。產生這種情況的原因在於沖突或者其他的多余的信號等等。

  幀的結構中包含前導碼(7字節);幀定界符(1字節);目的地址(6字節);源地址(6字節);長度(2字節);數據(46-1500字節);幀校驗序列(4字節)。

物理層

  物理層將來自鏈路層的處理好的比特碼通過介質(銅纜,光纖,無線介質等)進行傳輸,這些比特碼包括從應用層到鏈路層添加的所有控制信息和源內容。物理介質上傳輸的信號可以是電壓,光信號,無線電波等,因為物理信號可能會受到共享介質或者外部因素的影響而產生畸變,所以物理層設計時重要的內容之一就是消除這些畸變對通信的影響

  總的來說,物理層的任務有1. 將邏輯信息和物理能量互相轉換 2. 保證通信不受到信號畸變的影響

■  物理層信號與編碼,比特

  ● 比特時間

  只OSI第二層的網卡產生一個比特的數據並將其作為信號傳送到介質上發送至接收方所花的時間。不同介質的比特時間不同,不同網絡狀況,不同網卡輸出能力的比特時間也都不同。

  

  從通信學的角度來講,一共有三種信號要素可以收到人工的改變來承載信息,幅度;頻率和相位。不同地調制這三個要素,以及不同的約定物理信號為邏輯數值的方法稱為信號方法。典型的信號方法有NRZ(不歸零方法),曼徹斯特編碼等(曼徹斯特編碼只每個比特時間電壓變化,從低變高則表示數值1,從高變低表示數字0)

■  數據傳輸能力

  有三種指標可以衡量網絡的數據傳輸的能力,單位都是bit/s。分別是理論帶寬,實際吞吐量和實際有效吞吐量。

  理論帶寬:表示在硬件一定的情況下,能夠傳輸的最大速率

  吞吐量:由於通信會受到幹擾,錯誤,介質共享等影響,帶寬往往不能得到完全的發揮,而其實際通過的數據傳輸量就是吞吐量。影響吞吐量的因素有流量大小,數據流類型,網絡規劃等等。

  有效吞吐量:在吞吐量的基礎上除去協議開銷,錯誤檢查,重傳等操作的數據量,剩下的對於源信息本身的傳遞用掉的數據量就是有效吞吐量。根據網絡連接和設備質量的不同,有效吞吐量可能和實際吞吐量有很大差別。

【網絡】 數據鏈路層筆記