首页 > 代码库 > 面经总结:计算机网络

面经总结:计算机网络

  • TCP三次握手

(1.过程;2.几个常见问题)

第一次:客户端给服务器发送syn包x;SYN_SENT

第二次:服务器接收到syn包,返回一个syn包y 和 一个ack包x+1; SYN_RECV

第三次:客户端收到syn+ack包,向服务器发送ack包。ESTABLISHED

为什么三次握手?

防止已失效的连接请求报文段重传。

 

  • TCP四次挥手

四次挥手?

把三次握手的第二次分解,先发ack包,再发fin包。

第一次:主动关闭方发送fin包x,关闭数据传送; FIN_WAIT1  

第二次:被动方发送ack包x+1; FIN_WAIT2 CLOSE_WAIT

第三次:被动方发送fin包y,关闭数据传送; LASH_ACK

第四次:主动方发送ack包y+1;TIME_WAIT 

为什么四次握手?

被动方收到FIN包时,并不会立即关闭socket,所以先回复一个ack包。等到被动方所有数据发送完,再发fin包。

为什么TIME_WAIT/等待2MSL?

MSL是报文最大生存时间;主动方发出最后一个ACK包进入TIME_WAIT状态,目的是防止最后一个ACK包对方没接收到,那么对方在超时后将重发第三次握手的FIN包。 A->ACK->B,等待ACK到达对方时间MSL,等待FIN超时重传MSL,所以如果2MSL时间没有收到FIN,说明对方安全收到FIN。

 

  • 浏览器访问一个网址的过程?

  1.首先浏览器通过DNS解析网址的IP地址,通过IP找到服务器路径;

  2.根据IP地址向服务器发送一个HTTP请求;

  3.服务器收到请求,返回响应;

  4.浏览器对网页解析,渲染显示。

涉及各层协议?

应用层:HTTP、DNS、(DNS解析域名为目的IP,通过IP找到服务器路径,客户端向服务器发起HTTP会话)

传输层:TCP、 (HTTP会话会被分成报文段,添加源、目的端口;TCP协议进行主要工作)

网际层:IP、(ARP)、ICMP、(为数据包选择路由,IP协议进行主要工作)

链路层:PPP、(ARP)(发送IP数据包到达服务器的地址,ARP协议将IP地址转成MAC地址)

 

面经总结:计算机网络