udp發送大數據包
① TCP 、UDP包的最大長度是多少
對於UDP協議來說,整個包的最大長度為65535,其中包頭長度是65535-20=65515;
對於TCP協議來說,整個包的最大長度是由最大傳輸大小(MSS,Maxitum Segment Size)決定,MSS就是TCP數據包每次能夠傳輸的最大數據分段。
為了達到最佳的傳輸效能TCP協議在建立連接的時候通常要協商雙方的MSS值,這個值TCP協議在實現的時候往往用MTU值代替(需要減去IP數據包包頭的大小20Bytes和TCP數據段的包頭20Bytes)所以往往MSS為1460。
(1)udp發送大數據包擴展閱讀
對於一個乙太網來說,TCP的最大報文段長度即MSS一般是1460位元組(1500(MTU) - 20(IP head) - 20(TCP head) = 1460 Byte),減去12位元組的TCP timestamp option,留給TCP正文數據是1448位元組。
另外,TCP流量控制採用了滑動窗口機制,發送窗口的大小要小於min(接收端通告的接收窗口大小,發送端擁塞窗口大小)。
② 求教UDP協議發送數據包的大小問題
100位元組是綽綽有餘的,據我所了解的UDP,包括java中構造方法
byte[] buffer = new byte[8192];
DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
對此構造方法而言,它並不在乎緩存能有多大而且會很高興讓你創建一個數兆位元組大小的DatagramPacket。
然而,然後底層的原生網路軟體就少寬容了,最原始UDP實現不支持超過 8,192 byte/datagram。IPv4的理論極限datagram是65,507位元組,而如果一個DatagramPacket對象帶有65,507位元組大小的緩存的話就可以無損接收任何可能的IPv4 datagram。許多基於UDP的協議如DNS和TFTP會使用每datagram 512位元組或更少。NFS的普通使用最大數據大小是8,192位元組。幾乎所有的你可能碰到的UDP datagrams是8K或更少。實際上,許多操作系統並不支持超過8K數據的UDP datagrams,或截斷、或分拆,或丟棄。如果一個datagram因過大而遭到網路截斷或丟棄,你的java程序並不會被通知到該問題的存在(UDP畢竟是不可靠協議) 。因此,你不應該創建超過8,192位元組的DatagramPacket對象。
③ UDP傳輸大數據 怎麼處理丟包和亂序
丟包的話 是需要看下是哪個節點進行丟包 根據具體的情況 聯系運營商處理
亂序的話 需要你個人進行調整下的提交回答
④ VC++ 6.0下 UDP的方式實現大數據量的傳輸的程序源碼!!!
http://www.newxing.com/Code/VC/Network/1613.html可以去看下!版權
⑤ UDP數據包怎麼發送用什麼技術和方法
udp數據包和tcp數據包一樣,是一種網路協議的數據包!
udp數據包具有較強的網路穿透能力,可以用於網路環境相對復雜的場合進行網路通信。其代表軟體就是騰訊qq
udp數據包的缺點在與他不會像tcp包那樣,發送出去後會等待接受方的驗證是否收到,數據包是否合法。這樣就造成udp數據包相對tcp數據包更容易出現數據包丟失的情況。
如果對一台主機發送大量的udp數據包,就會造成dos攻擊。現在從各個廠商的硬體防火牆來看,能夠實現這種攻擊的只有udp數據包。tcp和syn數據包大多會被攔截,無法形成攻擊.
如果要禁止接受數據包,那就用防火牆把那個埠封掉就okay了
⑥ UDP數據包允許的最大數據長度是多少
首先,我們知道,tcp/ip通常被認為是一個四層協議系統,包括鏈路層,網路層,運輸層,應用層.
udp屬於運輸層,下面我們由下至上一步一步來看:
乙太網(ethernet)數據幀的長度必須在46-1500位元組之間,這是由乙太網的物理特性決定的.
這個1500位元組被稱為鏈路層的mtu(最大傳輸單元).但這並不是指鏈路層的長度被限制在1500位元組,其實這這個mtu指的是鏈路層的數據區.
並不包括鏈路層的首部和尾部的18個位元組.
所以,事實上,這個1500位元組就是網路層ip數據報的長度限制.
因為ip數據報的首部為20位元組,所以ip數據報的數據區長度最大為1480位元組.
而這個1480位元組就是用來放tcp傳來的tcp報文段或udp傳來的udp數據報的.又因為udp數據報的首部8位元組,所以udp數據報的數據區最大長度為1472位元組.
這個1472位元組就是我們可以使用的位元組數。:)
⑦ 採用UDP方式接收和發送的包的最大長度是多少
傳輸層:對於UDP協議來說,整個包的最大長度為65535,其中包頭長度是65535-20=65515;
對於TCP協議來說,整個包的最大長度是由最大傳輸大小(MSS,Maxitum Segment Size)決定,MSS就是TCP數據包每次能夠傳
輸的最大數據分段。為了達到最佳的傳輸效能TCP協議在建立連接的時候通常要協商雙方的MSS值,這個值TCP協議在實現的時候往往用MTU值代替(需
要減去IP數據包包頭的大小20Bytes和TCP數據段的包頭20Bytes)所以往往MSS為1460。通訊雙方會根據雙方提供的MSS值得最小值
確定為這次連接的最大MSS值。
IP層:對於IP協議來說,IP包的大小由MTU決定(IP數據包長度就是MTU-28(包頭長度)。 MTU值越大,封包就越大,理論上可增加傳送速率,但
MTU值又不能設得太大,因為封包太大,傳送時出現錯誤的機會大增。一般默認的設置,PPPoE連接的最高MTU值是1492, 而乙太網
(Ethernet)的最高MTU值則是1500,而在Internet上,默認的MTU大小是576位元組
實際UDP的包長度不要超過MTU值,一般不建議超過1K。
參考:https://..com/question/2265686089445142988.html
⑧ 有個叫UDP(DOMAIN)的協議,數據量傳輸很大,影響了其他人使用網路
UDP 53埠是DNS解析啊