以下场景有什么区别。是否有任何性能差异因此。
考虑一个服务器提供 5 项服务,如 web、邮件、文件、应用程序和 ssh:
- 每个服务及其对应的端口都绑定了一个不同的套接字(Individual socket for each service)。
- 单个套接字与其运行的端口对应的所有服务绑定(所有服务的公共套接字)。
以下场景有什么区别。是否有任何性能差异因此。
考虑一个服务器提供 5 项服务,如 web、邮件、文件、应用程序和 ssh:
您不能将一个套接字绑定到多个端口。
套接字由 IP 地址和端口组合组成。
您的操作系统将只允许单个应用程序绑定到给定传输层协议上的单个端口。如果您有一个可以运行所有服务的应用程序,那么该应用程序可以绑定到所有服务的单个端口,但多个应用程序不能绑定到同一传输层协议上的单个端口。
在单个端口上运行所有这些服务的单个应用程序的性能是否会更好取决于应用程序,这里将是题外话。事实是,您列出的每个服务都有一个单独的、众所周知的端口,对于这些服务中的任何一个使用与众所周知的端口不同的端口会很尴尬,因为客户端会假设众所周知的端口是正在使用。