五:端口号

前面已经指出过, T C P和U D P采用16 bit的端口号来识别应用程序。 那么这些端口号是如 何选择的呢?

服务器一般都是通过知名端口号来识别的。例如,对于每个 T C P / I P实现来说, F T P服务 器的T C P端口号都是2 1,每个Te l n e t服务器的T C P端口号都是2 3,每个T F T P (简单文件传送协 议)服务器的U D P端口号都是6 9。任何T C P / I P实现所提供的服务都用知名的 1~1 0 2 3之间的端 口号。这些知名端口号由 I n t e r n e t号分配机构( Internet Assigned Numbers Authority, IANA) 来管理。

到1992年为止,知名端口号介于1~255之间。256~1023之间的端口号通常都是由 Unix系统占用,以提供一些特定的Unix服务—也就是说,提供一些只有Unix系统才 有的、而其他操作系统可能不提供的服务。现在IANA管理1~1023之间所有的端口号。

Internet扩展服务与Unix特定服务之间的一个差别就是Telnet和Rlogin。它们二者都 允许通过计算机网络登录到其他主机上。 Telnet是采用端口号为23的TCP/IP标准且几乎 可以在所有操作系统上进行实现。相反,Rlogin最开始时只是为Unix系统设计的(尽管 许多非Unix系统现在也提供该服务),因此在80年代初,它的有名端口号为513。

客户端通常对它所使用的端口号并不关心, 只需保证该端口号在本机上是唯一的就可以 了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该 客户程序时才存在,而服务器则只要主机开着的,其服务就运行。 大多数T C P / I P实现给临时端口分配 1 0 2 4~5 0 0 0之间的端口号。大于 5 0 0 0的端口号是为其他服务器预留的( Internet上并不常用的服务 )。我们可以在后面看见许多这样的给临时端口分 配端口号的例子。

Solaris 2.2是一个很有名的例外。通常TCP和UDP的缺省临时端口号从32768开始。 在E.4节中,我们将详细描述系统管理员如何对配置选项进行修改以改变这些缺省项。

大多数U n i x系统的文件/e t c / s e r v i c e s都包含了人们熟知的端口号。为了找到 Te l n e t服 务器和域名系统的端口号,可以运行以下语句:


保留端口号:U n i x系统有保留端口号的概念。 只有具有超级用户特权的进程才允许给它自己分配一个 保留端口号。

这些端口号介于 1~1 0 2 3之间,一些应用程序(如有名的 R l o g i n, 2 6 . 2节)将它作为客户 与服务器之间身份认证的一部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,206评论 19 139
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,659评论 2 56
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,814评论 0 11
  • 当我们说到爱情,是不是就已经亵渎了它的神圣性。 真的深爱是要像这个女人一样,把一生都赔付上,弃绝任何其他能让自己幸...
    叶清蘅阅读 223评论 0 1