Czym jest forwarding i do czego może się przydać?

Komunikacja sieciowa polega, w pewnym uproszczeniu, na wymianie informacji pomiędzy poszczególnymi maszynami, z których każda jest identyfikowana przez adres IP. Owe porcje informacji, zwane pakietami, dotyczą różnych usług udostępnianych sobie wzajemnie przez komputery.

Może to być ruch HTTP (a więc odwiedzanie witryn internetowych), wymiana plików za pośrednictwem protokołu FTP, przesyłanie i odbieranie poczty elektronicznej (SMTP, POP3, IMAP) czy chociażby granie w gry komputerowe.

Usługi są udostępniane najczęściej w modelu serwer - klient. Oznacza to, że jeden komputer (serwer) udostępnia daną usługą (np. serwer WWW), a drugi (klient) z niej korzysta. Aby odróżnić pakiety należące do różnych usług, pakiety należące do tej samej usługi trafiają na ten sam tzw. port komputera.

Na każdym komputerze (adresie IP) można „otworzyć” (a więc użyć) 65535 portów o numerach od 1 do 65535.
Serwer WWW jest uruchomiony na porcie 80-tym. Na ten port przychodzą żądania udostępnienia informacji od klienta i z tego portu wychodzą do klienta pakiety z odpowiedziami (np. treściami strony internetowych). W związku z powyższym ten port musi być widoczny (dostępny) dla klienta, który musi móc połączyć się z danym adresem IP na danym porcie. W przyjętym powszechnie sposobie zapisu port 80 na komputerze o adresie IP 80.51.20.113 jest oznaczany jako 80.51.20.113:80.

 

Adresy IP dzielą się na publiczne i prywatne. Te pierwsze są widoczne dla wszystkich innych użytkowników sieci. Przeciętny użytkownik domowego komputera ma jedynie adres prywatny. Usługi udostępnianie przez niego będą więc widoczne jedynie w sieci lokalnej, w której się znajduje.

Dlatego właśnie uruchomienie przez Ciebie serwera gry może oznaczać rozpoczęcie rozgrywki dostępnej jedynie dla użytkowników tej samej sieci. Inni internauci nie będą zaś mieli dostępu do Twojego serwera.

Rys. Przykładowy schemat sieci lokalnej

Przeanalizuj to na przykładzie powyższego schematu. Uruchomienie jakiejkolwiek usługi na komputerze 192.168.1.12 lub 192.168.1.11 spowoduje, że będzie ona dostępna tylko w tej sieci, tj. dla pozostałych maszyn z podsieci 192.168.1 (w tym dla samego routera). Router jako „pośrednik” pomiędzy światem zewnętrznym a wewnętrznym ma dwa adresy IP. Jeżeli uruchomisz na nim usługę (np. serwer gry), korzystając z prywatnego adresu 192.168.1.10, to nadal byłaby ona dostępna tylko dla komputerów 192.168.1.12 i 192.168.1.11. Ale już jej udostępnienie na zewnętrznym IP (80.51.20.113) dałoby oczekiwany efekt: do Twojej gry podłączyłby się każdy. Jednak na routerze nie ma możliwości uruchomienia serwera gry.
Nawet jeżeli w Twojej sieci jest serwer a nie router to zapewne nie masz do niego stosownych uprawnień, umożliwiających np. uruchomienie gry czy własnego serwera WWW. Zresztą byłoby to bardzo obciążające dla samej maszyny, która musi przecież zapewnić jeszcze inne usługi.

A co, gdyby sprawić, żeby router stał się „przezroczysty” na określonych portach, na których Ci zależy? Jeżeli, np. serwer gry na komputerze o IP 192.168.1.12 wymaga do działania portu 3520 to router powinien żądania przychodzące z Internetu na ten port przekazywać na 192.168.1.2:3520. To właśnie jest tzw. przekazywanie portów (forwarding).

Ponieważ do przekazywania portów konieczna jest zmiana ustawień routera lub serwera, musisz mieć prawa administratora na tych urządzeniach lub poprosić o pomoc kogoś z odpowiednimi uprawnieniami.
Przekazywanie portów umożliwi Ci nie tylko udostępnianie usług osobom spoza Twojej sieci lokalnej, ale także np. bardziej wydajne korzystanie z programów wymiany plików peer2peer. Oznacza to tzw. HighID w sieci eDonkey oraz tryb active w DirectConnect - a więc większe prędkości pobierania z większej liczby źródeł, co ma znaczenie zwłaszcza przy mniej popularnych plikach.

Zaloguj się, aby dodać komentarz

Nie masz konta? Zarejestruj się »

Zobacz także

Skuteczne narzędzia do wykrywania uszkodzonych podzespołów

pobierz

Wykrywanie i usuwanie niechcianych programów

pobierz

Polecane artykuły

Array ( [docId] => 47396 )

Array ( [docId] => 47396 )
Array ( [docId] => 47396 )