Network Computing is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

How To Prevent Peer-to-Peer Network Abuse: Page 3 of 6





FastTrack Connection Methods



Click to Enlarge

First, a FastTrack client will attempt to connect to its list of peers by sending a flood of UDP packets out as probes (see illustration at left). Each probe packet is identical, except for the destination. The destination IP and port are specified in the peer list obtained from the default installation or from another node during a previous connection to the network. This connection phase is a snap to identify--you just need to look for the duplicate packets. When a peer responds, the client will send another UDP packet to ask for an available TCP port. The port is selected automatically by the client by probing for an open port or chosen by the user. Once the node knows where to connect, an encrypted TCP connection is initiated, and the connection is complete.

If the client doesn't receive a UDP response, it eventually switches to the second connection mode, parallel TCP connections. The client sends TCP packets with SYN flags (the standard TCP initial connect flag) to its list of peers. If peers respond, a TCP session is established to request a port for the encrypted channel. Finally, a new encrypted session begins.

If the parallel TCP connection stage fails, the client will fall back to the final connection method, single TCP connections. The client will try each node on the list, one at a time, waiting for a connection or a time-out, and then moving on. This stage can be lengthy, but typically by this point, the client has a connection.

Gnutella