
网络
行走在路上的蜗牛
空杯心态,学无止境
展开
-
socket之SO_REUSEADDR,SO_REUSEPORT
SO_REUSEADDR一般来说,一个端口释放后会等待两分钟之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用.SO_REUSEPORT此选项允许完全重复捆绑,但仅在想捆绑相同IP地址和端口的套接口都指定了此套接口选项才行。linux 3.9以上内核支SO_REU...原创 2020-04-17 21:14:54 · 323 阅读 · 0 评论 -
tcp timewait过多
查看tcp状态统计命令:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' what:主动closeTCP(server和client都可以) 连接的那一方出现的状态 why:主动close(server和client都可以)的一方需要等待2MSL时长,默认2min(可以配置) how: 设置socket...原创 2020-04-17 21:30:22 · 174 阅读 · 0 评论 -
tcp有序/可靠/流量控制/拥塞控制
tcp包头格式: tcp的有序性是通过序号保证的 tcp的可靠性是通过确认序号保证的 顺序问题、丢包问题、流量控制都是通过滑动窗口来解决的 拥塞控制是通过拥塞窗口控制的...原创 2020-04-17 21:41:34 · 380 阅读 · 0 评论 -
tcp连接3次握手
TCP 三次握手建立连接 【TCP 建立连接全过程解释】 <1>客户端发送 SYN 给服务器,说明客户端请求建立连接; <2>服务端收到客户端发的 SYN,并回复 SYN+ACK 给客户端(同意建立连接); <3>客户端收到服务端的 SYN+ACK 后,回复 ACK 给服务端(表示客户端收到了服务端发的同意报文); <4>服务端收到...原创 2020-04-17 21:32:03 · 185 阅读 · 0 评论