[優(yōu)秀嵌入式畢業(yè)設(shè)計]基于嵌入式Linux系統(tǒng)的PPPoE實現(xiàn)方案的研究_第1頁
[優(yōu)秀嵌入式畢業(yè)設(shè)計]基于嵌入式Linux系統(tǒng)的PPPoE實現(xiàn)方案的研究_第2頁
[優(yōu)秀嵌入式畢業(yè)設(shè)計]基于嵌入式Linux系統(tǒng)的PPPoE實現(xiàn)方案的研究_第3頁
[優(yōu)秀嵌入式畢業(yè)設(shè)計]基于嵌入式Linux系統(tǒng)的PPPoE實現(xiàn)方案的研究_第4頁
[優(yōu)秀嵌入式畢業(yè)設(shè)計]基于嵌入式Linux系統(tǒng)的PPPoE實現(xiàn)方案的研究_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、摘 要 嵌入式系統(tǒng)技術(shù)是近幾年發(fā)展較快的一種新興技術(shù),嵌入式系統(tǒng)產(chǎn)品已經(jīng)被 廣泛的應(yīng)用在科技、工業(yè)、通信、生活等各個領(lǐng)域。隨著信息化、智能化、網(wǎng)絡(luò) 化的發(fā)展,嵌入式系統(tǒng)將成為通信和消費類產(chǎn)品的共同發(fā)展方向。目前,嵌入式 處理器和嵌入式操作系統(tǒng)的發(fā)展日臻完善,結(jié)合成熟的網(wǎng)絡(luò)技術(shù),嵌入式產(chǎn)品的 網(wǎng)絡(luò)化將成為嵌入式技術(shù)的發(fā)展趨勢。pppoe 是寬帶接入方式中廣泛應(yīng)用的技術(shù), 為了實現(xiàn)嵌入式多媒體終端的寬帶接入,本文提出了嵌入式系統(tǒng) pppoe 協(xié)議的開 發(fā)。 現(xiàn)在大多數(shù) isp 都不提供 linux 操作系統(tǒng) pppoe 客戶端,而只提供 windows 客戶端支持。本文會先簡要介紹嵌入式 linu

2、x 系統(tǒng),接著詳細分析 pppoe 協(xié)議和 ppp 協(xié)議的原理,最后通過硬件與軟件設(shè)計給出了在嵌入式 linux 操作系統(tǒng)上的 pppoe 的實現(xiàn)方案,最終通過在 ubuntu 與目標(biāo)板的實際操作,實現(xiàn)嵌入式 linux 系統(tǒng)上的 pppoe 的撥號上網(wǎng)。 關(guān)鍵詞 嵌入式系統(tǒng) pppoe ppp linux abstract the embedded system is a potential technology developing fastly. the embedded productions have been widely used in various fileds such a

3、s research,industry,communication,lifes and so on. now,the embedded operation system,embedded processors are becoming mature. the embedded production will develop together with internet. pppoe is the main protocol of broadband access technology. in order to make the embedded system communicated thro

4、ugh broadband access mode,we research pppoe protocol in embedded system. now most isp dont supply pppoe cilent for linux,but do pppoe cilents only for windows. firstly this paper briefly describes the embedded linux system,then describes in detail the pppoe protocol and ppp protocol,lastly achieve t

5、he pppoe software implementations in the linux operating system.finally,according to the actual operation on the ubuntu and target to complete pppoe dial-up internet access of the embedded linux system. key words embedded system,pppoe,ppp,linux 目目 錄錄 第一章 緒論.1 1.1 課題的研究背景.1 1.2 課題的研究方案.2 1.3 課題的研究內(nèi)容.

6、2 第二章 嵌入式系統(tǒng).2 2.1 什么是嵌入式系統(tǒng).2 2.1.1 嵌入式系統(tǒng)定義.2 2.1.2 嵌入式系統(tǒng)的體系結(jié)構(gòu).2 2.2 嵌入式操作系統(tǒng).3 2.2.1 常見的嵌入式操作系統(tǒng).3 2.3 實時操作系統(tǒng).4 2.3.1 實時性.4 2.3.2 實時操作系統(tǒng)概括.4 2.4 嵌入式 linux操作系統(tǒng).4 2.4.1 linux 發(fā)展概述.4 2.4.2 linux 作為嵌入式操作系統(tǒng)的優(yōu)勢.5 2.4.3 linux 的版本.5 第三章 ppp 協(xié)議分析與研究.6 3.1 ppp 協(xié)議概述.6 3.2 ppp 的層次結(jié)構(gòu).6 3.3 ppp 的鏈路建立過程.7 3.4 ppp 的幀

7、結(jié)構(gòu).8 3.5 ppp 的身份驗證.9 第四章 pppoe 協(xié)議分析與研究.10 4.1 pppoe 協(xié)議概述.10 4.2 pppoe 協(xié)議原理.11 4.3 pppoe 協(xié)議分析.12 4.3.1 pppoe 的包格式.12 4.3.2 pppoe 的消息類型和協(xié)商過程.13 4.4 pppoe 協(xié)議的相關(guān)問題.14 4.4.1 超時重傳機制.14 4.4.2 pppoe 的 mtu 設(shè)置.14 第五章 pppoe 的實現(xiàn)方案.15 5.1 硬件設(shè)計.15 5.2 軟件設(shè)計.15 第六章 pppoe 在嵌入式 linux 系統(tǒng)上的實現(xiàn).21 6.1 icetek-omap3530-min

8、i板簡介.21 6.1.1 icetek-omap3530-mini板開發(fā)環(huán)境.22 6.1.2 icetek-omap3530-mini 板使用操作.22 6.2 icetek-omap3530-mini板嵌入式軟件目標(biāo)系統(tǒng)概述.23 6.3 ubuntu上實際操作-準備步驟.24 6.3.1 復(fù)制并且編譯 xloader 程序.24 6.3.2 復(fù)制并且編譯 uboot 程序.24 6.3.3 復(fù)制并且編譯內(nèi)核.25 6.4 ubuntu上實際操作-具體步驟.26 6.4.1 配置編譯內(nèi)核.26 6.4.2 安裝 ppp-2.4.4.27 6.4.3 安裝 rp-pppoe-3.10.28

9、 6.4.4 復(fù)制配置文件.30 6.4.5 在 icetek-omap3530-mini 板上測試運行.31 6.4.6 成果展示.31 結(jié)束語.31 致謝.32 參考文獻.33 第一章第一章 緒論緒論 1.1 課題的研究背景課題的研究背景 隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的不斷發(fā)展以及人們物質(zhì)生活水平 的不斷提高,人們對家居品質(zhì)的要求也與日俱增。曾經(jīng)在科幻片中幻想的諸多 情景:坐在沙發(fā)上就可以控制家里照明系統(tǒng);躺在床上就能開關(guān)衛(wèi)生間的換氣 扇、不必下床就能為客人打開家門;下班途中發(fā)個短信就可以提前啟動家中的 空調(diào)和熱水器;每天晚上,所有的窗簾都會定時自動關(guān)閉;出門在外不光可以 關(guān)閉忘記斷

