亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于以太網(wǎng)板卡的DHCP客戶(hù)端的設(shè)計(jì)

        2014-10-21 11:09:39張奎
        電子世界 2014年12期
        關(guān)鍵詞:設(shè)計(jì)

        張奎

        【摘要】DHCP是為了實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)參數(shù)的自動(dòng)分配而設(shè)計(jì)的,本文深入分析DHCP工作原理,在以太網(wǎng)板卡的基礎(chǔ)上,設(shè)計(jì)了一個(gè)DHCP客戶(hù)端,從而實(shí)現(xiàn)了板卡端口的地址自動(dòng)配置。

        【關(guān)鍵詞】DHCP客戶(hù)端;以太網(wǎng)板卡;設(shè)計(jì)

        1.引言

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

        IETF設(shè)計(jì)的動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)正是這樣一種動(dòng)態(tài)分配機(jī)制。本文將闡述利用以太網(wǎng)板卡的現(xiàn)有功能,設(shè)計(jì)一個(gè)DHCP客戶(hù)端,從而使板卡的每個(gè)端口可以動(dòng)態(tài)獲取IP地址等網(wǎng)絡(luò)參數(shù)。

        2.DHCP原理

        DHCP(Dynamic Host Configuration Protocol),是一種動(dòng)態(tài)向網(wǎng)絡(luò)終端提供配置參數(shù)的協(xié)議。DHCP使用客戶(hù)端/服務(wù)器模式,請(qǐng)求配置信息的終端被稱(chēng)為DHCP客戶(hù)端,而提供配置信息的被稱(chēng)為DHCP服務(wù)器。

        DHCP客戶(hù)端和服務(wù)器之間的交互通過(guò)以下8種類(lèi)型的報(bào)文來(lái)實(shí)現(xiàn):

        ①DISCOVER:由客戶(hù)端廣播,尋找可達(dá)的服務(wù)器;

        ②OFFER:由服務(wù)器響應(yīng)客戶(hù)端的DISCOVER報(bào)文,攜帶了相關(guān)配置參數(shù);

        ③REQUEST:客戶(hù)端發(fā)往服務(wù)器,請(qǐng)求配置參數(shù)或確認(rèn)原來(lái)的配置是否可用;

        ④ACK:服務(wù)器發(fā)往客戶(hù)端,該報(bào)文包含了所提交的配置參數(shù);

        ⑤NAK:服務(wù)器發(fā)往客戶(hù)端,提示客戶(hù)端參數(shù)錯(cuò)誤或租期已滿(mǎn);

        ⑥D(zhuǎn)ECLINE:客戶(hù)端發(fā)往服務(wù)器,告訴服務(wù)器IP地址已被使用;

        ⑦RELEASE:客戶(hù)端發(fā)往服務(wù)器,告訴服務(wù)器放棄IP地址并終止剩余租期;

        ⑧INFORM:客戶(hù)端發(fā)往服務(wù)器,告訴服務(wù)器已配置了網(wǎng)絡(luò),僅向服務(wù)器請(qǐng)求本地配置參數(shù)[2];

        客戶(hù)端從服務(wù)器動(dòng)態(tài)獲取IP地址,主要通過(guò)四個(gè)階段進(jìn)行:

        ①發(fā)現(xiàn)階段:客戶(hù)端尋找服務(wù)器的階段。客戶(hù)端以廣播方式發(fā)送DISCOVER報(bào)文。

        ②提供階段:服務(wù)器提供IP地址的階段。服務(wù)器接收到客戶(hù)端的DISCOVER報(bào)文后,根據(jù)IP地址分配的規(guī)則選出一個(gè)IP地址,與其他參數(shù)一起通過(guò)OFFER報(bào)文發(fā)送給客戶(hù)端。

        ③選擇階段:客戶(hù)端選擇IP地址的階段。如果有多臺(tái)服務(wù)器向該客戶(hù)端發(fā)來(lái)OFFER報(bào)文,客戶(hù)端只接受第一個(gè),然后以廣播方式發(fā)送REQUEST報(bào)文,該報(bào)文中包含服務(wù)器在OFFER報(bào)文中分配的IP地址。

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

        3.系統(tǒng)設(shè)計(jì)

        軟件部分采用VC++6.0開(kāi)發(fā)工具設(shè)計(jì)和編譯,程序運(yùn)行在WindowsXP環(huán)境下,程序設(shè)計(jì)的流程如圖2所示。客戶(hù)端程序的具體實(shí)現(xiàn)過(guò)程主要包括:

        (1)定義一個(gè)數(shù)據(jù)結(jié)構(gòu),保存程序運(yùn)行中的配置參數(shù),描述如下:

        struct dhcp_frm_params

        unsigned char op; // 操作類(lèi)型.

        unsigned char htype; // client網(wǎng)絡(luò)硬件協(xié)議類(lèi)型.

        unsigned char hlen; // client網(wǎng)絡(luò)硬件地址長(zhǎng)度.

        unsigned char hops; // 當(dāng)前的DHCP報(bào)文經(jīng)過(guò)的DHCP中繼的數(shù)量.

        unsigned int tx_id; // 匹配Server的響應(yīng)報(bào)文是對(duì)哪個(gè)請(qǐng)求報(bào)文的響應(yīng).

        unsigned short seconds; // client開(kāi)始DHCP請(qǐng)求后到現(xiàn)在經(jīng)歷的時(shí)間.

        unsigned short flags;

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

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

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

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

        unsigned char chaddr[16]; // 記錄client的實(shí)際硬件地址內(nèi)容.

        signed char sname[64]; // client獲取配置信息的服務(wù)器的名稱(chēng).

        signed char file[128]; // client的配置文件的名稱(chēng).

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

        unsigned int options_len; // options的長(zhǎng)度.

        }

        (2)為了產(chǎn)生特定的交互報(bào)文,定義了一系列函數(shù),主要函數(shù)描述如下:

        根據(jù)配置參數(shù),生成一個(gè)dhcp報(bào)文:

        make_up_dhcp_frm(dhcp_frm_params& dhcp_frm, char* buf);

        ①發(fā)送一個(gè)dhcp-discover報(bào)文;

        tx_one_dhcp_disscover_frm();

        ②判斷收到報(bào)文是否是dhcp-discover報(bào)文的響應(yīng)報(bào)文;

        chk_dhcp_discover_response_frm(char*buf, unsigned int dataLen );

        ③發(fā)送一個(gè)dhcp-request報(bào)文;

        tx_one_dhcp_request_frm();

        ④判斷收到報(bào)文是否是dhcp-request報(bào)文的響應(yīng)報(bào)文;

        chk_dhcp_request_response_frm(char *buf, unsigned int dataLen );

        ⑤查找dhcp-discover的響應(yīng)報(bào)文;

        get_dhcp_discover_response_msg();

        ⑥查找dhcp-request的響應(yīng)報(bào)文;

        get_dhcp_request_response_msg();

        ⑦發(fā)送免費(fèi)的ARP報(bào)文,進(jìn)行地址沖突檢測(cè);

        tx_one_gratis_arp_frm();

        ⑧檢測(cè)對(duì)免費(fèi)ARP的響應(yīng)報(bào)文;

        chk_gratis_arp_response_frm();

        ⑨查找免費(fèi)ARP的響應(yīng)報(bào)文。

        get_gratis_arp_response_msg()。

        (3)報(bào)文的收發(fā):

        當(dāng)由軟件生成交互報(bào)文后,通過(guò)板卡的協(xié)議仿真通道,將數(shù)據(jù)發(fā)送出去。同時(shí),通過(guò)檢測(cè)通道接收到的數(shù)據(jù),獲取服務(wù)器或者其他網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送的報(bào)文。

        在設(shè)計(jì)過(guò)程中,硬件部分實(shí)現(xiàn)創(chuàng)建一個(gè)協(xié)議仿真通道,執(zhí)行數(shù)據(jù)的收發(fā)。軟件部分實(shí)現(xiàn)初始化系統(tǒng)數(shù)據(jù),產(chǎn)生交互過(guò)程中需要的報(bào)文,保存獲取的網(wǎng)絡(luò)參數(shù)。

        測(cè)試中使用了某國(guó)產(chǎn)路由器作為DHCP服務(wù)器,將板卡的一個(gè)測(cè)試端口直接與路由器相連,通過(guò)超級(jí)終端以console方式登陸路由器,配置地址池,使能路由器端口的DHCP服務(wù)器功能。啟動(dòng)配置過(guò)程后,在超級(jí)終端中可以看到服務(wù)器成功為客戶(hù)端分配了IP地址,并設(shè)置了地址的過(guò)期時(shí)間。

        4.結(jié)語(yǔ)

        本文詳細(xì)介紹了DHCP客戶(hù)端如何動(dòng)態(tài)獲取IP地址的過(guò)程,并基于以太網(wǎng)板卡的功能,實(shí)現(xiàn)了一個(gè)DHCP客戶(hù)端,可以用來(lái)測(cè)試從網(wǎng)絡(luò)中獲取地址的能力,對(duì)現(xiàn)有板卡的功能是一個(gè)很好的補(bǔ)充。

        參考文獻(xiàn)

        [1]邢國(guó)穩(wěn).工業(yè)以太網(wǎng)中DHCP協(xié)議應(yīng)用技術(shù)分析[J].微計(jì)算機(jī)信息,2005,5:30-31.

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

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

        猜你喜歡
        設(shè)計(jì)
        二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過(guò)海——仿生設(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計(jì)到“設(shè)計(jì)健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        国产婷婷色综合av蜜臀av| 日本国产一区二区在线| 人妻少妇看A偷人无码电影| 亚洲av免费看一区二区三区 | 午夜天堂av天堂久久久| 极品粉嫩小泬无遮挡20p| 亚洲人成精品久久久久| 一区二区三区少妇熟女高潮 | 国产情侣自拍偷拍精品| 成人av毛片免费大全| 亚洲av永久无码一区二区三区| 久久久久久久性潮| 男人的天堂在线无码视频| 中文字幕中乱码一区无线精品| 亚洲一区二区三区在线最新| 成人免费看aa片| 亚洲乱码日产精品bd在线观看| 亚洲综合久久1区2区3区| 曰日本一级二级三级人人| 国产成人无码18禁午夜福利p| 在线视频精品免费| 91在线观看国产自拍| 麻豆精品国产av在线网址| 精品麻豆国产色欲色欲色欲www| 精品国产高清a毛片无毒不卡| av网站影片在线观看| 少妇一区二区三区久久| 男男啪啪激烈高潮cc漫画免费| 亚洲欧美日韩国产一区二区精品| 白白色发布视频在线播放 | 国产亚洲精久久久久久无码苍井空| 97激情在线视频五月天视频| 亚洲熟女精品中文字幕| 国产精品无套内射迪丽热巴| 无码国产精品一区二区免费式芒果| 丝袜美腿视频一区二区| 欧美激情在线播放| 国产女合集小岁9三部| 亚洲高清美女久久av| 青青草 视频在线观看| 我把护士日出水了视频90分钟 |