SSDP | |
---|---|
Nume | Protocol simplu de descoperire a serviciului |
Nivel (conform modelului OSI ) | sesiune |
Familie | TCP/IP |
Port/ID | 1900/ UDP |
Simple Service Discovery Protocol ( SSDP ) este un protocol de rețea bazat pe suita de protocoale Internet , care este utilizată pentru a face publicitate și a descoperi serviciile de rețea . SSDP permite descoperirea serviciului fără a necesita mecanisme speciale de configurare statică sau acțiuni de la servere precum DHCP sau DNS . Acest protocol stă la baza protocolului de descoperire Universal Plug-and-Play (UPnP) și este destinat utilizării în rețelele de acasă și întreprinderile mici. O descriere a protocolului SSDP, scrisă de Microsoft și Hewlett-Packard , a fost trimisă în 1999 ca un proiect de Internet către IETF . Oferta a expirat în aprilie 2000 [1] , dar SSDP a fost inclus în stiva de protocoale UPnP, iar implementarea SSDP a fost inclusă în standardul UPnP. [2] [3]
SSDP descrie un mecanism prin care clienții de rețea pot descoperi diverse servicii de rețea . Clienții folosesc SSDP fără configurare prealabilă. SSDP acceptă descoperirea multicast , notificări de server și rutare. Acest serviciu permite descoperirea dispozitivelor UPnP în rețeaua de domiciliu. De exemplu, un televizor cu DLNA / UPNP găsește servere media în rețeaua locală folosind acest protocol. Routerele de acasă sunt descoperite de computere, de obicei folosind și SSDP (pentru a afișa informații despre routere și servere media în Network Neighborhood, aceste dispozitive trebuie să accepte și protocolul HTTP , deoarece SSDP oferă dispozitivelor un link http către pagina de gestionare a dispozitivului).
Protocolul SSDP este un schimb de mesaje text cu formatare XML , se bazează pe HTTPU (din engleză. HTTP over UDP - o variantă a HTTP , în care datagramele UDP sunt folosite pentru a trimite mesaje ). Serviciile se fac reclamă prin trimiterea de mesaje către adrese multicast dedicate pe portul UDP/1900. Rețelele IPv4 folosesc adresa multicast 239.255.255.250 [4] , în timp ce IPv6 utilizează FF01::C , FF02::C , FF05::C , … (formatul adresei: ff0X::c , unde X este selectat în funcție de tipul anunțului ) [5] [6] :
În plus, diferite implementări pot utiliza o adresă sursă multicast specială derivată din prefixul local de rutare IPv6 cu identificatorul de grup C (zecimal 12).
Protocolul SSDP folosește metoda NOTIFY HTTP pentru a anunța sosirea sau eliminarea serviciilor (sau a informațiilor de prezență) tuturor membrilor unui grup multicast. Un dispozitiv client care dorește să știe despre apariția serviciilor în rețea folosește o solicitare cu metoda M-SEARCH , ale cărei răspunsuri sunt trimise expeditorului solicitării la propria sa adresă (unicast).
În sistemele de operare din familia Windows , nu sunt necesare alte servicii pentru funcționarea normală a serviciului de descoperire SSDP. Gazda dispozitivului universal Plug and Play depinde de funcționarea acestui serviciu .
Implementările Microsoft SSDP IPv6 (în Windows Media Player și în server) folosesc adrese „link-local”. Pentru notificări de evenimente și abonamente se folosește portul 2869 (anterior era folosit și portul 5000) [7] .
În 2014, s-a descoperit în mod neașteptat că SSDP a fost folosit în atacuri DDoS , cum ar fi atacul de reflexie SSDP cu amplificare . Multe dispozitive, inclusiv routerele de acasă, aveau o defecțiune în software-ul UPnP care permitea unui atacator să direcționeze răspunsurile de la portul 1900 către o adresă arbitrară de pe Internet. În cazul utilizării unei rețele bot cu multe mii de astfel de dispozitive, atacatorul ar putea crea un flux mare de pachete suficient pentru a ocupa lățimea de bandă și a satura canalele de transmitere a datelor ale site-ului atacat, ceea ce duce la o denegare a serviciului pentru utilizatorii obișnuiți . 8] [9] [10] .