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一视频| 91av国产在线| 丰满人妻久久中文字幕| 国产精品漂亮美女在线观看| 在线欧美国产| 波多野结衣视频网站| 18禁不卡免费网站| 国产美女免费网站| 午夜精品区| аv天堂最新中文在线| 免费无码网站| 日韩精品一区二区三区大桥未久| 免费播放毛片| 国产成人精品高清在线| 国内精品91| 免费一级α片在线观看| 欧美日韩国产综合视频在线观看 | 色婷婷丁香| 午夜毛片免费看| 亚洲无限乱码| 欧美另类图片视频无弹跳第一页| AV网站中文| 国产精品免费入口视频| 国产香蕉在线| 国产综合无码一区二区色蜜蜜| 久久五月天国产自| 国产精品久久自在自线观看| 国产成人av一区二区三区| 91精品视频在线播放| 欧洲欧美人成免费全部视频| 日韩国产欧美精品在线| 亚洲一级毛片免费看| 久久狠狠色噜噜狠狠狠狠97视色| 久久香蕉国产线看观看精品蕉| 99re精彩视频| 91在线中文| 亚洲天堂日韩在线| 无码人妻热线精品视频| 国产在线视频福利资源站| 久久亚洲美女精品国产精品| 91青青草视频| 人妻无码一区二区视频| 黄色网在线免费观看| 国产91在线|中文| 国产精品视频a| 找国产毛片看| 国产成人精品午夜视频'| 国产精品19p| 午夜电影在线观看国产1区| 高潮爽到爆的喷水女主播视频 | 永久免费精品视频| 亚洲AV无码乱码在线观看代蜜桃| 国产精品一区不卡| 亚洲精品在线91| 国产色网站| 影音先锋丝袜制服| 欧美性久久久久| 永久免费AⅤ无码网站在线观看| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲AⅤ无码国产精品| 亚洲第一在线播放| 无码AV高清毛片中国一级毛片 | 精品小视频在线观看| 亚洲国产成人无码AV在线影院L| 亚洲国产一区在线观看| 日韩在线欧美在线| av在线5g无码天天| 青青草欧美| 国产成年女人特黄特色大片免费| 岛国精品一区免费视频在线观看| 国产尹人香蕉综合在线电影| 玖玖精品视频在线观看| 91成人免费观看在线观看| 国产视频一区二区在线观看| 人妻无码中文字幕一区二区三区| 精品视频免费在线| 毛片网站在线播放| 国产成人乱无码视频| 国产精品分类视频分类一区| 久热re国产手机在线观看| 噜噜噜久久| 日韩欧美网址|