通用即插即用 (UPnP)
在本文中,我們將瞭解 UPnP 的概念。它具有在區域網內自動發現和連線裝置的功能。它使用 TCP/IP、DHCP 和 HTTP 等標準協議來建立連線並在無線連線的裝置上獲取 IP 地址。
UPnP 裝置很受歡迎,因為使用者可以將影片流式傳輸到連線到網際網路的電視,使用支援物聯網的裝置可以簡化家庭自動化,將印表機連線到筆記型電腦、PC、智慧電視等。
讓我們來看一個例子
使用 UPnP 可以更輕鬆地在 PC 或筆記型電腦或任何其他支援網路的裝置與印表機之間建立連線。因此,當需要從相機或筆記型電腦列印任何資料內容或影像時,此協議會搜尋可用的可列印裝置並使用 URL 發現其位置,並在私有網路中連線的兩個裝置之間建立連線。
UPnP 的重要性
在此技術之前,使用者必須手動設定每個裝置的配置和安裝才能連線到網路。設定完成後,每次都必須在區域網上發現裝置。因此,所有這些手動操作都需要更多時間才能在網路裝置之間建立連線。
使用 UPnP,一旦裝置在網路上被發現,它就會自動連線以供下次使用。
UPnP 的工作原理
此協議使用埠轉發技術,使應用程式或裝置能夠建立和關閉連線到區域網的埠。
當裝置進入網路時,UPnP 裝置開始執行以下步驟:
定址
每個裝置都擁有自己的 IP 地址,因此裝置使用其 IP 地址向 DHCP 伺服器傳送請求。
裝置發現
SSDP(簡單服務發現協議)用於發現裝置,向網路提供裝置規格、分配的名稱、服務等資訊,將其標記為即時訊息,以便其他裝置監聽 SSDP 訊息進行交換。
指定描述
發現過程成功後,裝置需要新增有關其型號名稱、ID 或序列號、提供的服務以及位置 URL 的詳細資訊。所有這些詳細資訊都作為 XML 資料傳遞到網路。
控制
在開始與裝置互動之前,控制點使用 SOAP(簡單物件訪問協議)傳送和接收訊息以使用裝置提供的服務,這些訊息採用 XML 格式。
事件通知
控制點將自己註冊為裝置,並在狀態值發生更改時向註冊在同一網路上的其他控制點發送通知。通用事件通知架構 (GENE) 已用於傳送和接收通知。
演示
在規範階段提供網站 URL 時,控制點可以訪問它並將其用於載入到 Web 伺服器。
安全問題
未為裝置提供身份驗證,這是 UPnP 轉發中的主要安全問題。
此協議假設所有請求裝置都是可信的,這反過來會導致駭客或攻擊者進入網路並竊取資料或傳送惡意程式碼。
沒有固定的正確實現方法,因此當連線多個裝置時,每個路由器都有其自己的方法,這可能會導致錯誤或惡意軟體程式,這些程式反過來又會透過連線到網路的所有裝置進行傳輸。
應用
通用即插即用通常用於許多即時應用程式,其中包括以下幾點:
從連線到網路的任何裝置(筆記型電腦/PC/相機等)連線到印表機或任何其他外圍裝置。
用於物聯網裝置的自動化目的。
家庭自動化和監控系統,如 Alexa、房間自動照明、門禁安全鎖等。
遊戲伺服器也可以連線以流式傳輸線上遊戲並使用遊戲機玩遊戲。
將資料從筆記型電腦或 PC 或智慧手機流式傳輸到網際網路使智慧電視成為可能。
將揚聲器連線到手機或筆記型電腦。
避免安全問題的步驟
根據使用者所需的安全性啟用或停用 UPnP 路由器。當此協議用於家庭網路或受信任的私有網路時,最好不要讓任何第三方入侵者或駭客訪問任何機密資料。
安裝任何監控流量並檢測任何惡意使用者並提供通知的網路安全工具或網路軟體,使其成為安全風險的高優先順序。此軟體具有具有高階防火牆功能的多因素身份驗證選項。
結論
通用即插即用幫助裝置在定義的網路內進行通訊和連線自身。這為在任何裝置與所需的其他外圍裝置之間建立連線提供了舒適的環境。但是,此協議仍然存在安全風險,因為它信任所有連線的裝置,這可能會導致網路攻擊。透過停用特定路由器或在網路裝置上安裝保護軟體工具進行監控,也可以避免此缺陷。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP