本文共 748 字,大约阅读时间需要 2 分钟。
TCP:Transmission Control Protocol/Internet Protocol
传输控制协议/因特网互联协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接
位码即tcp标志位,有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置) URG(紧急)Sequence number(顺序号码) Acknowledge number(确认号码)第一次握手:客户端发送了一个带有SYN(建立连接)的Tcp报文到服务器,这个三次握手中的开始。表示客户端想要和服务端建立连接。
第二次握手:服务端接收到客户端的请求,返回客户端报文,这个报文带有SYN(建立连接)和ACK(确认)标志,询问客户端是否准备好。
第三次握手:客户端再次响应服务端一个ACK(确认),表示客户端已经准备好。
问:可不可以只进行二次握手?
答:客户端发送了第一个连接的请求报文,但是由于网络不好,这个请求没有立即到达服务端,而是在某个网络节点中滞留了,直到某个时间才到达服务端,本来这已经是一个失效的报文,但是服务端接收到这个请求报文后,还是会向客户端发出确认的报文,表示同意连接。假如不采用三次握手,那么只要服务端发出确认,新的建立就连接了,但其实这个请求是失效的请求,客户端是不会理睬服务端的确认信息,也不会向服务端发送确认的请求,但是服务端认为新的连接已经建立起来了,并一直等待客户端发来数据,这样,服务端的很多资源就没白白浪费掉了,采用三次握手就是为了防止这种情况的发生,服务端会因为收不到确认的报文,就知道客户端并没有建立连接。转载于:https://blog.51cto.com/14127426/2339912