SSDP協議分析


SSDP協議的設計初衷是使用HTTP協議進行設備的發現,是UPnP協議的組成部分。

從網絡層次模型來看,SSDP協議構建在HTTPU和HTTPMU之上。HTTPU是以UDP實現的HTTP協議,HTTPMU是廣播的HTTPU。

SSDP協議包括三種消息:

  1. SSDP 發現請求(ssdp::discover),使用HTTPMU發送,收到該消息的客戶端需要回HTTP OK(HTTPU),響應需要包含:
    • 設備URL,客戶端訪問該URL拉取設備信息,將設備加入其設備列表;
    • 心跳間隔,單位秒,該字段表明設備發送心跳的間隔,若時間間隔內沒有收到心跳,客戶端認為設備離線。
  2. SSDP心跳(ssdp::alive),使用HTTPMU發送,收到該請求的客戶端更新其設備列表。不需要回響應。
  3. SSDP離線(ssdp::byebye),使用HTTPMU發送,收到該請求的客戶端將設備從其設備列表刪除。不需要回響應。

SSDP協議中,發現請求和心跳都可用於發現設備,一個是主動發現,另一個是被動發現。這樣設計的理由是可以在最短的時間發現新設備。

在當前的SSDP版本中,HTTPMU約定廣播地址是239.255.255.250,端口1900,這是一個保留地址,用於管理。同樣的,客戶端要收到廣播消息需要綁定該地址。由於同一端口只能綁定TCP或UDP,因此同樣是HTTP協議,HTTPMU不能使用80端口。

參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM