日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]隨著嵌入式系統(tǒng)的發(fā)展,在嵌入式系統(tǒng)中實現(xiàn)網絡連接已成為研究熱點,廣泛使用的廉價8/ 16 位嵌入式處理器的性能不足與網絡協(xié)議的復雜構成了尖銳的矛盾。 嵌入式Internet 技術

隨著嵌入式系統(tǒng)的發(fā)展,在嵌入式系統(tǒng)中實現(xiàn)網絡連接已成為研究熱點,廣泛使用的廉價8/ 16 位嵌入式處理器的性能不足與網絡協(xié)議的復雜構成了尖銳的矛盾。 嵌入式Internet 技術的核心是在嵌入式系統(tǒng)中實現(xiàn)TCP/ IP 協(xié)議簇, TCP 協(xié)議的機制比較復雜,對8/ 16 位嵌入式處理器的存儲能力和運算能力要求較高,必須進行簡化。

本文提出了一種適用于8/ 16 位低速處理器的簡化TCP 協(xié)議。對其性能進行分析發(fā)現(xiàn),在嵌入式網絡大量使用小數(shù)據(jù)包,造成網絡帶寬利用率低下并且容易造成網絡阻塞。 因此在簡化的TCP 協(xié)議中引入Nagle 算法,大幅度減少了嵌入式網絡中發(fā)送的小數(shù)據(jù)包個數(shù),提高了吞吐率,并減少了所需的帶寬。

簡化TCP 協(xié)議的提出

TCP 協(xié)議的數(shù)據(jù)傳輸分為3 個階段: 建立連接、傳輸數(shù)據(jù)和斷開連接,可以用狀態(tài)機 來實現(xiàn)。8/ 16 位嵌入式微控制器要完整實現(xiàn)這樣復雜的狀態(tài)機是十分困難的。在嵌入式系統(tǒng)中簡化TCP 的實現(xiàn)已有相關的研究,本文進一步引入了Nagle 算法并且進行了網絡模擬,給出了實驗結果。

連接建立和斷開機制

TCP 建立連接有兩種方式:主動打開和被動打開。如果實現(xiàn)服務器端應用,可以將TCP 狀態(tài)機的主動打開連接部分簡化掉。同理客戶端應用,可以將狀態(tài)機的被動打開連接部分簡化掉。斷開連接也有兩種方式:主動斷開和被動斷開。其中被動斷開連接的處理較為簡單。但為了保證安全性,希望主動斷開連接。主動斷開連接簡化實現(xiàn)的方法是:發(fā)送一個Fin 數(shù)據(jù)報,在接收到對Fin 數(shù)據(jù)報的確認后,再發(fā)送一個Reset 數(shù)據(jù)報,就可完成主動斷開連接。

以服務器端的TCP 連接為例,簡化后的TCP狀態(tài)機如圖1。

 


單TCP 連接

在8/ 16 位微控制器上實現(xiàn)簡化TCP 協(xié)議,無需實現(xiàn)多個TCP 連接,只需實現(xiàn)單個TCP 連接即可。

簡單確認機制

嵌入式系統(tǒng)發(fā)送數(shù)據(jù)包不大,可以將TCP 協(xié)議的滑動窗口機制去掉,成為簡單確認機制,只對單個數(shù)據(jù)報而不是批量數(shù)據(jù)發(fā)送確認。實現(xiàn)方法是設置TCP 頭部windows 字段的大小為1 ,即可保證TCP協(xié)議雙方都使用簡單確認。

僅計算發(fā)送TCP 報文的校驗和

由于TCP 協(xié)議校驗和的計算對系統(tǒng)存儲和計算資源的占用都比較多,可以省去對接收數(shù)據(jù)報校驗和的計算,保留發(fā)送數(shù)據(jù)報TCP 校驗和的計算。

簡化TCP 方案小結

