Architektura warstwowa
Plan prezentacji
Klasyfikacja sieci
Komutacja łączy i wiadomości
Komutacja pakietów
Elementy architektury sieci komputerowej
Model warstwowy ISO OSI – założenia
Zasady współpracy jednostek warstw
Model protokołu w architekturze warstwowej
Przepływ danych w architekturze OSI
Standardy
Tryby wymiany informacji
Warstwy - funkcje
Klasyfikacja sieci
sieci komunikacyjne
sieci komutowane
sieci rozgłoszeniowe
(switching)
(broadcasting)
z komutacją łączy
z komutacją pakietów
(circuit switching)
(packet switching)
zorientowane połączeniowo
zorientowane bezpołączeniowo
(connection oriented)
(connectionless oriented)
- Ethernet,
- radiowe,
- satelitarne
- X.25,
- ATM,
- Frame Relay,
- MPLS
- IP
4
Louis Pouzin
<pouzin@enst.fr>
Dear TC6 friends,
Network architecture is TC6 cup of tea. We started from there in 1972, 40 years ago. It's been already
more than five years that some pioneers tried to ring the bell of a research gap in network
architecture, practically frozen with OSI. Actually it's even worse as we live today with internet, which
is not OSI, and internet has been frozen earlier with TCP-IP. It was an experimental network at the time,
and it still is.
Why it is so is an interesting brainstorming topic, which I shall avoid opening here. The bottom line is:
Future Internet = extended obsolescence, unless we open up our vision to future inter-networking.
The massive adoption of proprietary systems such as Facebook, Google, Twitter, portends the decline
of internet relevance on the applications market; it ends up providing pipes and remote access to
centralized services, a traditional role for communications operators. We're back in the 1960s with
airlines, banks, railways networks, hooked to each others by ad hoc crutches. In addition the peer-to-
peer hunting organized by governments complacent to mummified industries is a sure path to crushing
networking innovations.
It's about time to revive network architecture research and experiments. Disseminating and teaching
new concepts would be a way to raise our head out of the box. We need future designers and
engineers, we don't need more temple guardians.
To be more specific, I would suggest taking inspiration from one example of innovative thinking
brought up by John Day, with the RINA model. See some links below.
Cheers, Louis (Pouzin)
Komutacja łączy i wiadomości
Komutacja łączy (circuit switching):
abonent nawiązuje połączenia względnie rzadko, a czas rozmowy
jest względnie długi,
wymiana informacji jest poprzedzona fazą zestawiania połączenia
(rezerwacja zasobów),
Komutacja wiadomości (message switching):
transmisję danych charakteryzują względnie długie sesje
składające się z krótkotrwałych okresów aktywności (bursty traffic),
w sieciach z komutacją wiadomości nie ma wcześniej zestawianych
połączeń,
ponieważ nie istnieje połączenie, to może się zdarzyć, że
wiadomość będzie przechowywana w węźle do chwili zwolnienia
się odpowiednich zasobów (zasada „zapamiętaj i wyślij” – store-
and-forward),
metoda „zapamiętaj i wyślij” wymaga, aby każda wiadomość
zawierała pełną informację identyfikacyjną.
Komutacja łączy
każdej sesji przydzielana jest stała ilość zasobów każdego
kanału transmisyjnego na całej trasie,
dedykowanie zasobów,
stała trasa,
wyczerpanie zasobów powoduje odrzucenie zgłoszenia,
zalety:
stałość opóźnienia,
gwarancja kolejności transmisji,
wady:
zasoby nie są wykorzystywane w czasie „milczenia” źródła,
nieefektywne wykorzystanie zasobów w przypadku dużej
zmienności intensywności źródła,
nieefektywne w przypadku krótkich wiadomości (czas
transmisji do czasu zestawiania łącza).
Komutacja wiadomości - przykład
- l – długość w
iadom
ości,
-
- intensyw
ność napływ
u w
iadom
ości,
- r – szybkość transm
isji (bity/sekundę),
- d – opóźnienie transm
isji (d=
l/r),
o aby d było odpow
iednio m
ałe, to r m
usi być odpow
iednio
duże,
o dla ruchu charakterystycznego dla transm
isji danych
(bursty traffi
c)
1
r
- stopień w
ykorzystania zasobów
jest niski,
- przykład:
o l =
1000 bajtów
(8000 bitów
),
o
=
1 w
iadom
ość na sekundę,
o d <
0.1 sekundy (w
ym
aganie),
o r >
8000/0.1 =
80000 (bitów
na sekundę),
o stopień w
ykorzystania zasobów
: 10%
Komutacja pakietów
Komutacja pakietów (packet switching):
zbliżona do komutacji wiadomości,
wiadomości generowane przez użytkowników (o długości
zmiennej oraz zależnej od aplikacji) są dzielone na bloki
informacji o standardowej długości (pakiety),
oprócz pełnej informacji identyfikacyjnej potrzebny jest
identyfikator położenia pakietu w wiadomości,
usługi sieci pakietowych: datagram (datagram) i połączenie
wirtualne (virtual circuit)
Zalety:
zmniejsza czas przetwarzania informacji w węzłach,
zmniejsza prawdopodobieństwo przekłamania informacji,
Wady:
konieczność segmentacji (segmentation) i odtwarzania
(reassembling) wiadomości.
Komutacja wiadomości i
komutacja pakietów
węzeł 1
węzeł 2
węzeł 3
węzeł 1
węzeł 2
węzeł 3
a) Komutacja wiadomości
a) Komutacja pakietów
czas
czas
opóźnienia
opóźnienia
zysk
Komutacja pakietów
Komutacja pakietów – datagram (datagram packet switching):
- trasy dla poszczególnych pakietów wybierane są niezależnie,
- różne pakiety mogą być przesyłane różnymi trasami,
- pakiety mogą dochodzić do ujścia w kolejności różnej od
kolejności nadawania,
- przykładem użycia tego trybu jest protokół IP (Internet)
Komutacja pakietów – połączenie wirtualne (virtual circuit packet
switching):
- wszystkie pakiety danej sesji są przekazywane tą samą trasą,
- trasa jest ustalana na początku sesji,
- pakiety są etykietowane identyfikatorem (numerem)
połączenia wirtualnego przypisanego do trasy,
- identyfikator połączenia musi być unikalny dla danego łącza,
ale może być różny w różnych łączach tej samej trasy,
- przykładem użycia tego trybu jest ATM (Asynchronous
Transfer Mode).
Optymalna długość pakietu I
ź r ó d ło
u j ś c ie
1 2 n - 1 n
.. .
p a k i e t m u s i b y ć w c a ł o ś c i o d e b r a n y p r z e d w y s ł a n i e m d o k o l e j n e g o w ę z ł a ,
- o p ó ź n ie n ie n p a k ie tó w p r z e k a z y w a n y c h p r z e z m p o łą c z o n y c h
s z e r e g o w o k a n a łó w tr a n s m is y jn y c h w y n o s i:
o k a ż d y p a k ie t z a w ie r a k b itó w d a n y c h i n a g łó w e k ( p o le
k o n tr o ln e , p o le s te r o w a n ia , a d r e s y , fl a g i, itd . ) o d łu g o ś c i
h ,
o c a łk o w ita d łu g o ś ć p a k ie tu – k + h ,
o tr a n s m is ji w ia d o m o ś c i o d łu g o ś c i l b itó w w y m a g a
k
l /
p a k ie tó w ,
o c z a s p o tr z e b n y n a tr a n s m is ję w ia d o m o ś c i p r z e z m
k a n a łó w ( s z y b k o ś ć tr a n s m is ji r ) :
r
h
k
m
k
l
d
)
1
(
Optymalna długość pakietu II
r
h
k
m
k
l
d
)
1
(
-
k ró tk ie p a k ie ty re d u k u ją o p ó ź n ie n ie „s z e re g o w a n ia ” ( p ip e lin in g
e ff e c t), a le z w ię k s z a ją o p ó ź n ie n ie tra n s m is ji z e w z g lę d u n a
d o d a tk o w e n a g łó w k i,
-
d łu g ie p a k ie ty z w ię k s z a ją o p ó ź n ie n ie „s z e re g o w a n ia ”, a le
re d u k u ją n a d m ia ro w o ś ć n a g łó w k ó w ,
-
o p ty m a ln a d łu g o ś ć p a k ie tu :
1
m
lh
k
opt
-
o p ty m a liz a c ja z a s a d n a w p rz y p a d k u s z y b k ic h s ie c i i d łu g ic h ,
w ie lo e le m e n to w y c h tra s a c h ( m u lti h o p ),
-
in n e p o d e jś c ie – o p ty m a liz a c ja d łu g o ś c i p a k ie tu m in im a liz u ją c a
p ra w d o p o d o b ie ń s tw o k o n ie c z n o ś c i re tra n s m is ji (im d łu ż s z y
p a k ie t, ty m w ię k s z e p ra w d o p o d o b ie ń s tw o w y s tą p ie n ia b łę d u ).
Wymagania stawiane architekturom
sieci
mechanizmy identyfikacji nadawców i odbiorców
(adresacja),
zasady transferu danych,
zarządzanie kanałami logicznymi: współdzielenie
zasobów pomiędzy współzawodniczące żądania,
strategie kontroli błędów – detekcja i korekcja,
protokoły poprawnej kolejności transferu jednostek
danych,
regulacja szybkości transferu – dopasowywanie
szybkości źródła do możliwości odbioru,
fragmentacja i odtwarzanie wiadomości,
strategie wyboru tras
Elementy architektury sieci
komputerowej
komunikacja
użytkowników
komunikacja
komputerów
podsystem
komunikacji
podsystem
komunikacji
aplikacja
aplikacja
sieć transmisji danych
komputer A
komputer B
Model warstwowy ISO OSI
- założenia
International Standard Organization Open Systems
Interconnection
modularność (wymienność i otwartość),
zagnieżdżanie usług,
tworzenie oddzielnej warstwy może mieć miejsce, gdy wymaga
tego poziom abstrakcji w prezentacji lub przekształcaniu
informacji,
każda warstwa winna realizować właściwie zdefiniowane funkcje,
funkcje realizowane przez poszczególne warstwy winny
uwzględniać powszechnie akceptowane standardy,
liczba warstw powinna minimalizować ilość informacji
przepływającej przez styki międzywarstwowe,
liczba warstw nie powinna być jednocześnie zbyt mała, by
wyraźnie różnych funkcji nie umieszczać w tej samej warstwie.
Zasady współpracy jednostek
warstw
N+1 - obiekt
N-1 - SAP
N - obiekt
N-1 - obiekt
N - SAP
N+1 - obiekt
N-1 - SAP
N - obiekt
N-1 - obiekt
N - SAP
N
-t
a
w
ar
st
w
a
(N
+1
)-
w
sz
a
w
ar
st
w
a
(N
-1
)-
w
sz
a
w
ar
st
w
a
protokół
N-tej
warstwy
punkty
dostępu do usług
N-tej warstwy
punkty
dostępu do usług
(N-1)-wszej warstwy
obiekty
N-tej warstwy
obiekty
(N-1)-wszej warstwy
obiekty
(N+1)-wszej warstwy
Protokół
protokół - „porozumienie” pomiędzy komunikującymi się obiektami
dotyczące zasad skutecznego zrealizowania komunikacji,
protokoły są podstawowymi elementami oprogramowania sieci,
oprogramowanie sieci jest wynikiem złożenia ogólnych koncepcji
warstw i inżynierii oprogramowania,
w każdej, danej warstwie realizowany jest niewielki zbiór dobrze
zdefiniowanych funkcji (usług) żądanych przez warstwy ponad
daną warstwą,
protokół danej warstwy jest zbiorem reguł i ustaleń wspierających
konwersację pomiędzy obiektami warstw,
komunikacja pomiędzy warstwami jest wirtualna - nie ma żadnej
(poza warstwą fizyczną) fizycznej komunikacji pomiędzy obiektami
zlokalizowanymi w warstwach,
złożenie warstw i odpowiednich protokołów warstw daje w efekcie
architekturą warstwową.
Model protokołu w architekturze
warstwowej
N+1 - obiekt
N - obiekt
SAP
N-tej warstwy
N+1 - obiekt
N - obiekt
N-ta
warstwa
(N+1)-wsza
warstwa
protokół
N-tej warstwy
żą
da
ni
e
(r
eq
ue
st
)
po
tw
ie
dz
en
ie
(c
on
f
rm
)
w
sk
az
an
ie
(i
nd
ic
at
e)
od
po
w
ie
dz
(
re
sp
on
se
)
prymitywy
protokół
(N+1)-wszej warstwy
Przepływ danych w architekturze
OSI
aplikacji
prezentacji
sesji
transportowa
sieciowa
łącza danych
fizyczna
aplikacji
prezentacji
sesji
transportowa
sieciowa
łącza danych
fizyczna
sieciowa
łącza danych
fizyczna
stacja końcowa
źródłowa
stacja końcowa
ujściowa
zo
ri
en
to
w
an
ie
n
a
ob
sł
ug
ę
uż
yt
ko
w
ni
ka
tr
an
sf
er
in
fo
rm
ac
ji
w
p
od
si
ec
i
ko
m
un
ik
ac
yj
ne
j
węzeł
pośredniczący
Modele ISO i TCP/IP
Łączenie w modelu TCP
FTP
client
TCP
IP
Ethernet
driver
FTP
server
TCP
IP
Token Ring
driver
FTP protocol
TCP protocol
IP
protocol
IP
protocol
IP
Ethernet
driver
Token Ring
driver
TR
protocol
Ethernet
protocol
router
Standardy
n aplikacji
m technologii komunikacyjnych
n x m standardów
Standardy
aplikacji
prezentacji
sesji
transportowa
sieciowa
łącza danych
fizyczna
standardy zależne
od aplikacji
(application dependent
standards)
standardy zależne
od medium
(medium dependent
standards)
standardy niezależne
od aplikacji i medium
(application and medium
independent standards)
Jednostki danych w warstwach
aplikacji
prezentacji
sesji
transportowa
sieciowa
łącza danych
fizyczna
wiadomość
PDU WP
PDU WS
segment
pakiet
ramka
blok
Enkapsulacja
dane
użytkownika
dane
użytkownika
nagłówek
aplikacji
dane aplikacji
nagłówek
TCP
dane aplikacji
nagłówek
TCP
nagłówek
IP
dane aplikacji
nagłówek
TCP
nagłówek
IP
nagłówek
Ethernet
segment TCP
datagram IP
ramka Ethernet (od 46 do 1500 bajtów)
APLIKACJA
ETHERNET
INTERNET
PROTOCOL
TRANSPORT
CONTROL
PROTOCOL
STEROWNIK
ETHERNET
Tryby wymiany informacji
– tryb połączeniowy
użytkownik A
użytkownik B
warstwa
N+1 N
N N+1
connect request
connect indication
connect response
connect confirmation
data request
data indication
data request
(data response)
data indication
(data confirmation)
data request
data indication
disconnect request
disconnect indication
disconnect response
disconnect confirmation
Tryby wymiany informacji
– tryb bezpołączeniowy
użytkownik A
użytkownik B
warstwa
N+1 N
N N+1
data request
data indication
użytkownik A
użytkownik B
warstwa
N+1 N
N N+1
data request
data indication
- bezpołączeniowy:
- bezpołączeniowy z powiadamianiem:
data confirmation
transparentna transmisja strumienia bitów poprzez
fizyczne (przewodowe lub bezprzewodowe) połączenie
elementów sieci (przeźroczystość dla inteligencji
zarządzania i protokołów warstw powyżej fizycznej),
transmisja punkt - punkt lub punkt – wielopunkt,
tryb transmisji: simpleks (simplex), półdupleks (half-
duplex) lub pełny dupleks (full-duplex) ,
transmisja szeregowa lub równoległa,
specyfikacja warstwy – charakterystyki: elektryczne,
mechaniczne, operacyjne i sygnalizacji.
specyfikacja DTE (Data Terminal Equipment) i DCE (Data
Circuit Terminating Equipment)
Warstwa fizyczna I
Warstwa fizyczna II
odpowiedzialność za transmisję bitów w kanale
transmisyjnym (randomizacja, równoważenie,
kodowanie transmisyjne),
opóźnienie propagacji:
przykłady:
system naziemny (d= 1000 km – 3,3 milisek),
system satelitarny (d=40000 km – 0,125 sek)
Ethernet (d = 1 km – 3 mikrosek.)
błędy transmisji:
utrata mocy z powodu tłumienia sygnału,
nakładanie się szumów,
model kanału transmisyjnego (model Shanona)
DTE i DCE
- ogólna konfiguracja systemu transmisji danych:
Data Circuit
Terminating
Equipment
Data
Terminal
Equipment
Data Circuit
Terminating
Equipment
Data
Terminal
Equipment
Data
Circuit
Tryby transmisji
- simplex
terminal A
terminal B
czas
- half-duplex
terminal A
terminal B
czas
- full-duplex
terminal A
terminal B
czas
Interfejsy X.21 i V.24
Frame Graund
Signal Graund
Send Data
Receive Data
Request for Sending
Connected for Sending
Data Set Ready
Connect Data Set to Line
Equipment Ready
Carrier Detect
Send Timing
Send Timing
Receive Timing
Call Indication
D
T
E
D
C
E
(
m
o
d
e
m
)
V.24
Transmit
Receive
Control
Indication
Element Timing
Byte Timing
Signal Ground
DTE Common Earth Return
D
T
E
D
C
E
X.21
Warstwa łącza danych
ramkowanie, detekcja błędów i korekcja błędów
(retransmisja),
zestawienie niezawodnego interfejsu (detekcja lub
korekcja błędów) protokołu poprzez warstwę
fizyczną,
wymiana ściśle zdefiniowanych jednostek danych
protokołu warstwy (ramek),
ograniczony zakres adresowy umożliwiający
multipleksację (zwielokrotnianie) na pojedynczym
interfejsie warstwy fizycznej,
możliwa implementacja funkcji sterowania
przepływem (np. spowalnianie przepływu).
Warstwa łącza danych – sieci
lokalne
802.2 Logical Link Control
8
0
2
.3
(E
th
e
rn
e
t)
8
0
2
.4
(T
o
ke
n
B
u
s)
8
0
2
.5
(T
o
ke
n
R
in
g
)
8
0
2
.6
(D
B
D
Q
)
8
0
2
.1
1
(W
L
A
N
)
...
...
warstwa
łącza
danych
warstwa
fizyczna
warstwa
sieciowa
warstwa
sieciowa
podwarstwa
sterowanie łączem
(Logical Link Control)
podwarstwa
dostępu do medium
(Medium Access Control)
podwarstwa
fizyczna
(Physical)
Warstwa łącza danych – inne
sieci
802.2 Logical Link Control
8
0
2
.3
(E
th
e
rn
e
t)
8
0
2
.4
(T
o
ke
n
B
u
s)
8
0
2
.4
(T
o
ke
n
R
in
g
)
8
0
2
.6
(D
B
D
Q
)
8
0
2
.1
1
(W
L
A
N
)
...
...
warstwa
łącza
danych
warstwa
fizyczna
warstwa
sieciowa
A
sy
n
ch
ro
n
o
u
s
Tr
a
n
sf
e
r M
o
d
e
(A
T
M
)
In
te
g
ra
te
d
S
e
rv
ic
e
s
D
ig
ita
l N
e
tw
o
rk
(I
S
D
N
)
Fr
a
m
e
R
e
la
y
(F
R
)
Warstwa sieciowa
niezawodne, zachowujące kolejność dostarczanie
jednostek danych pomiędzy obiektami warstwy
transportowej,
jednoznaczny system adresowania,
funkcje wyznaczania tras (routing) składające się z
aktywności kontrolnych (control) i przekazywania
(forwarding),
jednostka danych protokołów warstwy sieciowej to
pakiet,
możliwa (opcjonalnie) realizacja funkcji sterowania
dostępem, przepływem i kształtowaniem ruchu
oraz segmentacji i odtwarzania,
Warstwa transportowa
połączenie obiektów warstwy sesji,
segmentacja, odtwarzanie i multipleksacja ruchu
(sesji) w jednym połączeniu warstwy sieciowej,
odtwarzanie kolejności,
umożliwia obiektowi warstwy sesji żądania klasy
usług poprzez ich mapowanie w jedną z dostępnych
usług warstwy sieciowej,
sterowanie i zarządzanie przepływem (np.
przeciwdziałanie przeciążeniom),
często realizacja funkcji detekcji i korekcji błędów
(zwłaszcza wtedy, gdy protokół warstwy sieciowej
jest bezpołączeniowym).
Warstwa sesji
interfejs użytkownika do sieci, którego niektóre dane
są (mogą być) przekształcane w warstwie prezentacji,
realizacja wirtualnych połączeń typu koniec – koniec
(end-to-end) pomiędzy użytkownikami,
w niektórych przypadkach bezpośrednie łączenie
użytkowników aplikacji,
negocjacje wartości parametrów i wymiana informacji
o użytkownikach końcowych aplikacji,
inne funkcje: zarządzanie przepływem, zarządzanie
dialogiem, sterowanie kierunkami przepływu
informacji oraz wspomaganie transakcji, funkcje
taryfowania,
Warstwa prezentacji
decyduje o tym, jak dane prezentowane są
użytkownikowi,
rozwiązania oparte na standardach i/lub
fabrycznych,
zarządzanie urządzeniami zewnętrznymi,
przykładowe protokoły warstwy prezentacji,
to formaty wyświetlania obrazu i tekstu,
kody konwersji pomiędzy różnymi
programami,
implementacja kryptografii, kompresji,
Warstwa aplikacji
zarządzanie programami lub urządzeniami
generującymi dane (ruch w sieci),
funkcje warstwy są zależne od protokołów
obsługi urządzeń (equipment-dependent),
przykłady standardów protokołów aplikacji:
X.400,
X.500,
ODA (Office Document Architecture),
TP (Transaction Processing).
Architektura warstwowa – jakość
usług