您的位置:首页 > 理论基础 > 计算机网络

【TCP】TCP连接建立过程的三次握手

2015-09-22 09:48 567 查看


创建通路[编辑]

TCP用三路握手(three-way handshake)过程创建一个连接。在连接创建过程中,很多参数要被初始化,例如序号被初始化以保证按序传输和连接的强壮性。






TCP连接的正常创建

一对终端同时初始化一个它们之间的连接是可能的。但通常是由一端打开一个套接字socket)然后监听来自另一方的连接,这就是通常所指的被动打开(passive
open)。服务器端被被动打开以后,用户端就能开始创建主动打开(active open)。
客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三路握手的一部分。客户端把这段连接的序号设定为随机数 A
服务器端应当为一个合法的SYN回送一个SYN/ACK。ACK 的确认码应为 A+1,SYN/ACK 包本身又有一个随机序号 B
最后,客户端再发送一个ACK。当服务端受到这个ACK的时候,就完成了三路握手,并进入了连接创建状态。此时包序号被设定为收到的确认号 A+1,而响应则为 B+1

e.g.

client发起连接,syn比特位置1; sequence number 为随机数50627, ack numbe为0.

server确认连接,syn比特位置1,ack比特位置1; ack number加1,为50628; sequence number为随机数169...

client确认连接,ack比特位置1; ack number加1;sequence number加1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: