端口號和套接字對


任何時候,多個進程可能同時使用TCP、UDP和SCTP這3種傳輸層協議中的任何一種。這3種協議都使用16位整數的端口號來區分這些進程。

當一個客戶想要跟一個服務器聯系時,它必須標識想要與之通信的這個服務器。TCP、UDP和SCTP定義了一組眾所周知的端口號,用於標識眾所周知的服務。

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

端口被划分為以下3段。

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

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

3)49152~65535是動態的或私用的端口。IANA不管這些端口。它們就是我們所稱的臨時端口。

套接字對

一個TCP連接的套接字對是一個定義該連接的兩個端點的四元組:本地IP地址、本地TCP端口號、外地IP地址、外地TCP端口號。套接字對唯一標識一個網絡上的每個TCP連接。就SCTP而言,一個關聯由一組本地IP地址、一個本地端口、一組外地IP地址、一個外地端口標識。在兩個端點均非多宿這一最簡單的情形下,SCTP與TCP所用的四元組套接字對一致。然而在某個關聯的任何一個端點為多宿的情形下,同一關聯可能需要多個

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM