Internet Communications Using SIP : Delivering VoIP and Multimedia Services With Session Initiation Protocol {2Nd Ed.}

(Steven Felgate) #1
Not all nodes at the edge must be equal in an overlay network. Some P2P
networks use the so-called “supernodes” that have more permanent connec-
tivity, and also possibly more bandwidth than other peers. Supernodes can
perform useful functions that are normally associated with servers on the
Internet (such as the bootstrapping of nodes that join the overlay network),
except that supernodes very closely resemble all other peer nodes. Also, con-
trary to SIP registrars and proxies, supernodes are also part of the self-
organizing P2P network.
A P2P network with supernodes can be considered a two-level P2P network.
Recent research has shown that it is possible to build multilevel hierarchical
networks to reduce the discovery time in very large P2P networks [3].
P2P networks can scale from small enterprise networks (such as the P2P
PBX) to Internet-sized networks with millions of users.
P2P embodies the virtues of the end-to-end principles of the Internet archi-
tecture, in spite of its evolution and some later trends that are contrary to the
e2e principle [4]. Even the first-ever RFC on host software [5] is based on P2P
computing. It is fair to say that P2P computing embodies the best principles of
the Internet, as it was originally designed.

Distributed Hash Tables (DHTs)


Since a P2P network is, by definition, highly distributed, any P2P network
must be able to store information across the overlay network and retrieve it.
One approach from the academic community, known as Distributed Hash
Tables (DHTs), has been successfully applied to this problem. DHTs offer the
promise of highly scalable, low-latency search and retrieval of data. A mathe-
matical function known as a hashis used to turn a variable-length string into a
fixed-length number. A good hashing function will have a minimal probability
of collisions, that is, two different strings producing the same hash output.
Examples of hash functions include MD5 (Message Digest 5) used by SIP in
HTTP Digest authentication and SHA-1 (Secure Hash Algorithm 1), as dis-
cussed in Chapter 9, “SIP Security.”
Nodes in a P2P network can be found by using a key that is similar to an IP
address in an IP network, except that the key acts as an identifier for the peer
node. The key can be the hash of the content description in file-sharing P2P net-
works or simply the hash of the IP address in a P2P communication network.
Peer nodes keep a table of a limited number of known neighbor nodes in the
form of a hash table for routing at the application layer. The assembly of hash
tables in peer nodes is the DHT. Consistent hashingis a scheme with the prop-
erty that the hash table is modified only by the joining or leaving of a small
number of neighbor nodes, and not all hash tables on the P2P network need to
be updated. Consistent hashing is used by the Chord protocol, as will be
shown later in this chapter.

342 Chapter 20

Free download pdf