服务器的端口指的是用一个程序向服务器发起连接时的请求端口。服务器的端口通常可以分为以下三类:
1、公认端口
这种类型的端口通常称为“常用端口”。 这些端口的端口号范围从0到1024,并且与某些特定服务紧密绑定。 通常这些端口的通信清楚地指示了某种服务的协议,这种端口不再能重新定义其作用。
2、注册端口
端口号是1024到49151,松散地绑定到某些服务。 这也意味着有许多服务绑定到这些端口,这些服务也用于许多其他目的。
3、动态和/或私有端口
端口号从49152到65535。理论上,不应将公共服务分配给这些端口。 实际上,某些特殊程序,尤其是某些特洛伊木马,喜欢使用这些端口,因为这些端口通常不会被发现并且很容易被隐藏。
扩展资料:
对于公认端口,例如,端口80实际上始终用于HTTP通信,而端口23专用于Telnet服务。 这些端口通常不被特洛伊木马之类的黑客使用。
大多数注册端口没有明确定义的服务对象。 不同的程序可以根据实际需要定义相关程序。 例如,描述的远程控制软件和特洛伊木马程序将定义这些端口。 请记住,这些公共程序端口对于保护和杀死特洛伊木马程序非常必要。
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。本地操作系统会给那些有需求的进程分配协议端口(protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。
端口其实就是队,操作系统为各个进程分配了不同的队,数据报按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。
不光接受数据报的进程需要开启它自己的端口,发送数据报的进程也需要开启端口,这样,数据报中将会标识有源端口,以便接受方能顺利的回传数据报到这个端口
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)