美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 工業(yè)安全產(chǎn)品 > 安全光柵

類型分類:
科普知識
數(shù)據(jù)分類:
安全光柵

基于嵌入式TCP/IP軟件體系結(jié)構(gòu)的優(yōu)化設(shè)計與實現(xiàn)

發(fā)布日期:2022-04-27 點擊率:202 品牌:小金井_Koganei

    摘要:  本文提出一種基于嵌入式TCP/IP軟件體系結(jié)構(gòu)的優(yōu)化設(shè)計和解決方案,通過分析在嵌入式系統(tǒng)上實現(xiàn)TCP/IP的速度、程序結(jié)構(gòu)、內(nèi)存需求等特點,優(yōu)化設(shè)計了清晰的TCP/IP和應(yīng)用層接口、防止多余的內(nèi)存拷貝和實現(xiàn)數(shù)據(jù)包整序重發(fā)/窗口控制。最后給出了嵌入式TCP/IP的性能評價。
關(guān)鍵詞: 嵌入式系統(tǒng);TCP/IP;軟件體系結(jié)構(gòu);優(yōu)化設(shè)計
隨著計算機網(wǎng)絡(luò)技術(shù)和電子信息技術(shù)的迅猛發(fā)展,Internet的普及,接入Internet的非PC設(shè)備越來越多,各類電子設(shè)備像Web個人數(shù)字助理、Web可視電話、TV機頂盒接入Internet的需求也越來越大,嵌入式TCP/ IP的Internet網(wǎng)絡(luò)化將成為網(wǎng)絡(luò)發(fā)展的趨勢。
嵌入式系統(tǒng)中大量存在的是8/16位低速處理器,在進行Internet接入時,嵌入式TCP/IP對于計算機存儲器、運算速度要求比較高,占用大量系統(tǒng)資源,因而常嵌入TCP/IP協(xié)議簇的子集或用UDP代替TCP實現(xiàn)。
本文提出一種基于嵌入式TCP/IP軟件體系結(jié)構(gòu)的優(yōu)化設(shè)計和實現(xiàn)方案,從實現(xiàn)相應(yīng)的功能又節(jié)省系統(tǒng)資源角度出發(fā),對嵌入TCP/IP優(yōu)化設(shè)計,實現(xiàn)嵌入式的Internet接入。
嵌入式TCP/IP接入方法
嵌入式電子設(shè)備接入Internet有多種解決方案:在低速微處理器運行剪裁的TCP/IP協(xié)議棧;使用一些ASIC實現(xiàn)TCP/IP的芯片如ADI的Internet MODEM;也可以使用嵌入式操作系統(tǒng)自帶的完整的TCP/IP協(xié)議棧。在某些對網(wǎng)絡(luò)速度要求不高的領(lǐng)域,可以精簡的TCP/IP實現(xiàn);在對性能要求高的場合,則可以選擇后兩種方案。嵌入式設(shè)備接入Internet網(wǎng)絡(luò)常用的方案比較如表1所示。
但以上接入方法一般專門為某種微處理器設(shè)計,不具有通用性,而且效率較低或功能不夠全面[3]。本文提出的經(jīng)過優(yōu)化設(shè)計的嵌入式TCP/IP適合移植到各種嵌入式處理器中,如單片機、ARM或ARM+FPGA多核嵌入式處理器中,具有較小的代碼量、RAM使用量和較高的效率,同時支持套接字形式的多個TCP連接和多個網(wǎng)絡(luò)設(shè)備連接,支持通過網(wǎng)關(guān)發(fā)送數(shù)據(jù)包和數(shù)據(jù)包轉(zhuǎn)發(fā),支持TCP包的整序、重發(fā)和窗口控制流量控制等等。
嵌入式TCP/IP的軟件體系結(jié)構(gòu)
與優(yōu)化設(shè)計
嵌入式TCP/IP軟件體系結(jié)構(gòu)
與PC TCP/IP協(xié)議相似,嵌入式TCP/IP采用協(xié)議分層的結(jié)構(gòu):應(yīng)用層、TCP層、IP層和網(wǎng)絡(luò)設(shè)備接口層[4]。圖1描述了嵌入式TCP/IP輸入和輸出數(shù)據(jù)包流程以及調(diào)用的函數(shù)。

