歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下tcp 和 udp 套接字收發緩沖區的大小決定規則

Linux下tcp 和 udp 套接字收發緩沖區的大小決定規則

日期:2017/2/28 15:42:34   编辑:Linux教程

1. tcp 收發緩沖區默認值

[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem

4096 87380 4161536

87380 :tcp接收緩沖區的默認值

[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem

4096 16384 4161536

16384 : tcp 發送緩沖區的默認值

2. tcp 或udp收發緩沖區最大值

[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_max

131071

131071:tcp 或 udp 接收緩沖區最大可設置值的一半。

也就是說調用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 時rcv_size 如果超過 131071,那麼

getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等於 131071 * 2 = 262142

[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_max

131071

131071:tcp 或 udp 發送緩沖區最大可設置值得一半。

跟上面同一個道理

3. udp收發緩沖區默認值

[root@ www.linuxidc.com]# cat /proc/sys/net/core/rmem_default

111616:udp接收緩沖區的默認值

[root@ www.linuxidc.com]# cat /proc/sys/net/core/wmem_default

111616

111616:udp發送緩沖區的默認值

4. tcp 或udp收發緩沖區最小值

tcp 或udp接收緩沖區的最小值為 256 bytes,由內核的宏決定;

tcp 或udp發送緩沖區的最小值為 2048 bytes,由內核的宏決定

Copyright © Linux教程網 All Rights Reserved