a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 一種新的嵌入式Simplified TCP/IP協議棧的研究與實現

一種新的嵌入式Simplified TCP/IP協議棧的研究與實現

作者: 時間:2012-07-17 來源:網絡 收藏

  3. 2 網際—IP

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

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

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

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

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

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

   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協議棧的性能。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

tcp/ip相關文章:tcp/ip是什么



上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