《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 揭開實時以太網神秘的面紗

揭開實時以太網神秘的面紗

2016-05-04
來源:ZLG致遠電子
關鍵詞: 以太網 TCP協議

  大多數工程師平時接觸的以太網基本都是TCP協議。因為覺得以太網TCP協議比UDP協議高級,理由就是數據在傳輸過程中不容易丟,但工業上的實時以太網很多都是不基于連接的UDP協議,這是為什么呢?我們先看下他們的區別。

  1.11.TCP與UDP的基本特性

  1.1.11.1 TCP(Transmission Control Protocol,傳輸控制協議)

  TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的協議,也就是說,在收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次握手才能建立起來。

  TCP連接三次握手過程

  1.主機A通過向主機B 發送一個含有同步序列號的標志位的數據段給主機B ,向主機B 請求建立連接,通過這個數據段,主機A告訴主機B 兩件事:我想要和你通信;你可以用哪個序列號作為起始數據段來回應我.;

  2.主機B 收到主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN)標志位的數據段響應主機A,也告訴主機A兩件事:我已經收到你的請求了,你可以傳輸數據了;你要用哪個序列號作為起始數據段來回應我;

  3.主機A收到這個數據段后,再發送一個確認應答,確認已收到主機B 的數據段:"我已收到回復,我現在要開始傳輸實際數據了;

  這樣3次握手就完成了,主機A和主機B 就可以傳輸數據了。如圖1所示。

1.jpg

  圖1  TCP建立連接3次握手過程

  TCP斷開四次握手過程

  TCP建立連接要進行3次握手,而斷開連接要進行4次;

  1 .當主機A完成數據傳輸后,將控制位FIN置1,提出停止TCP連接的請求;

  2.主機B收到FIN后對其作出響應,確認這一方向上的TCP連接將關閉,將ACK置1;

  3 .由B 端再提出反方向的關閉請求,將FIN置1;

  4.主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束。

  如圖2所示。

2.jpg

  圖2 TCP連接斷開的4次握手過程

  由TCP的三次握手和四次斷開可以看出,TCP使用面向連接的通信方式,為了提高數據通信的可靠性,在通訊有效數據之外添加了一套復雜的驗證流程,從而加大了網絡的負載和系統的開銷,降低了通訊的效率。并且在通訊過程中一旦出現異常斷開,重新建立連接前,需要先斷開連接,釋放資源,造成極大的耗時。所以TCP一般用于對實時性沒有要求的通訊場合,比如網頁瀏覽、郵箱數據、文件傳送等。

  1.1.21.2 UDP(User Data Protocol,用戶數據報協議)

  UDP是一個非連接的協議,傳輸數據之前,源端和終端不建立連接,當它想傳送時就抓取來自應用程序的數據,并盡可能快地把它扔到網絡上。在發送端,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。

  由于傳輸數據不建立連接,因此也就不需要維護連接狀態,包括收發狀態等,因此一臺服務機可同時向多個客戶機傳輸相同的消息,或者可以大家共享一個廣播地址,成為UDP組播功能,類似CAN總線那種通訊,發到組播地址上的信息,將被所有組成員收到。如圖3所示。

3.jpg

  圖3 UDP的兩種通訊方式

  UDP信息包的標題很短,只有8個字節,相對于TCP的20個字節信息包的額外開銷很小。吞吐量不受擁擠控制算法的調節,只受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能的限制。

  UDP使用盡最大努力交付,但發送端的鏈路層不保證可靠交付,因此發送主機不需要維持復雜的鏈接狀態表(這里面有許多參數)。UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部后就向下交付給IP層。既不拆分,也不合并。

  UDP一般用于實時性高的工業控制場合。比如現在絕大多數的實時以太網都使用UDP通訊。軌道交通中的IEC61375-3-4更是以UDP作為實時過程數據的通訊,而用TCP用于參數配置和固件升級使用。

  1.1.31.3 TCP與UDP的對比

4.png

  1.22 實時以太網項目中的方案對比

  1.2.12.1 TCP方案

  使用的TCP方案中,由于工業現場的網絡干擾等問題,在通訊過程中無法保證TCP連接可靠的保持,而在每一次斷開TCP連接并嘗試重連的過程中,都會經歷上述的4次斷開握手和3次連接握手的流程(如果是某些異常斷開的TCP還需要經歷超時重傳和保活計數的流程),而在網絡狀況不佳的情況下完成上述流程是有很大可能超出系統應用層的超時限制,所以會出現了頻繁出錯的問題,導致實時性很差。

  1.2.22.2 UDP方案

  而UDP方案基于上述介紹過的UDP的特性,在出現異常后UDP可以省去TCP繁瑣的握手流程,很快的恢復通訊,把需要發送的有效數據及時發送出去,從保證了系統要求的響應需要。

  使用UDP方案的數據完整性是由上層應用協議來保證的。即使通訊過程中某幀數據丟失,但發送方能在未收到對方響應前利用重發機制重新把丟失的數據再次發送,以太網100Mbps的速率保證很短的傳輸時間,所以很快就可以保證數據到達。不容易超出系統應用層的超時限制。

  比如軌道交通實時以太網的通訊協議中,就使用20548端口UDP組播地址作為過程數據實時控制。如圖4所示。

5.jpg

  圖4 軌道交通中的實時以太網

  以ECNN為例,主機通過UDP組播的方式,1包即將發給所有從機的內容都發下去,如圖5所示。從機收到后,響應報文到組播地址,不但可以被主機收到,而且可以被網絡中的記錄設備(黑匣子)記錄,便于故障時候進行分析。

6.jpg

  圖5 軌道交通實時以太網通訊過程

  1.3總結

  綜上所述,結合實際情況,使用UDP方案更符合實時以太網的實際需求。ZLG致遠電子研發的ZNE-100TA串口轉以太網模塊,具備完整的TCP、UDP、UDP組播功能,高達1.15Mbps的串口傳輸速度,完全可以滿足絕大多數實時以太網的通訊要求。嚴格完整的物理層測試,可以解決用戶對于物理鏈路層設計的煩惱。如圖6所示。

7.png


  圖6 ZNE-100TA模塊物理層測試(部分)


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 国产高清一区二区 | 亚洲国产精品一区二区久 | 老司机午夜性生免费福利 | 亚洲国产第一区二区香蕉日日 | 免费 视频 1级 | 欧美美女视频网站 | 波多野结衣视频免费 | www.亚洲综合 | 亚洲精品视频区 | 国产午夜精品不卡视频 | 成人一级大片 | 国产黄a三级三级看三级 | 国产免费一级高清淫曰本片 | 亚洲国产欧洲综合997久久 | 日韩a级毛片免费视频 | 手机国产日韩高清免费看片 | 成人欧美视频免费看黄黄 | 成年人免费黄色片 | 波多野结衣在线视频观看 | 久草福利社 | 亚洲成人中文字幕 | 中文字幕一区二区三 | 国产欧美日韩在线视频 | 在线一区视频 | 成人欧美一区二区三区黑人免费 | 日韩欧美在线播放视频 | 亚洲男同可播放videos | 久久黄色片 | 成人午夜视频一区二区国语 | 国产成人丝袜网站在线看 | 91亚洲自偷手机在线观看 | 日韩一页 | 91久久国产 | 精品九九久久 | 国产永久高清免费动作片www | 91国在线高清视频 | 久久成人a毛片免费观看网站 | 国产成人微拍精品 | 在线播放免费一级毛片欧美 | 亚洲作爱视频 | 国产精品所毛片视频 |