首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
何止hz
2020-09-11 14:15
已编辑
腾讯_cdg_后台开发
关注
已关注
取消关注
tcp三次握手,为什么不是两次,这个面试题到底该咋回答?
请教下各位牛油的答案,到底该怎么答?
我一般会回答,这是由tcp的机制决定的,只有通过三次握手,才能完成序列号的同步,用于后续的数据传输。
各位是咋回答的,想听听大佬们的标准答案。
提示
全部评论
推荐
最新
楼层
我是真的菜得1P
字节跳动_基础架构_后端开发工程师
3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。 现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机S和C之间的通信,假定C给S发送一个连接请求分组,S收到了这个分组,并发 送了确认应答分组。按照两次握手的协定,S认为连接已经成功地建立了,可以开始发送数据分组。可是,C在S的应答分组在传输中被丢失的情况下,将不知道S 是否已准备好,不知道S建立什么样的序列号,C甚至怀疑S是否收到自己的连接请求分组。在这种情况下,C认为连接还未建立成功,将忽略S发来的任何数据分组,只等待连接确认应答分组。而S在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
3
回复
分享
发布于 2020-09-18 16:15
宝宝可乖了
米哈游_引擎开发
三次握手不是TCP独有的,所有的端到端的全双工通信要确认各自的发送和接受通道是畅通的,双发都至少需要两次交互,加起来就是4次。因为第二次被动方的确认回复和第三次的发送可以合并为一次,就变成三次交互了。
3
回复
分享
发布于 2020-09-11 21:43
E·M·T
天津工业大学 Java
https://mp.weixin.qq.com/s/rX3A_FA19n4pI9HicIEsXg 在快到页面中间的位置,很详细
2
回复
分享
发布于 2020-09-11 20:22
繁花蓝
广州大学 前端工程师
假设A、B两方进行TCP握手 如果是两次握手A->B(第一次握手因为某些原因迟到了很久) A->B(A再次进行一次握手请求) B->(响应握手建立连接) 而此时第一次握手请求这个时候才到了B端,那么B端也要响应这个握手连接啊,于是就返回响应,但是这个时候的A已经将第一次的握手请求作废,所以这一条连接就纯属于浪费服务器的资源。 如果是三次握手 A->B(请求握手)、B->A(同意握手 但是不确定A能否收到这个同意握手的回应)、A->B(已收到回应 TCP连接建立),如果A将第一次握手请求作废,那么就不会有第三次的握手,而TCP连接也不会建立起来 我的理解是这个样子的
2
回复
分享
发布于 2020-09-11 15:55
野猪佩琪🐗
西安交通大学 Java
大概意思是防止已失效的连接请求到达服务器建立连接浪费资源。计算机网络谢希仁教材作出了解释。
2
回复
分享
发布于 2020-09-11 14:48
Keepen
西安工业大学 golang
我一般是通过举例加上分析来回答。 生活中:小明、小李 小明:在吗? 小李:在的(表示小李可以进行通信)(这就相当于是既应答了,也提问了) 小明:那个.....(表示小明现在也是在线的,因为可能上一步小李过了很久才回复小明,小明可能已经离线了) 可以进行数据通信了!!!!!!! 再下来就是分析包序啥的,个人觉得这样表达的就比较清晰了 仅供参考,大佬轻喷!!!😂
1
回复
分享
发布于 2020-09-11 16:51
飞翔的鸵鸟
门头沟学院 C++
1. 两次握手会出现, 当第一次发送信号在网络中被隔置,第二次再发此时建立链接,断开链接后第一次链接信号又到了,此时会导致建立连接 2. 另外就是三手握手保证的是让对方知道我已经知道了,两次不行
1
回复
分享
发布于 2020-09-11 14:46
我在上塘河边
浙江工业大学 Java
源端需要知道自己发送无问题,自己接收无问题,对端发送无问题,对端接收无问题。 对端需要知道自己发送无问题,自己接收无问题,源端发送无问题,源端接收无问题。 一共8个问题 第一次解决了:6,7 第二次解决了:1,2,3,4,8 第三次解决了:5
7
回复
分享
发布于 2020-09-11 16:13
mler
北京邮电大学 大数据开发工程师
我觉得可以从全双工这个角度+一端建立/断开链接需要一次请求响应,去解释,本来应该是四次,c->s一次请求响应,s->c一次请求响应,建立连接没有数据要传输,所以第二三次可以合为一次。总共就三次了。 两次只能确保c->s是建立了连接,无法保证s->c建立了连接。 同一挥手需要四次,也是因为两端传输数据不是同时完毕的,所以各负责各的。
1
回复
分享
发布于 2020-09-11 16:01
光辉岁月v
广东工业大学 golang
三次握手,应该叫三次报文交换,实际上是确认通信双方的收发数据能力,确认序列号,二次握手就确认tcp连接的话,客户端的收发能力可以确认,服务端不知道自己发的数据客户端能否收到,用三次握手既可高效(中间的SYN,ACK合并一起发),又可确保可靠。同理断开连接的四次挥手如果服务端已没有数据发送,也可退化成三挥
点赞
回复
分享
发布于 2020-09-11 22:38
牛客69143547号
哈尔滨工业大学(深圳) C++
m
点赞
回复
分享
发布于 2020-09-11 19:52
疯轻扬
阿里巴巴_CRO技术部_开发工程师
两个将军问题,本质是在不可靠信道上通过交换信息达到一致是不可能的,一致就是双方都建立连接
点赞
回复
分享
发布于 2020-09-11 19:48
拖泥带水
度小满_基础架构研发工程师
一个是死锁问题,一个是资源浪费问题。
点赞
回复
分享
发布于 2020-09-11 16:00
啦啦啦啦咯咯
西安邮电大学 Java
我一般是从两次握手会引发的问题这个角度回答的
点赞
回复
分享
发布于 2020-09-11 14:26
暂无评论,快来抢首评~
相关推荐
04-15 14:48
华中科技大学 全栈开发
Agent学习之Harness Engineering
AI世界变幻之快,没几天就有新概念了,最近热讨论的是Harness Engineering(驾驭工程)这个词。OpenAI、Anthropic、Martin Fowler……一线的公司和技术大佬都在讨论它。很多科普文章会告诉你:Harness 就是给 AI 设边界、分步骤、做检查,你平时用 Claude Code 时已经在做了用最简洁的话说:Harness 是包裹在大模型外面的"执行与治理系统"。公式就是 Agent = Model + Harness。那么我们给最近爆火的 Harness Engineering 一个清晰直白的比喻:想象你面前有一匹又快又壮的马。你想让它帮...
想从事Agent应该学习...
点赞
评论
收藏
分享
昨天 21:48
已编辑
复旦大学 C++
WXG!!!不过凉经。。。
📍面试公司:腾讯💻面试岗位:WXG-技术架构团队⏰面试时长:2h❓面试问题:0.业务介绍1.自我介绍————————————————面试官听完自我介绍,嗯嗯了几声,然后淡淡的说:我们先代码考核一下吧,之前的邮件收到了吧(是的,在面试前,这个面试官还发了一封邮件,邮件里面说会先进行1h的代码考核)。然后他发了个腾讯文档给我。💻代码考核:一共5道题。其中,第一第二道题算是leetcode中等题难度。有点模糊了。———题目————————1.2.最长回文子串3.实现开方(要考虑MOD取模)4.图论+树:强度上来了。(需要两次dfs,我所想的方法)5.开放题,也是AI coding。设计一个Th...
面试问题记录
点赞
评论
收藏
分享
03-13 14:13
已编辑
门头沟学院 Java
学院本简历求拷打,找不到工作了
二本的结局就是铁人三项嘛
简历被挂麻了,求建议
点赞
评论
收藏
分享
04-20 18:12
华中科技大学 Java
滴滴泡
这个岗是不是无了呀,怎么一直卡着😢😢引流:腾讯、字节、阿里、拼多多、小红书、滴滴、小米、华为
点赞
评论
收藏
分享
04-19 11:36
重庆大学 Java
Pdd-三面-4.17
上来先手撕:非递归实现后序遍历二叉树,磨蹭半天写出来了请简单介绍一下你自己做的项目,以及大概用到了哪些组件(中间件)?是否了解分布式系统的 CAP 理论?这大概是一个什么样的问题?在你的项目中,使用分布式锁主要是为了解决什么问题?如果改为异步的方式,还能判断“一人一单”吗?秒杀场景下,先判断“一人一单”再判断“库存是否足够”,这一套逻辑具体是在哪里判断的?项目中的 Redis 是单节点部署的吗?如果变成集群部署,库存在一致性的问题?Redisson 分布式锁的实现原理是什么样的?布隆过滤器?如果让你设计一个工作在多线程并发环境下的本地先进先出(FIFO)队列,且为了性能要求是无锁(Lock-f...
查看16道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
3
41
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
27届导师不放实习,硬刷五段大厂
1.6W
2
...
求助:27游戏客户端暑期还能找到吗
4237
3
...
字节二面面试官迟到并且打断自我介绍
3954
4
...
字节前端一面已过✅
3743
5
...
滴滴一面agent
3731
6
...
中行软件中心有收到编程能力测评的通知吗,是海笔嘛
3236
7
...
字节抖音前端暑期二面
3076
8
...
大厂实习真的很累....
3060
9
...
0实习拿到了大厂暑期✌️
2915
10
...
暑期实习总结
2642
创作者周榜
更多
正在热议
更多
#
你知道最慷慨和最抠的公司分别是
#
3678次浏览
38人参与
#
哪些AI项目值得做?
#
2380次浏览
84人参与
#
华泰星战营,提前锁定校招offer
#
8814次浏览
316人参与
#
实习时最怕听到的一句话
#
2692次浏览
47人参与
#
简历上如何体现你的“AI”能力?
#
2727次浏览
53人参与
#
没有面试的日子里,你在做什么
#
3514次浏览
55人参与
#
怎么给家人解释你的工作?
#
57082次浏览
217人参与
#
你简历上最心虚的一句话
#
8182次浏览
49人参与
#
你总挂在第__面?
#
1479次浏览
22人参与
#
找不到大厂实习可以去小厂吗?
#
2764次浏览
30人参与
#
荣耀笔试
#
83710次浏览
410人参与
#
实习生如何通过转正
#
138113次浏览
1493人参与
#
国央企笔面经互助
#
196917次浏览
1235人参与
#
考公VS就业,你怎么选?
#
100731次浏览
534人参与
#
卷__卷不过你们,只能卷__了
#
60907次浏览
767人参与
#
你今年的保底offer是哪家
#
187901次浏览
760人参与
#
大城市找工作会更容易吗
#
66889次浏览
400人参与
#
哪些公司对双非友好
#
231157次浏览
1248人参与
#
快消秋招求职进展汇总
#
11709次浏览
43人参与
#
你找实习最大的坎坷是什么
#
322179次浏览
2466人参与
#
哪些公司校招卡第一学历
#
256701次浏览
876人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务