Wzrost wydajności łącza w P2P
|
Opisywany w artykule sposób odblokowania łącza internetowego w systemach Windows nie przyniesie wzrostu wydajności podczas przeglądania stron internetowych. Ewentualny wzrost szybkości pobierania może być obserwowany tylko w przypadku intensywnego korzystania z sieci P2P, ale nawet wtedy – po zdjęciu blokady – muszą być spełnione następujące warunki:
Aby wzrost szybkości pobierania z sieci P2P był zauważalny, komputer musi być podłączony do szybkiego łącza internetowego (co najmniej 1 Mbit/s). W przypadku korzystania z wolniejszych łączy, np. 256 Kb/s, raczej nie zauważysz różnicy, gdyż przepustowość łącza będzie najprawdopodobniej za mała, by uzyskać większą szybkość w wyniku zdjęcia systemowej blokady.
|
Wbudowane w poszczególne wersje systemów Windows ograniczenie polega na tym, że w danym czasie może być realizowanych jedynie 10 sieciowych niezależnych wywołań w ciągu sekundy, i to bez względu na przepustowość sieci. Nawet jeżeli masz bardzo szybkie łącze internetowe, np. 10 Mb/s, to podczas intensywnego korzystania z sieci P2P może się okazać, że nawet połowa dostępnego pasma nie jest zajęta.
Blokadę tę wprowadzono w systemie Windows, by utrudnić automatyczne rozsyłanie złośliwych programów. Została pomyślana jako zabezpieczenie przed atakami DoS (Denial of Service, odmowa obsługi), polegającymi na zapchaniu łącza danego komputera tak dużą liczbą żądań sieciowych, że system nie jest w stanie wykonać innych zadań i się zawiesza. Sęk w tym, że sieci P2P wymagają dużej liczby jednoczesnych połączeń, by sprawnie przebiegał przesył danych. Taka jest ich struktura.
Ograniczenie P2P
Gdy podłączasz się do jakiejkolwiek sieci P2P, chcąc pobrać jakiś plik, to twój komputer nawiązuje wiele połączeń z różnymi użytkownikami, którzy dany plik udostępniają. Z drugiej strony sieci P2P to sieci wymiany danych i wymiana ta jest realizowana automatycznie. Zatem, jeżeli pobierasz coś z sieci P2P, to jednocześnie coś udostępniasz (jeśli nie wskazałeś konkretnych danych, to udostępniane są fragmenty aktualnie pobieranych przez ciebie danych), a więc także z twoim komputerem próbują się połączyć inni użytkownicy danej sieci P2P, którzy poszukują udostępnianych przez ciebie danych. W rezultacie dość łatwo można doprowadzić do sytuacji, kiedy liczba jednoczesnych wywołań sieciowych przekracza wbudowaną w system Windows progową wartość jednoczesnych wywołań w ciągu sekundy. Ile ich może być? Co najwyżej 10 na sekundę. Nie chodzi o liczbę jednoczesnych połączeń. Tych w Windows może być oczywiście dużo więcej i jedynym ich ograniczeniem są zasoby systemowe (pamięć RAM i moc procesora). Jeżeli intensywnie korzystasz z komputera, to z pewnością zdarzyło ci się otworzyć naraz więcej niż 10 stron WWW, a przecież do tego dochodzą jeszcze działające w tle usługi łączące się z siecią, jak np. Windows Update. Ograniczenie, o którym mowa w artykule, dotyczy wyłącznie liczby żądań połączenia pojawiających się w określonym czasie (tu: w ciągu jednej sekundy), a nie samych połączeń jako takich.
Jak przełamać blokadę
Blokada, o której mowa, jest wbudowana w sterownik tcpip.sys służący w systemach Windows do obsługi połączeń w sieciach opartych na protokołach TCP/IP – najpopularniejszą i największą tego typu siecią jest sam internet. W naszym artykule proponujemy dwie metody ominięcia wbudowanego ograniczenia. Pierwsza polega na zastosowaniu programu, który w systemie Windows będzie działał jako usługa wymieniająca w pamięci komputera parametry sterownika i znosząca ograniczenie liczby wywołań sieciowych na sekundę. Druga to zastosowanie patcha, który spowoduje fizyczne zmodyfikowanie sterownika TCP/IP. Dzięki temu nie trzeba mieć w systemie stale uruchomionego w pamięci programu, ale z drugiej strony naruszony zostaje mechanizm zabezpieczeń wbudowany w Windows (systemowe sterowniki Microsoftu są cyfrowo podpisywane). Nie ma złotego środka, niemniej proponowane przez nas rozwiązania skutecznie znoszą blokadę liczby wywołań i umożliwiają znacznie efektywniejsze wykorzystanie pasma, zwłaszcza o dużej przepustowości, w sieciach P2P.