java代码tcp请求连接报文_【TCP】连接管理

TCP连接管理

本节将介绍一条TCP连接是如何建立和拆除的。此处假设客户机A上面的一个进程想要和服务

器B上的一个进程建立一条TCP连接。本文前面介绍的是比较正常的连接和拆除,特殊的会在后面介绍。

TCP连接建立

1d3fb2aece9829ab92e427d80725ef22.png

第一步

客户机A的TCP会向服务器的TCP发送一个不包含应用层数据的数据的TCP报文段。该报文段中首部标志位S YN被置为1,此报文段也被叫做SYN报文段。并且A会随机地选择一个初始序号(client_isn),将其填入首部中的序号字段(注意为了避免某些安全性的攻击,此处的随机化选择有着不少研究,后面会补充)。然后,该报文被封装进IP数据报,发送给服务器。

第二步

一旦TCP SYN报文段的IP数据包到达服务器后,服务器就会从IP数据包中提取出TCP SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户机发送允许TCP连接的报文段,这个报文段也不包含应用层数据。(这里需要注意如果在完成三次握手的第三步之前分配缓存和变量会使得TCP易受到称为SYN洪泛的拒绝服务攻击服务)

在发送的报文中,标志位SYN被置为1,确认序号被置为client_isn+1,

服务器也会选用一个初始序号将其放入报文中的序号字段。这个报文有时也会被称为SYNACK报文段(SYNACK segment)。

第三步

在收到SYNACK报文段后,客户也要给这个连接分配缓存和变量。然后,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值