面试知识点及相关题目——计算机网络

TCP

TCP协议之三次握手,四次挥手

在这里插入图片描述
在这里插入图片描述

面试题

TCP协议要达成什么目的?

因为网络是不可靠的,任何包都可能丢。
达成可靠的传输:包按序收到,保证包不出错,流量控制(由滑动窗口达到的目的),拥塞控制。

滑动窗口协议怎么运行的,解决了什么问题?

  1. 流量控制,保证两边收发速度一致。
    在这里插入图片描述

为什么要三次握手:

个人理解,一次两次握手都不保险。两次握手不保险的原因是:
为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤。如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认。

为什么连接的时候是三次握手,关闭的时候却是四次握手?

答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。等它做完所有断开的准备工作,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

为什么TCP断开连接发送方最后要进入超时等待TIME_WAIT状态?

保持TIME_WAIT是假设第四次挥手失败,如果失败,对方会重发第三次挥手,这段时间用来等待可能的对方重新发送的第三次挥手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值