《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種新的嵌入式Simplified TCP/IP協議棧的研究與實現
一種新的嵌入式Simplified TCP/IP協議棧的研究與實現
摘要: 設計了一種適合8位/16位微控制系統的嵌入式TCP/IP協議棧。新的協議棧實現了標準TCP/IP協議棧的主要功能,對系統資源要求少,為家電網絡化管理創造了條件。
Abstract:
Key words :

  1 引言

  嵌入式Internet是近幾年隨著嵌入式系統的廣泛應用和計算機網絡技術的發展而興起的一項新興概念和技術。單片機或微控制器(MCU,Micro ControllerUnit)被廣泛應用在家庭和工業的各個領域,通稱嵌入式系統。嵌入式系統具有以應用為中心、以計算機技術為基礎、軟件硬件可裁剪等特點,贏得了巨大的市場,在應用數量上遠遠超過了各種通用計算機。隨著Internet/Intranet的發展,各種家用電器,從空調到微波爐,都產生了連入互聯網的要求。

  如何通過Internet共享嵌入式設備的信息,實現設備的遠程訪問、控制和管理,對接入到網絡上各個節點的設備實時監控,這就是設備接入互聯網需要解決的問題。TCP/IP協議是標準的網絡協議,如果能把TCP/IP協議嵌入到設備的MCU中,就可以通過它在設備和Internet之間建立通信鏈路,這樣就解決了設備與網絡互聯的關鍵技術。

  2 Simplified TCP/IP協議棧的特點

  和嵌入式系統面向特定的應用一樣,分析嵌入式TCP/IP協議棧的特點和對傳統的TCP/IP協議棧進行簡化也要針對特定的系統環境和應用背景。離開了特定的系統環境和應用背景來討論嵌入式TCP/IP協議棧的特點和對TCP/IP協議棧進行簡化是沒有意義的。這里所討論的嵌入式TCP/IP協議棧是針對那些低檔的8位/16位嵌入式系統能支持嵌入式Internet直連體系結構而提出的。

  嵌入式系統有限的處理能力以及存儲資源相對缺乏,因此在嵌入式Internet環境里使用標準TCP/IP協議棧是不合適的。把TCP/IP協議棧從普通的PC機移植到MCU,內存和內存管理成了瓶頸。為了既實現相應的網絡功能又節省系統資源,需要對協議棧進行有針對的模塊化裁減。針對家電系統中的8位/16位MCU結構設計了一個TCP/IP協議簇的子集,稱之為Simplified TCP/IP協議棧。其中包括IP、UDP、ARP和ICMP等協議的全部或部分功能,對協議進行了有選擇的實現,盡最大可能保持協議功能和機制上的完整。

  Simplified TCP/IP協議棧按照網絡體系分層思想設計,如圖1所示。其中每一層都被設計成一個功能相對獨立的模塊,負責處理各自的數據,通過函數調用把控制權交給上層或下層的模塊。

Simplified TCP/IP協議棧

  低檔嵌入式系統中一般沒有實時多任務操作系統支持,所以Simplified TCP/IP協議棧直接面對硬件。MCU中的程序結構一般是順序執行和硬件中斷相配合的方式。嵌入式處理器的時鐘頻率低,地址、數據總線窄,所以一個IP包的處理要花很多的時間。如果采用中斷處理方式,勢必影響其他中斷和任務的執行。當系統中有實時數據采集、串口通信中斷、鍵盤中斷等實時任務時,則會造成沖突。設計時需要合理劃分中斷處理程序,將無實時要求和費時的SimplifiedTCP/IP協議棧處理放在主程序順序循環中。對網絡接口控制芯片采用查詢式,即在其他中斷任務的執行間隙處理Simplified TCP/IP協議棧,以犧牲響應速度換取系統可靠性,如圖2所示。