在上述4 個方面的基礎上,在嵌入式處理器中實現(xiàn)了簡化的TCP 協(xié)議,程序流程如圖2。其中“不同狀態(tài)的相應處理”指根據(jù)接收到的TCP 報文準備待發(fā)送數(shù)據(jù)報并將其發(fā)送到以太網上。

簡化TCP 協(xié)議的性能分析

這種簡化的TCP 協(xié)議的性能可以通過在NS-2

 


網絡模擬器中進行模擬實現(xiàn)。

通常在嵌入式的環(huán)境中,應用層產生的數(shù)據(jù)包是很小的,經常是每個包只有幾個、十幾、幾十個字節(jié)的數(shù)據(jù),這樣就產生了一個問題: TCP 協(xié)議的報頭開銷太大。假設數(shù)據(jù)僅有一個字節(jié),而TCP 的包頭有40 個字節(jié),這樣的數(shù)據(jù)報對底層網絡的利用率僅僅只有1/ 41 ,考慮到分組之間的間隙和網絡硬件組成幀還需要一些比特,實際的網絡利用率更低。 嵌入式系統(tǒng)的這種常見的小的數(shù)據(jù)包造成了網絡帶寬的極大浪費。除了網絡利用率不高之外,還有另外一個問題是產生TCP 數(shù)據(jù)包數(shù)量極多,網關和路由器會由于這些極大數(shù)量的小數(shù)據(jù)包而發(fā)生阻塞。

組塊技術與其不足

通過以上分析,很自然的想到采用組塊技術(clumping) 把一定數(shù)量的數(shù)據(jù)包組成一個幀,這樣既能減小報頭開銷,又能減小TCP 數(shù)據(jù)包的數(shù)量,而且代碼量增加很少。但是,這樣組包會產生一個問題,TCP 在數(shù)據(jù)幀未達到一定大小之前不會傳輸數(shù)據(jù),這樣產生的延時會影響到數(shù)據(jù)的實時傳輸。因此,有必要對怎樣避免這種延時進行研究。

Nagle 算法的由來

在因特網發(fā)展初期,由于bbs 和新聞組的流行,網絡上充斥著大量的telnet 產生的小的數(shù)據(jù)包,數(shù)量極大的這些數(shù)據(jù)包使得路由器和網關發(fā)生了嚴重的阻塞現(xiàn)象,這和嵌入式系統(tǒng)中的情形類似。JoneNagle 提出了一種算法來對付這種棘手的小數(shù)據(jù)包問題,后來被稱為Nagle 算法。

Nagle 算法與簡單的組包( clumping) 技術不同,它和慢啟動一樣使用自計時( self clocking) 、用確認的到達來觸發(fā)其余數(shù)據(jù)的傳輸。因此它沒有引入額外的延時,而且能有效地減少網絡上小數(shù)據(jù)包的流量。

Nagle 算法的描述

在一個連接上已經傳輸?shù)臄?shù)據(jù)還沒有被確認的情況下,發(fā)送方的應用程序又生成了后續(xù)數(shù)據(jù),并照常將數(shù)據(jù)送到輸出緩沖區(qū)中,但這時并不發(fā)送后續(xù)報文段,而是等到有足夠的數(shù)據(jù)填滿一個達到最大長度的報文段之后再把緩沖區(qū)中的數(shù)據(jù)發(fā)送出去。

如果某個應用程序每次僅產生一個八位組的數(shù)據(jù), TCP 會立即發(fā)送最初的那個八位組,但是在確認到達之前, TCP 會把后續(xù)數(shù)據(jù)存入緩沖區(qū)中。因此當應用程序生成數(shù)據(jù)的速率比網絡的速率快很多時(如傳送文件) ,后續(xù)的報文段將包含大量的數(shù)據(jù),而當應用程序比網絡速度更慢時(如用戶敲鍵盤) ,就會發(fā)送較短的報文段而不必經過長的延時。

Nagle 算法在嵌入式環(huán)境的適用性