10、電的家用設(shè)施,還可以實時查看家中老人及孩子的安全狀況。 所有的這些,不斷刺激著消費者對高品質(zhì)家居的追求,也不斷激勵著各大科研 機構(gòu)和廠商推動科技進步,從此,智能家居概念深入人心。 智能家居主要由寬帶接入、家庭智能網(wǎng)關(guān)、家居信息系統(tǒng)和家居控制網(wǎng)絡(luò) 等組成,其中家庭智能網(wǎng)關(guān)是整個智能家居的核心,不僅僅為家庭內(nèi)部網(wǎng)絡(luò)和 家庭外部網(wǎng)絡(luò)提供網(wǎng)絡(luò)連接,成為家庭內(nèi)部網(wǎng)絡(luò)的出口,同時,要對家庭網(wǎng)絡(luò) 及設(shè)備實現(xiàn)監(jiān)控、遠程控制,信息的路由選擇、內(nèi)外網(wǎng)絡(luò)之間的協(xié)議轉(zhuǎn)換等功 能。家庭智能網(wǎng)關(guān)對于智能家居的開展至關(guān)重要,智能家居是否能成功部署, 與家庭智能網(wǎng)關(guān)是否易用,是否可以與家庭網(wǎng)絡(luò)中的設(shè)備相互發(fā)現(xiàn)和互操作, 是否

11、支持多種業(yè)務(wù)均是緊密相關(guān)的,因此本文將家庭智能網(wǎng)關(guān)作為研究的對象。 由于本文是在嵌入式系統(tǒng)上實現(xiàn)的,所以下面將對嵌入式系統(tǒng)進一步地介紹。 隨著數(shù)字信息技術(shù)的發(fā)展,我們已經(jīng)進入了網(wǎng)絡(luò)時代,人類社會已經(jīng)進入 了后 pc 時代,其中嵌入式技術(shù)是近幾年來發(fā)展最為迅猛、最受人關(guān)注的一門 新興技術(shù)。從工業(yè)流水線控制、通訊、儀器儀表、汽車、航空航天、軍事裝備 等領(lǐng)域到手表、電話、手機、新型的電飯鍋、冰箱等生活用品,無處不體現(xiàn)了 嵌入式技術(shù)的身影。目前嵌入式計算機在數(shù)量上遠遠超過了各種通用計算機, pc 的各種輸入輸出和外部設(shè)備均由嵌入式處理器控制,每臺 pc 的外部設(shè)備中 包含了 5-10 個嵌入式微處理器

12、。根據(jù)美國嵌入式系統(tǒng)專業(yè)雜志 rtc 報道,21 世紀初的十年中,全球嵌入式系統(tǒng)市場需求量具有比 pc 市場大 10 至 100 倍的 商機。 目前以信息家電為代表的互聯(lián)網(wǎng)時代嵌入式產(chǎn)品,不僅為嵌入式市場展現(xiàn) 了美好的前景,注入了新的生命;同時也對嵌入式系統(tǒng)技術(shù),特別是軟件技術(shù)提 出新的挑戰(zhàn),這主要包括:支持日趨增長的功能密度、靈活的網(wǎng)絡(luò)聯(lián)接、輕便 的移動應(yīng)用和多媒體的的信息處理。嵌入式系統(tǒng)的多媒體和網(wǎng)絡(luò)化隨著多媒體 技術(shù)的發(fā)展不斷進步,視頻、音頻信息的處理水平越來越高,為嵌入式系統(tǒng)的 多媒體化創(chuàng)造了良好的條件,嵌入式系統(tǒng)的多媒體化將變?yōu)楝F(xiàn)實。嵌入式系統(tǒng) 中嵌入式 linux 系統(tǒng)是很重要的一

13、部分。 linux 從 1991 年問世到現(xiàn)在的短短十幾年時間內(nèi),已經(jīng)發(fā)展成為功能強大、 設(shè)計完善的操作系統(tǒng)之一,不僅可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)帲?新興的嵌入式領(lǐng)域內(nèi)也獲得了飛速發(fā)展。嵌入式 linux 以其可應(yīng)用于多種硬件 平臺、內(nèi)核高效穩(wěn)定、源代碼開放、軟件豐富、網(wǎng)絡(luò)通信和文件管理機制完善 等優(yōu)良特性,成為嵌入式系統(tǒng)領(lǐng)域中的一個研究熱點。 在如今的用戶上網(wǎng)方式中,adsl(asymmetric digital subscriber line,非 對稱數(shù)字用戶線路)是一種非常常見的方式,是一種通過現(xiàn)有普通電話線為家 庭、辦公室提供寬帶數(shù)據(jù)傳輸服務(wù)的技術(shù)。要實現(xiàn)嵌入式多媒體終端在

14、adsl 上通信,就必須開發(fā) pppoe 協(xié)議。 pppoe 全稱是 point to point protocol over ethernet(基于局域網(wǎng)的點對點通 信協(xié)議) ,這個協(xié)議是為了滿足越來越多的寬帶上網(wǎng)設(shè)備(即 adsl、無線、有 線電視等)和越來越快的網(wǎng)絡(luò)之間的通信而最新制定開發(fā)的標(biāo)準,它基于兩個 廣泛接受的標(biāo)準,即:以太網(wǎng)和 ppp(點到點)撥號協(xié)議。對于最終用戶來說 不需要用戶了解比較深的局域網(wǎng)技術(shù),只需要當(dāng)做普通撥號上網(wǎng)就可以了對于 服務(wù)商來說在現(xiàn)有局域網(wǎng)基礎(chǔ)上不需要花費巨資來做大面積改造,設(shè)置 ip 地址 綁定用戶等來支持專業(yè)方式。這就使得 pppoe 在寬帶接入服務(wù)中

15、比其他協(xié)議更 具有優(yōu)勢,因此逐漸成為寬帶上網(wǎng)的最佳選擇。 為了能夠使得開發(fā)的嵌入式多媒體終端應(yīng)用在更多的接入方式中(如 adsl) ,就要在嵌入式多媒體終端實現(xiàn) pppoe 接入認證協(xié)議,通過 pppoe 協(xié) 議軟件連接 isp(因特網(wǎng)服務(wù)提供商)并取得通信。 1.2課題的研究方案課題的研究方案 本課題旨在搭建一個家庭智能網(wǎng)關(guān)軟件平臺,主要對如何構(gòu)建基于 omap3530 和嵌入式 linux 操作系統(tǒng)的軟件平臺、并實現(xiàn) pppoe 的撥號上網(wǎng), 接入 isp 中并獲得公網(wǎng) ip 地址,這樣不僅可以實現(xiàn)家庭內(nèi)部網(wǎng)絡(luò)訪問 internet,也可以在家庭網(wǎng)關(guān)的平臺上搭建服務(wù)器,構(gòu)建 b/s 結(jié)構(gòu)供

