Model TCP/IP

63
Model TCP/IP

description

Model TCP/IP. Plan wykładu. Wstęp Warstwy modelu TCP/IP Protokoły IP i ICMP Protokoły TCP i UDP Adresacja w protokole IP Protokoły warstwy aplikacji Podsumowanie. Plan wykładu. Wstęp Warstwy modelu TCP/IP Protokoły IP i ICMP Protokoły TCP i UDP Adresacja w protokole IP - PowerPoint PPT Presentation

Transcript of Model TCP/IP

Page 1: Model TCP/IP

Model TCP/IP

Page 2: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 3: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 4: Model TCP/IP

Wstęp (1)

• Podstawy TCP/IP są efektem pracy grupy rozwojowej sieci ARPANET stworzonej w 1968 roku w ramach programu Departamentu Obrony USA

• W 1971 roku projekt ARPANET został przejęty przez amerykańską agencję zaawansowanych badań systemów obrony DARPA (ang. Defence Advanced Research Projects Agency)

• W 1975 roku przeprowadzono pierwszy test połączenia TCP/IP między dwoma sieciami w Stanford and University College London (UCL)

• W 1977 roku zostało zestawione połączenie między 3 sieciami TCP/IP w USA, Wielkiej Brytanii i Norwegii

Page 5: Model TCP/IP

Wstęp (2)

• Obecnie protokoły TCP/IP są najbardziej popularnym zestawem protokołów dzięki rozwojowi Internetu

• Architektura TCP/IP została opracowana w celu umożliwienia komunikacji pomiędzy systemami pochodzącymi o wielu różnych dostawców

• Architektura TCP/IP jest powiązana z rozwojem Internetu, je standaryzacją i rozwojem zajmuje się organizacja IETF (ang. Internet Engineering Task Force), która publikuje dokumenty o nazwie RFC (ang. Request For Comments)

• Koncepcja funkcjonowania sieci TCP/IP zarówno w komunikacji między warstwowej i warstwowej jest taka sama jak w modelu OSI/OSI

Page 6: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 7: Model TCP/IP

Warstwy modelu TCP/IP (1)

Warstwa prezentacji

Warstwa aplikacji

Warstwa sesji

Warstwa transportowa

Warstwa sieciowa

Warstwa łącza danych

Warstwa fizyczna

Warstwa aplikacji

Warstwa transportowa

Warstwa sieciowa

Warstwa dostępu do sieci

Model ISO/OSIModel TCP/IP

Page 8: Model TCP/IP

Warstwy modelu TCP/IP (2)

• W przypadku warstw 1 i 2 TCP/IP korzysta z już istniejących standardów sieciowych i technologii, np. Ethernet, WiFi

• Podstawowy protokół warstwy 3 to IP (ang. Internet Protocol), który izoluje wyższe warstwy od zagadnień pracy sieci, adresuje datagramy, zapewnia wymianę danych między niejednorodnymi systemami. Warstwa 3 używa również protokołu ICMP (ang. Internet Control Message Protocol)

Page 9: Model TCP/IP

Warstwy modelu TCP/IP (3)

• Większość zadań warstwy 4 jest realizowana przez protokół połączeniowy TCP (ang. Transmission Control Protocol), który gwarantuje dostarczenie do danych do adresata. Innym protokołem tej warstwy jest bezpołączeniowy protokół datagramowy UDP (ang. User Datagram Protocol), który nie gwarantuje pełnej poprawności i integralności przesyłanych danych

• Warstwie 5 i częściowo 6 odpowiadają protokoły Telnet i wirtualnego terminala

• Warstwom 6 i 7 odpowiada protokół przekazu plików FTP (ang. File Transfer Protocol), które zapewniają przekaz plików między niejednorodnymi urządzeniami i systemami operacyjnymi

Page 10: Model TCP/IP

Jednostki danych i ich przepływ

Warstwa aplikacji

Warstwa transportowa

Warstwa Internet

Warstwa dostępu do sieci

TCP UDP

strumień

segment

datagram

ramka

