Warstwy modelu TCP/IP

Download Report

Transcript Warstwy modelu 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)
Model TCP/IP
Model ISO/OSI
Warstwa
aplikacji
Warstwa
aplikacji
Warstwa
prezentacji
Warstwa
sesji
Warstwa
transportowa
Warstwa
sieciowa
Warstwa
dostępu
do sieci
Warstwa
transportowa
Warstwa
sieciowa
Warstwa
łącza danych
Warstwa
fizyczna
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
TCP
Warstwa
aplikacji
Warstwa
transportowa
UDP
strumień
wiadomość
DANE
segment
pakiet
N
DANE
datagram
Warstwa Internet
Warstwa
dostępu
do sieci
N
N
DANE
N
N
DANE
N
N
DANE
datagram
N
DANE
ramka
N
DANE
ramka
N
N
DANE
N
Przykładowe protokoły TCP/IP
Warstwa
aplikacji
Warstwa
transportowa
Warstwa Internet
Warstwa
dostępu
do sieci
SMTP FTP Telnet RPC SNMP DNS
TCP
UDP
IP, ICMP
IEEE 802.x (np. Ethernet, WiFi)
ARP
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
3
0 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
Docelowy adres IP
Opcje
Uzupełn.
Na
Typ
Długość
Identyfikator,
Czas
Protokół
Suma
Adresy
koniec
obsługi
życia
kontrolna
IPcałkowita
nagłówka
wskazuje
nagłówka
umożliwiają
TTL
(ang.
flagi,
(ang.
służy
Type
na
określa
to
przesunięcie
mogą
Time
następny
wielkość
przesyłanie
do
of kontroli
Service)
być
To
całkowitą
Live)
dołączone
nagłówka
w poprawności
służą
hierarchii
iprotokołu
definiuje
odbieranie
pomaga
długość
dododatkowe
wkontroli
32
protokół
typ
routerom
pakietu
bitowych
pakietów
nagłówka,
usług IP
Numer
wersji
podaje
numer
wersji
IP
używanego
słowach,
oferowanych
wraz
segmentacji
mierzyć
zawarty
kontrolą
informacje
nagłówkiem
w
czas
nie
todanym
(opcje),
pole
jest
pakietu,
przez
jaki
objęta
jest
pakiet
pakiecie
IP.
jednak
wIPv4,
wykorzystywane
umożliwia
bajtach
Pole
część
pozostaje
ich
IP
jest
pakietu
(maksymalnie
długość
przesyłanie
ignorowane
w sieci
zawierająca
do
musi
określenia
zmniejszając
pakietów
przez
być
65535)
dane
większość
o1
przezznadawcę
(np.
IPv6)
początkutego
urządzeń
podzielonych
wartość
wielokrotnością
nagłówka
w sieci.
pola
na32
części
Wykorzystywane
po
bitów
protokołu
każdym wyższej
kolejnym
również
warstwy
routerze.
jako DSCP
Kiedy TTL
(ang.
Differentiated
osiągnie
wartość
Services
0 pakiet
Code
jestPoint)
usuwany z sieci
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
3
0 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
Port docelowy
Numer sekwencyjny
Numer potwierdzenia
Okno
Dł. Nagł. Rezerwa
Znaczniki
Suma kontrola
Wskaźnik priorytetu
Opcje
Uzupełn.
Suma
Port
Pole
Okno
Długość
Numer
źródłowy
znaczniki
określa
kontrolna
sekwencyjny
nagłówka
liczbę
oraz
zawiera
służy
wielkość
port
bajtów
zawiera
do
bitowe
docelowy
kontroli
jaką
nagłówka
numer
flagi
może
poprawności
dotyczące
zawierają
pierwszego
zaakceptować
w 32 bitowych
numery
dodatkowych
całego
bajta w
Numer
potwierdzenia
zawiera
numer
sekwencyjny
portów
informacji/poleceń
odbiorca
słowach
pakietu
segmencie
procesów
aplikacyjnych
dotyczących
danego
pakietu
oraz
następnego
oczekiwanego
bajtuwysyłających
po stronie
odbiorczej,
odbierających
dane korzystających
usług TCP
jednocześnie potwierdza
poprawne zodebranie
poprzednich
bajtów
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
czas
Three-way handshaking
A
B
LISTEN
CLOSED
SYN-SENT
<SEQ=100><CTL=SYN> 
SYN-RECEIVED
 <SEQ=300><ACK=101><CTL=SYN,ACK>
SYN-RECEIVED
ESTABLISHED
ESTABLISHED
<SEQ=101><ACK=301><CTL=ACK> 
ESTABLISHED
 <SEQ=101><ACK=301><CTL=ACK><DATA>
ESTABLISHED
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
Mechanizm okna – przykład
• Rozmiar wysyłanych danych wynosi 2
• Rozmiar okna wynosi 4 (czyli dwa pakiety)
Nadawca
Odbiorca
9 8 7 6 5 4 3 2 1 0
Potwierdzone -1
1
5
ACK=5
ACK=1
Odebrane
-1
1
9
7
5
3
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
3
0 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
Długość
Port docelowy
Suma kontrola
Sumaźródłowy
Port
Długość
kontrolna
nagłówka
oraz
służy
wielkość
port
dodocelowy
kontroli
nagłówka
poprawności
zawierają
w 32 bitowych
numery
całego
portów procesów aplikacyjnych wysyłających oraz
słowach
pakietu
odbierających dane korzystających z usług TCP
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
TAK
NIE
Duży narzut informacyjny
TAK
NIE
Potrzeba zestawiania połączenia
TAK
NIE
Szybka transmisja
NIE
TAK
Sterowania przepływem
TAK
NIE
Identyfikacja procesów
TAK
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 0
Numer sieci
(7 bitów)
Klasa B 10
Numer urządzenia (24 bity)
Numer sieci (14 bitów)
Klasa C 110
Klasa D 1110
Numer urządzenia (16 bitów)
Numer sieci (21 bitów)
Numer
urządzenia
(8 bitów)
Adres rozgłoszeniowy (28 bitów)
Ilość sieci
Ilość urządzeń
Klasa A
126 (27–2)
16 777 124 (224–2)
Klasa B
16 384 (214–2)
65 534 (216–2)
Klasa C
2 097 152 (221–2)
254 (28–2)
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.3
11111111 11111111 11111111 00000000=255.255.255.0
11000000 10101000 00000000 00000000=192.168.0.0
• Adres podsieci dla stacji docelowej (iloczyn logiczny
AND)
11000000 10101000 00000000 00000110=192.168.0.6
11111111 11111111 11111111 00000000=255.255.255.0
11000000 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.128x.x.x.255 wiec w rozważanym przypadku te zakresy to
156.17.30.0-156.17.30.127 lub 156.17.30.128156.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.192x.x.x.255, a adres docelowy w zakresie x.x.x.0x.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.92x.x.x.127, a adres docelowy w zakresie x.x.x.64x.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)
Usługa NAT – przykład
192.168.1.2/24
LAN
156.17.10.5
NAT/PAT
Internet
DST=192.168.1.2:1444DST=156.17.10.5:1444
SRC=192.168.1.2:1444
SRC=156.17.10.5:1444
SRC=192.168.1.3:1444
SRC=156.17.10.5:1344
192.168.1.3/24
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
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:<[email protected]>
R: 250 OK
S: RCPT TO:<[email protected]>
R: 250 OK
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
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