天天看點

資料鍊路層最基本的服務有哪些,你知道嗎?

作者:網絡世界看不同人生

#頭條創作挑戰賽#資料鍊路層

資料鍊路層最基本的服務是将源計算機網絡層來的資料可靠的傳輸到相鄰節點的目标計算機的網絡層。為達到這一目的,資料鍊路層必須具備一系列相應的功能,主要有:如何将資料組合成資料塊(在資料鍊路層中将這種資料塊稱為幀,幀是資料鍊路層的傳送機關);如何控制幀在實體信道上的傳輸,包括如何處理傳輸差錯,如何調節發送谏率以使之與接收方相比對;在兩個網路實體之間提供資料鍊路通路的建立、維持和釋放管理。

為了實作上述的目标,資料鍊路層主要需要完成的功能有組幀、差錯控制、流量控制、鍊路管理、 MAC 尋址、區分資料與控制資訊、透明傳輸。

1、組幀方法

資料鍊路層為了能實作資料有效的差錯控制,就采用了一種"幀"的資料塊進行傳輸。而要采幀格式傳輸,就必須有相應的幀同步技術,這就是資料鍊路層的"組幀"(也稱為"幀同步"、"成幀")功能。

采用幀的好處是,在發現有資料傳送錯誤時,隻需将有差錯的幀再次傳送,而不需要将全部資料的位流進行重傳,這樣傳送效率上将大大提高。但同時也帶來了兩方面的問題:

(1)如何識别幀的開始與結束。

(2)在夾雜着重傳的資料幀中,接收方在接收到重傳的資料幀時是識别成新的資料幀,還是識别成已傳幀的重傳幀呢?這就要靠資料鍊路層的各種"幀同步"技術來識别了。"幀同步"技術既可使接收方能從以上并不是完全有序的位流中準确地區分出每一幀的開始和結束,同時還可識别重傳幀。

4種最常用的組幀方法有1.字元計數法、2.字元填充幀定界法、3.位填充幀定界法、4.實體層違例法。

2、資料鍊路層協定

資料鍊路層協定有 HDLC 、 PPP 、 SDLC 等,主要介紹 HDLC 和 PPP 協定。

1. HDLC 協定

HDLC 源于 IBM 開發的 SDLC , SDLC 是由 IBM 開發的第一個面向位的同步資料鍊路層協定。随後, ANSI 和 ISO 均采納并發展了 SDLC ,并且分别提出了自己的标準, ANSI 提出了進階資料鍊路控制規程( Advanced Data Communication Control Procedure , ADCCP ),而 ISO 提出了 HDLC 。

作為面向位的同步資料控制協定的典型, HDLC 隻支援同步傳輸。但是 HDLC 既可工作在點到點線路方式下,也可工作在點到多點線路方式下;同時 HDLC 既适用于半雙工線路,也适用于全雙工線路。 HDLC 協定的子集被廣泛用于 X .25網絡、幀中繼網絡以及區域網路的邏輯鍊路控制( Logic Link Control , LLC )子層作為鍊路層協定以支援相鄰節點之間可靠的資料傳輸。

1) HDLC 幀格式

1 1 1 >=0 2 1位元組

01111110 Address Control Infor FCS 01111110

每個字段的含義如下:

(1)标志字段 F ( Flag )。該字段為01111110的位模式,用以辨別幀的開始與結束,也可以作為幀與幀之間的填充。在連續發送多個幀時,同一個辨別既可用于表示前一幀的結束,又可用于表示下一幀的開始。通常在不進行幀傳送的時刻,信道仍處于激活狀态,在這種狀态下發送方不斷地發送辨別字段,而接收方則檢測每一個收到的辨別字段,一旦發現某個辨別字段後面不再是一個辨別字段,便可認為新的幀傳輸已經開始。采用"0位插入法"可以實作使用者資料的透明傳輸。

(2)位址字段 A ( Address )。該字段的内容取決于所采用的操作方式。每個節點都被配置設定一個唯一的位址。控制幀中的位址字段攜帶的是對方節點的位址,而響應幀中的位址字段所攜帶的位址是本節點的位址。某一位址也可配置設定給不止一個節點,這種位址稱為組位址。利用一個組位址傳輸的幀能被組内所有的節點接收。還可以用全"1"位址來表示包含所有節點的位址,全"1"位址稱為廣播位址,含有廣播位址的幀傳送給鍊路上所有的節點。另外,還規定全"0"的位址不配置設定給任何節點,僅作為測試用。

位址字段長度通常是8位,可表示256個位址。當位址字段的首位為"1"時,表示位址字段隻用8位:若首位為"0"時,表示本位元組後面1個位元組是擴充位址字段。這就意味着 HDLC 位址字段可以辨別超過256個以上的站點位址。

(3)控制字段 C ( Control )。控制字段占用1個位元組長度。控制字段用于構成各種指令及響應,以便對鍊路進行監視與控制。該字段是 HDLC 幀格式的關鍵字段。控制字段中的第1位或第2位表示幀的類型,即資訊幀 I 幀、監控幀 S 幀和無編号幀 U 幀。3種類型的幀控制字段的第5位是 P / F ( Poll / Final ,輪詢/終止)位。

