1. 程式人生 > >計算機傳輸層埠分類

計算機傳輸層埠分類

本文最早釋出於我的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