圖1 基于嵌入式TCP/IP接口結(jié)構(gòu)

其中,Timer()函數(shù)調(diào)用TCPTimer()處理TCP數(shù)據(jù)包重發(fā),以及調(diào)用每個接口的Input()函數(shù)接收到達的數(shù)據(jù)包。Timer()函數(shù)必須在短時間(一般<20ms)內(nèi)被調(diào)用一次,否則接收數(shù)據(jù)包和TCP定時等功能將停止。
輸出時,TCP層先查看unsend隊列,發(fā)現(xiàn)非空,將數(shù)據(jù)包插入隊列;發(fā)現(xiàn)為空,則查看對方窗口是否夠大能夠接收這個數(shù)據(jù)包,然后填寫TCP頭部信息。IP層選擇網(wǎng)絡(luò)設(shè)備接口,目的IP和該接口的子網(wǎng)掩碼相與是否等于子網(wǎng)掩碼。然后調(diào)用這個接口的OUTPUT函數(shù)來發(fā)送。

圖2 基于嵌入式TCP/IP主程序結(jié)構(gòu)

輸入時,Timer()函數(shù)調(diào)用每個接口的Input函數(shù)。IP層判斷IP版本、IP校驗和、判斷是否應(yīng)該轉(zhuǎn)發(fā)數(shù)據(jù)包,然后根據(jù)IP頭部的protocol字段將包傳給相應(yīng)的高層處理。TCP層,需要判斷TCP校驗和,然后在現(xiàn)有的套接字中查找,判斷是否有套接字可以接收這個數(shù)據(jù)包,判斷TCP序號是否為希望的,然后更新這個連接的狀態(tài)(包括釋放被應(yīng)答的數(shù)據(jù)包和TCP狀態(tài)機的轉(zhuǎn)化等),調(diào)用該套接字的回調(diào)函數(shù)recv。
圖2程序主流程是一個大循環(huán),在循環(huán)中處理發(fā)送數(shù)據(jù)包等應(yīng)用層協(xié)議同時查詢變量bTimeOut,在定時中斷中將bTimerOut設(shè)置為真,應(yīng)用層在程序流程中反復(fù)查詢bTimerOut是否為真,真則調(diào)用Timer(),然后置bTimerOut為假。
嵌入式TCP/IP設(shè)計優(yōu)化
因為網(wǎng)絡(luò)中數(shù)據(jù)非常多,如果把所有的數(shù)據(jù)都讀到內(nèi)存中再判斷是否應(yīng)該丟棄幀顯然效率不高。所以邊讀取數(shù)據(jù)邊判斷而沒有一開始就把整個幀全部讀到內(nèi)存中,同時在程序里定義幀中各個部分的相對地址,可以方便的對幀的各個字節(jié)尋址。這樣的設(shè)計是基于提高訪問速度考慮的。
為了減小RAM使用量,當(dāng)數(shù)據(jù)包需要重新發(fā)送時,如果能夠重新產(chǎn)生數(shù)據(jù)包所需的數(shù)據(jù),可以不存儲需要被應(yīng)答的TCP包。圖3給出了嵌入式CPU中TCP/IP的內(nèi)存劃分,以及內(nèi)存中幀的各個字節(jié)的定義和相對位置,其中PacketRAM為存放幀的首地址。
發(fā)送TCP/IP過程中主要的運算量集中在三個部分:應(yīng)用程序?qū)?shù)據(jù)拷貝到RAM、計算TCP校驗和、將RAM中的數(shù)據(jù)包拷貝到網(wǎng)絡(luò)設(shè)備的發(fā)送緩沖區(qū)。對每一個字節(jié)數(shù)據(jù),兩次拷貝大致共使用12×2=24個指令周期;計算TCP校驗和使用為16個指令周期。為提高速度可采用快速CPU或提高晶振頻率。例如采用12M晶振時,網(wǎng)絡(luò)傳輸速度為25K字節(jié)/s;而在高頻PCB電路板使用233M晶振時,網(wǎng)絡(luò)傳輸速度能達到為384K字節(jié)/s。
另外,TCP/IP一般采用C語言或者混合匯編,而使用可重入函數(shù)和一般指針(GENERIC pointer)使得程序代碼增大,運行速度變慢.所以使用函數(shù)指針時,應(yīng)手動重建調(diào)用樹(Call tree),或?qū)⒑瘮?shù)指針調(diào)用的函數(shù)設(shè)置為可重入函數(shù),同時使用“指定存儲類型”的指針(memory-specific pointer),防止數(shù)據(jù)包的不必要的拷貝以及優(yōu)化計算校驗和和內(nèi)存拷貝函數(shù)。另外,Reentrant類型的函數(shù)比一般函數(shù)速度要慢很多,但是某些時候為了程序結(jié)構(gòu)的需要必須使用Reentrant,這就需要在速度和結(jié)構(gòu)之間作一個選擇。
嵌入式TCP/IP的實現(xiàn)
TCP/IP的嵌入式實現(xiàn)一般通過以軟件方式嵌入到ROM中,然后通過輕網(wǎng)絡(luò)通訊技術(shù)與專用嵌入式網(wǎng)關(guān)連接,在嵌入式處理器中運行TCP/IP協(xié)議,提供TCP/IP到用戶的輕型網(wǎng)絡(luò)的連接和路由功能。
內(nèi)存管理方法和無多余數(shù)據(jù)包拷貝的實現(xiàn)
嵌入式TCP/IP的內(nèi)存管理可以用鏈表方法,即根據(jù)數(shù)據(jù)包大小分配相應(yīng)大小的內(nèi)存塊。如圖4所示,鏈表將內(nèi)存塊鏈接起來,used字段表示該內(nèi)存塊是否正在使用,pSstart和pEend則表示數(shù)據(jù)部分有效數(shù)據(jù)的開始地址和結(jié)束地址。搜索內(nèi)存鏈表找到一個沒有分配的比所需空間大的內(nèi)存塊,截取所需的大小。該內(nèi)存塊被截取以后可能還有較多剩余,這時將剩余部分從原內(nèi)存塊中分離出來,成為一個新的內(nèi)存塊,并插入鏈表。釋放時,將used值置為假,如果pNext或者pPre指向的鏈表單元也是空閑的,則將其和自己合并,以防止內(nèi)存分片。在協(xié)議層之間傳送數(shù)據(jù)包只需傳送內(nèi)存塊的起始地址。這種內(nèi)存管理方法,空間浪費小但是運算量相對較大。

