在 Linux C 程序中的非特权套接字(非原始套接字)上设置 TCP 选项
Set TCP Options on an unprivileged socket (not raw) in a Linux C program
我可以在 Linux C 程序中为非特权套接字(非原始)上的传出 TCP 数据包设置哪些 TCP 选项?我参考了 TCP Header.
中的 TCP 选项
我已经检查过 http://linux.die.net/man/7/tcp 所以现在我可以 add/edit:
MSS、时间戳、Window 缩放、Sack、快速打开(见下面的答案)
有没有办法添加其他选项?我对多路径特别感兴趣,但任何选项都会有所帮助。
谢谢!
TCP 快速打开可以与 MSG_FASTOPEN 标志一起使用,例如:
sendto(fd, data, len, MSG_FASTOPEN, ...
请注意,它必须得到服务器端的支持 - 在 Linux 这可以通过以下方式完成:
echo 2 > /proc/sys/net/ipv4/tcp_fastopen
有一个方便的参考here
我可以在 Linux C 程序中为非特权套接字(非原始)上的传出 TCP 数据包设置哪些 TCP 选项?我参考了 TCP Header.
中的 TCP 选项我已经检查过 http://linux.die.net/man/7/tcp 所以现在我可以 add/edit:
MSS、时间戳、Window 缩放、Sack、快速打开(见下面的答案)
有没有办法添加其他选项?我对多路径特别感兴趣,但任何选项都会有所帮助。
谢谢!
TCP 快速打开可以与 MSG_FASTOPEN 标志一起使用,例如:
sendto(fd, data, len, MSG_FASTOPEN, ...
请注意,它必须得到服务器端的支持 - 在 Linux 这可以通过以下方式完成:
echo 2 > /proc/sys/net/ipv4/tcp_fastopen
有一个方便的参考here