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
主站蜘蛛池模板: aⅴ免费在线观看| 精品人妻一区无码视频| 精品一区二区三区中文字幕| 五月天丁香婷婷综合久久| 欧美人在线一区二区三区| 国产亚洲精品无码专| 国产美女无遮挡免费视频| a天堂视频| 在线视频97| 性色生活片在线观看| 久久久久青草大香线综合精品| 日韩a级片视频| 9久久伊人精品综合| 一本大道无码日韩精品影视| 亚洲天堂免费观看| 免费在线视频a| 国产三级毛片| 园内精品自拍视频在线播放| v天堂中文在线| 亚洲成人在线免费观看| 国产精品视频系列专区| 婷婷五月在线视频| www精品久久| 亚洲高清无码精品| 国内精品视频| 国产肉感大码AV无码| 91欧美亚洲国产五月天| 国产一二视频| 欧美精品成人一区二区在线观看| 国产一级α片| 国产9191精品免费观看| 高清久久精品亚洲日韩Av| 欧美激情视频二区三区| 亚洲天堂网在线视频| 亚洲成A人V欧美综合天堂| 伊人无码视屏| 日韩精品欧美国产在线| 久久动漫精品| 精品久久高清| 真人免费一级毛片一区二区 | 亚洲AV人人澡人人双人| 久久精品人妻中文系列| 国产高清国内精品福利| 国产成人精品午夜视频'| 2020国产在线视精品在| 国产精品私拍99pans大尺度| 成人免费一级片| 久久亚洲中文字幕精品一区| 伊人福利视频| 伊在人亚洲香蕉精品播放| 欧美日韩一区二区三区在线视频| 精品国产成人三级在线观看| 全部免费特黄特色大片视频| 亚洲人在线| 亚洲欧洲自拍拍偷午夜色无码| 国产视频入口| 国产成人综合久久精品尤物| 91国内在线视频| 亚洲天堂伊人| 亚洲无码37.| 91免费国产高清观看| 99精品国产自在现线观看| 精品国产自| 日本亚洲欧美在线| 国产无人区一区二区三区| 亚洲中字无码AV电影在线观看| 国产成人凹凸视频在线| av天堂最新版在线| 国产久草视频| 国产精品对白刺激| 成人国产精品一级毛片天堂| 亚洲人成网址| 国产精品三级av及在线观看| 国产真实乱子伦视频播放| 夜夜操国产| 国产一区二区人大臿蕉香蕉| 区国产精品搜索视频| 四虎永久在线| 久996视频精品免费观看| 婷婷亚洲天堂| 亚洲成人www| 免费av一区二区三区在线|