国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Unix > 正文

UNIX網絡編程讀書筆記:端口號、套接口對和套接口

2024-06-28 13:27:33
字體:
來源:轉載
供稿:網友
UNIX網絡編程讀書筆記:端口號、套接口對和套接口端口號

端口號(port number):16位整數,用來區分不同的進程。

服務器使用的端口號:TCP和UDP定義了一組眾所周知的端口(well-known port),用于標識眾所周知的服務。

客戶端使用的端口號:通常使用短期存活的臨時端口(ephemeral port)。這些端口號通常由傳輸層協議自動賦予客戶。客戶一般不關心其臨時端口的具體值,而只需確信它在所在主機中是唯一的就行。傳輸層協議的代碼確保這種唯一性。

端口號被劃分成三段:

(1)眾所周知的端口為0-1023. 這些端口由IANA分配和控制。可能的話,相同的端口號就分配給TCP、UDP和SCTP的同一給定服務。例如,端口號80不論是TCP還是UDP都被賦予Web服務器,盡管目前它所有的實現都單純使用TCP。

(2)已登記的端口(registered port)為1024-49151. 這些端口不受IANA控制,不過由IANA登記并提供它們的使用情況清單,以方便整個群體。可能的話,相同端口號也分配給TCP和UDP的同一給定服務。

(3)動態的(dynamic)或私用的(PRivate)端口:49152-65535. IANA不管這些端口,它們就是我們所稱的臨時端口。(49152這個魔數是65535的四分之三。)

注意:

  • UNIX系統有保留端口(reserved port)的概念,指的是小于1024的任何端口。這些端口只能賦予超級用戶進程的套接口。所有眾所周知的端口都是保留端口,因此分配這些端口的服務器啟動時必須具有超級用戶的特權。
  • 由于歷史原因,源自Berkeley的實現(從4.3BSD開始)曾在1-24-5000范圍內分配臨時端口。
  • 有少數客戶(而不是服務器)需要一個保留端口用于客戶/服務器的認證:rlogin和rsh客戶就是常見的例子。這些客戶調用庫函數rresvport創建一個TCP套接口,并給它分配513-1023范圍內的一個未使用的端口。

 

套接口對和套接口

一個TCP連接的套接口對(socket pair)是一個定義該連接的兩個端點的四元組:本地ip地址、本地TCP端口號、遠地IP地址、遠地TCP端口號。一個套接口對唯一標識互聯網上的一個TCP連接。

就SCTP而言,一個關聯由一組本地IP地址、一個本地端口、一組遠地IP地址、一個遠地端口標識。

標識每個端點的兩個值(IP地址和端口號)通常稱為一個套接口(socket)。

舉例來說,應用程序通過bind函數為TCP、UDP或SCTP套接口指定本地IP地址和本地端口號。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武汉市| 历史| 开化县| 凤山市| 灵丘县| 红桥区| 都昌县| 阿瓦提县| 石棉县| 唐海县| 嘉鱼县| 张掖市| 沧源| 彭泽县| 阜阳市| 汉沽区| 百色市| 洪雅县| 泗水县| 丰台区| 龙门县| 黎川县| 乌鲁木齐市| 东莞市| 通海县| 科技| 安义县| 交城县| 丹阳市| 沽源县| 松江区| 吴桥县| 嘉黎县| 开阳县| 崇仁县| 武宣县| 彭阳县| 太仓市| 阳城县| 太仓市| 灵璧县|