16、遠程的 pc 訪問家庭內(nèi)部網(wǎng)絡(luò),從而了解家庭內(nèi)部情況。 本文中將通過硬件設(shè)計和軟件設(shè)計來闡述課題的研究方案,通過對硬件設(shè) 計的框架圖、軟件設(shè)計的框架圖以及對內(nèi)核與應(yīng)用程序之間的關(guān)系分析,通過 對程序代碼的分析與實現(xiàn)流程圖來介紹實現(xiàn)的一個方案。 1.3 課題的研究內(nèi)容課題的研究內(nèi)容 課題最終要在嵌入式 linux 系統(tǒng)上實現(xiàn) pppoe 協(xié)議,因此,論文分以下幾 個方面進行: 第一章:緒論。分析課題的研究背景。 第二章:嵌入式系統(tǒng)。介紹了嵌入式系統(tǒng)以及嵌入式 linux 系統(tǒng)的基本概 念。 第三章:ppp 協(xié)議的分析與研究。首先介紹了 ppp 協(xié)議的基本原理。 第四章:pppoe 協(xié)議的分析與研

17、究。介紹了 pppoe 協(xié)議的基本原理 第五章:pppoe 在嵌入式 linux 系統(tǒng)上的實現(xiàn)方案。 第六章:pppoe 在嵌入式 linux 系統(tǒng)上的實現(xiàn)步驟。 第二章第二章 嵌入式系統(tǒng)嵌入式系統(tǒng) 隨著 it(信息)技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普及,3c(計算機、 通訊、消費電子)合一的加速,數(shù)字化時代已經(jīng)來臨。嵌入式系統(tǒng)是數(shù)字化時 代的一大主流產(chǎn)品,世界各國在此領(lǐng)域開始了激烈競爭,以爭取獲得主導(dǎo)地位。 嵌入式系統(tǒng)是數(shù)字化產(chǎn)品的核心,為適應(yīng)嵌入式分布處理結(jié)構(gòu)和應(yīng)用上網(wǎng)需求, 面向 21 世紀的嵌入式系統(tǒng)要求配備標(biāo)準的一種或多種網(wǎng)絡(luò)通信接口。針對外部 互聯(lián)網(wǎng)要求,嵌入設(shè)備必需配有通信接口

18、,相應(yīng)需要 tcp/ip 協(xié)議族軟件支持。 2.1 什么是嵌入式系統(tǒng)什么是嵌入式系統(tǒng) 2.1.1 嵌入式系統(tǒng)定義嵌入式系統(tǒng)定義 嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪, 適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機 系統(tǒng)。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的 應(yīng)用程序等四個部分組成,用于實現(xiàn)對其他設(shè)備的控制、監(jiān)視或管理等功能。 2.1.2 嵌入式系統(tǒng)的體系結(jié)構(gòu)嵌入式系統(tǒng)的體系結(jié)構(gòu) 簡單的說,嵌入式系統(tǒng)是一個集系統(tǒng)的應(yīng)用軟件與硬件與一體,具有軟件 代碼小、高度自動化、響應(yīng)速度等特點,特別適用于要求實時和多任務(wù)的體系。 嵌入

19、式系統(tǒng)的硬件部分,包括處理器/微處理器、存儲器及外設(shè)器件和 i/o 端口、 圖形控制器。嵌入式系統(tǒng)有別于一般的計算機處理系統(tǒng),它不具備像硬盤那樣 大容量的存儲介質(zhì),而大多使用 eprom(可擦可編程只讀存儲器) 、 eeprom(電可擦可編程只讀存儲器)或閃存(flash memory)作為存儲介質(zhì)。 軟件部分包括操作系統(tǒng)軟件(要求實時和多任務(wù)操作)和應(yīng)用程序編程。應(yīng)用 程序控制著系統(tǒng)的運作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互 作用。 2.2 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式 系統(tǒng)(包括硬、軟件系統(tǒng))極為重要的組成部分,

20、通常包括與硬件相關(guān)的底層 驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標(biāo)準化瀏覽器等。 嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點。如能夠有效管理越來越復(fù)雜的 系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護中 解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序。與通用操作系 統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關(guān)依賴性、軟件固態(tài) 化以及應(yīng)用的專用性等方面具有較為突出的特點。嵌入式操作系統(tǒng)有功能豐富 和穩(wěn)定性好等優(yōu)點,每個具體的嵌入式系統(tǒng)都會有自己獨特的地方,在嵌入式 系統(tǒng)中使用操作系統(tǒng),能夠?qū)η度胧较到y(tǒng)的開發(fā)產(chǎn)生極大的推動作用。 2.2.1 常見的

21、嵌入式操作系統(tǒng)常見的嵌入式操作系統(tǒng) 隨著對于嵌入式操作系統(tǒng)需求的不斷擴大,各種各樣的嵌入式操作系統(tǒng)不 斷孕育而生,目前應(yīng)用范圍比較廣泛的嵌入式操作系統(tǒng)有以下幾種: 1)microsoft windows ce microsoft windows ce 是一個高效率的多平臺操作系統(tǒng)。它是從整體上為 有限資源的平臺設(shè)計的多線程、完整優(yōu)先權(quán)、多任務(wù)的操作系統(tǒng)。它的模板化 設(shè)計允許它對從掌上電腦到專用的工業(yè)控制器的用戶設(shè)備進行定制。 2)psos psos 是 isi(integrated systems inc.)公司研發(fā)的產(chǎn)品。psos 是一個模塊 化,高性能的實時操作系統(tǒng),專為嵌入式微處理器設(shè)計

22、,提供一個完全多任務(wù) 環(huán)境,在定制的或是商業(yè)化的硬件上提供高性能和高可靠性,可以讓開發(fā)者將 操作系統(tǒng)的功能和內(nèi)存需求按每個應(yīng)用的需要定制成專門的系統(tǒng)。 3)vxworks vxworks 操作系統(tǒng)是美國 windriver 公司于 1983 年設(shè)計開發(fā)的一種實時操 作系統(tǒng)。vxworks 是一個嵌入式實時操作系統(tǒng),采用微內(nèi)核的結(jié)構(gòu),具有支持 處理器多,網(wǎng)絡(luò)協(xié)議豐富,兼容性和裁剪性好等特點,同時具有程序動態(tài)連接 和下載的功能。它具有功能強大的應(yīng)用程序接口(api) ,但大多數(shù)的 vxworks api 是專用的,使用的是和 unix 不兼容得環(huán)境。 4)palmos palmos 是 3com