DANE

DANEN

DANENN

N DANENN

wiadomość

pakiet

datagram

ramka

DANE

DANEN

DANENN

N DANENN

Page 11: Model TCP/IP

Przykładowe protokoły TCP/IP

Warstwa aplikacji

Warstwa transportowa

Warstwa Internet

Warstwa dostępu do sieci

IEEE 802.x (np. Ethernet, WiFi)

IP, ICMPARP

TCP UDP

SMTP FTP Telnet RPC SNMP DNS

Page 12: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 13: Model TCP/IP

Protokół IP

• Protokół IP (ang. Internet Protocol) jest protokołem bezpołączeniowym

• Protokół IPv4 został opisany w dokumencie RFC791• Informacje między stacjami są wymieniane bez

potrzeby zawiązywania sesji i ustalania jej parametrów• Zapewnia to prostotę działania, ale nie zapewnia

niezawodnego dostarczenia danych do odbiorcy (odtworzenia połączenia po awarii)

• Brak kontroli przepływu pakietów

Page 14: Model TCP/IP

Nagłówek IPv4 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Wersja Dł. Nagł. Typ usługi Długość całkowita

Identyfikator Flagi Przesunięcie

Czas życia TTL Protokół Suma kontrola

Źródłowy adres IP

Opcje Uzupełn.

Docelowy adres IP

Numer wersji podaje numer wersji protokołu IP używanego przez nadawcę (np. IPv4, IPv6) Długość nagłówka to wielkość nagłówka w 32 bitowych słowach, to pole jest wykorzystywane do określenia początku nagłówka protokołu wyższej warstwy

Typ obsługi (ang. Type of Service) definiuje typ usług oferowanych przez IP. Pole jest ignorowane przez większość urządzeń w sieci. Wykorzystywane również jako DSCP (ang. Differentiated Services Code Point)

Długość całkowita określa całkowitą długość pakietu IP wraz z nagłówkiem w bajtach (maksymalnie 65535) Identyfikator, flagi, przesunięcie służą do kontroli segmentacji pakietu, umożliwia przesyłanie pakietów podzielonych na części

Czas życia TTL (ang. Time To Live) pomaga routerom mierzyć czas jaki pakiet pozostaje w sieci zmniejszając o 1 wartość tego pola po każdym kolejnym routerze. Kiedy TTL osiągnie wartość 0 pakiet jest usuwany z sieci

Protokół wskazuje na następny w hierarchii protokół zawarty w danym pakiecie IPSuma kontrolna służy do kontroli poprawności nagłówka, kontrolą nie jest objęta część pakietu zawierająca dane Adresy IP umożliwiają przesyłanie i odbieranie pakietówNa koniec nagłówka mogą być dołączone dodatkowe informacje (opcje), jednak ich długość musi być wielokrotnością 32 bitów

Page 15: Model TCP/IP

Defragmentacja pakietu IP

• Dla każdej sieci określany jest parametr MTU (ang. Maximum Transmission Unit), który wskazują maksymalny rozmiar datagramu, który może być przesłany w sieci bez fragmentacji datagramu

• Jeżeli rozmiar datagramu IP przekracza MTU to datagram jest dzielony na fragmenty o wielkości niewiększej niż MTU

• Każdy fragment jest przesyłany w oddzielnym datagramie z odpowiednio ustawionym polem przesunięcia

• Po stronie odbierającej pierwotny datagram jest odtwarzany z otrzymanych fragmentów

Page 16: Model TCP/IP

Protokół IPv6

• Protokół IPv6 to najnowsza wersja protokołu IP, będąca następcą IPv4

• Pierwsze dokumenty RFC dotyczące IPv6 ukazały się w 1995 roku

• Do stworzenia nowej wersji IP przyczynił się w problem z kończącej się ilości adresów IPv4 oraz braki protokołu IPv4 w zakresie bezpieczeństwa, konfiguracji

• Adres IPv6 ma długość 128 bitów• Protokół IPv6 zawiera wsparcie dla wielu nowych

