没有合适的资源?快使用搜索试试~ 我知道了~
计算机网络常见面试题总结
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/20708913/bg1.jpg)
一,tcp 三次握手四次挥手
(1)tcp 三次握手
MSL:最大报文段生存时间
SYN:同步序列编号
seq 序列号:用来标记数据段的顺序,seq 就是发送的报文段中第一个字节的
数据编号
ack 确认号:期待收到对方下一个报文段的第一个数据字节的序号;
TCP 三次握手:
第一次握手:客户端发送一个 SYN=1,seq=x 的 SYN 包
第 二 次 握 手 : 服 务 器 如 果 收 到 客 户 端 发 来 的 SYN 包 , 会 回 复 一 个
ACK=1,SYN=1,seq=y,ack=x+1 的 ACK 包+SYN 包,
第三次握手:客户端收到服务器发送来的 ACK+SYN 包,这时候回复一个
ACK=1,seq=x+1,ack=y+1 的 ACK 包,并且这时候客户端可以给服务器
![](https://csdnimg.cn/release/download_crawler_static/20708913/bg2.jpg)
发送数据 <为了避免服务器一直等待客户端的连接>
举列:
就用打电话的方式来简单说明一下,三次握手,C 给 S 打电话,然后 C 说:你
能听得到我说话吗?然后 S 说:我能听到你说话,你能听到我说话吗?然后 C
最后回应一下:我也能听到。这样就确保了双方都能听到对方说话
{
客户端然后发送 http 报文,服务器把网页返回给客户端
}
(2) tcp 四次挥手
《FIN 为 1 时,发送端完成任务,释放一个连接》
第一次挥手:客户端发出 FIN=1,seq=u 的一个 FIN 包,并且停止发送数据,
客户端进入终止等待 1 状态
第 二 次 挥 手 : 服 务 器 接 收 到 客 户 端 发 来 的 FIN 数 据 包 之 后 , 回 复 一 个
ACK=1,seq=v,ack=u+1 的 ACK 包,服务器进入关闭等待状态,当客户
![](https://csdnimg.cn/release/download_crawler_static/20708913/bg3.jpg)
端收到了发过去的 ACK 包后,进入终止等待 2 状态
第三次挥手:然后服务器传送最后没有发完的数据,发送结束后,再给客户端
发一个 ACK=1,FIN=1,seq=w,ack=u+1 的 ACK+FIN 包,然后服务器
进入最后确认状态
第四次挥手:客户端接受完服务器发送的数据和 ACK+FIN 包后,最后回复一
个 ACK=1,seq=u+1,ack=w+1,然后客户端进入时间等待状态,最后客
户端等待 2MSL 时间后,服务器没有再发送一个 FIN 包,那说明刚刚发的 ACK
数据包,服务器已经收到,服务器那边已经关闭
举例:
也用打电话的方式来说一下吧。
C 给 S 说:我准备挂电话了,你还有什么需要说的吗
S 回应:我听到你准备挂电话,但是你别急,我把最后几句话说完(这里说的
话,就类似于网络中发送的数据包)
C 听到 S 给的回应:然后不给 S 说什么了,然后就接受 S 最后发送的数据
当 S 说完之后,S 又说:我说完了,我准备挂了,可以吗
C 说:我收到了,你挂吧,然后 C 等待 S 收到后,然后再挂电话,S 收到 C 最
后说的我收到了,你挂吧,然后 S 就可以挂电话了
(3)为什么连接的时候是三次握手,关闭的时候却是四次挥手?
因为当服务端收到客户端的 SYN 连接请求后,可以直接发送 ACK+SYN 包。
但是关闭连接时,当服务器收到 FIN 包时很有可能因为服务器还有没有发送完
的数据,并不会立即关闭 Socket,所以只能先回复一个 ACK,只有等服务器
端把最后的数据发送完毕后,才能发送 FIN 报文,所以需要四次挥手
![](https://csdnimg.cn/release/download_crawler_static/20708913/bg4.jpg)
(4)为什么 TIME_WAIT 状态需要经过 2MSL(最大报文段生存时间)才能返回
CLOSE 状态?
因为有可能客户端最后一次回应的 ACK 包丢失。服务器如果没有收到 ACK,
将不断重复发送 FIN 片段,所以客户端不能立即关闭,它必须确认服务器接收
到了该 ACK
(5)为什么不能用两次握手进行连接?
三次握手完成两个重要的功能,双方都要知道自己能发送数据并被对方接收到,
如果是两次握手的话,第一次客户端发送连接请求,服务器给出回应并且发送
SYN,这时候客户端可以确定,服务器能接收到我发送的数据,如果省略了最
后一步,服务器就不能确定,自己发送的数据,客户端能否收到。所以需要客
户端第三次握手,再回复一下服务器发来的 SYN
(6)如果已经建立了连接了,但是客户端突然出了故障怎么办?
TCP 还设有一个保活计时器,当客户端出现故障,服务器不能一直等下去,服
务器每收到客户端的请求后都会重新复位一下这个计时器,时间通常设置为 2
小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文
段,每隔 75 秒钟发送一次,若一连发送 10 个探测报文任然没反应,服务器就
认为客户端出了故障,接着就关闭连接
二,网络层七层协议
应用层:提供了访问网络服务的接口
表示层:提供数据格式转换服务
会话层:建立端连接并提供访问验证和会话管理
传输层:提供应用程序之间的逻辑通信
![](https://csdnimg.cn/release/download_crawler_static/20708913/bg5.jpg)
网络层:为数据在节点之间传输创建逻辑链路,并分组转发数据
数据链路层:在通信的实体间建立数据链路连接
物理层:传输比特流
我自己理解的 7 层,
应用层:提供了做很多事情的网络服务接口,例如文件传输 FTP 协议,超文本
传输协议 http 等等。
表示层:提供数据格式转换,加密解密,压缩解压。
会话层:进行会话管理(建立、维护、终止)。
传输层:负责网络中两个主机进程间通信网络服务,协议 TCP/UDP。
网络层:负责路由分发,解决不在一个局域网,进行路由转发等等。 类似于生
活中:快递分解公司,发过去之后根据目的往下一个目的去分解
数据链路层:网络层找到接收方的所在的局域网进行数据链路连接。
物理层:传输比特流,网线之类的,这样发过去了
剩余28页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![none](https://img-home.csdnimg.cn/images/20210720083646.png)
![avatar](https://profile-avatar.csdnimg.cn/87605b4f7f184b63be954dd723c205b5_m0_50507927.jpg!1)
m0_50507927
- 粉丝: 13
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0