• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      嵌入式協(xié)議棧的TCP/IP設(shè)計(jì)與實(shí)現(xiàn)

      2017-07-20 22:25:33周磊
      魅力中國(guó) 2016年45期
      關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議嵌入式系統(tǒng)狀態(tài)機(jī)

      周磊

      【摘要】本文提出了一種嵌入式協(xié)議棧的設(shè)計(jì)及實(shí)現(xiàn)。功能上簡(jiǎn)化到能滿足網(wǎng)絡(luò)功能單一的嵌入式應(yīng)用的基本需要,沒(méi)有操作系統(tǒng)平臺(tái)也能完成基本功能;對(duì)于傳統(tǒng)的TCP協(xié)議,本文也從TCP狀態(tài)機(jī)和TCP超時(shí)定時(shí)兩個(gè)方面同時(shí)進(jìn)行了改進(jìn)設(shè)計(jì)。本文根據(jù)以上提出的的優(yōu)化策略,分別設(shè)計(jì)了實(shí)現(xiàn)算法及其相關(guān)數(shù)據(jù)結(jié)構(gòu)。

      【關(guān)鍵詞】嵌入式系統(tǒng),網(wǎng)絡(luò)協(xié)議,TCP/IP,狀態(tài)機(jī)

      1.研究背景及意義

      隨著經(jīng)濟(jì)全球化的不斷發(fā)展以及信息社會(huì)對(duì)數(shù)字化要求的不斷提高,國(guó)務(wù)院確定三網(wǎng)融合政策啟動(dòng),互聯(lián)互通的需求使嵌入式應(yīng)用和其它計(jì)算機(jī)系統(tǒng)進(jìn)行信息交互的需求也日益迫切。

      要實(shí)現(xiàn)嵌入式系統(tǒng)的網(wǎng)絡(luò)功能,肯定需要在嵌入式軟件中加入相關(guān)的通訊協(xié)議棧組件。但是,這一方案的實(shí)現(xiàn)在嵌入式系統(tǒng)中存在著技術(shù)難點(diǎn),其原因有:①需要加入的TCP/IP協(xié)議棧軟件是一個(gè)比較復(fù)雜的軟件系統(tǒng),對(duì)于系統(tǒng)資源的消耗較大;②PC系統(tǒng)的TCP/IP協(xié)議棧在實(shí)時(shí)性能和精簡(jiǎn)程度等方面通常也不適應(yīng)于嵌入式系統(tǒng)應(yīng)用的實(shí)際要求。這兩個(gè)問(wèn)題的解決就需要針對(duì)特定應(yīng)用實(shí)現(xiàn)一個(gè)簡(jiǎn)潔﹑高效的協(xié)議棧。

      2.嵌入式系統(tǒng)協(xié)議棧中TCP/IP的設(shè)計(jì)和實(shí)現(xiàn)

      嵌入式系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧研究是利用現(xiàn)有的TCP/IP協(xié)議棧進(jìn)行系統(tǒng)的分析和研究,把相關(guān)子協(xié)議進(jìn)行優(yōu)化和簡(jiǎn)化,最終實(shí)現(xiàn)了一種全新的嵌入式TCP/IP協(xié)議棧MinIP。這個(gè)協(xié)議棧的設(shè)計(jì)目的是為瘦客戶端嵌入式網(wǎng)絡(luò)應(yīng)用提供所需要的協(xié)議棧組件,在此對(duì)TCP/IP協(xié)議的設(shè)計(jì)過(guò)程進(jìn)行論述。

      2.1 TCP協(xié)議設(shè)計(jì)

      2.1.1 取消滑動(dòng)窗口

      TCP在進(jìn)行流量控制時(shí),通常采用的是窗口機(jī)制來(lái)實(shí)現(xiàn)的,在MinIP的TCP設(shè)計(jì)里,拋棄窗口機(jī)制,沒(méi)有對(duì)流量進(jìn)行控制。考慮到MinIP主要運(yùn)用在局域網(wǎng)絡(luò)里,網(wǎng)絡(luò)流量通常并不是很高,所以可以暫時(shí)不考慮其對(duì)流量與網(wǎng)絡(luò)擁塞進(jìn)行的控制,在實(shí)現(xiàn)過(guò)程中可對(duì)其進(jìn)一步的精簡(jiǎn)。

      2.1.2 簡(jiǎn)化處理的TCP狀態(tài)機(jī)

      簡(jiǎn)化后的有限狀態(tài)機(jī)的流程是:前端采集數(shù)據(jù)填充發(fā)送緩沖后,會(huì)通過(guò)送含有標(biāo)志字段SYN的數(shù)據(jù)包至目的主機(jī),主動(dòng)要求建立TCP連接,等待目的主機(jī)的SYN回復(fù)與ACK信息,當(dāng)收到該數(shù)據(jù)包后然后發(fā)送ACK向目的主機(jī)進(jìn)行確認(rèn),最后,MinIP和目的主機(jī)的“三次握手”也就完成了,而后雙方開(kāi)始相互交換實(shí)際數(shù)據(jù)。當(dāng)完成數(shù)據(jù)發(fā)送的時(shí)候,MinIP的TCP發(fā)送含有標(biāo)志字段FIN的信息至目的主機(jī)并要求關(guān)閉TCP,同時(shí)從ESTABLISHED狀態(tài)變化為FIN_WAIT_1狀態(tài),而后等待目的主機(jī)反饋的信息ACK,在收到ACK數(shù)據(jù)包后,F(xiàn)IN_WAIT_1狀態(tài)變化為FIN_WAIT_2狀態(tài),MinIP繼續(xù)等待由目的主機(jī)發(fā)出的帶FIN標(biāo)志字段的數(shù)據(jù)包,在收到數(shù)據(jù)包后,進(jìn)入TIME_WAIT狀態(tài),為了能夠使最后發(fā)給目的主機(jī)的ACK數(shù)據(jù)包能夠成功的到達(dá),MinIP在發(fā)送完ACK后則會(huì)繼續(xù)處于TIME_WAIT狀態(tài),繼續(xù)等待2MSL。最后,一個(gè)完整的TCP通訊過(guò)程也就結(jié)束了。

      2.1.3 改進(jìn)的TCP定時(shí)機(jī)制

      嵌入式設(shè)備的另一個(gè)特點(diǎn)就是需要考慮設(shè)備的功耗,多數(shù)便攜式嵌入式設(shè)備一般使用電池來(lái)供電,這是和計(jì)算機(jī)平臺(tái)不同的特點(diǎn),所以節(jié)能就必須加以考慮。

      TCP協(xié)議的連接及通信過(guò)程在任何的網(wǎng)絡(luò)拓樸環(huán)境下,由于設(shè)計(jì)時(shí)的考慮,TCP都會(huì)存在一定的超時(shí)重傳機(jī)制,而有些重傳實(shí)際上是沒(méi)有必要的,只是TCP為保證數(shù)據(jù)的可靠性及完整性而設(shè)計(jì)的,因此,可以考慮針對(duì)傳統(tǒng)的TCP重傳機(jī)制進(jìn)行適當(dāng)?shù)膬?yōu)化,使重傳時(shí)產(chǎn)生的時(shí)間延遲盡量減少,這樣就可以減少無(wú)用數(shù)據(jù)的重傳,進(jìn)而節(jié)省了功耗。

      把設(shè)備閑置時(shí)的系統(tǒng)能耗這里設(shè)為:Pi,設(shè)備處于TCP環(huán)境下通訊狀態(tài)時(shí),該設(shè)備數(shù)據(jù)發(fā)送產(chǎn)生的能耗和所需時(shí)間分別為:Plx、Tlx,接收數(shù)據(jù)時(shí)所需能耗和時(shí)間分別為:Pmx、Tmx,那么整個(gè)設(shè)備在T時(shí)間內(nèi)的能耗El可以按下式計(jì)算:

      El=Pi×(Tl-Tlx-Tlx)+Plx×Tlx+Pmx×Tmx

      =Pi×Ti+Elx+Emx

      =Pi×Ti+Ea

      在上式中,Pi為設(shè)備閑置時(shí)的待機(jī)能耗,Ti為待機(jī)時(shí)間,Ea為通訊過(guò)程中的總能耗。從另外一個(gè)角度看,設(shè)備進(jìn)行通訊時(shí),發(fā)送數(shù)據(jù)或接收數(shù)據(jù)產(chǎn)生的能耗也可以等價(jià)為設(shè)備空閑時(shí)的能耗加上發(fā)送時(shí)的附加功耗Pt或接收數(shù)據(jù)時(shí)產(chǎn)生的功耗Pm,故有下式:

      Plx=Pt+Pi

      Pmx=Pm+Pi

      所以經(jīng)過(guò)前式和上式的結(jié)合,可以推導(dǎo)出:El=Pi×Tl+Ed??傻茫?/p>

      Pi×Tl+Ea=Pi×Ti+Ed.

      而一般嵌入式(如:S3C44b0X)是含有節(jié)能處理模式的,所以,空閑情況下可以認(rèn)為Pi<

      經(jīng)過(guò)推導(dǎo),從得出的式子可以看出數(shù)據(jù)收發(fā)過(guò)程中設(shè)備所需的的能耗決定了總能耗高低,所以對(duì)數(shù)據(jù)包超時(shí)重發(fā)機(jī)制的改進(jìn),是可以減小發(fā)送數(shù)據(jù)時(shí)設(shè)備產(chǎn)生的能耗,從而可以從一定角度實(shí)現(xiàn)對(duì)設(shè)備的有效節(jié)能。

      2.2 IP協(xié)議的設(shè)計(jì)

      考慮到送時(shí)數(shù)據(jù)包大小已經(jīng)約定,不會(huì)出現(xiàn)數(shù)據(jù)包過(guò)長(zhǎng)的情況,MinIP中的IP協(xié)議刪減了數(shù)據(jù)包的分解和合并相關(guān)操作,在針對(duì)嵌入式應(yīng)用做了適當(dāng)精簡(jiǎn),但是對(duì)復(fù)雜的路由機(jī)制并沒(méi)有實(shí)現(xiàn),主要實(shí)現(xiàn)2類主要功能:(1)驗(yàn)證收到的數(shù)據(jù)包的頭是否有錯(cuò)誤,如無(wú)錯(cuò)誤就進(jìn)行解析該數(shù)據(jù)包,以確定該數(shù)據(jù)包是哪種層協(xié)議接收。(2)在發(fā)送的數(shù)據(jù)頭封裝相應(yīng)的IP信息。

      從網(wǎng)絡(luò)設(shè)備發(fā)送端進(jìn)入到數(shù)據(jù)緩沖區(qū)后,會(huì)先經(jīng)過(guò)一個(gè)包類型判斷,主要是判斷出數(shù)據(jù)是IP數(shù)據(jù)還是arp數(shù)據(jù)包。如果是IP數(shù)據(jù)包,會(huì)調(diào)用IpRcv()來(lái)處理,然后對(duì)該數(shù)據(jù)進(jìn)行校驗(yàn),根據(jù)IP數(shù)據(jù)包的協(xié)議字段判斷包中保存的是哪種類型的數(shù)據(jù)。

      3.展望

      本文雖然實(shí)現(xiàn)一個(gè)具備了基本功能并且結(jié)構(gòu)完整的嵌入式協(xié)議棧MinIP,但離成熟的協(xié)議棧組件還有很大的一段距離,存在了一些問(wèn)題,需要繼續(xù)的研究與完善。

      (1)安全性問(wèn)題:MinIP基本沒(méi)有過(guò)多的考慮到安全這一系列的問(wèn)題,僅對(duì)數(shù)據(jù)包的格式做了一些基本校驗(yàn),需要在MinIP中增加一些切實(shí)可行的網(wǎng)絡(luò)安全機(jī)制,如在傳輸控制協(xié)議的基礎(chǔ)上來(lái)實(shí)現(xiàn)安全套接字協(xié)議安全套接等進(jìn)行彌補(bǔ)。

      (2)網(wǎng)絡(luò)傳輸效率的問(wèn)題:“固定雙緩沖”機(jī)制是MinIP的特點(diǎn),但是同時(shí)也會(huì)導(dǎo)致MinIP在進(jìn)行數(shù)據(jù)發(fā)送過(guò)程中顯得過(guò)于慢。

      (3)功能的完整性:MinIP只時(shí)包括一個(gè)連網(wǎng)應(yīng)用的基本子協(xié)議,在對(duì)于要求復(fù)雜的網(wǎng)絡(luò)應(yīng)用中沒(méi)有考慮。

      參考文獻(xiàn):

      [1]MartinD.Semantic markup for web services[EB/OL].http:www.w3.orSubmission,2009.

      [2]ChristianBenvenuti.UnderstandingLinuxNetworkInternals[M].O'Reilly,2005.

      [3]Sergio Scaglia著,潘琢金,徐蕾等譯.嵌入式Intemet TCP/IP基礎(chǔ)、實(shí)現(xiàn)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.

      [4]Alan B.Johnston .SIP Understanding:The.Session.Initiation.Protocol-2nd[M].ArtechHouse ,2004.

      猜你喜歡
      網(wǎng)絡(luò)協(xié)議嵌入式系統(tǒng)狀態(tài)機(jī)
      計(jì)算機(jī)網(wǎng)絡(luò)理論下的傳播研究結(jié)構(gòu)模型:Communication一詞的兩種翻譯
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      一種藍(lán)牙多跳網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與研究
      電子制作(2018年17期)2018-09-28 01:56:52
      基于DPI技術(shù)的語(yǔ)音視頻流量監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
      面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
      在DiskOnChip上構(gòu)建VxWorks系統(tǒng)開(kāi)發(fā)環(huán)境
      芻議局域網(wǎng)中網(wǎng)絡(luò)協(xié)議的添加與配置
      科技資訊(2015年10期)2015-06-29 18:17:23
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      莱西市| 农安县| 嘉义县| 新龙县| 镇雄县| 象山县| 昭通市| 瓦房店市| 南雄市| 昭觉县| 获嘉县| 肥西县| 甘孜| 确山县| 昭通市| 嘉鱼县| 陕西省| 德令哈市| 聂拉木县| 安远县| 错那县| 大名县| 贵德县| 湘阴县| 屏边| 肥东县| 唐山市| 德钦县| 吴川市| 湖北省| 临湘市| 平远县| 枣庄市| 尼勒克县| 武鸣县| 宁阳县| 屯留县| 临洮县| 渑池县| 神池县| 谷城县|