VRPN server - ZSWI-GeekForce/MindWave-OpenViBE GitHub Wiki

VRPN (Virtual-Reality Peripheral Network)

Systém primárně vyvíjen na propojení externích zařízení s aplikacemi v počitači. Využíva protokoly TCP (Transmission Control Protocol) a UDP (User Datagram Protocol). VRPN servery používají primárně port 3883. Ačkoliv lze tento port změnit v implementovaném VRPN server v aplikaci OpenViBE tato možnost chybí, proto se musíme spokojit s tímto portem.

Způsob připojení

Client si vyžádá TCP připojení na serveru pomocí zprávy zaslané protokolem UDP. Server pak naváže TCP připojení na portu zaslaného ve správě. Jakmile je spojení navázáno každý počítač si zvolí UDP port na kterém bude přijímat pakety a ten oznámí druhé straně. Z důvodu zabezpečení je potřeba používat porty vyšší než 1024, které nepatří mezi systémové porty.

Rozdíl mezi TCP a UDP

Oba používají porty. TCP je více spolehlivý protokol než UDP, ale také náročnější.

TCP

TCP používá potvrzování o přijetí, opětovné posílání a překročení časového limitu. Pokud se jakákoliv data ztratí po cestě, server si je opětovně vyžádá. U TCP nejsou žádná ztracená data, jen pokud několikrát po sobě vyprší časový limit, tak je celé spojení ukončeno.

Pokud pakety dorazí ve špatném pořadí, TCP vrstva příjemce se postará o to, aby se některá data pozdržela a finálně je předala správně seřazená.

TCP protokol potřebuje např. tři pakety pro otevření spojení, umožňuje to však zaručit spolehlivost celého spojení.

UDP

Protokol neumožňuje ověřit, jestli data došla zamýšlenému příjemci. Datagram se může po cestě ztratit. UDP nemá žádné potvrzování, přeposílání ani časové limity. V případě potřeby musí uvedené problémy řešit vyšší vrstva.

Při odeslání dvou zpráv jednomu příjemci nelze předvídat, v jakém pořadí budou doručeny.

Nižší režie než u TCP (není zde řazení, žádné sledování spojení atd.). To zaručuje jednoduchost protokolu UDP.