(4)資訊字段 I ( Information )。資訊字段可以是任意的二進制位串,長度未作限定,其上限由 FCS 字段或通信節點的緩沖容量來決定。目前,國際上用得較多的是1000~

2000位,而下限可以是0,即無資訊字段。另外,監控幀中不可有資訊字段。

(5)幀校驗序列。在 HDLC 協定的所有幀中都包含一個16位的幀校驗序列( Frame Check Sequence , FCS ),用于差錯檢測。 HDLC 協定的校驗序列是對整個幀的内容進行 CRC 循環備援校驗,但标志字段和0位插入部分不包括在幀校驗範圍内。 HDLC 協定幀校驗序列的生成多項式一般采用多項式x16+x12+ x +1。

2) HDLC 幀類型

HDLC 的控制字段有8位。如果第1位為"0"時,表示該幀為資訊幀;第1、2位為"10"時,表示該幀為監控幀;第1、2位為"11"時,表示該幀為無編号幀。

(1)資訊幀( Information Frame )用于傳送有效資訊或資料,通常簡稱為 1 幀。

I 幀控制字段的第1位為0。 HDLC 協定采用滑動視窗機制,允許發送方不必等待确認而連續發送多個資訊幀。控制字段中的 N ( S )用于存放發送幀的序列, N ( R )用于存放接收方下一個預期要接收的幀的序号。 N ( S )與 N ( R )均為3位,可取值0~7。

(2)監控幀( Supervisor Frame )用于差錯控制和流量控制,通常稱為 S 幀。監控幀以控制字段第1、2位為10來标志。監控幀控制字段的第3、4位為監控幀類型編碼,共有4種不同的編碼,

幀類型 Type字段 功能描述 N(R)字段的含義
RR 00 接收就緒,請求發送下一幀 期望接受的下一個I幀的序号
REJ 01 請求重新發送序号為N(R)的所有幀 重發幀的開始序号
RNR 10 請求暫停發送資料幀 N(R)之前各幀已正确接收
SREJ 11 請求重發指定幀 重發幀的順序号

接收方可以用接收就緒( Receive Ready , RR )監控幀應答發送方,希望發送方發送序号為 N ( R )的資訊幀。 RR 幀就相當于專門應答幀(因為一般情況下,應答資訊都是通過反向資料幀的捎帶來完成的)。

接收方可以用拒絕( REJect , REJ )監控幀來要求發送方重傳編号為 N ( R )之後所有的資訊幀(包括 N ( R )幀),同時暗示 N ( R )以前的資訊幀被正确接收。

接收方傳回接收未就緒( Receive Not Ready , RNR )監控幀,表示編号小于 N ( R )的資訊幀已被收到,但目前正忙,尚未準備好接收編号為 N ( R )的資訊幀,這可用來對鍊路進行流量控制。

接收方傳回選擇拒絕( Select REJect , SREJ )監控幀來要求發送方隻發送編号為 N ( R )的資訊幀,并暗示其他編号的資訊幀已經全部正确接收到。

RR 監控幀和 RNR 監控幀有兩個主要功能:首先這兩種監控幀用來表示接收方已經準備好或未準備好資訊;其次确認編号小于 N ( R )的所有資訊幀都正确接收到。

REJ 監控幀和 SREJ 監控幀用于向發送方指出發生了差錯, REJ 監控幀用于 GO - BACK - N 政策用以請求重發 N ( R )起始的所有幀; SREJ 幀用于選擇重傳協定,用于指定重發某個特定的幀。

(3)無編号幀 U ( Unnumbered Frame )用控制字段第1、2位為11來辨別。無編号幀因為其控制字段中不包含編号 N ( S )和 N ( R )而得名,簡稱 U 幀。 U 幀用于提供對鍊路的建立、拆除以及多種控制工程。無編号幀 U 用5個修正( Modifier )位來進行定義,最多可以表示32種控制幀。

3、PPP協定

PPP 是RFC1171/1172制定的,是在點對點線路上對包括 IP 在内的 LAN 協定進行中繼的 Internet 标準協定。 PPP 被設計成支援多種上層協定,并設計成具有不依存于網絡層協定的資料鍊路。在用 PPP 對各個網絡層協定進行中繼時,每個網絡層協定必須有某個對應于 PPP 的規格,這些規格有一些已經存在。 PPP 是由兩種協定構成的:一種是為了確定不依存于協定的資料鍊路而采用的 LCP ( Link Control Protocol ,鍊路控制協定);另一種為了實作在 PPP 環境中利用網絡層協定控制功能的 NCP ( Network Control Protocol ,網絡控制協定)。

NCP 的具體名稱在對應的網絡層協定中有所不同。更準确地說, PPP 所規定協定隻是 LCP ,至于将 NCP 及網絡層協定如何放入 PPP 幀中,要由開發各種網絡層協定的廠家完成。 PPP 幀具有傳輸 LCP 、 NCP 及網絡層協定的功能。對利用 LCP 的實體層規格沒有特殊限制。可以利用 RS -232- C 、 RS -422/423、 V .35等通用的實體連接配接器,傳輸速率的應用領域也沒有特别規定,可以利用實體層規格所容許的傳輸速率。