mechanizmów sieciowych z zakresu bezpieczeństwa, autokonfiguracji

• Trudno określić kiedy nastąpi przejście z IPv4 do IPv6

Page 17: Model TCP/IP

Protokół ICMP

• Protokół IP nie zawiera żadnych mechanizmów umożliwiających kontrolę pracy sieci

• W celu realizacji tych mechanizmów opracowano protokół ICMP (ang. Internet Control Message Protocol) opisany w RFC792

• ICMP działa w warstwie sieciowej modelu TCP/IP• Komunikaty protokołu ICMP przesyłane są wewnątrz

datagramów IP• Protokół ICMP jest wykorzystywany przez programy

ping oraz traceroute

Page 18: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 19: Model TCP/IP

Protokół TCP

• TCP (ang. Transmission Control Protocol) to protokół zorientowany połączeniowo działający w warstwie transportowej modelu TCP/IP

• Został zdefiniowany w RFC793• Protokół TCP zapewnia niezawodny system transmisji –

umożliwia sterowanie przepływem, potwierdzanie odbioru, zachowanie kolejności danych, kontrolę błędów, przeprowadzanie retransmisji

• Wiąże się to z dość skomplikowanym i rozbudowanym sposobem obsługi i dużym nagłówkiem pakietu

Page 20: Model TCP/IP

Nagłówek TCP 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Port źródłowy

Rezerwa Okno

Suma kontrola

Numer sekwencyjny

Opcje Uzupełn.

Numer potwierdzenia

Port źródłowy oraz port docelowy zawierają numery portów procesów aplikacyjnych wysyłających oraz odbierających dane korzystających z usług TCP

Numer sekwencyjny zawiera numer pierwszego bajta w segmencieNumer potwierdzenia zawiera numer sekwencyjny następnego oczekiwanego bajtu po stronie odbiorczej, jednocześnie potwierdza poprawne odebranie poprzednich bajtów

Pole znaczniki zawiera bitowe flagi dotyczące dodatkowych informacji/poleceń dotyczących danego pakietuOkno określa liczbę bajtów jaką może zaakceptować odbiorca

Port docelowy

Dł. Nagł.

Długość nagłówka wielkość nagłówka w 32 bitowych słowach

Znaczniki

Suma kontrolna służy do kontroli poprawności całego pakietu

Wskaźnik priorytetu

Page 21: Model TCP/IP

Znaczniki TCP

• UGR wskazuje na ważność pola wskaźnik pilności• ACK wskazuje na ważność pola numer potwierdzenia• PSH wskazuje na działanie funkcji wymuszającej

wysyłanie segmentu• RST powoduje przywrócenie stanu początkowego

(wyzerowanie) połączenia• SYN wskazuje, że w polu numer sekwencyjny

umieszczony jest inicjujący numer sekwencyjny INS. Jest on przeznaczony do synchronizacji numerów sekwencyjnych w fazie ustanowienia połączenia

• FIN wskazuje, że nadawca nie ma nic więcej do nadania. Jest on traktowany jako sygnał końca danych

Page 22: Model TCP/IP

Połączenie TCP

• Do nawiązania połączenia TCP wykorzystywana jest procedura three-way handshaking

• Host inicjujący połączenie wysyła pakiet zawierający segment TCP z ustawioną w polu znaczniki flagą SYN

• Host odbierający połączenie, jeśli zechce je obsłużyć, odsyła pakiet z ustawionymi flagami SYN i ACK

• Następnie host rozpoczynający transmisję wysła pierwszą porcję danych z ustawioną flagę ACK.

• Jeśli host odbierający połączenie nie chce lub nie może odebrać połączenia odpowiada pakietem z ustawioną flagą RST

• Zakończenie połączenia polega na wysłaniu flagi FIN

Page 23: Model TCP/IP

Three-way handshaking

A B

czas

<SEQ=100><CTL=SYN>

CLOSED LISTEN

SYN-SENT SYN-RECEIVED

SYN-RECEIVED <SEQ=300><ACK=101><CTL=SYN,ACK>

ESTABLISHED

ESTABLISHED <SEQ=101><ACK=301><CTL=ACK>

ESTABLISHED

ESTABLISHED <SEQ=101><ACK=301><CTL=ACK><DATA>

ESTABLISHED

Page 24: Model TCP/IP

Mechanizm okna

• Mechanizm przesuwającego się okna (ang. Sliding window) jest używany w TCP do kontroli przepływu

• Rozmiar okna określa ilość danych, które nadawca może wysłać bez potwierdzenia odbioru od odbiorcy

• Po otrzymaniu pozytywnego potwierdzenia nadawca może wysłać kolejne dane aż do limitu wskazanego przez rozmiar okna

• Brak otrzymania potwierdzenia w określonym czasie powoduje retransmisje danych

• Potwierdzenie negatywne (np. z powodu błędu w danych) również prowadzi do retransmisji

• Opracowano wiele algorytmów mających na celu usprawnienie mechanizmu okna w TCP

Page 25: Model TCP/IP

Odbiorca

Nadawca

Mechanizm okna – przykład

• Rozmiar wysyłanych danych wynosi 2• Rozmiar okna wynosi 4 (czyli dwa pakiety)

1 03 25 47 69 8 Potwierdzone -1

ACK=1

1

ACK=5

5

Odebrane -1 1 3 5 7 9

Page 26: Model TCP/IP

UDP

• UDP (ang. User Datagram Protocol) to protokół bezpołączeniowy nie posiadający mechanizmów sprawdzających poprawność transmisji

• UDP został opisany w RFC768• Protokół UDP jest przeznaczony do transmisji krótkich

wiadomości lub danych wymagających szybkiego przesłania

Page 27: Model TCP/IP

Nagłówek UDP 0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Port źródłowy

Suma kontrola

Port źródłowy oraz port docelowy zawierają numery portów procesów aplikacyjnych wysyłających oraz odbierających dane korzystających z usług TCP

Port docelowy

Długość nagłówka wielkość nagłówka w 32 bitowych słowach Suma kontrolna służy do kontroli poprawności całego pakietu

Długość

Page 28: Model TCP/IP

Porty TCP i UDP

• Porty w protokołach TCP i UDP są używanymi w Internecie do identyfikowania działających procesów sieciowych

• Numery portów to liczby naturalne z zakresu od 0 do 65535 (216 - 1)

• Numery portów od 0 do 1023 są ogólnie znane (ang. well-known port numbers) i zarezerwowane dla standardowych usług sieciowych

• Porty o numerach od 1024 do 49151 mogą być używane po zarejstrowaniu w organizacji IANA

• Lista zarejestrowanych portów jest dostępna pod adresem http://www.iana.org/assignments/port-numbers

Page 29: Model TCP/IP

Przykładowe porty TCP i UDP

• ftp-data 20 (TCP, UDP) File Transfer Protocol• telnet 23 (TCP, UDP)• smtp 25 (TCP, UDP) Simple Mail Transfer Protocol• DNS 53 (TCP, UDP) Domain Name Server• http 80 (TCP, UDP) World Wide Web HTTP • pop3 110 (TCP, UDP) Post Office Protocol - Version 3 • snmp 161 (TCP, UDP) Simple Network Management

Protocol• https 443 (TCP, UDP) http protocol over TLS/SSL

Page 30: Model TCP/IP

TCP kontra UDP

TCP UDP

Kontrola poprawności transmisji

Duży narzut informacyjny

Potrzeba zestawiania połączenia

Szybka transmisja

Sterowania przepływem

Identyfikacja procesów

TAK

TAK

TAK

NIE

TAK

TAK

NIE

NIE

NIE

TAK

NIE

TAK

Page 31: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 32: Model TCP/IP

Adresacja w protokole IP

• W sieciach IP używa się adresu 32 bitowego• Adres zapisuje się dziesiętnie oddzielając kolejne oktety

(8 bitów) kropkami, np. 156.17.5.2• Adres ten składa się z dwóch elementów: numeru sieci

