TCP三次握手建立连接和四次挥手断开连接(个人理解)

TCP三次握手建立连接和四次挥手断开连接(个人理解)

TCP协议通过三次握手的方式建立连接:

1.客户端(李二狗)发送SYN请求给服务器(小红):喂,小红,我是李二狗,我想和你说话

2.服务器收到SYN,并回复给客户端一个确认字段ACK:(我是小红),我听到了

3.客户端收到ACK字段,发送第二个SYN请求给服务器:嘿嘿,小红,我听到了,咱俩开聊吧,嘻嘻!

于是服务器将这个连接状态更改为established,并将连接加入backlog队列,等待应用层收取数据包。

三次握手的目的是互相确认双方之间的信道畅通,有互相发送消息的能力,不是聋子或者哑巴。

TCP协议通过四次挥手断开连接:

还是李二狗和小红,这次要说再见了:

1.客户端(李二狗)发送FIN请求给服务器(小红):小红我有点事儿先不跟你聊了吧,咱俩挂断吧,你还有啥想说的吗

2.服务器收到FIN,立刻回复一个确认字段ACK:嗯,那行吧。

3.服务器紧接着主动向客户端发送一个FIN请求:我也没啥想说的了,今天咱先这样吧。

4.客户端收到服务器发送的FIN请求,再次回复一个ACK确认字段:好,再见。

随后客户端仍然需要继续等待2MSL的时间,期间没有收到任何回复,再彻底断开连接。2MSL是网络报文在网络上存活的最长时间,一般是一个经验值,从30秒到几分钟不等:我再等等吧,万一小红那边有什么事没说呢,啊,等30秒了,什么也没收到,她应该确实是挂断了,我也挂了吧

双方就通过这样四次交互彻底断开连接。

之所以要四次挥手,就是要保证双方都收到了彼此的断开确认

要点:

1.如果因为网络故障,客户端多次发送了FIN,那么只要收到一个服务器的ACK,就可以确认服务器知道要断开了。如果服务器先回复FIN,那么客户端就不能保证这个FIN是因为自己发送的FIN而触发的。所以服务器必须先回复ACK

2.如果服务器不回复ACK,那么客户端可以继续单方面接收服务器发送的任何信息,这种连接叫做半连接

3.客户端在收到服务器的FIN之后,不回复ACK,服务器也可以继续单向接收客户端的信息,也继续保持半连接。

4.最后一个ACK,服务器因为网络故障,很久才收到,或者没有收到,只要在2MSL的时间内,都可以再次向客户端发送一次FIN,再确认一次,反复确认直到双方都确实断开了连接。

5(重点,考试要考的).在2MSL时间内,双方原来使用的通信端口不能再次建立连接,任何试图绑定该端口的SOCKET请求都会失败。因此,服务器应该设置允许2MSL复用端口,客户端应选择新的端口与服务器建立连接(一般操作系统会随机生成一个新端口,用户不必操心)

TCP协议这样设计的目的,就是为了最大限度的保证网络连接的可靠性。

以上都是个人的理解,凭借记忆的知识点手敲出来的,如有纰漏和错误请见谅

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

推荐阅读更多精彩内容