端口(面试题)

来源:互联网 发布:大数据搜索引擎多少钱 编辑:程序博客网 时间:2024/06/03 18:42
1、端口
(1)端口的概念(什么是端口?)
端口包括物理端口和逻辑端口。
物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。
TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。
一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。
端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。


(2)端口有什么用?
主机中用“端口号+IP” 用来区分不同的服务(Web服务,ftp服务,smtp服务等)。
对于TCP/IP来说,FTP服务器的TCP端口号都是21;
Telnet服务器的TCP端口号都是23;
TFTP服务器的UDP端口号都是69;
任何TCP/IP实现所提供的服务都是用知名的1~1023之间的端口号。
256~1023之间的端口号都是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开始。


(3)端口号的使用
TCP与UDP段结构中端口地址都是16比特,可以有在0---65535范围内的端口号。对于这65536个端口号有以下的使用规定:
1)端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。
任何TCP/IP实现所提供的服务都用1---1023之间的端口号,是由ICANN来管理的;
2)客户端只需保证该端口号在本机上是惟一的就可以了。客户端口号因存在时间很短暂又称临时端口号;
3)大多数TCP/IP实现给临时端口号分配1024---5000之间的端口号。大于5000的端口号是为其他服务器预留的。
4)在cmd下使用netstat可以查看正在使用的端口号。
原创粉丝点击