一、三次握手过程
为什么要三次握手?
目的:建立可靠的通信信道,双方确认自己与对方的数据发送与接收是正常的。Server端处于监听状态,双方的数据收发是串行的。
- 第一次:Client什么都不能确认;Server能确认对方发送正常,自己接收正常。
- 第二次:Client确认自己和对方发送,接收正常,Server确认对方发送正常,自己接收正常。
- 第三次:Client确认自己和对方发送,接收正常,Server确认自己和对方发送,接收正常。
二、TCP数据传输
TCP协议负责保障网络数据包的可靠性,使用确认技术来确保目的设备收到了从源设备发来的数据,并且是准确无误的。
为保证数据传输的可靠性,TCP协议做的底层工作:数据分割,排序编号,校验和,去重,流量控制,拥塞控制,ARQ协议,超时重传。
三、TCP挥手机制
为什么要四次挥手?
TCP连接时两端可以同时接收和发送数据,因此每个端都必须要单独进行关闭,主要目的是为了可靠的通信。
- Client表示没有数据发送了,但是还能接收来自Server的数据。
- Server告诉Client你的意思我知道了,但是我还能发送数据给你,整个连接处于半关闭了。
- Server数据发送完毕,告诉Client我也可以关闭连接了。
- 你的数据我接收完了,都关闭连接吧。
注:中间少一次,都会造成数据传输的不可靠。
问题:为什么第二次,第三次挥手不能合并为一次?
。。。。。。