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

單片機(jī)網(wǎng)絡(luò)通信ARP協(xié)議的設(shè)計(jì)

2017-01-21 14:07:50楊金石李冬花肖繁
卷宗 2016年10期
關(guān)鍵詞:單片機(jī)

楊金石+李冬花+肖繁

摘 要:采用TCP/IP網(wǎng)能夠滿足大部分單片機(jī)系統(tǒng)數(shù)據(jù)交互需求,單片機(jī)系統(tǒng)要實(shí)現(xiàn)IP數(shù)據(jù)傳輸,需要首先對(duì)ARP協(xié)議進(jìn)行設(shè)計(jì)實(shí)現(xiàn),本文根據(jù)ARP協(xié)議的基本工作過程,給出了在單片機(jī)系統(tǒng)中ARP請(qǐng)求和ARP應(yīng)答程序的設(shè)計(jì)和實(shí)現(xiàn)方法。

關(guān)鍵詞:單片機(jī);TCP/IP;ARP

1 引言

單片機(jī)作為微型計(jì)算機(jī)的一個(gè)重要分支,在很多領(lǐng)域都得到了非常廣泛的應(yīng)用。在物聯(lián)網(wǎng)不斷發(fā)展和普及的基本下,各單片機(jī)系統(tǒng)間數(shù)據(jù)交互的需求在不斷增加,在現(xiàn)有的技術(shù)條件下,采用TCP/IP網(wǎng)絡(luò)實(shí)現(xiàn)單片機(jī)系統(tǒng)間通信能夠較好的滿足絕大部分單片機(jī)系統(tǒng)數(shù)據(jù)交互需求。

要實(shí)現(xiàn)單片機(jī)系統(tǒng)TCP/IP網(wǎng)絡(luò)通信,需要在單片機(jī)系統(tǒng)中對(duì)TCP/IP協(xié)議系統(tǒng)中的幾個(gè)關(guān)鍵協(xié)議進(jìn)行設(shè)計(jì),包括ARP、IP、ICMP、TCP、UDP等。其中ARP協(xié)議是其他協(xié)議通信的基礎(chǔ),也是高層數(shù)據(jù)包成功發(fā)送的前提。

2 ARP協(xié)議簡介

ARP(Address Resolution Protocl),中文名字為地址解析協(xié)議,其主要功能是實(shí)現(xiàn)網(wǎng)絡(luò)中目標(biāo)主機(jī)IP地址到MAC地址的自動(dòng)轉(zhuǎn)換。ARP協(xié)議數(shù)據(jù)格式如圖1所示。

在實(shí)際的網(wǎng)絡(luò)通信過程中,ARP協(xié)議實(shí)現(xiàn)IP地址到MAC地址轉(zhuǎn)換的基本過程包括以下四個(gè)步驟:

(一)查詢ARP緩存

當(dāng)系統(tǒng)需要通過網(wǎng)絡(luò)向遠(yuǎn)程節(jié)點(diǎn)發(fā)送IP數(shù)據(jù)包時(shí),在網(wǎng)絡(luò)層完成IP包封裝后,該IP包將交給數(shù)據(jù)鏈路層進(jìn)行數(shù)據(jù)幀的封裝,而要完成數(shù)據(jù)幀的封裝,必須要有目標(biāo)主機(jī)的MAC地址,此時(shí),系統(tǒng)首先會(huì)查詢本地的ARP緩存(在某些單片機(jī)系統(tǒng)中,可能并沒有設(shè)置ARP緩存,此時(shí)系統(tǒng)將不會(huì)進(jìn)行該步驟。),如果本次通信遠(yuǎn)端主機(jī)的MAC地址在本地緩存在存在,即可直接利用該地址完成數(shù)據(jù)幀的封裝,進(jìn)而實(shí)現(xiàn)IP包的傳輸。

(二)ARP請(qǐng)求

當(dāng)系統(tǒng)中沒有設(shè)置ARP緩存或者緩存中沒有所需主機(jī)的MAC地址,那么,系統(tǒng)將利用ARP協(xié)議向網(wǎng)絡(luò)發(fā)出ARP請(qǐng)求數(shù)據(jù)包。系統(tǒng)將ARP協(xié)議數(shù)據(jù)包的“操作”字段設(shè)置為“1”,表示ARP請(qǐng)求,并且將自己的MAC和IP地址分別寫入?yún)f(xié)議數(shù)據(jù)的“源物理地址”和“源協(xié)議地址”字段中,以廣播的方式將該請(qǐng)求發(fā)送到網(wǎng)絡(luò)中。

(三)ARP應(yīng)答

如果目標(biāo)主機(jī)存在,將收到源主機(jī)發(fā)送的ARP請(qǐng)求包,拆包分析后,將對(duì)該請(qǐng)求進(jìn)行應(yīng)答,應(yīng)答信息中即包含目標(biāo)主機(jī)的IP地址和MAC地址。

