mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-18 12:22:10 +03:00
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
<div class="short">
|
|
|
|
`%ames`
|
|
=======
|
|
|
|
Our networking protocol.
|
|
|
|
`%ames` is the name of both our network and the vane that communicates
|
|
over it. When Unix receives a packet over the correct UDP port, it pipes
|
|
it straight into `%ames` for handling. Also, all packets sent over the
|
|
`%ames` network are sent by the `%ames` vane. Apps and vanes may use
|
|
`%ames` to directly send messages to other ships. In general, apps use
|
|
gall and clay to communicate with other ships rather than using `%ames`
|
|
directly, but this isn't a requirement. Of course, gall and clay use
|
|
`%ames` behind the scenes to communicate across the network. These are
|
|
the only two vanes that use `%ames`.
|
|
|
|
`%ames` includes several significant components. Although the actual
|
|
crypto algorithms are defined in zuse, they're used extensively in
|
|
`%ames` for encrypting and decrypting packets. Congestion control and
|
|
routing is handled entirely in `%ames`. Finally, the actual `%ames`
|
|
protocol itself, including how to route incoming packets to the correct
|
|
vane or app, is defined in `%ames`.
|
|
|
|
</div>
|
|
|
|
<hr>
|
|
</hr>
|
|
<list></list>
|