日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用程序端口分类

發布時間:2025/3/21 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用程序端口分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

軟件領域的端口一般指網絡中面向連接服務和無連接服務的通信協議端口,是一種抽象的軟件結構,包括一些數據結構和I/O(基本輸入輸出)緩沖區。

面向連接服務和無連接服務
可以先了解面向連接和無連接協議(Connection-OrientedandConnectionlessProtocols)面向連接服務的主要特點有:面向連接服務要經過三個階段:數據傳數前,先建立連接,連接建立后再傳輸數據,數據傳送完后,釋放連接。面向連接服務,可確保數據傳送的次序和傳輸的可靠性。無連接服務的特點是:無連接服務只有傳輸數據階段。消除了除數據通信外的其它開銷。只要發送實體是活躍的,無須接收實體也是活躍的。它的優點是靈活方便、迅速,特別適合于傳送少量零星的報文,但無連接服務不能防止報文的丟失、重復或失序。

區分"面向連接服務"和"無連接服務"的概念
區分特別簡單、形象的例子是:打電話和寫信。兩個人如果要通電話,必須先建立連接--撥號,等待應答后才能相互傳遞信息,最后還要釋放連接--掛電話。寫信就沒有那么復雜了,地址姓名填好以后直接往郵筒一扔,收信人就能收到。TCP/IP協議在網絡層是無連接的(數據包只管往網上發,如何傳輸和到達以及是否到達由網絡設備來管理)。而"端口",是傳輸層的內容,是面向連接的。協議里面低于1024的端口都有確切的定義,它們對應著因特網上常見的一些服務。

這些常見的服務劃分
劃分為使用TCP端口(面向連接如打電話)和使用UDP端口(無連接如寫信)兩種。

網絡中可以被命名和尋址的通信端口是操作系統的一種可分配資源。由網絡OSI(開放系統互聯參考模型,OpenSystemInterconnectionReferenceModel)七層協議可知,傳輸層與網絡層最大的區別是傳輸層提供進程通信能力,網絡通信的最終地址不僅包括主機地址,還包括可描述進程的某種標識。所以TCP/IP協議提出的協議端口,可以認為是網絡通信進程的一種標識符。

應用程序(調入內存運行后一般稱為:進程)通過系統調用與某端口建立連接(binding,綁定)后,傳輸層傳給該端口的數據都被相應的進程所接收,相應進程發給傳輸層的數據都從該端口輸出。在TCP/IP協議的實現中,端口操作類似于一般的I/O操作,進程獲取一個端口,相當于獲取本地唯一的I/O文件,可以用一般的讀寫方式訪問類似于文件描述符,每個端口都擁有一個叫端口號的整數描述符,用來區別不同的端口。由于TCP/IP傳輸層的TCP和UDP兩個協議是兩個完全獨立的軟件模塊,因此各自的端口號也相互獨立。如TCP有一個255號端口,UDP也可以有一個255號端口,兩者并不沖突。端口號有兩種基本分配方式:第一種叫全局分配這是一種集中分配方式,由一個公認權威的中央機構根據用戶需要進行統一分配,并將結果公布于眾,第二種是本地分配,又稱動態連接,即進程需要訪問傳輸層服務時,向本地操作系統提出申請,操作系統返回本地唯一的端口號,進程再通過合適的系統調用,將自己和該端口連接起來(binding,綁定)。TCP/IP端口號的分配綜合了以上兩種方式,將端口號分為兩部分,少量的作為保留端口,以全局方式分配給服務進程。每一個標準服務器都擁有一個全局公認的端口叫周知口,即使在不同的機器上,其端口號也相同。剩余的為自由端口,以本地方式進行分配。TCP和UDP規定,小于256的端口才能作為保留端口。

按端口號可分為3大類:

(1)公認端口(WellKnownPorts):從0到1023,它們緊密綁定(binding)于一些服務。通常這些端口的通訊明確表明了某種服務的協議。例如:80端口實際上總是HTTP通訊。

(2)注冊端口(RegisteredPorts):從1024到49151。它們松散地綁定于一些服務。也就是說有許多服務綁定于這些端口,這些端口同樣用于許多其它目的。例如:許多系統處理動態端口從1024左右開始。

(3)動態和/或私有端口(Dynamicand/orPrivatePorts):從49152到65535。理論上,不應為服務分配這些端口。實際上,機器通常從1024起分配動態端口。但也有例外:SUN的RPC端口從32768開始。

系統管理員可以"重定向"端口:
一種常見的技術是把一個端口重定向到另一個地址。例如默認的HTTP端口是80,不少人將它重定向到另一個端口,如8080。如果是這樣改了,要訪問本文就應改用這個地址http://wwd.3322.net:8080/net/port.htm(當然,這僅僅是理論上的舉例)。實現重定向是為了隱藏公認的默認端口,降低受破壞率。這樣如果有人要對一個公認的默認端口進行攻擊則必須先進行端口掃描。大多數端口重定向與原端口有相似之處,例如多數HTTP端口由80變化而來:81,88,8000,8080,8888。同樣POP的端口原來在110,也常被重定向到1100。也有不少情況是選取統計上有特別意義的數,象1234,23456,34567等。許多人有其它原因選擇奇怪的數,42,69,666,31337。近來,越來越多的遠程控制木馬(RemoteAccessTrojans,RATs)采用相同的默認端口。如NetBus的默認端口是12345。BlakeR.Swopes指出使用重定向端口還有一個原因,在UNIX系統上,如果你想偵聽1024以下的端口需要有root權限。如果你沒有root權限而又想開web服務,你就需要將其安裝在較高的端口。此外,一些ISP的防火墻將阻擋低端口的通訊,這樣的話即使你擁有整個機器你還是得重定向端口。

按對應的協議類型端口有兩種:
TCP端口和UDP端口。由于TCP和UDP 兩個協議是獨立的,因此各自的端口號也相互獨立,比如TCP有235端口,UDP也 可以有235端口,兩者并不沖突。

1.周知端口(Well Known Ports)

周知端口是眾所周知的端口號,范圍從0到1023,其中80端口分配給W WW服務,21端口分配給FTP服務等。我們在IE的地址欄里輸入一個網址的時候( 比如www.cce.com.cn)是不必指定端口號的,因為在默認情況下WWW服務的端口 號是“80”。

網絡服務是可以使用其他端口號的,如果不是默認的端口號則應該在 地址欄上指定端口號,方法是在地址后面加上冒號“:”(半角),再加上端口 號。比如使用“8080”作為WWW服務的端口,則需要在地址欄里輸入“www.cce.com.cn:8080”。

但是有些系統協議使用固定的端口號,它是不能被改變的,比如139 端口專門用于NetBIOS與TCP/IP之間的通信,不能手動改變。

2.動態端口(Dynamic Ports)

動態端口的范圍是從1024到65535。之所以稱為動態端口,是因為它 一般不固定分配某種服務,而是動態分配。動態分配是指當一個系統進程或應用 程序進程需要網絡通信時,它向主機申請一個端口,主機從可用的端口號中分配 一個供它使用。當這個進程關閉時,同時也就釋放了所占用的端口號。


原文地址:http://blog.163.com/liuying_z/blog/static/11414072007111393228593/

總結

以上是生活随笔為你收集整理的应用程序端口分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。