基于FPGA的UDP硬件發(fā)送模塊設(shè)計與實現(xiàn)
UDP數(shù)據(jù)包發(fā)送過程及協(xié)議介紹
本文引用地址:http://m.butianyuan.cn/article/142404.htmUDP數(shù)據(jù)發(fā)送與接收過程
發(fā)送、接收UDP包的過程如圖1所示?! ?/p>
其中,UDP協(xié)議在OSI模型中的第四層,即傳輸層;而IP協(xié)議在網(wǎng)絡(luò)層,傳輸層的下一層。
要發(fā)送的數(shù)據(jù)經(jīng)過傳輸層和網(wǎng)絡(luò)層,到達(dá)數(shù)據(jù)鏈路層,經(jīng)過以太網(wǎng)MAC發(fā)送出去。所以還需加上MAC幀頭,以符合以太網(wǎng)幀格式。整幀結(jié)構(gòu)如表1。
UDP協(xié)議特點
UDP協(xié)議特點如下。
?、盪DP是一個無連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當(dāng)它想傳送時就簡單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡(luò)上。在發(fā)送端,UDP傳送數(shù)據(jù)的速度僅僅是受應(yīng)用程序生成數(shù)據(jù)的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每個消息段放在隊列中,應(yīng)用程序每次從隊列中讀一個消息段。
?、灿捎趥鬏敂?shù)據(jù)不建立連接,因此也就不需要維護連接狀態(tài),包括收發(fā)狀態(tài)等,因此一臺主機可同時向多個客戶機傳輸相同的消息。UDP有不提供數(shù)據(jù)報分組、組裝和不能對數(shù)據(jù)包排序的缺點,也就是說,當(dāng)報文發(fā)送之后,是無法得知其是否安全完整到達(dá)的。
?、砋DP信息包的標(biāo)題很短,只有8個字節(jié),相對于TCP的20個字節(jié)信息包的額外開銷很小。
?、赐掏铝坎皇軗頂D控制算法的調(diào)節(jié),只受應(yīng)用軟件生成數(shù)據(jù)的速率、傳輸帶寬、源端和終端主機性能的限制。
?、礥DP使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持復(fù)雜的鏈接狀態(tài)表。
?、禪DP是面向報文的。發(fā)送方的UDP對應(yīng)用程序交下來的報文,在添加幀頭(header)后就向下交付給IP層。既不拆分,也不合并,而是保留這些報文的邊界,因此,應(yīng)用程序需要選擇合適的報文大小。
由于UDP是不可靠的,若在網(wǎng)絡(luò)質(zhì)量令人不十分滿意的環(huán)境下,UDP協(xié)議數(shù)據(jù)包丟失會比較嚴(yán)重。但是,由于UDP的特性:它不屬于連接型協(xié)議,因而具有資源消耗小,處理速度快的優(yōu)點,所以通常音頻、視頻和普通數(shù)據(jù)在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數(shù)據(jù)包,也不會對接收結(jié)果產(chǎn)生太大影響。
fpga相關(guān)文章:fpga是什么
評論