一、常用的資料連結協定(HDLC、PPP)
## (一)分析協定的想法 步驟一:了解協定的概貌,知道這個協定設計的目的、基本特性步驟二:以協定資料單元(對於資料鏈結層而言是訊框)的格式為主要線索來研究協定的 具體實作步驟三:協議如何解決實際問題? (二)HDLC協定(進階資料鏈路控制規程)(面向位元協定) HDLC協定是一個面向位元的協議,其主要解決了資料鏈結層鏈路管理、定址、幀同步、錯誤控制 制、流量控制,其具有了平衡系統的和非平衡系統兩個特性。 1、HDLC的組成: 框架結構(語法) 規程元素(文法)## 規則類型(語意)# # 使用HDLC語法可以定義多種具有不同操作特性的連結層協定。
2、HDLC的描述
HDLC在描述時提出了三個層次的概念:
HDLC在描述時提出了三個層次的概念: (1)所有參與通訊的節點分類(資料站):主站、次站、組合站。 在先前的以單一處理機為中心的多終端聯機系統的集中式控制,主站和次站時成對出現的,而對於現在的分散式結構(如分組交換網路)來說,所有的站點都是組合站。 (2)連結類型:平衡型,非平衡型。 集中式控制屬於非平衡型,而分散式控制則屬於平衡型(3)操作模式:正規反應模式、非同步反應模式、非同步平衡模式 # 平衡型來說其只有非同步平衡模式,即每個站點自主發出通信,是自治系統。而對於由主站和次站構成的非平衡型來說,有正規響應模式,即次站必須受到主站的控制,在沒有得到主站許可的情況下,不能主動發起資料傳輸。而在非同步回應模式下,次站可以主動發起資料傳輸。 3、HDLC協定資料單元的格式(幀格式) #(1)標誌欄位:幀首字段和幀尾字段在內容上看都是由「01111110」組成,其用來分割幀的起始位置和結束位置#(2)位址欄位:其有兩個缺陷:一,由於當時是為以單處理機為中心的多終端連線系統設計的,所以只有一個位址(終端位址),不適用於現在的分散式電腦系統。二,位址只有8位,即最多只能表示256個節點。 (3)資訊欄位:協定資料單元的使用者資料部分,長度可變,但一般情況下是1500個位元組。 (4)訊框校驗序列:使用CRC校驗法。 (5)訊息訊框:傳送者在傳送資料時使用了固定尺寸的滑動視窗協定(視窗大小固定為7)#4、HDLC訊框的類型 訊框類型:(1)訊息訊框:替上層的實體傳送資料所使用的訊框 (2)監控訊框:進行錯誤控制與流量控制 (3)無序號訊框:連結管理控制,負責協商雙方如何溝通、如何使用頻道 (三)協定工程設計 1、協定說明(需求分析、功能設計):一般不使用自然語言說明(冗餘、多義性、結構性不 好)。而用有限狀態機(FSM)、Petri網等形式描述 2、協定驗證(協定工作模式是否把網路環境所遇到的問題考慮全、是否能夠正常運作) 3、協定測試:一致性測試、互通性測試、效能測試 4、有限狀態機:其認為任何協議,就是描述網路中的各種狀態,而狀態是有限的。 (1)有限狀態機是一個四元組(S,M,I,T) S為狀態的集合,M是標號的集合,I是狀態的集合, T是變遷的集合 其基本概念為:當出現一個變化時,會由一個狀態遷移到另一個狀態,而變化產生的原因是來自使用者的命令,訊息的到達,內在的超時等事件(2)狀態舉例:頻道有錯誤的單工停等協定 用三元組XYZ來表示狀態:XYZ X:傳送方正傳送的訊框序號,為0或1 Y:接收方正在等待的訊框序號,為0或1; Z:通道狀態:為0(表示正在傳送序號為0的訊框),1(表示正在傳送序號為1的訊框),###A(頻道正在傳送應答訊框)
或-(空)(表示頻道沒有傳送資料或傳送的資料出錯)
其初始狀態為000
#(3)優點:簡單明了,比較精確
缺點:對於複雜協定來說,事件數和狀態數會增加,處理困難。
5、perti網
(1)元素:
位置:描述系統狀態,以圓形表示
變化:描述修改系統狀態的遷移事件,以長方形或線段表示
弧:描述狀態與事件之間的關係,包括輸入弧和輸出弧,以有向弧表示。
黑點:標記,是目前的狀態
#如圖為有錯單工停等協定的preti描述,其最大特點在於可以單獨描述三種不同的狀態
(四)Internet的資料鏈結層
1、點到點通訊的兩種主要情形(intenet工作的主要場合):
(1)路由器到路由器:
(2)透過數據機撥號上網,或連入存取伺服器
想連入internet,有一個路由器或主機連接,必須申請連入才能接入)、專線接入(線路即時開放,不需要申請就可以完成資料傳輸)
2、SLIP(Serial LINE IP 串列線路IP協定)
本協定1984年提出,發送原始IP資料包,以一個標記位元組(0Xc0)定界,採用字元填入技術。其存在的問題主要有不提供錯誤校驗、只能支援IP協定且IP位址不能動態分配,不支援身份驗證,多版本不相容等問題,現在不再使用。
3、PPP(point-to-point Protocol)協定(RFC 1661 16621663)
(1)特性:提供錯誤校驗、支援多種協定、允許動態IP位址、支援身分認證
(2)與SLIP不同的是,其發送的不是原始IP資料包,而是以訊框單位傳送。
(3)PPP協定為了增加協定的適應性和彈性,協定被分為了兩個部分,一部分為鏈路控制協定LCP(LinkControl Protocol),可以建立、測試多種實體層服務,讓本資料鏈結層可以支援更豐富的類型
(4)PPPoE(Point to Point Protocol over Ethernet) 是基於乙太網路的點對點通訊協定
(5)的點對點通訊協定
(5)幀:PPP協定的幀格式與HDLC協定的幀格式基本相同,但是有以下兩點不同:第一,HDLC協定面向比特,而PPP協定面向的是字符,其要求所有通訊的節點支援ASCII字符集;第二,PPP協定是HDLC的簡化版本:
(1)訊框首與訊框的定界符與HDLC協定相同(00111111),
(2)位址欄位保留了8位元(為8個1),其不需要位址(應用環境為一條鏈路對應的兩段,不需要位址)
#(3)控製字段(無序號訊框)
# (4)協定欄位:處理完成之後指向哪個應用程式進行處理(IP/IPX。。)
###(5)淨負載域:預設為1500位元組(6)校驗和域:2或4個位元組###以上是如何分析資料鏈路協定HDLC及PPP的詳細內容。更多資訊請關注PHP中文網其他相關文章!