关于TCP面试可能会问的问题

讲讲TCP协议

tcp是在OSI模型传输层中的可靠传输协议,通过三次握手建立连接,发送端对数据进行分组,然后通过套接字发送到缓存中,进行发送。接收端将报文段接收到接收缓存中,然后再读取数据。接收方通过滑动窗口通知发送方控制吞吐量。遇到数据包丢失了就会通过选择重传来重新获得数据包,数据传输完后进行四次挥手关闭连接。

讲讲为什么需要三次握手?四次分手?

首先握手为什么需要三次?3次握手的作用是让“收发双方都明确自己和对方的收发能力是正常的”。
第一次握手,客户端向服务器发送请求,服务器正确接收,那么服务器就知道了客户端的发送功能正常,自己的接收功能正常。
第二次握手,服务器向客户端发送请求,客户端正确接收,此时客户端知道了自己的收发功能都是正常的,服务器的收发功能也是正常的。但此时服务器还不知道自己的发送功能和客户端的接收功能如何。
第三次握手,客户端返回消息,服务器就知道了自己的收发和客户端的收发功能都是完好的了。
关于为什么要发送第三次,书上是这么说的:防止已经失效的连接请求报文段突然传送到服务器产生错误。(客户端发送了两次连接请求,第一次在路上耽误了,结果第二次的连接请求成功,发送完数据结束了。第一个连接到达,服务器又开启连接。有了第三次握手,服务器收到失效连接后再也收不到第三次握手就知道这是失效连接了)

补充:知乎上的大神说,防止失效连接只是表象,真正的原因是tcp建立连接需要同步通信双方数据原点的序列号,也就是双方开始发送字节的起始编号,客户端第三次握手是为了让服务器知道客户端已经接受了同步信号。具体分析搜索知乎问题:TCP 为什么是三次握手,而不是两次或四次?

个人见解,上述原因可能都是三次握手的原因,三次握手满足了多个需求,就是这么妙的设计?

为什么分手需要4次呢?客户端向服务器发送一个fin段,服务器返回一个ack段,此时客户端->服务器方向上的连接关闭了,但是服务器还能向客户端发送数据,发送结束后服务器发送一个fin段,客户端返回一个ack,等待2个MSL(最长报文段寿命)后关闭。
为什么客户端要等待2MSL再关闭,主要有两个原因:第一是确保客户端最后一个ack可以到达服务端,如果在途中丢失了,服务器会重发fin,这最大需要2MSL;第二是防止三次握手所说的“失效连接请求报文”,等待2个MSL后,本连接所有的请求都会消失。

具体说说TCP协议的传输过程吧

相关资料:
《计算机网络:自顶向下方法》
《计算机网络 第六版》 谢仁希

“三次握手,四次挥手”你真的懂吗?
讲的不错的计算机网络视频:计算机网络

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容