1. 说说TCP三次握手?(管道。内存共享。消息队列。信号量)进程通信

传输控制协议,面向连接,可靠,有序性,慢速度。(tcp20字节udp8个)

为了初始化SequenceNumber的初始值

  1. 说说四次挥手?

为了终止连接

为了让有足够时间让对方收到数据包

【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

  1. TCP滑动窗口?

RTT-时间长,发送数据时间 RTO重传时间间隔。

滑动窗口做流量控制,乱序重排。

  1. socket是啥?

IP+端口号+协议 socket编程实现通信