圖4 基于嵌入式TCP/IP內(nèi)存管理

整序、重發(fā)和窗口控制的實現(xiàn)
對于嵌入式TCP/IP系統(tǒng),可以使用隊列緩存的方式來實現(xiàn)整序、重發(fā)和窗口控制。隊列的一個元素指向一個數(shù)據(jù)包,隊列的最大長度沒有限制。
對于整序,使用ooSeq隊列,如果發(fā)現(xiàn)接收的TCP包序號并不是期望的,但序號在接收窗口內(nèi),此時不能立刻接收這個包也不應(yīng)丟棄,可先將這個包放入ooSeq隊列。當(dāng)期望TCP包被接收后,再查看ooSeq隊列現(xiàn)在是否有TCP包成為了期望的數(shù)據(jù)包,如果有則將其取出并處理。
對于重發(fā),使用unacked隊列,每一個需要被應(yīng)答的TCP數(shù)據(jù)包發(fā)送以后都要放入unacked隊列,等到被應(yīng)答以后才從隊列中刪除。TCP重發(fā)定時只針對unacked隊列第一個TCP包,如果定時超出,重新發(fā)送,重發(fā)次數(shù)超出規(guī)定值,則報錯。
對于窗口控制,使用unsend隊列,如果發(fā)現(xiàn)對方的窗口過小無法接收這個數(shù)據(jù)包,則只發(fā)送部分數(shù)據(jù),將多余部分放入unsend隊列,等待對方發(fā)來TCP包通知新的窗口大小時,再次判斷是否可以發(fā)送。如果在unsend隊列不為空的情況下,需要發(fā)送的數(shù)據(jù)包都應(yīng)插入unsend隊列。
嵌入式TCP/IP的性能分析
圖5給出了將優(yōu)化設(shè)計后的TCP/IP移植到ARM9處理器、CS8900A網(wǎng)絡(luò)控制器中,時鐘頻率為133MHz下,與Internet連接的情況。

