如何理解TCP端口

如何理解TCP端口

问题:一台主机配置多张网卡,假设同时配置了2张网卡,这个时候这台主机有多少个TCP Port可用?

Port

这个问题让我重新思考TCP Port的作用,它是用来标识应用层的网络服务的!原来的理解认为,一台主机只会有65536个端口,并且是0-65535,每个都惟一的。并且在学socket编程的时候,有一个SO_Reuse_Addr的问题,更是坚定了Tcp Port惟一的想法。但是现在看来,事实并不是这样的。

现在个人计算机比较普及,并且99.99%的个人计算机只会同时连接一个网络,即使我们的Laptop同时拥有Eth0WLan0两张网卡,即大部分人的一台机器在一个时候只会用一个IP地址,所以我们平时在一个主机上都不会看到重复的端口号。

复用一张网卡

重新描述一下上面关于端口作用的表述:在复用单一网络地址时,TCP Port用于在应用层区分目的服务方。即我们在应用层复用了一张网卡,从这张网卡上收到的数据,可以传输给不同的服务程序,每个服务程序使用Port来区分。

如何我们有两张网卡,那么每张网卡各有同样的端口号。

##内核如何管理重复的Port
创建socket的接口:
int socket(int domain, int type, int protocol);
命名socket的接口:
int bind(int socket

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值