# RendezVous: PRUDP Protocol PRUDP probably stands for: "**P**rotected **R**eliable **U**ser **D**atagram **P**rotocol", as it is designed for adding connections, reliability, encryption and compression to UDP. To do this, it adds [connections](#connections), [ordering](#ordering), [fragmentation](#fragmentation) and [checksums](#checksums). ## Packets ### Packet: `SYN` ### Packet: `CONNECT` This stage is used to derive a shared secret key. #### Client->Server Payload | Name | Description | Type | |------|-------------|------| | Public Key | The client's _public key_. | [`Buffer`](./03_structure.md#structure-buffer) | #### Server->Client Payload | Name | Description | Type | |------|-------------|------| | Public Key Signature | Presumably, the client's _public key_ signed by the server's _private key_. | [`Buffer`](./03_structure.md#structure-buffer) | | Public Key | The server's _public key_. | [`Buffer`](./03_structure.md#structure-buffer) | ### Packet: `DATA` ### Packet: `DISCONNECT` ### Packet: `PING` ## Connections ## Ordering ## Fragmentation ## Checksums ## Packet Format