fbpx
维基百科

通訊埠

通訊埠(英語:port),又稱為連接埠端口協定埠(protocol port)在電腦網路中是一種經由軟體建立的服務,在一個電腦作業系統中扮演通訊的端點(endpoint)。每個通訊埠都會與主機的IP位址及通訊協定关联。通訊埠以16位元數字來表示,這被稱為通訊埠編號(port number)。

位於傳輸層的通訊協定通常需要指定埠號,例如在TCP/IP协议族之下的TCPUDP協議。在應用層中,使用主從式架構的通訊協定,在每個通訊埠上提供多路複用服務(multiplexing service)。經由公認通訊埠號(well-known port numbers),通常可以辨認出這個連線使用的通訊協定,其中具代表性的是最基礎的1024個公認通訊埠號(well-known port numbers),例如Telnet協定預設使用23埠來連線,Secure Shell協定預設使用22埠,HTTP協定預設使用80埠,HTTPS協定預設使用443埠。

技術細節

傳輸層協議,如傳輸控制協議(TCP)與使用者資料包協定(UDP),在封包表頭中,定義了來源埠號與目的埠號。一個通訊埠號使用16位元无符號整數(unsigned integer)來表示,其範圍介於0與65535之間。在TCP協定中,埠號0是被保留的,不可使用。1--1023 系统保留,只能由root用户使用。1024---4999 由客户端程序自由分配。5000---65535 由服务器端程序自由分配。在UDP協定中,來源埠號是可以選擇要不要填上,如果設為0,則代表沒有來源埠號。

在作業系統中,一個行程可以通過网络套接字將它的輸入與輸出與一個特定的傳輸協定、一個通訊埠、一個IP位址關聯起來。這個關聯動作,稱為綁定(binding),在這之後,就可以通過網路送出與接收資料。

在作業系統上運行的網路軟體,可以透過作業系統,利用各個不同的通訊埠,將資料傳送到網路上;作業系統也可以根據資料封包的IP位址以及埠號,將這些資料封包轉送到符合的行程去。

雖然使用同樣傳輸協定,但是特定的IP位址以及通訊埠的組合,只會被綁定到單一的特定行程上。當使用同樣協定的多個程式,嘗試著綁定在同一個IP位址下的相同通訊埠,就會產生一個常見的應用程式錯誤,這個錯誤有時候被稱為通訊埠衝突(port conflicts)。

存储文件

在Linux的 /etc/services文件,Windows的 C:\Windows\system32\drivers\etc\services文件,记录了网络服务名、端口号、协议、别名。

C语言

应用程序可以不直接使用端口号,通过函数getservbyname("server","tcp")获取端口号。如果服务想更改端口号只要更改/etc/services中的端口号就可以了,应用程序不需要做任何更改。可以通过函数getservbyport(htons(50),“tcp”)获取对应端口和规约上的服务名。

用途

端口号有两种用途:

  • 标识服务器上提供特定网络服务的进程。客户机可以按照服务器IP与端口号与相应的服务器进程建立网络连接,获得相应的网络服务。例如,通常使用80端口号提供http服务,使用23端口号telnet服务。服务器的这种功能叫做listening。客户机通常使用动态指定的端口号与服务器建立连接。
  • 由本机地址、本机端口号、目标机地址、目标机端口号、通信协议组成的五元组,用于唯一确定正在使用的网络连结。因此,对于不同的协议、不同的目标机地址,本机的不同地址(如果本机使用多个网卡)等多种情形,同一个端口号可以复用。因此对于1对1通信,且本机与目标机之间只能建立一个通信连接,则不需要使用端口号。

网络防火墙或者网关还可提供端口转发(port forwarding),即NAT

参见

