999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DHCP客戶端在ARM下的設計與實現*

2012-11-27 01:46:22王愛華李詠春
網絡安全與數據管理 2012年22期
關鍵詞:嵌入式

王愛華 ,李詠春

(1.吉林鐵道職業技術學院,吉林 吉林132001;2.長春理工大學,吉林 長春130022)

隨著網絡技術和嵌入式技術的迅速發展,網絡中的嵌入式移動設備大量出現。為了將嵌入式設備接入到網絡中,每個嵌入式設備都必須進行基本的網絡配置。嵌入式移動設備在網絡中頻繁的接入,需要及時更新所使用的IP地址才能正常通信;在同一個網段上,為出現的大量嵌入式移動設備配置IP地址等參數十分困難,這也導致網絡中的IP地址成為稀缺資源,在這樣的環境下,每個嵌入式移動設備最好能夠自動獲取動態IP地址等資源,使用完畢后還能夠及時釋放。因此,對于存在頻繁接入大量嵌入式移動設備的網絡,其管理和維護任務相當繁重的,需要一種機制讓TCP/IP的配置和管理從用戶端轉移到網絡管理端,實現IP的集中式管理[1-3]。

為了解決網絡管理的難題,提出了一種適用于嵌入式環境的DHCP客戶端的設計方法,并且在ARM環境下得以實現。這種方法適合分散控制和管理存在較大規模嵌入式設備的網絡。DHCP客戶端協議移植到嵌入式系統上,可以節省配置IP參數的時間,大大提高嵌入式設備的可管理性,降低了嵌入式設備手工配置IP地址所造成的管理成本和硬件成本。

1 DHCP協議和工作原理

1.1 DHCP協議

DHCP(Dynamic Host Configuration Protocol)即動態主機配置協議,是一個局域網的網絡協議。為了減輕TCP/IP網絡的規劃、管理和維護負擔,解決IP地址空間缺乏問題,DHCP為內部網絡或網絡服務供應商自動分配IP地址,為用戶或者內部網絡管理員提供對所有計算機進行中央管理的手段[4]。

DHCP是用于給多個客戶計算機集中分配IP地址以及相關的配置參數的協議,這樣就能將IP地址和TCP/IP的設置統一管理起來,從而避免不必要的地址沖突問題。該協議常常用在網絡中對眾多計算機的管理,以減少網絡管理員手工設置和分配地址的負擔。主機使用DHCP協議可以通過DHCP服務器得到IP地址、默認網關和DNS服務器等信息,從而大大減少了用戶的手動配置工作量,同時DHCP服務器能夠及時回收不用的IP地址,從而提高IP地址的利用率。

1.2 DHCP工作原理

DHCP的工作主要分為以下階段[5]:

(1)DHCP客戶端尋找DHCP服務器階段;

(2)DHCP服務器提供IP地址階段;

(3)DHCP客戶端選擇IP地址階段;

(4)DHCP服務器確認所提供的IP地址階段;

(5)租約確認階段;

(6)DHCP客戶端再次登錄網絡時,直接發送包含前一次所分配的IP地址的DHCP request請求信息。

DHCP客戶端使用DHCP獲取其IP地址的過程中,共有6種狀態。各個狀態之間的轉換以及引起狀態轉換的事件和報文如圖1所示。DHCP客戶端第一次啟動時,便進入初始化狀態。為了獲取一個IP地址,它會向所有服務器廣播一個DHCP discover報文,并進入選擇狀態。處于選擇狀態時,它從DHCP服務器收集DHCP offer響應,并選擇一個服務器向其發送DHCP request報文,進入請求狀態。DHCP服務器確認請求后,發出DHCP ack報文,DHCP客戶端收到確認消息后轉移到已綁定狀態。當需要重新續約時,DHCP客戶端發送DHCP request報文并轉移到更新狀態。DHCP客戶端可以隨時發送DHCP release報文,返回初始化狀態。進入更新狀態后,DHCP客戶端發送DHCP nack報文,返回初始化狀態;如果租用期超過閾值,DHCP客戶端發送DHCP request報文并轉移到重綁定狀態。進入重綁定狀態后,如果租期到期或發送DHCP nack報文,則返回初始化狀態。

圖1 主要狀態和狀態間的轉換

2 DHCP客戶端的實現

2.1 開發環境

