zoukankan      html  css  js  c++  java
  • 计算机传输层端口分类

    本文最早发布于我的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
    
  • 相关阅读:
    彻底理解 Python 生成器
    Windows上虚拟环境的安装及使用
    github怎么绑定自己的域名
    解决ImportError: cannot import name HTTPSHandler
    服务器(Linux) 安装python3
    函数的参数(必选,默认,可变,关键字)
    python 异常处理(try...finally...和with...as 方法)
    LeetCode 33. 搜索旋转排序数组 | Python
    LeetCode 46. 全排列
    LeetCode 面试题51. 数组中的逆序对
  • 原文地址:https://www.cnblogs.com/alongdidi/p/computer_port.html
Copyright © 2011-2022 走看看