一、在浏览器输入URL时,主机和服务器之间的交互
1.DNS服务器对域名开始解析,在浏览器缓存、本地操作系统缓存、本地域名服务器、根域名服务器、顶级域名服务器、权限域名服务器中查询该域名映射的IP地址;
如果查询不到,本地域名服务器会作为主机向根域名服务器继续查询,以此类推,直到查询到该URL映射的IP地址。
2.查询到该URL映射的IP地址,进行TCP的三次握手建立连接;
客户端发送ACK报文段至服务器端,ACK报文段SYN设置为1,初始序列为x,进入SYN_SENT状态;
服务器端收到客户端发送的ACK报文段,将ACK设置为1,序列号为x+1,选择自己初始的序列号为y,将该报文段发送给客户端;
客户端收到服务器端发送的ACK报文段,建立连接;
3.主机将URL的ip地址通过HTTP协议包装成请求发送给服务器端,通过ARP协议找到服务器端的MAC地址,之后服务器端将主机需要的数据以响应报文段的形式发送回主机,反复此行为,直到主机需要的数据传输完成;
4.四次挥手断开TCP连接
主机1(可以是客户端也可以是服务器端)设置序列号和确认号之后,向主机2发送FIN报文段,此时主机1进入FIN_WAIT_1状态;此时主机1没有数据要传送给主机2;
主机2收到主机1发送的FIN报文段,向主机1回复ACK报文段,表示收到了主机1发送的中断连接请求,确认号是序列号+1,主机1进入FIN_WAIT_2状态,表示主机2同意主机1的中断连接请求;
主机2发送FIN报文段给主机1,请求