oraz numeru komputera w sieci, przy czym wielkość tych elementów może się zmieniać

• Decyduje o tym tzw. maska, która także jest 32 bitowym ciągiem, posiadającym wartość jeden na pozycjach bitów odpowiadających numerowi sieci, a wartość zero na pozycjach bitów odpowiadających numerowi urządzenia w sieci

Page 33: Model TCP/IP

Klasy adresów IP

Klasa A

Klasa B

Klasa C

Klasa D

0Numer sieci

(7 bitów)Numer urządzenia (24 bity)

Klasa A

Klasa B

Klasa C

126 (27–2)

Ilość sieci Ilość urządzeń

16 777 124 (224–2)

16 384 (214–2) 65 534 (216–2)

2 097 152 (221–2) 254 (28–2)

10 Numer sieci (14 bitów) Numer urządzenia (16 bitów)

110 Numer sieci (21 bitów)Numer

urządzenia (8 bitów)

1110 Adres rozgłoszeniowy (28 bitów)

0-127

128-191

192-223

Page 34: Model TCP/IP

Prywatne adresy IP

W niepublicznej sieci intranet (wewnętrznej sieci w firmie) można wykorzystać adresy prywatne (niepubliczne)

• 10.0.0.0 – 10.255.255.255• 172.16.0.0 – 172.31.255.255• 192.168.0.0 – 192.168.255.255

Pozostałe adresy to adresy publiczne, które nie mogą się powtarzać, gdyż są widoczne w publicznym Internecie

Page 35: Model TCP/IP

Konfiguracja urządzenia w sieci IP

• Adres, który służy do identyfikacji urządzenia, musi to być adres unikalny, nie powtarzający się w sieci. Wyjątek stanowią adresy prywatne. Posiadając swój adres urządzenie może wysyłać i otrzymywać pakiety IP.

• Maska, która służy do określenia podsieci, do której dane urządzenie należy

• Brama, która umożliwia komunikację ze urządzeniami znajdującymi się w innej podsieci niż dana stacja. Adres bramy musi się mieścić w tej samej podsieci co adres stacji. Rolę bramę pełnie zazwyczaj ruter lub inne urządzenie pracujące w warstwie 3

Page 36: Model TCP/IP

Zastosowanie maski w adresacji IP (1)

• Patrząc z perspektywy pojedynczego urządzenia w sieci IP dzieli się na dwie strefy: podsieć, do której stacja należy i cała reszta

• W momencie pojawienia się potrzeby wysłania pakietu IP, urządzenie wylicza czy docelowy adres IP należy do tej samej podsieci

• Jeżeli ten warunek jest spełniony, to pakiet jest bezpośrednio wysyłany do urządzenia docelowego wykorzystując ramki warstwy drugiej (np. Ethernet)

• W przeciwnym razie, kiedy adres docelowy jest poza podsiecią urządzenie, to pakiet jest wysyłany na adres bramy, która jest odpowiedzialna za przekazanie tego pakietu dalej

Page 37: Model TCP/IP

Zastosowanie maski w adresacji IP (2)

• Maska ma długość 32 bitów. Pierwsza część maski składająca się z samych bitów równych 1 określa adres podsieci. Na końcowych bitach równych 0 zapisywane są adresy w ramach danej podsieci

• Maskę zapisuje się jak adres IP, np. 255.255.255.0 lub w postaci /24, czyli podaje się liczbę bitów określających adres podsieci

• Maska umożliwia adresowanie bezklasowe CIDR, wymaga to dopisania do adresu maski. Zazwyczaj dopisuje się to w postaci 156.17.30.100/24, gdzie /24 oznacza rozmiar podsieci

Page 38: Model TCP/IP

Przykładowe maski

255.255.255.0 (/24) rozmiar podsieci 28=256

11111111 11111111 11111111 00000000

255.255.255.128 (/25) rozmiar podsieci 27=128

11111111 11111111 11111111 10000000

255.255.255.192 (/26) rozmiar podsieci 26=64

11111111 11111111 11111111 11000000

