Model Warstwowy.pdf

(294 KB) Pobierz
Architektura sieci komputerowej - model warstwowy
Model warstwowy i architektura sieci komputerowej
1 Wprowadzenie
Wymagania wstępne: znajomość podstaw modelu warstwowego OSI.
1.1 Podstawowe pojęcia
Ze względu na swą złożoność, oprogramowanie i sprzęt sieciowy podzielone są na niezależne
funkcjonalnie warstwy (ang. layer). Jedna warstwa odpowiada za realizację odrębnego zbioru
funkcji. Każda warstwa (oprócz najwyższej) dostarcza sąsiedniej warstwie wyższej interfejsu
do swoich usług. Model warstwowy określa liczbę warstw oraz ogólne funkcje każdej z nich.
Komunikacja w sieci zgodnej z modelem warstwowym odbywa się tylko między
odpowiadającymi sobie warstwami po obu stronach. Warstwa numer N po stronie nadawczej
przesyła więc wiadomość tylko do warstwy numer N po stronie odbiorczej. Taką
komunikację umożliwia proces zwany kapsułkowaniem (ang. encapsulation).
Kapsułkowanie polega na umieszczeniu wiadomości warstwy wyższej wewnątrz wiadomości
warstwy niższej. Zanim wiadomość po stronie nadawczej zostanie wysłana, przekazywana
jest „w dół” stosu warstw; każda kolejna warstwa po otrzymaniu tej wiadomości od warstwy
wyższej, dodaje do niej własny nagłówek i (rzadziej) stopkę. U odbiorcy natomiast zachodzi
proces odwrotny. Wiadomość przekazywana jest „w górę” stosu warstw i każda kolejna
warstwa interpretuje, a następnie usuwa nagłówek dodany poprzednio przez tę samą warstwę
u nadawcy. Tak okrojona wiadomość przekazywana jest następnie warstwie wyższej.
Aplikacja u odbiorcy otrzymuje zatem oryginalne dane, wysłane wcześniej przez aplikację po
stronie nadawczej. Zasady omówionej tu komunikacji definiuje protokół sieciowy .
Wiadomość każdego protokołu sieciowego obejmuje dwie części: informacje sterujące (tzw.
nagłówek ) oraz dane . Powyższy opis zilustrowano na rysunku 1, zakładającym istnienie
trzech warstw.
warstwa 3
(aplikacja)
warstwa 3
(aplikacja)
N 3
dane
N 3
dane
komunikacja warstw
(protokół)
warstwa 2
warstwa 2
N 2 N 3
dane
N 2 N 3 dane
warstwa 1
(sprzęt)
warstwa 1
(sprzęt)
transmisja bitów
Rysunek 1. Kapsułkowanie w modelu 3-warstwowym.
6047130.003.png 6047130.004.png
Warstwowy model sieci komputerowej został zaproponowany w połowie lat 80-tych
przez organizację ISO i nosi nazwę modelu OSI (ang. Open System Interconnection). Model
OSI wyróżnia 7 warstw, od najniższej – fizycznej, przez warstwy: łącza danych, sieciową,
transportową, sesji i prezentacji po warstwę aplikacji, która dostarcza interfejs usług
sieciowych programom użytkowym, zwanym aplikacjami.
Przez architekturę sieci komputerowej rozumie się zestaw konkretnych rozwiązań
protokołów w poszczególnych warstwach modelu. Dla przykładu, w architekturze TCP/IP
warstwę sieciową implementuje protokół IP, warstwę transportową – protokoły TCP oraz
UDP, a warstwę aplikacji – cały szereg protokołów aplikacyjnych, np. FTP (transferu plików
przez sieć Internet), SMTP (przesyłanie poczty elektronicznej) czy SSH (praca w zdalnym
systemie). Warto zauważyć, że wbrew swojej nazwie, architektura TCP/IP obejmuje dużo
więcej niż tylko dwa protokoły. Ponadto, architektura TCP/IP nie uwzględnia warstw sesji i
prezentacji oraz nie definiuje szczegółów dla warstw fizycznej i łącza danych.
Niniejsze ćwiczenie przybliża architekturę TCP/IP oraz proces kapsułkowania. Niektóre
pojęcia, związane z formatem komunikatów różnych warstw mogą być dla studentów
niezrozumiałe, lecz celem ćwiczenia jest zrozumienie wyłącznie koncepcji kapsułkowania i
warstwowej architektury oprogramowania sieciowego. Dlatego brak znjomoi
wspomnianych pojęć nie powinien niepokoić studentów.
2. Organizacja, wymagany sprzęt i oprogramowanie
• zadania wykonywane są indywidualnie;
• sprzęt: 1 komputer PC;
• oprogramowanie: system Linux, analizatory sieciowe Ethereal oraz tcpdump.
3. Zadania
1. Korzystając z informacji zamieszczonych na kolejnych stronach należy stwierdzić, jaka
aplikacja wygenerowała poniższą ramkę. Uwaga: Ramka pochodzi z sieci technologii
Ethernet DIX i nie zawiera preambuły (zaczyna się od pola Destination address).
00 50 04 4b 75 82 00 03 47 b0 86 0d 08 00 45 00
00 3b 3f 0d 00 00 80 11 0f 3d 96 fe 11 68 96 fe
ad 03 04 63 00 35 00 27 dd fc 00 02 01 00 00 01
00 00 00 00 00 00 03 77 77 77 06 67 6f 6f 67 6c
65 02 70 6c 00 00 01 00 01
2. Używając programów Ethereal oraz tcpdump (obydwa dostępne dla systemów Windows i
Linux), dokonaj analizy ramek w lokalnej sieci. Zdefiniuj filtr, który wyselekcjonuje
wszystkie ramki kapsułkujące pakiety IP, wysyłane z twojego komputera lub adresowane
do niego.
4. Pytania sprawdzające
1. Jakie są zalety i wady warstwowej architektury sieci komputerowej?
2. Na czym polega kapsułkowanie wiadomości? Jak przebiega u nadawcy, a jak
u odbiorcy?
3. Warstwa wyższa może przekazać wiadomość warstwie niższej, gdyż ma dostęp do
interfejsu jej usług. Jak natomiast odbywa się przekazywanie wiadomości „w górę”
stosu warstw po stronie odbiorczej?
5. Literatura
1. Koncepcja modelu warstwowego oraz zarys implementacji: A. S. Tanenbaum „Sieci
komputerowe”, Helion 2004.
2. Koncepcja modelu warstwowego: J. F. Kurose, F. Ross „Computer Networking – A
Top-Down Approach Featuring the Internet”, Prentice Hall 2003.
3. Implementacja modelu warstwowego: D. E. Comer i D. L. Stevens „Sieci komputerowe
TCP/IP”, WNT 1997.
Poniższe rysunki pochodzą z książki A. S. Tanenbaum „Sieci komputerowe”.
Rysunek 1. Format ra
mki Ethernet a) Ethernet DIX, b) Ethernet IEEE 802.3
Rysunek 2. Format pakietu IPv4
Rysunek 3. Format nagłówka UDP
6047130.005.png 6047130.006.png 6047130.001.png
Wartość szesnastkowa Protokół
6005 DEC
8137 IPX
0800 IP
809B AppleTalk
Tabela 1 - przykładowe wartości pola Type w ramce Ethernet DIX
Wartość dziesiętna Protokół
6
TCP
17
UDP
88
EIGRP
89
OSPF
1
ICMP
41
IPv6
Tabela 2 - przykładowe wartości pola Protocol nagłówka IP
Aplikacja Port UDP Port TCP
FTP 20, 21
SSH 22
TELNET 23
SMTP 25
DNS 53 53
HTTP 80
SNMP 161
Tabela 3 - numery portów (dziesiętne) niektórych aplikacji
6047130.002.png
Zgłoś jeśli naruszono regulamin