夏懿的回答:8000 443 King哥的回答:在网络技术中,端口(port)大致有两种意思:一是物理意义上的端口,比如,adsl modem、集线器、交换机、路由器用 于连接其他网络设备的接口,如rj-45端口、sc端口等等。二是逻辑意义上的端口,一般是指tcp/ip协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于ftp服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口 那么tcp/ip协议中的端口指的是什么呢?如果把ip地址比作一间房子 ,端口就是出入这间房子的门。端口号就是打开门的钥匙。真正的房子只有几个门,但是一个ip地址的端口 可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。 端口有什么用呢?我们知道,一台拥有ip地址的主机可以提供许多服务,比如web服务、ftp服务、smtp服务等,这些服务完全可以通过1个ip地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠ip地址,因为ip 地址与网络服务的关系是一对多的关系。实际上是通过“ip地址+端口号”来区 分不同的服务的。 服务器一般都是通过知名端口号来识别的。例如,对于每个tcp/ip实现来说,ftp服务器的tcp端口号都是21,每个telnet服务器的tcp端口号都是23,每个tftp(简单文件传送协议)服务器的udp端口号都是69。任何tcp/ip实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口号由internet号分配机构(internetassignednumbersauthority,iana)来管理。 到1992年为止,知名端口号介于1~255之间。256~1023之间的端口号通常都是由unix系统占用,以提供一些特定的unix服务—也就是说,提供一些只有unix系统才有的、而其他操作系统可能不提供的服务,iana管理1~1023之间所有的端口号。 internet扩展服务与unix特定服务之间的一个差别就是telnet和rlogin。它们二者都允许通过计算机网络登录到其他主机上。telnet是采用端口号为23的tcp/ip标准且几乎可以在所有操作系统上进行实现。rlogin只是为unix系统设计的(尽管许多非unix系统也提供该服务),它的有名端口号为513。 客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。 大多数tcp/ip实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的(internet上并不常用的服务)。我们可以在后面看见许多这样的给临时端口分配端口号的例子。 solaris2.2是一个很有名的例外。通常tcp和udp的缺省临时端口号从32768开始。 以上摘自百度百科。http://baike.baidu.com/link?url=m7qdznaaocolpsnyqx0xnlpf8oztptbeve4fcis9r4ngxg35znoy6_3kkrivnkai |