Usuwanie blokady P2P
Lubisz korzystać z sieci P2P? Nic dziwnego, to właśnie ta usługa jest głównym motorem napędzającym popyt na internet. Jednak system Windows ma wbudowane ograniczenie, które potrafi utrudnić pobieranie danych z sieci P2P. Pokazujemy dwa sposoby ominięcia tego ograniczenia.
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.
To nie wirusy!
Oprogramowanie modyfikujące systemowe ograniczenia w działaniu połączeń sieciowych może być rozpoznawane przez program zabezpieczający jako złośliwy kod. Oczywiście w tym przypadku nie ma mowy o żadnym wirusie, ale czułość programów zabezpieczających łatwo wyjaśnić, gdyż opisywana modyfikacja systemu jest w istocie usunięciem jednego z wbudowanych w Windows mechanizmów zabezpieczających przed atakami sieciowymi.
Korzystanie z programu TCP-Z
Program TCP-Z można zainstalować w Windows XP i Windows Vista. Zapewnia najbardziej bezpieczną metodę usunięcia ograniczeń sieciowych wbudowanych w Windows.
Krok 1
Program TCP-Z jest oferowany w postaci spakowanego pliku archiwum w formacie ZIP. Rozpakuj plik TCPZ_20090108 (jest na naszym krążku). Następnie przejdź do foldera, do którego rozpakowałeś plik, i dwukrotnie kliknij TCPZ. Użytkownicy 64-bitowych wersji systemu Windows powinni skorzystać z wersji 64-bitowej programu – znajduje się także w paczce instalacyjnej – wystarczy kliknąć ikonę TCPZ64. W dalszej części zakładamy, że korzystasz z 32-bitowej wersji programu (jednak pomiędzy obiema wersjami nie ma różnic).
Krok 2
Zobaczysz okno główne programu: TCP-Z (x86). Składa się ono z trzech zakładek. Domyślnie aktywna jest zakładka TCP. W sekcji Tcpip.sys znajdziesz informacje o wersji sterownika tcpip.sys zainstalowanego w systemie, a także o aktualnie ustawionych ograniczeniach. Przy domyślnej konfiguracji systemu Windows (zarówno XP, jak i Vista) w polach File Limited oraz Memory Limited powinna być widoczna ta sama wartość: 10. Pierwsze z tych pól określa ograniczenie narzucane przez systemowy sterownik tcpip.sys, drugie informuje o limicie zarejestrowanym w pamięci komputera.
Krok 3
Widoczne pod zakładką TCP pola rysowanych w czasie rzeczywistym wykresów obrazują liczbę otwartych aktualnie połączeń (górny wykres) oraz przepustowość i transfer połączenia sieciowego (dolny wykres). Ponieważ komputery mogą się łączyć z internetem w różny sposób (np. za pośrednictwem sieci bezprzewodowej lub poprzez łącze Ethernet), w oknie jest widoczna także rozwijana lista, z której możesz wybrać odpowiednią kartę sieciową – w naszym przykładzie jest to Karta AMD PCNET Family PCI Ethernet, za której pomocą łączysz się z internetem.
Krok 4
Przejdź do zakładki Patch. Program TCP-Z oferuje dwa tryby pracy: pozwala na modyfikowanie granicznej liczby wywołań w pamięci komputera lub umożliwia modyfikację pliku sterownika. Ponieważ do modyfikacji pliku sterownika proponujemy inny program, tutaj skupimy się na funkcjach umożliwiających usunięcie sieciowych ograniczeń w pamięci komputera.
Krok 5
W zakładce Patch, w sekcji Patch Memory jest umieszczony suwak, za pomocą którego zmieniasz wartość widoczną w polu New Value. Maksymalna, jaką można ustawić, to 2000. To aż nadto, jak na potrzeby nawet najbardziej wymagającego użytkownika sieci P2P. W zupełności wystarczy ustawienie wartości 100. Po ustawieniu odpowiedniej wartości kliknij przycisk Apply znajdujący się w tej sekcji.
Krok 6
Powinieneś zobaczyć okno komunikatu potwierdzającego udaną modyfikację. Po zamknięciu tego okna kliknięciem powrócisz do okna TCP-Z (x86), w którym już w obu polach tekstowych widocznych w sekcji Patch Memory powinna być ta sama, ustawiona przez ciebie wartość dopuszczalnych wywołań sieciowych na sekundę.
Krok 7
Modyfikacja zostanie zachowana w pamięci tak długo, jak długo komputer jest włączony i system działa. Jeżeli zrestartujesz komputer, to aby ponownie zlikwidować ograniczenie, musisz jeszcze raz uruchomić program TCP-Z i wprowadzić opisane wcześniej zmiany. Może się to wydać niewygodne, ale jest to rozwiązanie bezpieczniejsze. Pamiętaj, że ograniczenie liczby jednoczesnych wywołań wprowadzono w Windows ze względów bezpieczeństwa. Ponadto zaprezentowaną metodę możesz stosować wtedy, kiedy zamierzasz intensywnie korzystać z P2P. Jeżeli nie, to nie musisz niczego modyfikować, gdyż domyślne wartości ustawione w systemowym sterowniku w niczym nie ograniczają normalnego surfowania po stronach WWW.
Modyfikacja systemowego sterownika tcpip.sys
Jeżeli uważasz, że intensywnie korzystasz z sieci P2P i potrzebujesz stałego zniesienia ograniczenia, skorzystaj z metody polegającej na fizycznej zamianie systemowego sterownika tcpip.sys.
Krok 1
Na naszym krążku znajdziesz, w postaci spakowanego archiwum w formacie ZIP, pakiet zawierający patch do systemowego sterownika tcpip.sys. Rozpakuj archiwum pliku UniversalTcpipPatch_20090122 do dowolnego foldera.
Krok 2
Otwórz folder, do którego rozpakowałeś zawartość pliku, i dwukrotnie kliknij UniversalTcpipPatch-x86.
Krok 3
Zobaczysz okno z ostrzeżeniem informującym, że uruchamiasz program przeznaczony dla zaawansowanych użytkowników. Jeżeli się wahasz, skorzystaj z proponowanej przez nas wcześniej metody opartej na modyfikacji wartości granicznej wyłącznie w pamięci komputera – jest to wystarczające rozwiązanie. Jeżeli jednak masz wykonane kopie zapasowe ważnych plików i nie obawiasz się awarii systemu, kliknij OK.
Krok 4
Pojawi się główne okno programu Universal Tcpip.sys Patch. W sekcji Tcpip.sys, w polu tekstowym, wprowadź zmodyfikowaną wartość graniczną, w naszym przypadku 100 i kliknij przycisk Apply. W oknie z poleceniem potwierdzenia wykonania operacji kliknij przycisk Tak.
Krok 5
Zobaczysz okno dialogowe informujące o udanej modyfikacji pliku sterownika. Aby modyfikacja została wprowadzona w życie, potrzebny jest restart komputera. Zostanie wykonany automatycznie, gdy klikniesz Tak.
Krok 6
Po ponownym uruchomieniu systemu ograniczenie będzie już na stałe zdjęte. Jeżeli zajdzie potrzeba przywrócenia oryginalnego, systemowego sterownika tcpip.sys, wystarczy, że uruchomisz patcher i klikniesz w oknie głównym przycisk Restore.