TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指可以在多个不一样网络间实现信息传输的协议簇。TCP/IP协议不单单指的是 TCP 和 IP两个协议,而是指一个由 FTP、 SMTP、TCP、 UDP、IP等协议构成的协议簇, 只是由于在TCP/IP协议中TCP协议和IP协议最具表明性,因此被称为TCP/IP协议。
TCP/IP协议定义了一个在因特网上传输的包,称为IP数据报,IP数据报由首部和数据两部分组成,IP报头中包含大量的信息,如源IP地址,目的IP地址,数据报长度,IP版本号等,数据部分呢保存传输层的数据,如保存TCP、UDP、ICMP等数据。服务器
在了解三次握手以前,咱们须要先看TCP首部两个关键的属性——序号和确认号。序号字段表明报文端要发送的数据的第一个字节的序号;通讯的任何一方收到消息都要发送一个确认报文,确认报文就须要一个确认号,它的值表示指望收到下一个报文段的序号值,也就是说在确认报文中确认号才会生效。网络
如何标识是否为确认报文呢?这里要关注六个标志位,分别是URG、ACK、PSH、PST、SYN、FIN。在这六个标志位中,又要重点关注三个,分别是spa
第一次握手时,Client向Server发送一个链接请求,须要设置SYN=1,同时发送本身的序列号Seq到服务器。第二次握手,为服务器收到请求后,发送一个确认报文,ACK=1,同时发送一个确认号,是指望收到对方的下一个报文段的数据的第一个字节的序号,ACKnum=X+1,+1所示收到 SYN标识。第三次握手为客户端收到服务器的响应报文,他也要回复确认报文,确认报文ACK=1,ACKnum=Y+1rem
第一次挥手为客户端发送FIN=1,表示本身没有数据能够发送了,其次携带本身的序列号。第二次挥手为服务器端确认收到客户端的FIN包,发送一个确认包,代表本身接收到了客户端的关闭请求,可是这时并未准备好关闭链接。第三次挥手为服务器确认准备好关闭链接,这时发送FIN=1。第四次挥手为客户端收到服务端的关闭请求,发送一个确认包,服务器端收到这个请求后就关闭链接,再也不回应客户端,客户端会等待一个固定时间后,自动关闭。get