1) PPP 協定的應用

PPP 協定是目前廣域網上應用最廣泛的協定之一,它的優點在于簡單、具備使用者驗證能力、可以解決 IP 配置設定等。

家庭撥号上網就是通過 PPP 在使用者端和營運商的接入伺服器之間建立通信鍊路。目前,寬帶接入已經成為取代撥号上網的新方式,在寬帶接入技術日新月異的今天, Ppp 也衍生出新的應用。典型的應用是在 ADSL 接入方式當中, PPP 與其他的協定共同派生出了符合寬帶接入要求的新的協定,如 PPPoE ( PPP over Ethernet ,以太網上的 PPP ), PPPoA ( PPP over ATM , ATM 網上的 PPP )。

利用以太網資源,在以太網上運作 PPP 來進行使用者認證接入的方式稱為 PPPoE 。 PPPoE 既保護了使用者方的以太網資源,又完成了 ADSL 的接入要求,是目前 ADSL 接入方式中應用最廣泛的技術标準。

同樣,在 ATM 網絡上運作 PPP 協定來管理使用者認證的方式稱為 PPPoA 。它與 PPPoE 的原理、作用都相同;不同的是, PPPoA 是在 ATM 網絡上,而 PPPoE 是在以太網網絡上運作,是以要分别适應 ATM 标準和以太網标準。

2) PPPoE 協定簡介

随着寬帶網絡技術的不斷發展,以 xDSL 、 Cable Modem 和以太網為主的幾種主流寬帶接入技術的應用已如火如荼地展開。同時,又給各大網絡營運商們帶來了種種新的問題,無論使用哪種接入技術,對于他們而言,可盼和可求的是如何有效地管理使用者,如何從網絡的投資中收取回報,是以對于各種寬帶接入技術的收費問題就變得更加敏感。在傳統的以太網模型中,是不存在所謂的使用者計費的概念,要麼使用者能擷取 IP 位址上網,要麼使用者就無法上網。 IETF ( Internet Engineering Task Force ,網際網路工程任務組)的工程師們在秉承窄帶撥号上網的營運思路,制定出了在以太網上傳送 PPP 資料包的協定,這個協定出台後,各網絡裝置制造商也相繼推出自己品牌的寬帶接入伺服器( Broadband Access Server , BAS ),它不僅能支援 PPPoE 協定會話的終結,而且還能支援其他許多協定,例如,華為公司的MA5200和北電的Shasta5000。

PPPoE 協定提供了在廣播式的網絡(如以太網)中多台主機連接配接到遠端的通路集中器(稱目前能完成上述功能的裝置為寬帶接入伺服器)上的一種标準。在這種網絡模型中,不難看出所有使用者的主機都需要能獨立地初始化自己的 PPP 協定棧,而且通過 PPP 協定本身所具有的一些特點,能實作在廣播式網絡上對使用者進行計費和管理。為了能在廣播式的網絡上建立、維持各主機與通路集中器之間點對點的關系,那麼就需要每個主機與通路集中器之間能建立唯一的點到點的會話。

PPPoE 協定共包括兩個階段,即 PPPoE 的發現階段( PPPoE Discovery Stage )和 PPPoE 的會話階段( PPPoE Session Stage )。對于 PPPoE 的會話階段,可以看成和 PPP 的會話過程是一樣的,而兩者的主要差別在于隻是在 PPP 的資料封包前封裝了 PPPoE 的封包頭。無論是哪一個階段的資料封包最終會被封裝成以太網的幀進行傳送。

PPPoE 的資料封包是被封裝在以太網幀的資料域内的。可以把 PPPoE 封包分成兩大塊,一大塊是 PPPoE 的資料報頭;另一塊則是 PPPoE 的淨載荷(資料域),對于 PPPoE 封包資料域中的内容會随着會話過程的進行而不斷改變。

PPPoE 資料封包最開始的4位為版本域,協定中給出了明确的規定,這個域的内容填充0x01。緊接在版本域後的4位是類型域,協定中同樣規定,這個域的内容填充為0x01。代碼域占用1位元組,對于 PPPoE 的不同階段這個域内的内容也是不一樣的。會話 ID 占用2位元組,當通路集中器還未配置設定唯一的會話 ID 給使用者主機的話,則該域内的内容必須填充為0x0000,一旦主機擷取了會話 ID 後,那麼在後續的所有封包中該域必須填充那個唯一的會話 ID 值。

長度域為2位元組,用來訓示 PPPoE 資料封包中淨載荷的長度。資料域有時也稱為淨載荷域,在 PPPoE 的不同階段該域内的資料内容會有很大的不同。在 PPPoE 的發現階段時,該域内會填充一些 Tag (标記);而在 PPPoE 的會話階段,該域則攜帶的是 PPP 的封包。

繼續閱讀