設計DHCP客戶端軟件的難點是DHCP客戶端在嵌入式系統上的移植[6],其中前臺技術采用B/S模式。Fedora是一個基于Linux的獨立操作系統,具有開放性、創新性和前瞻性。它允許任何人自由地使用、修改和重新發布,可以運行在多種體系結構上。因此,本文選擇Fedora操作系統作為開發平臺。

為了能夠編譯、鏈接、處理和調試跨越平臺體系結構的程序代碼,使用交叉開發工具鏈和不同的參數[7]。編譯環境為在X86系列的處理器平臺上編譯出能運行在ARM構架的處理器平臺上的程序所需要的編譯工具。構建交叉編譯環境首先要確定目標平臺。在GNU系統中,每個目標平臺都有一個明確的格式,這些信息用于在構建過程中識別要使用的不同工具的正確版本。本系統的移植平臺是基于ARM9的嵌入式系統,開發板S3C2440所配內核已為最新的Linux-2.6.32.2,交叉編譯器統一為arm-linux-gcc-4.3.2。

2.2 DHCP客戶端軟件設計

DHCP客戶端軟件主要是用來完成狀態跳轉以及發送和接收DHCP包的任務,同時記錄時間,在未到達指定時刻時,對程序實行有效的阻塞。根據這些需求,可以采用死循環與選擇狀態函數結合的方法。選擇狀態函數用來偵聽與服務器連接的socket端口的變化情況。當選擇狀態函數偵聽的socket端口發生變化時,處理相應接收報文;當socket端口沒有發生變化時,將相應報文作發送處理。DHCP客戶端軟件中各個函數之間的調用關系如圖2所示。

由上面分析可知,DHCP客戶端軟件主要由相互獨立的若干子函數組成,主函數主要用來對子函數進行調用,每次執行完一個函數后,返回一個要執行的函數的地址,繼續執行。下面介紹5個主要子函數:

(1)初始化函數的流程圖如圖3所示,主要用來對DHCP客戶端進行初始化,發送discover報文。如果發送成功,返回選擇狀態函數的地址;否則,停止DHCP。

(2)請求函數的流程圖如圖4所示。DHCP客戶端接收服務器的DHCP ack報文,如果接收失敗,返回初始化函數地址;否則,對服務器提供的IP地址進行驗證,如果校驗失敗,發送declient報文并返回初始化函數地址;否則配置DHCP;如果配置成功,客戶端轉換到綁定狀態函數;否則,停止 DHCP。

(3)綁定函數的流程圖如圖5所示。DHCP客戶端將從服務器獲取到的IP設置成網卡的地址,DHCP客戶端進入更新狀態,等待服務器超時。

圖2 實現算法函數關系圖

圖3 初始化函數的流程圖

(4)更新函數的流程圖如圖6所示。DHCP客戶端在IP租約定時器超時的時候,向服務器發送DHCP request報文,進行續約。

圖4 請求函數的流程圖

圖5 綁定函數的流程圖

圖6 更新函數的流程圖

(5)重綁定函數的流程圖如圖7所示,當DHCP客戶端在IP租約到達80%時,若服務器還沒有回應DHCP ack報文,則DHCP客戶端廣播DHCP request報文。若在原租約期到期時,DHCP客戶端收到了DHCP ack報文,則客戶端進入綁定狀態;否則轉換到初始化狀態。

3 測試結果與分析

DHCP客戶端軟件對硬件方面并沒有極其嚴格的要求,為了進行測試,選用的計算機型號為三星R458,ARM9型號為S3C2440。DHCP客戶端軟件的測試步驟如下:

圖7 重綁定函數流程圖

(1)將編譯成功的DHCP客戶端軟件復制到U盤上,并將DHCP源代碼中client目錄下的dhclient-script和client.conf下載到U盤中;

(2)啟動ARM9,進入系統后,插入 U盤,掛載 U盤成功后,把 U盤中的 dhclient-scrip和 client.conf下載到/etc目錄下并修改權限,把DHCP客戶端軟件復制到/sbin目錄下并修改權限;

(3)在/sbin中,運行DHCP客戶端軟件,命令為dhclient eth0。

通過以上步驟可以得到DHCP客戶端軟件的運行結果,如圖8所示。

圖8 DHCP客戶端運行的結果

此外,通過對測試數據的分析可以得到以下結論:

