通訊端是什麼,通訊端通訊及其原理

2020-07-16 10:04:36
通訊端(socket)為通訊的端點,每個通訊端由一個 IP 地址和一個埠號組成。通過網路通訊的每對進程需要使用一對通訊端,即每個進程各有一個。

通常,通訊端採用客戶機-伺服器架構。伺服器通過監聽指定埠,來等待客戶請求。伺服器在收到請求後,接受來自客戶通訊端的連線,從而完成連線。

實現特定服務(如 telnet、ftp 和 http)的伺服器監聽眾所周知的埠(telnet 伺服器監聽埠 23,ftp 伺服器監聽埠 21,Web 或 http 伺服器監聽埠 80)。所有低於 1024 的埠都是眾所周知的,我們可以用它們來實現標準服務。

當客戶進程發出連線請求時,它的主機為它分配一個埠。這個埠為大於1024的某個數位。例如,當 IP 地址為 146.86.5.20 的主機 X 的客戶希望與 IP 地址為 161.25.19.8 的 Web 伺服器(監聽埠 80)建立連線時,它所分配的埠可為1625。該連線由一對通訊端組成:主機 X 上的(146.86.5.20:1625), Web伺服器上的(161.25.19.8:80)。這種情況如圖 1 所示。根據目的埠號碼,主機之間傳輸的分組可以傳送到適當的進程。


圖 1 採用通訊端的通訊