cor - comparison to other protocols
IP based routing
The IP protocol as used by most mesh networks today was build with the assumption that people building networks are cooperative. There are lots of ways the operator of a single router can cause malfunction on major parts of the network. High load can easily cause major malfunction without any deliberate attack at all. Solving these issues on top of IP is hard or impossible. Many bigger networks try to solve them by setting up some kind of organisation which does central administration. However none of the problems are really solved this way and new social ones are created. The organisation can be unfair and can be instrumented for bad purposes. It also makes everything more burocratic.
Both Gnunet and cor can be used to build mesh networks. The differences are:
- Gnunet is an application framework which has many components, including one for mesh networking. Cor is only a protocol for mesh networks.
- Some Gnunet components (DHT, filesharing) cache data on every peer. Peers should have some local storage capacity for good performance.
- Gnunet operates in userspace. This allows it to be run on every operating system.
- Cor provides a stream socket interface for applications. Gnunet has created its own set of interfaces.
- Running in userspace and mandatory encryption will cause Gnunet to consume more CPU time when forwarding data. Also, Gnunet is designed around single threaded event loops.
- Gnunet mesh component (CADET) uses a complex and scaleable algorithm for discovering routes in big networks. Cor does it in a much simpler way.
Tor is an overlay network. Every node must be able to reach every other node as routing is completely random. Cor is a layer 3+4 protocol which provides connectivity to nodes which do not have a direct connection, but does not provide the same level of privacy.