Model TCP/IP

Post on 04-Jan-2016

63 views 1 download

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

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• Protokoły warstwy aplikacji• Podsumowanie

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ść

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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:<Smith@USC-ISIF.ARPA> R: 250 OK S: RCPT TO:<Jones@BBN-UNIX.ARPA> R: 250 OK

Protokół SMTP – przykład (2)

S: RCPT TO:<Green@BBN-UNIX.ARPA> 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

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

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

Kolejny wykład

Technologie z rodziny Ethernet