一些计算机网络面试题

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

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

相关推荐
PcVue China2 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
长安11082 小时前
前后端、网关、协议方面补充
网络
舞动CPU4 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
钰@5 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo5 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
hzyyyyyyyu5 小时前
隧道技术-tcp封装icmp出网
网络·网络协议·tcp/ip
南猿北者5 小时前
docker Network(网络)
网络·docker·容器
Hacker_Nightrain6 小时前
网络安全CTF比赛规则
网络·安全·web安全
扣得君7 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
向懒羊羊学习的大猫7 小时前
【专题】计算机网络之网络层
计算机网络