通訊系統必須具備發現差錯的能力,並採取措施糾正之,使差錯控制在所能允許的盡可能小的範圍內,這就是差錯控制過程,也是資料鏈路層的主要功能之一。
反饋重發
接收方通過對差錯編碼(奇偶校驗碼或 crc 碼)的檢查,可以判定一幀在傳輸過程中是否發生了差錯。一旦發現差錯,一般可以採用反饋重發的方法來糾正。這就要求接受方收完一幀後,向傳送方反饋乙個接收是否正確的資訊,使傳送方據此做出是否需要重新傳送的決定。傳送方僅當收到接收方已正確接收的反饋訊號後才能認為該幀已經正確傳送完畢,否則需要重發直至正確為止。
計時器
如果某一幀傳送出現問題,一直不能傳送成功,為了避免傳輸過程停滯不前,通常引入 計時器 (timer) 來限定接收方發回反饋訊息的時間間隔。當傳送方傳送一幀的同時也啟動計時器,若在限定時間間隔內未能收到接收方的反饋資訊,即計時器超時(timeout),則可認為傳出的幀以出錯或丟失,就要重新傳送。
序號
由於同一幀資料可能被重**送多次,就可能引起接收方多次收到同一幀並將其遞交給網路層的情況。為了防止這種情況,可以採用對傳送的幀編號的方法,即賦予每幀乙個序號,從而使接收方能從該序號來區分是新傳送來的幀還是重發的幀,以此來確定要不要將接收到的幀遞交給網路層。
由於收發雙方各自使用的裝置工作速率和緩衝儲存空間的差異,可能出現傳送方的傳送能力大於接收方接收能力的現象,此時若不對傳送方的傳送速率做適當的限制,前面來不及接收的幀將被後面不斷傳送來的幀「淹沒」,從而造成幀的丟失而出錯。
由此可見,流量控制實際上是對傳送方資料流量的控制,使其傳送速率不超過接收方的速率。所以需要一些規則使得傳送方知道在什麼情況下可以接著傳送下一幀,而在什麼情況下必須暫停傳送,以等待收到某種反饋資訊後再繼續傳送。這就是流量控制。
乙太網(ether-net)是指 dec 公司、intel 公司和 xerox 公司在 1982 年聯合公布的乙個標準,這個標準裡面使用了一種稱作 csma/cd 的接入方法。而 ieee802 提供的標準集 802.3(還有一部分定義到了 802.2 中)也提供了乙個 csma/cd 的標準。
這兩個標準稍有不同,因此鏈路層資料幀的的封裝格式也有所不同(資料幀中的位址為 mac 位址):
ppp(點到點協議)是為在同等單元之間傳輸資料設計的鏈路層協議。這種鏈路提供全雙工操作,並按照順序傳遞資料。設計目的主要是用來通過 撥號或專線 方式建立 點對點 連線傳送資料,使其成為各種主機、網橋和路由器之間簡單連線的一種共通的解決方案。
點對點協議(ppp)為在點對點連線上傳輸多協議資料報提供了乙個標準方法。ppp 最初設計是為兩個對等節點之間的 ip 流量傳輸提供一種封裝協議。在 tcp/ip 協議集中它是一種用來同步調製連線的資料鏈路層協議。
slip 的全稱為 serial line ip(序列線路 ip)。它是一種對 ip 資料報進行封裝的簡單形式。 slip 協議規定的幀格式規則:
① ip 資料報以乙個稱作 end(0xc0)的特殊字元結束。同時為了防止資料報傳輸之前的線路噪音被誤認為是資料報內容,在資料報開始處新增乙個 end 字元;
② 如果 ip 資料報中含有 end 字元,就連續傳輸 0xdb 和 0xdc 來取代它。0xdb 是 slip 的 esc 字元,但它的值與 ascⅱ碼中的 esc(0x1b)不同;
③ 如果 ip 資料報中含有 esc 字元,就連續傳輸 0xdb 和 0xdd 來取代它。
slip 的缺陷:
每一端必須知道對端的 ip 位址,沒有辦法把本端 ip 位址傳遞給對端;
資料幀中無型別字段,當一條序列線路使用 slip 時則不能使用其他協議;
slip 資料幀中無 checksum,只能依靠上層協議來發現和糾正錯誤。
ppp 協議修改了 slip 協議中的缺陷,包括以下三個部分:
① ppp 封裝 ip 資料報既支援資料為 8 位和無奇偶校驗的非同步模式,又支援面向位元的同步鏈結;
② 通過 lcp(鏈路控制協議)允許雙方進行協商;
③ 通過 ncp(網路控制協議)允許雙方在網路層上進行協商。
ppp 協議的字元規則與 slip 有所不同:
① ppp 幀以標誌字元 0x7e 開始和結束,緊接著是乙個值為 0xff 的位址位元組,然後是乙個值為 0x03 的控制位元組;
② 由於標誌字元是 0x7e,當它出現在資訊欄位中時,需要連續傳送 0x7d 和 0x5e 來替代它;
③ 當在資訊欄位中遇到 0x7d 時,需要連續傳送 0x7d 和 0x5d 來替代它。
④ 預設情況下,如果字元的值小於 0x20,需要連續傳送 0x7d 和 0x21 來替代它。
ppp 與 slip 相比具有下列優點:
① ppp 支援在單根序列線路上執行多種網路層協議;
② 每一幀都有 crc 校驗;
③ 通訊雙方可以用 ncp 進行 ip 位址的動態協商;
④ 可以類似於 cslip 對 tcp 和 ip 首部進行壓縮;
⑤ lcp 可以對多個資料鏈路選項進行設定。
為了提供足夠快的響應時間,乙太網和 ieee802.3 對資料幀長度都有限制,其最大值分別為 1500 位元組和 1492 位元組,鏈路層的這個特性稱作 mtu ,即 最大傳輸單元 。
當網路層傳下來乙個 ip 資料報,並且其長度比鏈路層的 mtu 大,那麼網路層就需要對資料報進行分片,使每一片都小於 mtu。
mtu 分為介面 mtu 和路徑 mtu:介面 mtu 是所指定的介面所允許傳送的最大資料長度;路徑 mtu 指兩台通訊主機路徑中最小的 mtu 值。路徑 mtu 是不對稱的,它在兩個方向上不一定一致。
TCP IP協議 鏈路層
鏈路層主要有3個目的 1 為ip模組傳送和接受資料 2 為arp模組傳送arp請求和接受arp應答 3 為rarp傳送rarp請求和接受rarp應答 slip 序列線路ip slip是一種在序列線路上對ip資料報進行封裝的簡單形式,適用於rs 232串列埠和高速數據機介入internet。slip定...
TCP IP網路協議基礎TCP IP網路協議基礎
1.tcp ip網路協議基礎 tcp ip transmission control protocol internet protocol 是傳輸控制協議和網路協議,就是電子裝置如何連入網際網路,並且之間怎麼通訊。tcp ip 不是乙個協議,而是乙個協議族的統稱,裡面包括了 ip 協議 icmp 協...
網路基礎 TCP IP協議
1.網路介面層 鏈路層 又稱網路訪問層,負責向網路物理介質傳送資料報,從網路物理介質接受資料報。2.網路層 又稱網際網路層或ip層,負責處理ip資料報的傳輸 路由選擇 流量控制和擁塞控制。包含協議有 位址解析協議 arp,根據ip位址獲取實體地址 和反向位址解析協議 rarp,根據實體地址獲取查詢i...