埠對映與UPnP

2021-04-28 00:30:58 字數 876 閱讀 4555

埠對映與upnp

upnp是通用即插即用(universal plug and play)的縮寫,它主要用於實現裝置的智慧型互聯互通。使用upnp協議不需要裝置驅動程式,因此使用upnp建立的網路是介質無關的,它可以執行在幾乎所有的作業系統平台之上,可以使用任何開發語言,使得在辦公室、家庭和其他公共場所方便地構建裝置相互聯通的網路環境。upnp實際上是擴充套件了傳統單機的裝置和計算機系統的概念,在"零配置"的前提下提供了連網裝置之間的發現、介面宣告和其他資訊的交換等互動操作功能。

從upnp的定義來看,它的功能不僅僅是能夠實現埠對映。但是實現埠對映是它的一項重要的功能,也是我們最常利用的功能。埠對映,可以理解為就是網路位址的轉換,即nat,那麼upnp是如何實現這種轉換的呢?

要實現upnp,首先要作業系統支援這種協議,還衷詰牟僮饗低常琖inxp, win2k, vista都支援這個功能,不過系統預設不安裝,需要手動安裝。其次,路由器要支援upnp協議,不過,現在的主流路由器都支援這個功能。最後,在程式中實現upnp。下面的過程是程式利用upnp協議實現埠對映:

1. 尋找upnp裝置

首先通過廣播的形式傳送udp資料報,如果收到了應答訊息,根據應答訊息可以得到upnp裝置的埠和位址。

這裡面的廣播資料格式有嚴格的規定,可以查詢相關的資料。成功的找到upnp裝置,會收到類似

http/1.1 200 ok 的訊息響應。

2. 根據第一步獲得的路由器的ip和埠,和路由器建立socket連線,獲取路由器的控制url.

3. 根據第二步的控制url, 向路由器傳送新增埠對映的控制資訊。

4. 如果第3步新增成功,則可以向路由器傳送查詢對映項的資訊。

5. 當程式退出的時候,需要傳送刪除埠對映的控制資訊,刪除埠對映。

UPnP 埠對映原理

三.miniupnp 參考實現 upnp 條件 簡單來理解的話,upnp 是一種裝置間通訊協議,功能是建立裝置和 nat 閘道器的埠對映,目的是希望接入 internet 的任意兩個裝置在 lan 下可以相互通訊。裝置加入網路時,通過簡單服務發現協議 ssdp 尋找網路上可用裝置。internet ...

磁碟對映與埠對映

對映網路驅動器 就是把在其它電腦上的乙個共享資料夾變為自己電腦上的乙個邏輯驅動器符,以供使用方便。對映網路驅動器 的意思是將區域網中的某個目錄對映成本地驅動器號,就是說把網路上其他機器的共享的資料夾對映自己機器上的乙個磁碟,這樣可以提高訪問時間。對映網路驅動器 就是把在其它電腦上的乙個共享資料夾變為...

埠對映與主機對映

功能 公網的位址轉翻譯成私有位址,採用路由方式的adsl寬頻路由器擁有乙個動態或固定的公網ip,adsl直接接在hub或交換機上,所有的電腦共享上網 將外網主機的ip位址的乙個埠對映到內網中一台機器,提供相應的服務。當使用者訪問該ip的這個埠時,伺服器自動將請求對映到對應區域網內部的機器上 埠對映有...