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

基于以太網板卡的DHCP客戶端的設計

2014-10-21 11:09:39張奎
電子世界 2014年12期
關鍵詞:設計

張奎

【摘要】DHCP是為了實現TCP/IP網絡參數的自動分配而設計的,本文深入分析DHCP工作原理,在以太網板卡的基礎上,設計了一個DHCP客戶端,從而實現了板卡端口的地址自動配置。

【關鍵詞】DHCP客戶端;以太網板卡;設計

1.引言

隨著網絡技術的發展,TCP/IP網絡與人們的工作與生活越來越緊密的聯系在一起。為確保網絡通信的正常進行,需要配置IP地址等網絡參數。目前,IP地址分配主要采用手動分配和自動分配的方式。其中,手動分配的地址將被長期占用,導致地址利用率低。而自動分配則是由處于網絡中的服務器分配地址,這種方式將手工配置IP地址所導致的錯誤減少到最低程度[1]。

IETF設計的動態主機配置協議(DHCP)正是這樣一種動態分配機制。本文將闡述利用以太網板卡的現有功能,設計一個DHCP客戶端,從而使板卡的每個端口可以動態獲取IP地址等網絡參數。

2.DHCP原理

DHCP(Dynamic Host Configuration Protocol),是一種動態向網絡終端提供配置參數的協議。DHCP使用客戶端/服務器模式,請求配置信息的終端被稱為DHCP客戶端,而提供配置信息的被稱為DHCP服務器。

DHCP客戶端和服務器之間的交互通過以下8種類型的報文來實現:

①DISCOVER:由客戶端廣播,尋找可達的服務器;

②OFFER:由服務器響應客戶端的DISCOVER報文,攜帶了相關配置參數;

③REQUEST:客戶端發往服務器,請求配置參數或確認原來的配置是否可用;

④ACK:服務器發往客戶端,該報文包含了所提交的配置參數;

⑤NAK:服務器發往客戶端,提示客戶端參數錯誤或租期已滿;

⑥DECLINE:客戶端發往服務器,告訴服務器IP地址已被使用;

⑦RELEASE:客戶端發往服務器,告訴服務器放棄IP地址并終止剩余租期;

⑧INFORM:客戶端發往服務器,告訴服務器已配置了網絡,僅向服務器請求本地配置參數[2];

客戶端從服務器動態獲取IP地址,主要通過四個階段進行:

①發現階段:客戶端尋找服務器的階段。客戶端以廣播方式發送DISCOVER報文。

②提供階段:服務器提供IP地址的階段。服務器接收到客戶端的DISCOVER報文后,根據IP地址分配的規則選出一個IP地址,與其他參數一起通過OFFER報文發送給客戶端。

③選擇階段:客戶端選擇IP地址的階段。如果有多臺服務器向該客戶端發來OFFER報文,客戶端只接受第一個,然后以廣播方式發送REQUEST報文,該報文中包含服務器在OFFER報文中分配的IP地址。

④確認階段:服務器確認IP地址的階段。服務器收到REQUEST報文后,只有被選擇的服務器會進行如下操作:如果確認將該地址分配給該客戶端,則返回ACK報文;否則返回NAK報文,表明該地址不能分配給該客戶端[3]。

3.系統設計

軟件部分采用VC++6.0開發工具設計和編譯,程序運行在WindowsXP環境下,程序設計的流程如圖2所示。客戶端程序的具體實現過程主要包括:

(1)定義一個數據結構,保存程序運行中的配置參數,描述如下:

struct dhcp_frm_params

unsigned char op; // 操作類型.

unsigned char htype; // client網絡硬件協議類型.

unsigned char hlen; // client網絡硬件地址長度.

unsigned char hops; // 當前的DHCP報文經過的DHCP中繼的數量.

unsigned int tx_id; // 匹配Server的響應報文是對哪個請求報文的響應.

unsigned short seconds; // client開始DHCP請求后到現在經歷的時間.

unsigned short flags;

unsigned char ciaddr[4]; // 表示client的IP地址.

unsigned char yiaddr[4]; // server分配給client的IP地址.

unsigned char siaddr[4]; // client獲取配置信息的服務器的IP地址.

unsigned char giaddr[4]; // 記錄第一個DHCP中繼的IP地址.

unsigned char chaddr[16]; // 記錄client的實際硬件地址內容.

signed char sname[64]; // client獲取配置信息的服務器的名稱.

signed char file[128]; // client的配置文件的名稱.

unsigned char* options; // 包含大量可選的終端初始配置信息.

unsigned int options_len; // options的長度.

}

(2)為了產生特定的交互報文,定義了一系列函數,主要函數描述如下:

根據配置參數,生成一個dhcp報文:

make_up_dhcp_frm(dhcp_frm_params& dhcp_frm, char* buf);

①發送一個dhcp-discover報文;

tx_one_dhcp_disscover_frm();

