




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、TcpUdp發送數據長度問題探討使用TCP發送數據時,我們常用send函數:ssize_t send(int sockfd, const void *buff, size_t nbytes, int flags);使用UDP發送數據時,我們常用sendto函數:ssize_t sendto(int sockfd, const void *buff, size_t nbytes, int flags, const struct sockaddr *to, socklen_t addrlen);應用程序在使用上述接口發送數據時,究竟一次發送多少數據合適?TcpUdp發送數據長度問題探討TcpUdp
2、發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TCP/UDP數據發送長度選擇依據:協議定義TCP/UDP數據發送長度選擇標準:TCP:無上限UDP:不能超過報文數據長度上限:65535-20-8=65507(64KB)TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討UDP:UDP沒有流量控制,如果發送端發送的速度較快,接收端接收到數據后處理的速度較慢,而接收緩沖區的大小是固定的,就會
3、丟失數據。TCP:TCP通過“滑動窗口”機制進行流量控制,保證可靠傳輸。TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討TCP/UDP數據發送長度選擇依據:協議定義發送緩沖區大小TCP/UDP數據發送長度選擇標準:TCP:阻塞:無上限非阻塞:不能超過套接口發送緩沖區長度UDP:不能超過報文數據長度上限:65535-20-8=65507(64KB)不能超過套接口發送緩沖區長度采用流量控制、應答機制、超時重發等TcpUdp發送數據長度問題探討TcpUdp發送數據長度問題探討MTUTcpUdp發送數據長度問題探討本地MTUWindows: 注冊表Linux:ifconfig網絡MTU
4、以太網(Ethernet)協議:1500字節 PPPoE(ADSL)協議:1492字節 X.25協議(Dial Up/Modem):576字節 Point-to-Point:4470字節 FDDI協議:4352字節網絡MTU(路徑MTU)查看方法Windows:ping -f -l Linux:ping -c -M do -s TcpUdp發送數據長度問題探討IP數據長度超過MTU時:發送端IP層分片,接收端IP層重組IP數據長度超過MTU的問題:產生多余的數據包分包組包時間消耗大組包錯誤時,TCP會導致重傳,UDP會導致丟包TcpUdp發送數據長度問題探討計算方法:TCP:MTU - 20(
5、IP頭) - 20(TCP頭)UDP:MTU - 20(IP頭) - 8(UDP頭)對于以太網:TCP:1500 20 20 = 1460UDP:1500 - 20- 8 = 1472IP最小重組緩沖區大?。↖nternet標準MTU):576TCP:576 20 -20 = 536UDP:576 20 8 = 548DNS、RIP、TFTP、SNMP的數據報都小于這個值TcpUdp發送數據長度問題探討TCP/UDP數據發送長度選擇依據:協議定義發送緩沖區大小系統性能和網絡性能TCP/UDP數據發送長度選擇標準:TCP:不能超過套接口發送緩沖區長度(非阻塞)根據系統性能和網絡性能,選擇一個合適
6、值UDP:不能超過報文數據長度上限:65535-20-8=65507(64KB)不能超過套接口發送緩沖區長度根據系統性能和網絡性能,選擇一個合適值采用流量控制、應答機制、超時重發等TcpUdp發送數據長度問題探討TCP:對于需要一次性發送數據長度較大的場景(如大于10KB),推薦使用阻塞TCP;如果使用非阻塞TCP,一次性發送數據長度不要超過發送緩沖區長度,推薦發送10KB以下的值;當發送的數據長度不固定時,推薦使用單次定長循環發送的封裝函數writen(readn);當網絡狀態較好時,適當增大一次發送的數據長度,提高系統性能;當網絡狀態較差時,適當減小一次發送的數據長度,減小丟包重傳的時間消耗。TcpUdp發送數據長度問題探討UDP:一次發送的數據長度不能超過單包IP承載的最大數據長度(小于64KB);一次發送的數據長度不能超過發送緩沖區的長度;當網絡狀態較好時,適當增大一次發送的數據長度,提高系統性能;當網絡狀態較差時,適當減小一次發送的數據長度,降低丟包率;推薦值:網絡狀態很好,推
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論