嵌入式系統程序控制結構

  3 TCP/IP協議棧的裁減

  
       普通操作系統可支持完整的TCP/IP協議族,但嵌入式系統中大多很難做到,也不需做到。嵌入式系統中實現的協議要根據各個系統的特點及功能來進行設計。TCP/IP協議族中,只實現與實際需要有關的部分,而不使用的協議則一概不支持。Simplified TCP/IP協議棧中支持的協議。

  3. 1 地址轉換協議—ARP協議

  ARP協議是某些網絡接口(如以太網和令牌環網)使用的特殊協議,ARP的地址解析功能是為IP地址和數據鏈路層使用的硬件地址提供動態地址映射。通用計算機系統中,ARP高速緩存一般設計成雙向數據鏈的形式,這樣整個緩存可以方便地動態增減。但是這種非線性存儲的鏈表式緩存結構,在進行表項匹配查找時比較費時,不適用于嵌入式系統。因此ARP的地址緩存采用了線性數組形式的結構。它在內存中是連續線性存儲的,查找速度快。嵌入式應用中節點不是很多,即ARP緩存容量不需要很大,因此將ARP高速緩存設計成固定大小。被動的嵌入式服務器主要是接收來自客戶的服務請求,為客戶提供服務,即嵌入式服務器不會主動向某一主機發數據幀。既然如此始終處于被動狀態的服務器完全不需要向任何主機發送ARP請求,設備只要能處理ARP請求并返回ARP應答即可。鑒于這種情況,ARP協議中選擇對ARP應答部分進行實現。

 

  3. 2 網際協議—IP協議

  IP協議是TCP/IP協議簇中最為核心的協議,提供不可靠的無連接的數據報傳送服務。所有的TCP、UDP和ICMP數據都以IP數據報的格式傳輸。IP協議非常重要,實現比較復雜。從實現Simplified TCP/IP協議棧的要求出發,約簡IP協議需要把握兩個原則:①對接收到的IP數據報進行處理,向上層協議進行提交;②負責對UDP報文進行封裝,交給數據鏈路層進行裝幀。當設備收到發給自己的數據報時,首先判斷是否是自己的數據報,若不一致則丟棄該數據報;否則進行IP校驗和的驗證,當數據報無誤后,去掉IP頭部,將IP數據提交上層處理。

  
       一般情況下,數據包要經過不同的物理網絡,則IP層必須支持數據包的分片和重裝。但IP的分片和重組所需的開銷比較大,而現有的網絡一般都支持以太網,并且在此次應用的8/16位嵌入式系統中,傳輸的數據都是一些數據量比較小的狀態信息或者控制信息。因此數據報都不會超過協議所限制的1500字節。如果極少數數據實在比較大,可以在程序中進行處理,分批次進行傳輸。因此可以裁減掉IP的分片和重組功能。而IP數據包的路由功能則交給默認網關執行。

  3. 3 網際控制報文協議———ICMP協議

  ICMP協議是IP網絡內為控制、測試、管理功能而設計

 

的協議。ICMP的報文類型很多,不同類型的報文由類型和代碼字段共同決定。為了了解設備是否可達, Simplified TCP/IP協議棧中主要實現了回顯請求和應答報文的功能。該程序發送ICMP回顯請求報文給目的主機,并等待ICMP回顯應答。對于處于被動狀態設備而言,不需要主動發送回顯請求,只要能夠識別來自其他客戶的回顯請求并發送回顯應答就可以了。為了能夠使用戶了解設備是否可達,應當能夠對Ping的回顯請求給予應答。

 

  3. 4 用戶數據報協議—UDP協議

  Simplified TCP/IP協議棧中的傳輸層中,選用UDP作為傳輸層協議。從理論上看,TCP的可靠性是以許多復雜措施及由此而增加的開銷為代價換來的。TCP提供面向鏈接的、可靠的服務,而UDP是無面向鏈接的。由于UDP沒有可靠性的保證機制,因此能全速地進行數據通信(即充分發揮物理通信設備的速度);又因為UDP沒有點對點接入的要求,可以實現“一對多點”,“多對多點”的廣播和多點播發信息。UDP的不可靠傳輸的缺陷,可以在使用UDP時,在應用層增加提高UDP可靠性的代碼來彌補。譬如給數據添加順序標記,因而能在應用層發現數據的丟失和亂序,從而加以更正;采用應答確認機制,確保數據安全到達接收者等。

  由于嵌入式系統的CPU速度有限、代碼不能太長、傳輸率是關鍵等特殊要求,一般來講,在嵌入式設備接口時,快速、簡單地與嵌入式設備進行雙向數據傳輸是首為重要的。所以減少和嵌入式設備之間的往返信息,使網絡成為一種更為高效的通信媒介將是嵌入式網絡協議設計的必由之路。而UDP協議的開銷很小,傳輸率比TCP高出很多,實時性更強。所以嵌入式TCP/IP協議中采用UDP協議作為運輸層協議,不失為明智之舉。嵌入式系統中也可能存在對數據傳輸可靠性要求很高的情況。由于UDP協議沒有計時機制、流量控制或擁塞管理機制、應答、緊急數據的加速傳送等功能,因此在應用層協議中加入相應的措施,如給數據報加上順序標識、定時等待、采用重傳機制等輔助性的操作來彌補它的缺陷。從應用的角度看, Simplified TCP/IP協議棧主要是應用于家用電器上網。對于溫度、煙霧和濕度傳感器等的每秒一次地集中監控來說,發送頻繁,包較小,只需前端設備向網絡中廣播實時狀態等數據即可,因此選用UDP較為合適。

  4 Simplified TCP/IP協議棧處理流程

  Simplified TCP/IP協議棧接收數據包的過程就是解析數據包的過程。首先當一個數據幀到達時,網絡接口控制程序將其讀入緩沖區,檢查協議類型字段,如值依次為0x0800,表示數據域內為IP包;值依次為0x0806,表示數據域內為ARP包[6]。由此以確定使用那種協議模塊來處理此分組。去掉以太網幀首部的數據包將被分配到IP緩存或者ARP緩存。接著,由IP協議處理模塊或ARP協議處理模塊繼續解析。ARP根據包的類型,或者更新ARP地址映射表或者發送ARP應答。IP協議處理模塊對數據包解析后,將數據交給UDP協議處理模塊或ICMP協議處理模塊。ICMP協議模塊會發回一個ICMP回顯應答包。Simplified TCP/IP協議棧發送數據包的過程是封裝數據包的過程,數據經過某層協議的處理,就會在數據包首部增加某種

  格式的頭部。在IP協議模塊處理數據包的過程,它要通過調用ARP協議獲得對方主機的物理地址。

  Simplified TCP/IP協議棧處理流程如圖3所示。

