首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
何止hz
2020-09-11 14:15
已编辑
腾讯_cdg_后台开发
关注
已关注
取消关注
tcp三次握手,为什么不是两次,这个面试题到底该咋回答?
请教下各位牛油的答案,到底该怎么答?
我一般会回答,这是由tcp的机制决定的,只有通过三次握手,才能完成序列号的同步,用于后续的数据传输。
各位是咋回答的,想听听大佬们的标准答案。
提示
全部评论
推荐
最新
楼层
宝宝可乖了
米哈游_引擎开发
三次握手不是TCP独有的,所有的端到端的全双工通信要确认各自的发送和接受通道是畅通的,双发都至少需要两次交互,加起来就是4次。因为第二次被动方的确认回复和第三次的发送可以合并为一次,就变成三次交互了。
3
回复
分享
发布于 2020-09-11 21:43
我是真的菜得1P
字节跳动_基础架构_后端开发工程师
3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。 现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机S和C之间的通信,假定C给S发送一个连接请求分组,S收到了这个分组,并发 送了确认应答分组。按照两次握手的协定,S认为连接已经成功地建立了,可以开始发送数据分组。可是,C在S的应答分组在传输中被丢失的情况下,将不知道S 是否已准备好,不知道S建立什么样的序列号,C甚至怀疑S是否收到自己的连接请求分组。在这种情况下,C认为连接还未建立成功,将忽略S发来的任何数据分组,只等待连接确认应答分组。而S在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
3
回复
分享
发布于 2020-09-18 16:15
野猪佩琪🐗
西安交通大学 Java
大概意思是防止已失效的连接请求到达服务器建立连接浪费资源。计算机网络谢希仁教材作出了解释。
2
回复
分享
发布于 2020-09-11 14:48
繁花蓝
广州大学 前端工程师
假设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
E·M·T
天津工业大学 Java
https://mp.weixin.qq.com/s/rX3A_FA19n4pI9HicIEsXg 在快到页面中间的位置,很详细
2
回复
分享
发布于 2020-09-11 20:22
飞翔的鸵鸟
门头沟学院 C++
1. 两次握手会出现, 当第一次发送信号在网络中被隔置,第二次再发此时建立链接,断开链接后第一次链接信号又到了,此时会导致建立连接 2. 另外就是三手握手保证的是让对方知道我已经知道了,两次不行
1
回复
分享
发布于 2020-09-11 14:46
Keepen
西安工业大学 golang
我一般是通过举例加上分析来回答。 生活中:小明、小李 小明:在吗? 小李:在的(表示小李可以进行通信)(这就相当于是既应答了,也提问了) 小明:那个.....(表示小明现在也是在线的,因为可能上一步小李过了很久才回复小明,小明可能已经离线了) 可以进行数据通信了!!!!!!! 再下来就是分析包序啥的,个人觉得这样表达的就比较清晰了 仅供参考,大佬轻喷!!!😂
1
回复
分享
发布于 2020-09-11 16:51
我在上塘河边
浙江工业大学 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
啦啦啦啦咯咯
西安邮电大学 Java
我一般是从两次握手会引发的问题这个角度回答的
点赞
回复
分享
发布于 2020-09-11 14:26
拖泥带水
度小满_基础架构研发工程师
一个是死锁问题,一个是资源浪费问题。
点赞
回复
分享
发布于 2020-09-11 16:00
疯轻扬
阿里巴巴_CRO技术部_开发工程师
两个将军问题,本质是在不可靠信道上通过交换信息达到一致是不可能的,一致就是双方都建立连接
点赞
回复
分享
发布于 2020-09-11 19:48
牛客69143547号
哈尔滨工业大学(深圳) C++
m
点赞
回复
分享
发布于 2020-09-11 19:52
光辉岁月v
门头沟学院 golang
三次握手,应该叫三次报文交换,实际上是确认通信双方的收发数据能力,确认序列号,二次握手就确认tcp连接的话,客户端的收发能力可以确认,服务端不知道自己发的数据客户端能否收到,用三次握手既可高效(中间的SYN,ACK合并一起发),又可确保可靠。同理断开连接的四次挥手如果服务端已没有数据发送,也可退化成三挥
点赞
回复
分享
发布于 2020-09-11 22:38
还没有回复哦~
相关推荐
10-04 22:22
山西农业大学 Java
Java简历--问题汇总1
最近看了很多简历,做一个问题汇总:1、使用 CompletableFuture 优化首页査询模块,对文章列表、侧边栏、分类信息由串行调用改造为并行加载,响应时间从 1s 降低至 0.2s 疑问:每个内容板块都有一个接口返回内容快,还是一个接口返回所有的内容快? 2、采用自旋锁策略优化缓存架构,针对热 key 的并发访问进行同步,防止其失效时导致的缓存击穿 注释:我在网上找了一下自旋锁策略优化的案例 public class SpinLock { // 使用原子引用来避免可见性问题和竞态条件 private AtomicReference<Thread> owner ...
投递思源智通等公司10个岗位 >
八股文+场景题+算法真题
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
10-29 11:25
已编辑
#机械制造薪资爆料#
朗坤智慧
诊断工程师
11k
硕士211
点赞
评论
收藏
分享
10-25 10:10
湖北美术学院继续教育学院 测试工程师
朗坤智慧 | base南京
通知二面 , 这个公司咋样,网上风评很差,工资咋样,有知道的嘛
朗坤智慧二面2人在聊
点赞
评论
收藏
分享
10-12 17:28
东南大学 C++
统计一下南京vivo池子大小
投票
Java开发安卓方向感觉池子不小啊,南京大概多少hc 啊
点赞
评论
收藏
分享
10-21 18:16
已编辑
门头沟学院 Java
帮简历优化 Java后端 @牛客464076674号
@牛客464076674号 个人认为你简历应该是才开始写,有些细节没注意好。加油慢慢完善~ 另外金九银十差不多已经过了,剩下的岗位没之前的多,现在的策略建议是不要着急,用长的时间跨度不断完善简历,蹲更想要的实习岗位。 待修改简历: 下面给出我的建议,按存在问题 + 修改意见来组织语言。 (1)书写细节 Springboot改为SpringBoot、实践经历改为项目经历、可以去掉换行的;。美观些 逗号有些是英文逗号,有些是中文逗号,不要粗心了 英文技术关键词有些和中文之间有空格,有些又没有,统一加上空格 (2)项目描述 项目描述过于简单,只是潦草交代了有什么功能。 首先这个项目有多少人参与,如...
投递牛客等公司10个岗位 >
点赞
评论
收藏
分享
点赞成功,聊一聊 >
3
41
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
你会反问面试官吗❓
2.0W
2
...
🎓三大就业协议全解析,帮你避开签约雷区🚀
1.4W
3
...
今年秋招真的是下猛药了。。
1.1W
4
...
去哪儿还愿
7145
5
...
秋招孔乙己
6531
6
...
11.05校招&实习招聘信息汇总
4985
7
...
我居然给妈妈花钱还犹豫了
4570
8
...
荣耀
4559
9
...
发明泡池子的人真是个天才
4419
10
...
同事发咖啡略过我。。。
4213
正在热议
#
25届秋招公司红黑榜
#
83066次浏览
502人参与
#
双非能在秋招上岸吗?
#
24797次浏览
162人参与
#
简历被挂麻了,求建议
#
2316350次浏览
31950人参与
#
秋招拿一个offer可以躺平吗
#
82485次浏览
670人参与
#
你的秋招进展怎么样了
#
1579355次浏览
24150人参与
#
求职你最看重什么?
#
11906次浏览
97人参与
#
如果能重来,就业or读研你选哪个?
#
27377次浏览
225人参与
#
如何一边实习一边秋招
#
933886次浏览
12050人参与
#
软开人,秋招你打算投哪些公司呢
#
33707次浏览
399人参与
#
如何看待offer收割机的行为
#
499515次浏览
4909人参与
#
网易求职进展汇总
#
20239次浏览
165人参与
#
反问环节如何提问
#
57832次浏览
1476人参与
#
如果实习可以转正,你会不会放弃秋招
#
185750次浏览
2638人参与
#
实习与准备秋招该如何平衡
#
629910次浏览
7616人参与
#
应届生应该先就业还是先择业
#
42434次浏览
250人参与
#
简历无回复,你会继续海投还是优化再投?
#
42043次浏览
525人参与
#
非技术投递记录
#
408699次浏览
5417人参与
#
远程面试的尴尬瞬间
#
9958次浏览
166人参与
#
你会选择考研还是直接就业
#
159530次浏览
1760人参与
#
如果可以,你希望哪个公司来捞你
#
25609次浏览
165人参与
牛客网
牛客企业服务