Protokoły transportowe



Podobne dokumenty
MODEL WARSTWOWY PROTOKOŁY TCP/IP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Protokoły sieciowe - TCP/IP

Sieci komputerowe - Protokoły warstwy transportowej

Przesyłania danych przez protokół TCP/IP

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Bazy Danych i Usługi Sieciowe

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

TCP/IP formaty ramek, datagramów, pakietów...

Dr Michał Tanaś(

Sieci komputerowe Warstwa transportowa

Model sieci OSI, protokoły sieciowe, adresy IP

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Warstwa transportowa

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Warstwa transportowa. mgr inż. Krzysztof Szałajko

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Adresy w sieciach komputerowych

ZiMSK NAT, PAT, ACL 1

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

Programowanie współbieżne i rozproszone

Stos TCP/IP Warstwa transportowa Warstwa aplikacji cz.1

pasja-informatyki.pl

NAT/NAPT/Multi-NAT. Przekierowywanie portów

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

PROTOKOŁY WARSTWY TRANSPORTOWEJ

Programowanie sieciowe

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Sieci komputerowe - warstwa transportowa

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Laboratorium 6.7.2: Śledzenie pakietów ICMP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

Problemy techniczne SQL Server

Opis ogólny ustawień NAT na podstawie Vigora serii 2700

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Pytanie 1 Z jakich protokołów korzysta usługa WWW? (Wybierz prawidłowe odpowiedzi)

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Laboratorium Sieci Komputerowych - 2

Protokoły warstwy aplikacji

Instrukcja konfiguracji funkcji skanowania

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek poniżej:

Przekierowanie portów w routerze TP-LINK na przykładzie kamery Kenik. Po co wykonujemy przekierowanie portów? Spójrzmy na rysunek

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Sieci komputerowe. Protokoły warstwy transportowej. Wydział Inżynierii Metali i Informatyki Przemysłowej. dr inż. Andrzej Opaliński.

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wirtualne laboratorium - Packet Tracer

Wireshark analizator ruchu sieciowego

Telefon IP 620 szybki start.

ARP Address Resolution Protocol (RFC 826)

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Architektura INTERNET

Router programowy z firewallem oparty o iptables

Sieci komputerowe i bazy danych

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

ADRESY PRYWATNE W IPv4

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

4. Podstawowa konfiguracja

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Podstawy sieci komputerowych

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

BRINET Sp. z o. o.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Laboratorium - Przeglądanie tablic routingu hosta

Ćwiczenie 5b Sieć komputerowa z wykorzystaniem rutera.

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

instrukcja instalacji modemu SpeedTouch 605s

SIECI KOMPUTEROWE Adresowanie IP

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

Sieci Komputerowe i Technologie Internetowe (SKiTI)

Telefon AT 530 szybki start.

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

Problemy techniczne SQL Server. Jak odblokować porty na komputerze-serwerze, aby umożliwić pracę w sieci?

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

TELEFONIA INTERNETOWA

Instrukcja korzystania z systemu IPbaza. oraz konfiguracji urządzeń

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Zdalne zarządzanie systemem RACS 5

Linksys/Cisco SPA2102, SPA3102 Instrukcja Konfiguracji

Model warstwowy Warstwa fizyczna Warstwa łacza danych Warstwa sieciowa Warstwa transportowa Warstwa aplikacj. Protokoły sieciowe

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

MODEL OSI A INTERNET

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z:

Instrukcja programu Wireshark (wersja 1.8.3) w zakresie TCP/IP

Sieci Komputerowe Modele warstwowe sieci

Przekierowanie portów w routerze - podstawy

z paska narzędzi lub z polecenia Capture

SIECI KOMPUTEROWE. Wstęp do przedmiotu. Piotr Żmudziński Zakład Teleinformatyki, UKW

Analiza protokołu TCP/IP

Translacja adresów - NAT (Network Address Translation)

INSTRUKCJA OBSŁUGI USTAWIEŃ DYNAMICZNIE PRZEDZIELANYCH ADRESÓW IP W URZĄDZENIACH SYSTEMU IP-PRO ORAZ REJESTRATORACH MY-DVR

Transkrypt:

UNIWERSYTET KAZIMIERZA WIELKIEGO Wydział Matematyki Fizyki i Techniki Zakład Teleinformatyki 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie z funkcją protokołów warstwy transportowej TCP i UDP. Zaprezentowane zostaną możliwości połączeniowego protokołu TCP. Dzięki pojęciu portu w oprogramowaniu, możliwe będzie rozróżnienie aplikacji odbiorczych dla zawartości napływających segmentów. Dalej scharakteryzowany zostanie mechanizm translacji adresów NAT i NAPT oraz forwardowanie portów. 2. Podstawy teoretyczne Laboratorium Sieci Komputerowych ćwiczenie: 9 Protokoły transportowe Bydgoszcz 2011r. prowadzący: mgr inż. Piotr Żmudziński zmudzinski@ukw.edu.pl 2.1. Cel stosowania warstwy transportowej Protokoły warstwy 4 zapewniają przekazywanie danych między aplikacjami użytkownika przy wykorzystaniu dostępnych technologii w warstwie sieciowej. Aplikacje często dążą do przesłania zbioru lub strumienia danych o wielkości niedopasowanej do maksymalnej wielkości pola danych w pakiecie. Konieczny jest zatem podział napływającego strumienia na mniejsze porcje zwane segmentami TCP lub pakietami UDP. Drugim kluczowym zadaniem warstwy transportowej jest odbieranie segmentów otrzymanych z warstwy sieci i dostarczanie do oczekujących procesów oprogramowania hosta. Warstwa sieci przekazuje pakiety między hostami, nie rozróżnia aplikacji, demonów lub usług sieciowych uruchomionych na pojedynczej stacji. Protokoły warstwy transportowej muszą zatem być uruchomione na hostach. Nie są używane w rdzeniu sieci, rutery pracują w warstwie 3. 2.1.1. Pojęcie portu i gniazda Aby rozróżnić procesy i aplikacje uruchomione na hoście wprowadzono pojęcie portu, czyli wirtualnego punktu dowiązania komunikacji do procesu oprogramowania. Dla każdego z protokołów warstwy transportowej stosuje się osobną przestrzeń adresową portów, którą została podzielona następująco: - 1...1023 porty ogólnie znane (porty niskie), - 1024 65535 zarejestrowane (porty wysokie). Lista portów niskich została zdefiniowana w [3], popularnym aplikacjom zostały przypisane następujące porty TCP: 21 FTP - File Transfer Protocol 22 SSH - Secure Shell 23 TELNET nieszyfrowany zdalny dostęp do hosta 25 SMTP - Simple Mail Transfer Protocol 53 DNS - Domain Name Server 80 World Wide Web http 88 Kerberos 110 Post Office Protocol - Version 3 115 Simple File Transfer Protocol 443 HyperText Transfer Protocol Secure Wymiana informacji następuje między dwoma gniazdami, czyli parami adres_ip_hosta + port_protokół_transportowy, jak pokazano na Rys.1. Jeżeli wykorzystywany jest protokół TCP, mówi się o połączeniu między gniazdami ze względu na konieczny proces jego zestawienia lub zerwania. pakietu UDP lub 1

segmenty TPC enkapsulowane są w pakietach protokołu IP i przesyłane zgodnie z zasadami rutingu tej sieci. Tab. 2 Budowa segmentu TCP warstwa transportowa (TCP / UPD) słowa bity 0 4 8 12 16 20 24 31 system końcowy A warstwa sieciowa ( IP) warstwa fizyczna (Ethernet) system pośredniczący łącze system końcowy B RUTER PRZEŁĄCZNIK Rys. 1 Komunikacja między systemami końcowymi 2.2. Protokół UDP (User Datagram Protocol) Protokół pakietów użytkownika świadczy usługę bezpołączeniowego dostarczania pakietów tzn. nie ustanawia w żaden sposób połączenia i nie sprawdza gotowości odległego hosta do odebrania przesyłanych danych oraz poprawności ich dostarczenia. Host wysyła porcję danych i nie sprawdza w żaden sposób, czy dotarły do celu. Dzięki takiemu uproszczeniu funkcji zmniejszona została ilość przesyłanych informacji kontrolnych, co zwiększa efektywność tego protokołu. Protokół wykorzystywany w usługach strumieniowych pracujących w czasie rzeczywistym (VoIP, VoD) oraz przez aplikacje rozsiewcze np. emisja programów radiowych czy wideo. Tab. 1 Budowa pakietu UDP słowa bity 0 4 8 12 16 20 24 31 1 Port źródłowy Port przeznaczenia 2 Długość Suma kontrolna 3 DANE Nagłówek UDP jest niewielki. Pola adresów [16b] oznaczają porty źródłowy i docelowy, do których dowiązane są aplikacje wymieniające wiadomości przez sieć. Pole długość pakietu UDP liczone jako suma nagłówka i pola danych. Suma kontrolna obliczona jest na podstawie nagłówka i pola danych. 2.3. Protokół TCP (Transmission Control Protocol) Dla aplikacji wymagających bezbłędnej transmisji danych zastosowanie ma protokół TCP, który jest protokołem połączeniowym i niezawodnym. TCP dostarcza dane między końcami połączenia niezawodnie, posiada wbudowane mechanizmy: potwierdzania przesyłanych segmentów, retransmisji zagubionych segmentów, sortowania odebranych segmentów, jeśli otrzymano w złej kolejności, usuwania duplikatów otrzymanych segmentów. 1 Port źródłowy Port przeznaczenia 2 Numer kolejny 3 Numer potwierdzenia 4 Przes. Zarezerw. Flagi Okno 5 Suma kontrolna Wskaźnik pilności 6 Opcje Uzupełnienie 7 DANE Znaczenie pola port źródłowy / port przeznaczenia [16b] jest takie jak poprzednio. Pole numer kolejny [32b] oznacza kolejny numer bajtu wiadomości przed fragmentacją będącego pierwszym bajtem w polu dane. Jeżeli flaga SYN=1 to numer pole przenosi inicjujący numer kolejny ISN (Initial Sequence Number). Pole potwierdzenie numeru [32b] jeśli flaga ACK=1 zawiera wartość następnego numeru, który nadawca spodziewa się otrzymać. Jest on jednocześnie potwierdzeniem poprawnego odebrania bajtów o numerach kolejno mniejszych od zawartego w tym polu. Przesunięcie [4b] liczba 32-bitowych słów w nagłówku TCP, pole konieczne ze względu na zmienną długość nagłówka. Pole zarezerwowane [6b] do wykorzystania w przyszłości, obecnie powinno mieć wartość 0. Flagi [6b] służą do przesyłania dodatkowych informacji o połączeniu: URG oznaczenia pola pilnego wskaźnika, ACK oznaczenia pola potwierdzenia, PSH funkcja przepychania (wymuszanie wysłania segmentu), RST zresetuj połączenie (natychmiastowe zakończenie), SYN ustawiona podczas nawiązywania połączenia oznacza, że w polu Numer kolejny, umieszczony jest ISN; używana do synchronizacji numerów kolejnych podczas nawiązywania połączenia, FIN koniec połączenia. Okno [16b] to liczba bajtów, które nadawca zgodzi się przyjąć. Pole to służy do sterowania przepływem danych. Okno o wartości zero informuje nadawcę, że powinien wstrzymać transmisję, dopóki nie otrzyma segmentu z inną. Opcje [0-44b] przenoszenie dodatkowych informacji, wielokrotność 8b. Uzupełnienia uzupełnia w razie potrzeby pole Opcje do wielokrotności 32b. wartością w tym polu. Podstawowym pojęciem TCP jest pojęcie połączenia, czyli dwukierunkowa komunikacja między dwoma gniazdami. Nie należy połączenia w aspekcie TCP mylić z 2

potocznie używanym słowem połączenie, także widocznym w systemie Windows2000 oznaczającym łączność z przełącznikiem bądź możliwość wysyłania/ odbierania pakietów IP przez sieć. Host1 Proces 1, IP1, Port1 Wyjście Wejście Wejście Wyjście Host2 Proces 2, nr IP2, Port2 Rys. 2 Multipleksacja połączeń TCP w pojedynczym łączu Wiele połączeń TCP może współdzielić pojedyncze łącze sieciowe pozwalając użytkownikowi uruchomić lub korzystać z wielu usług sieciowych. Przykład komunikacji stacji sieciowej pokazano na Rys.2. W celu zapewnienia niezawodności przesyłania danych wykorzystuje się mechanizm potwierdzenia z retransmisją (Positive Acknowledgement with Retransmission). Dane przesyłane dopóty, dopóki system wysyłający nie otrzyma potwierdzenia przesłania bezbłędnego. Każdy segment TCP zawiera sumę kontrolną wykonywaną przez odbiorcę do sprawdzenia poprawności przesłanych danych. Jeżeli otrzymano segment bezbłędny wysyłane jest potwierdzenie. Jeśli nadawca nie otrzyma przez pewien czas potwierdzenia wysyła segment powtórnie. 2.4. Realizacja połączenia za pomocą TCP Do każdego portu TCP może być realizowanych wiele połączeń, co jest praktyką powszechnie stosowaną w serwerach www, gdzie klienci łączą się z serwerem o znanym adresie i porcie usługi http, z którym związany jest np. demon httpd obsługujący usługę przeglądanie stron www. Rys. 3 Przykład połączeń protokołu TCP 2.4.1. Nawiązywanie połączenia TCP jest protokołem połączeniowym, zatem przed wysłaniem pierwszego bajtu aplikacji konieczne jest nawiązanie połączenia, którego celem jest stwierdzenie czy obie strony komunikacji są gotowe do wymiany informacji oraz uzgodnienie wielkości przesyłanych segmentów. W tym celu wykorzystywany jest mechanizm trzyetapowego porozumienia (threeway handshake). Pierwszy segment, z numerem sekwencyjnym (Nr_sek) o wartości x, wysyłany przez stronę A, jest rozróżniany przez ustawienie flagi SYN i stanowi żądanie nawiązania połączenia. Strona B po otrzymaniu tego segmentu wysyła zgodę na nawiązanie połączenia dodając swój własny numer sekwencyjny y i potwierdzenie dla strony A (ACK=x+1). Jeśli wiadomość ta zostanie odebrana poprawnie, strona A uznaje połączenie za nawiązane i wysyła potwierdzenie nawiązania połączenia dla stacji B (ACK=y+1). Po otrzymaniu segmentu potwierdzającego obie strony są gotowe do wymiany danych oraz posiadają uzgodnione numery sekwencyjne. 3

Rys. 4 Proces nawiązania połączenia (u góry) i rozłączenia (u dołu) Proces rozłączenia jest bardzo podobny, każda ze stron oddzielnie kończy połączenie i otrzymuje potwierdzenie. 2.5. Stan gniazda Korzystając z Internetu pewna grupa programów inicjuje połączenia do zdalnych hostów, inne umożliwiają połączenie do danego hosta. Nawiązywanie połączenia realizowane jest przy pomocy wcześniej opisanego mechanizmu gniazd. Oprogramowanie gniazda, będące częścią systemu operacyjnego, może znajdować się w różnym stanie w zależności od przebiegu scenariusza połączenia. Na rysunku 5 przedstawiony został graf stanów i przejść zaimplementowany w systemie Linux Rys.5 Graf stanów gniazda TCP 2.6. Odwzorowanie portów i adresów Ze względów bezpieczeństwa pewne organizacje nie życzą sobie, aby istniała możliwość nawiązywania połączenia z hostami znajdującymi się wewnątrz ich sieci. Dobrym rozwiązaniem jest ukrycie hostów przez zmianę adresowania publicznego na adresowanie z klas prywatnych. Niezbędna komunikacja z sieciami zewnętrznymi realizowana jest przez ruter realizujący mechanizm NAT (Network Address Translation), implementowany powszechnie w ruterach dostępowych. Kolejną przyczyną stosowania translacji adresów jest chęć dołączenia całej sieci prywatnej dysponując niewystarczającą liczbą adresów publicznych, w przypadku skrajnym, mając jeden publiczny adres IP. Jest to powszechna sytuacja, ponieważ dostawcy usług dostępu do Internetu (ISP) często przypisują każdemu łączu technologii xdsl jeden adres IP. 2.6.1. Prosty NAT (Basic Network Address Translation) 4

Polega na odwzorowaniu prywatnej klasy adresowej na publiczną klasę adresów o tej samej liczności. Dzięki temu stacje sieci lokalnej posiadające adresy prywatne (np. z klasy 192.168.x.x) widoczne są na zewnątrz pod zupełnie innymi adresami. Na powracających pakietach dokonywana jest operacja odwrotna. Przykładem może być odwzorowanie 192.168.1.0/24 na 197.197.197.0/24. Prezentowaną translację często nazywa się statyczną. W wychodzącym pakiecie zmieniane są: Adres źródła, a co za tym idzie i Suma kontrolna nagłówa. Pola, które mogą się zmienić, to: Długość całkowita, Przesunięcie fragmentacji, Numer kolejny, Numer potwierdzenia. Wymienione pola wyróżniono w Tab.3. nagłówków. Pola, które mogą się zmienić, to: Długość całkowita, Przesunięcie fragmentacji, Numer kolejny, Numer potwierdzenia (Tab.4). Tab.3 Pola TCP/IP zmieniane przez prosty NAT słowa bity 0 4 8 12 16 20 24 28 31 1 Wersja IHL Typ usługi Długość całkowita Przesunięcie 2 Identyfikator Flagi fragmentacji 3 Czas życia Protokół Suma kontrolna 4 Adres źródła 5 Adres przeznaczenia 6 Opcje Uzup. Nagłówek IP 7 Port źródłowy Port przeznaczenia 8 Numer kolejny 9 Numer potwierdzenia 10 Przes. Zarez. Flagi Okno 11 Suma kontrolna Wskaźnik pilności 12 Opcje Uzupełnienie 13 DANE... 2.6.2. NAPT (Network Address Port Translation) Odmianą translacji jest NAPT pozwalający odwzorować całą sieć prywatną na jeden adres IP. Aby tego dokonać, musimy znaleźć element, na podstawie, którego możliwe będzie rozróżnienie pakietów przy odwzorowaniu powrotnym. W tym celu wykorzystuje się integralną cechę protokołów transportowych istnienie 2 16 portów. Przykład realizacji NAPT pokazany jest na Rys.6, adresy sieci lokalnej 192.168.1.0/24 tłumaczone są na jeden adres zewnętrzny 197.197.197.1/24. Host o adresie 192.168.1.13 rozpoczyna transmisję z losowo wybranego portu np. 1321. Po przejściu przez ruter segment ma adres źródłowy 197.197.197.1 i port 2222 (wylosowany przez ruter). Realizując NAPT, ruter tworzy i utrzymuje tablicę translacji gniazd aby istniała możliwość nawiązania połączenia zwrotnego. Mechanizm NAPT umożliwia zmianę: Adres źródła, Port źródłowy i Sumy kontrolne Nagłówek TCP Rys. 6 Połączenie z siecią WAN za pomocą NAPT W literaturze często spotyka się nieprecyzyjne używanie nazw machanizmów translacji. Niektóre podręczniki nie rozróżniają rodzaju translacji, wszystkie możliwości ukryte są pod akronimem NAT, w innych przypadkach używany jest zamiennie z NAPT PAT (Port Address Translation). Ze względu na możliwość manipulacji adresami IP i portami w pakiecie, powstało kilka ciekawych rozwiązań pozwalających udostępnić usługi sieciowe na zewnątrz sieci za NAP. Mechanizm ten nazywa się przekazywaniem portów (port forwarding) i pozwala na przekazywanie wszystkich połączeń skierowanych na dany port adresu zewnętrznego rutera, na wskazany port serwera w sieci prywatnej. Dla zwiększenia bezpieczeństwa należy stosować strefy DMZ (Demilitarized Zone). Tab.4 Pola TCP/IP zmieniane przez NPAT słowa bity 0 4 8 12 16 20 24 28 31 1 Wersja IHL Typ usługi Długość całkowita ó w e k 5

Przesunięcie 2 Identyfikator Flagi fragmentacji 3 Czas życia Protokół Suma kontrolna 4 Adres źródła 5 Adres przeznaczenia 6 Opcje Uzup. 2.8. Interfejs administracyjny rutera Repotec IP-515 Po zalogowaniu do urządzenia na domyślny adres 192.168.0.1 (hasło puste), dostępny jest panel administracyjny urządzenia. Z menu w lewym panelu można wybrać kilka podstron grupujących logicznie opcje konfiguracyjne. W lewym panelu pogrupowane są strony związane z konfiguracją oraz weryfikacją ustawień rutera. 7 Port źródłowy Port przeznaczenia 8 Numer kolejny 9 Numer potwierdzenia 10 Przes. Zarez. Flagi Okno 11 Suma kontrolna Wskaźnik pilności 12 Opcje Uzupełnienie 13 DANE... Nagłówek TCP 2.7. Przekierowanie portów (PF Port Forwarding) Przekierowanie portów jest techniką pozwalającą na uzyskanie dostępu do wybranych aplikacji uruchomionych na hostach w sieci prywatnej przez hosty z sieci publicznej. Ponieważ sieć prywatna przyłączona jest do publicznej sieci IP za pomocą rutera z funkcjonalnością NAT, komputery w sieci prywatnej nie są z zewnątrz identyfikowane. Aby zrealizować PF należy utworzyć logiczne przekierowanie ruchu z gniazda (socket) po stronie WAN na gniazdo po stronie LAN. Mechanizm PF często wykorzystywany jest do udostępniania usług do do sieci publicznej np. FTP, WWW czy VNC. Rys. 8 Konfiguracja interfejsu WAN Rys. 7 Połączenie z siecią WAN za pomocą NAPT Konfiguracja PF na Rys. 7 polega na wprowadzeniu relacji 10.10.10.100:80 <-- --> 192.168.0.3:80 6

Rys. 9 Konfiguracja portu LAN Rys. 11 Przekierowanie popularnych portów usług (Virtual Server) Rys. 10 Zaawansowane usługi rutera Rys. 12 Przekierowanie portów dla dowolnych usług (User Defined Virtual Server) W menu Advanced Internet dostępne są dwa menu związane z konfiguracją przekierowania portów PF. 7

3. Zagadnienia do przestudiowania 1. W jaki sposób TCP realizuje niezawodność połączenia 2. Co to jest kontrola przepływy i jak realizowana jest w TCP 3. Co to jest mechanizm szybkiego startu i reguła karna 4. Czym różni się implementacja Tahoe od Reno 4. Bibliografia [1] Vademecum teleinformatyka I / II / III, Warszawa, IDG 2002-2006 [2] K. Krysiak, Sieci komputerowe Kompendium, wydanie I / II, Helion, Gliwice 2003 / 2006 [3] M. Hassan, R.Jain: Wysoko wydajne sieci TCP/IP, Gliwice, Helion 2004 [4] http://www.tele.pw.edu.pl/stin/doc/stin_tcp.pdf 8

5.1. Identyfikacja portów nasłuchiwania 5. Przebieg ćwiczenia 1. Na PC3 uruchomić aplikację Ability Server Ćwiczenie 9 realizowane jest na stanowisku oznaczonym literą A, z wykorzystaniem PC1/2/3 oraz ruterów Repotec IP-515 oraz Cisco 2601. Wymagane oprogramowanie to platforma Windows, aplikacja Ability server, oraz analizator protokołów WireShark. Do realizacji ćwiczenia wybrano prosty ruter segmentu SOHO, który wykorzystywany jest do współdzielenia łącza w technologii Ethernet. Ruter R10 będzie symulował dowolny serwer Internetowy z usługami: www, telnet, SSH i został skonfigurowany przed zajęciami. W trakcie zajęć używane będzie jedynie połączenie LAB skojarzone z kartą RTL. Pozostałe połączenie sieciowe należy wyłączyć. 1. Połączyć sieć zgodnie ze schematem Rys.13 2. Skonfigurować adresacją IP dla hostów zgodnie z rysunkiem. 2. Za pomocą przeglądarki internetowej PC2 zalogować się do panelu administracyjnego rutera IP515 na domyślny adres: 192.168.0.1. Hasło domyślnie jest puste. 2. Sprawdzić stan portów na PC3 ( ), w linii komend wydać polecenie netstat, polecenie można wyposażyć w przełącznik: a wyświetla wszystkie aktywne połączenia i porty nasłuchiwania, o powala wyświetlić PID lokalnego procesu skojarzonego z danym portem s pozwala uzyskać statystykę aktywności, n rozwiązuje adresy domenowe na IP. 5.2. Identyfikacja stanów portów w TCP 1. Uruchomić na PC1 rejestracje ramek za pomocą programu WireShark. 2. Otworzyć na PC2 stronę www z adresu 10.10.10.254 3. Ustanowić sesję telnet z PC2 do 10.10.10.254 (hasło: cisco) 4. Wyświetlić stan portów na PC2 (netstat i netstat n) ( ) 5.3. Realizacja mechanizmu NAT / NAPT 1. W sieci jak na Rys.13, uruchomić na wszystkich hostach rejestrację ramek 2. Nawiązać sesję telnet z PC2 do serwera 10.10.10.254 3. Zapoznać się z interfejsem administracyjnym urządzenia. Przeanalizować ruch zarejestrowany w obu segmentach sieci Rys.6 ( ). 4. Skonfigurować interfejsy WAN i LAN zgodnie z opisem Rys.13 Zwrócić szczególną uwagę na pola adresów IP oraz numery portów źródłowych i W menu WAN > Direct Connection to ISP > Fixed IP Addess wpisać odpowiedni adres. docelowych połączenia. Zaznaczyć numer portu wychodzącego z rutera po stronie WAN. Połączyć oba znaczniki. Podobnie połączyć linią port wyjściowy rutera z W menu LAN skonfigurować adres wewnętrzny. portem serwera telnet. W prostokątach wpisać odpowiednie adresy IP. 3. Uruchomić na wszystkich hostach rejestrację ramek 4. Z PC2 otworzyć stronę www zlokalizowaną w R10. 5. Zanotować translację portów i adresów realizowaną przez ruter IP515 ( ). Rys. 13 Konfiguracja sieci laboratoryjnej 5.4. Przekierowanie portów 1. Aby użytkownicy sieci publicznej 10.0.0.0/8 mogli korzystać z serwera zlokalizowanego z NAT, należy skonfigurować przekazywani portów z zewnętrznej strony rutera na znany port wskazanego serwera zlokalizowanego w LAN. Uruchomić panel administracyjny poprzez przeglądarkę z sieci LAN Nazwa interfejsu: LAN, WAN związana jest tylko z prostymi ruterami, pozostałe rutery np. Cisco nie rozróżniają sieci LAN i WAN!!! 2. Skonfigurować wpis w zakładce Advanced Internet > Virtual Server > Web i podać adres serwera www po stronie lokalnej, w tym przypadku PC3. 3. Na PC3 uruchomić serwer Ability, aktywować serwer www. 4. Uruchomić rejestrację ramek na PC1 i PC2. 5. Na PC1 otworzyć stronę internetową zlokalizowaną pod adresem WAN rutera IP515, czyli 10.10.10.100. 6. Uzupełnić schemat ( ). 6. Sprawozdanie 9

UNIWERSYTET KAZIMIERZA WIELKIEGO, WMFiT, ZT Laboratorium Sieci Komputerowych Sprawozdanie z wykonania ćwiczenia nr ćwiczenia: 11 grupa : zespół: data: ocena : Protokoły transportowe Imię i Nazwisko członków zespołu (drukowanymi literami) 1. 2. 3. 4. 6.1 Identyfikacja portów nasłuchiwania PC3 numery otwartych portów TCP UDP 6.2 Identyfikacja stanów portów w TCP, nawiązane połączenia dla www i telnet połączenie dla www protokół TCP IP lokalne port lokalny IP zdalne port zdalny połączenie dla telnet protokół TCP IP lokalne port lokalny IP zdalne port zdalny 6.4 Przekierowanie portów 6.3 Realizacja mechanizmu NAT / NAPT Na szkicu poniżej uzupełnić brakujące adresy IP oraz zaznaczyć numery portów, połączyć pionowe linie obrazujące przestrzeń portów TCP, tak aby odpowiadały rzeczywistym połączeniom, podobnie jak na Rys.6. Połączenie zawsze nawiązane jest między hostami obsługującymi warstwę transportową. Jakie porty zostały przekierowane?................... 1