(1)為了增加系統配置的靈活性,mac地址、主機名的設置是在系統啟動時的配置文件rcs中設置的,配置腳本如下:

(2)為了使設備的DHCP客戶端正確運行,在編譯Linux內核時,還需要在網絡設置部分添加以下選項:

分別添加數據包 socket、IP、DHCP支持和網絡數據包過濾選項,其中網絡數據包過濾后面子選項可不選。

(3)在S3C2440自帶的嵌入式系統上,上述第二項,必須進行內核編譯,否則DHCP客戶端不能直接運行。

(4)在適合 S3C2440的 Android系統上,DHCP客戶端程序能正常運行。

[1]方華,李超.基于ARM平臺的嵌入式DHCP協議設計和實現[J].電腦知識與技術,2007,13(3):65-67.

[2]STEVENS W R,RAGO S A.Advanced programming in the UNIX environment(2nd Edition)[M].Boston:Addison-Wesley Professional.2008.

[3]李海燕,劉廣濤.DHCP客戶端在ARM9_Linux上的設計和實現[J].煙臺職業學院,2009,15(4):70-77.

[4]王文龍,黃地龍.DHCP協議深入分析[J].電腦與電信,2010(4):46-48.

[5]陳君,舒田華,高燕.嵌入式Linux系統的DHCP研究[J].九江學院學報,2007,26(3):22-26.

[6]葉培順.嵌入式 Linux在 S3C2440上的移植[J].電子設計工程,2011,19(15):111-113.

[7]樊濱溫,崔志強.DHCP協議客戶端的實現[J].計算機應用與軟件,2007,24(11):143-145.

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产成人亚洲精品色欲AV| 国产午夜无码片在线观看网站 | 91日本在线观看亚洲精品| 亚洲AV无码乱码在线观看代蜜桃| 中文字幕人妻av一区二区| 成人免费视频一区| 亚洲系列无码专区偷窥无码| 亚洲欧美国产视频| 国产无码高清视频不卡| 国产情精品嫩草影院88av| 国产美女精品一区二区| 成人午夜免费观看| 人妻少妇久久久久久97人妻| 色亚洲激情综合精品无码视频| 亚洲av无码成人专区| 香蕉eeww99国产精选播放| 国内嫩模私拍精品视频| 动漫精品啪啪一区二区三区| 青青国产成人免费精品视频| 久久国产精品麻豆系列| 97国产在线视频| 视频二区亚洲精品| 99热这里只有精品在线播放| 日韩天堂网| 丁香综合在线| 在线中文字幕网| 亚洲永久精品ww47国产| 国产精品久久久免费视频| 国产 日韩 欧美 第二页| 成人福利视频网| 亚州AV秘 一区二区三区 | 欧美啪啪网| 亚洲日韩精品伊甸| 精品亚洲麻豆1区2区3区| 国产网站一区二区三区| 亚洲Va中文字幕久久一区 | 狂欢视频在线观看不卡| 一本大道东京热无码av| 成人伊人色一区二区三区| 国模沟沟一区二区三区| 欧洲精品视频在线观看| 久草中文网| 日韩AV无码免费一二三区 | 免费无码AV片在线观看中文| 久久婷婷人人澡人人爱91| 国产视频大全| 亚洲区视频在线观看| 一本久道热中字伊人| 99久久99视频| 亚洲丝袜第一页| 亚洲中文字幕23页在线| 国产麻豆精品久久一二三| 亚洲欧美日本国产综合在线 | 国产精品视频导航| 亚洲无码高清一区二区| 国产微拍精品| 色偷偷av男人的天堂不卡| 国产日韩欧美视频| 强乱中文字幕在线播放不卡| 天天色天天综合| 99re66精品视频在线观看 | 欧美www在线观看| аv天堂最新中文在线| 在线观看无码a∨| 精品国产99久久| 亚洲国产亚洲综合在线尤物| 久久综合成人| 中文字幕 欧美日韩| 欧美α片免费观看| 永久免费AⅤ无码网站在线观看| 成年免费在线观看| 中文字幕在线永久在线视频2020| 精品欧美日韩国产日漫一区不卡| 国产成人在线无码免费视频| 国产毛片高清一级国语| 精品亚洲国产成人AV| 久久不卡国产精品无码| 一级在线毛片| 精品无码一区二区三区电影| 欧美久久网| 国产十八禁在线观看免费| 久久成人免费|