IANA(端口号注册表)保存在哪里?



我想知道我在哪里可以访问IANA注册表?

在OS中实现了吗?

应用程序如何知道连接到哪个端口,确切地说,在哪里比较端口号?

有些应用程序有硬编码的端口号,有些你输入它,但究竟在哪里比较完成?

或者这一切都是基于人类的,当开发者知道他们将连接到http服务器时,他们是否会使用端口80 ?

我无法理解这一点,因为有众所周知的端口,你不能在你的应用程序中使用。你能吗?当没有进程绑定端口时,端口是否可以自由使用?所以我可以使用端口80,25,443,或1000下的任何端口只需要root权限?

这里有两个大问题。首先,IANA在哪里?答案很简单:http://iana.org

但我认为你真正想问的是你帖子的其余部分。您在系统上查找的文件是services文件。这通常在UNIX风格系统的/etc/services中,尽管您可以在Windows系统的C:WindowsSystem32driversetc中找到它。

这个文件实际上是一个映射文件,允许您通过名称请求服务(例如,我们说"telnet"),并让系统将其转换为端口号(23)。

在编写软件时最好使用名称,如果可能的话,而不是数字。这不仅允许应用"已知端口"的概念,而且如果您有一种不寻常的情况,即服务需要在其他端口上运行,只需修改services文件就可以轻松地重新映射服务。

关于使用端口的权限还有一个问题。首先,如果你使用的是Windows,就没有这种概念。"特权"端口的概念可以在其他操作系统(UNIX、VMS等)上找到。在这些系统中,您需要是根用户或具有OPERATOR同等权限的用户。这适用于小于1024的端口,而不是1000。

也就是说,除了期望在那里找到一个web服务器之外,80端口真的没有什么特别的。

相关内容

  • 没有找到相关文章

最新更新