tcp服务器和防火墙是如何识别已连接套接字的???

本文探讨了一个关于Socket编程的基本问题:当一个Socket与80端口绑定后,接受连接时新生成的Socket如何继续使用80端口,以及防火墙是如何识别并允许这些连接的。文中提出疑问,寻求解答。
下面是一个学长的困惑:


于是,一个困惑了我很久的问题就产生了。如果一个socket创建后并与80端口
绑定后,是否就意味着该 socketsocket占用了80端口呢? 如果是这样的,那么当其accept一个请求后,生成的新的socket到底使用的是什么端口呢?(我一直以为系统会默认给其分配一个空闲的端口号)?如果是一个空闲端口,那一定不是80端口了,于是以后的TCP数据包的目标端口就不是80了---防火墙一定会阻止其通过的!实际上,我们看到,防火墙并没有阻止这样的连接,而且这是最常见的连接请求和处理方式。我不解的就是,为什么防火墙没有阻止这样的连接???它是如何判断那条连接是因为connect80端口生成的???
是不是TCP数据包里有什么特别的标志???或者说,防火墙记住了什么东西???
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值