我们通过 IP 地址能准确的找到通讯过程的机器,但是机器中是有很多程序在运行的,光知道 IP 地址还是没办法准确的把数据传给对应的需要处理的应用,而端口就起了这样的作用,在数据进来后,通过端口来流入对应的应用程序。
应用程序在使用过程中,一般不止监听指定的端口号,而且还会明确对应的传输协议。当我们描述的时候,正确的描述方式是这样的,XXX 程序在使用 XXX 协议,监听 XXX 端口。
**这样做的好处:**
我们指定传输协议和端口,当我们进行端口的转发或者构建防火墙的时候,我们就可以非常方便的通过协议和端口进行隔离,这样可以防止不可预见的意外发生,通过这样的方式可以防止外网中不必要的数据流入本地的局域网。
**IANA:**
IANA 的全写为(Internet Assigned Numbers Authority)即互联网号码分配局。
干什么用的呢?在众多的端口号与众多的应用程序中,冲突是不可避免的,这时候就需要 IANA 来进行管理,它会负责端口的注册。大多数的主流程序,都会有一个明确的已经注册的端口,比如常见的 FTP 会监听 20、21端口, HTTP 会监听 80 端口等,如果有一个程序申请注册某个端口,IANA 就会去查一下这个端口是否已经被注册,如果被注册了的话就会被拒绝。
**端口大概分为三类**
第一种:Well-Know Ports(即公认端口号)这些都是大家都知道的一些端口号,这些端口固定分配给一些服务,我们上面提到的 HTTp 服务、FTP 服务等都属于这一类。端口号的范围是:0-1023
第二种:Registered Ports(即注册端口)这些端口并没有明确的定义服务于哪些对象,不同的程序都可以按需定义,范围为:1024-49151
第三种:Dynamic、private or ephemeral ports(即动态、私有或临时端口号) 这些端口号是不可以注册的,这一段的端口被用作一些私人的或者定制化的服务,当然也可以用来做动态端口服务,范围为:49152-65535
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。