255.255.255.224 (/27) rozmiar podsieci 25=32

11111111 11111111 11111111 11100000

255.255.255.252 (/30) rozmiar podsieci 22=4

11111111 11111111 11111111 11111100

Page 39: Model TCP/IP

Specjalne adresy w podsieci

• Pierwszy adres z zakresu wyznaczonego przez adres urządzenia i maskę to adres podsieci

• Jest to adres mający bity równe 0 na tych samych pozycjach co maska

• Na pozostałych bitach ma takie same wartości co adres urządzenia

• Ostatni adres z zakresu wyznaczonego przez adres urządzenia i maskę to adres rozgłoszeniowy podsieci

• Jest to adres mający bity równe 1 na tych samych pozycjach co maska ma bity równe 0

• Na pozostałych bitach ma takie same wartości co adres urządzenia

• Adres sieci i adres rozgłoszeniowy nie może być przydzielony dla urządzenia

Page 40: Model TCP/IP

Liczba adresów w podsieci

• Zapis /n oznacza, że liczba adresów w danej podsieci to 2(32-n) , np. dla maski /24 mamy 28 = 256 adresów

• Pierwszy i ostatni adres z zakresu podsieci nie może być przypisany do stacji (adres podsieci i rozgłoszeniowy)

• Maksymalna liczba stacji w podsieci wynosi (2(32-n)–2)• Dodatkowo jeden adres z zakresu musimy

zarezerwować na adres bramy, czyli po odliczeniu adresu bramy zostaje (2(32-n)–3) adresów

• Na przykład maska 255.255.255.0 (/24) oznacza liczbę stacji w podsieci 253+1

Page 41: Model TCP/IP

Wyliczanie adresu podsieci - przykład 1• Adres źródłowy: 192.168.0.3 • Maska: 255.255.255.0 • Adres docelowy: 192.168.0.6

• Adres podsieci dla stacji źródłowej (iloczyn logiczny AND)

11000000 10101000 00000000 00000011=192.168.0.311111111 11111111 11111111 00000000=255.255.255.011000000 10101000 00000000 00000000=192.168.0.0

• Adres podsieci dla stacji docelowej (iloczyn logiczny AND)

11000000 10101000 00000000 00000110=192.168.0.611111111 11111111 11111111 00000000=255.255.255.011000000 10101000 00000000 00000000=192.168.0.0

• Adres źródłowy i docelowy należą do tej samej podsieci

Page 42: Model TCP/IP

Wyliczanie adresu podsieci - przykład 1

• Adres źródłowy: 192.168.0.3/24 • Adres docelowy: 192.168.0.6/24• Maska /24 (255.255.255.0) oznacza, że zakres podsieci

ma postać, x.x.x.0- x.x.x.255, wiec w rozważanym przypadku ten zakres to 192.168.0.0-192.168.0.255

• Ponieważ adres źródłowy i docelowy mieszczą się w tym zakresie, więc należą do tej samej podsieci

Page 43: Model TCP/IP

Wyliczanie adresu podsieci - przykład 2

• Adres źródłowy: 156.17.30.200/25 • Adres docelowy: 156.17.30.130/25 • Maska /25 (255.255.255.128) oznacza, że zakres

podsieci ma postać, x.x.x.0- x.x.x.127 lub x.x.x.128- x.x.x.255 wiec w rozważanym przypadku te zakresy to 156.17.30.0-156.17.30.127 lub 156.17.30.128-156.17.30.255

• Ponieważ adres źródłowy i docelowy mieszczą się w zakresie 156.17.30.128-156.17.30.255, więc należą do tej samej podsieci

Page 44: Model TCP/IP

Wyliczanie adresu podsieci - przykład 3

• Adres źródłowy: 156.17.40.200/26 • Adres docelowy: 156.17.40.3/26 • Maska /26 (255.255.255.192) oznacza zakresy podsieci x.x.x.0- x.x.x.63 x.x.x.64- x.x.x.127 x.x.x.128- x.x.x.191 x.x.x.192- x.x.x.255 • Ponieważ adres źródłowy jest w zakresie x.x.x.192-

