on c19bc7a help sign in
30 lines 1.1 kB history raw
1:- :~ navhome/'/docs/'
2 navuptwo/'true'
3 next/'true'
4 sort/'1'
5 title/'Ames'
6 ==
7;>
9# Ames
11Our networking protocol.
13`%ames` is the name of both our network and the vane that communicates
14over it. When Unix receives a packet over the correct UDP port, it pipes
15it straight into `%ames` for handling. Also, all packets sent over the
16`%ames` network are sent by the `%ames` vane. Apps and vanes may use
17`%ames` to directly send messages to other ships. In general, apps use
18gall and clay to communicate with other ships rather than using `%ames`
19directly, but this isn't a requirement. Of course, gall and clay use
20`%ames` behind the scenes to communicate across the network. These are
21the only two vanes that use `%ames`.
23`%ames` includes several significant components. Although the actual
24crypto algorithms are defined in zuse, they're used extensively in
25`%ames` for encrypting and decrypting packets. Congestion control and
26routing is handled entirely in `%ames`. Finally, the actual `%ames`
27protocol itself, including how to route incoming packets to the correct
28vane or app, is defined in `%ames`.
30;list;