服务器的端口指的是什么是多少

服务器的端口指的是什么是多少,第1张

服务器端口指的是用一个程序向服务器发起连接时的请求端口。服务器的端口通常可以分为以下三类:

1、公认端口

这种类型的端口通常称为“常用端口”。 这些端口的端口号范围从0到1024,并且与某些特定服务紧密绑定。 通常这些端口的通信清楚地指示了某种服务的协议,这种端口不再能重新定义其作用。

2、注册端口

端口号是1024到49151,松散地绑定到某些服务。 这也意味着有许多服务绑定到这些端口,这些服务也用于许多其他目的。

3、动态和/或私有端口

端口号从49152到65535。理论上,不应将公共服务分配给这些端口。 实际上,某些特殊程序,尤其是某些特洛伊木马,喜欢使用这些端口,因为这些端口通常不会被发现并且很容易被隐藏。

扩展资料:

对于公认端口,例如,端口80实际上始终用于>

大多数注册端口没有明确定义的服务对象。 不同的程序可以根据实际需要定义相关程序。 例如,描述的远程控制软件和特洛伊木马程序将定义这些端口。 请记住,这些公共程序端口对于保护和杀死特洛伊木马程序非常必要。

1 nginx最多只能维持(65535后端服务器IP个数)条websocket的长连接,如果后端websocket服务器IP只有一个,那么就只能最多支持65535条连接。瓶颈就产生在了nginx上。

2 建议采用LVS的DR模式来做负载均衡,这样最大长连接数目就只和websocket服务器资源(主要是内存)有关了,单台websocket服务器很轻松可以支撑百万级连接

用nginx做websocket的反向代理其中涉及到的资源有:

1 内存(相关数据结构的存储)、cpu、网络

内存的占用分两部分,一部分是内核中tcp协议栈结构占用的内存,一部分是nginx中维持双向连接数据结构占用的内存

按照理想状况,一条tcp连接的数据结构在内存中占用大约4KB左右,nginx的内存占用,没有统计相关的结构体,这里就等于2KB(nginx的内存利用非常高效,有内存池)

对于现在的服务器来说内存、cpu、网络都不会是瓶颈,因此这里不做讨论。

2 文件描述符数量

可能需要调整内核参数,文件描述符的数量其实也是和内存相关的,因为每打开一个tcp连接,就得占用一个文件描述符。

内核参数:fsfile-max

这是和系统资源相关的,也不会是瓶颈

3 端口号数量

内核参数为:netipv4ip_local_port_range,且最大值为65535

linux内核是通过{local_ip, local_port, remote_ip, remote_port}这个四元组来标识一条唯一的tcp连接的。

1)对于websocket服务器自身而言,local_ip, local_port是确定的,在内存、cpu足够的情况下,其可以支撑 (client_ip数量2^16)条连接。也就是说只要服务器资源足够,一定不会是瓶颈。

2)对于nginx服务器来说,local_ip, local_port也是确定的,不同的是,它还要作为client去连接websocket服务器,这是要占用一个端口的。

博主更多好文请移步: >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10298131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存