重学TCP协议(5) 自连接

1.自连接是什么

在发起连接时,TCP/IP的协议栈会先选择source IP和source port,在没有显示调用bind()的情况下,source IP由路由表确定,source port由TCP/IP协议栈从local port range中选取尚未使用的port。

如果destination IP正好是本机,而destination port位于local port range,且没有服务器监听(listen)的话,source port可能正好选中了destination port这就出现了(source IP,source port)=(destination IP,destination port)的情况,即发生了自连接。

2.自连接是怎么发生的

1. 两个tcp连接同时打开

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ax6Cx2X-1620216330809)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/43753ba6ae7f4b3eb984a2d0ff204720~tplv-k3u1fbpfcp-watermark.image)]

2.本来正常运行的客户端和服务端,服务端偶然挂掉之后,客户端再去连接它,就有可能出现自连接现象。

例如:同一台机器上的客户端和服务端(端口:50000)建立了一个长连接,服务端的进程挂掉了,端口50000释放,客户端去connect这个服务端的目的端口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值