PPP幀 點到點協(xié)議

2020-06-17 09:45 更新

一、簡介

1.作用

是為在同等單元之間傳輸bai數(shù)據(jù)包這樣的簡單鏈路設計的鏈路層協(xié)議。這種鏈路提供全雙工操作,并按照順序傳遞數(shù)據(jù)包。設計目的主要是用來通過撥號或專線方式建立點對點連接發(fā)送數(shù)據(jù),使其成為各種主機、網(wǎng)橋和路由器之間簡單連接的一種共通的解決方案。

二、幀格式

1.報文格式

PPP幀的內容是指Address、Control、Protocol和Information四個域的內容。

字段 長度 含義
Flag 1字節(jié) Flag域標識了一個物理幀的起始和結束,該字節(jié)為0x7E。
Address 1字節(jié) PPP協(xié)議室被運用在點對點的鏈路上,它可唯一標識對方,因此無須知道對方數(shù)據(jù)鏈路層地址。所以該字節(jié)無任何意義,按協(xié)議規(guī)定填充為全1廣播地址。
Control 1字節(jié) 同Address域一樣,PPP數(shù)據(jù)幀的Control域也沒實際意義,規(guī)定值為0x03,該域與Address域一起標識了PPP報文,即PPP報文頭為FF03。
Protocol 1字節(jié)或2字節(jié) 協(xié)議域,可用來區(qū)分PPP數(shù)據(jù)幀中信息域所承載的數(shù)據(jù)報文的內容。協(xié)議域的內容必須依據(jù)ISO 3309的地址擴展機制所給出的規(guī)定。該機制規(guī)定協(xié)議域所填充的內容必須為奇數(shù),也就是要求低字節(jié)的最低位為“1”,高字節(jié)的最低位為“0”。如果當發(fā)送端發(fā)送的PPP數(shù)據(jù)幀的協(xié)議域字段不符合上述規(guī)定,接收端則會認為此數(shù)據(jù)幀是不可識別的。接收端向發(fā)送端發(fā)送一個Protocol-Reject報文,在該報文尾部將填充被拒絕報文的協(xié)議號。
Information 0~1500字節(jié) 信息域最大長度是1500字節(jié),其中包括填充域的內容。信息域的最大長度等于PPP協(xié)議中MRU(Maximum Receive Unit)的缺省值。在實際應用當中可根據(jù)實際需要進行信息域最大封裝長度選項的協(xié)商。如果信息域長度不足1500字節(jié),可被填充,但不是必須的。如果填充則需通信雙方的兩端能辨認出有用與無用的信息方可正常通信。FCS 0/1/2字節(jié) FCS域計算范圍是除了flag域的其他域。校驗域的功能主要對PPP數(shù)據(jù)幀傳輸?shù)恼_性進行檢測。在數(shù)據(jù)幀中引入了一些傳輸?shù)谋WC機制,會引入更多的開銷,這樣可能會增加應用層交互的延遲。
Code 1字節(jié) 代碼域,主要是用來標識LCP數(shù)據(jù)報文的類型。在鏈路建立階段,接收方接收到LCP數(shù)據(jù)報文。當其代碼域的值無效時,就會向對端發(fā)送一個LCP的代碼拒絕報文(Code-Reject報文)。如果是IP報文,則不存在此域,取而代之的是IP報文內容。
Identifier 1字節(jié) 標識域的值表示進行協(xié)商報文的匹配關系。 標識域目的是用來匹配請求和響應報文。一般而言,在進入鏈路建立階段時,通信雙方任何一端都會連續(xù)發(fā)送幾個配置請求報文(Configure-Request報文)。這幾個請求報文的數(shù)據(jù)域的值可能是完全一樣的,只是它們的標志域不同。通常一個配置請求報文的ID是從0x01開始逐步加1的。當對端接收到該配置請求報文后,無論使用何種報文回應對方,但必須要求回應報文中的ID要與接收報文中的ID一致。當通信設備收到回應后就可以將該回應與發(fā)送時的進行比較來決定下一步的操作。
Length 2字節(jié) 長度域表示此協(xié)商報文長度,它包含Code域及Identifier域的長度。長度域的值就是該LCP報文的總字節(jié)數(shù)據(jù)。它是代碼域、標志域、長度域和數(shù)據(jù)域四個域長度的總和。 長度域所指示字節(jié)數(shù)之外的字節(jié)將被當作填充字節(jié)而忽略掉,而且該域的內容不能超過MRU的值。
Data 變長 數(shù)據(jù)域所包含的是協(xié)商報文的內容。

2.常見數(shù)據(jù)值

報文格式標識

0021: IP報文
002b: Novell IPX
002d: Van Jacobson Compressed TCP/IP
002f: Van Jacobson Uncompressed TCP/IP
0057: IPV6報文
8021: IPCP報文
802b: Novell IPX Control Protocol
8031: Bridging NC
8057: IPv6 CP報文
C021: LCP報文
C023: Password Authentication Protocol
C223: Challenge Handshake Authentication Protocol

Code

常見Code值如下:

0x01: Configure-Request


0x02: Configure-Ack


0x03: Configure-Nak


0x04: Configure-Reject


0x05: Terminate-Request


0x06: Terminate-Ack


0x07: Code-Reject


0x08: Protocol-Reject


0x09: Echo-Request


0x0a: Echo-Replyt


0x0b: Discard-Request


0x0c: Reserved

Type

為協(xié)商選項類型。 常見Type中的協(xié)商類型值:

0x01: Maximum-Receive-Unit


0x02: Async-Control-Character-Map


0x03: Authentication-Protocol


0x04: Quality-Protocol


0x05: Magic-Number


0x06: RESERVED


0x07: Protocol-Field-Compression


0x08: Address-and-Control-Field-Compression

Length為協(xié)商選項長度,它是指Data域的總長度,也就是包含Type、Length和Data。 Data為協(xié)商的選項具體內容。

二、配置命令

encapsulation PPP 把接口的封裝改為 PPP ppp pap sent-username R1 password 123456 PAP 認證時,向對方發(fā)送用戶名 R1 和密碼 123456 PPP authentication pap PPP 的認證方式為 PAP user R1 password 123456 為對方創(chuàng)建用戶 R1,密碼為 123456 debug ppp authentication 打開 PPP 的認證調試過程 ppp authentication chap PPP 的認證方式為 CHAP

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號