x.x.x.255, a adres docelowy w zakresie x.x.x.0- x.x.x.63, więc rozważane adresy nie należą do tej samej podsieci

Page 45: Model TCP/IP

Wyliczanie adresu podsieci - przykład 4

• Adres źródłowy: 156.17.30.100/27 • Adres docelowy: 156.17.30.70/27 • Maska /27 (255.255.255.224) oznacza zakresy podsieci x.x.x.0- x.x.x.31 x.x.x.32- x.x.x.63 x.x.x.64- x.x.x.91 x.x.x.92- x.x.x.127 x.x.x.128- x.x.x.159 x.x.x.160- x.x.x.191 x.x.x.192- x.x.x.223 x.x.x.224- x.x.x.255• Ponieważ adres źródłowy jest w zakresie x.x.x.92-

x.x.x.127, a adres docelowy w zakresie x.x.x.64- x.x.x.91, więc rozważane adresy nie należą do tej samej podsieci

Page 46: Model TCP/IP

Adres, maska i brama – przykład 1

• Adres źródłowy: 10.1.0.6/16 • Maska: 255.255.0.0 • Brama: 10.1.0.1 • Brama jest w tej samej podsieci co stacja, więc jest to

prawidłowa konfiguracja

Page 47: Model TCP/IP

Adres, maska i brama - przykład 2

• Adres źródłowy: 192.168.0.3/24 • Maska: 255.255.255.0 • Brama: 192.168.1.1 • Brama nie jest w tej samej podsieci co stacja, więc

nieprawidłowa jest brama lub maska

Page 48: Model TCP/IP

Adres, maska i brama - przykład 3

• Adres źródłowy: 156.17.43.81/30 • Maska: 255.255.255.252 • Brama: 156.17.43.83

• Brama to adres rozgłoszeniowy podsieci wyznaczonej przez adres i maskę, więc jest to nieprawidłowa konfiguracja

Page 49: Model TCP/IP

Adres, maska i brama – przykład 4

• Adres źródłowy: 212.20.0.6/25 • Maska: 255.255.255.128• Brama: 212.20.0.126 • Brama jest w tej samej podsieci co stacja, więc jest to

prawidłowa konfiguracja

Page 50: Model TCP/IP

Adres, maska i brama - przykład 5

• Adres źródłowy: 156.17.43.83/29 • Maska: 255.255.255.248 • Brama: 156.17.43.80 • Brama to adres podsieci wyznaczonej przez adres i

maskę, więc jest to nieprawidłowa konfiguracja

Page 51: Model TCP/IP

Adres, maska i brama - przykład 6

Zaznacz prawidłowe maski dla komputera o adresie 10.0.0.50 znajdującego się w podsieci o adresie 10.0.0.0

• /24• /25• /26• /27

Page 52: Model TCP/IP

Adres, maska i brama - przykład 7

Zaznacz prawidłowe maski dla komputera o adresie 192.168.0.180 znajdującego się w podsieci o adresie 192.168.0.128

• /24• /25• /26• /27

Page 53: Model TCP/IP

Usługa NAT

• Usługa NAT (ang. Network Address Translation) polega na modyfikowaniu adresów w nagłówku pakietu IP w taki sposób, że adres docelowy, źródłowy lub oba są zastępowane innymi adresami

• Usługa NAT zazwyczaj działa na obrzeżu sieci lokalnej na styku z siecią globalną (np. firewall)

• W celu rozróżnienia urządzeń wewnątrz sieci stosujących adresy prywatne lub publiczne wykorzystuje się niepowtarzalne adresy portów źródłowych przypisywane do publicznych adresów IP – jest to usługa PAT (ang. Port Address Translation)

Page 54: Model TCP/IP

LANLAN InternetInternet

Usługa NAT – przykład

Adres w LAN Adres w Internecie

192.168.1.2:1444 156.17.10.5:1444

192.168.1.3:1444 156.17.10.5:1344

192.168.1.3/24

