TCP/IP三次握手,四次挥手

TCP连接的建立3次握手 

服务器端通常处于监听状态即LISTEN,accept()处于阻塞状态 

当客户端连接服务器端时此时客户端的connect()刚刚调用并处于阻塞状态, 

将会触发以下事件: 

首先客户端的应用程序将会使tcp进程发送SYN,MSS,此时客户端将会处于SYN_SENT 

网络传输给服务器端后,服务器端tcp接收到后服务器端将会由LISTEN状态变为SYN_RCVD 

然后服务器端也会发送一个SYN,MSS还有一个ACK,注意这个ACK是客户端发送的SYN值加1 

客户端在接收到服务器端的SYN,MSS,ACK核对无误后将会由SYN_SENT状态变为ESTABLILSHED 

此时客户端的connect()函数将会返回不再处于阻塞状态,同时客户端发送ACK,此ACK是服务器端 

发送的SYN值加1,服务器端在接收到客户端的ACK核对无误后,accept()将从阻塞状态返回, 

同时read()处于阻塞状态。此时连接已经建立


TCP断开连接4次挥手 

当一端数据已经发送完了,就会将本端的tcp断开掉通常是客户端主动断开 

这种情况同时是客户端应用程序调用close(fd)关闭套接字,这将触发tcp进程发送 

FIN,此时客户端将会处于FIN_WAIT_1,服务器端在接收到这个FIN后将会处于close_wait()状态 

同时read()return 0,然后服务器端将会发送ACK 值为客户端发送的FIN值加1,客户端在接收到 

服务器端发送给它的ACK后将会处于FIN_WAIT_2然后服务器端将 

客户端的文件描述符读端关闭,此时服务器端可能还会有未发送的数据,通常会悄悄丢弃掉,然后 

关闭客户端描述符close(),然后服务器端tcp进程将会发送FIN此时服务器端将会处于LAST_ACK状态 

客户端在接收到服务器端发送的FIN后将会由FIN_WAIT_2状态变为TIME_WAIT状态,同时发送ACK值为 

客户端发送的FIN值加1,服务器端在接收到客户端发送的ACK后核对无误后将由LAST_ACK状态变为 

CLOSED状态。注意客户端在处于TIME_WAIT状态时要经历2个MSL时间才会将状态变为CLOSED通常这个 

等待的时间为60秒


TCP报文首部中有标识位,共6个:

URG:紧急指针(urgent pointer)有效。

ACK:确认序号有效。

PSH:接收方应该尽快将这个报文交给应用层。

RST:重置连接。

SYN:发起一个新连接。

FIN:释放一个连接。

客户端主动建立连接并关闭,首先客户端和服务器处于close状态。然后客户端发送SYN同步位,此时客户端处于SYN-SEND状态,服务器处于lISTEN状态,当服务器收到SYN以后,向客户端发送同步位SYN和确认码ACK,然后服务器变为SYN-RCVD,客户端收到服务器发来的SYN和ACK后,客户端的状态变成ESTABLISHED(已建立连接),客户端再-向服务器发送ACK确认码,服务器接收到以后也变成ESTABLISHED,然后服务器客户端开始数据传输。

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

推荐阅读更多精彩内容

  • 最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看...
    微醺岁月阅读 9,542评论 4 128
  • 1、TCP状态linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lso...
    北辰青阅读 9,437评论 0 11
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,076评论 6 174
  • 1 概述 要了解三次握手&四次挥手的过程,就需要对TCP的报头以及有限状态机的概念有所了解,本文将介绍TCP报头的...
    ghbsunny阅读 1,062评论 0 3
  • 你用你的圣洁 在我的生命里 下起一场雪 无声无息,铺天盖地 拥我入怀 你的泪水 打湿我的衣襟 我所有的坚硬 化作温...
    Love_999阅读 265评论 0 2