一些计算机网络面试题

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如何保证其可靠传输

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

相关推荐
LabVIEW开发26 分钟前
LabVIEW气体污染无线监测
网络·labview·labview知识·labview功能·labview程序
JZZC228 分钟前
MA上的OSPF动态路由(2025年9月11日)
计算机网络·ensp·ospf·动态路由·ma上的ospf动态路由
error:(29 分钟前
【从零到公网】本地电脑部署服务并实现公网访问(IPv4/IPv6/DDNS 全攻略)
网络·智能路由器
酷飞飞1 小时前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
Tisfy2 小时前
服务器 - 从一台服务器切换至另一台服务器(损失数十条访客记录)
运维·服务器
风中的微尘2 小时前
39.网络流入门
开发语言·网络·c++·算法
hsjkdhs3 小时前
网络编程之UDP广播与粘包问题
网络·网络协议·udp
猎板PCB黄浩3 小时前
从废料到碳减排:猎板 PCB 埋容埋阻的绿色制造革命,如何实现环保与性能双赢
java·服务器·制造
ajassi20005 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
yzx9910135 小时前
接口协议全解析:从HTTP到gRPC,如何选择适合你的通信方案?
网络·人工智能·网络协议·flask·pygame