国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式Linux環(huán)境下DHCPv6服務(wù)的實現(xiàn)

2011-10-09 09:45:44彭宇雨郭書軍
電子設(shè)計工程 2011年23期
關(guān)鍵詞:開發(fā)板配置文件消息

彭宇雨,郭書軍

(北方工業(yè)大學(xué) 信息工程學(xué)院,北京 100144)

隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和普及,網(wǎng)絡(luò)和單機(jī)節(jié)點的數(shù)目急速增長,現(xiàn)有的IPv4地址短缺的情況日益嚴(yán)重,IPv4地址空間的限制已經(jīng)成為未來網(wǎng)絡(luò)技術(shù)發(fā)展的一個瓶頸。為解決這一問題,用于取代IPv4的下一代互聯(lián)網(wǎng)協(xié)議IPv6隨之誕生。IPv6具有許多新的功能和特性,其中128位的地址空間解決了最為關(guān)鍵的地址不足的問題,任何一個設(shè)備都可以擁有一個全球唯一的IPv6地址,這使得任何一個電子設(shè)備連接到Internet成為了可能[1]。

嵌入式技術(shù)快速發(fā)展,越來越多的嵌入式設(shè)備接入網(wǎng)絡(luò),嵌入式設(shè)備對于IPv6的支持也成為必然要求,而實現(xiàn)IPv6地址自動配置的DHCPv6服務(wù)卻是IPv6技術(shù)的關(guān)鍵。

1 IPv6簡介

IPv4顯然無法滿足未來網(wǎng)絡(luò)發(fā)展的需求,IPv6[2]取代IPv4將是必然。IPv6與IPv4相比主要增加了以下一些新特點。

1)擴(kuò)展地址:IPv6的地址結(jié)構(gòu)中除了把32位地址空間擴(kuò)展到了128位外,還對IP主機(jī)可能獲得的不同類型地址作了一些調(diào)整。IPv6中取消了廣播地址而代之以任意點播地址。IPv4中用于指定一個網(wǎng)絡(luò)接口的單播地址和用于指定由一個或多個主機(jī)偵聽的組播地址基本不變。IPv6的擴(kuò)展地址意味著IP可以繼續(xù)增長而無需考慮資源的匱乏,該地址結(jié)構(gòu)對于提高路由效率有所幫助。

2)簡化的包頭:IPv6中包頭總長為40字節(jié)包括8個字段,其中兩個是源地址和目的地。IPv6使用了固定格式的包頭并減少了需要檢查和處理的字段的數(shù)量,這將使得選路的效率更高。

3)對擴(kuò)展和選項支持的改進(jìn):在IPv4中可以在IP頭的尾部加入選項,與此不同,IPv6中把選項加在單獨的擴(kuò)展頭中。通過這種方法,選項頭只有在必要的時候才需要檢查和處理。改進(jìn)對頭擴(kuò)展和選項的支持意味著可以在幾乎不影響普通數(shù)據(jù)包和特殊包選路的前提下適應(yīng)更多的特殊需求。

4)流:IPv6實現(xiàn)了流概念。流指的是從一個特定源發(fā)向一個特定(單播或者是組播)目的地的包序列,源點希望中間路由器對這些包進(jìn)行特殊處理。路由器需要對流進(jìn)行跟蹤并保持一定的信息,這些信息在流中的每個包中都是不變的。這種方法使路由器可以對流中的包進(jìn)行高效處理。

5)身份驗證和保密:IPv6使用了兩種安全性擴(kuò)展,IP身份驗證頭(AH)和IP封裝安全性凈荷(ESP)。身份驗證和保密方面的改進(jìn)使得IPv6更加適用于那些要求對敏感信息和資源特別對待的商業(yè)應(yīng)用。

2 DHCPv6技術(shù)概要

DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的動態(tài)主機(jī)配置協(xié)議)是針對IPv6編址方案設(shè)計的,為主機(jī)分配IPv6前綴、IPv6地址和其他網(wǎng)絡(luò)配置參數(shù)的協(xié)議。與其他 IPv6地址分配方式(手工配置、通過路由器公告消息中的網(wǎng)絡(luò)前綴無狀態(tài)自動配置等)相比,DHCPv6具有以下優(yōu)點:

