SSDP

SSDP

簡單服務發現協定(SSDP,Simple Service Discovery Protocol)是一種套用層協定,是構成通用即插即用(UPnP)技術的核心協定之一。當設備監聽到這個保留的多播地址上由控制點傳送的訊息的時候,設備會分析控制點請求的服務,如果自身提供了控制點請求的服務,設備將通過單播的方式直接回響控制點的請求。類似的,當一個設備接入網路的時候,它應當向一個特定的多播地址的SSDP連線埠使用NOTIFY方法傳送“ssdp:alive”訊息。當一個設備計畫從網路上卸載的時候,它也應當向一個特定的多播地址的SSDP連線埠使用NOTIFY方法傳送“ssdp:byebye”訊息。

簡介

簡單服務發現協定提供了在局部網路裡面發現設備的機制。控制點(也就是接受服務的客戶端)可以通過使用簡單服務發現協定,根據自己的需要查詢在自己所在的局部網路裡面提供特定服務的設備。設備(也就是提供服務的伺服器端)也可以通過使用簡單服務發現協定,向自己所在的局部網路裡面的控制點聲明它的存在。

實現

簡單服務發現協定是在HTTPU和HTTPMU的基礎上實現的協定。

按照協定的規定,當一個控制點(客戶端)接入網路的時候,它可以向一個特定的多播地址的SSDP連線埠使用M-SEARCH方法傳送“ssdp:discover”訊息。當設備監聽到這個保留的多播地址上由控制點傳送的訊息的時候,設備會分析控制點請求的服務,如果自身提供了控制點請求的服務,設備將通過單播的方式直接回響控制點的請求。

類似的,當一個設備接入網路的時候,它應當向一個特定的多播地址的SSDP連線埠使用NOTIFY方法傳送“ssdp:alive”訊息。控制點根據自己的策略,處理監聽到的訊息。考慮到設備可能在沒有通知的情況下停止服務或者從網路上卸載,“ssdp:alive”訊息必須在HTTP協定頭CACHE-CONTROL裡面指定逾時值,設備必須在約定的逾時值到達以前重發“ssdp:alive”訊息。如果控制點在指定的逾時值內沒有再次收到設備傳送的“ssdp:alive”訊息,控制點將認為設備已經失效。

當一個設備計畫從網路上卸載的時候,它也應當向一個特定的多播地址的SSDP連線埠使用NOTIFY方法傳送“ssdp:byebye”訊息。但是,即使沒有傳送“ssdp:byebye”訊息,控制點也會根據“ssdp:alive”訊息指定的逾時值,將逾時並且沒有再次收到的“ssdp:alive”訊息對應的設備認為是失效的設備。

在IPv4環境,當需要使用多播方式傳送相關訊息的時候,SSDP一般使用多播地址239.255.255.250和UDP連線埠號1900。

根據網際網路地址指派機構的指派,SSDP在IPv6環境下使用多播地址FF0x::C,這裡的X根據scope的不同可以有不同的取值。

相關搜尋

熱門詞條

聯絡我們