全国笔记本、surface寄修淘宝店:15weixiu.taobao.com

当前位置:IT门户网 > 网络知识 > 网络技术 >

第二次挥手(ACK=1

时间:2021-07-22    来源:IT门户网    人气:

认真域名理会的DNS 处事

首先,用户会见一个域名,会颠末DNS理会DNS(Domain Name System),它和 HTTP 协议一样是位于应用层的协议,主要提供域名到IP 的理会处事。我们其实不消域名也可以会见方针主机的处事,可是 IP 自己不是那么容易记,所以利用域名举办替换使得用户更容易记着。

HTTP 协议通信道理

域名被乐成理会今后,客户端和处事端之间,是怎么成立毗连而且如何通信的呢?说到通信,各人必然听过 tcp 和 udp 这两种通信协议,以及成立毗连的握手进程。而 http 协议的通信是基于 tcp/ip 协议之上的一个应用层协议,应用层协议除了 http 尚有哪些呢(FTP、DNS、SMTP、Telnet 等)。

涉及到网络协议,我们必然需要知道 OSI 七层网络模子和 TCP/IP 四层观念模子,OSI 七层网络模子包括(应用层、暗示层、会话层、传输层、网络层、数据链路层、物理层)、TCP/IP 四层观念模子包括(应用层、传输层、网络层、数据链路层)。

请求提倡进程中,在 tcp/ip 四层网络模子中所做的工作

当应用措施用 T C P 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被看成一串比特流送入网络。个中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)

吸收端收到数据包今后的处理惩罚进程

当目标主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议都要去查抄报文首部中的协议标识,以确定吸收数据的上层协议。

TCP/IP 协议的深入阐明

TCP 握手协议

所以 TCP 动静的靠得住性首先来自于有效的毗连成立,所以在数据举办传输前,需要通过三次握手成立一个毗连,所谓的三次握手,就是在成立 TCP 链接时,需要客户端和处事端总共发送 3 个包来确认毗连的成立,在 socket 编程中,这个进程由客户端执行 connect 来触发

第 一 次 握 手(SYN=1, seq=x)客 户 端 发 送 一 个TCP 的 SYN 符号位置 1 的包,指明客户端规划毗连的处事器的端口,以及初始序号 X ,生存在 包 头 的 序 列 号(Sequence

Number)字段里 。发送完毕后,客户端 进 入SYN_SEND 状态。

第 二 次 握 手(SYN=1, ACK=1,seq=y,ACKnum=x+1):处事器发回确认包(ACK) 应 答 。 即SYN 标 志 位 和ACK 符号位均为1。处事器端选择本身 ISN 序列号,放到 Seq 域里,同时将 确 认 序 号(Acknowledgement Number)配置为客户的 ISN 加 1,即 X+1。发送完毕后,处事器 端 进 入SYN_RCVD 状态。

第 三 次 握 手(ACK=1 ,ACKnum=y+1)客户端再次发送确认包(ACK),SYN 符号位为 0,ACK 符号位为 1,而且把处事器发来 ACK 的序号字段+1,放在确定字段中发送给对方,而且在数据段放写 ISN 发完毕后 , 客 户 端 进 入ESTABLISHED 状态,当处事器端吸收到这个包时,也进 入ESTABLISHED 状态,TCP 握手竣事。

TCP 四次挥手协议

四次挥手暗示 TCP 断开毗连的时候,需要客户端和处事端总共发送 4 个包以确认毗连的断开;客户端或处事器均可主动提倡挥手行动(因为 TCP 是一个全双工协议),在 socket 编程中,任何一方执行 close() 操纵即可发生挥手操纵。

第一次挥手(FIN=1,seq=x)假设客户端想要封锁毗连,客户端发送一个 FIN 符号位置为 1 的包,暗示本身已经没有数据可以发送了,可是仍然可以接管数据。发送完毕后,客户端进入 FIN_WAIT_1 状态。