在嵌入式系統(tǒng)的環(huán)境中,嵌入式TCP 協(xié)議會面臨著各種情況,比如一兩個開關量的傳輸,或者是傳感器數(shù)據(jù)實時的傳輸,而Nagle 算法能夠自動適應網絡速率和應用層數(shù)據(jù)流量的各種情況,因為它是以確認來觸發(fā)的自計時的協(xié)議。

網絡模擬

NS-2 是一個應用于網絡研究的離散事件模擬器,它充分支持有線與無線網絡上對于TCP、路由和多播協(xié)議的模擬。它自問世以來受到學術界的充分信賴,成為設計和檢驗新的協(xié)議和算法的權威網絡模擬測試平臺。

網絡模擬環(huán)境的構建

圖3 是本文構建的網絡模擬環(huán)境:節(jié)點0 使用本文提出的嵌入式TCP 協(xié)議發(fā)送數(shù)據(jù),節(jié)點1 使用用戶投文協(xié)議(UDP) 組播協(xié)議來發(fā)送大量的數(shù)據(jù),用于測試嵌入式TCP 協(xié)議在網絡阻塞情況下的性能,節(jié)點2 和節(jié)點3 之間是瓶頸路徑,模擬交換機之間的線路情況。[!--empirenews.page--]

 


嵌入式TCP 協(xié)議的性能指標有吞吐量(throughp ut) ,即單位時間內TCP 源節(jié)點發(fā)送的字節(jié)數(shù);延時,即源節(jié)點的應用層發(fā)出數(shù)據(jù)到目的節(jié)點應用層接收到數(shù)據(jù)的時間量。

基于Nagle 的簡化TCP 協(xié)議的吞吐率

作為一個簡單確認的TCP 協(xié)議,因為窗口始終是1 ,所以吞吐率( t hroughp ut ) 是恒定的,由于采用Nagle 算法,不再有大量小數(shù)據(jù)包產生,提高了吞吐率,提高的倍數(shù)約等于Internet 數(shù)據(jù)包最大值除以應用層產生數(shù)據(jù)包大小。比如應用層產生的數(shù)據(jù)包是10 byte ,那么吞吐率就提高了1000/ 10 = 100 倍。

如圖4 所示,接收到的數(shù)據(jù)是隨著時間線性增長的,也就是說吞吐率是恒定的。最高的曲線是采用Nagle 算法的簡化TCP 協(xié)議的吞吐率;最低的曲線是未采用Nagle 算法的簡化TCP 協(xié)議在同樣環(huán)境下的吞吐率;中間曲線為未經過簡化的標準TCP 協(xié)議,因此可以從圖中看出,采用Nagle 算法明顯優(yōu)于其他兩種情況,并且大大改善了簡化TCP 的吞吐率。

基于Nagle 的簡化TCP 協(xié)議的響應時間

再看看延時的問題,Nagle 算法會立即傳送最初的數(shù)據(jù),然后再以大吞吐量發(fā)送余下的數(shù)據(jù)。這就導致,第一,吞吐率大大增加,使得傳送數(shù)據(jù)更快;第二,產生的數(shù)據(jù)包數(shù)量減少,使得發(fā)生擁塞重傳的機會也減少。圖5 和6 中分別是標準TCP 協(xié)議的延時抖動(jit ter) 和采用Nagle 算法的TCP 協(xié)議的延時抖動。

圖6 曲線在開始的尖峰說明了在數(shù)據(jù)連接的開始Nagle 算法會立即發(fā)送接收到的小數(shù)據(jù)包,而接下來是將接收的大量的數(shù)據(jù)打成大包發(fā)送。圖6曲線的平滑情況說明了延時抖動很小,適合嵌入式系統(tǒng)中實時數(shù)據(jù)的傳輸。在同樣的模擬參數(shù)下,標準TCP 協(xié)議發(fā)送了大量的數(shù)據(jù)包(120 個) ,而采用Nagle 算法的簡化的TCP 協(xié)議發(fā)送了不到20 個數(shù)據(jù)包。顯而易見,采用Nagle 算法的簡化TCP 協(xié)議在吞吐率高的同時還節(jié)省了網絡的帶寬。


 


