小兔网

所谓端口号就是具有网络功能的 应用软件 的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在 软件 编写时就已经定义)。当然,有很多应用软件有公认的默认的 端口 ,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能。

0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的,而1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。

那么端口号到底有什么作用呢?请大家继续往下看。

当一台电脑启动了一个可以让远程其他电脑访问的 程序 ,那么它就要开启至少一个端口号来让外界访问。我们可以把没有开启端口号的电脑看作是一个 密封的房间 ,密封的房间当然不可能接受外界的访问,所以当系统开启了一个可以让外界访问的程序后它自然需要在房间上开一个窗口来接受来自外界的访问,这个窗口就是端口。
那么为什么要给端口 编号 来区分它们呢,既然一个程序开了一个端口,那么不是 外部信息 都可以通过这个开启的端口来访问了吗?答案是不可以。为什么呢?因为数据是用端口号来通知 传输层 协议 送给哪个软件来处理的,数据是没有智慧的,如果很多的程序共用一个端口来接受数据的话,那么当外界的一个 数据包 送来后传输层就不知道该送给哪一个软件来处理,这样势必将导致混乱。

上一次提到提到在一个经过OSI第四层传输层封装的 数据段 的第四层 报头 里包含两个端口号,既源端口号和目的端口号,目的端口号的作用上面已经介绍了,下面让我们了解一下原端口号吧。
源端口号一般是由系统自己动态生成的一个从1024-65535的 号码 ,当一台计算机A通过网络访问计算机B时,如果它需要对方返回数据的话,它也会随机创建一个大于1023的端口,告诉B返回数据时把数据送到自己的哪个端口,然后软件开始侦听这个端口,等待数据返回。而B收到数据后会读取数据包的源端口号和目的端口号,然后记录下来,当软件创建了要返回的数据后就把原来数据包中的原端口号作为目的端口号,而把自己的端口号作为原端口号,也就是说把收到的数据包中的原和目的反过来,然后再送回A,A再重复这个过程如此反复直到数据传输完成。当数据全部传输完A就把 源端口 释放出来,所以同一个软件每次 传输数据 时不一定是同一个源端口号。

常见的数据库,默认端口号是多少:

一、关系型数据库

1、MySql数据库 ,默认端口是: 3306;

2、Oracle数据库 ,默认端口号为:1521;

3、Sql Server数据库 ,默认端口号为:1433;

4、DB2数据库, 默认端口号为:5000;

5、PostgreSQL数据库, 默认端口号为:5432;

6、国产的DM达梦数据库, 默认端口号为:5236。

二、NoSql数据库(非关系型数据库):

1.Redis数据库,默认端口号:6379;

2.Memcached数据库,默认端口号:11211 ;

3.MongoDB数据库,默认端口号:27017;

三、查看端口号方法(windows操作系统)

1.打开下面窗口,输入cmd,确认。
2.在命令行,输入“netstat -ano|findstr 端口号”,出现下图LISTENING,代表这个端口有被使用。


【备注】:如果在计算机上安装上述的数据库,端口号都可以改为其他的,当然一般都建议使用默认的端口号。