圖5 連接圖

系統(tǒng)支持最大發(fā)起連接數(shù)約為380,最大并發(fā)連接率約為170cps。隨著呼叫數(shù)的增加,平均分組到達也隨之增加,導(dǎo)致網(wǎng)絡(luò)傳輸數(shù)據(jù)的增加,從而最大建立時間變長。但最小的建立連接時間基本保持不變,說明系統(tǒng)具有良好的性能。
圖6給出了隨建立時間變化的接通率。圖中存在一個臨界點,成功的連接率隨著TCP連接嘗試數(shù)目增加而減少,直至為0,而響應(yīng)時間也急劇上升,這是由嵌入式處理器的處理能力有限造成的。

圖6 隨建立時間變化的連接圖


  
結(jié)語
本文從實現(xiàn)相應(yīng)的功能又節(jié)省系統(tǒng)資源角度出發(fā),對嵌入式TCP/IP協(xié)議簇進行優(yōu)化設(shè)計,可以在各種嵌入式處理器上實現(xiàn)Internet接入。
經(jīng)過優(yōu)化設(shè)計的嵌入式TCP/IP支持套接字形式的多個TCP連接、支持多個網(wǎng)絡(luò)設(shè)備、支持通過網(wǎng)關(guān)發(fā)送數(shù)據(jù)包和數(shù)據(jù)包轉(zhuǎn)發(fā)功能,以及支持TCP包的整序、重發(fā)和窗口控制流量控制。實踐證明,這種設(shè)計方式靈活,能按用戶需求實現(xiàn)復(fù)雜的功能。