對該協(xié)議實用性的分析

網絡協(xié)議的實用性體現(xiàn)為,在惡劣的網絡環(huán)境(如數(shù)據(jù)丟失) 下,可以保持連接而且能夠恢復數(shù)據(jù)的傳輸。

前面已經分析到,由于大大降低了網絡上小數(shù)據(jù)包的數(shù)量,降低了網絡帶寬的需求,使得基于Nagle 算法的TCP 協(xié)議比普通TCP 協(xié)議出現(xiàn)阻塞的可能性大大降低。

如果一旦網絡出現(xiàn)阻塞,會出現(xiàn)數(shù)據(jù)包的丟失。TCP 的數(shù)據(jù)發(fā)送方會接收到3 個重復的確認(ACK) 信號,基于Nagle 算法的簡化TCP ,同樣執(zhí)行標準的重發(fā)數(shù)據(jù)的工作,重新發(fā)送丟失的數(shù)據(jù)包。由于發(fā)送窗口始終是1 ,則不存在“快速恢復”問題。

對該協(xié)議模擬的結果如圖7 所示:圖中橫坐標是模擬時間,縱坐標是數(shù)據(jù)包的序列號。上面兩條曲線是Tahoe TCP 的數(shù)據(jù)和確認,而下面兩條曲線是基于Nagle 的TCP 的數(shù)據(jù)和確認。 圖中Tahoe TCP在慢啟動后的某個時刻,接收方收到了3 個相同的ACK確認包,表示網絡出現(xiàn)了阻塞,而且傳送相同的數(shù)據(jù)Tahoe TCP 的帶寬占用比基于Nagle 的簡化TCP 大多了。而基于Nagle 的簡化TCP 卻并未阻塞。

由以上分析可見, 基于Nagle 算法的簡化的TCP 在數(shù)據(jù)傳輸方面是可靠的??梢詮V泛的在嵌入式TCP 中使用,并且與其他TCP 算法能夠完全兼容,而且能夠大幅度提高網絡性能,減少網絡阻塞,特別是在應用層數(shù)據(jù)量比較小但數(shù)據(jù)包數(shù)量卻很多的情況下能夠大大改善數(shù)據(jù)的吞吐率和網絡占用率,是一種非常實用的算法。WindowsTM也在其Telnet 程序中使用了Nagle 算法。

 


基于Nagle 算法的TCP 協(xié)議由于算法簡單,性能優(yōu)秀,能夠勝任廣大的嵌入式Internet 的應用領域包括:工業(yè)控制、智能家居、智能監(jiān)控、自動抄表,等等。該協(xié)議能夠應用于實時性要求比較高的場合,但是如果實時性要求特別高而網絡帶寬富裕時則建議不采用Nagle 算法。

結 語

本文提出的基于Nagle 算法的簡化TCP 協(xié)議,大大減輕了微處理器的運算負擔和系統(tǒng)的存儲空間,使得TCP 協(xié)議得以在普通8/ 16 位處理器上實采用了Nagle 算法,在不增加多少代碼的情況下,提高了協(xié)議的吞吐率、降低了協(xié)議的帶寬占用,在嵌入式應用中其吞吐率甚至高于未簡化的標準TCP 協(xié)議。它的延時抖動基本是恒定的,非常適合嵌入式系統(tǒng)中的實時數(shù)據(jù)的傳輸。它發(fā)送少量的大數(shù)據(jù)包而不是大量的小數(shù)據(jù)包,從而節(jié)省了網絡帶寬?;诒疚乃惴ǖ淖詣映矸桨敢呀浽谡愦笮@網、杭州網通、寧波網通、上海有線通等寬帶網絡下進行了現(xiàn)場測試,測試結果符合設計要求。