23、公司的產(chǎn)品,在掌上電腦和 pda 市場上占有很大的市場 份額。它有開放的操作系統(tǒng)應(yīng)用程序接口(api) ,開發(fā)商可以根據(jù)需要自行開 發(fā)所需的應(yīng)用程序。它擁有一個提供基本任務(wù)管理的搶占式的多任務(wù)管理內(nèi)核, 在存儲器管理方面引入了虛擬文件系統(tǒng)。 5)嵌入式 linux 嵌入式 linux 是將日益流行的 linux 操作系統(tǒng)進行裁剪修改,使之能在嵌 入式計算機系統(tǒng)上運行的一種操作系統(tǒng)。嵌入式 linux 既繼承了 internet 上無限 開放的源代碼資源,又具有嵌入式操作系統(tǒng)的特性。 隨著 linux 的迅速發(fā)展,嵌入式 linux 現(xiàn)在已經(jīng)有許多版本,包括強實時 的嵌入式 linux(如新墨西

24、哥工學(xué)院的 rt-linux 和堪薩斯大學(xué)的 kurt- linux)和一般的嵌入式 linux(如 clinux 和 pocket linux 等) 。其中,rt- linux 通過把通常的 linux 任務(wù)優(yōu)先級設(shè)為最低,而所有的實時任務(wù)的優(yōu)先級都 高于它,以達到既兼容通常的 linux 任務(wù),又保證強實時性能的目的。另一種 常用的嵌入式 linux 是 clinux,它是針對沒有 mmu 的處理器而設(shè)計的。它不 能使用處理器的虛擬內(nèi)存管理技術(shù),對內(nèi)存的訪問是直接的,所有程序中訪問 的地址都是實際的物理地址。它專為嵌入式系統(tǒng)做了許多小型化的工作。 本課題的開發(fā)就是基于這個操作系統(tǒng)下進行的。

25、 嵌入式操作系統(tǒng)還有 qnx、delta os、hopen os、c/os 等,這里就不一 一贅述了。 嵌入式操作系統(tǒng)往往都具有實時性,下面就解釋什么叫實時操作系統(tǒng)。 2.3 實時操作系統(tǒng)實時操作系統(tǒng) 2.3.1 實時性實時性 實時性是指能夠在限定時間內(nèi)執(zhí)行完規(guī)定的功能,并對外部的異步事件做 出反應(yīng)的能力。比較復(fù)雜的應(yīng)用需要嵌入式軟件能及時、并行、協(xié)調(diào)地對外部 事件做出正確的響應(yīng),并能有效地利用系統(tǒng)資源,避免競爭資源造成的系統(tǒng)崩 潰。 2.3.2 實時操作系統(tǒng)概括實時操作系統(tǒng)概括 實時操作系統(tǒng)(rtos)是具有實時性且能支持實時控制系統(tǒng)工作的操作系 統(tǒng)。其首要任務(wù)是調(diào)度一切可利用的資源來完成實

26、時控制任務(wù),其次才著眼于 提高計算機系統(tǒng)的使用效率,其重要的特點是能滿足對時間的限制和要求。在 任何時刻,它總是保證優(yōu)先級最高的任務(wù)占用 cpu。系統(tǒng)對現(xiàn)場不停機地監(jiān)測, 一旦有事件發(fā)生,系統(tǒng)能即刻做出相應(yīng)的處理。這除了由硬件質(zhì)量作為基本保 證外,主要由實時操作系統(tǒng)內(nèi)部的時間驅(qū)動方式及任務(wù)調(diào)度來決定。 實時操作系統(tǒng)是實時系統(tǒng)在啟動之后運行的一段背景程序,應(yīng)用程序是運 行在這個基礎(chǔ)之上的多個任務(wù)。實時操作系統(tǒng)根據(jù)各個任務(wù)的要求,進行資源 管理、消息管理、任務(wù)調(diào)度和異常處理等工作。在實時操作系統(tǒng)支持的系統(tǒng)紅, 每個任務(wù)第一具有不同的優(yōu)先級別,他將根據(jù)各個任務(wù)的優(yōu)先級來動態(tài)地切換 各個任務(wù),以保證對

27、實時性的要求。 從性能上講,實時操作系統(tǒng)與普通操作系統(tǒng)存在的區(qū)別主要體現(xiàn)在“實時” 二字上。在實時計算中,系統(tǒng)的正確性不僅依賴于計算的邏輯結(jié)果,而且依賴 于結(jié)果產(chǎn)生的時間。 rtos 與通用計算機 os 的區(qū)別: 1)實時性。響應(yīng)速度快,只有幾微妙;執(zhí)行時間確定,可預(yù)測。 2)代碼尺寸小。10100kb,節(jié)省內(nèi)存空間,降低成本。 3)應(yīng)用程序開發(fā)較難。 4)需要專用開發(fā)工具:仿真器、編譯器和調(diào)試器。 2.4 嵌入式嵌入式 linuxlinux 操作系統(tǒng)操作系統(tǒng) 隨著 motolola、三星、monta vista、飛利浦、nokia、ibm、sun 等眾多國 際頂級巨頭的加入,嵌入式 linu

28、x 的隊伍越來越龐大,在通信、信息、數(shù)字家 庭、工業(yè)控制等領(lǐng)域,隨處都能見到嵌入式 linux 的身影。根據(jù)美國 vdc(venture development co.)統(tǒng)計數(shù)據(jù)顯示,嵌入式 linux 的市場規(guī)模從 2001 年的 5520 萬美元,到 2006 年增長至 3.46 億美元,是什么讓嵌入式 linux 發(fā)展如此迅速,這一切都要歸功于 linux,可以說嵌入式 linux 正是繼承和發(fā)展 了 linux 的誘人之處才走到今天的,下面就從 linux 開始簡單地介紹一下嵌入 式 linux。 2.4.1 linux 發(fā)展概述發(fā)展概述 linux 操作系統(tǒng)是 unix 操作系統(tǒng)的一

29、個克隆版本。人們通常說的 linux 是 指由芬蘭人 linus torvalds 所寫的 linux 操作系統(tǒng)內(nèi)核。 在 linux 誕生之前,為了教學(xué)和研究的需要,阿姆斯特丹 vrije 大學(xué)的計算 機科學(xué)家 andrew s.tanwnbaum 以 unix 為藍本開發(fā)了 minix 作為一個教育工具。 1991 年初,linus 開始在一臺 386sx 兼容微機上學(xué)習(xí) minix 操作系統(tǒng)。通過學(xué) 習(xí),他逐漸不能滿足 minix 系統(tǒng)的現(xiàn)有性能,并開始醞釀開發(fā)一個新的免費操 作系統(tǒng),很快就在 minxi 新聞組得到了響應(yīng)。 linus 從一開始就決定自由傳播 linux,他把源代碼發(fā)布

30、在網(wǎng)上,于是,眾 多的愛好者和程序員也都通過互聯(lián)網(wǎng)加入到 linux 內(nèi)核開發(fā)工作中,1993 年, linux 的第一個正式版本 1.0 版發(fā)布,并遵從 gpl(gnu general public license)版權(quán)協(xié)議。 事實上,linux 系統(tǒng)是世界各地成千上萬志愿者設(shè)計和實現(xiàn)的。其目的是 建立不受任何商品化軟件版權(quán)制約的、全世界都能自由使用的類 unix 操作系統(tǒng)。 在 linux 操作系統(tǒng)的設(shè)計過程中,借鑒了很多 unix 的思想,但源代碼是全部重 寫的。目前 linux 操作系統(tǒng)可以運行在 x86,alpha,mips,power mac,mach 等類型的計算機上。從功能來看

