《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于嵌入式TCP/IP軟件體系結構的優化設計與實現
基于嵌入式TCP/IP軟件體系結構的優化設計與實現
摘要: 隨著計算機網絡技術和電子信息技術的迅猛發展,Internet的普及,接入Internet的非PC設備越來越多,各類電子設備像Web個人數字助理、Web可視電話、TV機頂盒接入Internet的需求也越來越大,嵌入式TCP/ IP的Internet網絡化將成為網絡發展的趨勢。
關鍵詞: NGN|4G TCP/IP Internet
Abstract:
Key words :

  隨著計算機網絡技術和電子信息技術的迅猛發展,Internet" target="_blank">Internet的普及,接入Internet的非PC設備越來越多,各類電子設備像Web個人數字助理、Web可視電話、TV機頂盒接入Internet的需求也越來越大,嵌入式TCP/ IP的Internet網絡化將成為網絡發展的趨勢。

  嵌入式系統中大量存在的是8/16位低速處理器,在進行Internet接入時,嵌入式TCP/IP對于計算機存儲器、運算速度要求比較高,占用大量系統資源,因而常嵌入TCP/IP協議簇的子集或用UDP代替TCP實現。

  本文提出一種基于嵌入式TCP/IP軟件體系結構的優化設計和實現方案,從實現相應的功能又節省系統資源角度出發,對嵌入TCP/IP優化設計,實現嵌入式的Internet接入。

  嵌入式TCP/IP接入方法

  嵌入式電子設備接入Internet有多種解決方案:如在低速微處理器運行剪裁的TCP/IP協議棧;使用一些ASIC實現TCP/IP的芯片如ADI的Internet Modem;也可以使用嵌入式操作系統自帶的完整的TCP/IP協議棧。在某些對網絡速度要求不高的領域,可以精簡的TCP/IP實現;在對性能要求高的場合,則可以選擇后兩種方案。嵌入式設備接入Internet網絡常用的方案比較如表1所示。

  但以上接入方法一般專門為某種微處理器設計,不具有通用性,而且效率較低或功能不夠全面。本文提出的經過優化設計的嵌入式TCP/IP適合移植到各種嵌入式處理器中,如單片機、ARM或ARM+FPGA多核嵌入式處理器中,具有較小的代碼量、RAM使用量和較高的效率,同時支持套接字形式的多個TCP連接和多個網絡設備連接,支持通過網關發送數據包和數據包轉發,支持TCP包的整序、重發和窗口控制流量控制等等。

  嵌入式TCP/IP的軟件體系結構與優化設計

  嵌入式TCP/IP軟件體系結構

  與PC TCP/IP協議相似,嵌入式TCP/IP采用協議分層的結構:應用層、TCP層、IP層和網絡設備接口層圖1描述了嵌入式TCP/IP輸入和輸出數據包流程以及調用的函數。

  其中,Timer()函數調用TCPTimer()處理TCP數據包重發,以及調用每個接口的Input()函數接收到達的數據包。Timer()函數必須在短時間(一般<20ms)內被調用一次,否則接收數據包和TCP定時等功能將停止。

  輸出時,TCP層先查看unsend隊列,發現非空,將數據包插入隊列;發現為空,則查看對方窗口是否夠大能夠接收這個數據包,然后填寫TCP頭部信息。IP層選擇網絡設備接口,目的IP和該接口的子網掩碼相與是否等于子網掩碼。然后調用這個接口的Output函數來發送。

  輸入時,Timer()函數調用每個接口的Input函數。IP層判斷IP版本、IP校驗和、判斷是否應該轉發數據包,然后根據IP頭部的protocol字段將包傳給相應的高層處理。TCP層,需要判斷TCP校驗和,然后在現有的套接字中查找,判斷是否有套接字可以接收這個數據包,判斷TCP序號是否為希望的,然后更新這個連接的狀態(包括釋放被應答的數據包和TCP狀態機的轉化等),調用該套接字的回調函數recv。

  圖2程序主流程是一個大循環,在循環中處理發送數據包等應用層協議同時查詢變量bTimeOut,在定時中斷中將bTimerOut設置為真,應用層在程序流程中反復查詢bTimerOut是否為真,真則調用Timer(),然后置bTimerOut為假。

  嵌入式TCP/IP設計優化

  因為網絡中數據非常多,如果把所有的數據都讀到內存中再判斷是否應該丟棄幀顯然效率不高。所以邊讀取數據邊判斷而沒有一開始就把整個幀全部讀到內存中,同時在程序里定義幀中各個部分的相對地址,可以方便的對幀的各個字節尋址。這樣的設計是基于提高訪問速度考慮的。

  為了減小RAM使用量,當數據包需要重新發送時,如果能夠重新產生數據包所需的數據,可以不存儲需要被應答的TCP包。圖3給出了嵌入式CPU中TCP/IP的內存劃分,以及內存中幀的各個字節的定義和相對位置,其中PacketRAM為存放幀的首地址。

  發送TCP/IP過程中主要的運算量集中在三個部分:應用程序將數據拷貝到RAM、計算TCP校驗和、將RAM中的數據包拷貝到網絡設備的發送緩沖區。對每一個字節數據,兩次拷貝大致共使用12×2=24個指令周期;計算TCP校驗和使用為16個指令周期。為提高速度可采用快速CPU或提高晶振頻率。例如采用12M晶振時,網絡傳輸速度為25K字節/s;而在高頻PCB電路板使用233M晶振時,網絡傳輸速度能達到為384K字節/s。

  另外,TCP/IP一般采用C語言或者混合匯編,而使用可重入函數和一般指針(generic pointer)使得程序代碼增大,運行速度變慢。所以使用函數指針時,應手動重建調用樹(Call tree),或將函數指針調用的函數設置為可重入函數,同時使用“指定存儲類型”的指針(memory-specific pointer),防止數據包的不必要的拷貝以及優化計算校驗和和內存拷貝函數。另外,Reentrant類型的函數比一般函數速度要慢很多,但是某些時候為了程序結構的需要必須使用Reentrant,這就需要在速度和結構之間作一個選擇。

  嵌入式TCP/IP的實現

  TCP/IP的嵌入式實現一般通過以軟件方式嵌入到ROM中,然后通過輕網絡通訊技術與專用嵌入式網關連接,在嵌入式處理器中運行TCP/IP協議,提供TCP/IP到用戶的輕型網絡的連接和路由功能。

  內存管理方法和無多余數據包拷貝的實現

  嵌入式TCP/IP的內存管理可以用鏈表方法,即根據數據包大小分配相應大小的內存塊。如圖4所示,鏈表將內存塊鏈接起來,used字段表示該內存塊是否正在使用,pSstart和pEend則表示數據部分有效數據的開始地址和結束地址。

  分配時,搜索內存鏈表找到一個沒有分配的比所需空間大的內存塊,截取所需的大小。該內存塊被截取以后可能還有較多剩余,這時將剩余部分從原內存塊中分離出來,成為一個新的內存塊,并插入鏈表。釋放時,將used值置為假,如果pNext或者pPre指向的鏈表單元也是空閑的,則將其和自己合并,以防止內存分片。在協議層之間傳送數據包只需傳送內存塊的起始地址。這種內存管理方法空間浪費小但是運算量相對較大。

  整序、重發和窗口控制的實現

  對于嵌入式TCP/IP系統,可以使用隊列緩存的方式來實現整序、重發和窗口控制。隊列的一個元素指向一個數據包,隊列的最大長度沒有限制。

  對于整序,使用ooSeq隊列,如果發現接收的TCP包序號并不是期望的,但序號在接收窗口內,此時不能立刻接收這個包也不應丟棄,可先將這個包放入ooSeq隊列。當期望TCP包被接收后,再查看ooSeq隊列現在是否有TCP包成為了期望的數據包,如果有則將其取出并處理。

  對于重發,使用unacked隊列,每一個需要被應答的TCP數據包發送以后都要放入unacked隊列,等到被應答以后才從隊列中刪除。TCP重發定時只針對unacked隊列第一個TCP包,如果定時超出,重新發送,重發次數超出規定值,則報錯。

  對于窗口控制,使用unsend隊列,如果發現對方的窗口過小無法接收這個數據包,則只發送部分數據,將多余部分放入unsend隊列,等待對方發來TCP包通知新的窗口大小時,再次判斷是否可以發送。如果在unsend隊列不為空的情況下,需要發送的數據包都應插入unsend隊列。

  嵌入式TCP/IP的性能分析

  圖5給出了將優化設計后的TCP/IP移植到ARM9處理器、CS8900A網絡控制器中,時鐘頻率為133MHz下,與Internet連接的情況。

  系統支持最大發起連接數約為380,最大并發連接率約為170cps。隨著呼叫數的增加,平均分組到達也隨之增加,導致網絡傳輸數據的增加,從而最大建立時間變長。但最小的建立連接時間基本保持不變,說明系統具有良好的性能。

  圖6給出了隨建立時間變化的接通率。圖中存在一個臨界點,成功的連接率隨著TCP連接嘗試數目增加而減少,直至為0,而響應時間也急劇上升,這是由嵌入式處理器的處理能力有限造成的。


  
  結語

  本文從實現相應的功能又節省系統資源角度出發,對嵌入式TCP/IP協議簇進行優化設計,可以在各種嵌入式處理器上實現Internet接入。

  經過優化設計的嵌入式TCP/IP支持套接字形式的多個TCP連接、支持多個網絡設備、支持通過網關發送數據包和數據包轉發功能,以及支持TCP包的整序、重發和窗口控制流量控制。實踐證明,這種設計方式靈活,能按用戶需求實現復雜的功能。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一区二区三区在线视频观看| 香蕉久久夜色精品国产| 国产精品欧美久久久久无广告| 久久人人97超碰人人澡爱香蕉| 亚洲视频免费| 亚洲精品欧美在线| 久久精品国产一区二区三区| 在线天堂一区av电影| 欧美裸体一区二区三区| 久久久久国色av免费看影院| 亚洲激情图片小说视频| 99国产精品国产精品久久| 一区二区三区国产在线| 伊人一区二区三区久久精品| 亚洲国产精品久久久久秋霞影院| 欧美日韩亚洲一区二区三区在线观看| 亚洲综合成人在线| 欧美精品三区| 国产精品99久久久久久久久| 国产精品v亚洲精品v日韩精品| 激情久久影院| 亚洲天堂偷拍| 亚洲国产精品一区在线观看不卡| 免费在线观看日韩欧美| 国产精品欧美日韩一区二区| 亚洲国产aⅴ天堂久久| 久久亚洲影音av资源网| 欧美视频一区在线| 亚洲福利视频三区| 亚洲视频在线观看三级| 欧美日韩日日夜夜| 欧美精品二区| 国产精品久久777777毛茸茸| 亚洲成色最大综合在线| 一本久久青青| 亚洲电影免费观看高清| 久久久久久婷| 久久久久青草大香线综合精品| 久久黄色影院| 在线观看国产精品网站| 亚洲成人在线视频网站| 麻豆乱码国产一区二区三区| 久久精品99国产精品酒店日本| 免费一区视频| 国产欧美日韩亚洲| 中日韩午夜理伦电影免费| 日韩视频不卡中文| 国产精品99免视看9| 欧美日韩日本网| 国产午夜精品在线观看| 亚洲激情女人| 欧美性大战久久久久久久蜜臀| 欧美激情按摩| 国产欧美精品在线| 99热这里只有成人精品国产| 国产视频在线观看一区二区| 黑人巨大精品欧美一区二区小视频| 国产欧美精品一区| 精品91久久久久| 亚洲一级黄色片| 91久久在线观看| 亚洲国产精品一区二区第四页av| 久久婷婷国产麻豆91天堂| 欧美精品在线一区| av成人国产| 欧美一区二粉嫩精品国产一线天| 亚洲国产精品va在线看黑人动漫| 国产欧美综合一区二区三区| 欧美日韩国产三级| 99精品欧美一区二区三区综合在线| 亚洲免费视频成人| 国产精品国产三级国产普通话蜜臀| 午夜精品福利一区二区三区av| 亚洲激情视频在线| 香港久久久电影| 欧美日韩精品久久久| 亚洲在线1234| 亚洲视频免费观看| 久久久久久电影| 免费欧美日韩| 亚洲欧洲日韩女同| 欧美理论电影在线播放| 国产精品成人午夜| 亚洲国产精品久久久久婷婷884| 一区二区欧美在线观看| 亚洲国产天堂久久综合网| 欧美三级精品| 亚洲视频二区| 黄色欧美成人| 国产精品视频免费观看www| 久久亚洲国产精品一区二区| 欧美中日韩免费视频| 久热精品视频在线观看| 亚洲电影在线| 欧美亚男人的天堂| 欧美在线一二三四区| 日韩视频在线观看一区二区| 香蕉视频成人在线观看| 久久精品国产清自在天天线| 欧美日韩一二三区| 亚洲小少妇裸体bbw| 欧美亚洲视频一区二区| 午夜精品偷拍| 国内精品美女在线观看| 在线观看视频日韩| 欧美成人精品激情在线观看| 亚洲在线成人精品| 国产综合久久| 国产精品日本欧美一区二区三区| 国内精品伊人久久久久av影院| 夜夜夜精品看看| 欧美色欧美亚洲另类七区| 亚洲精品久久久久久一区二区| 噜噜噜久久亚洲精品国产品小说| 另类亚洲自拍| 国产欧美一区二区三区久久人妖| 国产精品免费一区二区三区在线观看| 欧美成人激情在线| 国产麻豆午夜三级精品| 久久久九九九九| 欧美有码视频| 国产精品免费视频xxxx| 国产欧美成人| 欧美精品成人91久久久久久久| 国产午夜精品在线观看| 美女国产精品| 欧美日韩在线观看视频| 久久久久综合| 伊人久久亚洲热| 国产精品久久9| 欧美精品在线免费| 国产性色一区二区| 99热免费精品在线观看| 欧美性理论片在线观看片免费| 欧美aa国产视频| 久久亚洲春色中文字幕久久久| 国产精品亚洲精品| 狠狠久久综合婷婷不卡| 一区二区日韩伦理片| 国模叶桐国产精品一区| 亚洲制服av| 国产精品入口尤物| 久久精品人人做人人爽| 久久嫩草精品久久久精品一| 亚洲小少妇裸体bbw| 久久精品国产亚洲5555| 一区二区欧美激情| 亚洲综合色网站| 久热精品视频在线观看一区| 久久久www成人免费无遮挡大片| 欧美综合国产| 国产精品久久亚洲7777| 免费91麻豆精品国产自产在线观看| 亚洲在线观看视频网站| 在线观看日韩av先锋影音电影院| 欧美精品国产一区| 欧美国产日韩一区| 国产一区二区三区免费观看| 久久一区二区三区国产精品| 国产精品免费aⅴ片在线观看| 欧美日本一区二区三区| 欧美一级午夜免费电影| 国产性做久久久久久| 伊人精品视频| 国产精品卡一卡二卡三| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲精品一区二区三区四区高清| 欧美系列精品| 欧美美女喷水视频| 亚洲视频在线观看| 午夜精品久久久久久久蜜桃app| 国产一区视频在线观看免费| 激情综合中文娱乐网| 欧美精品乱人伦久久久久久| 精品动漫3d一区二区三区| 国产精品xnxxcom| 午夜久久影院| 欧美午夜视频一区二区| 久久亚洲国产成人| 国产人成一区二区三区影院| 亚洲欧美日韩综合一区| 国产偷自视频区视频一区二区| 亚洲小说欧美另类社区| 国产精品亚洲一区| 午夜免费在线观看精品视频| 在线日本欧美| 亚洲第一主播视频| 欧美日韩一区二区三区在线观看免| 亚洲淫片在线视频| 欧美日韩一区二区国产| 欧美色123| 国产精品久久久久久五月尺| 一区二区三区四区精品| 国产精品成人一区二区艾草| 欧美日韩精品免费看| 欧美一区二区三区喷汁尤物| 一区二区三区www| 午夜在线成人av| 一区二区三区免费在线观看| 久久免费黄色| 伊人久久亚洲影院| 亚洲深夜福利在线| 一本大道久久a久久精二百| aa亚洲婷婷| 午夜日韩在线| 亚洲欧洲一区二区天堂久久| 国产亚洲精品高潮| 国产精品网站在线播放| 欧美成人性网| 久久先锋影音av| 亚洲国内精品| 国内精品久久久久久久果冻传媒| 欧美91福利在线观看| 在线亚洲免费视频| 国产欧美一区二区三区视频| 国产精品日韩欧美一区| 欧美亚洲免费电影| 亚洲综合国产激情另类一区| 激情久久中文字幕| 国产精品久久久久久亚洲调教| 国自产拍偷拍福利精品免费一| 欧美成人黑人xx视频免费观看| 开元免费观看欧美电视剧网站| 亚洲国产国产亚洲一二三| 国产一区二区久久久| 激情欧美一区二区三区在线观看| 久久露脸国产精品| 欧美大片免费久久精品三p| 国产在线欧美日韩| 欧美激情中文不卡| 欧美色播在线播放| 久久综合九色综合欧美就去吻| 亚洲欧美色一区| 亚洲国产精品久久久久| 一区二区三区国产精华| 另类春色校园亚洲| 亚洲欧美日韩久久精品| 激情久久中文字幕| 亚洲福利小视频| 亚洲无限av看| 久久婷婷国产综合国色天香| 欧美激情一区二区在线| 国产亚洲综合性久久久影院| 欧美一区二区在线免费播放| 在线精品视频一区二区| 国产亚洲观看| 国产在线视频欧美| 国产精品成人观看视频免费| 伊人男人综合视频网| 亚洲国产精彩中文乱码av在线播放| 欧美成人免费一级人片100| 老**午夜毛片一区二区三区| 一区电影在线观看| 一区二区三区四区五区精品视频| 欧美在线观看一区二区三区| 国产在线国偷精品产拍免费yy| 老司机亚洲精品| 麻豆精品视频在线观看视频| 久久精品中文| 欧美sm视频| 久久久www成人免费无遮挡大片| 亚洲综合99| 欧美日韩国产片| 免费毛片一区二区三区久久久| 一区二区精品在线| 韩国av一区二区三区在线观看| 亚洲欧美日本日韩| 欧美成人精品在线观看| 在线成人h网| 欧美视频在线观看免费网址| 欧美日韩国产在线一区| 国产日韩专区在线| 在线观看日韩精品| 亚洲综合日韩在线| 久久国产免费| 男女视频一区二区| 欧美三区在线观看| 欧美二区视频| 国产精品久久午夜| 久久人人97超碰国产公开结果| 亚洲欧美激情视频在线观看一区二区三区| 国产欧美亚洲一区| 国产拍揄自揄精品视频麻豆| 欧美日本精品一区二区三区| 亚洲黑丝在线| 欧美日韩成人综合在线一区二区| 欧美午夜一区二区三区免费大片| 亚洲伊人观看| 亚洲人成人一区二区在线观看| 亚洲欧美在线磁力| 日韩视频免费看| 欧美日韩在线视频一区二区| 国产精品嫩草影院av蜜臀| 亚洲精品国产精品乱码不99| 国产午夜精品一区二区三区欧美| 久久躁日日躁aaaaxxxx| 国产精品麻豆va在线播放| 久久国产乱子精品免费女| 亚洲国产精品v| 黄色成人片子| 欧美一级黄色录像| 宅男精品视频| 欧美黄色免费网站| 欧美日韩激情网| 怡红院精品视频| 国产精品啊啊啊| 亚洲靠逼com| 亚洲国产精品嫩草影院| 国产视频在线一区二区| 日韩亚洲欧美成人| 亚洲欧美网站| 欧美日韩免费一区二区三区| 羞羞漫画18久久大片| 国产精品久久二区| 亚洲精品老司机| 国产一区二区三区高清| 国产日韩欧美亚洲一区| 欧美激情视频一区二区三区在线播放| 亚洲丁香婷深爱综合| 亚洲激情视频在线播放| 亚洲精品美女在线观看播放| 欧美日韩一区二区三区四区五区| 国产精品腿扒开做爽爽爽挤奶网站| 中日韩美女免费视频网站在线观看| 欧美影院成人| 亚洲第一成人在线| 国产精品久久久久久久9999| 亚洲欧美视频一区|