資源描述:
《計算機端口詳解47264》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、計算機端口詳解47264計算機端口詳解計算機“端口”是英文port的義譯,可以認為是計算機與外界通訊交流的出口。其中硬件領域的端口又稱接口,如:USB端口、串行端口等。軟件領域的端口一般指網(wǎng)絡中面向連接服務和無連接服務的通信協(xié)議端口,是一種抽象的軟件結(jié)構(gòu),包括一些數(shù)據(jù)結(jié)構(gòu)和I/O(基本輸入輸出)緩沖區(qū)?!】梢韵攘私饷嫦蜻B接和無連接協(xié)議(Connection-OrientedandConnectionlessProtocols) 面向連接服務的主要特點有:面向連接服務要經(jīng)過三個階段:數(shù)據(jù)傳數(shù)前,先建立連接,連接建立后再傳
2、輸數(shù)據(jù),數(shù)據(jù)傳送完后,釋放連接。面向連接服務,可確保數(shù)據(jù)傳送的次序和傳輸?shù)目煽啃浴!o連接服務的特點是:無連接服務只有傳輸數(shù)據(jù)階段。消除了除數(shù)據(jù)通信外的其它開銷。只要發(fā)送實體是活躍的,無須接收實體也是活躍的。它的優(yōu)點是靈活方便、迅速,特別適合于傳送少量零星的報文,但無連接服務不能防止報文的丟失、重復或失序?!^(qū)分“面向連接服務”和“無連接服務”的概念,特別簡單、形象的例子是:打電話和寫信。兩個人如果要通電話,必須先建立連接——撥號,等待應答后才能相互傳遞信息,最后還要釋放連接——掛電話。寫信就沒有那么復雜了,地址姓名填
3、好以后直接往郵筒一扔,收信人就能收到。TCP/IP協(xié)議在網(wǎng)絡層是無連接的(數(shù)據(jù)包只管往網(wǎng)上發(fā),如何傳輸和到達以及是否到達由網(wǎng)絡設備來管理)。而“端口”,是傳輸層的內(nèi)容,是面向連接的。協(xié)議里面低于1024的端口都有確切的定義,它們對應著因特網(wǎng)上常見的一些服務。這些常見的服務可以劃分為使用TCP端口(面向連接如打電話)和使用UDP端口(無連接如寫信)兩種?!【W(wǎng)絡中可以被命名和尋址的通信端口是操作系統(tǒng)的一種可分配資源。由網(wǎng)絡OSI(開放系統(tǒng)互聯(lián)參考模型,OpenSystemInterconnectionReferenceMo
4、del)七層協(xié)議可知,傳輸層與網(wǎng)絡層最大的區(qū)別是傳輸層提供進程通信能力,網(wǎng)絡通信的最終地址不僅包括主機地址,還包括可描述進程的某種標識。所以TCP/IP協(xié)議提出的協(xié)議端口,可以認為是網(wǎng)絡通信進程的一種標識符?!贸绦颍ㄕ{(diào)入內(nèi)存運行后一般稱為:進程)通過系統(tǒng)調(diào)用與某端口建立連接(binding,綁定)后,傳輸層傳給該端口的數(shù)據(jù)都被相應的進程所接收,相應進程發(fā)給傳輸層的數(shù)據(jù)都從該端口輸出。在TCP/IP協(xié)議的實現(xiàn)中,端口操作類似于一般的I/O操作,進程獲取一個端口,相當于獲取本地唯一的I/O文件,可以用一般的讀寫方式訪問
5、?!☆愃朴谖募枋龇?,每個端口都擁有一個叫端口號的整數(shù)描述符,用來區(qū)別不同的端口。由于TCP/IP傳輸層的TCP和UDP兩個協(xié)議是兩個完全獨立的軟件模塊,因此各自的端口號也相互獨立。如TCP有一個255號端口,UDP也可以有一個255號端口,兩者并不沖突?!《丝谔栍袃煞N基本分配方式:第一種叫全局分配這是一種集中分配方式,由一個公認權威的中央機構(gòu)根據(jù)用戶需要進行統(tǒng)一分配,并將結(jié)果公布于眾,第二種是本地分配,又稱動態(tài)連接,即進程需要訪問傳輸層服務時,向本地操作系統(tǒng)提出申請,操作系統(tǒng)返回本地唯一的端口號,進程再通過合適的系統(tǒng)
6、調(diào)用,將自己和該端口連接起來(binding,綁定)。TCP/IP端口號的分配綜合了以上兩種方式,將端口號分為兩部分,少量的作為保留端口,以全局方式分配給服務進程。每一個標準服務器都擁有一個全局公認的端口叫周知口,即使在不同的機器上,其端口號也相同。剩余的為自由端口,以本地方式進行分配。TCP和UDP規(guī)定,小于256的端口才能作為保留端口。*******************************************************************************************
7、*****************************************************************************************按端口號可分為3大類:(1)公認端口(WellKnownPorts):從0到1023,它們緊密綁定(binding)于一些服務。通常這些端口的通訊明確表明了某種服務的協(xié)議。例如:80端口實際上總是HTTP通訊。(2)注冊端口(RegisteredPorts):從1024到49151。它們松散地綁定于一些服務。也就是說有許多服務綁定于這些端口,這
8、些端口同樣用于許多其它目的。例如:許多系統(tǒng)處理動態(tài)端口從1024左右開始。(3)動態(tài)和/或私有端口(Dynamicand/orPrivatePorts):從49152到65535。理論上,不應為服務分配這些端口。實際上,機器通常從1024起分配動態(tài)端口。但也有例外:SUN的RPC端口從32768開始。系統(tǒng)管理員可以“重定向”端口: