數據鏈路層傳送的是幀算法
經常在兩個對等的數據鏈路層之間畫出一個數字管道,而在這條數字管道上傳輸的數據單位是幀。緩存
封裝成幀就是在一段數據的先後分別添加首部和尾部,而後就構成了一個幀,用以肯定幀的界限。安全
首部和尾部的一個重要做用就是進行幀定界。網絡
若是發送端發送時出現故障,接收端沒收到完整的頭和尾,就會將幀丟掉異步
若傳輸的數據是ASCI I碼中「可打印字符(共95個)」集時,一切正常。
若傳輸的數據不是僅由「可打印字符」組成時,就會出問題,以下圖
學習
咱們可使用字節填充法解決透明傳輸的問題:編碼
發送端的數據鏈路層在數據中出現控制字符「SOH」或「EOT」的前面插入一個字符「ESC」 (其十六進制編碼是1B)spa
若是轉義字符也出現數據當中,那麼應在轉義字符前插入一個轉義字符。當接收端收到連續的兩個轉義字符時,就刪除其中前面的一個。計算機網絡
咱們可使用 循環冗餘檢測 CRC接口
僅用循環冗餘檢驗CRC差錯檢測技術只能作到無差錯接受(accept)。
要作到 「可靠傳輸」 (即發送 什麼就收到什麼)就必須再加上確認和重傳機制。
能夠說 「CRC是一種無比特差錯,而不是無傳輸差錯的檢測機制」
如今全世界使用的最多的數據鏈路層協議就是 點對點協議 即 PPP協議(Pointer to Pointer Protocol),用戶使用撥號電話線接入因特網時,通常都是使用PPP協議。
PPP協議應該知足的要求 | PPP協議不須要知足的要求 |
---|---|
簡單——這是首要的要求 | 糾錯 |
封裝成幀 | 流量控制 |
透明性 | 序號 |
多種類型鏈路 | 多點線路 |
差錯檢測 | 半雙工或單工鏈路 |
檢測鏈接狀態 | |
最大傳送單元 | |
網絡層地址協商 | |
數據壓縮協商 |
數據鏈路層協議能夠用於異步串行或同步串行介質。
它使用LCP (鏈路控制協議)創建並維護數據鏈路鏈接。
網絡控制協議(NCP)容許在點到點鏈接上使用多種網絡層協議,如圖所示
問題:信息字段中出現了標誌字段的值,可能會被誤認爲是「標誌位」怎麼辦?
PPP 協議用在 SONET/SDH 鏈路時,使用同步傳輸(一連串的比特連續傳送)。這時 PPP 協議採用零比特填充方法來實現透明傳輸。
在發送端,只要發現有 5 個連續 1,則當即填入一個0。
接收端對幀中的比特流進行掃描。每當發現 5 個連續1時,就把這 5 個連續 1 後的一個 0 刪除
當用戶撥號接入ISP 時,路由器的調制解調器對撥號作出確認,並創建一條物理鏈接。
PC機向路由器發送一系列的LCP分組(封裝成多個PPP幀)。
這些分組及其響應選擇一些PPP參數,和進行網絡層配置,NCP給新接入的PC機分配一個臨時的IP地址,使PC機成爲因特網上的一個主機。
通訊完畢時,NCP 釋放網絡層鏈接,收回原來分配出去的IP地址。接着,LCP釋放數據鏈路層鏈接。最後釋放的是物理層的鏈接。
局域網最主要的特色是:
局域網具備以下的一些主要優勢:
最初的以太網是將許多計算機都鏈接到一根總線上。當初認爲這樣的鏈接方法既簡單又可靠,由於總線上沒有有源器件。可是不安全,有可能被非目標計算機抓包
總線上的每個工做的計算機都能檢測到B發送的數據信號。
因爲只有計算機D的地址與數據幀首部寫入的地址一致,所以只有D才接收這個數據幀。
其餘全部的計算機(A,C和E)都檢測到不是發送給它們的數據幀,所以就丟棄這個數據幀而不可以收下來。
具廣播特性的總線上實現了一對一的通訊。
CSMA/CD表示Carrier Sense Multiple Access with Collision Detection。
「多點接入」表示許多計算機以多點接入的方式鏈接在一根總線上。
「載波監聽」是指每個站在發送數據以前先要檢測一下總線 上是否有其餘計算機在發送數據,若是有,則暫時不要發送數據,以避免發生
碰撞。「載波監聽」就是用電子技術檢測總線上有沒有其餘計算機發送的數據信號。
「碰撞檢測」 就是計算機邊發送數據邊檢測信道上的信號電壓大小
檢測到碰撞後:
最早發送數據幀的站,在發送數據幀後至多通過時間2τ ( 兩倍的端到端的往返時延)就可知道發送的數據幀是否遭受了碰撞。通過爭用期這段時間尚未檢測到碰撞,才能確定此次發送不會發生碰撞。
發生碰撞的站在中止發送數據後,要推遲(退避) 一個隨機時間才能再發送數據。
爲了使數據鏈路層能更好地適應多種局域網標準,802委員會就將局域網的數據鏈路層拆成兩個子層:
與接入到傳輸媒體有關的內容都放在MAC子層,而LLC子層則與傳輸媒體無關,無論採用何種協議的局域網對LLC子層來講都是透明的。
因爲TCP/IP體系常用的局域網是DIX Ethernet V2而不是802.3標準中的幾種局域網,所以如今802委員會制定的邏輯鏈路控制子層LLC (即802. 2標準)的做用已經不大了。不少廠商生產的適配器上就僅裝有MAC協議而沒有LLC 協議。
傳統以太網最初是使用粗同軸電纜,後來演進到使用比較便宜的細同軸電纜,最後發展爲使用更便宜和更靈活的雙絞線。不用電纜而使用無屏蔽雙絞線。每一個站須要用兩對雙絞線,分別用於發送和接收。
這種以太網採用星形拓撲,在星形的中心則增長了一種可靠性很是高的設備,
叫作集線器(hub)。
集線器是使用電子器件來模擬實際電纜線的工做,所以整個系統仍然像一個傳統的以太網那樣運行。集線器使用了大規模集成電路芯片,所以這樣的硬件設備的可靠性已大大提升了。
使用集線器的以太網在邏輯上還是一個總線網,各工做站使用的仍是CSMA/CD協議,並共享邏輯上的總線。
集線器很像一個多接口的轉發器,工做在物理層。
以太網的信道被佔用的狀況:
一個幀從開始發送,經可能發生的碰撞後,將再重傳數次,到發送成功且信道轉爲空閒(即再通過時間τ使 得信道上無信號在傳播)時爲止,是發送一幀所需的平均時間。
要提升以太網的信道利用率,就必須減少 τ 與 T₀ 之比。在以太網中定義了參數a,它是以太網單程端到端時延τ與幀的發送時間 T₀ 之比: $$a = \frac τ {T₀}$$
a越大,代表爭用期所佔的比例增大,每發生一次碰撞就浪費許多信道資源,使得信道利用率明顯下降。
對以太網參數的要求
當數據率必定時,以太網的連線的長度受到限制,不然 τ 的數值會太大
以太網的幀長不能過短,不然 T₀ 的值會過小,使 a 值太大。
信道利用率的最大值
在理想化的狀況下,以太網上的各站發送數據都不會產生碰撞(這顯然
已經不是CSMA/CD, 而是須要使用一種特殊的調度方法),即總線一旦
空閒就有某一個站當即發送數據。
發送一幀佔用線路的時間是 T₀+ t,而幀自己的發送時間是 T₀,因而
咱們可計算出理想狀況下的極限信道利用率$S_{max}$爲:
在局域網中,硬件地址又稱爲物理地址,或 MAC地址。
802 標準所說的 「地址」 嚴格地講應當是每個站的 「名字」 或 標識符。但鑑於你們都早已習慣了將這種48位的「名字」稱爲「地址」,因此本文也採用這種習慣用法,儘管這種說法並不太嚴格。
在同一個交換機上的計算機MAC地址不可相同,不然會產生網絡故障,MAC地址能夠手動修改
適配器從網絡上每收到一個MAC幀就首先用硬件檢查MAC幀中的MAC地址
「發往本站的幀」包括如下三種幀:
經常使用的以太網MAC幀格式有兩種標準:
DIX Ethernet V2 標準
IEEE 的 802.3 標準
最經常使用的MAC幀是以太網V2的格式。
優勢:
缺點:
交換機的使用使得VLAN的建立成爲可能
這些網段具備某些共同的需求。
每個VLAN的幀都有-個明確的標識符,指明發送這個幀的工做站是屬於哪個VLAN。
虛擬局域網其實只是局域網給用戶提供的一種服務,而並非一種新型局域網。
虛擬局域網協議容許在以太網的幀格式中插入一個4字節的標識符,稱爲VLAN 標記(tag),用來指明發送該幀的工做站屬於哪個虛擬局域網。
速率達到或超過100 Mb/s的以太網稱爲高速以太網。
在雙絞線上傳送100 Mb/s基帶信號的星型拓撲以太網,仍使用IEEE 802. 3的CSMA/CD協議。100BASE T以太網又稱爲快速以太網(Fast Ethernet) 。
特色: