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

时间:2015-05-24 09:21:01

标签: tcp iana

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

是否在操作系统中实现?

应用程序如何知道要连接的端口,确切地说比较端口号的位置?

有些应用程序的端口号是硬编码的,有些是您输入的,但是比较完全在哪里?

或者它是否都是以人为本的,当开发人员知道他们将连接到http服务器时是否使用端口80?

我无法理解这一点,因为有众所周知的端口,您无法将其用于您的应用。或者你呢?当没有进程绑定它时,端口是否可以自由使用?所以我可以使用端口80,25,443或1000以下的任何东西,我需要的只是root权限?

1 个答案:

答案 0 :(得分:4)

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

但我认为你真正要问的是你的其他帖子。您在系统上查找的文件是services文件。这通常在UNIX样式系统上/etc/services,但您可以在Windows系统上的C:\Windows\System32\drivers\etc中找到它。

这个文件真的是一个映射文件,允许你按名称请求服务(比如说" telnet",例如)并让系统将它转换为端口数(23)。

最好的做法是编写软件以使用名称(如果可能),而不是数字。这不仅允许“#34;众所周知的端口”的概念。要应用,但如果你有一个不寻常的情况需要在其他端口上运行服务,只需修改services文件就可以轻松地重新映射服务。

您还有另一个关于使用端口的权限的问题。首先,如果你正在使用Windows,那么真的没有这样的想法。 "特权"的想法ports位于其他操作系统(UNIX,VMS等)上。在这些系统上,您需要是root或OPERATOR等效的。这适用于小于1024而不是1000的端口。

也就是说,端口80真的没什么特别的,除了那个人希望在那里找到一个Web服务器。