(四)獲得目標(biāo)MAC地址

源主機(jī)收到ARP應(yīng)答信息后,就可以從該應(yīng)答信息中獲得目標(biāo)主機(jī)的MAC地址,進(jìn)而能夠完成需要發(fā)送的數(shù)據(jù)幀的封裝;同時(shí),如果設(shè)置有ARP緩存,系統(tǒng)還會(huì)將該地址信息存入ARP緩存中,以備下次使用。

3 單片機(jī)ARP協(xié)議設(shè)計(jì)

在單片機(jī)控制系統(tǒng)中對(duì)ARP協(xié)議實(shí)現(xiàn)時(shí),需要分別對(duì)ARP請(qǐng)求和ARP應(yīng)答進(jìn)行設(shè)計(jì)。

(一)ARP請(qǐng)求程序設(shè)計(jì)

單片機(jī)系統(tǒng)ARP請(qǐng)求程序設(shè)計(jì)流程如圖2所示,按照該流程,分別設(shè)計(jì)編寫各主要功能函數(shù)。

1、ARP緩存查詢函數(shù)

函數(shù)聲明為:Unsigned char ScanARPCache(unsigned char * ipAdd);

調(diào)用該函數(shù)后,程序?qū)?duì)ARP緩存進(jìn)行查詢,如果有所需查詢項(xiàng),返回值為“1”,如果未找到所需查詢項(xiàng),返回值為“0”系統(tǒng)可以通過該返回值來判斷本地ARP緩存中是否有所需查詢項(xiàng)。

2、ARP請(qǐng)求發(fā)送函數(shù)

函數(shù)聲明為:voidSendARPRequest(void);

該函數(shù)不需要參數(shù),也沒有返回值,該函數(shù)只是將預(yù)先設(shè)計(jì)好的本機(jī)ARP請(qǐng)求包通過以太網(wǎng)廣播出去,并啟動(dòng)單片機(jī)的定時(shí)中斷程序,以避免由于ARP請(qǐng)求異常而導(dǎo)致系統(tǒng)死鎖情況的發(fā)生。

3、ARP應(yīng)答處理函數(shù)

函數(shù)聲明為:unsigned char ARPAnswerDispose(void);

系統(tǒng)在收到網(wǎng)絡(luò)發(fā)送過來ARP應(yīng)答數(shù)據(jù)后,將調(diào)用該函數(shù)從ARP應(yīng)答包中獲得目標(biāo)主機(jī)的地址信息,存入本地ARP緩存表,并進(jìn)一步利用獲得的地址完成所需發(fā)送數(shù)據(jù)以太網(wǎng)幀的封裝;該函數(shù)還需要將關(guān)閉發(fā)送ARP請(qǐng)求時(shí)所打開的定時(shí)中斷。

4、錯(cuò)誤報(bào)告函數(shù)

函數(shù)聲明為:voidErrorReport(unsigned char * ipAdd);

系統(tǒng)發(fā)送ARP請(qǐng)求后,如何在定時(shí)中斷到來時(shí)還未收到ARP應(yīng)答,定時(shí)中斷函數(shù)將調(diào)用錯(cuò)誤報(bào)告函數(shù),該函數(shù)將向遠(yuǎn)程服務(wù)器報(bào)告當(dāng)前網(wǎng)絡(luò)狀態(tài)信息,并關(guān)閉定時(shí)中斷函數(shù)。

(二)ARP應(yīng)答程序設(shè)計(jì)

單片機(jī)系統(tǒng)ARP應(yīng)答過程相對(duì)要簡單一些,程序流程如圖3所示,按照該流程,分別設(shè)計(jì)編寫各主要功能函數(shù)。

1、地址信息處理函數(shù)

函數(shù)聲明為:unsigned char ARPAddDispose(void);

系統(tǒng)在收到網(wǎng)絡(luò)發(fā)送過來ARP請(qǐng)求后,將調(diào)用該函數(shù)從ARP請(qǐng)求包中獲得源主機(jī)的地址信息,存入本地ARP緩存表,以備需要時(shí)使用。此外,該函數(shù)還將對(duì)請(qǐng)求包中的目標(biāo)地址進(jìn)行分析,如果所請(qǐng)求的目標(biāo)地址為本機(jī)地址,函數(shù)返回值為“1”,反之,返回值為“0”。

2、ARP應(yīng)答發(fā)送函數(shù)

函數(shù)什么為:voidSendARPAnswer(void);

