一、短连接:
类似web网站的方式,访问完就四次握手close。
二、长连接:
不显式close
三、KeepAlive:
默认的Keepalive超时为2小时,探测次数为5次,tcp的保活很难代替心跳,其本来的目的是用来检测长时间不活跃的连接以便服务端回收。
四、心跳:UDP/TCP:
心跳包就是用来及时检测是否断线的一种机制,通过每间隔一定时间发送心跳数据,来检测对方是否连接。是属于应用程序协议的一部分。
心跳包的好处:
1,灵活性很好,可以自己控制检测的间隔,检测的方式等等。
2,TCP/UDP 皆可使用,貌似UDP没有keepalive(虽然keepalive也好像也并不属于TCP规范)
3,
防火墙
对于空闲socket自动关闭
五、Nagle算法:
是以他的发明人John Nagle的名字命名的,它用于自动连接许多的小缓冲器消息;这一过程(称为nagling)通过减少必须发送包的个数来增加网络软件系统的效率。所以nagle会导致小的数据包发送的延时。
六、Nat:
snat
dnat