欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

计算机传输层端口分类

程序员文章站 2023-01-29 13:07:15
参考: "port的英文*" ) 简介 MAC地址定义了数据包的下一跳地址。 IP地址定义了数据包最终应该传输到哪台计算机上。 而端口(port)则定义了数据包中的数据应该由计算机上的哪个进程来接收。 端口是一种逻辑上的概念,用来识别一个计算机上的一个进程或者一类网络服务。 端口一般和网络协议 ......

本文最早发布于我的51cto博客,目前已迁移至博客园。
参考:port的英文*

简介

mac地址定义了数据包的下一跳地址。
ip地址定义了数据包最终应该传输到哪台计算机上。
而端口(port)则定义了数据包中的数据应该由计算机上的哪个进程来接收。
端口是一种逻辑上的概念,用来识别一个计算机上的一个进程或者一类网络服务。
端口一般和网络协议与ip地址相关联。
端口号由16位无符号二进制组成,2^16=65536,可表示的端口号数量为65536,端口号的范围为0~65535。

分类

特定的端口有特定的用途,端口的分类是由iana定义的。

周知端口

周知端口(well-known port),端口范围是0~1023,用于互联网常用的服务,在类unix操作系统中,可能需要具备root的权限才可以将管理使用周知端口的服务。常见的周知端口如下:

端口 描述
20 ftp数据连接主动模式
21 ftp命令连接
22 ssh
23 telnet
25 smtp
80 http
443 https
... ...

注册端口

注册端口(register port),端口范围是1024~49151,一般用于那些不需要root权限的服务。常见的注册端口如下:

端口 描述
10050 zabbix-agent
10051 zabbix-server
3306 mysql or mariadb
6379 redis
... ...

动态端口

动态端口(dynamic port),也叫作私有端口(private port)或者短命端口(ephemeral port),端口范围是49152~65535,这些端口是无法在iana上面注册的,一般用于c/s架构中client启用的高位端口作临时使用的。
如图所示,本机开了四个x shell会话(session)来连接虚拟机,每个会话占用一个连接(connection),每个连接在我的本机启用了一个动态端口,分别是:49618、49628、49629和49635。

# netstat -ntup
active internet connections (w/o servers)
proto recv-q send-q local address               foreign address             state       pid/program name
tcp        0     64 192.168.17.100:22           192.168.17.1:49618          established 2761/sshd
tcp        0      0 192.168.17.100:22           192.168.17.1:49628          established 2790/sshd
tcp        0      0 192.168.17.100:22           192.168.17.1:49629          established 2811/sshd
tcp        0      0 192.168.17.100:22           192.168.17.1:49635          established 2832/sshd