1. 程式人生 > >UPNP協議(超詳細)--客戶端之一簡介

UPNP協議(超詳細)--客戶端之一簡介

UPNP
(UPNP是一個互動的大過程,埠對映(實現前三步)只是應用它實現的一個小例子)
簡介
組成:
服務:路由… 客戶:埠對映軟體(只實現前三步)、攝像機…
工作流程:
0定址-1發現-2描述-3控制-4觸發-5展示
1.描述一:簡要介紹下UPnP的工作流程:裝置加入網路後通過裝置定址就可自動獲得IP地址,通過裝置發現,控制點就可知道網路上存在哪些裝置,通過裝置描述控制點就可知道裝置詳細資訊以及裝置提供哪些服務,通過裝置控制控制點可以使用裝置的服務,通過裝置事件裝置就可以將其狀態變化及時告訴給感興趣的控制點,通過裝置表達控制點可以用瀏覽器察看裝置狀態和控制裝置。通過上述的六個方面,UPnP裝置可以做到在“零配置”的前提下提供了聯網裝置之間的自動發現、自動宣告、“直接”資訊交換和互操作等功能,真正實現“裝置即插即用”。
2.描述二:(裝置1(控制點)指代客戶端、裝置2(裝置主機)指代服務端)
 第0步是裝置定址
裝置2定址、
裝置1定址(各自獲得一個IP地址)       
第1步是發現裝置(三種查詢方式:1.通過裝置型別或服務型別同步搜尋裝置
2.以其獨特的裝置名稱裝置搜尋(UDN)3.非同步搜尋—–都是SSDP查詢)
裝置2定址後,就開始向網路“廣播”自己已經進入網路,即尋找控制請求,向所有控制點宣告服務
裝置1定址後,在有控制請求之後,裝置1在當前的網路中查詢有無感興趣的裝置2
第2步是裝置描述
裝置1 發現裝置2獲得一個URL,下載對應的XML檔案(檔案包括裝置2的具體資訊)。                                 
第3步是裝置控制(埠對映)
裝置1 通過第2步獲得的控制URL,通過向其傳送控制訊息(同樣用XML描述)來實現某些功能
裝置2 收到裝置1發來的控制訊息,返回相應訊息,指出失敗或者成功
第4步裝置事件
第5步裝置表達
3.描述三:

1、 首先控制點和裝置都先獲取IP地址後才能進行下一步的工作;
2、 控制點首先要尋找整個網路上的UPnP裝置,同時網路上的裝置也要宣告自身的存在;
3、 控制點要取得裝置的描述,包括這些裝置提供什麼樣的服務;
4、 控制點發出動作資訊給裝置;
5、 控制點監聽裝置的狀態,當狀態改變時作出相應的處理動作;
原理:
UPnP (通用即插即用Universal Plug and Play)是各種各樣的智慧裝置、無線裝置和個人電腦等實現遍佈全球的對等網路連線(P2P)的結構.
埠對映(分為動態和靜態)就是將外網主機的IP地址的一個埠對映到內網中一臺機器,提供相應的服務。當網路中使用者訪問該IP的這個埠時,伺服器自動將請求對映到對應區域網內部的機器上。
例子:你家在A小區一號樓(外網IP),你的朋友來找你,找到小區門口,不知道你住在幾層,然後問保安,保安查到你的名字(內網IP)然後告訴你在幾樓幾號,所以你的朋友很輕鬆的找到了你的家,在這個過程中,保安通過業主的名字查到業主的門牌號這就是一種對映關
動態埠對映:內網中的一臺電腦要訪問百度(某一網站),會向NAT閘道器傳送資料包,包頭中包括對方網站IP、埠和本機IP、埠,NAT閘道器會把本機IP(內網)、埠替換成自己的公網IP(外網IP)、一個未使用的埠(外網埠),並且會記下這個對映關係,為以後轉發資料包使用。然後再把資料發給百度,百度收到資料後做出反應,傳送資料到NAT閘道器的那個未使用的埠,然後NAT閘道器將資料轉發給內網中的那臺電腦,實現內網和公網的通訊.當連線關閉時,NAT閘道器會釋放分配給這條連線的埠,以便以後的連線可以繼續使用。
靜態埠對映: 就是在NAT閘道器上開放一個固定的埠,然後設定此埠收到的資料要轉發給內網哪個IP和埠,不管有沒有連線,這個對映關係都會一直存在。就可以讓公網主動訪問內網的一個電腦.

功能:
自動埠對映,方便外部使用(比如攝像機(控制點),upnp連上,路由器外網IP的一個埠對映到攝像機所擁有的IP上,需要時直接用外接裝置連上這個埠操作控制點)

工具:
1.Wareshark(抓包分析)
2.小米路由器
3.迅雷軟體(配置中心開啟upnp)(用來測試檢視)