1)不僅可以分配IPv6地址,還可以分配IPv6前綴,便于全網(wǎng)絡(luò)的自動配置和管理。

2)更好地控制地址的分配。通過DHCPv6不僅可以記錄為主機(jī)分配的地址/前綴,還可以為特定主機(jī)分配特定的地址/前綴,以便于網(wǎng)絡(luò)管理。

3)除了 IPv6前綴、IPv6地址外,還可以為主機(jī)分配DNS服務(wù)器、域名等網(wǎng)絡(luò)配置參數(shù)[3]。

2.1 DHCPv6的網(wǎng)絡(luò)構(gòu)成

DHCPv6的網(wǎng)絡(luò)構(gòu)成包括3部分,分別是DHCPv6客戶端,DHCPv6服務(wù)器和DHCPv6中繼,如圖1所示。

圖1 DHCPv6的網(wǎng)絡(luò)構(gòu)成圖Fig.1 Network structure of DHCPv6

1)DHCPv6客戶端:動態(tài)獲取IPv6地址、IPv6前綴或其他網(wǎng)絡(luò)配置參數(shù)的設(shè)備。

2)DHCPv6服務(wù)器:負(fù)責(zé)為DHCPv6客戶端分配IPv6地址、IPv6前綴和其他網(wǎng)絡(luò)配置參數(shù)的設(shè)備。DHCPv6服務(wù)器不僅可以為DHCPv6客戶端分配IPv6地址,還可以為其分配IPv6前綴。DHCPv6服務(wù)器為DHCPv6客戶端分配IPv6前綴后,DHCPv6客戶端向所在網(wǎng)絡(luò)發(fā)送包含該前綴信息的RA消息,以便網(wǎng)絡(luò)內(nèi)的主機(jī)根據(jù)該前綴自動配置IPv6地址。

3)DHCPv6中繼:DHCPv6客戶端通過本地鏈路范圍的組播地址與DHCPv6服務(wù)器通信,以獲取IPv6地址和其他網(wǎng)絡(luò)配置參數(shù)。如果服務(wù)器和客戶端不在同一個鏈路范圍內(nèi),則需要通過DHCPv6中繼來轉(zhuǎn)發(fā)報文,這樣可以避免在每個鏈路范圍內(nèi)都部署DHCPv6服務(wù)器,既節(jié)省了成本,又便于進(jìn)行集中管理[4]。

2.2 DHCPv6 地址/前綴分配過程

DHCPv6服務(wù)器為客戶端分配地址/前綴的過程則分為兩類:交互兩個消息的快速分配過程和交互4個消息的分配過程[5]。

1)交互兩個消息的快速分配過程:DHCPv6客戶端在發(fā)送的Solicit消息中攜帶Rapid Commit選項,標(biāo)識客戶端希望服務(wù)器能夠快速為其分配地址/前綴和網(wǎng)絡(luò)配置參數(shù)。如果DHCPv6服務(wù)器支持快速分配過程,則直接返回Reply消息,為客戶端分配IPv6地址/前綴和其他網(wǎng)絡(luò)配置參數(shù)。如果DHCPv6服務(wù)器不支持快速分配過程,則采用交互4個消息的分配過程為客戶端分配IPv6地址/前綴和其他網(wǎng)絡(luò)配置參數(shù),如圖2所示。

2)交互4個消息的分配過程:DHCPv6客戶端發(fā)送Solicit消息,請求DHCPv6服務(wù)器為其分配IPv6地址/前綴和網(wǎng)絡(luò)配置參數(shù)。如果Solicit消息中沒有攜帶Rapid Commit選項,或Solicit消息中攜帶Rapid Commit選項,但服務(wù)器不支持快速分配過程,則DHCPv6服務(wù)器回復(fù)Advertise消息,通知客戶端可以為其分配的地址/前綴和網(wǎng)絡(luò)配置參數(shù)。如果DHCPv6客戶端接收到多個服務(wù)器回復(fù)的Advertise消息,則根據(jù)消息接收的先后順序、服務(wù)器優(yōu)先級等,選擇其中一臺服務(wù)器,并向該服務(wù)器發(fā)送Request消息,請求服務(wù)器確認(rèn)為其分配地址/前綴和網(wǎng)絡(luò)配置參數(shù)。DHCPv6服務(wù)器回復(fù)Reply消息,確認(rèn)將地址/前綴和網(wǎng)絡(luò)配置參數(shù)分配給客戶端使用,如圖3所示。

