端口


什么是端口

示意图

网络通信必备IP ,端口

端口就好比是一个房子的门,是出入这间房子的必经之路。

扩展知识:一个程序没有运行之间称之为“程序”,程序运行起来之后称为“进程”

如果一个程序需要收发网络数据,那么就需要有这样的端口

在linux系统中,端口可以有65536(2的16次方)个之多

既然有这么多,操作系统为了同一管理,所以进行了编号,这就是端口号

端口号
  • 端口是通过端口号来标记的,端口号只有整数,范围是从0到65535

注意:端口数不一样的nix系统不一样,还可以手动修改。

端口是怎样分配的
  • 端口号不是随意使用的,而是按照一定的规定进行分配的。

  • 端口的分类标准有好几种,我们这里不做详细讲解,只介绍一下知名端口和动态端口

知名端口(Well Known Ports)

  • 知名端口就是众所周知的端口号,范围从0到1023

  • 80端口分配给HTTP服务

  • 21端口分配给FTP服务

一般情况下,如果一个程序需要使用知名端口,需要获得ROOT权限

动态端口(Dynamic Ports)

  • 动态端口的范围是从1024到65535

  • 之所以称为动态端口,是因为这个范围的端口号未绑定某个服务,而是动态分配。

  • 动态分配是指当一个系统程序或应用程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。

  • 当这个程序关闭时,同时也就释放了它所占用的端口号

怎样查看端口号

  • 命令:netstat -an 查看端口状态

  • 命令:lsof -i [tcp/udp]:2425

小总结

  • 端口有什么用呢?

    ​ 我们知道,一台拥有IP地址的主机可以提供许多服务,比如HTTP(万维网服务),FTP(文件传输),SMTP(电子邮件)等,这些服务完全可以通过一个IP地址来实现。

    那么,主机怎样区分不同的网络服务呢? 显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。

    实际上是通过IP地址 + 端口号来区分不同的服务的。

    需要注意的是,端口并不是一一对应的。

    比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“1234”这样的端口。


Author: Ming Hui
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Ming Hui !
 Previous
套接字 套接字
Socket简介不同电脑上的进程之间如何通信 首先解决的问题是如何唯一标识一个进程,否则通信无从谈起。 在一台电脑上可以通过进程号(PID) 来唯一标识一个进程,但是在网络上这是行不通的。 其实TCP/IP协议族已经帮我们解决了这个问题,网
2020-07-12
Next 
网络基础 网络基础
什么是网络 通信方式进行传输数据,这就是网络的一种体现 对讲机也是一种无线电电磁波传输信息,这就是网络。 网络不仅仅是可视化网线 简述: 网络就是一种辅助双方或者多方能够连接在一起的工具 如果没有网络可想单机世界是多么的孤独 使用
2020-07-12