31、,它既可以作為普通的桌面操作系統(tǒng),也可以 作為中小型的網(wǎng)絡(luò)操作系統(tǒng),甚至作為大型網(wǎng)絡(luò)的操作系統(tǒng)。 2.4.2 linux 作為嵌入式操作系統(tǒng)的優(yōu)勢作為嵌入式操作系統(tǒng)的優(yōu)勢 從 linux 系統(tǒng)的發(fā)展過程可以看出,linux 從最早開始就是一個開放的系統(tǒng), 并且它始終遵循源代碼開放的原則,它是一個成熟而穩(wěn)定的網(wǎng)絡(luò)操作系統(tǒng),作 為嵌入式操作系統(tǒng)有如下優(yōu)勢。 1低成本開發(fā)系統(tǒng) linux 的源碼開放性允許任何人可以獲取并修改 linux 的源碼。這樣一方面 大大降低了開發(fā)成本,另一方面又可以提高開發(fā)產(chǎn)品的效率。并且還可以在 linux 社區(qū)中獲得支持,用戶只需向郵件列表發(fā)一封郵件,即可獲得作者的支

32、持。 2. 可應(yīng)用于多種應(yīng)用平臺 linux 可支持 x86、powerpc、arm、xscale、mips、sh、68k、alpha、sparc 等多種 體系結(jié)構(gòu),并且已經(jīng)被移植到多種硬件平臺。這對于經(jīng)費、時間受限制的研究 與開發(fā)項目是很有吸引力的。linux 采用一個統(tǒng)一的框架對硬件進行管理,同 時從一個硬件平臺到另一個硬件平臺的改動與上層應(yīng)用無關(guān)。 3. 可定制的內(nèi)核 linux 具有獨特的內(nèi)核模塊機制,它可以根據(jù)用戶的需要,實時地將某些 模塊插入到內(nèi)核中或者從內(nèi)核中移走,并能根據(jù)嵌入式設(shè)備的個性需要量體裁 衣。經(jīng)裁減的 linux 內(nèi)核最小可達 150kb 以下,尤其適合嵌入式領(lǐng)域中資

33、源受 限的實際情況。 4. 性能優(yōu)異 linux 系統(tǒng)內(nèi)核精簡、高效、穩(wěn)定,能夠充分發(fā)揮硬件的功能,因此它比 其他操作系統(tǒng)的運行效率更高。在個人計算機上使用 linux,可以將它作為工 作站。它也非常適合在嵌入式領(lǐng)域中應(yīng)用,對比其他操作系統(tǒng),它占用的資源 更少,運行更穩(wěn)定,速度更快。 5. 良好的網(wǎng)絡(luò)支持 linux 是首先實現(xiàn) tcp/ip 協(xié)議棧的操作系統(tǒng),它的內(nèi)核結(jié)構(gòu)在網(wǎng)絡(luò)方面是 非常完整的,并提供了對包括十兆位、百兆位及千兆位的以太網(wǎng),還有無線網(wǎng) 絡(luò)、toking ring(令牌環(huán))和光纖甚至衛(wèi)星的支持,這對現(xiàn)在依賴于網(wǎng)絡(luò)的嵌 入式設(shè)備來說無疑是很好的選擇。 2.4.3 linux 的

34、版本的版本 任何一個軟件都有版本號,linux 也不例外。linux 的版本號分為兩部分: 內(nèi)核(kernel)與發(fā)行套件(distribution)版本。 linux 的內(nèi)核是系統(tǒng)的心臟,內(nèi)核包括了 700 多萬行代碼,是運行程序和 管理硬件設(shè)備的核心程序。沒有內(nèi)核,就不能運行程序。實際上內(nèi)核版本指的 是在 linus 領(lǐng)導(dǎo)下的開發(fā)小組開發(fā)出的系統(tǒng)內(nèi)核的版本號。 一般而言,一個基本的 linux 只是包含了 linux 核心(kernel)和 gnu 軟 件的一些基層系統(tǒng)軟件和實用工具(utilities) ,這樣一個操作系統(tǒng)僅僅能夠讓那 些 linux 專家完成一些很基本的系統(tǒng)管理任務(wù),如

35、果要滿足普通用戶的辦公室 或基于視窗的應(yīng)用開發(fā)等需要,則還需要再系統(tǒng)中加入 xfree86 視窗系統(tǒng)、 gnome 和 kde 桌面環(huán)境以及相應(yīng)的辦公應(yīng)用軟件等。因此一些組織或廠家將 linux 系統(tǒng)內(nèi)核與 gnu 軟件(系統(tǒng)軟件和工具)整合起來,并提供一些安裝界 面和系統(tǒng)設(shè)定與管理工具,這樣就構(gòu)成了一個發(fā)行套件,例如最常見的 slackware、red hat、debian、ubuntu 等。 下面就對有代表性的發(fā)行套件版本進行介紹。 1. red hat 國內(nèi),乃至是全世界的 linux 用戶最熟悉的發(fā)行版本想必就是 red hat 了。 red hat 最早是由 bob young 和

36、marc ewing 在 1995 年創(chuàng)建的。目前 red hat 分 為兩個系列:由 red hat 公司提供收費技術(shù)支持和更新的 red hat enterprise linux(rhel, red hat 的企業(yè)版),以及由社區(qū)開發(fā)的免費的桌面版 fedora core。 red hat 企業(yè)版有三個版本as、es 和 ws。as 是其中功能最為強大和 完善的版本。 2. debian debian 是一個致力于創(chuàng)建一個自由操作系統(tǒng)的合作組織,由 ian murdock 于 1993 年創(chuàng)建。該組織創(chuàng)建的操作系統(tǒng)為 debian gnu/linux,簡稱為 debian。這是一個免費的

37、linux 系統(tǒng),擁有許多用戶。 debian 系統(tǒng)分為三個版本,分別為穩(wěn)定版(stable) ,測試版(testing)和 不穩(wěn)定版(unstable) 。并且每次發(fā)布的版本都是穩(wěn)定版,而測試版在經(jīng)過一段 時間的測試證明沒有問題后會成為新的穩(wěn)定版。 3. ubuntu ubuntu 基于 debian,包括了大量來自 debian 發(fā)行版的軟件包,保留了 debian 強大的軟件包管理系統(tǒng),以便簡易地安裝或徹底地刪除程序。與大多數(shù) 發(fā)行版附帶數(shù)量巨大的可用可不用的軟件不同,ubuntu 的軟件包清單只包含那 些高質(zhì)量的重要應(yīng)用程序。 ubuntu 使用 gnome 桌面環(huán)境,并且十分注重系統(tǒng)

38、的安全性,采用 sudo 工具,所有系統(tǒng)相關(guān)的任務(wù)均需使用此指令,并輸入密碼,比起傳統(tǒng)以登入系 統(tǒng)管理員賬號進行管理工作有更加的安全性。ubuntu 設(shè)計成為標(biāo)準安裝完成即 可用讓使用者投入使用的操作系統(tǒng),用戶不需要另外安裝一些額外的軟件。 本文開發(fā)環(huán)境中將使用 ubuntu。 第三章第三章 ppp 協(xié)議分析與研究協(xié)議分析與研究 3.1 ppp 協(xié)議概述協(xié)議概述 ppp 協(xié)議全稱是 point to point protocol,是目前應(yīng)用范圍最廣的數(shù)據(jù)鏈路層 協(xié)議之一,它提供了同步和異步線路上的通信連接,在點對點連接上實現(xiàn)一個 傳輸多協(xié)議數(shù)據(jù)報的標(biāo)準方法。在 tcp/ip 協(xié)議集中,它是一種

