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加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产精品成| 狠狠ⅴ日韩v欧美v天堂| 日本中文字幕久久网站| 18禁不卡免费网站| 尤物亚洲最大AV无码网站| 福利在线不卡一区| 综合成人国产| 91人人妻人人做人人爽男同| 午夜不卡视频| 亚洲三级视频在线观看| 国产中文在线亚洲精品官网| 精品国产一二三区| 国内精自视频品线一二区| 99爱视频精品免视看| 乱系列中文字幕在线视频| 精品人妻一区二区三区蜜桃AⅤ| 特级毛片免费视频| 亚洲日韩精品无码专区| 国产精品吹潮在线观看中文| 国产精品xxx| 国产精品va| 乱人伦视频中文字幕在线| a毛片免费在线观看| 亚洲a级毛片| 一区二区三区国产精品视频| 国产在线精品美女观看| 久久中文无码精品| 久久国产黑丝袜视频| 视频二区欧美| 国产91小视频在线观看| 青草娱乐极品免费视频| 久久这里只有精品国产99| 免费观看亚洲人成网站| 欧美精品啪啪| 蝌蚪国产精品视频第一页| 任我操在线视频| 婷婷中文在线| 天天躁日日躁狠狠躁中文字幕| 亚洲国产精品国自产拍A| 欧美午夜网| 国产自视频| AV在线天堂进入| 国产精品女同一区三区五区| 无码国产偷倩在线播放老年人| 亚洲首页国产精品丝袜| 91网在线| 色老头综合网| 欧美精品啪啪一区二区三区| 日韩福利视频导航| 国产在线视频自拍| 日韩高清一区 | 熟妇丰满人妻av无码区| 免费在线一区| 国产精品大尺度尺度视频| 久久综合丝袜长腿丝袜| 国产精品色婷婷在线观看| 久久精品嫩草研究院| 国产免费高清无需播放器| 国产三级视频网站| 国产精品三级专区| 91破解版在线亚洲| 亚洲AV免费一区二区三区| 国产精品吹潮在线观看中文| 国产成人AV男人的天堂| 精品一區二區久久久久久久網站| 久久久久夜色精品波多野结衣| 免费黄色国产视频| 精品国产电影久久九九| 色婷婷丁香| 国产美女视频黄a视频全免费网站| 日韩第八页| 无码久看视频| 国产成人综合网在线观看| 四虎永久免费地址| 啊嗯不日本网站| 亚洲人成日本在线观看| 国产高清自拍视频| 四虎国产精品永久在线网址| 国产精品区视频中文字幕| 毛片免费观看视频| 亚洲天堂啪啪| 欧美狠狠干|