91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 其它綜合

PPP協議鏈路操作的軟件實現

發布時間:2008/6/5 0:00:00 訪問次數:1460

1 ppp協議簡介

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

ppp協議分為3個組成部分:

(1)一個將ip數據報封裝到串行鏈路的方法。ppp封裝提供了不同網絡層協議同時通過統一鏈路的多路技術,使其保有對常用支持硬件的兼容性。

(2)一個用來建立、配置和測試數據鏈路連接的鏈路控制協議lcp(link control protoco1)。通信的雙方可通過lcp包協商一些選項。

(3)一套網絡控制協議(network control protoco1)。ncp是一族協議,負責解決物理連接上運行什么網絡協議,以及解決上層網絡協議發生的問題。他支持不同的網絡層協議,如ip,osi的網絡層,deccnet,以及appletalk等。

ppp幀封裝格式如下:

ppp幀以標志字符01111110開始和結束,地址字段長度為1b,內容為標準廣播地址1111111l,控制字段為00000011。協議字段長度為2b,其值代表其后的數據字段所屬的網絡層協議。數據字段包含協議字段中指定的協議的數據報,長度為0~1 500b。crc字段為整個幀的循環冗余校驗碼,用來檢測傳輸中可能出現的數據錯誤。

對應ppp協議的3個部分,ppp數據幀封裝也分為:ip數據報封裝、lcp控制數據封裝、ncp控制數據封裝。當ppp幀的協議字段為0x0021時,信息字段就是ip數據報;當協議字段為0xc021時,信息字段是lcp控制數據;當協議字段為0x8021,信息字段是ncp控制數據。

2 鏈路建立和狀態機

2.1 ppp鏈路建立的概述

一次完整的ppp回話過程包括4個階段:鏈路建立階段、認證階段、網絡層控制協議階段和鏈路終止階段。本文討論和實現的是鏈路建立階段。

鏈路建立過程如下:請求建立鏈接的一端用i。cp配置信息包(configure packets)建立連接。對端收到配置信息包以后,如果認為收到的配置請求及協商選項可以接受,將發送配置成功信息包(configure-ack packet),當一個配置成功信息包被發送且被接收,就完成了鏈路建立。在lcp建立完成以后,如果收到lcp配置請求包(lcp configure-request),鏈路將從網絡層協議階段或者認證階段返回到鏈路建立階段。

通常線路兩端要對如下的內容進行協商,這些內容包含在lcp配置請求包中:

(1)maximum-receive-unit(最大-接收-單元)

(2)authentication-protocol(鑒定-協議)

(3)quality-protocol(質量-協議)

(4)magic-number

(5)protocol-field-compression(協議-域-壓縮)

(6)address-and-control-field-compression(地址-和-控制-域-壓縮)

2.2 有限狀態機模型

ppp協議的lcp層的連接及協商過程比較復雜,通常使用狀態機模型來解釋ppp狀態的詳細變遷情況。

狀態機是一種記錄下給定時刻狀態的設備,并根據輸入,對每個給定的改變,改變其狀態或引發一個動作。有限態自動機由事件、動作和狀態轉換定義,通過狀態機可以詳細解釋ppp協議中lcp鏈路建立的狀態轉換過程。lcp操作的狀態機可以分為以下的要素: 狀態 狀態(當前狀態和下一狀態)以及狀態轉換,是狀態機的基本概念。他指明狀態機當前時刻在做什么,處于什么情況。在lcp的鏈路連接狀態機中,共有10種狀態:initial,starting,closed,stopped,closing,stopping,req-sent,ack-received,ack--sent,opened。

事件 自動機里的狀態轉換是由事件引起的。在鏈路連接協商時,本端從線路的對端發送過來的lcp包和自己的狀態,判斷將要發生的事件,并結合當前的狀態判斷系統的下一狀態。在i.cp的鏈路建立過程中,事件種類較多,大概可以分為以下幾類:

①網絡狀態事件,表明i.cp或者ncp的狀態變化,包括up,down,open,close。

②超時計時器事件,與超時計時器有關的事件,包括to+,to一。

③s/t數據包事件,包括rcr+,rcr一,rca,rcn,rtr。rta,ruc,rxj+,rxj一,rxr。

動作 自動機中的動作由事件引起,所以,每個事件都對應了相應的動作。例如,有些動作表明了不同類型的lcp包的傳輸和(或)restar timer的啟動和停止。

狀態跳轉表 在ppp的鏈路操作中,每個狀態,在經過特定的事件后,會轉變成新的狀態,并有可能有相應的事件。這些關系比較復雜,可以用狀態跳轉表來表示。

3 軟件實現

3.1 軟件原理

ppp鏈路的建立、協商和握手的過程是需要建立連接的雙方來完成的。每一方根據對端發送的lcp包的類型,做出相

1 ppp協議簡介

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

ppp協議分為3個組成部分:

(1)一個將ip數據報封裝到串行鏈路的方法。ppp封裝提供了不同網絡層協議同時通過統一鏈路的多路技術,使其保有對常用支持硬件的兼容性。

(2)一個用來建立、配置和測試數據鏈路連接的鏈路控制協議lcp(link control protoco1)。通信的雙方可通過lcp包協商一些選項。

(3)一套網絡控制協議(network control protoco1)。ncp是一族協議,負責解決物理連接上運行什么網絡協議,以及解決上層網絡協議發生的問題。他支持不同的網絡層協議,如ip,osi的網絡層,deccnet,以及appletalk等。

ppp幀封裝格式如下:

ppp幀以標志字符01111110開始和結束,地址字段長度為1b,內容為標準廣播地址1111111l,控制字段為00000011。協議字段長度為2b,其值代表其后的數據字段所屬的網絡層協議。數據字段包含協議字段中指定的協議的數據報,長度為0~1 500b。crc字段為整個幀的循環冗余校驗碼,用來檢測傳輸中可能出現的數據錯誤。

對應ppp協議的3個部分,ppp數據幀封裝也分為:ip數據報封裝、lcp控制數據封裝、ncp控制數據封裝。當ppp幀的協議字段為0x0021時,信息字段就是ip數據報;當協議字段為0xc021時,信息字段是lcp控制數據;當協議字段為0x8021,信息字段是ncp控制數據。

2 鏈路建立和狀態機

2.1 ppp鏈路建立的概述

一次完整的ppp回話過程包括4個階段:鏈路建立階段、認證階段、網絡層控制協議階段和鏈路終止階段。本文討論和實現的是鏈路建立階段。

鏈路建立過程如下:請求建立鏈接的一端用i。cp配置信息包(configure packets)建立連接。對端收到配置信息包以后,如果認為收到的配置請求及協商選項可以接受,將發送配置成功信息包(configure-ack packet),當一個配置成功信息包被發送且被接收,就完成了鏈路建立。在lcp建立完成以后,如果收到lcp配置請求包(lcp configure-request),鏈路將從網絡層協議階段或者認證階段返回到鏈路建立階段。

通常線路兩端要對如下的內容進行協商,這些內容包含在lcp配置請求包中:

(1)maximum-receive-unit(最大-接收-單元)

(2)authentication-protocol(鑒定-協議)

(3)quality-protocol(質量-協議)

(4)magic-number

(5)protocol-field-compression(協議-域-壓縮)

(6)address-and-control-field-compression(地址-和-控制-域-壓縮)

2.2 有限狀態機模型

ppp協議的lcp層的連接及協商過程比較復雜,通常使用狀態機模型來解釋ppp狀態的詳細變遷情況。

狀態機是一種記錄下給定時刻狀態的設備,并根據輸入,對每個給定的改變,改變其狀態或引發一個動作。有限態自動機由事件、動作和狀態轉換定義,通過狀態機可以詳細解釋ppp協議中lcp鏈路建立的狀態轉換過程。lcp操作的狀態機可以分為以下的要素: 狀態 狀態(當前狀態和下一狀態)以及狀態轉換,是狀態機的基本概念。他指明狀態機當前時刻在做什么,處于什么情況。在lcp的鏈路連接狀態機中,共有10種狀態:initial,starting,closed,stopped,closing,stopping,req-sent,ack-received,ack--sent,opened。

事件 自動機里的狀態轉換是由事件引起的。在鏈路連接協商時,本端從線路的對端發送過來的lcp包和自己的狀態,判斷將要發生的事件,并結合當前的狀態判斷系統的下一狀態。在i.cp的鏈路建立過程中,事件種類較多,大概可以分為以下幾類:

①網絡狀態事件,表明i.cp或者ncp的狀態變化,包括up,down,open,close。

②超時計時器事件,與超時計時器有關的事件,包括to+,to一。

③s/t數據包事件,包括rcr+,rcr一,rca,rcn,rtr。rta,ruc,rxj+,rxj一,rxr。

動作 自動機中的動作由事件引起,所以,每個事件都對應了相應的動作。例如,有些動作表明了不同類型的lcp包的傳輸和(或)restar timer的啟動和停止。

狀態跳轉表 在ppp的鏈路操作中,每個狀態,在經過特定的事件后,會轉變成新的狀態,并有可能有相應的事件。這些關系比較復雜,可以用狀態跳轉表來表示。

3 軟件實現

3.1 軟件原理

ppp鏈路的建立、協商和握手的過程是需要建立連接的雙方來完成的。每一方根據對端發送的lcp包的類型,做出相

相關IC型號

熱門點擊

 

推薦技術資料

羅盤誤差及補償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
罗山县| 贞丰县| 朔州市| 盐源县| 东乌| 贵德县| 随州市| 缙云县| 拜城县| 鹤峰县| 吴忠市| 青冈县| 安义县| 平乐县| 兴安盟| 新昌县| 钦州市| 江川县| 洛浦县| 惠来县| 西昌市| 丘北县| 竹山县| 汝城县| 蓬莱市| 永定县| 吉林省| 白沙| 旺苍县| 潍坊市| 女性| 喜德县| 军事| 南昌县| 丘北县| 讷河市| 平乡县| 慈溪市| 长武县| 松阳县| 乐安县|