當(dāng)調(diào)用ARPAddDispose()后,得到返回值為“1”時(shí),說明此事網(wǎng)絡(luò)中有主機(jī)正在對(duì)本機(jī)發(fā)出ARP請(qǐng)求,需要對(duì)該請(qǐng)求進(jìn)行應(yīng)答。應(yīng)答函數(shù)需要將本機(jī)地址信息填入收到的請(qǐng)求包中的目標(biāo)地址信息字段并廣播到網(wǎng)絡(luò)中即可。

4 結(jié)束語

在某些情況下,單片機(jī)系統(tǒng)與之通信的遠(yuǎn)程主機(jī)相對(duì)固定,因此可以對(duì)ARP請(qǐng)求程序進(jìn)行簡化,比如將可能發(fā)生通信的遠(yuǎn)程主機(jī)地址預(yù)先寫入程序代碼或者Flash中,從而省去相對(duì)復(fù)雜的ARP請(qǐng)求過程,通過這種設(shè)計(jì)方式以減小單片機(jī)系統(tǒng)用于網(wǎng)絡(luò)通信的資源開銷。總之,ARP協(xié)議是實(shí)現(xiàn)IP通信的基礎(chǔ),在對(duì)單片機(jī)系統(tǒng)進(jìn)行ARP協(xié)議實(shí)現(xiàn)時(shí),應(yīng)當(dāng)根據(jù)具體應(yīng)用需求和單片機(jī)系統(tǒng)開銷等實(shí)際情況靈活進(jìn)行程序設(shè)計(jì),以確保系統(tǒng)穩(wěn)定可靠運(yùn)行。

參考文獻(xiàn)

[1]周曉峰,楊世錫,華亮.單片機(jī)上簡單TCP/IP協(xié)議的實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2004(2):66-69.

[2]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.

[3]鄧謙,董玉華,李春杰.基于以太網(wǎng)的智能家居終端設(shè)計(jì)[J].四川工兵學(xué)報(bào),2010(8):93-96.

作者簡介

楊金石(1981-),男,漢族,江西人,研究生,講師。

猜你喜歡
單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個(gè)全新PIC單片機(jī)系列
基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)
主站蜘蛛池模板: 国产视频只有无码精品| 老汉色老汉首页a亚洲| 一本一本大道香蕉久在线播放| 成人午夜免费观看| 2020国产免费久久精品99| 国产亚洲视频播放9000| 91在线播放国产| 国产大片喷水在线在线视频| 国产精品视频3p| 浮力影院国产第一页| 韩日无码在线不卡| 中文字幕永久视频| 91人妻在线视频| 麻豆国产精品视频| 夜色爽爽影院18禁妓女影院| 久久久久久尹人网香蕉 | 亚洲天堂精品在线观看| 国产成年无码AⅤ片在线| 亚洲天堂免费在线视频| 无码日韩人妻精品久久蜜桃| 久久6免费视频| 欧美日本在线| 国产成人精品免费av| 国产在线啪| 99久久精品久久久久久婷婷| 亚洲第一成网站| 国产精品久久久久鬼色| 少妇被粗大的猛烈进出免费视频| 国产精品尤物在线| 免费国产高清视频| 国产原创演绎剧情有字幕的| 日韩小视频在线播放| 国产精品国产三级国产专业不 | 久久久久人妻精品一区三寸蜜桃| 国内精品小视频在线| 中文字幕丝袜一区二区| 亚洲欧美另类色图| 国产欧美日韩另类| 日本在线免费网站| 国产打屁股免费区网站| 六月婷婷激情综合| 国产在线拍偷自揄拍精品| 日韩高清中文字幕| 欧美v在线| 国产一级毛片yw| 色噜噜综合网| 在线亚洲小视频| 天天综合网亚洲网站| 欧美伊人色综合久久天天| 欧美色亚洲| 午夜在线不卡| 国产一级在线播放| 国产乱人视频免费观看| 人妻少妇乱子伦精品无码专区毛片| 日韩中文精品亚洲第三区| 香蕉eeww99国产在线观看| 永久在线精品免费视频观看| 国产无码精品在线播放| 欧美在线观看不卡| 久久久久88色偷偷| 亚洲欧美日本国产综合在线| 国产精品福利社| 国产亚洲精| 波多野结衣无码AV在线| 制服丝袜一区二区三区在线| 国产精品毛片一区视频播| 毛片免费试看| 麻豆国产原创视频在线播放| 亚洲综合狠狠| 免费一级毛片在线播放傲雪网| 国产精品不卡片视频免费观看| 一级毛片中文字幕| 色综合网址| 园内精品自拍视频在线播放| 亚洲天堂网站在线| 亚洲中文字幕手机在线第一页| 国产玖玖玖精品视频| 欲色天天综合网| 国产精品视频系列专区| 中文字幕佐山爱一区二区免费| 怡春院欧美一区二区三区免费| 久久这里只精品国产99热8|