該方案已經被國內多家電表生產企業(yè)所采納,并應用于新型網絡電能表的生產上,這種網絡電能表可以方便地實現(xiàn)網絡化自動集抄系統(tǒng),這些系統(tǒng)已經應用在上海、杭州、寧波等地的電力部門中。同時,基于本文方案的新型電能表以及其技術文件已經向全國電工儀器儀表標準化技術委員會進行了推薦和報批

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

2025年8月14日,致力于亞太地區(qū)市場的國際領先半導體元器件分銷商---大聯(lián)大控股宣布,其旗下詮鼎推出基于新突思(Synaptics)SL1680嵌入式處理器的AI疲勞駕駛檢測方案。

關鍵字: AI 嵌入式處理器 Type-C

嵌入式處理器是嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運行的硬件單元。范圍極其廣闊,從最初的4位處理器,目前仍在大規(guī)模應用的8位單片機,到最新的受到廣泛青睞的32位,64位嵌入式CPU。

關鍵字: 嵌入式處理器 ARM

米爾發(fā)布基于STM32MP257設計的嵌入式處理器模塊MYC-LD25X核心板及開發(fā)板。核心板基于STM32MP2系列是意法半導體推出最新一代工業(yè)級64位微處理器,采用LGA 252 PIN設計,存儲配置1GB/2GB...

關鍵字: 核心板 開發(fā)板 嵌入式處理器

隨著全球對可持續(xù)發(fā)展的日益關注,新能源技術作為替代傳統(tǒng)能源的重要選擇,正迅速發(fā)展并深入各個領域。在這一技術革新的浪潮中,嵌入式技術作為關鍵的智能化解決方案,正在為新能源行業(yè)的發(fā)展注入新的動力和創(chuàng)新。

關鍵字: 核心板 嵌入式處理器

嵌入式處理器是一種特殊的計算機處理器,它被設計用于嵌入到各種設備和系統(tǒng)中,以實現(xiàn)特定的功能。由于其低功耗、高性能和可靠性等特點,嵌入式處理器在許多領域都有廣泛的應用,如汽車電子、工業(yè)控制、醫(yī)療設備等。本文將對嵌入式處理器...

關鍵字: 嵌入式處理器 嵌入式系統(tǒng)

移動通信網絡可以分為兩段,一段是終端到基站,這段是無線通信,負責將終端信息接入通信網絡,按照功能劃分稱為無線接入網,另一段是基站到因特網,是有線通信,負責信息的傳輸和交換,按照功能可以繼續(xù)劃分成承載網和核心網。

關鍵字: 移動通信 因特網 有線通信

2023年10月10日, [恩智浦創(chuàng)新技術論壇] 在深圳灣萬麗酒店舉行,眾多工業(yè)、物聯(lián)網、新能源和醫(yī)療等行業(yè)的企業(yè)出席論壇,深入交流市場趨勢與行業(yè)洞察,一同討論如何協(xié)同面對市場的機遇與挑戰(zhàn),共同促進未來市場的發(fā)展。米爾電...

關鍵字: NXP 嵌入式處理器

據(jù)業(yè)內信息報道,昨天 AMD 在 Embedded World 上宣布了其第四代 EPYC 嵌入式處理器,該處理器采用其 Zen 4 架構,旨在云和企業(yè)計算以及工廠車間工業(yè)邊緣服務器中的嵌入式網絡、安全、防火墻和存儲。

關鍵字: Zen 4 AMD EPYC 嵌入式處理器

摘要:因特網的開放式標準和分散式設計,給予創(chuàng)新和發(fā)展更少的障礙,戰(zhàn)勝了有競爭,性的專屬系統(tǒng)和集中控制。物聯(lián)網所面臨的挑戰(zhàn)是指揮控制技術和分布式解決方案之間的爭論,它首先是組織結構上的,而不是技術層面的。物聯(lián)網需要后者,并...

關鍵字: 因特網 物聯(lián)網 集中控制系統(tǒng) 分布式終端
關閉