Ethernet II、PPP、HDLC 協議分析

一、 Ethernet II
       Ethernet II類型以太網幀的最小長度爲64字節(6+6+2+46+4),最大長度爲1518字節(6+6+2+1500+4)。其中前12字節分別標識出發送數據幀的源節點MAC地址和接收數據幀的目標節點MAC地址。
       接下來的2個字節標識出以太網幀所攜帶的上層數據類型,如16進制數0x0800代表IP協議數據,16進制數0x86dd代表IPv6協議數據,16進 制數0x809B代表AppleTalk協議數據,16進制數0x8138代表Novell類型協議數據等。
       在不定長的數據字段後是4個字節的幀校驗序列(Frame. Check Sequence,FCS),採用32位CRC循環冗餘校驗對從"目標MAC地址"字段到"數據"字段的數據進行校驗。
  以太網最小發送幀長爲64字節,按照標準,10Mbps以太網採用中繼器時,連接的最大長度是2500米,最多經過4箇中繼器,因此規定對10Mbps以 太網一幀的最小發送時間爲51.2微秒。這段時間所能傳輸的數據爲512位,因此也稱該時間爲512位時。這個時間定義爲以太網時隙,或衝突時槽。512 位=64字節,這就是以太網幀最小64字節的原因。現在基本上都是交換機或路由器直接連接計算機,集線器連接很少存在了,在交換機或路由器直接連接計算機 時每個計算機與設備之間都是一個獨立的衝突域,是不會產生衝突的,因此,此時發送長度小於64字節的幀理論上是可以的,但爲了遵循原有標準,考慮到有些集 線器設備依舊在使用,因此保持最小幀長64字節不變。


二、 PPP
        點對點協議(PPP)爲在點對點連接上傳輸多協議數據包提供了一個標準方法。PPP 最初設計是爲兩個對等節點之間的 IP 流量傳輸提供一種封裝協議。在 TCP-IP 協議集中它是一種用來同步調製連接的數據鏈路層協議(OSI 模式中的第二層),替代了原來非標準的第二層協議,即 SLIP。除了 IP 以外 PPP 還可以攜帶其它協議,包括 DECnet 和 Novell 的 Internet 網包交換(IPX)。
PPP(點到點協議)是爲在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。這種鏈路提供全雙工操作,並按照順序傳遞數據包。設計目的主要是用來通過撥號或專線方式建立點對點連接發送數據,使其成爲各種主機、網橋和路由器之間簡單連接的一種共通的解決方案。
點對點協議(PPP)爲在點對點連接上傳輸多協議數據包提供了一個標準方法。PPP 最初設計是爲兩個對等節點之間的 IP 流量傳輸提供一種封裝協議。在 TCP-IP 協議集中它是一種用來同步調製連接的數據鏈路層協議(OSI 模式中的第二層),替代了原來非標準的第二層協議,即 SLIP。除了 IP 以外 PPP 還可以攜帶其它協議,包括 DECnet和 Novell的Internet 網包交換(IPX)。


三、 HDLC
        HDLC——面向比特的同步協議:High Level Data Link Control(高級數據鏈路控制規程)。 HDLC是面向比特的數據鏈路控制協議的典型代表,該協議不依賴於任何一種字符編碼集;數據報文可透明傳輸,用於實現透明傳輸的“0比特插入法”易於硬件實現;全雙工通信,有較高的數據鏈路傳輸效率;所有幀採用CRC檢驗,對信息幀進行順序編號,可防止漏收或重發,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性。
幀信息的分段
        SDLC/HDLC的一幀信息包括以下幾個字段(Field),所有字段都是從最低有效位開始傳送。
SDLC/HDLC標誌字符
SDLC/HDLC協議規定,所有信息傳輸必須以一個標誌字符開 始,且以同一個字符結束。這個標誌字符是01111110,稱標誌字段(F)。從開始標誌到結束標誌之間構成一個完整的信息單位,稱爲一幀 (Frame)。所有的信息是以幀的形式傳輸的,而標誌字符提供了每一幀的邊界。接收端可以通過搜索"01111110"來探知幀的開頭和結束,以此建立幀同步。


地址字段和控制字段
        在標誌字段之後,可以有一個地址字段A(Address)和一個控制字段C(Contro1)。地址字段用來規定與之通信的次站的地址。控制字段可規定若干個命令。 SDLC規定A字段和C字段的寬度爲8位。HDLC則允許A字段可爲任意長度,C字段爲8位或16位。接收方必須檢查每個地址字節的第一位,如果 爲"0",則後邊跟着另一個地址字節;若爲"1",則該字節就是最後一個地址字節。同理,如果控制字段第一個字節的第一位爲"0",則還有第二個控制字段 字節,否則就只有一個字節。


信息場
跟在控制字段之後的是信息字段(Information)。信息字段包含有要傳送的數據,亦成爲數據字段。並不是每一幀都必須有信息字段。即信息字段可以爲0,當它爲0時,則這一幀主要是控制命令。
幀校驗字段
        緊跟在信息字段之後的是兩字節的幀校驗字段,幀校驗字段稱爲FC(Frame Check)字段, 校驗序列FCS(Frame check Sequence)。SDLC/HDLC均採用16位循環冗餘校驗碼CRC (Cyclic Redundancy Code),其生成多項式爲CCITT多項式X^16+X^12+X^5+1。除了標誌字段和自動插入的"0"位外,所有的信息都參加CRC計算。 CRC的編碼器在發送碼組時爲每一碼組加入冗餘的監督碼位。接收時譯碼器可對在糾錯範圍內的錯碼進行糾正,對在校錯範 圍內的錯碼進行校驗,但不能糾正。超出校、糾錯範圍之外的多位錯誤將不可能被校驗發現 。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章