39、用來封裝和傳輸 ip 數(shù)據(jù)報的數(shù)據(jù)鏈路層協(xié)議,可以替代 slip(serial line ip,串行線路 ip) 。 除了 ip 協(xié)議以外,ppp 還可以封裝和傳輸其他協(xié)議,包括 decnet、appletalk 和 ipx 等。 ppp 可以為基于各種主機、網(wǎng)橋和路由器的簡單連接提供一種互聯(lián)的解決 方案,與 ppp 協(xié)議推出前廣泛應(yīng)用的 slip 協(xié)議相比,ppp 協(xié)議具有 slip 所沒 有的多項功能:支持多協(xié)議、具有幀檢錯能力、支持 ip 地址的動態(tài)分配、支持 身份驗證方式的網(wǎng)絡(luò)安全等。 3.2 ppp 的層次結(jié)構(gòu)的層次結(jié)構(gòu) ppp 是一個多層協(xié)議,如圖 3-1 所示。ppp 首先由 l

40、cp 建立和配置通信鏈 路,再通過 ncp(network control protocol,網(wǎng)絡(luò)控制協(xié)議)傳送特定協(xié)議族 (如 ip、ipx、appletalk 和 osi 等)的數(shù)據(jù)。 ppp 主要由如下三大部分組成。 hdlc:用于封裝和傳輸上層數(shù)據(jù),并進行差錯檢測工作。 lcp:用于建立、配置和終止點對點數(shù)據(jù)鏈路。lcp 能讓 ppp 適用于大多數(shù) 環(huán)境。lcp 能自動協(xié)調(diào)配置,如協(xié)調(diào)數(shù)據(jù)幀的封裝格式、處理數(shù)據(jù)報大小限制、 探測環(huán)路鏈路和其他普通的配置錯誤以及終止鏈路。lcp 提供的可選功能包括 對建立鏈路的呼叫方進行身份驗證;對數(shù)據(jù)幀進行壓縮以提高吞吐率;設(shè)置錯 誤檢測以實現(xiàn)可靠無環(huán)

41、路的通信鏈路;設(shè)置多鏈路捆綁以實現(xiàn)負載均衡;設(shè)置 ppp 回撥(ppp callback)以提高安全性。 ncp:一種擴展鏈路控制協(xié)議,用于支持網(wǎng)絡(luò)層協(xié)議的通信。ppp 可以在同 一條通信鏈路上運行多種不同的網(wǎng)絡(luò)層協(xié)議。對每一種網(wǎng)絡(luò)層協(xié)議,ppp 提供 對應(yīng)的 ncp。例如,ip 對應(yīng) ipcp(ip control protocol,ip 控制協(xié)議) 、ipx 對 應(yīng) ipxcp(ipx ppp control protocol,ppp 的 ipx 控制協(xié)議) 網(wǎng)絡(luò)層協(xié)議(ip、ipx、osi)網(wǎng)絡(luò)層 網(wǎng)絡(luò)層控制協(xié)議 ncp(如 ipcp) 鏈路控制協(xié)議 lcp 高級數(shù)據(jù)鏈路控制 數(shù)據(jù)鏈路層

42、 eia/tia-232、v.24、v.35物理層 圖 3-1 ppp 的協(xié)議層次 3.3 ppp 的鏈路建立過程的鏈路建立過程 為了建立點對點鏈路通信,ppp 鏈路的每一端必須首先發(fā)送 lcp 包以便設(shè) 定和測試數(shù)據(jù)鏈路。在鏈路建立之后,ppp 必須發(fā)送 ncp 包以便選擇和設(shè)定一 個或更多的網(wǎng)絡(luò)層協(xié)議。一旦配置后每個被選擇的網(wǎng)絡(luò)層協(xié)議,就能在鏈路上 發(fā)送這些網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)報。鏈路將保持通信設(shè)定不變,直到有 lcp 和 ncp 數(shù)據(jù)包關(guān)閉鏈路,或者是發(fā)生一些外部事件(如網(wǎng)絡(luò)管理員的干涉)導(dǎo)致鏈路 中斷。簡化的 ppp 鏈路建立過程如圖 3-2 所示。 消亡 dead up 確立連接 est

43、ablish 認證 authentication 聯(lián)網(wǎng) networking 打開 開 成功 終止 terminate 關(guān)閉 失敗 down n 失敗 圖 3-2 ppp 的鏈路建立過程 一個典型的鏈路建立過程分為三個階段;創(chuàng)建階段、認證階段和網(wǎng)絡(luò)協(xié)商 階段。 階段 1:創(chuàng)建 ppp 鏈路 lcp 負責(zé)創(chuàng)建鏈路。在這個階段,將對基本的通訊方式進行選擇。鏈路兩 端設(shè)備通過 lcp 向?qū)Ψ桨l(fā)送配置信息報文(configure packets) 。一旦一個配置 成功信息包(configure-ack packets)被發(fā)送且被接收,就完成了交換,進入了 lcp 開啟狀態(tài)。 應(yīng)當(dāng)注意,在鏈路建立階段,

44、只是對驗證協(xié)議進行選擇,用戶驗證將在第 二階段實現(xiàn)。 階段 2:用戶驗證 在這個階段,客戶端會將自己的身份發(fā)送給遠端的接入服務(wù)器。該階段使 用一種安全驗證方式避免第三方竊取數(shù)據(jù)或冒充遠程客戶接管與客戶端的連接。 在認證完成之前,禁止從認證階段前進到網(wǎng)絡(luò)層協(xié)議階段。如果認證失敗,認 證者應(yīng)該躍遷到鏈路終止階段。 在這一階段里,只有鏈路控制協(xié)議、認證協(xié)議,和鏈路質(zhì)量監(jiān)視協(xié)議的 packets 是被允許的。在該階段里接收到的其他的 packets 必須被靜靜的丟棄。 最常用的認證協(xié)議有口令驗證協(xié)議(pap)和挑戰(zhàn)握手驗證協(xié)議(chap) 。 階段 3:調(diào)用網(wǎng)絡(luò)層協(xié)議 認證階段完成之后,ppp 將調(diào)用

