17 - 01 - 31 计算机网络(21)(TCP连接的建立)

本文详细介绍了TCP连接建立的过程,包括客户端与服务器交互的三个步骤,以及为何选择随机初始序号的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


主动发起建立连接的叫做客户,被动等待建立连接的应用进程叫做服务器。服务器首先要运行一段程序,

做好等待建立的准备,这时客户就可以来连接了。客户向服务器发送第一个报文段,这个报文段只有首部,没有没有数据部分。

SYN标志位要设为1ACK置为0,,表明这是用于建立连接的报文段,

客户还要选择一个初始序号x 虽然没有数据,但是仍然要选择序号。   服务器收到这个报文段后,

若同意建立连接,就发送第二个报文段,仍然只有首部,没有数据部分。SYN置为1 && ACK置为1,

表示这也是一个用于建立连接的报文段,确认号是x+1,表示希望再接收序号为x+1 及以后的报文段;

服务器发送时,当然也要选择一个序号:y。

客户再发送第三个报文段,仍然只有首部,没有数据部分,这时SYN置为0,ACK为1,

表示对第二个报文段的确认,确认号为y+1,表示希望再接收序号为y+1的报文段。

虽然没有数据,但是序号要置为x+1。   此时连接已然建立,可以收发数据了。

需要注意的是初始序号的选择:应该随机的选择,不是0或者固定值,或有规律可循,原因有二: 

1)连接建立后极短时间内拆除,并且立即用同一端口号又建立了另一个连接,

          在这种特殊的情况下,两次连接的初始序号如果相同,接收方可能会收到重复序号的报文段。  

2)黑客的某些攻击需要知道TCP的初始序号,初始序号如果有规律;   黑客:小可爱,嘿嘿嘿~。

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值