首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
课程
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
在迎接offer的候选人1
西安工程大学 计算机类
关注
已关注
取消关注
@黎笛:
【重点讲解】三次握手
三次握手TCP协议目的是为了保证数据能够在两端准确连续的流动,可以想象两个建立起TCP通道的设备如同接起了一根水管,数据就是水管种的水由一头流向了另一头。然而TCP为了能让一个设备连接多个水管,也就是让一个设备同时与多个设备交互信息,它必须保证不同水管之间不能产生串联或相互影响。为了确保数据能够正确分发,TCP用一种叫TCB(传输控制块)的数据结构把发给不同设备的数据封装起来,我们可以把该结构看作是信封。一个TCB数据块包含了数据发送双方对应的socket信息以及拥有装载数据的缓冲区。在两个设备要建立连接发送数据之前,双方都必须做一些准备–分配内存建立起TCB数据块0)准备工作最开始的客户端和服务器都处于CLOSE状态。主动打开连接的是客户端,被动打开的是服务器TCP服务器进程先创建传输控制块TCB,时刻准备接收客户端进程的请求,此时服务器就进入LISTEN状态1)一次握手TCP客户端也是先创建了传输控制块TCB,然后向服务器发出连接请求报文,SYN,报文首部种的同部位(SYN=1),同时选择一个序列号seq=x此时,TCP进入SYN-SENT(同步已发送状态)。TCP规定,SYN报文段不能携带数据,但需要消耗一个序号如果是发送,则需要发送一个标志位SYN=1,同时选择一个初始序列号seq=x(随机,客户端或服务器每发送一次+1)2)二次握手TCP服务器收到请求报文后,如果同意连接,则发出确认报文。收到报文,则需要发送一个确认标志位ACK=1,并且确认序列号ack=x+1,然后发出报文,需要一个发送标志位SYN=1,同时选择一个初始序列号seq=y(随机)3)TCP客户端收到确认后,还要向服务器给出确认。收到报文,发送一个确认标志位ACK=1,确认序列号ack=y+1,seq=x+1 。为什么TCP客户端还要最后再发一次确认呢主要防止已经失效的连接请求报文又突然传送到了服务器,从而产生错误四次挥手数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于established状态。然后客户端主动关闭,服务器被动关闭。1)TCP客户端收到一个FIN(关闭连接),用来关闭客户端到服务器的数据传送2)服务器收到这个FIN,它发回一个ACK客户端发送完所有的数据,请求关闭连接,向服务器申请关闭,但与此同时,服务器未必就把所有的数据全部向客户端发送完毕,所以在第二步和第三步之间,服务器可以继续数据传输3)服务器关闭客户端的连接,发送一个FIN给客户端4)客户端发回ACK报文确认,并将确认序号设置为收到序号+1为什么客户端最后还要等待2MSL去向ACK消息最大存活时间(MSL)+ 来向FIN消息的最大存活时间(MSL)第一,保证客户端发送的最后一个ACK报文能够到达服务器第二,释放的端口可能重连刚断开的服务器端口,这样依然存活在网络里的老的TCP报文可能与新的TCP连接报文冲突如果已经建立连接了,但是客户端突然出现故障了怎么办TCP还设有一个保活计时器。客户端出现故障,服务器不能一直等下去12.TCP协议是如何保证可靠传输的数据包校验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时 TCP 发送数据端超时后会重发数据;对失序数据包重排序:既然 TCP 报文段作为 IP 数据报来传输,而 IP 数据报的到达可能会失序,因此 TCP 报文段的到达也可能会失序。TCP 将对失序数据进行重新排序,然后才交给应用层;丢弃重复数据:对于重复数据,能够丢弃重复数据;应答机制:当 TCP 收到发自 TCP 连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;超时重发:当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;流量控制:TCP 连接的每一方都有固定大小的缓冲空间。TCP 的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP 使用的流量控制协议是可变大小的滑动窗口协议。
点赞 3
评论 1
全部评论
推荐
最新
楼层
国泰君安
校招火热招聘中
官网直投
相关推荐
是单身打工鸭
06-04 18:38
长春理工大学 中国语言文学类
联想产品经理实习面经
面试时长30分钟,视频面试。问题:1)自我介绍,2)之前项目中如何进行需求收集,3)是否遇到过与用户沟通的困难以及如何解决,4)领导是否提出过需求,5)英语水平如何,6)反问环节。
查看5道真题和解析
点赞
评论
收藏
分享
小松鼠想赖床
06-09 22:40
深度学习
保融科技工作体验
我是去年进的保融,上下班时间不是很固定,具体根据项目情况来看,公司整体氛围较好,比较稳定,疫情期间没有断发过工资,反而还有涨薪;加班看工作情况吧,有合理的晋升渠道,有付出就有回报;团队看遇到的领导如何啦,有个不错的领导工作确实很好搞,不在杭州总部,每年也能收到节假日礼品,生日大礼包等
投递保融科技等公司10个岗位 >
点赞
评论
收藏
分享
Noe1017
04-17 13:35
美团_大数据开发
不用面试也能拿Offer?
前程无忧太幽默了
点赞
评论
收藏
分享
漫长白日梦
06-04 12:04
已编辑
门头沟学院 计算机类
计算机专业可以去哪些央国企(总论篇)?
1.银行国有行总体架构:总行、直属中心、省分行、计划单列市、市行、支行网点、专业子公司三大政策行:农发/国开/进出口人民银行:直属单位/省本部/市分行(需参加国考,公务员编制)六大国有行:工农中建交邮十二家全国性股份制银行:招商/浦发/兴业/中信/民生/光大/平安/华夏/广发/浙商/渤海/恒丰银行一百余家地方城商行:江苏/北京/宁波/上海/南京/成都/杭州/徽商/长沙/苏州银行等千余家地方农商行(农信社):深圳/重庆/武汉/长沙/广州/四川/安徽/海南农商行等四十九家外资银行:渣打/花旗/花旗/德意志/摩根大通/东方汇理/三菱日联银行等十九家民营银行:微众/华瑞/民商银行等,但并不算国企2.运...
投递中国中铁等公司7个岗位 >
点赞
评论
收藏
分享
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
24届985计算机废物春招感想(央国企、银行)
1.8W
2
...
问一下大家的实习薪资是多少?
8818
3
...
有个好导师真幸福
5445
4
...
美团 实习
5106
5
...
颇有感慨
4474
6
...
导师不放实习,实习偷跑一个月经历
3817
7
...
【💰有奖征集】软件开发笔面经邀你来分享!🙋♂️
3217
8
...
许愿今天收到华子offer
3133
9
...
华为 泡死了
2560
10
...
当我终于爬上山峰,眼前却是迷路丛生
2355
正在热议
#
和牛牛一起刷题打卡
#
32596次浏览
2290人参与
#
你的简历改到第几版了
#
341651次浏览
5121人参与
#
OPPO开奖
#
43309次浏览
601人参与
#
牛客帮帮团来啦!有问必答
#
1240081次浏览
17868人参与
#
你的秋招进展怎么样了
#
579819次浏览
14128人参与
#
你觉得今年秋招难吗
#
340311次浏览
6065人参与
#
不去互联网可以去金融科技
#
38608次浏览
436人参与
#
数据人的面试交流地
#
214821次浏览
4407人参与
#
软件开发笔面经
#
13429次浏览
365人参与
#
参加过提前批的机械人,你们还参加秋招么
#
15198次浏览
361人参与
#
硬件打工人的必备素养
#
5569次浏览
56人参与
#
你最多能接受一周加班几个小时
#
4773次浏览
51人参与
#
我在牛爱网找对象
#
62127次浏览
489人参与
#
你觉得通信/硬件有必要实习吗?
#
28235次浏览
469人参与
#
春招别灰心,我们一人来一句鼓励
#
31326次浏览
452人参与
#
公司情报交流地
#
13793次浏览
83人参与
#
你的秋招进行到哪一步了
#
414014次浏览
6846人参与
#
现在还是0offer,延毕还是备考
#
422197次浏览
4927人参与
#
24届软开秋招面试经验大赏
#
1205246次浏览
18386人参与
#
听劝,我这个简历该怎么改?
#
65346次浏览
662人参与
#
0offer是寒冬太冷还是我太菜
#
465005次浏览
5183人参与
#
职场上哪些事情令人讨厌
#
3365次浏览
25人参与
牛客网
牛客企业服务