45、在鏈路創(chuàng)建階段選定的各種網(wǎng)絡(luò)控制協(xié)議 (ncp) 。選定的 ncp 解決 ppp 鏈路之上的高層協(xié)議問題,例如,在該階段 ip 控制協(xié)議(ipcp)可以向撥入用戶分配動態(tài)地址。 這樣,經(jīng)過三個階段以后,一條完整的 ppp 鏈路就建立起來了。ppp 通信 階段圖如圖 3-3 所示。 lcp 協(xié)商 認證 網(wǎng)絡(luò)階段協(xié)商 建立鏈路 拆除鏈路 peerpeer 圖 3-3 ppp 通信階段圖 3.4 ppp 的幀結(jié)構(gòu)的幀結(jié)構(gòu) ppp 可以封裝上層多種協(xié)議的數(shù)據(jù)包,使之成為互相獨立的串行數(shù)據(jù)幀。 ppp 采用 hdlc 的幀格式,但它是面向字符的。在完整的 ppp 幀中。幀頭由幀 開始標(biāo)記(f) 、地址域

46、(a) 、控制域(c)和協(xié)議域(p)組成,幀尾由校驗域 (fcs) 、幀結(jié)束標(biāo)記(f)構(gòu)成,如圖 3-4 所示。 圖 3-4 ppp 的幀結(jié)構(gòu) f:標(biāo)志序列。指示幀的開始和結(jié)束,長度為 1 個字節(jié),其內(nèi)容為 0 x7e。 a:地址字段。這是一個標(biāo)準的廣播地址,長度為 1 個字節(jié),其內(nèi)容為 0 xff。在非平衡結(jié)構(gòu)傳輸數(shù)據(jù)時,地址字段寫入次站的地址;采用平衡結(jié)構(gòu)傳 輸數(shù)據(jù)時,地址字段寫入確認站的地址。 c:控制字段。表示用戶數(shù)據(jù)采用無序幀方式傳輸,它提供無連接鏈路服務(wù), 長度為 1 個字節(jié),其內(nèi)容為 0 x03。 f 0 x7e a 0 xff c 0 x03 pifcs f 0 x7e 標(biāo)志

47、1b 地址 1b 控制 1b 協(xié)議 2b 信息 nb(n)0 校驗碼 2 或 4b 標(biāo)志 1b p:協(xié)議字段。用于標(biāo)示被封裝在幀中數(shù)據(jù)字段里的協(xié)議類型,長度為 2 個字 節(jié)。 i:信息字段。長度為 0 或多個字節(jié),它包含符合協(xié)議字段中制定協(xié)議的數(shù)據(jù) 包。最大長度默認為 1500 字節(jié)。在數(shù)據(jù)鏈路層的建立和拆除階段,其內(nèi)容可能 是 lcp、pap、chap 或某一種 ncp 的包。 fcs:效驗碼。對 a、c、p、i 字段進行 crc 校驗,有 16 位的 crc-ccitt 和 32 位的 crc-32 兩種校驗方式,長度為 2 個字節(jié)或 4 個字節(jié)。 3.5 ppp 的身份驗證的身份驗證 對

48、于一個 ppp 會話,身份驗證是可選的。當(dāng)鏈路已經(jīng)建立并且身份驗證協(xié) 議被選擇以后,通信雙方就可以互相鑒別,如果啟用了驗證功能,當(dāng)驗證過程 通過之后,才能開始網(wǎng)絡(luò)層協(xié)議配置階段。 身份驗證功能需要呼叫發(fā)起方輸入驗證信息,此信息用來確定用戶擁有網(wǎng) 絡(luò)管理員賦予的呼叫許可。對等的路由器之間可以相互交換身份驗證消息。 ppp 提供 pap 和 chap 兩種協(xié)議進行驗證。 pap(password authentication protocol,密碼驗證協(xié)議)使用兩次握手機制, 為建立遠程節(jié)點的驗證提供一個簡單的方法。當(dāng) ppp 鏈路建立階段完成后,遠 程節(jié)點將不斷地在鏈路上發(fā)送用戶名和密碼,直到身

49、份驗證通過或者連接被終 止。如圖 3-5 所示。 接受或拒絕 router1 mypwd pap 兩次握手機 制 遠程路由器本地路由器 主機名: router1 密碼:mypwd 主機名: router1 密碼:mypwd 圖 3-5 pap 的身份驗證 pap 在進行身份驗證時,密碼以明文的方式在鏈路上發(fā)送,這使得 pap 的 安全性存在缺陷。由于驗證重試的頻率和次數(shù)由遠程節(jié)點來控制,因此 pap 不 能防止重放攻擊和重復(fù)的嘗試攻擊。 chap(challenge handshake authentication protocol,挑戰(zhàn)握手認證協(xié)議) 使用三次握手機制啟動一條鏈路和周期性地驗

50、證遠程節(jié)點。chap 可以在初始 鏈路建立之后立即開始驗證工作,也可以在鏈路建立后的任何時間進行重復(fù)驗 證。 在 ppp 鏈路建立階段完成之后,本地路由器發(fā)送一個“挑戰(zhàn)” (challenge)消息到遠程節(jié)點。挑戰(zhàn)消息中包含本地路由器的名稱和一個隨機 數(shù)。本地路由器將挑戰(zhàn)報文發(fā)給遠程節(jié)點,要求進行身份認證。遠程節(jié)點使用 對應(yīng)該路由器的賬號和密碼組織回應(yīng)消息,但是密碼并不直接包含在回應(yīng)消息 中,而是使用散列函數(shù)(如 md5)對挑戰(zhàn)消息中的隨機數(shù)和密碼進行處理,將 處理得到的摘要值放在回應(yīng)消息中。本地路由器接收到回應(yīng)消息后,根據(jù)自己 保存的用戶賬號、密碼和挑戰(zhàn)消息中的隨機數(shù)計算出摘要,將其與回應(yīng)消

51、息中 的摘要進行對比,如果匹配,則驗證通過。chap 的驗證過程如圖 3-6 所示。 chap 在進行身份驗證時密碼本身并不在鏈路上發(fā)送,它通過使用唯一的、 不可預(yù)知的、可變的挑戰(zhàn)消息來防止重放攻擊。因為挑戰(zhàn)消息和作為結(jié)果的摘 要值是唯一且隨機的。在通信的過程中為了提高安全性,可以多次進行挑戰(zhàn)驗 證。chap 由本地路由器或者一臺第三方的驗證服務(wù)器來控制挑戰(zhàn)的頻率和次 數(shù)。 遠程路由器本地路由器 主機名: router1 密碼:mypwd 主機名: router1 密碼:mypwd 接受或拒絕 回應(yīng) 挑戰(zhàn) chap 三次握手機 制 圖 3-6 chap 的身份驗證 第四章第四章 pppoe 協(xié)

52、議分析與研究協(xié)議分析與研究 4.1 pppoe 協(xié)議概述協(xié)議概述 pppoe(ppp over ethernet,基于以太網(wǎng)的 ppp 協(xié)議)繼承了 ppp 撥號的用 戶驗證和動態(tài) ip 地址分配功能。pppoe 操作方便,網(wǎng)絡(luò)管理商基本上不需要改 造網(wǎng)絡(luò)系統(tǒng)就可以實現(xiàn)寬帶網(wǎng)絡(luò)用戶的入網(wǎng)身份驗證和計費。 pppoe 使得一個共享的以太網(wǎng)上的多個主機,可以通過一個或多個簡單的 橋接入設(shè)備,與遠程接入集中器進行多個 ppp 會話。通過這種方式,每個主機 使用它自己的 ppp 協(xié)議棧,并且提供給用戶一個熟悉的用戶接口。接入控制、 計費和服務(wù)類型能夠基于每個用戶,而不是每個站點來處理。 pppoe 具

