What is ANet?

Home/Documents/Development/Introduction to ANet/What is ANet?
 Project Closed
 Site Index
 User Docs
 Introduction to ANet
 What is ANet?
 Peer-to-Peer Networking
 Distributed Networking
 Static Data
 Anonymous Two-Way Data Transfers
 Gateways and Clusters
 The Future
 High-Level Design
 Low-Level Design
 Protocol Specifications
 Task List
 Development Roadmap
 Other Docs
 Mailing Lists
 Contacting Us


by Benad

ANet (1) is short for "The Anonymous Distributed Networking Protocol".

So, what are the characteristics of ANet?

It is Anonymous

ANet is anonymous as the result of being a distributed network [1]. From within this kind of network, it is impossible, or at least very difficult to trace the origin or the destination of some data. So, if you see some data passing through the network, you can know that a computer inside the network produced that data, but you can't tell which one.

As a result, it is possible with a distributed network to provide the tools needed to make an abstraction of the IP addresses. For example, computer A could start to communicate with computer B, and both can do this without having to know each other's IP addresses [2]. This means that ANet can run on top of any dynamic network structure. This is the most important goal of ANet.

Note that we say "anonymous" in the sense of hiding the origin and destination of the data. It doesn't mean that it is impossible to eventually, with huge efforts, trace the source of some data, nor that the data cannot be read or modified by third parties in a communication. Both these definitions of "anonymity" can be implemented on top of ANet, and ANet will provide the proper internal mechanisms to help the coders implement those systems.

It implements a Distributed Network

ANet implements what we call a "distributed network" [1], and thus it is a Peer-to-Peer protocol [3]. ANet will be one of the first protocols to give a true flexible alternative to the Client/Server approach to network communication.

It is a Protocol

ANet is a protocol, and thus it does not have to "know" what kind of data is being passed on to the network. Also, it does not restrict itself to files.

One of the goals of ANet is to provide the tools for the maximum number of different uses a distributed network could have. In that sense, ANet tends to be the least restrictive it can. Thus, it is simply a very generic protocol, not a protocol for a particular kind of application.


(1) It took some time for me to find the project name (ANet). This is because I had NO idea of what the project name should be. Even worse, you cannot change the project name (actually, the "UNIX name" of the project: "anet") once you create a new project in Sourceforge. All the ideas me and Mathieu Tremblay had were original, but sounded terrible. The best I could come up with was "PlasmaNet", but the reference to the behavior of the electrons in a plasma was too far-fetched. So, I decided to name the project "ANet", "A" for "Anonymous" and "Anarchic", and whatever you can think of. It may be the least original name of this planet, but I still think it's a good name.


About the references...

[1] Benad, "Distributed Networking". Local link.
[2] University of Southern California , "Internet Protocol", section 3.2: "Addressing". External link. Cached.
[3] Benad, "Peer-to-Peer Networking". Local link.

Last update for this document: September 1, 2001, at 18:35:4 PST