192.168.1.2/24

156.17.10.5NAT/PAT

SRC=156.17.10.5:1444

SRC=156.17.10.5:1344

SRC=192.168.1.2:1444

SRC=192.168.1.3:1444

DST=156.17.10.5:1444DST=192.168.1.2:1444

Page 55: Model TCP/IP

Adresacja IPv6

• IPv6 wspiera adresy typu unicast, multicast i anycast• Podstawowy zapis adresu IPv6 to 16 bitowe części

zapisane heksadecymalnie oddzielone dwukropkami, np. 2001:0db8:0000:0000:0000:0000:1428:57ab

• Ciąg zer w adresie można zastąpić dwoma dwukropkami, np. 2001:0db8:0:0::1428:57ab lub 2001:0db8::1428:57ab lub 2001:db8::1428:57ab

• Adresy IPv4 zapisuje się w IPv6 poprzedzając 32 bitowy adres IPv4 80 zerami, 16 jedynkami, np. adres 192.0.2.128 zapisujemy ::ffff:c000:280 lub ::ffff:192.0.2.128

Page 56: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 57: Model TCP/IP

Protokoły warstwy aplikacji

• W warstwie aplikacji modelu TCP/IP jest dostępnych wiele protokołów związanych z usługami sieciowymi

• Przykładowe protokoły to:– HTTP (ang. Hypertext Transfer Protocol) związany z

usługą WWW– SMTP (ang. Simple Mail Transfer Protocol) związany

pocztą elektroniczną– Telnet umożliwiający zdalną pracę na komputerze– DNS (ang. Domain Name Service) to usługa

przyporządkowującą adresom sieciowym IP łatwe do zapamiętania nazwy

– P2P (ang. Peer-to-Peer) usługa przesyłania plików

Page 58: Model TCP/IP

Protokół SMTP

• Protokół SMTP (ang. Simple Mail Transfer Protocol) umożliwia przekazywanie poczty elektronicznej w Internecie

• Pierwszą wersję SMTP opisano w RFC821• SMTP to prosty, tekstowy protokół, w którym określa

się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości

• Program obsługujący protokół SMTP działa najczęściej na porcie 25

• SMTP zaczęto stosować na początku lat 80-tych XX wieku

• Istnieje wiele programów pocztowych obsługujących SMTP

Page 59: Model TCP/IP

Protokół SMTP – przykład (1)

List wysyłany przez Smith z komputera USC-ISIF, do Jones i Green mających konto na BBN-UNIX. Host USC-ISIF kontaktuje się z BBN-UNIX bezpośrednio. R to odbiorca, S to nadawca.

R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready

S: HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA S: MAIL FROM:<[email protected]> R: 250 OK S: RCPT TO:<[email protected]> R: 250 OK

Page 60: Model TCP/IP

Protokół SMTP – przykład (2)

S: RCPT TO:<[email protected]> R: 550 No such user here S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah... S: ...etc. etc. etc. S: .R: 250 OK S: QUIT R: 221 BBN-UNIX.ARPA Service closing transmission

channel

Page 61: Model TCP/IP

Plan wykładu

• Wstęp• Warstwy modelu TCP/IP• Protokoły IP i ICMP• Protokoły TCP i UDP• Adresacja w protokole IP• Protokoły warstwy aplikacji• Podsumowanie

Page 62: Model TCP/IP

Podsumowanie

• Model warstwowy TCP/IP to obecnie najbardziej popularny zestaw protokołów sieciowych

• Protokoły z rodziny TCP/IP są powszechnie stosowane w Internecie

• Ponieważ podstawy architektury TCP/IP zostały opracowane 30 lat temu, wiele zagadnień wymaga obecnie poprawienia

• Podstawowe problemy dotyczą kończącej się liczby adresów IPv4, kwestii bezpieczeństwa, QoS

• Nieustannie prowadzone są prace nad nowymi rozwiązaniami i protokołami TCP/IP

Page 63: Model TCP/IP

Kolejny wykład

Technologie z rodziny Ethernet