mumble/docs/dev/network-protocol/overview.rst
Jan Klass d05262a9ce DOCS(protocol): Integrate network protocol documentation
Integrates our network protocol docs [1][2]. This will allow us to drop the separate repository. Git history is preserved through adding/merging with/through git subtree.

via

```
git subtree add --prefix docs/dev/network-protocol https://github.com/mumble-voip/mumble-protocol.git master
```

[1]: https://github.com/mumble-voip/mumble-protocol
[2]: https://mumble-protocol.readthedocs.io/

---

Add 'docs/dev/network-protocol/' from commit 'b0d142143c5c37797d787fd7f71eb172dd1219ad'

git-subtree-dir: docs/dev/network-protocol
git-subtree-mainline: 65462b4c3b
git-subtree-split: b0d142143c
2024-11-03 17:32:48 +01:00

29 lines
1.1 KiB
ReStructuredText

Overview
========
Mumble is based on a standard server-client communication model. It
utilizes two channels of communication, the first one is a TCP connection
which is used to reliably transfer control data between the client and the
server. The second one is a UDP connection which is used for unreliable,
low latency transfer of voice data.
.. figure:: resources/mumble_system_overview.png
:alt: Mumble system overview
:align: center
Mumble system overview
Both are protected by strong cryptography, this encryption is mandatory and cannot be disabled. The TCP control channel uses TLSv1 AES256-SHA [#f1]_ while the voice channel is encrypted with OCB-AES128 [#f2]_.
.. figure:: resources/mumble_crypt_types.png
:alt: Mumble crypt types
:align: center
Mumble crypto types
While the TCP connection is mandatory the UDP connection can be compensated by tunnelling the UDP packets through the TCP connection as described in the protocol description later.
.. rubric:: Footnotes
.. [#f1] http://en.wikipedia.org/wiki/Transport_Layer_Security
.. [#f2] http://www.cs.ucdavis.edu/~rogaway/ocb/ocb-back.htm