1. 程式人生 > >【計算機網路】第五章 資料鏈路層(1)

【計算機網路】第五章 資料鏈路層(1)

一.資料鏈路層服務

1. 概述

1)術語

  ·主機和路由器:結點

  ·連線相鄰結點的通訊通道:鏈路(有線、無線、區域網)

  ·鏈路層資料分組:幀

2)資料鏈路層主要任務:通過一條鏈路從一個結點向另一個物理鏈路直接相連的相鄰結點傳送資料報

2. 鏈路層服務

1)組幀

  ·封裝資料報構成資料幀,加首部和尾部

  ·實現幀同步:從位元流中識別資料幀,通常在資料幀首位增加特殊位元串,通過填充轉譯辨別該位元串是否屬於資料

2)鏈路接入

  ·如果是共享介質,需要解決通道接入(多個結點使用同一段鏈路)

  ·幀首部中的MAC地址,用於標識幀的源和目的(不同於IP地址)

3)相鄰結點間可靠交付

  ·在低誤位元速率的有線鏈路上很少採用(如光纖)

  ·高誤位元速率的無線鏈路中需要可靠交付

4)流量控制:協調相鄰的傳送結點和接收結點

5)差錯檢測

  ·訊號衰減和噪聲會引起差錯

  ·接收端檢測到差錯後通知傳送端重傳或直接丟棄

(6)差錯糾正:接收端直接糾正位元差錯

(7)全雙工和半雙工通訊控制:鏈路兩端結點同時(交替)雙向傳輸

3. 具體實現

1)鏈路層在網路適配卡或晶片中實現

2)連結主機的系統匯流排由硬體、軟體與韌體組成

 

 

二.差錯編碼

1. 基本原理:在資料基礎上增加冗餘資訊,D -> DR

R為差錯檢測與糾正位元

 

2. 分類

(1)分組碼:線性、非線性

(2)卷積碼

3. 檢錯能力:不保證100%可靠

(1)漢明距離:對應兩個位元的不同位,編碼集的漢明距離位=為集中任兩位元漢明距離的最小值

(2)檢錯碼

  ·若編碼集的漢明距離ds = r + 1,則該差錯編碼可以檢測r位的差錯

  ·舉例:編碼集{0000, 0101, 1010, 1111}漢明距離ds = 2,可100%檢測1位元差錯

(3)糾錯碼

  ·若編碼集的漢明距離ds = 2r + 1,則該差錯編碼可以糾正r位的差錯

  ·舉例:編碼集{000000, 010101, 101010, 111111}

漢明距離ds = 3,可糾正1位元差錯,如100010糾正為101010

4. 奇偶校驗碼

11位元校驗位:檢測奇數位差錯,50%

2)二維奇偶校驗:檢測奇數位差錯、部分偶數位差錯,糾正同一行/列的奇數位差錯

5. Internet校驗和

1)傳送端:將資料劃分為16位的二進位制整數序列,補碼求和,高位加回,取反放入分組校驗和欄位

2)接收端:相同方法計算,取反全0,不取反全1,否則有錯

6. 迴圈冗餘校驗碼(CRC):檢錯能力更強大的差錯編碼

1)將資料位元D視為一個二進位制數

2)選擇一個r+1位的位元模式G(生成位元模式)

3)目標:選擇r位的CRC位元R,滿足:

  ·<D, R> 剛好可以被G整除,即模2

  ·接收端檢錯:利用G<D, R>,如果餘式全0則無錯

  ·可以檢測所有突發長度小於r+1位的差錯

(4)廣泛應用於實際網路

(5)舉例: