Przewodowe sieci dostępu do Internetu

Transkrypt

Przewodowe sieci dostępu do Internetu
Przewodowe sieci dostępu do
Internetu - model OSI
Dr inż. Małgorzata Langer
ISO 7498-1 (1994 rok)
• OSI - Open System Interconnection
Cele OSI:
• Logiczny rozkład złożonej sieci na mniejsze
części (WARSTWY)
• Możliwość zdefiniowania znormalizowanych
interfejsów dla funkcji sieci
• Zapewnienie symetrii funkcji przy każdym węźle
• Umożliwienie przewidywalności skutków i
kontroli nad wszelkimi zmianami w sieci
• Ujednolicenie definicji i terminów
umożliwiających precyzyjną i jednoznaczną
wymianę informacji pomiędzy projektantami
sieci, zarządcami, kupcami i producentami
sprzętu oraz użytkownikami
Założenie:
• Każda warstwa daje
projektantowi/producentowi/inwestorowi
dowolne własne podejście, wykorzystanie
know-how i opatentowanych rozwiązań
• ZNORMALIZOWANE SĄ „PUNKTY
STYKU” (SAP – Service Access Point) –
INTERFEJSY POMIĘDZY WARSTWAMI,
lub do dostawcy usługi
SAP – Service Access Point
• Przez SAP przechodzą 4 funkcje
pierwotne
A
Request
B
Confirm
Response
Indication
SAP
SAP
Usługodawca
(Jedna lub wiele funkcji)
Komunikacja pomiędzy warstwami
SDU Service Data Unit
PCI Protocol Control
Information
PDU Protocol Data Unit
IDU Interface Data
Unit
ICI Interface Control
Information
• SDU – Dane użytkownika (CAŁKOWICIE
PRZEZROCZYSTE!!) przenoszone przez
warstwę N+1 do warstwy N, następnie do N-1
• PCI – informacja wymieniana przez jednostki tej
samej warstwy (PEER ENTITIES) w różnych
lokalizacjach, aby poinstruować jedna drugą, że
należy wykonać określoną funkcję serwisową
(NAGŁÓWEK)
• PDU – połączenie SDU i PCI
• ICI – tymczasowy parametr przenoszony
pomiędzy N i N-1 dla właściwego wykonania
usługi (np. połączenie na koszt abonenta)
• IDU – kompletna jednostka informacji, która
przekracza granice warstw – transmitowana
poprzez SAP
NADAWCA
ODBIORCA
Symetria
H: Header
H1
H1
DATA
DATA
N+1
H1 DATA
H2
H1 DATA
H1 DATA
H1 DATA
H2
N
H2
H2
H3
H2
H1 DATA
H3
H1 DATA
H1 DATA
H2
H1 DATA
N-1
H3
H2
H1 DATA
Kanał transmisyjny
H3
H2
H1 DATA
Podstawowy Model
OSI – 7 warstw
Application Layer
Presentation Layer
AUI: Attachment
Unit Interface
Session Layer
MDI: Medium
Dependent Interface
Transport Layer
Network Layer
Data Link Layer
Physical Layer
Port
AUI
MDI
Port
DCE
Port
K
A
N
A
Ł
Niektóre, pośredniczące, systemy nie muszą wykorzystywać wszystkich
warstw – pełnią rolę „przekaźników”
Wewnątrz kanału można łączyć wiele obwodów danych
(np. różne media) – aktywowana jest warstwa fizyczna
SIECI „CONNECTION-ORIENTED” oraz
„CONNECTIONLESS”
• Connection- oriented – początkowo nie
istnieje żadne legalne połączenie
pomiędzy DTE i siecią (stan „jałowy” - idle)
By nawiązać komunikację niezbędne są
procedury ‘handshake’
Dane użytkownika wymieniane są zgodnie
z wcześniej ustalonym protokołem
Po realizacji połączenia następuje powrót
do stanu jałowego
Connection
oriented
Idle – brak połączenia
Połączenie ustalone
Transfer danych
Zwolnienie połączenia
Idle – brak połączenia
Potrzebne są ACKs
(acknowledgments)
do nawiązania
połączenia, kontroli
przepływu,
ujawniania i
naprawiania błędów
Idle – brak połączenia
Connectionless
– jak skrzynka
pocztowa
Transfer danych
Idle – brak połączenia
Nie ma ACKs, brak kontroli przepływu, żadnych mechanizmów do
ujawniania i kontroli błędów
Ale oczywiście można dołożyć kontrolę błędów do aplikacji lub protokołu w
wyższej warstwie
Model 5 warstw TCP/IP
• 5. Application layer (DHCP – Dynamic Host Configuration
Protocol, DNS – Domain Name Service, FTP – File Transfer Protocol,
TELNET, SSH – Secure Shell Encryption…)
• 4. Transport layer (TCP – Transport Control Protocol, UDP –
User Datagram Protocol, IGMP – Internet Group Management Protocol,
ICMP – Internet Control Message Protocol …)
• 3. Network/Internet Layer (IPv4, IPv.6, OSPF – Open
Shortest Path First, ARP – Address Resolution Protocol, …)
• 2. Data link layer (Token Ring, Ethernet, GPRS – General
Packet Radio Service, …)
• 1. Physical layer (Modemy, światłowód, radio,… Warstwa
bardzo złożona, obejmuje wiele technologii, tutaj są np. technologie LTE)
Przykład operacji TCP/IP
PDU
segment
datagram
frame
The TCP Segment (PDU)
32
bits
H
E
A
D
E
R
P
A
R
T
Source port (16)
Destination port (16)
Sequence number (32)
Acknowledgment number (32)
Data offset Reserv
ed (6)
(4)
UAPRS F
RCSSYI
GKHTNN
Checksum (16)
Options (Variable)
DATA (Variable)
Window (16)
Urgent Pointer (16)
Padding
Flagi
• URG wskazuje, czy znaczące jest pole
wskaźnika „pilny” (urgent)
• ACK wskazuje, czy znaczące jest pole
potwierdzenia (acknowledgment)
• PSH wskazuje, że moduł będzie wymagał
wciśnięcia przycisku („czy chcesz…?)
• RST wskazuje na konieczność
zresetowania połączenia
Flagi – c.d.
• SYN wskazuje na konieczność
synchronizacji numerów kolejnych
• FIN wskazuje, że wysyłający nie ma już
nic więcej do wysłania – inaczej „end of
transmission” - EOT)
• Window – wartość wskazująca ile bajtów
jednorazowo może zaakceptować
odbiorca
• Checksum – suma kontrolna jedynek
(uwzględnia nagłówek i dane)
• Urgent pointer – używany, gdy ustawiona
jest flaga URG. Służy do oznaczenia
danych „pilnych”, z priorytetem (out-ofband).
Format dla UDP
32 bity
SOURCE PORT
DESTINATION PORT
CHECKSUM
LENGTH
DATA
Source Port: Pole jest opcjonalne! Jeżeli nie jest wypełnione
adresem nadawcy – wpisane są zera
Internet Protocol IP
• Wersja 4 (v.4) – 32 bity
• Wersja 6 (v.6) – 128 bitów
• Nazwy Domain Name System (DNS) –
obsługiwane są w warstwie aplikacji
IPv6
• Od 2001r. – dotychczasowe adresy są
„przedłużane” o zera:
0DB8:AC10:FE01:0000:0000:0000:0000
• - zera mogą być pomijane
• Założenie: powinno zostać wyeliminowane
CIDR (classless inter-domain routing) przy
wdrożeniu IPv6
Adresy IP
• Przestrzeń adresową (32 bity) podzielono na klasy
Nazwa Zakres adresów Liczba
Przeznaadresów w
klasy
czenie
sieci
A
0.1.0.0. do
126.0.0.0
16.777.216
Ogromne sieci
B
128.0.0.0 do
191.255.0.0
65.536
Duże sieci
C
192.0.1.0 do
223.255.255.0
256
Małe sieci
D – 224.0.0.0 do 239.255.255.255 – Sieci rozgłoszeniowe (radio, TV)
E – 240.0.0.0 do 247.255.255.255 – Do doświadczeń
Sieć 127.0.0.0 jest zarezerwowana dla adresów pętli zwrotnych
Pojemność przestrzeni adresowej
• 32 bity dają 4.294.967.296 (232) możliwych
pojedynczych adresów, z czego:
~18 milionów zarezerwowano dla sieci
prywatnych,
~270 milionów na radio i TV(sieci
rozgłoszeniowe multicast)
• IPv6 pozwala na około 5.000 adresów na
każdy kwadratowy mikrometr powierzchni
naszego Globu!!
Adresy IP 32-bity pisane są w następujące
sposoby:
•
•
•
•
10101100000100000000101000010100
10101100 00010000 00001010 00010100
10101100.00010000.00001010.00010100
172.16.10.20
• Klasa: B
• Sieć, do której należy adres: 172.16.0.0.
Już dawno zabrakło miejsca w poszczególnych klasach (zwłaszcza dla
sieci małych) i wykorzystuje się bezklasową przestrzeń adresową (np.
metoda variable length masking)
Adresy
• Adres statyczny – dane urządzenie (np.
komputer) ma przypisany STAŁY adres IP
• Dynamiczny – urządzenie otrzymuje
każdorazowo jeden z adresów należących
do grupy współużytkowników (np. przy
użytkowaniu neostrady)
Sieci – Podsieci - Maski
Pole sieci
przykład
16 bitów
Pole sieci
16 bitów
Pole hosta
16 bitów
Pole podsieci
8 bitów
Pole hosta
8 bitów
Pole sieci – unikalny numer identyfikujący sieć główną
Pole hosta – unikalny numer identyfikujący hosty w danej sieci głównej
Pole podsieci – zabiera się pewną ilość skrajnych lewych bitów z pola
hosta
Maski
• ‘1’ Jedynki wskazują pole sieci
• ‘0’ Zera wskazują pole hosta
Pola po dodaniu
podsieci
Maska podsieci:
Przykład
Zapis maski w
notacji dziesiętnej
Pole sieci
Pole podsieci Pole hosta
JEDYNKI
11111111 11111111 11111111
255.255.255.0
ZERA
00000000
Adres sieci głównej + „slash” (/) i liczba jedynek –
dają pełną maskę podsieci
Przykład:
Pole sieci 192.168.1
bity na pole podsieci
oraz 8 bitów na pole hosta, z którego zabrano 3
Notacja binarna:
Sieć główna:
11000000.10101000.00000001.
00000000
Maska podsieci: 11111111.11111111.11111111.
111 00000
Maska podsieci w notacji dziesiętnej: 255.255.255.224
Pełen poprawny zapis adresu 192.168.1.0
z maską 255.255.255.224
192.168.1.0/27
ĆWICZENIA
• Przykład: Podać w notacji binarnej i
dziesiętnej numer sieci dla adresu hosta:
172.16.9.136/22
Jak urządzenia obliczają adresy
Wykonywane jest mnożenie logiczne (AND)
adresu i maski dla każdego bitu
Adres rozgłoszeniowy (BROADCAST
ADRES)
Wszystkie bity w polu hosta są jedynkami
Ćwiczenie: podaj adres rozgłoszeniowy dla
172.16.8.0/22
Struktura pakietu IP
po 32 bity
•
•
•
•
•
•
•
Bity 0-3 wersja IP
4-7 długość nagłówka
8-15 typ usługi (Type of Service)
16-31 całkowita długość pakietu
+ (0-15) numer ID
+ (16-18) Flagi
+ (19-31) Offset (przesunięcie)
c.d.
•
•
•
•
•
•
•
++ (0-7) TTL – czas życia pakietu
++ (8-15) – protokół warstwy wyższej
++ (16-31) – Suma kontrolna nagłówka
+++ (0-31) adres źródłowy IP
++++(0-31) adres docelowy IP
+++++(0-18) opcje (19-31) uzupełnienie
Od 192 bitu - dane
Długość nagłówka
• Pole zawiera 4 bity; ilość 32-bitowych słów
składających się na nagłówek. Typowo
nagłówek zawiera 20 bajtów, więc wartość
w polu zazwyczaj wynosi 5 (0101)
TOS (Type of Service)
• Ustalanie priorytetu i klasy usługi
(pierwsze 2 bity dają rodzaj usługi – np.
ssh, ftp; „1” w trzecim bicie – to prosba o
opóźnienie, w czwartym – żądanie
zwiększenia przepływności, w 5 – tzw bit
niezawodności – żądanie zwiększenia
jakości, dwa ostatnie – zależnie od
operatora; nie są ustandaryzowane)
Całkowita długość pakietu
• 16 bitów pozwala na ustawienie wielkości
maksymalnej na 65.536 bajtów
• Wszystkie bramki w sieci globalnej „muszą
dać sobie radę” przynajmniej z 576 bajtów
• Minimalna długość pakietu: 20 bajtów
(czyli typowa długość nagłówka)
ID
• Potrzebny do fragmentacji i defragmentacji
(pozwala odbiorcy zidentyfikować, skąd
pochodzi fragment)
Flagi
• Wskazują, czy wolno dzielić fragment, a
jeżeli tak – ostatni bit mówi, czy to jest
ostatni fragment pakietu; Offset pokazuje
numer fragmentu (od 0 w górę)
Time to live - TTL
• Liczba (8 bitów) zostaje zmniejszana przy
przejściu przez każdy router. Po osiągnięciu 0 pakiet nie jest dalej przekazywany –
zapobiega to nieskończonemu błąkaniu
się pakietów po sieci
Protokół warstwy wyższej
Na przykład:
• TCP – to wartość 6
• ICMP – to 1
• UDP – to 17
• OSI transport layer - 20
Główne usługi IP
• Source routing (protokół warstwy wyższej
[ULP] może dać listę kolejnych adresów IP
aż do końcowego skoku)
• Routing operations – decyzje co do soku
zgodnie z listą lub tabelą dostępnych
bramek (statycznych lub dynamicznych);
obliczanie drogi najkrótszej
• Informację o niedostępności może przesłać
ICMP, IP nie ma takich mechanizmów
Główne usługi IP – c.d.
• Loose and strict routing
• Loose – dopóki „da się”, wykorzystana jest
‘source list’, jeżeli nie ma możliwości,
droga i najbliższy skok wykonywany jest
zgodnie z innymi algorytmami
• Strict – tylko zgodnie z ‘source list’, jeżeli
nie – to wcale
Główne usługi IP – c.d.
• Route-Recording Option – tak, jak ‘source
routing’, ale z zapisywaniem ścieżki
• Timestamp Option – każdy moduł IP daje
swój czas z dokładnością do milisekund,
wg czasu Greenvich
• ICMP module (internet control message
protocol) – BO IP JEST BEZPOŁĄCZENIOWY
(CONECTIONLESS) I NIE MA ŻADNYCH
MECHANIZMÓW KONTROLI
DHCP – Dynamic Host
Configuration Protocol
• Znajduje się w warstwie aplikacji
• Został opublikowany jako standard w roku 1993
(RFC 2131); DHCPv6 opisany w RFC 3315 jest
integralną częścią opisu IPv6
• Protokół komunikacyjny - umożliwia uzyskanie
od serwera danych konfiguracyjnych (adres IP
hosta, bramy sieciowej, DNS, maski podsieci…)
• Protokół DHCP opisuje trzy techniki przydzielania adresów IP:
• Przydzielanie ręczne (oparte na tablicy adresów MAC i ich
odpowiednich adresów IP - tworzonej przez administratora serwera
DHCP). Prawo do pracy w sieci mają tylko komputery
zarejestrowane wcześniej przez obsługę systemu.
• Przydzielanie automatyczne, gdzie wolne adresy IP z zakresu
ustalonego przez administratora są przydzielane kolejnym
zgłaszającym się po nie klientom na cały czas podłączenia.
• Przydzielanie dynamiczne. Administrator sieci nadaje zakres
adresów IP do rozdzielenia, zwykle mniejszy niż ilość klientów. Po
starcie systemu klienci automatycznie pobierają swoje adresy ale
tylko na pewien czas. Taka konfiguracja powoduje, że zwykły
użytkownik ma ułatwioną pracę z siecią.
• Niektóre serwery DHCP dodatkowo przydzielają każdemu klientowi
własny adres DNS, przekazywany na serwer nazw protokołem
zgodnym ze specyfikacją RFC 2136
Komunikaty dla przydziału
dynamicznego
• DHCPDISCOVER – zlokalizowanie serwerów
"Do wszystkich serwerów DHCP w sieci. Potrzebny mi adres IP„
Klient nie ma jeszcze przydzielonego adresu, nie może korzystać z
TCP/IP – wysyła więc to żądanie w UDP
• DHCPOFFER – przesyłanie parametrów - serwer DHCP przesyła
adres IP
W sieci może być kilka serwerów DHCP i klient może otrzymać kilka
ofert – KRYTERIA WYBORU NIE SĄ OPISANE W STANDARDZIE
Klient podejmuje decyzję i ponownie w UDP wysyła do wybranego
serwera DHCP:
• DHCPREQUEST – żądanie przydzielenia używanych parametrów
Komunikaty DHCP – c.d.
• DHCPACK – potwierdzenie przydziału parametrów – serwer przydziela
klientowi tymczasowy numer IP, klient sprawdza, czy adresu nie stosuje
inny komputer w sieci i wpisuje otrzymane parametry do komputera
Nieodłącznym elementem jest przyznanie czasu ważności ustawień
(użytkowania przyznanego numeru) (lease – minuty? Godziny? Dni?).
W tle pracują dwa zegary - T1 odmierza połowę czasu ważności, zaś T2
- 87,5 procent pełnego czasu ważności ustawień. Obie wartości można
zmienić w opcjonalnych ustawieniach serwera DHCP - jeśli takie funkcje
zostały zaimplementowane.
Po upływie czasu T1 klient wysyła komunikat DHCPREQUEST do
serwera i pyta, czy serwer może przedłużyć czas użytkowania. Stan ten
określa się jako renewing status. Z reguły serwer odpowiada
wiadomością DHCPACK i przydziela nowy czas użytkowania. Serwer
resetuje wówczas zegary T1 i T2.
Komunikaty DHCP – c.d.
Jeżeli po upływie czasu T2 klient nie otrzyma wiadomości
DHCPACK,
rozpoczyna się tak zwany rebinding status.
Klient musi ponownie wysłać komunikat DHCPREQUEST,
żeby uzyskać przedłużenie czasu użytkowania.
Serwer może odpowiedzieć na to żądanie potwierdzeniem
DHCPACK. Jeżeli jednak i to żądanie pozostanie bez
odpowiedzi, klient musi zażądać nowego adresu IP od
początku, czyli rozsyła zapytania do wszystkich
serwerów DHCP w sieci.
Komunikaty DHCP – c.d.
• DHCPNAK – odmowa przydziału parametrów –
klient „wraca do punktu wyjścia”
• DHCPDECLINE – wskazanie że adres sieciowy
przesłany w DHCPACK jest już używany
• DHCPRELEASE – zwolnienie adresu
• DHCPINFORM – żądanie przydziału
parametrów (bez adresu IP).

Podobne dokumenty