PROTOKOŁY TCP/IP
Operacje w źródle, w sieci i u odbiorcy.
Nawiązywanie połączenia w sieciach
niezawodnych
PRZYKŁAD SIECI
FRAME RELAY
TERMINAL
SERWER
Router
SIEĆ LAN
Aplikacja
TCP
IP
Frame
Relay
Fizyczna
IP
Frame
Relay
Fizyczna
LLC
MAC
Fizyczna
Aplikacja
TCP
IP
LLC
MAC
Fizyczna
SERWER
SIEC
TERMINAL
Komentarz
Ruter łączy ze sobą różne sieci, tutaj
FRAME RALAY i LAN. Pośredniczy
także w komunikacji dalszej, np.
między serwerem i terminalem
Wymiana na szczeblu rutera odbywa
się za pośrednictwem datagramów IP
(nie angażuje warstw wyższych -
rysunek)
Jest to usługa bez ACK (nie gwarantuje
bezbłędności)
OPERACJE W ŹRÓDLE
(serwerze)
c
APLIKACJA
DANE
IP DANE
TCP DANE
IP
TCP / IP
FRAME RELAY
W . FIZYCZNA
APLIKACJA
UZGADNIA
PRZED
WYSŁANIEM
FORMAT
I
SPOSÓB
KODOWANIA
DANYCH
OBIE JEDNOSTKI TCP UWZGLEDNIAJĄ
NAWIĄZANIE POŁĄCZENIA.
DODAWANY JEST NAGŁÓWEK TCP
.
KAŻDY DATAGRAM WYSYŁANY
JESTPRZEZ SIEĆ I RUTOWANY DO
MIEJSCA PRZEZNACZENIA
.
DODAWANY JEST NAGŁÓWEK IP
KAZDA RAMKA JEST WYSYŁANA
PRZEZ SIEĆ JAKO SEKWENCJA
BITÓW
F| I | T | DANE F
Komentarz
Przez sieć płyną sekwencje bitów (nie ramki)
Format sekwencji, to pakiet ~20B zawierający nr
portów, nr sekwencji, rozmiar okna itp.
Nawiązanie połączenia może odbywać się przez
sieć zawodną (dolne warstwy wprowadzają błędy)
lub niezawodną – vide oddzielny wykład
Nagłówek IP – w wersji IPv4 pakiet ~20-60B
(omawiany dalej)
Symbole FIT oznaczają FRAME RELAY, IP, TCP
OPERACJE NA ROUTERZE
Komentarz
Sygnał przychodzący jest odbierany i
interpretowany jako ramki bitów
W warstwie łącza interpretowany jest
nagłówek F, a w warstwie IP - IT
Po tym ruter przesyła ten datagram
dalej
Warstwa łącza, LLC, dodaje nagłówek L
– zawiera on m.in. nr sekwencji i adres
Warstwa fizyczna dodaje adres
informacji i sumę kontrolną M, M
OPERACJE U ODBIORCY
Komentarz
Sygnał płynie z dołu w górę; jest on
interpretowany i przetwarzany na
kolejne ramki pozbawiane nagłówków
Nagłówki służą m.in. do kontroli
ciągłości przepływu i ew. błędów (L,
M)
Warstwa aplikacji dekoduje
otrzymane dane
PROTOKÓŁ IP
Podstawowy protokół warstwy sieci. Wszystkie dane z
TCP, UDP, ICMP, IGMP biegną przez IP
Usługa jest bezpołączeniowa i zawodna
Zawodność oznacza brak gwarancji dostawy
Bezpołączeniowość – brak kopii u nadawcy
Nagłówek IP (rysunek dalej):
wersja – 4 lub 6
długość nagłówka – 20 do 60 bajtów (opcje!)
ToS -3 bajtowy wskaźnik priorytetu
PROTOKÓŁ IP (cd)
Długość – rozmiar pola danych - do 65535B
Identyfikacja – 16-kowy numer hosta nadawczego
Znaczniki, np. nie fragmentować, a jeśli fragmentacja
– dodatkowe flagi, numery, przesunięcia
TTL – czas życia, ICMP komunikat o usunięciu pakietu
CRC bada integralność nagłówka lub całości
Adresy – unikalność w zasięgu sieci, IPv4 32 bity
Opcje: ustalenie trasy, zapis trasy, czas wyjścia,
ograniczenia bezpieczeństwa itp.
NAGŁÓWEK IP
0
3
7
11
15
19
23
27
31
WERSJ A
DŁUGOŚĆ
NAG-
ŁÓWKA
TYP USŁUGI
CAŁKOWITA DŁUGOŚĆ PAKIETU
PODAWANEGO W
BAJ TACH, NP. 575 - 65 535
IDENTYFIKATOR, UMOŻLIWIAJ ĄCY SCALANIE PAKIETU PODDANEGO
FRAGMENTACJ I
ADRES NADAWCY
ADRES ODBIORCY
OPCJ E
TIME TO LIVE
PROTOKÓŁ-IDENTYFIKATOR
SUMA
KONTROLNA
ADRESACJA IP
KLASA A
KLASA B
KLASA C
KLASA D
KLASA E
128 SIECI
16 384 SIECI
2 097 152 SIECI
16 777 216 KOMPUTERÓW (24 bajty)
65 536 komputerów (14B)
256 k (8B)
SIEĘ ALARMOWA - WSZYSTKIE KOMPUTERY TEN SAM ADRES (28B)
REZERWA (NIGDY NIE UÆYWANA)
0
10
110
1110
11110
ADRESACJA - KOMENTARZ
Najpopularniejszy zapis adresu –
kropkowo-dziesiętny, np.
218.107.151.75
Numery niektórych klas:
- A, 128 sieci, każda do 16 mln
hostów, nr hostów 1.0.0.0-
126.255.255.255
- C 2097152 sieci, każda do 254
hostów, nr 192.0.0.0-223.255.255.255
PODSIECI (MASKI)
Większość sieci zawiera ~100 hostów
W sieci C marnotrawi się ~150 numerów
Podsieci tworzy się drogą pożyczania bitów z części
hostowej na rzecz adresu podsieci
Maska, to 32 bitowy ciąg zer i jedynek
Jedynki określają wtedy część sieciową adresu, a
zera - część hostową, np.
11111111.11111111.11111111.11100000
czemu odpowiada 255.255. 255.224
(224=255-31, 31 odpowiada 5 zerom 00000)
PROTOKÓŁ ICMP
Protokół IP jest typu best effort bez
gwarancji dostawy
Dla przekazywania jednak pewnych
krytycznych informacji, np. o
odrzuceniu pakietu, dodano ICMP
(Internet Control Message Protocol)
Wysyła do 20 komunikatów, m.in.
pingi
PROTOKÓŁ IPv6
Protokół powstał w 1995 roku RFC 2460
Ma długość 128 bitów (poprzedni 32)
Nagłówek jest prostszy – tylko 8 pól
Przykładowa notacja
3ffe.0501.0008.0000.0260.97ff.fe40.efab
Wdrożenie napotyka opory ze względu
na problemy dziedziczności
PROTOKÓŁ TCP
Nie jedyny, ale najpowszechniejszy p.
transportowy
Jest zorientowany połączeniowo
Jego implementacja zawiera:
1.Adresację
2.Multipleksację
3.Kontrolę przepływu
4.Zarządzanie połączeniem
PROTOKÓŁ TCP (1,2)
Adresacja
-końcowy użytkownik jest oznaczany
za pomocą nazwy (adresu) hosta i
numeru portu
-Nazwa hosta w Internecie determinuje
już adres sieci i adres komputera
Multipleksacja – rozdzielanie
strumienia na użytkowników (porty)
PROTOKÓŁ TCP (3)
Kontrola przepływu
- Opóźnienie w sieciach jest zmienne w
szerokich granicach
- Protokół musi niekiedy ograniczać
strumień danych np. ze względu na
ograniczoną pojemność buforów
- Użytkownik końcowy może zastosować
tzw. przesuwające się okno do
spowolnienia przekazu (oddzielny
wykład)
PROTOKÓŁ TCP (4)
Zarządzanie połączeniem (vide
rysunek)
Nawiązanie połączenia ma na celu:
- stwierdzenie istnienie korespondenta
- wynegocjowanie parametrów (okno,
segment)
- alokację zasobów potrzebnych
warstwie transportowej
PROCEDURA ŁĄCZENIA
(automat skończony)
ESTAB
CLOSED
CLOSED
SYNSENT
FINWAIT
CLOSEWAIT
LISTEN
Active Open
Send SYN
Receive FIN
Receive FIN
Close / Send FIN
Close Close
Passive Open
Close /
Send SYN
Receive FIN
Receive SYN
ReceiveSYN/SendSYNFIN
Komentarz
Połączenie nieaktywne - stan CLOSED
Połączenie otwarte – ESTAB; Do zrywania –FIN
LISTEN oznacza połączenie pasywne
Do nawiązywania połączenia służy SYN
SYN SENT – nawiązanie połączenia aktywnego
W stanie LISTEN protokół czeka na połączenie
W stanie SYN SENT wysyła pakiet SYN
informujący zdalny protokół o chęci połączenia
PRZYKŁAD
Połączenie aktywny-
pasywny
System A
System B
CLOSED
Otwarcie aktywne
SYN SENT
ESTAB
ESTAB
Otwarcie pasywne
LISTEN
CLOSED