1、TCP的三次握手
2 TCP四元组;最大连接数
3 TCP UDP的应用场景与区别
4 TCP状态机、
5 如何查看Linux系统上TCP连接数与状态
6 为什么是三次握手而不是两次、四次?
7 为什么初始序列号ISN不能相同?
8 为什么TCP要基于MSS进行分片,而不是全交给IP进行MTU分片?
9 什么是SYN攻击?如何避免?(SYN队列、ACCEPT队列)
10 四次挥手,为什么是四次?TIME_WAIT状态多久?为什么需要TIME_WAIT状态?
11 TCP使用哪些机制保障它的可靠性?
1、重传机制:超时重传(RTO略大于RTT)、快重传(三次)、ACK、SACK与D-SACK
2、序列号确认机制:累计确认
3、流量控制:滑动窗口(提高消息传输效率;窗口探测机制;糊涂窗口综合症)
4、拥塞控制:拥塞窗口;慢启动(慢启动门限前指数增加)+拥塞避免+拥塞发生+快速恢复
慢启动(指数增长)-》拥塞避免(1/cwnd)-》拥塞发生(超时,cwnd=1、ssthresh=cwnd/2)/快速恢复(快重传,cwnd/=2、ss=cwnd)
服务端是会动态调整缓存区大小的(根据负载情况),但TCP不允许先减少缓存再收缩窗口,为什么?
流量控制与拥塞控制的区别?
5、延迟确认与Nagle算法
12 tcpdump与wireshark配合使用
13 TCP fastOpen
14 TCP半连接与全连接队列(//TODO)
15 TCP性能提升与内核参数修改之间的关系