Reliable Datagram Sockets (RDS) este un protocol de transfer de date dezvoltat în comun de Oracle Corporation și SilverStorm în 2006, bazat pe capabilitățile hardware ale magistralei de date InfiniBand . Protocolul oferă capacitatea de a livra datagrame fără a stabili o conexiune, oferă transfer de date de mare viteză și latență scăzută pentru a susține capabilitățile hardware ale Infiniband.
Cercetările privind îmbunătățirea performanței soluțiilor de comunicare inter-proces (IPC) și a protocoalelor utilizate pentru a face acest lucru se desfășoară de câțiva ani. După ce o analiză de doi ani a opțiunilor IPC deja existente a arătat performanța lor nesatisfăcătoare, s-a decis să creeze propriul mecanism IPC bazat pe utilizarea tehnologiei zero-copy și a protocolului UDP . La 31 octombrie 2006, a fost publicat un comunicat de presă despre începerea implementării RDS în produsele Oracle, și anume în Real Application Cluster versiunea 10g.
Protocolul a fost inclus în versiunea de kernel Linux 2.6.30, lansată pe 9 iunie 2009. Codul a fost trimis de organizația non-profit OpenFabrics Alliance (OFA). [unu]
RDS constă din două părți: mecanismul de comunicare interproces (IPC) și protocolul de datagramă UDP , adică, folosind un protocol de rețea, datele sunt schimbate între procesele distribuite. Rolul cheie aici este jucat de accentul pus pe utilizarea magistralei InfiniBand și utilizarea tehnologiei zero-copy pentru a accelera operațiunile de copiere a datelor în timpul transferului lor. Folosind un protocol fără conexiune, dar adăugând mecanisme pentru a asigura livrarea fiabilă a datagramelor și implementând aceste tehnologii, performanța noului protocol a crescut cu 60% (în cazul ideal) în comparație cu protocolul standard Gigabit Ethernet . În plus, s-a acordat o atenție deosebită portabilității și scalabilității: noul protocol, potrivit dezvoltatorilor, ar trebui să funcționeze cu sute de mii de puncte finale și zeci de mii de procese locale.
TCP /IP pe straturi ale modelului OSI | Protocoale de bază|
---|---|
Fizic | |
canalizat | |
reţea | |
Transport | |
sesiune | |
Reprezentare | |
Aplicat | |
Altele aplicate | |
Lista de porturi TCP și UDP |