A. 網路埠的埠含義
計算機「埠」 是英文port的義譯,可以認為是計算機與外界通訊交流的出口。其中硬體領域的埠又稱介面,如:USB埠、串列埠等。軟體領域的埠一般指網路中面向連接服務和無連接服務的通信協議埠,是一種抽象的軟體結構,包括一些數據結構和I/O(基本輸入輸出)緩沖區。
面向連接服務TCP協議和無連接服務UDP協議使用16bits埠號來表示和區別網路中的不同應用程序,網路層協議IP使用特定的協議號(TCP 6,UDP 17)來表示和區別傳輸層協議。
任何TCP/IP實現所提供的服務都是1-1023之間的埠號,這些埠號由IANA分配管理。其中,低於255的埠號保留用於公共應用;255到1023的埠號分配給各個公司,用於特殊應用;對於高於1023的埠號,稱為臨時埠號,IANA未做規定。
常用的保留TCP埠號有:
HTTP 80,FTP 20/21,Telnet 23,SMTP 25,DNS 53等。
常用的保留UDP埠號有:
DNS 53,BootP 67(server)/ 68(client),TFTP 69,SNMP 161等。
每個TCP報文頭部都包含源埠號(source port)和目的埠號(destination port),用於標識和區分源端設備和目的端設備的應用進程。
在TCP/IP協議棧中,源埠號和目的埠號分別與源IP地址和目的IP地址組成套接字(socket),唯一的確定一條TCP連接。
相對於TCP報文,UDP報文只有少量的欄位:源埠號、目的埠號、長度、校驗和等,各個欄位功能和TCP報文相應欄位一樣。
下面以TCP報文為例說明埠號的作用:
假設PC1向PC2發起Telnet遠程連接,其中目的埠號為知名埠號23,源埠號為1028。源埠號沒有特別的要求,只需保證該埠號在本機上是唯一的。
PC2收到數據包後,根據目的埠為23判斷出該數據包是Telnet數據包,將數據包轉發到上層Telnet協議。 按埠號可分為3大類:
(1)公認埠(Well Known Ports):從0到1023,它們緊密綁定(binding)於一些服務。通常這些埠的通訊明確表明了某種服務的協議。例如:80埠實際上總是HTTP通訊。
(2)注冊埠(Registered Ports):從1024到49151。它們鬆散地綁定於一些服務。也就是說有許多服務綁定於這些埠,這些埠同樣用於許多其它目的。例如:許多系統處理動態埠從1024左右開始。
(3)動態和/或私有埠(Dynamic and/or Private Ports):從49152到65535。理論上,不應為服務分配這些埠。實際上,機器通常從1024起分配動態埠。但也有例外:SUN的RPC埠從32768開始。
B. 套接字是什麼
套接字(socket)是一個抽象層,應用程序可以通過它發送或接收數據,可對其進行像對文件一樣的打開、讀寫和關閉等操作。套接字允許應用程序將I/O插入到網路中,並與網路中的其他應用程序進行通信。網路套接字是IP地址與埠的組合。
總之,套接字Socket=(IP地址:埠號),套接字的表示方法是點分十進制的IP地址後面寫上埠號,中間用冒號或逗號隔開。每一個傳輸層連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定。
(2)什麼是網路埠和套接字擴展閱讀
Socket最初是加利福尼亞大學Berkeley分校為Unix系統開發的網路通信介面。後來隨著TCP/IP網路的發展,Socket成為最為通用的應用程序介面,也是在Internet上進行應用開發最為通用的API。
Windows系統流行起來之後,由Microsoft聯合了其他幾家公司在Berkeley Sockets的基礎之上進行了擴充,共同制定了一套Windows下的網路編程介面,即Windows Sockets規范。
Windows Sockets規范是一套開放的、支持多種協議的Windows下的網路編程介面,包括1.1版和2.0版兩個版本。
參考資料來源:網路-套接字
C. 埠和套接字的區別是什麼
套接字可理解為:IP+埠。兩個都是傳輸層以上的概念
套接字是支持TCP/IP網路通信的基本操作單元。多個TCP連接或多個應用程序進程可能需要通過同一個
TCP協議埠傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的介面。
D. 什麼是網路套接字
源IP地址和目的IP地址以及源埠號和目的埠號的組合稱為套接字。其用於標識客戶端請求的伺服器和服務。
套接字,是支持TCP/IP的網路通信的基本操作單元,可以看做是不同主機之間的進程進行雙向通信的端點,簡單的說就是通信的兩方的一種約定,用套接字中的相關函數來完成通信過程。
非常非常簡單的舉例說明下:Socket=Ip
address+
TCP/UDP
+
port。
E. 如何理解網路比方說各種協議,套接字,埠,ip等等基本概念本人因為完全不理解網路的運行機制,所以
TCP/IP
要想理解socket首先得熟悉一下TCP/IP協議族, TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入網際網路及數據如何再它們之間傳輸的標准,
從字面意思來看TCP/IP是TCP和IP協議的合稱,但實際上TCP/IP協議是指網際網路整個TCP/IP協議族。不同於ISO模型的七個分層,TCP/IP協議參考模型把所有的TCP/IP系列協議歸類到四個抽象層中
應用層:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
傳輸層:TCP,UDP
網路層:IP,ICMP,OSPF,EIGRP,IGMP
數據鏈路層:SLIP,CSLIP,PPP,MTU
套接字:
套接字(socket)是通信的基石,是支持TCP/IP協議的網路通信的基本操作單元。它是網路通信過程中端點的抽象表示,包含進行網路通信必須的五種信息:連接使用的協議,本地主機的IP地址,本地進程的協議埠,遠地主機的IP地址,遠地進程的協議埠。
應用層通過傳輸層進行數據通信時,TCP會遇到同時為多個應用程序進程提供並發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個 TCP協議埠傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了套接字(Socket)介面。應用層可以和傳輸層通過Socket介面,區分來自不同應用程序進程或網路連接的通信,實現數據傳輸的並發服務。
F. 什麼是套接字,套接字是用來干什麼的
1、源IP地址和目的IP地址以及源埠號和目的埠號的組合稱為套接字。其用於標識客戶端請求的伺服器和服務。
2、套接字,是支持TCP/IP的網路通信的基本操作單元,可以看做是不同主機之間的進程進行雙向通信的端點,簡單的說就是通信的兩方的一種約定,用套接字中的相關函數來完成通信過程。
G. 伺服器軟體編程:埠與套接字
套接字和埠是兩碼事,套接字包含了IP,UDP,TCP等等協議的訪問,至於埠的限制應該是和操作系統有關,已經使用的埠不可能再被套接字使用。你客戶端與套接字進行連接也要開放一個埠,明白嗎?
H. 什麼叫套接字
套接字又稱插口,是TCP用主機的IP地址加上主機上的埠號作為TCP連接的端點,這種端點就叫做套接字或插口。是網路通信過程中端點的抽象表示,包含進行網路通信必需的五種信息:1、連接使用的協議;2、本地主機的IP地址;3、本地進程的協議埠;4、遠地主機的IP地址;5、遠地進程的協議埠。