新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于Linux內核模式的PPPoE優化與實現

        基于Linux內核模式的PPPoE優化與實現

        作者: 時間:2010-09-13 來源:網絡 收藏


        2.4 核心代碼實現
        整個PPPoE內核模式撥號的核心代碼主要集中在內核模塊上,該模塊主要功能有proc文件讀寫、數據包的封裝、解包等操作,下面是這個內核模塊的包封裝的部分程序。


        以上只是部分代碼,由于代碼太多,而且很多代碼和項目的硬件抽象層模塊(HAL)息息相關,所以在此不再詳細闡述。具體可以參考Lin-ux內核中pppoe模塊里面的代碼,雖然工作的層次有點不一樣,但是總體的思路是一樣的,本文的實現代碼基本上也是參考的Linux內核中PP-PoE的代碼。

        3 結束語
        本文主要描述了PPPoE內核模式撥號的設計與實現,該模式將封包動作從用戶空間轉移到內核空間,從而大大降低了內核空間與用戶空間切換的次數,目前這種內核模式下的撥號已經大量地應用于各種網關產品中。雖然PPPoE是一種非常成熟的技術,Linux內核也已開始支持PP-PoE內核態撥號,同時由卡耐基梅隆大學開發的PPPD開源項目已經廣泛應用于各種網關產品中,但是熟悉整個內核態撥號的流程是非常重要的,同時PPPD目前還存在一些BUG,在項目開發的過程中還需做大量修改。本文提供解決方案有別于傳統的通過PPP虛擬接口來傳輸數據的方案,在某種程度上也降低了路由模塊的工作任務,尤其是需要實現多路PPPoE的時候。另外該設計方案在Linux2.6.18上已經成功通過測試,并投入使用。


        上一頁 1 2 3 下一頁

        關鍵詞: 收發器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武夷山市| 尼木县| 开化县| 泗水县| 尚志市| 株洲市| 拜城县| 岐山县| 民和| 黔西县| 乐安县| 柳林县| 白朗县| 桦甸市| 余庆县| 敦化市| 乌鲁木齐县| 措勤县| 东阳市| 邵东县| 哈尔滨市| 禄劝| 固镇县| 浠水县| 北海市| 英吉沙县| 如皋市| 兴宁市| 会泽县| 彩票| 公主岭市| 宜丰县| 铜鼓县| 建昌县| 兴城市| 隆德县| 胶南市| 嘉义市| 宜君县| 昌邑市| 保亭|