Simplified TCP/IP協議棧處理流程圖

  圖3 Simplified TCP/IP協議棧處理流程圖

 

  5 總結與展望

  為了驗證方案的可行性,實驗中以簡單圖像的傳輸為研究對象,檢驗Simplified TCP/IP協議棧的運行效果。從測試結果可看出,大流量的圖像傳輸系統中發生數據報的幾率還是比較大的。當然,如果是應用在數據流量不是很大,僅有一些少量數據和簡單的控制指令或反饋信息的應用系統中,運行的情況會更好一些。

  目前Simplified TCP/IP協議棧技術還有一些不完善的地方。比如在數據量大的網絡中減小數據報的丟失率,更有效的進行擁塞控制等,這些都是今后的努力方向。另外,還需要進一步優化代碼,提高SimplifiedTCP/IP協議棧的性能。

 
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产婷婷精品| 宅男精品视频| 欧美日本一道本| 久久免费99精品久久久久久| 性亚洲最疯狂xxxx高清| 亚洲一区国产精品| 一区二区三区黄色| 一本色道婷婷久久欧美| 99国产精品久久| 99国产精品国产精品毛片| 亚洲麻豆视频| 亚洲精品网址在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲国产免费看| 亚洲国产精品一区制服丝袜 | 亚洲毛片在线看| 亚洲欧洲日本在线| 日韩天堂av| 99av国产精品欲麻豆| avtt综合网| 在线一区二区三区四区| 亚洲一二区在线| 午夜精品美女自拍福到在线| 午夜在线观看欧美| 久久国产成人| 亚洲人体1000| 一区二区三区免费观看| 亚洲自拍偷拍视频| 久久超碰97人人做人人爱| 久久久久久国产精品mv| 免费看成人av| 欧美日韩国产综合新一区| 国产精品成人在线观看| 国产欧美一区二区精品秋霞影院| 国产日韩欧美成人| 在线观看视频一区二区| 亚洲美女区一区| 亚洲欧美日韩一区二区| 亚洲成色www久久网站| 亚洲精品资源| 亚洲欧美日韩国产综合| 久久天堂国产精品| 欧美日本久久| 国产精品一区二区你懂得| 禁久久精品乱码| 欧美激情亚洲一区| 欧美一区二区精品在线| 久久婷婷国产综合尤物精品| 欧美国产日本高清在线| 国产精品久久久久久久久免费樱桃| 国产精品一级二级三级| 尤物yw午夜国产精品视频明星| 日韩亚洲一区二区| 欧美在线观看网站| 亚洲乱码国产乱码精品精98午夜 | 欧美日本中文| 国产精品亚洲综合色区韩国| 在线日本高清免费不卡| 国产精品99久久99久久久二8| 欧美亚洲视频在线观看| 日韩视频在线观看国产| 久久国产精彩视频| 欧美日本中文| 黄色影院成人| 亚洲视频二区| 亚洲精品在线二区| 久久久久久久久久久久久女国产乱| 欧美日韩大陆在线| 激情五月***国产精品| 一区二区三区欧美成人| 91久久精品www人人做人人爽 | 国产精品日韩专区| 亚洲人成网站影音先锋播放| 欧美一区二区视频在线| 亚洲深夜激情| 欧美成人免费网站| 国产欧美日韩一区二区三区在线观看 | 国产精品99久久99久久久二8 | 久久久另类综合| 欧美日韩免费在线观看| 黄色成人av在线| 亚洲欧美日韩高清| 一区二区三区四区国产精品| 麻豆精品网站| 国产一区深夜福利| 国产欧美日本一区视频| 欧美亚日韩国产aⅴ精品中极品| 红杏aⅴ成人免费视频| 亚洲综合精品| 一区二区三欧美| 欧美电影免费观看| 一区二区三区在线免费观看| 亚洲欧美在线免费| 亚洲综合精品一区二区| 欧美日韩大片一区二区三区| 亚洲风情亚aⅴ在线发布| 欧美中在线观看| 欧美在线欧美在线| 国产精品三级久久久久久电影| 日韩午夜电影| 99re热这里只有精品视频 | 国产精品久久网| 一区二区三区色| 宅男噜噜噜66一区二区66| 欧美岛国激情| 亚洲大片一区二区三区| 亚洲第一精品福利| 久久手机精品视频| 国产亚洲综合精品| 小辣椒精品导航| 久久精品国产999大香线蕉| 国产伦精品一区二区三区在线观看| 一区二区三区波多野结衣在线观看| 亚洲精品综合精品自拍| 欧美91福利在线观看| 136国产福利精品导航网址| 久久精品国产亚洲精品| 久久国产直播| 国产一级一区二区| 久久国产精品72免费观看| 久久精品日韩欧美| 国内综合精品午夜久久资源| 久久国产一区| 老司机午夜精品视频| 伊人成人在线视频| 欧美精品尤物在线| 宅男噜噜噜66一区二区66| 久久精品一级爱片| 国内在线观看一区二区三区 | 亚洲午夜精品一区二区| 欧美三级电影网| 日韩五码在线| 亚洲欧美日韩专区| 国产亚洲精品v| 久久精品女人天堂| 欧美国产激情| 夜夜嗨av一区二区三区网页| 亚洲综合第一页| 国产精品美女久久久久久2018 | 午夜在线播放视频欧美| 久久人体大胆视频| 在线国产亚洲欧美| 日韩午夜电影在线观看| 欧美日韩亚洲综合一区| 亚洲一区二区黄色| 久久久久久69| 亚洲成色精品| 亚洲午夜成aⅴ人片| 国产精品免费一区二区三区在线观看 | 日韩视频在线一区| 国产精品www994| 午夜精品福利一区二区蜜股av| 久久久久成人精品| 亚洲人成网站777色婷婷| 亚洲女ⅴideoshd黑人| 国产在线视频欧美| 一区二区三区日韩在线观看| 国产欧美日韩亚州综合| 亚洲欧洲日产国产网站| 国产精品露脸自拍| 亚洲高清精品中出| 欧美日韩视频专区在线播放| 午夜精品一区二区三区四区| 免费高清在线一区| 一二三区精品福利视频| 久久久久网址| 夜夜狂射影院欧美极品| 久久夜色精品国产| 在线视频免费在线观看一区二区| 久久九九久久九九| 亚洲三级视频在线观看| 欧美一区二区三区视频免费播放| 亚洲大片一区二区三区| 亚洲欧美日韩天堂| 亚洲国产精品小视频| 欧美亚洲视频在线看网址| 亚洲福利在线看| 欧美在线免费视频| 日韩视频永久免费| 久久久噜噜噜久久人人看| 9色porny自拍视频一区二区| 久久中文字幕导航| 亚洲午夜国产成人av电影男同| 美女在线一区二区| 亚洲欧美综合v| 欧美日韩专区| 亚洲欧洲一区二区天堂久久 | 亚洲区免费影片| 久久精品免费播放| 99国产精品私拍| 美女国产一区| 性久久久久久久久久久久| 欧美色图麻豆| 亚洲精品无人区| 国内精品写真在线观看| 亚洲欧美国产一区二区三区| 最近中文字幕日韩精品| 久久麻豆一区二区| 午夜亚洲伦理| 国产精品国内视频|