ure P2P systems. These are characterized by the way resources are dis- tributed and localized within the system: they use either a structured or an unstructured topology. The idea behind an unstructured P2P topology is flooding. In order to prop- agate a message from one peer to another, the message is forwarded by each peer to every known neighbor peer until the message has reached the target. A popular P2P system that uses an unstructured topology is Gnutella*. Unstructured P2P systems use many networking resources to propagate messages to all known neighbor peers. This fact led to the development of structured P2P systems, which are usually built on the basis of a distributed hash table (DHT). In such structured P2P systems each node as well as each *http://rfc-gnutella.sourceforge.net/ © 2009 by Taylor & Francis Group, LLC SIP in Peer-to-Peer Networks Source Target Source Target (a) Unstructured (b) Structured (here: ring-structured) FIGURE 1.1 Resource location within unstructured and structured P2P topologies. resource is identified by a hash value acting as the node or resource identi- fier (ID). The DHT specifies a closeness metric for distributing and locating resources at particular nodes within the network. In order to enable location, resources are stored at the node that has the closest node ID according to the given metric (some systems allow resource replication at nodes close to the resource ID as well). Structured P2P topologies ensure that nodes are aware of nodes with IDs that are close to their own ID according to the given metric. This allows the selective propagation of messages to nodes, which are closer to the target ID. A popular P2P system relying on a structured topology is Chord [7], which uses a ring structure topology ordered by node IDs (see Figure 1.1b). Figure 1.1 shows the difference of resource location in unstructured and structured P2P topologies. In general, discovery in structured systems leads to fewer messages that have to be propagated. However, maintaining the overlay st