目录
一、三次握手
什么是三次握手?
手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。
TCP共有6个标志位,常见的:
标志位 | 含义 |
---|---|
SYN(synchronous) | 建立连接 |
ACK(acknowledgement) | 响应确认 |
FIN(finish) | 结束 |
RST(reset) | 重置 |
建立起一个TCP连接需要经过“三次握手”
三次握手图解:
过程解析:
(1)第一次握手:
客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
j
是一个随机数,通过看服务器返回的j+1
是否正确,判断第一次握手服务器是否正确响应。
(2)第二次握手:
服务器确认客户的SYN包,同时发送ACK包(ack = j+1)作为回应;
自己也发送一个SYN包(syn=k),共两个包,此时服务器进入SYN_RECV状态;
k
也是一个随机数,也是用于看客户端返回的k+1
是否正确,判断第二次握手客户端是否正确响应。
(3)第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次