当前位置: 首页 > news >正文

阳山做网站/优化网站技术

阳山做网站,优化网站技术,小说推文推广平台,四川省建设安全协会网站Tcp连接 : 建立&断开 - 3次握手 4次挥手一、报文的格式二、建立Tcp连接(3次握手)1、过程2、3次握手 - 目的三、断开TCP连接(4次挥手)1、过程2、等待2MSL原因3、4次挥手 - 原因传输控制协议(TCP,Transmi…

Tcp连接 : 建立&断开 - 3次握手 4次挥手

  • 一、报文的格式
  • 二、建立Tcp连接(3次握手)
    • 1、过程
    • 2、3次握手 - 目的
  • 三、断开TCP连接(4次挥手)
    • 1、过程
    • 2、等待2MSL原因
    • 3、4次挥手 - 原因

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

一、报文的格式

报文格式
1、源端口 & 目标端口

① 端口

  • 在一台机器上,一个进程对应一个端口。端口的作用就是用来唯一标识这个进程。有了端口号,接受到报文后才能够知道将报文发送到哪个进程。

② 源端口

  • 源端口标识发起通信的那个进程

③ 目的端口

  • 目的端口标识接受通信的那个进程。

2、序号(Seq)

  • 序号:Seq(Sequence Number)序号占32位,用来标识从计算机A发送到计算机B的数据包的序号,计算机发送数据时对此进行标记。

3、确认号(Ack)

  • 确认号:Ack(Acknowledge Number)确认号占32位,客户端和服务器端都可以发送,Ack = Seq + 1。

4、标志位

  • 标志位:每个标志位占用1Bit,共有6个,分别为 URG、ACK、PSH、RST、SYN、FIN,具体含义如下:
标志位英文含义
SYNSyncronization同步位,一般用于建立一个新连接
FINFinish完成符,表示断开一个连接
URGUrge紧急位,设置为1时,首部中的紧急指针有效;为0时,紧急指针没有意义。
ACKAcknowledge确认 (响应) 符,表示发来的数据已确认接收无误。
PSHPush传输符,表示有 DATA数据传输
RSTReset复位符,表示连接重置,用以异常的关闭连接。

二、建立Tcp连接(3次握手)

建立Tcp连接(3次握手)

1、过程

① 第一次握手

建立连接时,客户端发送SYN包,报文首部中的同步序号SYN=1,同时选择一个初始序列号 seq=x 到服务器,并进入SYN_SENT状态,等待服务器确认。

② 第二次握手

TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时,TCP服务器进程进入了SYN_RCVD(同步收到)状态。

③ 第三次握手

客户端收到服务器的SYN+ACK包后,还要向服务器发送确认报文(ACK=1,ack=y+1,自己的序列号seq=x+1),此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态此包发送完毕,完成三次握手。

2、3次握手 - 目的

  • 客户端发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达服务器。

  • 本来这是一个早已失效的报文段。但服务器收到此失效的连接请求报文段后,就误认为是客户端再次发出的一个新的连接请求。于是就向客户端发出确认报文段,同意建立连接。

  • 客户端不会向服务器的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。

三、断开TCP连接(4次挥手)

断开TCP连接(4次挥手)

1、过程

① 第一次挥手

Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

② 第二次挥手

Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。

③ 第三次挥手

Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

④ 第四次挥手

Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1, Server进入CLOSED状态,完成四次挥手。

2、等待2MSL原因

MSL是Maximum Segment Lifetime英文的缩写,即"报文最大生存时间", 他是任何报文在网络中存在的最长时间,超过这个时间报文将被丢弃。2MSL即2倍的报文最大存活时间。

  • 当主动发起关闭方发送完最后一个ACK包后无法确认对方是否有收到这个ACK包,所以2MSL的时间能保证如果对方没收到会重发第三次挥手的FIN包,且这个包有足够的时候发送回来。

  • 如果在这个时间内还没收到重发的FIN包,便可以证明对方已收到该ACK包。在TIME_WAIT状态时两端的端口不能使用,要等到2MSL时间结束才可继续使用。当连接处于2MSL等待阶段时任何迟到的报文段都将被丢弃。

  • 在实际应用中可以通过设置SO_REUSEADDR选项达到不必等待2MSL时间结束再使用此端口。

3、4次挥手 - 原因

  • 因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。

  • 但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。

  • 只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

http://www.jmfq.cn/news/5027797.html

相关文章:

  • 设计网站/广州网站建设公司
  • 宣讲家网站做四讲四有模范/东莞seo快速排名
  • 建设一个网站/免费引流推广
  • 网站建设站点/怎么在百度上做广告推广
  • 新余 网站建设/出售网站平台
  • 苏州网站搜索引擎优化/seo招聘职责
  • 做网站需要注册公司吗/广州seo
  • 网站建设投标书免费/优化网站推广教程排名
  • 注册一个5000万空壳公司要多少钱/上海seo推广外包
  • 做生存曲线的网站/信息流优化师证书
  • 公司简介结尾怎么写/seo关键词优化软件官网
  • 移动端购物网站建设/泉州全网营销推广
  • 建设网站要学编程吗/如何让自己的网站快速被百度收录
  • 郑州网站建设zhuotop/seo搜索优化 指数
  • 常德德山经开区建设局网站/广告外链购买平台
  • 网站百度收录变少/关键词排名查询网站
  • 揭阳网站建设方案托管/优秀网站
  • 网站建设电话销售术语/百度推广后台登陆官网
  • 镇江网站建设网站/口碑营销ppt
  • 郑州网站建设哪家公司好/下载百度app免费下载安装
  • 广州做营销型网站哪家好/线上营销公司
  • 购物网站产品做促销能赚钱吗/上往建站
  • 龙华网站建设设计/seo外包公司需要什么
  • 国内专业做网站/广州关键词排名推广
  • 怎么做辅助发卡网站/种子搜索神器 bt 下载
  • 手机上怎么做能打开的网站吗/中国免费域名注册平台
  • 万网做网站如何下载模板/企业网站的推广方法有哪些
  • 海淀区手机网站设计服务6/活动推广方式
  • 坊网站建设/app有哪些推广方式
  • 百度广告联盟电话/石家庄seo公司