SSDP協議內容解析

2021-06-22 08:36:58 字數 1692 閱讀 5222

ssdp(****** service discovery protocol),簡單服務發現協議,用於發現區域網裡面的裝置和服務。

ssdp訊息分為裝置查詢訊息、裝置通知訊息兩種,通常情況下,使用更多地是裝置查詢訊息。

1、裝置查詢訊息:

格式例子如下:

其中第一行是訊息頭,固定;host對應的是廣播位址和埠,239.255.255.250是預設ssdp廣播ip位址,1900是預設的ssdp埠;

man後面的ssdp:discover為固定,mx為最長等待時間,st:查詢目標,它的值可以是:

upnp:rootdevice 僅搜尋網路中的根裝置 

uuid:device-uuid 查詢uuid標識的裝置 

urn:schemas-upnp-org:device:device-type:version 查詢device-type欄位指定的裝置型別,裝置型別和版本由upnp組織定義。 

其中,第三種一般可以用來自定義裝置,如:st: urn:schemas-upnp-org:device:server:1

在裝置接收到查詢請求並且查詢型別(st字段值)與此裝置匹配時,裝置必須向多播位址239.255.255.250:1900回應響應訊息。一般形如:

最常用的裝置發現就講完了,不常用的裝置通知和裝置發現差別不大,主要是:

http頭不同,裝置通知的頭為

notify * http/1.1
無mx,增加:
nt	在此訊息中,nt頭必須為服務的服務型別。

nts 表示通知訊息的子型別,必須為ssdp:alive或者ssdp:byebye

usn 表示不同服務的統一服務名,它提供了一種標識出相同型別服務的能力

典型的裝置通知訊息格式如下:
notify * http/1.1

host: 239.255.255.250:1900

cache-control: max-age = seconds until advertisement expires

location: url for upnp description for root device

nt: search target

nts: ssdp:alive

usn: advertisement uuid

下一章節將會講述ssdp協議的android實現,用於android手機發現區域網裡面的裝置服務。

SSDP協議基礎

ssdp協議,不知道大家是否聽說過呢?這個協議的使用多出現在埠當中。下面我們就來了解一下這個協議的具體內容吧。什麼是ssdp協議呢?ssdp就是簡單服務發現協議 ssdp,service discovery protocol 是一種應用層協議,是構成通用即插即用 upnp 技術的核心協議之一。簡單服...

SSDP協議的Python示例

廢話少說,直接上 服務端ssdp server.py 繫結到任意位址和ssdp組播埠上 self.s.bind any ip,ssdp port info 使用預設值 self.s.setsockopt socket.sol ip,socket.ip multicast ttl,20 self.s....

關於SSDP協議的基礎知識

ssdp就是簡單服務發現協議 servicediscoveryprotocol 是一種應用層協議,它是構成通用即插即用 也就是upnp,upnp是各種各樣的智慧型裝置 無線裝置和個人電腦等實現遍布全球的對等網路連線的結構 技術的核心協議之一。簡單服務發現協議提供了在區域性網路裡面發現裝置的機制。控制...