Tcp/ip三次握手过程

在了解什么是三次握手之前,我们将通过一系列术语并理解它们。我们将逐步走向
tcp三次握手。如果您觉得自己对本教程中的内容不了解,可以通过slashmaster@slashroot.in将您的quries邮寄给我。


首先让我们知道什么是TCP。

大多数人已经知道传输控制协议是它的完整形式。现在让我们了解传输控制协议究竟是什么。
这个名称确实告诉我们,它是以可靠的方式控制数据传输的东西。
让我们了解当网络中的两台机器相互通信时,TCP何时何地发挥作用。

市场上现有的每个操作系统,无论是Windows,Linux,Mac,Unix还是Symbian,Android,Ios等移动操作系统,都
包含了tcp堆栈。如果操作系统的内核没有内置TCP网络堆栈,则
该设备与其他设备之间不可能发生通信
TCP堆栈包含以下内容。TCP堆栈中的内容存在于层中,它们如下所示。

不同的TCP层

第5层这是我们的应用程序尝试与服务器建立连接的层。例如,假设
您的计算机上安装Firefox浏览器,并且您正尝试与www.google.com建立连接。现在,浏览器知道如何打开临时端口并请求连接到
www.google.com服务器上的80端口。此层称为应用程序层,我们所有应用程序都尝试建立连接。无论是浏览器,ftp客户端,ssh客户端
等。


第4层这是我们的主题进入图片的层,该层被命名为传输层,该层有两个协议(TCP,UDP)。的任何一方
可以使用,大多数在我们的日常生活中我们使用TCP(因为大多数应用程序需要TCP提供的可靠连接)。例如,也
使用UDP作为查询DNS服务器我们通常使用UDP协议。大多数人一定听说过网络中的段或MSS(最大段大小),现在TCP通过
称为带重传(PAR)的肯定确认来提供通信的可靠性。

现在,使用PAR的系统会重新发送数据,除非它确认数据到达目的地是正常的。传输层中的数据块
称为段。机器发送的每个段还包含校验和,用于检查在接收方结束时收到的数据是否正确。如果收到数据
在接收方端没有损坏,然后接收方发送肯定确认,如果它被损坏,则接收方丢弃该段(并且发送方
重新发送未收到肯定确认的所有段)。

现在有一个重要的问题。为什么三方握手称为三方握手??????????


因为在发送方和接收方之间交换了三个网段,以便建立可靠的TCP连接。

TCP握手

我将逐一详细解释上述三个步骤。

步骤 1:机器1想要启动与机器2的连接,因此机器1发送具有SYN(同步序列号)的段。该段将通知机器2机器1想要开始与机器2的通信并且通知机器2它将开始其段的序列号。

注意:序列号主要用于按顺序保存数据。

步骤2:机器2将响应机器1并设置“确认”(ACK)和SYN位。现在机器2的ACK段做了两件事; 他们如下。

它承认机器1的SYN段。

2.它通知机器1它将启动其数据的序列号。

 

步骤3:现在终于机器1确认机器2的初始序列号及其ACK信号。然后机器1将启动实际的数据传输。

 

注意:在启动两台机器之间的连接时随机选择初始序列号。

 

 

 

Written on September 18, 2017