圖2 交互兩個消息的快速分配過程Fig.2 Rapid distribution process with two messages interaction

圖3 交互4個消息的分配過程Fig.3 Distribution process with four messages interaction

3 DHCPv6在Linux下的實現(xiàn)

3.1 IPv6環(huán)境的建立

Linux2.2.0及其以后版本都支持IPv6,按照以下步驟建立IPv6環(huán)境。

1)檢測安裝IPv6模塊。

查看/proc/net目錄下是否有if_inet6運行,如果沒有則執(zhí)行以下命令加載Ipv6模塊[6]。

2)修改網(wǎng)絡(luò)配置文件,使其支持IPv6網(wǎng)絡(luò)。

在其中進(jìn)行如下設(shè)置:

3)修改eth0的配置文件,設(shè)置eth0。

在其中進(jìn)行如下設(shè)置:

4)重新啟動網(wǎng)絡(luò)服務(wù)。

#service network restart

按照以上步驟可建立好PC機(jī)上Linux的IPv6環(huán)境,HH6410開發(fā)板上Linux的IPv6環(huán)境的建立步驟大體一致,但是在內(nèi)核編譯時一定要將IPv6模塊編譯進(jìn)去,然后在開發(fā)板的啟動初始化腳本里配置好相關(guān)參數(shù)便可。

3.2 ISC DHCP服務(wù)器的安裝和配置

ISC DHCP軟件包自從4.0的版本開始就支持IPv6的DHCPv6服務(wù)。該軟件包包含3個單獨的程序,分別是dhcpd(DHCP 服務(wù)器),dhclient (DHCP 客戶端)和 dhcrelay(DHCP中繼)。這些程序都能支持IPv4和IPv6,但是在同一時刻只能在一種協(xié)議下工作。如果需要同時支持IPv4和IPv6需要以IPv4和IPv6的方式分別啟動服務(wù)。

文中使用的是dhcp-4.1.1-P1的版本。首先從網(wǎng)上下載源代碼包dhcp-4.1.1-P1.tar.gz,然后按照以下步驟可以完成安裝:

在PC機(jī)Linux下執(zhí)行以上操作完成安裝,程序會自動將相關(guān)配置文件如dhcpd.conf和dhclient.conf拷貝到/etc目錄下,這兩個文件分別是DHCP服務(wù)器和客戶端的配置文件,存放相關(guān)的配置信息。[7]可根據(jù)實際情況對其中的配置信息進(jìn)行修改。

在PC上啟動服務(wù)器前還需要創(chuàng)建一個文件,執(zhí)行命令:

然后進(jìn)入到dhcp-4.1.1-P1目錄下的server文件夾執(zhí)行以下命令啟動DHCP服務(wù)器:

3.3 ISC DHCP的客戶端應(yīng)用

由于本文的客戶端是和服務(wù)器端PC機(jī)連接在一個網(wǎng)絡(luò)的HH6410開發(fā)板,所以客戶端的安裝和服務(wù)器的安裝有所不同,需要進(jìn)行交叉編譯,將ISC DHCP移植到開發(fā)板的ARM11平臺下運行。

聲明環(huán)境變量:

解壓 dhcp-4.1.1-P1.tar.gz文件:

進(jìn)入目錄執(zhí)行:

執(zhí)行完后會自動生成移植的makefile文件,然后執(zhí)行make交叉編譯。

進(jìn)入client目錄,將其中的編譯完成的客戶端可執(zhí)行文件dhclient拷貝到開發(fā)板的/sbin目錄下,將其中的客戶端配置文件dhclient.conf拷貝到開發(fā)板的/etc目錄下,進(jìn)入到client/scripts目錄下,將其中的Linux文件拷貝為dhclientscript,然后將dhclient-script文件拷貝到開發(fā)板的/etc目錄下??梢愿鶕?jù)實際情況對相關(guān)配置文件進(jìn)行修改。