通訊埠, 此條目没有列出任何参考或来源, 2013年4月19日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而移除, 此條目的语调或风格可能不適合百科全書的寫作方式, 2013年4月19日, 請根據指南協助改善这篇条目, 請在讨论页討論問題所在及加以改善, 英語, port, 又稱為連接埠, 端口, 協定埠, protocol, port, 在電腦網路中是一種經由軟體建立的服務, 在一個電腦作業系統中扮演通訊的端點, endpoint, 每個都會與主機的. 此條目没有列出任何参考或来源 2013年4月19日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而移除 此條目的语调或风格可能不適合百科全書的寫作方式 2013年4月19日 請根據指南協助改善这篇条目 請在讨论页討論問題所在及加以改善 通訊埠 英語 port 又稱為連接埠 端口 協定埠 protocol port 在電腦網路中是一種經由軟體建立的服務 在一個電腦作業系統中扮演通訊的端點 endpoint 每個通訊埠都會與主機的IP位址及通訊協定关联 通訊埠以16位元數字來表示 這被稱為通訊埠編號 port number 位於傳輸層的通訊協定通常需要指定埠號 例如在TCP IP协议族之下的TCP與UDP協議 在應用層中 使用主從式架構的通訊協定 在每個通訊埠上提供多路複用服務 multiplexing service 經由公認通訊埠號 well known port numbers 通常可以辨認出這個連線使用的通訊協定 其中具代表性的是最基礎的1024個公認通訊埠號 well known port numbers 例如Telnet協定預設使用23埠來連線 Secure Shell協定預設使用22埠 HTTP協定預設使用80埠 HTTPS協定預設使用443埠 目录 1 技術細節 1 1 存储文件 1 2 C语言 2 用途 3 参见技術細節 编辑傳輸層協議 如傳輸控制協議 TCP 與使用者資料包協定 UDP 在封包表頭中 定義了來源埠號與目的埠號 一個通訊埠號使用16位元无符號整數 unsigned integer 來表示 其範圍介於0與65535之間 在TCP協定中 埠號0是被保留的 不可使用 1 1023 系统保留 只能由root用户使用 1024 4999 由客户端程序自由分配 5000 65535 由服务器端程序自由分配 在UDP協定中 來源埠號是可以選擇要不要填上 如果設為0 則代表沒有來源埠號 在作業系統中 一個行程可以通過网络套接字將它的輸入與輸出與一個特定的傳輸協定 一個通訊埠 一個IP位址關聯起來 這個關聯動作 稱為綁定 binding 在這之後 就可以通過網路送出與接收資料 在作業系統上運行的網路軟體 可以透過作業系統 利用各個不同的通訊埠 將資料傳送到網路上 作業系統也可以根據資料封包的IP位址以及埠號 將這些資料封包轉送到符合的行程去 雖然使用同樣傳輸協定 但是特定的IP位址以及通訊埠的組合 只會被綁定到單一的特定行程上 當使用同樣協定的多個程式 嘗試著綁定在同一個IP位址下的相同通訊埠 就會產生一個常見的應用程式錯誤 這個錯誤有時候被稱為通訊埠衝突 port conflicts 存储文件 编辑 在Linux的 etc services文件 Windows的 C Windows system32 drivers etc services文件 记录了网络服务名 端口号 协议 别名 C语言 编辑 应用程序可以不直接使用端口号 通过函数getservbyname server tcp 获取端口号 如果服务想更改端口号只要更改 etc services中的端口号就可以了 应用程序不需要做任何更改 可以通过函数getservbyport htons 50 tcp 获取对应端口和规约上的服务名 用途 编辑端口号有两种用途 标识服务器上提供特定网络服务的进程 客户机可以按照服务器IP与端口号与相应的服务器进程建立网络连接 获得相应的网络服务 例如 通常使用80端口号提供http服务 使用23端口号telnet服务 服务器的这种功能叫做listening 客户机通常使用动态指定的端口号与服务器建立连接 由本机地址 本机端口号 目标机地址 目标机端口号 通信协议组成的五元组 用于唯一确定正在使用的网络连结 因此 对于不同的协议 不同的目标机地址 本机的不同地址 如果本机使用多个网卡 等多种情形 同一个端口号可以复用 因此对于1对1通信 且本机与目标机之间只能建立一个通信连接 则不需要使用端口号 网络防火墙或者网关还可提供端口转发 port forwarding 即NAT 参见 编辑TCP UDP端口列表 取自 https zh wikipedia org w index php title 通訊埠 amp oldid 74544556, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。