【linux】端口讲解

本文介绍了计算机中的物理端口和逻辑端口概念,详细解析了端口号的分类,包括公认端口、注册端口和动态端口。讨论了Linux系统中如何控制端口范围,并通过ip_local_port_range参数举例说明。同时,阐述了端口在服务中的作用,以及如何通过firewall-cmd和iptables命令开启端口。

先理解一下物理端口、逻辑端口、端口号等计算机概念

在网络技术中,端口包含物理端口和逻辑端口两种类型。

物理端口:指物理存在的端口,如ADSL Modem、交换机、路由器上用于连接其他网络设备的接口。

逻辑端口:指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号范围从0到65535,比如用于浏览网络服务的80端口,用于FTP服务的21端口。

 

端口按端口号可以分为3大类:

1、公认端口 ( Well Known Port )

公认端口号从0到1023,它们紧密绑定与一些常见服务。例如FTP服务使用端口21,在 /etc/services 可以看到映射关系。

2、注册端口 ( Registered Port )

从 1024到 49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。

。是公司和其他用户向互联网名称与数字地址分配机构(ICANN)登记的端口号,利用因特网的传输控制协议(TCP)和用户数据报协议(UDP)进行通信的应用软件需要使用这些端口。在大多数情况下,这些应用软件和普通程序一样可以被非特权用户打开。

3、动态或私有端口 ( Dynamic and/or Private Ports )

动态端口,即私人端口号,是可用于任意软件与任何其他的软件通信的端口数,使用因特网的传输控制协议,或用户传输协议。

动态端口一般从49152 到 65535

。这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。被保留给客户端进程选择暂时使用的。也可以理解为,客户端启动的时候操作系统随机分配一个端口用来和服务器通信,客户端进程关闭下次打开时,又重新分配一个新的端口。

 

Linux中有限定端口的使用范围,如果我要为我的程序预留某些端口,那么我需要控制这个端口范围。

/proc/sys/net/ipv4/ip_local_port_range 定义了本地 TCP/UDP 的端口范围,你可以在 /etc/sysctl.conf里面定义net.ipv4.ip_local_port_range = 1024 65000

比如 echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range

 

关于端口和服务

比如银行大厅,端口号是那些柜台,而那些取号办理业务的人就好比连接到服务器的各种客户端。

他们通过端口重定向技术与柜台发送业务联系。

端口有什么用呢?

我们知道,一台拥有IP 地址的主机可以提供许多服务,比如 Web服务,Ftp服务,Smtp服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?通过 “IP地址 + 端口号”来区分不同服务。

那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值