熟悉並了解tcp和udp協議的報文段格式的同學,對於埠這個詞一定不陌生。在這些報文段格式中我們總能看到源埠和目的埠這些字段,那關於埠今天這篇文章我們便來了解一下。
我們知道兩個程序要想在計算機內部盡享通訊,可以有管道、共享記憶體、訊號量、訊息佇列等方法。兩個程序如果需要進行通訊最基本的前提是能夠唯一的表示乙個程序,在本地程序通訊中我們可以使用【pid(程序識別符號)】來唯一標識乙個程序。
但pid只在本地唯一,如果把兩個程序放在不同的兩台計算機上,然後他們進行通訊的話pid就不可以了,所以就需要另外一種手段。
解決這個問題的方法就是在運輸層使用【協議埠號】,簡稱【埠】。
ip層的ip位址可以唯一標識一台主機,而tcp協議和埠號可以唯一標識主機的乙個程序,這樣我們就可以利用(ip位址+協議+埠號)唯一標識網路中的乙個程序。我們把這種模式稱為【套接字(socket)】。
這就是說,雖然通訊的重點是程序,但我們只要把傳送的保溫交給目的主機的摸乙個合適的埠,剩下的工作就有tcp來完成了。
tcp 用乙個 16 位埠號來標識乙個埠,可允許有 65536 ( 2的16次方) 個不同的埠號,範圍在 0 ~ 65535 之間。
埠號根據伺服器使用還是客戶端使用,以及常見不常見的維度來區分,主要有以下類別:
伺服器端使用的埠號
客戶端使用的埠號
伺服器端使用的埠號
熟知埠號:
取值範圍:0 ~ 1023。
伺服器機器一接通電源,伺服器程式就執行起來,為了讓網際網路上所有的客戶程式都能找到伺服器程式,伺服器程式所使用的埠就必須是固定的,並且是眾所周知的。
一些常見的埠號:
應用程式
熟知埠號
登記埠號:
取值範圍:1024 ~ 49151。
這類埠沒有熟知的應用程式使用,但是需要登記,以防重複
客戶端使用的埠號
取值範圍:49152 ~ 65535。
這類埠僅在客戶端程序執行時才動態選擇。
又叫短暫埠號,表示這種埠的存在時間是短暫的,客戶程序並不在意作業系統給它分配的是哪乙個埠號,因為客戶程序之所以必須有乙個埠號,是為了讓傳輸層的實體能夠找到自己。
了解網路通訊中的埠
熟悉tcp udp協議的同學可能都知道埠這一詞,無論是tcp還是udp報文都有源埠和目的埠字段,為什麼會需要這些欄位呢?這是因為,對於網路之間的通訊,本質而言就是應用程序之間的通訊,而ip協議只提供主機與主機之間的通訊,可是乙個主機有那麼多程序,如何區別是哪個程序通訊呢?埠就起著標識的作用。通過ip...
網路埠的作用及分類
一 什麼是埠?在開始講什麼是埠 port 之前,我們先來聊一聊什麼是 port 呢?常常在網路上聽說 我的主機開了多少的 port 會不會被入侵呀!或者是說 開那個 port 會比較安全?又,我的服務應該對應什麼 port 呀!呵呵!很神奇吧!怎麼一部主機上面有這麼多的奇怪的 port 呢?這個 p...
網路通訊中各種裝置介紹
在計算機網路中,我們經常遇到集線器hub,交換機switch,網橋bridge,路由器router,今天來介紹一下這幾個裝置的功能。所以集線器的功能就是乙個口接收訊號,原封不動的傳送到其他所有口,相當於乙個大喇叭,有點類似於廣播。但比廣播更存粹。由於hub只是簡單的 所以hub工作物理層 l1 網橋...