53、有以下技術(shù)特點。 1)pppoe 利用了已被廣泛接受的 ppp 協(xié)議個以太網(wǎng)協(xié)議,繼承了以太網(wǎng) 的快速和 ppp 撥號簡單的特點。 2)由于 pppoe 會話是真正的 ppp 會話,能夠?qū)崿F(xiàn) ip 地址的完全動態(tài)分配, 即每次連接都能獲得不同的 ip 地址。 3)pppoe 上的 ppp 要求用戶認證,因此可以根據(jù)用戶名計費,而不論用 戶是從何處接入的。 4)pppoe 建立了基于 ethernet 的會話,因此服務(wù)提供商能夠根據(jù)連接時間 進行計費。 4.2 pppoe 協(xié)議原理協(xié)議原理 pppoe 協(xié)議分為 2 個具體階段:發(fā)現(xiàn)(discovery)階段和 ppp 會話階段。 當(dāng)某個主機希望

54、發(fā)起一個 pppoe 會話時,它必須首先執(zhí)行 discovery 階段 來識別對方的以太網(wǎng) mac 地址,并建立一個 pppoe 會話標(biāo)識符(session id) 。 在 discovery 階段,基于網(wǎng)絡(luò)的拓撲,主機可以發(fā)現(xiàn)多個 ac(access concentrator,接入集中器,即 pppoe 服務(wù)器) 。discovery 階段允許主機發(fā)現(xiàn)所 有的 ac,然后選擇一個。當(dāng) discovery 階段成功完成,主機和選擇的 ac 都有 了它們在以太網(wǎng)上建立 ppp 連接的信息。discovery 階段將一直保持無狀態(tài) (stataless)的狀態(tài)直到建立起一個 ppp 會話。一旦 p

55、pp 會話建立,主機和 ac 都必須為 ppp 虛接口分配資源。 通過發(fā)現(xiàn)階段知道通信雙方的 mac 地址和 session id 后,就進入了 ppp 會話階段,可以進行 ppp 通信。pppoe 會話過程中,始終使用 discovery 階段 分配的 session id。 整個流程圖如圖 4-1 所示。 發(fā)現(xiàn)階段的過程實際上就是尋找 isp 的過程,整個發(fā)現(xiàn)階段的過程又可以 分為 5 個階段。第一階段是 padi(pppoe active discovery initiation)的過程, 就是 pppoe 的初始化過程。在此過程中用戶主機通過廣播 padi 數(shù)據(jù)報向可能 的 isp 提

56、出接入請求,并在 padi 數(shù)據(jù)報中填入所需服務(wù)的名稱。第二階段是 pado(pppoe active discovery offer)的過程,就是當(dāng)某個 isp 接收到 padi 包后,若 他能滿足 padi 包中所提要求的服務(wù)項,就可以發(fā)送 pado 包來回應(yīng)發(fā)出 padi 用戶主機的要求。在 pado 包中一定含有 isp 的名稱(mac 地址)和 padi 包中提出的服務(wù)項名稱。第三階段是 padr(pppoe active discovery request )的過程,就是當(dāng)用戶主機廣播了 padi 數(shù)據(jù)報后,可能會接收到一個 或多個 pado 客戶機 發(fā)現(xiàn)階段 會話階段 會話終止

57、ppp padt padi padr pads pado 客戶機和接入服務(wù) 器獲得彼此的 mac 地址且服務(wù)器分配 唯一的會話號 圖 4-1 pppoe 協(xié)議流程圖 數(shù)據(jù)報,這時候用戶主機可以根據(jù)所希望的 isp 和所需服務(wù)的名稱,來選擇其 中一個 isp 進行連接。第四個階段是 pads(pppoe active discovery session- confirmation)的過程,就是當(dāng)滿足條件的 isp 接收到 padr 數(shù)據(jù)報后,它向要 求建立連接的用戶主機發(fā)出 pads 數(shù)據(jù)包,從而完成了 pppoe 的 discovery(發(fā)送)階段中建立連接的過程。第五階段是 padt(ppp

58、oe active discovery terminate)的過程,padt 數(shù)據(jù)報可以由用戶主機或 isp 來發(fā)出,表 示整個 pppoe 過程的結(jié)束。 會話階段過程實際上就是實現(xiàn) ppp 協(xié)議的過程,整個會話階段的過程主要 可以分為 3 個階段。第一個階段是 lcp(link control protocol) ,完成了有關(guān)鏈 路控制協(xié)商的過程,主要是建立、配置、測試數(shù)據(jù)鏈路,根據(jù)雙方的需求,進 行鏈路的協(xié)商和配置。第二個階段是 ncp(network control protocol) ,就是針 對不同的網(wǎng)絡(luò)層協(xié)議的網(wǎng)絡(luò)控制階段。第三個階段就是 ip 數(shù)據(jù)的傳輸階段。 4.3 pppoe

59、 協(xié)議分析協(xié)議分析 在 rfc2516 中的 pppoe 主要描述了從建立連接(discovery)到會話 (session)的兩個步驟,以及 padi、pado、padr、pads、padt 四種消息 服務(wù)器 和會話階段數(shù)據(jù)包的 pppoe 幀格式。pppoe 處于協(xié)議棧中的位置如圖 4-2 所示。 tcp/ip ppp pppoe ethernet 圖 4-2 pppoe 在以太網(wǎng)協(xié)議棧的位置 4.3.1 pppoe 的包格式的包格式 pppoe 包分為發(fā)現(xiàn)階段包(協(xié)商包)和會話階段包(數(shù)據(jù)包)兩種,圖 4- 3 和圖 4-4 分別給出協(xié)商和數(shù)據(jù)包兩種包格式結(jié)構(gòu)圖,由這兩種結(jié)構(gòu)圖可以看出

60、兩者的區(qū)別并不大,它們的包頭結(jié)構(gòu)是一樣的,下面介紹結(jié)構(gòu)域中每一個域的 含義。 ac 端 mac 地址(前 4 個字節(jié)) ac 端 mac 地址(后 2 個字 節(jié)) pppoe 客戶端 mac 地址 (前 2 個字節(jié)) pppoe 客戶端 mac 地址(后 4 個字節(jié)) 以太幀類型(0 x8863)版本類型代碼域 會話號數(shù)據(jù)長度 標(biāo)簽類型標(biāo)簽長度 標(biāo)簽值其它標(biāo)簽 其它標(biāo)簽 圖 4-3 pppoe 協(xié)商包結(jié)構(gòu) ac 端 mac 地址(前 4 個字節(jié)) ac 端 mac 地址(后 2 個字 節(jié)) pppoe 客戶端 mac 地址 (前 2 個字節(jié)) pppoe 客戶端 mac 地址(后 4 個字節(jié))

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論