②判斷收到報文是否是dhcp-discover報文的響應報文;

chk_dhcp_discover_response_frm(char*buf, unsigned int dataLen );

③發送一個dhcp-request報文;

tx_one_dhcp_request_frm();

④判斷收到報文是否是dhcp-request報文的響應報文;

chk_dhcp_request_response_frm(char *buf, unsigned int dataLen );

⑤查找dhcp-discover的響應報文;

get_dhcp_discover_response_msg();

⑥查找dhcp-request的響應報文;

get_dhcp_request_response_msg();

⑦發送免費的ARP報文,進行地址沖突檢測;

tx_one_gratis_arp_frm();

⑧檢測對免費ARP的響應報文;

chk_gratis_arp_response_frm();

⑨查找免費ARP的響應報文。

get_gratis_arp_response_msg()。

(3)報文的收發:

當由軟件生成交互報文后,通過板卡的協議仿真通道,將數據發送出去。同時,通過檢測通道接收到的數據,獲取服務器或者其他網絡節點發送的報文。

在設計過程中,硬件部分實現創建一個協議仿真通道,執行數據的收發。軟件部分實現初始化系統數據,產生交互過程中需要的報文,保存獲取的網絡參數。

測試中使用了某國產路由器作為DHCP服務器,將板卡的一個測試端口直接與路由器相連,通過超級終端以console方式登陸路由器,配置地址池,使能路由器端口的DHCP服務器功能。啟動配置過程后,在超級終端中可以看到服務器成功為客戶端分配了IP地址,并設置了地址的過期時間。

4.結語

本文詳細介紹了DHCP客戶端如何動態獲取IP地址的過程,并基于以太網板卡的功能,實現了一個DHCP客戶端,可以用來測試從網絡中獲取地址的能力,對現有板卡的功能是一個很好的補充。

參考文獻

[1]邢國穩.工業以太網中DHCP協議應用技術分析[J].微計算機信息,2005,5:30-31.

[2]RFC 2132,DHCP Options and BOOTP Vendor Extensions.

[3]Dynamic Host Configuration Protocol,RFC 2131,1997.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 日韩精品亚洲精品第一页| 一级香蕉视频在线观看| 国产精品网拍在线| 国产精品无码作爱| 一区二区三区国产| 欧美怡红院视频一区二区三区| 国产成人综合日韩精品无码不卡| 四虎在线高清无码| 精品国产99久久| 日韩美毛片| 老司机午夜精品视频你懂的| 日韩黄色大片免费看| 黄色一及毛片| 精品伊人久久大香线蕉网站| 无码视频国产精品一区二区| 国产精品太粉嫩高中在线观看| 亚洲欧美一区二区三区麻豆| 亚洲系列中文字幕一区二区| 一区二区三区四区日韩| 男女男免费视频网站国产| 又黄又湿又爽的视频| 国产丝袜一区二区三区视频免下载| 精品少妇人妻无码久久| 青青青视频蜜桃一区二区| 狠狠v日韩v欧美v| 有专无码视频| 九色视频线上播放| 日韩精品一区二区三区swag| 91精品视频网站| 欧美成人看片一区二区三区| 先锋资源久久| 亚洲人成网址| 在线观看国产精品第一区免费| 99这里只有精品在线| 亚洲精品波多野结衣| 亚洲二区视频| 91亚瑟视频| 国产麻豆精品在线观看| 亚洲人精品亚洲人成在线| 国产午夜福利在线小视频| 欧美中文字幕在线视频 | 欧美第一页在线| 午夜成人在线视频| 国产综合色在线视频播放线视| 亚洲一级毛片免费观看| 亚洲人成影视在线观看| 欧美综合成人| 国产69精品久久久久妇女| 国产香蕉97碰碰视频VA碰碰看| 女人一级毛片| 毛片在线看网站| 无码免费的亚洲视频| 亚洲成A人V欧美综合| 日韩在线第三页| 日本成人精品视频| 亚洲天堂视频在线观看免费| 免费国产无遮挡又黄又爽| 国产香蕉一区二区在线网站| 久久中文字幕不卡一二区| 久久久久亚洲AV成人网站软件| 欧美国产菊爆免费观看 | 波多野结衣在线一区二区| 亚洲精品大秀视频| 亚洲天堂网在线观看视频| 国产精品30p| 99热最新网址| 亚洲成网777777国产精品| 在线亚洲天堂| 亚洲女同欧美在线| 天天躁夜夜躁狠狠躁躁88| 亚洲最大福利网站| 亚洲女同欧美在线| 国产欧美在线观看精品一区污| 国产精品女人呻吟在线观看| 亚洲品质国产精品无码| 国产欧美日韩精品第二区| 综合网天天| 69视频国产| 亚洲成a人片7777| 亚洲欧美成人| 成人一级黄色毛片| 亚洲欧洲自拍拍偷午夜色无码|