在開發(fā)板環(huán)境下執(zhí)行如下命令:

然后進(jìn)入開發(fā)板的/sbin目錄下執(zhí)行如下命令啟動開發(fā)板上的客戶端程序:

#./dhclient-d-6-cf/etc/dhclient.conf-sf/etc/dhclient-script eth0

客戶端程序啟動,查看打印的調(diào)試信息可以看到服務(wù)器給客戶端分配的IPv6地址。

4 結(jié)束語

IPv6取代IPv4在不久的將來就會必然實現(xiàn),而手動配置分配IPv6地址比較麻煩,尤其是地址規(guī)劃更為困難。現(xiàn)在,移動嵌入式終端設(shè)備數(shù)量急速增加,對移動主機(jī)地址變動較多,手動的配置方式顯然無法滿足要求。實現(xiàn)IPv6地址自動配置的DHCPv6服務(wù)此時就顯得極為重要,它不但解決了手動配置的費時,易出錯等缺點,還能使主機(jī)不管在何種情況下都能快捷的連入網(wǎng)絡(luò)。未來DHCPv6服務(wù)的應(yīng)用會越來越廣泛。

[1]樓俊青,潘雪增,平玲娣.Pv6下動態(tài)主機(jī)配置協(xié)議的研究與設(shè)計實現(xiàn)[J].計算機(jī)應(yīng)用,2003,23(9):79-81.

LOU Jun-qing,PAN Xue-zeng, PING Ling-di.Study and implementation of dynamic host configuration protocol for IPv6[J].Computer Applications,2003,23(9):79-81.

[2]Ldshin P.沙斐等譯.IPv6詳解[M].北京:機(jī)械工業(yè)出版社,2002.

[3]曹玖新,張德運,丁會寧.新一代協(xié)議IPv6自動地址配置的實現(xiàn)[J].小型計算機(jī)系統(tǒng),2002,23(4):424-426.

CAO Jiu-xin,ZHANG De-yun,DING Hui-ning.Implementation of IPv6 address autoconfiguration[J].Mini-micro Systems,2002,23(4):424-426.

[4]Droom R,Bound J,Volz B,et al.Dynamic Host Configuration Protocol for IPv6(DHCPv6)[S].draft-ietf-dhc-dhcpv6-28.txt,2002.

[5]劉小剛,張思東.基于嵌入式IPv6的自動地址配置研究與實現(xiàn)[J].北京交通大學(xué)學(xué)報,2005,29(2):54-57.

LIU Xiao-gang,ZHANG Si-dong.Research and implementation of address auto-configuration based on embedded IPv6[J].Journal of Beijing Jiaotong University, 2005,29(2):54-57.

[6]胡維華.Linux網(wǎng)絡(luò)管理及應(yīng)用[M].北京:電子工業(yè)出版社,2008.

[7]林慧琛.Red Hat Linux服務(wù)器配置與應(yīng)用[M].北京:人民郵電出版社,2006.

猜你喜歡
開發(fā)板配置文件消息
提示用戶配置文件錯誤 這樣解決
一張圖看5G消息
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
忘記ESXi主機(jī)root密碼怎么辦
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
淺析單片機(jī)開發(fā)板的設(shè)計與制作
電子制作(2017年22期)2017-02-02 07:10:14
消息
消息
消息
闵行区| 雅安市| 积石山| 黑龙江省| 定兴县| 射洪县| 读书| 云浮市| 榆社县| 八宿县| 广河县| 五大连池市| 墨玉县| 福州市| 新田县| 八宿县| 库车县| 萨迦县| 霍州市| 鸡泽县| 南郑县| 兴文县| 武鸣县| 龙岩市| 都兰县| 剑阁县| 鄂托克前旗| 洛浦县| 绍兴市| 梁河县| 开封市| 合水县| 潼南县| 昆山市| 兴业县| 屏东县| 广昌县| 栖霞市| 湖南省| 荔浦县| 资兴市|