简述TCP协议建立连接的过程

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
简述TCP的三次握手过程。


TCP协议建立连接的过程:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和,有时也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

TCP协议建立连接的过程:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。
Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和,有时也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

1,tcp使用三次握手

three-way
handshake

协议来建立连接,这三次握手为:
请求端(通常称为客户)发送一个
syn
报文段(
syn

1
)指明客户打算连接的服务器的端口,以及初始顺序号(
isn
)。
服务器发回包含服务器的初始顺序号的
syn
报文段(
syn

1
)作为应答。同时,将确认号设置为客户的
isn

1
以对客户的
syn
报文段进行确认(
ack
也为
1
)。
客户必须将确认号设置为服务器的
isn

1
以对服务器的
syn
报文段进行确认(
ack

1
),该报文通知目的主机双方已完成连接建立。
  发送第一个
syn
的一端将执行主动打开(
active
open
),接收这个
syn
并发回下一个
syn
的另一端执行被动打开(
passive
open
)。另外,
tcp
的握手协议被精心设计为可以处理同时打开(
simultaneous
open
),对于同时打开它仅建立一条连接而不是两条连接。因此,连接可以由任一方或双方发起,一旦连接建立,数据就可以双向对等地流动,而没有所谓的主从关系。
 
2,应用层向tcp层发送用于网间传输的、用8位字节表示的数据流,然后tcp把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(mtu)的限制)。之后tcp把结果包传给ip层,由它来通过网络将包传送给接收端实体的tcp层。tcp为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ack);
如果发送端实体在合理的往返时延(rtt)内未收到确认,那么对应的数据(假设丢失了)将会被重传。tcp用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

当然是可以建立的



  • TCP协议建立连接的过程是怎样的?
    答:TCP协议建立连接的过程:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k)...
  • TCP连接建立过程
    答:在TCP/IP中,TCP协议通过三次握手来建立连接,从而提供可靠的连接服务。第一次握手:建立连接后,客户端向服务器发送syn包(syn=j),进入SYN_SEND状态,等待服务器确认;第二次握手:当服务器收到syn包时,必须确认客户端的syn(ack=j+1)并发送一个syn包(syn=k),即syn+ack包。此时,服...
  • 简述TCP协议建立连接的过程
    答:1,TCP使用三次握手 ( three-way handshake ) 协议来建立连接,这三次握手为: 请求端(通常称为客户)发送一个 SYN 报文段( SYN 为 1 )指明客户打算连接的服务器的端口,以及初始顺序号( ISN )。 服务器发回包含服务器的初始顺序号的 SYN 报文段( SYN 为 1 )作为应答。同时,将确认号...
  • 简述TCP协议建立连接的三次握手过程。
    答:【答案】:客户进程首先发送一个连接请求报文,向服务器进程请求建立通信连接,并通告自己的发送数据序号和接收窗口尺寸。服务器进程收到连接请求报文后,发回一个应答报文,通报自己的数据序号,确认发送方的数据序号,通报自己的接收窗口大小。客户进程收到连接应答报文后,再发回一个确认报文,确认对方的数...
  • 一个tcp连接过程分三个阶段
    答:一个TCP连接过程分为三个阶段,分别是连接建立阶段、数据传输阶段和连接终止阶段。在TCP中,一个完整的连接过程被明确地划分为三个阶段,每个阶段都有其特定的目的和功能。首先是连接建立阶段,也称作“三次握手”阶段。当客户端想要与服务器建立连接时,会首先发送一个SYN包给服务器,询问服务...
  • 2、 TCP是面向连接的协议,请描述连接建立的过程,并解释为何采用“三次...
    答:3) 客户必须将确认序号设置为服务器的I S N加1以对服务器的S Y N报文段进行确认(报文 段3)。这三个报文段完成连接的建立。这个过程也称为三次握手( three-way handshake)。至于为何使用三次握手? 两个报文握不上——没有对被动打开一方的确认,四个报文有点多余,三个正好 ...
  • 图解TCP建立连接全过程
    答:TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程。上图画出了TCP建立连接的过程。假定主机A是TCP客户端,B是服务端。最初两端的TCP进程都处于CLOSED状态。图中在主机下面的是TCP进程所处的状态。A是主动打开连接,B是被动打开连接。首先A向B发出连接请求报文段,这时...
  • 简述tcp/ip通信处理过程
    答:TCP/IP通信处理过程如下:建立连接:客户端通过IP地址和端口号请求建立连接,服务器收到请求后确认连接并分配一个唯一的TCP会话标识符。数据传输:客户端和服务器之间通过TCP协议进行数据传输,传输过程中双方可以协商数据大小、传输速率等参数。关闭连接:当客户端或服务器完成数据传输后,双方会协商关闭连接...
  • tcp是怎么建立连接和释放连接的
    答:TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)第一次握手:...
  • 传输层TCP协议连接的建立和断开
    答:TCP是一个面向连接的连接的协议, 握手 是建立连接的过程, 挥手 是断开连接的过程。TCP的基本操作 以上三种操作以后,另一方必须立即给发起方返回一个 ACK(Ackknowledgement) ,这是TCP保证可靠性的要求。如果一方不回复发送方ACK,发送方则认为接收方没有收到信息,会重新发送。建立连接的过程-三次...