Bez tytulu slajdu - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

Bez tytulu slajdu

Description:

Warto ci p l nag wka datagramu IP Multicasting - c.d. Zachodzi konieczno rozr nienia zasi gu multicastu - reguluje si to ustawiaj c odpowiednio pole ... – PowerPoint PPT presentation

Number of Views:166
Avg rating:3.0/5.0
Slides: 38
Provided by: WFI79
Category:

less

Transcript and Presenter's Notes

Title: Bez tytulu slajdu


1
Wartosci pól naglówka datagramu IP
2
(No Transcript)
3
Fragmentacja datagramu IP - IP wymaga minimalnego
MTU 68 bajtów, - IP nie wymaga obslugi datagramów
wiekszych niz 576 bajtów bez fragmentacji
(wiekszosc implementacji obsluguje dlugosci
gt8192, wyjatkowo lt1500). Algorytm - sprawdzenie
flagi DF (jesli 1 to datagram jest odrzucany,
wysylany jest komunikat ICMP. - podzial datagramu
na czesci (zaleznie od MTU), o dlugosci danych
n8 bajtów za wyjatkiem ostatniego, - kopiowanie
danych ustawianie bitu MF (za wyjatkiem
ostatniego), ustawienie pola offset, kopiowanie
wymaganych opcji (wg bitu najbardziej
znaczacego, ustawienie pola IHL, ustawienie pola
calkowitej dlugosci datagramu, obliczenie sumy
kontrolnej, - transmisja podzielonych datagramów,
kazdy indywidualnie. Odbiór licznik czasu
rekonstrukcji zalezy od implementacji.
4
Wybrane opcje datagramu IP
5
Protokól Internet Control Message Protocol
(ICMP) stan standard protocol status
required STD 5, RFC 792, 950 Charakterystyka -
ICMP uzywa IP, ale jest jego integralna
czescia, - ICMP sygnalizuje niektóre bledy, nie
zapewnia niezawodnosci! - ICMP nie moze
sygnalizowac bledów transmisji ICMP, - komunikaty
ICMP moga dotyczyc tylko fragmentu zero, - ICMP
nigdy nie dotyczy broadcast, multicast, loopback,
this-net, - ICMP moze byc wyslany jako odpowiedz
na ICM Query, - w praktyce routery wysylaja
komunikaty ICMP o bledach, wezly koncowe
zaleznie od implementacji.
6
Format datagramu ICMP
- Typ (patrz obok), - Code - kod bledu zalezny od
typu, - Checksum - suma kontrolna ICMP, - ICMP
data - dane komunikatu ICMP przewaznie fragment
naglówka IP datagramu, którego dotyczy dany
komunikat ICMP.
7
Przyklady komunikatów ICMP
Code
8
Przyklady komunikatów ICMP
9
Aplikacje ICMP Ping - wysyla jeden lub wiecej
datagramów ICMP na podany adres z zadaniem
odpowiedzi i mierzy czas obiegu (round trip
time). Uzywa komunikatów ICMP Echo i Echo
Reply. Traceroute - wykorzystuje datagramy ICMP
i UDP. Wysyla datagramy UDP na nieuzywany port,
najpierw z TTL1, w kolejnych zwieksza TTL o
jeden. Pierwszy datagram jest usuwany przez
najblizszy router, ktróry zwraca komunikat ICM
Time Exceeded. Kolejne datagramy sa usuwane przez
coraz dalsze routery. Datagram odebrany przez
wezel docelowy jest sygnalizowany komunikatem
ICMP Port Unreachable. Na podstawie odebranych
komunikatów ICM P okreslana jest droga datagramu
od wezla zródlowego do docelowego.
10
Address Resolution Protocol (ARP) - umozliwia
zamiane adresu IP na IEEE 802 MAC. Algorytm -
najpierw sprawdzana jest tablica ARP Cache, -
jesli brak skojarzenia datagram IP jest odrzucany
(konieczna retransmisja) a w siec zostaje
wyslany ARP Request jako broadcast, - wezel który
rozpozna swój adres IP odsyla ARP Reply
zawierajace swój adres MAC (sprzetowy) jako
unicast, a takze aktualizuje swój ARP Cache o
adres MAC wezla pytajacego, - wezel pytajacy
odbiera ARP Reply i aktualizuje swój ARP Cache,
jest gotowy do transmisji IP.
11
Format pakietu ARP Request/Reply
12
Proxy ARP - obsluga wezlów n.p. nie znajacych
podsieci
Reverse ARP (RARP) - stosowane do obslugi n.p.
stacji bezdyskowych, wymaga obecnosci serwera
RARP posiadajacego tablice przypisan IP - MAC.
13
Porty (Ports) i gniazdka (Sockets)
Port - 16-bitowy numer sluzacy do identyfikacji
aplikacji lub protokolu wyzszego poziomu
komunikujacych sie za pomoca protokolu nizszego
poziomu. Nie zalezy od numeru identyfikacyjnego
procesu w systemie operacyjnym (process ID).
Typy portów well-known (dobrze znane) -
przydzielane przez IANA (STD 2), w zakresie do
1023 identyfikuja standardowe serwery uslug
n.p. telnet (23), FTP (20,21), które oczekuja na
zgloszenia z sieci, ephemeral (efemeryczne) -
przydzielane aplikacjom uzytkowników w zakresie
1023-65535, na czas ich pracy.
14
Sockets (gniazdka) - jeden z kilku interfejsów
programowych (API) do protokolów komunikacyjnych.
Standard de facto (UNIX).
Socket - rodzaj uchwytu (file handle) sluzacy do
somunikawania sie aplikacji i protokolu
komunikacyjnego. Socket address - trójka
protokól, adres lokalny, proces lokalny n.p.
tcp, adres IP, numer portu. Conversation -
lacze komunikacyjne miedzy dwoma
procesami. Association - piatka protokól, adres
lokalny, proces lokalny, adres zdalny, proces
zdalny. Half-association - protokól, adres
lokalny, proces lokalny lub protokól, adres
zdalny, proces zdalny socket transport
address.
Umozliwiaja dwukierunkowa (full-duplex),
multipleksowana komunikacje miedzy aplikacjami -
polaczenie logiczne identyfikowane przez
asocjacje ltTCP,local IP address, local port,
remote IP address, remote portgt.
15
Protokól User Datagram Protocol
(UDP) stan standard protocol status
recommended STD 6, RFC 768
- Stanowi interfejs aplikacyjny do IP. - Nie
zapewnia niezawodnosci, kontroli przeplywu,
obslugi bledów. - Wykorzystujac porty umozliwia
multipleskowanie datagramów.
16
Format datagramu UDP
Suma kontrolna jest obliczana z uwzglednieniem
tzw. Pseudo-IP header (okrojonego naglówka
datagramu IP)
17
Typowe aplikacje wykorzystujace UDP
. Trivial File Transfer Protocol (TFTP) . Domain
Name System (DNS) name server . Remote Procedure
Call (RPC), used by the Network
File System (NFS) . Simple Network Management
Protocol (SNMP) . Lightweight Directory Access
Protocol (LDAP)
18
Protokól Transmission Control Protocol
(TCP) stan standard protocol status
recommended STD 7, RFC 793
Protokól zorientowany polaczeniowo
19
Cechy protokolu TCP - Stream Data Transfer -
przesylanie ciaglego strumienia bajtów.
Aplikacja nie zajmuje sie organizacja
przesylania. - Reliability - przypisanie numerów
sekwencyjnych przesylanym bajtom, brak
potwierdzenia odbioru wymusza retansmisje.
Umozliwia takze porzadkowanie kolejnosci
odebranych danych. - Flow Control - potwierdzenia
zawieraja takze dostepna biezaco wielkosc
buforów odbiorczych (mechanizm okna). -
Multiplexing - podobnie jak w UDP - numery
portów, - Logical Connections - w czasie
transmisji utrzymywana jest informacja o stanie
polaczenia, gniazdach, numerach sekwencyjnych,
wielkosci okna. Polaczenia sa identyfikowane para
gniazdek. - Full Duplex - TCP realizuje
równolegla transmisje strumieni danych w obu
kierunkach.
20
Zasada Sliding Window (ruchomego okna)
Przypadek trywialny
Okno
- nadawca wysyla kolejno zawartosc okna bez
czekania na potwierdzenie, lecz wlacza licznik
czasu dla kazdego pakietu oddzielnie, - odbiorca
musi potwierdzic odbiór kazdego pakietu,
podajac numer sekwencyjny ostatniego dobrze
odebranego pakietu, - nadawca przesuwa okno po
kazdy m potwierdzeniu.
Odbiorca przesuwa okno po otrzymaniu ACK 1 i
moze wyslac pakiet nr 6.
21
Zasada Sliding Window (ruchomego okna) - c.d.
Przypadek specjalny pakiet nr 2 utracony -
Odbiorca wysyla ACK 1 dla pakietów 1,3,4,5. -
Nadawca nie otrzymuje ACK 2, nie moze przesunac
okna i wyslac pakietu 6. - Uplywa limit czasu dla
pakietu 2, nadawca go retransmituje. - Odbiorca
potwierdza pakiet 2 sygnalem ACK 5 (bo juz tyle
odebral poprawnie). - Nadawca odbiera ACK 5,
przesuwa okno o 4 pozycje, kontynuuje transmisje.
Przypadek specjalny ACK 2 zostaje utracone -
Nadawca nie otrzymuje ACK2, lecz otrzymuje ACK 3,
który potwierdza odbiór wszystkich pakietów az
do nr 3 wlacznie. - Nadawca przesuwa okno do
pakietu 4, kontynuuje transmisje.
Mechanizm okna zapewnia - niezawodna
transmisje, - lepsze wykorzystanie dostepnego
pasma w sieci, - kontrole przeplywu (odbiorca
moze opóznic wyslanie potwierdzenia znajac
pojemnosc swych buforów i wielkosc okna
transmisyjnego.
22
Zasada Sliding Window w TCP
23
Format segmentu TCP
24
Format segmentu TCP
Source, Destination Port - numery portu nadawcy i
odbiorcy, Sequence Number - nr sekwencyjny 1-go
bajtu danych w segmencie, jesli bit SYN1 to jest
to numer inicjalizujacy a 1-y bajt ma numer o 1
wiekszy, Acknowledgement Number - jesli bit
ACK1, to jest to wartosc nastepnego numeru
sekwencyjnego oczekiwanego przez odbiorce, Data
Offset - ilosc 32-bitowych slów w naglówku TCP
(wskazuje poczatek danych), Reserved - szesc
bitów do przeszlego wykorzystania (0), URG - bit
wskazuje, ze wskaznik urgent jest ustawiony, ACK
- bit wskazuje, ze pole potwierdzenia jest
ustawione, PSH - bit wskazujacy zadanie
wykonania funkcji Push (przez zamknieciem
lacza), RST - bit nakazujacy zerwanie
polaczenia, SYN - bit oznaczajacy synchronizacje
numerów sekwencyjnych, FIN - bit oznaczajacy
koniec danych od nadawcy, Window - uzywane w
segmentach ACK, ilosc bajtów które moze przyjac
odbiorca (t.j. nadawca tego segmentu), Checksum -
suma kontrolna z uwzglednieniem Pseudo-IP
Header, Urgent Pointer - wskazuje 1-y bajt danych
stanowiacych Urgent Data, Options - opcjonalne
pola segmentu TCP.
25
Opcje segmentu TCP
26
Potwierdzenia i retransmisje (przyklad)
Okno 1500 bajtów, segment 500 bajtów
W momencie obioru ACK 1500 (segment 3 zaginal)
nadawca musi rozstrzygnac czy 1. Segment 3
zostal odebrany, czy 4 nie wiadomo. 2. Segment 3
zostal zgubiony, ACK dotyczy segmentu 4. Róze
implementacje TCP moga podjac rózne kroki -
retransmitowac tylko segment 2 (lecz wtedy
uplynie limit dla seg. 3, - retransmitowac
wszystkie segmenty z biezacego okna. Kazdy wybór
oznacza utrate maksymalnej przepustowosci. Limity
czasowe sa dobierane jako srednie wazone czasu
obiegu tzw. Variable Timeout Intervals.
27
Zestawianie polaczenia TCP
- proces serwera wykonuje tzw. passive OPEN call,
pozostajacy w uspieniu, - drugi proces podejmuje
próbe polaczenia wykonujac active OPEN call.
Polaczenie nawiazane, przeciwbiezne strumienie
danych zainicjalizowane (wymienione numery
sekwencyjne) - tzw. three-way handshake.
Rozlaczenie polaczenia TCP
- przeslanie segmentu z bitem FIN1 zamyka
transmisje w jednym kierunku, druga strona
postepuje podobnie (po przeslaniu wszystkich
danych), - polaczenie jest niszczone po
zamknieciu strumieni w obie strony.
28
TCP Application Programming Interface - nie jest
w pelni zdefiniowane, tylko opis dzialania
podstawowych wymaganych funkcji jest
przedstawiony w RFC 793.
29
. Slow start . Congestion avoidance . Fast
retransmit . Fast recovery
Algorytmy kontroli przeciazen
30
Slow Start - nadawca ustawia
dodatkowe okno cwnd o wartosci 1-go segmentu,
- nadawca stosuje jako
ograniczenie mniejsza wartosc z 2 okien,
- nadawca wysyla 1 segment, po
otzrymaniu ACK zwieksza cwnd
dwukrotnie, wysyla dwa segmenty, itd. Congestion
Avoidance - nadawca ustawia
próg ssthresh równy 65536 bajtów,
- algorytm dziala j.w. ale gdy wykryte
zostanie przeciazenie (timeout,
zdublowany ACK) 1/2 wartosci okna jest
zapisywana w ssthresh, a
jesli byl timeout to cwnd jest ustawiane równe 1
segment, - po otrzymaniu ACK
cwnd jest zwiekszane wg metody slow start
(jesli cwndltssthresh) lub
congestion avoidance tj. o wartosc
segsizesegsize/cwnd na kazdy otrzymany
ACK. Fast Retransmit Recovery
- jesli nadejdzie 3 zdublowane ACK ustawiane
jest ssthresh na 1/2
biezacego cwnd lecz nie mniej niz 2 segmenty,
brakujacy segment jest
retransmitowany, cwnd ssthresh 3 segmenty,
- po kazdym kolejnym zdublowanym
ACK cwnd cwnd 1 segment,
segment jest retransmitowany jesli pozwala na to
wartosc cwnd, - po odebraniu
ACK potwierdzajacego nowe dane cwnd ssthresh.
31
Algorytmy kontroli przeciazen- c.d.
32
Multicasting
Wezly biorace udzial w transmisjach multicast
naleza do tzw. host groups
33
(No Transcript)
34
Multicasting - c.d.
Zachodzi koniecznosc rozróznienia zasiegu
multicastu - reguluje sie to ustawiajac
odpowiednio pole TTL a takze czy dany datagram
ma byc transmitowany do danej sieci - reguluje to
protokól Internet Group Management Protocol
(IGMP), o statusie recommended (RFC
1112). Powinien byc on uwazany za rozszerzenie
ICMP (w IPv6 bedzie obowiazkowy).
35
Format komunikatu IGMP
36
IP Multicast routing
When a host or a multicast router receives a
multi-cast datagram, its action is dependent upon
the TTL value and the destination IP address. 0
A datagram sent with a TTL value of zero is
restricted to the source host. 1
A datagram with a TTL value of one reaches
all hosts on the subnet that are members of the
group. Multicast routers decrement the value to
zero, but unlike unicast datagrams, they do not
report this with an ICMP Time Exceeded message.
Expiration of a multicast datagram is a
normal occurrence.
2 All hosts that are members of the group
and all multicast routers receive the datagram.
The action of the routers depends on the
multicast group address.
224.0.0.0 - 224.0.0.255 This range is intended
for single- hop multicasting applications only.
Multicast routers will not forward datagrams with
destination IP addresses in this range.
Other Datagrams with other values for the
destination address are forwarded as normal by
the multicast router it decrements the TTL value
by one at each hop.
37
. RFC 768 User Datagram Protocol . RFC 791
Internet Protocol . RFC 792 Internet Control
Message Protocol . RFC 793 Transmission Control
Protocol . RFC 826 Ethernet Address Resolution
Protocol . RFC 903 Reverse Address Resolution
Protocol . RFC 919 Broadcasting Internet
Datagrams . RFC 922 Broadcasting Internet
datagrams in the presence of subnets . RFC 950
Internet Standard Subnetting Procedure . RFC 1112
Host extensions for IP multicasting . RFC 1166
Internet numbers . RFC 1191 Path MTU
discovery . RFC 1256 ICMP Router Discovery
Messages . RFC 1323 TCP Extensions for High
Performance . RFC 1466 Guidelines for
Management of IP Address Space . RFC 1518 An
Architecture for IP Address Allocation with
CIDR . RFC 1519 Classless Inter-Domain Routing
(CIDR) an Address Assignment
and Aggregation Strategy . RFC 1520
Exchanging Routing Information Across Provider
Boundaries in the CIDR
Environment . RFC 1918 Address Allocation for
Private Internets . RFC 2001 TCP Slow Start,
Congestion Avoidance, Fast Retransmit, and
Fast Recovery Algorithms . RFC
2018 TCP Selective Acknowledgement Options .
RFC 2050 INTERNET REGISTRY IP ALLOCATION
GUIDELINES . RFC 2236 Internet Group Management
Protocol, Version 2
Write a Comment
User Comments (0)
About PowerShow.com