皇冠体育app

设为首页 - 加入收藏 我爱资讯网 (http://119zzxfpf.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 发布 实现 美国 中国
当前位置: 首页 > 站长资讯 > 外闻 > 正文

bet皇冠体育网站 皇冠体育在线官网 —— TCP bet皇冠体育网站与皇冠体育备用网址

发布时间:2019-08-29 00:30 所属栏目:[外闻] 来源:ciphersaw
导读:0x00 前言 本文先介绍因特网的核心协议 TCP ,再以 bet皇冠体育网站 的 socket 模块为例介绍网络套接字,最后给出 TCP bet皇冠体育网站与皇冠体育备用网址的 bet皇冠体育网站 脚本,并演示两者之间的通信过程。 0x01 TCP 协议 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接、

 bet皇冠体育网站 皇冠体育在线官网 —— TCP bet皇冠体育网站与皇冠体育备用网址

0x00 前言

本文先介绍因特网的核心协议 TCP ,再以 bet皇冠体育网站 的 socket 模块为例介绍网络套接字,最后给出 TCP bet皇冠体育网站与皇冠体育备用网址的 bet皇冠体育网站 脚本,并演示两者之间的通信过程。

0x01 TCP 协议

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

TCP 协议的执行过程分为连接创建(Connection Establishment)、数据传送(Data Transfer)和连接终止(Connection Termination)三个阶段,其中「连接创建」与「连接终止」分别是耳熟能详的 TCP 协议三次握手(TCP Three-way Handshake)与四次挥手(TCP Four-way Handshake),也是理解本文 TCP bet皇冠体育网站与皇冠体育备用网址通信过程的两个核心阶段。

为了能更好地理解下述过程,对 TCP 协议头的关键区段做以下几点说明:

  • 报文的功能在 TCP 协议头的标记符(Flags)区段中定义,该区段位于第 104~111 比特位,共占 8 比特,每个比特位对应一种功能,置 1 代表开启,置 0 代表关闭。例如,SYN 报文的标记符为 00000010,ACK 报文的标记符为 00010000,ACK + SYN 报文的标记符为 00010010。
  • 报文的序列号在 TCP 协议头的序列号(Sequence Number)区段中定义,该区段位于第 32~63 比特位,共占 32 比特。例如,在「三次握手」过程中,初始序列号 seq 由数据发送方随机生成。
  • 报文的确认号在 TCP 协议头的确认号(Acknowledgement Number)区段中定义,该区段位于第 64~95 比特位,共占 32 比特。例如,在「三次握手」过程中,确认号ack 为前序接收报文的序列号加 1,代表下一次期望接收到的报文序列号。

连接创建

所谓的「三次握手」,即 TCP bet皇冠体育网站与皇冠体育备用网址成功建立通信连接必经的三个步骤,共需通过三个报文完成。

一般而言,首先发送 SYN 报文的一方是皇冠体育备用网址,bet皇冠体育网站则是监听来自皇冠体育备用网址的建立连接请求。

Handshake Step 1

皇冠体育备用网址向bet皇冠体育网站发送 SYN 报文(SYN=1)请求建立连接。

此时报文的初始序列号为 seq = x ,确认号为ack = 0,发送完毕后,皇冠体育备用网址进入 SYN_SENT 状态。

Handshake Step 2

bet皇冠体育网站接收到皇冠体育备用网址的 SYN 报文后,发送 ACK + SYN 报文(ACK=1,SYN=1)确认皇冠体育备用网址的建立连接请求,并也向其发起建立连接请求。

此时报文的序列号为 seq = y,确认号为 ack = x+1,发送完毕后,bet皇冠体育网站进入 SYN_RCVD状态。

Handshake Step 3

皇冠体育备用网址接收到bet皇冠体育网站的 SYN 报文后,发送 ACK 报文(ACK=1)确认bet皇冠体育网站的建立连接请求。

此时报文的序列号为 seq=x+1,确认号为 ack=y+1。发送完毕后,皇冠体育备用网址进入 ESTABLISHED 状态;当bet皇冠体育网站接收该报文后,也进入了 ESTABLISHED 状态。

至此,「三次握手」过程全部结束,TCP 通信连接成功建立。

读者可参照以下「三次握手」的示意图进行理解:

bet皇冠体育网站 皇冠体育在线官网 —— TCP bet皇冠体育网站与皇冠体育备用网址

连接终止(Connection Termination)

所谓的「四次挥手」,即 TCP bet皇冠体育网站与皇冠体育备用网址完全终止通信连接必经的四个步骤,共需通过四个报文完成。

由于 TCP 通信连接是全双工的,因此每个方向的连接可以单独关闭,即可视为一对「二次挥手」,或一对单工连接。主动先发送 FIN 报文的一方,意味着想要关闭到另一方的通信连接,即在此方向上不再传输数据,但仍可以接收来自另一方传输过来的数据,直到另一方也发送 FIN 报文,双方的通信连接才完全终止。

注意,首先发送 FIN 报文的一方,既可以是皇冠体育备用网址,也可以是bet皇冠体育网站。下面以皇冠体育备用网址先发起关闭请求为例,对「四次挥手」的过程进行讲解。

Handshake Step 1

当皇冠体育备用网址不再向bet皇冠体育网站传输数据时,则向其发送 FIN 报文(FIN=1)请求关闭连接。

此时报文的初始序列号为 seq = u ,确认号为ack = 0,(若此报文中 ACK=1,则 ACK 的值与皇冠体育备用网址的前序接收报文有关)。发送完毕后,皇冠体育备用网址进入 FIN_WAIT_1 状态。

Handshake Step 2

bet皇冠体育网站接收到皇冠体育备用网址的 FIN 报文后,发送 ACK 报文(ACK = 1)确认皇冠体育备用网址的关闭连接请求。

此时报文的序列号为 seq = v, 确认号为ack = u + 1,发送完毕后,bet皇冠体育网站进入 CLOSE_WAIT 状态;当皇冠体育备用网址接收该报文后,进入 FIN_WAIT_2 状态。

注意,此时 TCP 通信连接处于半关闭状态,即皇冠体育备用网址不再向bet皇冠体育网站传输数据,但仍可以接收bet皇冠体育网站传输过来的数据。

Handshake Step 3

当bet皇冠体育网站不再向皇冠体育备用网址传输数据时,则向其发送 FIN + ACK 报文(FIN=1,ACK=1)请求关闭连接。

此时报文的序列号为 seq = w(若在半关闭状态,bet皇冠体育网站没有向皇冠体育备用网址传输过数据,则 seq = v+1 ),确认号为 ack = u+1。发送完毕后,bet皇冠体育网站进入 LAST_ACK 状态。

Handshake Step 4

皇冠体育备用网址接收到bet皇冠体育网站的 FIN + ACK 报文后,发送 ACK 报文(ACK = 1)确认bet皇冠体育网站的关闭连接请求。

此时报文的序列号为 seq=u+1,确认号为 ack=w+1。发送完毕后,皇冠体育备用网址进入 TIME_WAIT 状态;当bet皇冠体育网站接收该报文后,进入 CLOSED 状态;当皇冠体育备用网址等待了 2MSL 后,仍没接到bet皇冠体育网站的响应,则认为bet皇冠体育网站已正常关闭,自己也进入 CLOSED 状态。

至此,「四次挥手」过程全部结束,TCP 通信连接成功关闭。

读者可参照以下「四次挥手」的示意图进行理解:

bet皇冠体育网站 皇冠体育在线官网 —— TCP bet皇冠体育网站与皇冠体育备用网址

0x02 Network Socket

Network Socket(网络套接字)是计算机网络中进程间通信的数据流端点,广义上也代表操作系统提供的一种进程间通信机制。

进程间通信(Inter-Process Communication,IPC)的根本前提是能够唯一标示每个进程。在本地主机的进程间通信中,可以用 PID(进程 ID)唯一标示每个进程,但 PID 只在本地唯一,在网络中不同主机的 PID 则可能发生冲突,因此采用「IP 地址 + 传输层协议 + 端口号」的方式唯一标示网络中的一个进程。

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章

皇冠体育app