面试官:一台服务器能建立的TCP链接真的只有65535个吗?

我是一个 Linux 服务器上的进程,名叫小进。

老是有人说我最多只能创建 65535 个 TCP 连接。

我不信这个邪,今天我要亲自去实践一下。

我走到操作系统老大的跟前,说:

"老操,我要建立一个 TCP 连接!"

老操不慌不忙,拿出一个表格递给我, "小进,先填表吧"

我一看这个表,这不就是经典的 socket 四元组 嘛。我只有一块网卡,其 IP 地址是 123.126.45.68 ,我想要与 110.242.68.3 的 80 端口建立一个 TCP 连接,我将这些信息填写在了表中。

​源端口号填什么呢?我记得端口号是 16 位的,可以有 0 ~ 65535 这个范围的数字,那我随便选一个吧!

正当我犹豫到底选什么数字的时候,老操一把抢过我的表格。

"你墨迹个啥呢小进?源端口号不用你填,我会给你分配一个可用的数字。源IP也不用你填,我知道都有哪些网卡,并且会帮你选个合适的。真是个新手,回去等消息吧。"

"哦"

老操带着我的表格,走了。

过了很长时间,老操终于回来了,并且带着一个纸条。

"小进,你把这个收好了。"

我问道,"这是啥呀?"

老操不耐烦地说道, "刚刚说你是新手你还不服,这个 5 表示文件描述符,linux 下一切皆文件,你待会和你那个目标 IP 进行 TCP 通信的时候,就对着这个文件描述符读写就好啦。 "

"这么方便!好的,谢谢老操。"

我拿着这个文件描述符,把它放到属于我的内存中裱起来了,反正我只是想看看最多能创建多少 TCP 连接,又不是去真的用它,嘻嘻。

端口号

过了一分钟,我又去找老操了。

"老操,我要建立一个 TCP 连接!"

老操不慌不忙,拿出一个表格递给我, "小进,先填表吧"

这回我熟悉了,只把目标IP和目标端口填好。

老操办好事之后,又带着一个纸条回来,上面写着数字"6"。

就这样,我每隔一分钟都去找老操建立一个新的 TCP 连接,目标 IP 都是110.242.68.3,目标端口都是 80。

老操也很奇怪,不知道我在这折腾啥,他虽然权力大,但无权拒绝我的指令,每次都兢兢业业地把事情办好,并给我一张一张写着文件描述符的纸条。

直到有一次,我收到的纸条有些不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值