第二次挥手(ACK=1,ACKnum=x+1)处事器端确认客户端的 FIN 包,发送一个确认包,表白本身接管到了客户端封锁毗连的请求,但还没有筹备好封锁毗连。发送完毕后,处事器端进入 CLOSE_WAIT 状态,客户端吸收到这个确认包之后,进入 FIN_WAIT_2 状态,期待处事器端封锁毗连。

第三次挥手(FIN=1,seq=w)处事器端筹备好封锁毗连时,向客户端发送竣事毗连请求,FIN 置为 1。发送完毕后,处事器端进入 LAST_ACK 状态,期待来自客户端的最后一个 ACK。

第四次挥手(ACK=1,ACKnum=w+1)客户端吸收到来自处事器端的封锁请求,发送一个确认包,并进入 TIME_WAIT 状态,期待大概呈现的要求重传的 ACK 包。处事器端吸收到这个确认包之后,封锁毗连,进入 CLOSED 状态。客户端期待了某个固按时间(两个最大段生命周期,2MSL,2 Maximum Segment Lifetime)之后,没有收随处事器端的 ACK,认为处事器端已经正常封锁毗连,于是本身也封锁毗连,进入 CLOSED 状态。

假设 Client 端提倡间断毗连请求,也就是发送 FIN 报文。Server 端接到 FIN 报文后,意思是说"我 Client 端没有数据要发给你了",可是假如你尚有数据没有发送完成,则不必急着封锁Socket,可以继承发送数据。所以你先发送 ACK,"汇报 Client 端,你的请求我收到了,可是我还没筹备好,请继承你等我的动静"。这个时候 Client 端就进入 FIN_WAIT 状态,继承期待Server 端的 FIN 报文。当 Server 端确定命据已发送完成,则向 Client 端发送 FIN 报文,"汇报 Client 端,好了,我这边数据发完了,筹备好封锁毗连了"。Client 端收到 FIN 报文后,"就知道可以封锁毗连了,可是他照旧不相信网络,怕 Server 端不知道要封锁,所以发送 ACK 后进入 TIME_WAIT 状态,假如 Server 端没有收到 ACK 则可以重传。“,Server 端收到 ACK 后,"就知道可以断开毗连了"。Client 端期待了 2MSL 后依然没有收到回覆,则证明 Server 端已正常封锁,那好,我 Client 端也可以封锁毗连了。Ok,TCP 毗连就这样封锁了!

【问题 1】为什么毗连的时候是三次握手,封锁的时候却是四次握手?

相关文章

  • 后两个数字没有分类的作用

    后两个数字没有分类的作用

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )处事器传输超文本到本...
    2021-07-22 02.07.05
  • 也能够正常的播放

    也能够正常的播放

    在措施员口试中,有一个常常被问到的网络协议,那即是TCP与UDP,大概TCP各人都较量熟悉,三次握手四次挥手,对付...
    2021-07-22 02.07.49
  • 但没有返回任何内容; 205 服务器成功处理了请求

    但没有返回任何内容; 205 服务器成功处理了请求

    在进修网页设计的时候都应该知道状态码,但我们常见的状态码都是200,404,下面先容其他的状态值 1开头的http状态码...
    2021-07-22 02.07.40
  • PC1配置的网关地址是192.168.1.1

    PC1配置的网关地址是192.168.1.1

    我们都知道差异网段的PC之间要实现互通,中间必需要接个具有三层成果的设备,因为只有三层设备(凡是是路由器)...
    2021-07-22 02.07.36
  • Linux一键配置工具ezhttp介绍

    Linux一键配置工具ezhttp介绍

    简介: ezhttp是一个linux一键配置工具,采用bash脚本语言编写。支持自动配置LAMP,LNMP,LNAMP环境,以前提供各种其它的配...
    2021-07-19 11.07.15

网络技术排行榜

更多>>

网络知识排行榜

更多>>

系统教程排行榜

更多>>

微信号