<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 如何基于Nagle算法設計嵌入式TCP協(xié)議?

如何基于Nagle算法設計嵌入式TCP協(xié)議?

作者: 時(shí)間:2018-07-31 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201807/384684.htm


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

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

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

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

基于Nagle 的簡(jiǎn)化TCP 協(xié)議的響應時(shí)間

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

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



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

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

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

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

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

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


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

結 語(yǔ)

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

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


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>