下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產(chǎn)品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        国精品**一区二区三区在线蜜桃| 亚洲444eee在线观看| 欧美日韩精品欧美日韩精品一| 亚洲不卡1区| 色婷婷精品久久二区二区蜜臂av| 在线国产亚洲欧美| 欧美影片第一页| 欧美电视剧免费全集观看| 国产亚洲美州欧州综合国| 国产精品毛片大码女人| 一区二区三国产精华液| 日产国产欧美视频一区精品| 国产九色精品成人porny | 亚洲国产日韩一级| 婷婷开心久久网| 国产精品资源网站| www.成人av.com| 午夜精品亚洲一区二区三区嫩草 | 亚洲一区二区三区免费观看| 日本韩国一区二区三区视频| 欧美一区中文字幕| 国产精品视频在线看| 亚洲成人免费视| 国产成人啪免费观看软件| 成人免费视频网站| 亚洲图片欧洲图片日韩av| 4hu四虎永久在线影院成人| 亚洲国产成人在线| 青青草国产精品97视觉盛宴| 成人晚上爱看视频| 久久精品国产一区二区三区不卡| 日本韩国精品在线| 日本一区二区三区国色天香| 日本美女一区二区| 国产精品对白刺激久久久| 色综合久久久久久久| 久久精品免视看| 丝袜美腿亚洲一区| 99久久精品99国产精品| 天堂精品视频| xvideos.蜜桃一区二区| 国产亚洲一本大道中文在线| 国产精品久久网站| 亚洲国产高清国产精品| 日韩精品伦理第一区| 奇米精品一区二区三区在线观看 | 高清av一区二区| 欧美一区亚洲二区| 欧美变态凌虐bdsm| 天堂成人国产精品一区| 国产精品亚洲综合| 欧美精品在欧美一区二区少妇| 中文字幕一区二区在线播放 | 91入口在线观看| 色婷婷香蕉在线一区二区| 26uuu国产电影一区二区| 日韩av电影免费观看高清完整版在线观看| 99久久er热在这里只有精品15| 亚洲欧洲精品一区二区三区波多野1战4| 日韩欧美另类在线| 久久99久国产精品黄毛片色诱| 精品国产日本| 日韩精品一区二区三区四区 | 在线播放欧美女士性生活| 一区二区在线看| 91香蕉视频mp4| 欧美日韩国产综合草草| 亚洲综合小说图片| yy111111少妇影院日韩夜片 | 国模一区二区三区私拍视频| 日韩一区二区三区在线观看| 男女视频一区二区| 日产中文字幕在线精品一区| 国产精品久久久99| 91aaaa| 日韩欧美一二区| 国产一区二区三区免费看 | 日本一区免费视频| 国产不卡在线视频| 7777精品伊人久久久大香线蕉的 | 91精品网站| 欧美v国产在线一区二区三区| 六月丁香婷婷久久| 亚洲三级一区| 亚洲国产精品嫩草影院| 国产精品一区二区三区四区五区 | 中文乱码免费一区二区| 波多野结衣中文一区| 51久久夜色精品国产麻豆| 精品在线免费观看| 欧美视频你懂的| 日本v片在线高清不卡在线观看| 亚洲国产日韩美| 亚洲高清视频在线| 亚洲电影一二三区| 日日欢夜夜爽一区| 一区二区三区四区不卡| 亚洲超碰精品一区二区| 日韩精品av一区二区三区| 一区二区成人在线视频| 日韩国产欧美精品| 日韩一区精品字幕| 欧美少妇性性性| 国产精品18久久久久久久久 | 91伊人久久大香线蕉| 精品日韩在线观看| 91麻豆国产精品久久| 欧美激情一区三区| 欧美污视频久久久| 免费欧美高清视频| 91精品婷婷国产综合久久| 成人手机在线视频| 国产色综合久久| 久久精品国产精品国产精品污| 亚洲精品日韩专区silk| 亚洲高清视频一区| 精品亚洲国产成人av制服丝袜| 日韩三级视频在线看| 99国产超薄肉色丝袜交足的后果| 日韩一区欧美小说| 中文字幕一区二区三区四区五区| 免费观看在线色综合| 欧美一卡二卡在线观看| 高清视频一区二区三区| 亚洲午夜久久久久中文字幕久| 欧美综合一区二区| 97精品电影院| 亚洲伊人伊色伊影伊综合网| 欧美私模裸体表演在线观看| 成人一级片网址| 亚洲欧美综合色| 91传媒视频在线播放| 波多野结衣中文一区| 亚洲精品videosex极品| 欧美美女喷水视频| 精品国产aⅴ麻豆| 免费高清在线一区| 久久久av毛片精品| 这里只有精品66| 91在线高清观看| 五月婷婷色综合| 久久久亚洲精品一区二区三区| 欧美激情导航| 国产传媒欧美日韩成人| 中文字幕亚洲综合久久菠萝蜜| 色婷婷一区二区| 成人动漫视频在线观看完整版 | 亚洲国产一区二区三区青草影视 | 日韩一级二级三级精品视频| 俄罗斯精品一区二区三区| 日韩精品一区第一页| 精品免费视频.| 一本一本久久a久久精品综合妖精| 国产成人精品一区二区三区四区 | 色香蕉成人二区免费| 99久久婷婷国产| 午夜电影网亚洲视频| 国产亚洲欧洲一区高清在线观看| 日韩国产欧美精品| 91麻豆国产香蕉久久精品| 麻豆视频观看网址久久| 中文字幕一区二区三区四区不卡| 欧美日韩在线播放三区| 日本高清不卡三区| 91久久国产自产拍夜夜嗨| 久久草av在线| 亚洲人成精品久久久久| 精品久久久影院| 在线一区二区三区四区| 蜜桃av噜噜一区二区三| 不卡视频一二三四| 美女视频一区二区三区| 一片黄亚洲嫩模| 国产精品网曝门| 日韩欧美综合一区| 在线观看视频一区| 日韩电影大全在线观看| 国产91精品入口17c| 国产+成+人+亚洲欧洲自线| 日本中文字幕不卡| 亚洲综合999| 国产精品久久久久国产精品日日| 日韩精品一区二区三区视频在线观看| 在线亚洲欧美专区二区| 四虎永久国产精品| 欧洲精品码一区二区三区免费看| 3d动漫精品啪啪一区二区三区免费| 国产一区二区福利视频| 男人的天堂久久精品| 亚洲电影一区二区| 亚洲激情男女视频| 中文字幕五月欧美| 中文字幕不卡三区| 欧美高清在线一区二区| 久久久久久久久一| 精品国产污污免费网站入口 | 国产福利精品一区| 黄色成人免费在线| 理论电影国产精品| 男人的天堂亚洲一区|