Direct Connect
Jednym z protokołów umożliwiających współdzielenie zasobów plikowych i wykorzystujących technikę połączeń peer-to-peer jest Direct Connect. Do swojego celu wykorzystuje koncentratory, które zawierają podstawowe informację ułatwiające nawiązanie połączenia z użytkownikiem. Twórcą tej techniki jest Jonathan Hess, wówczas w listopadzie 1999 roku uczeń szkoły średniej. Podstawowym celem aplikacji, jest współdzielenie zasobów udostępnianych z lokalnych twardych dysków zawierających aplikację klienta, innym użytkownikom sieci posiadającym tą samą aplikację. W ramach programu jest również możliwość prowadzenia rozmów z innymi osobami na wybranym koncentratorze w formie czata tekstowego zbliżonego swoją formą do IRC-a. Działanie aplikacji Direct Connect oparte jest o tekstowy protokół ADC, którego istotą było stworzenie prostych rozwiązań w implementacji zarówno dla klienta jak jak koncentratora. Takie podejście stworzyło identyczną strukturę dla połączeń typu klient-koncentrator i klient-klient, jednocześnie upraszczając przy tym implementację. Tworząc protokół ADC wiele koncepcji zostało zaczerpniętych z DCTNG, którego autorem jest Jan Vidara Kreys, protokołu NMDC i idei DC Jona Hessa. W protokole ADC wszystkie wiadomości składają ze słów zawierających cztery znaki. Pierwszy znak określa sposób przesyłania wiadomości, a pozostałe identyfikują dokonaną operację. Wiadomości te koduje się za pomocą Unicode UTF-8 w postaci znormalizowanej C. Są plany stworzenia protokołu Secure ADC wykorzystującego tunelowanie TLS podczas nawiązywania połączenia. Koncentratory Direct Connect są podstawowymi serwerami, do których podłączają się klienci. Podstawowym zadaniem koncentratorów jest dostarczenie informacji o użytkownikach, przeszukiwanie zasobów plików udostępnianych, a także rejestracja i autoryzacja użytkowników podczas wejścia na koncentrator. W chwili obecnej występuje wiele wyspecjalizowanych tematycznie koncentratorów. Jeżeli chcemy się z nimi połączyć musimy spełniać wymagania dotyczące między innymi typów i ilości udostępnianych plików. Istnieją również koncentratory dostępne tylko dla użytkowników sieci lokalnej lub hostów z podgrupy określonych adresów IP. Najważniejszym zadaniem aplikacji klienta jest możliwość udostępniania oraz ściągania zasobów udostępnionych przez innych użytkowników. Żeby tego dokonać klient nawiązuje połączenie z koncentratorem, który przekazuje podstawowe dane o innych użytkownikach. Kolejnym etapem jest już nawiązanie bezpośredniego kontaktu pomiędzy dwoma klientami, aby rozpocząć transmisję danych. Każdy klient przy tym tworzy listę plików udostępnianych, która przekazywana jest innym użytkownikom poprzez wyszukiwarkę zasobów. Aplikacje serwera umożliwiają utworzenie koncentratora przez każdego użytkownika, którego sprzęt oraz łącze internetowe jest gotowe obsłużyć ruch generowanych do i od serwera. Mamy obecnie kilka programów umożliwiających uruchomienie serwera na własnym komputerze oraz prowadzenie nadzoru na prawidłowym funkcjonowaniem koncentratorów.