一些计算机网络面试题

TCP建立连接和关闭连接的流程?每个流程的环节?

TCP是在传输层的协议,建立的是可靠传输

TCP在传输数据前建立连接是采用三次握手,关闭连接是四次挥手

三次握手:因为目前网络通讯是全双工的,那我假设浏览器端是A端,服务器端是B端,A端会向B端先传送SYN报文,携带初始化随机序号,B端向A端返回SYN+ACK报文,A端最后向B端返回ACK报文最终确定,这就是TCP的三次握手

四次挥手:A会给B发一个FIN结束报文,B给A发送ACK应答报文,A收到之后这个时候会有一个等待阶段,因为B端有一些数据可能还没有给A传输完,等到数据全部传输完成后,B会再给A发送一个FIN结束报文,A收到之后再发送给B一个ACK报文,这时候B就可以关闭了,A再等待2MSL时间后如果没有收到B重复发来的报文,也就关闭连接了

MSL是报文最大存活时间。等待时间是2MSL可能是网络中存在着来自发送方的数据报文,当这些报文被接收方处理后又会回给发送方,这样一来一回就是两倍msl

2MSL是在客户端接收到服务器端发来的FIN后发送ACK开始计时的,若ACK在第一个MSL内丢失,FIN可以在第二个MSL内重新发回给客户端,这时候就会重新计时

TCP如何保证其可靠传输

重传机制、滑动窗口、拥塞控制(基于网络情况决定发送分组的数量)、流量控制(保证发送速率和接受速率相匹配)

相关推荐
茶杯梦轩2 天前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
YuMiao4 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
Sinclair7 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean8 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩8 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰9 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP9 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅9 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒9 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五9 天前
Nginx 高性能Web服务器笔记
服务器·nginx