Professional Documents
Culture Documents
Politechniki Warszawskiej
Sieci komputerowe
podrecznik
˛ multimedialny pod redakcja˛
prof. dr hab. inż. Andrzeja P. Wierzbickiego
Warszawa, 2007
Ilustracje:
Anita Sterna
Opracowanie HTML:
Mariusz Pajer
Wprowadzenie 1
1 Podstawowe poj˛ecia 3
1.1. Historia sieci komputerowych . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Topologie sieciowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Rodzaje sieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4. Model ISO/OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1. Transmisja danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2. Urzadzenia
˛ sieciowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.3. Internetowy model sieciowy . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5. Media transmisyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1. Kable miedziane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2. Kable światłowodowe . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
iv
4 Sieci ATM 45
4.1. Standard ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2. ATM Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3. Urzadzenia
˛ ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4. Adresacja w sieci ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5. Rodzaje połaczeń
˛ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6. Wirtualne ścieżki i kanały . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7. Budowa komórki ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.1. Typy komórek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.8. Model sieci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8.1. Warstwa fizyczna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8.2. Warstwa ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8.3. Warstwa AAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.9. Klasy ruchu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.10. Interfejsy ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.10.1. Protokół ILMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.10.2. Protokół PNNI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.11. ATM a sieci komputerowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.11.1. Standard LANE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.11.2. LANE 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.11.3. MPOA - Multiprotocol Over ATM . . . . . . . . . . . . . . . . . . . . . 69
4.11.4. IP over ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.12. ATM a telefonia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.13. Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Skorowidz 199
viii
Wprowadzenie
1
2
R OZDZIAŁ 1
Podstawowe pojecia
˛
3
4 1.1. Historia sieci komputerowych
kie, które również uczestniczyły w badaniach ARPA. Dosyć szybko wykorzystano możliwości
komunikacji, które stwarzała i w 1972 r. powstała pierwsza usługa sieciowa — poczta elek-
troniczna. Dalszy rozwój protokołów sieciowych post˛epował bardzo szybko. W 1974 r. powstał
standard TCP (Transport Control Protocol), w 1976 — pierwszy router, a w 1978 standard trans-
feru plików.
Pierwszy raz termin Internet został użyty ok. 1974 r., ale do szerszego użycia wszedł do-
piero w latach osiemdziesiatych.˛ Stopniowo rozpocz˛eto rozdzielanie sieci o charakterze militar-
nym od sieci naukowej, do której później właczono ˛ również zastosowania komercyjne. Na wzór
ARPANET-u powstawały inne sieci, o cywilnym charakterze: BITNET, EARN i CSNET. Kształ-
towały si˛e „klasyczne” protokoły internetowe. W 1983 r. opublikowany został zestaw standar-
dów TCP/IP w znanej nam, współczesnej postaci. W 1984 r. opracowano DNS (Domain Name
System).
Przełom w rozwoju Internetu nastapił ˛ w 1991 r. kiedy to Tim Berners-Lee z CERN-u opra-
cował protokół HTTP (Hypertext Transfer Protocol) i zaproponował nowy system udost˛epniania
informacji: WWW (World Wide Web). Prawdziwa˛ popularność ten nowy system zdobył wraz
z pojawieniem si˛e pierwszej graficznej przegladarki ˛ WWW — Mosaica (1993). Od tego mo-
mentu rozwój ogólnoświatowej sieci stał si˛e nieomal wykładniczy, zasadniczo zmieniajac ˛ do-
tychczasowe sposoby dost˛epu do informacji i tworzac ˛ jedna˛ z podstaw budowy społecze ństwa
informacyjnego.
Wspominajac ˛ histori˛e sieci komputerowych warto też powiedzieć o dwóch nieodległych od
siebie datach. W 1994 r. powstał pierwszy katalog stron internetowych, zorganizowany przez
firm˛e Yahoo! Był to przodek wszystkich dzisiejszych portali (czyli serwerów WWW groma-
dzacych
˛ wiedz˛e z określonej dziedziny zarówno w postaci własnych artykułów, jak i dobrze
skatalogowanych odnośników do innych serwerów) i wyszukiwarek internetowych.
W 1995 r. rozpocz˛eły działanie NetPhone i RealAudio — dajac ˛ poczatek
˛ usługom przesyła-
nia głosu w sieci Internet.
Polska z przyczyn politycznych nie mogła brać udziału w powstawaniu Internetu i zwiaza- ˛
nych z nim usług. Nasz udział mógł si˛e rozpoczać ˛ po 1989 r. W 1990 r. po zniesieniu przez
COCOM wi˛ekszości restrykcji Polska uzyskała dost˛ep do sieci EARN, zaś w 1991 r. NASK
(Naukowa i Akademicka Sieć komputerowa) zrealizowała pierwsze podłaczenie ˛ do Internetu.
Dalszy rozwój usług post˛epował bardzo szybko i niewiele ust˛epował ich rozwojowi na świecie:
w 1995 r. powstał pierwszy polski portal internetowy: Wirtualna Polska, w 1999 r. pierwszy pol-
ski komunikator: Gadu-Gadu, w 2001 r. praktycznie równolegle z powstaniem angloj˛ezycznej
Wikipedi powstała również jej polska edycja.
Obecnie, właśnie ze wzgl˛edu na ogromny rozwój i wielka˛ popularność Internetu, rodzina
protokołów TCP/IP (stanowiaca ˛ jego podstaw˛e) stała si˛e wiodac ˛ a˛ technologia˛ sieciowa˛ wypie-
rajac
˛ wszystkie inne, konkurencyjne rozwiazania. ˛ Na bazie tych protokołów tworzone sa˛ nowe
usługi zwiazane
˛ m.in. z transmisja˛ dźwi˛eku i obrazu.
Przewiduje si˛e, że w niedalekiej przyszłości przesyłanie zarówno danych, jak i zapisanych
cyfrowo: dźwi˛eku (rozmów telefonicznych, audycji radiowych, muzyki) i obrazu (zdj˛e ć, filmów)
b˛edzie możliwe za pomoca˛ wspólnej infrastruktury sieci pakietowych. To zjawisko stopniowego
scalania si˛e różnych dotad ˛ technologii nosi nazw˛e konwergencji (od łac. convergere — zbiega ć
si˛e). Zakłada si˛e, że ta sama rodzina protokołów sieciowych b˛edzie używana zarówno w sieciach
lokalnych, czy domowych, jak i w sieciach wielkich operatorów telekomunikacyjnych.
Podstawowe poj˛ecia 5
Szyna (ang. bus) jest jedna˛ z najstarszych topologii sieciowych. W tej topologii wszystkie
komputery podłaczone˛ sa˛ bezpośrednio do wspólnego medium transmisyjnego. Cokolwiek je-
den komputer wyśle do takiej sieci może być odebrane przez wszystkie inne, a co za tym idzie
dost˛epne pasmo jest dzielone przez wszystkie połaczone
˛ do szyny komputery. Rodzi to sze-
reg problemów. Najważniejszym z nich sa˛ kolizje, czyli sytuacje, gdy dwa komputery rozpoczna˛
nadawanie w mniej wi˛ecej tym samym momencie. Powoduje to, że wzajemnie si˛e zakłócaja˛ i ża-
den z nadanych przez nich komunikatów nie nadaje si˛e do odczytu. Drugim istotnym problemem
jest to, że każdy komputer może odebrać to, co wysyła do sieci dowolny inny komputer. Bardzo
łatwo jest podsłuchać transmisj˛e, która zachodzi pomi˛edzy dwoma komputerami połaczonymi ˛
do wspólnej szyny. Do zalet tej topologii należy zaliczyć bardzo prosta˛ i tania˛ konstrukcj˛e sieci.
Sieci wykorzystujace˛ topologi˛e szyny to m.in.: Ethernet oraz Token Bus.
Pierścień (ang. ring) — jest topologia˛ obecnie rzadko stosowana, ˛ ale uznawana˛ za jedna˛ z bar-
dziej niezawodnych. Jak sama nazwa wskazuje, wszystkie komputery lub urzadzenia ˛ sieciowe,
podłaczone
˛ do tego typu sieci, sa˛ połaczone
˛ w pierścień. Inaczej jednak niż w przypadku szyny,
wszystkie one aktywnie uczestnicza˛ w przekazywaniu danych. Sieć o budowie pierścieniowej
może składać si˛e z jednej badź
˛ dwóch ścieżek transmisji danych (jednego, badź ˛ dwóch pierście-
ni). Jedna ze ścieżek nosi nazw˛e podstawowej, a druga zapasowej. W przypadku awarii ścieżki
podstawowej (np. uszkodzenia łacza ˛ transmisyjnego), stacje b˛edace ˛ najbliżej miejsca awarii do-
konuja˛ obejścia, czyli połaczenia
˛ pierścienia podstawowego i zapasowego. W ten sposób trans-
misja może nadal być kontynuowana. Wyróżniamy dwa rodzaje urzadze ˛ ń podłaczonych
˛ do sieci
pierścieniowych: SAS (Single Attached Station) oraz DAS (Dual Attached Station) — w zależ-
ności od tego czy sa˛ podłaczone
˛ do jednego, czy do dwóch pierścieni. Urzadzenie ˛ połaczone
˛
tylko do jednego pierścienia może, w przypadku awarii, zostać wyłaczone ˛ z sieci.
6 1.2. Topologie sieciowe
Gwiazda (ang. star) — jest topologia,˛ która dominuje obecnie w lokalnych sieciach kompute-
rowych. W tej topologii wszystkie komputery sa˛ podłaczone,
˛ osobnymi łaczami,
˛ do centralnego
urzadzenia
˛ odpowiedzialnego za transmisj˛e danych mi˛edzy nimi. Ponieważ w tym rozwiazaniu ˛
każdy komputer dysponuje własnym łaczem,
˛ może on — przynajmniej teoretycznie — wykorzy-
stywać pełna˛ przepustowość sieci. Awaria jego łacza
˛ nie powoduje awarii całej sieci, a jedynie
Podstawowe poj˛ecia 7
Krata (ang. mesh) — jest przede wszystkim wykorzystywana w sieciach rozległych. Jest to to-
pologia sieciowa złożona w budowie i późniejszym zarzadzaniu,
˛ pozwala ona bowiem na łacze- ˛
nie każdego urzadzenia
˛ w sieci z każdym innym. Oczywiście nie wszystkie połaczenia
˛ sa˛ reali-
zowane, ze wzgl˛edów finansowych, badź ˛ technicznych, ale typowo pomi˛edzy dwoma punktami
takiej sieci istnieje wi˛ecej niż jedno połaczenie.
˛ Dzi˛eki temu, tego typu sieci sa˛ bardzo odporne
na awarie i umożliwiaja˛ uzyskanie dużych przepustowości, ale wymagaja˛ bardziej skompliko-
wanych mechanizmów rozpływu ruchu i sa˛ raczej kosztowne w budowie i eksploatacji.
Do typowych sieci budowanych w tej topologii zaliczyć należy: ATM (Asynchronous Trans-
fer Mode) oraz Frame Relay.
Sieć WAN (Wide Area Network) czyli inaczej sieć rozległa jest całkowitym przeciwie ństwem
sieci lokalnych — jej obszar działania obejmuje setki lub tysiace˛ kilometrów. Może ona łaczy
˛ ć
zarówno oddziały tego samego przedsi˛ebiorstwa, jak i w˛ezły sieciowe należace˛ do różnych firm.
W sieciach tego typu przeważaja˛ połaczenia
˛ punkt-punkt, choć zazwyczaj zapewniane sa˛ także
połaczenia
˛ zapasowe. Oczywiście najbardziej znanym przykładem sieci rozległej jest Internet.
Sieci rozległe charakteryzuja˛ si˛e z bardzo zróżnicowanymi szybkościami transmisji. W centrum
(szkielecie) sieci, zapewnianym przez dużych operatorów telekomunikacyjnych, możliwe jest
uzyskiwanie pr˛edkości transmisji dochodzacych˛ do terabitów na sekund˛e. Jednak użytkowni-
cy indywidualni badź
˛ instytucjonalni, ze wzgl˛edu na wysokie opłaty, uzyskuja˛ dost˛ep do sieci
z pr˛edkościami znacznie niższymi niż w sieciach lokalnych. Typowe pr˛edkości to: 128 kb/s,
512 kb/s, 2 Mb/s.
Sieć MAN (Metropolitan Area Network). Sieci metropolitalne były przede wszystkim pomy-
ślane jako miejsca koncentracji usług sieciowych w obszarach zurbanizowanych, o przewidy-
wanej dużej liczbie użytkowników. Powstawały przede wszystkim w momencie, gdy łacza ˛ do
sieci rozległych np. Internetu miały niezbyt wielkie przepustowości. Stad ˛ pomysł scentralizo-
wania najcz˛eściej wykorzystywanych zasobów (uruchomienia serwerów: plików, Usnet news,
w3cache) tam gdzie jest dużo osób chcacych ˛ z nich skorzystać. Dzi˛eki temu informacje były
pobierane jednokrotnie i gromadzone w sieci MAN, zamiast wielokrotnie transmitowa ć to samo,
dla różnych użytkowników, przez mało wydolne łacza ˛ do sieci rozległej. Ponieważ sieci miejskie
obejmowały zazwyczaj niezbyt wielkie obszary (do 100 km) i mogły wykorzystywa ć istniejac ˛ a˛
infrastruktur˛e teletechniczna,˛ możliwe było budowanie sieci o stosunkowo dużych przepustowo-
ściach (typowo od 100 Mb/s do kilku Gb/s). Do tej sieci były podłaczane˛ sieci lokalne poszcze-
gólnych instytucji, a sama sieć dysponowała jednym lub kilkoma połaczeniami
˛ do sieci rozległej.
Kilka lat temu, dzi˛eki finansowaniu Komitetu Badań Naukowych, w głównych ośrodkach aka-
demickich w Polsce powstały sieci miejskie łacz ˛ ace
˛ instytucje edukacyjne i naukowo-badawcze.
Obecnie coraz rzadziej mamy do czynienia z koncentracja˛ usług w sieciach miejskich. Ze
wzgl˛edu na rozwój sieci rozległych, m.in. przez istotne zwi˛ekszenie szybkości transmisji do-
st˛epnych dla poszczególnych użytkowników, sieci MAN stały si˛e przede wszystkim sieciami
o charakterze dost˛epowym (ułatwiajacymi˛ dost˛ep do sieci rozległej).
Podstawowe poj˛ecia 9
Model ISO/OSI powstał w 1984 r. w momencie, gdy rynek sieci komputerowych był zdominowa-
ny przez rozwiazania
˛ poszczególnych dużych producentów (DEC, IBM). Był próba˛ stworzenia
pewnego modelu koncepcyjnego, który pozwalałby na tworzenie poszczególnych komponentów
sieci — zarówno urzadzeń
˛ jak i oprogramowania — przez niezależnych wytwórców oraz za-
pewnienie wzajemnej zgodności wszystkich rozwiazań.
˛ Przez wszystkie lata rozwoju sieci był
on podstawowym modelem odniesienia używanym przy przedstawianiu zasad działania sieci.
Model ISO/OSI składa si˛e z siedmiu warstw (liczac
˛ od dołu):
1. warstwa fizyczna — opisuje sprz˛etowe możliwości przesyłania danych; umożliwia prze-
syłanie pojedynczych bitów informacji pomi˛edzy dwom (lub wi˛ecej) komputerami poła- ˛
czonymi tym samym łaczem;˛ opisuje parametry elektryczne i mechaniczne łacza ˛ (poziomy
sygnałów elektrycznych, kształt złacz),
˛ szybkość transmisji, opóźnienia transmisyjne, sto-
p˛e bł˛edów.
2. warstwa łacza˛ — umożliwia przesyłanie ramek (tj. sekwencji bitów) pomi˛edzy dwoma
lub wi˛ecej stacjami połaczonymi
˛ tym samym łaczem;
˛ zapewnia wykrywanie i ewentualne
korygowanie bł˛edów transmisji; przy wi˛ekszej liczbie stacji zapewnia bezkolizyjny dost˛ep
do łacza.
˛
3. warstwa sieciowa — zapewnia wybór optymalnej drogi pakietów (tj. danych wraz z odpo-
wiednimi informacjami sterujacymi)˛ pomi˛edzy dwoma stacjami ko ńcowymi przy wyko-
rzystaniu w˛ezłów pośredniczacych;
˛ zapewnia również jednoznaczna˛ adresacj˛e wszystkich
urzadzeń
˛ w całej sieci.
4. warstwa transportowa — oddziela oprogramowanie warstw wyższych od problemów
zwiazanych
˛ z przesyłaniem danych; zapewnia bezbł˛edna˛ transmisj˛e o zadanej charaktery-
styce (przepustowość, stopa bł˛edów, opóźnienia) oraz ekonomiczne wykorzystanie łacza. ˛
5. warstwa sesji — umożliwia wzajemna˛ synchronizacj˛e urzadze ˛ ń bioracych
˛ udział w wy-
mianie informacji oraz zarzadzanie
˛ wymiana˛ danych.
6. warstwa prezentacji — odpowiada za przekształcenie przesyłanych informacji do formy
odpowiedniej dla oprogramowania wykorzystywanego przez użytkownika (zmiana spo-
sobu kodowania znaków, zmiana formatu, szyfrowanie lub deszyfrowanie, kompresja lub
dekompresja).
7. warstwa aplikacji — umożliwia bezpośrednia˛ komunikacj˛e z użytkownikiem przez od-
powiednie programy aplikacyjne.
Model ISO/OSI stał si˛e podstawa˛ rozwoju wielu protokołów sieciowych, jednak nie do ko ńca
zadania poszczególnych protokołów pokrywaja˛ si˛e z funkcjami odpowiednich warstw. Stosun-
kowo najlepsza˛ odpowiedniość widać w tzw. protokołach warstwy fizycznej oraz w warstwie
sieciowej. W ramach rodziny protokołów TCP/IP cz˛esto jednak poszczególne protokoły realizu-
ja˛ zadania, które zostały przypisane wi˛ecej niż jednej warstwie modelu ISO/OSI np. TCP, czy
telnet. Relacje poszczególnych protokołów z rodziny TCP/IP do modelu ISO/OSI przedstawiono
na rys. 1.5.
Zestaw protokołów internetowych bazujacych
˛ na IP, TCP i UDP, obejmujacych
˛ wszystkie
warstwy modelu ISO/OSI przyj˛eło si˛e nazywać stosem TCP/IP. Jest on w tej chwili implemen-
towany praktycznie w każdym systemie operacyjnym.
10 1.4. Model ISO/OSI
aplikacji NFS
Telnet SMTP FTP
prezentacji DNS XDR
sesji RPC
transportowa TCP UDP
sieciowa IP
³¹cza
Ethernet Token Ring Slip PPP
fizyczna
Rysunek 1.5: Układ protokołów warstwy fizycznej i protokołów z rodziny TCP/IP w stosunku
do warstwowego modelu ISO/OSI.
aplikacji dane
prezentacji
sesji
transportowa
sieciowa
³¹cza
fizyczna
koły pomocnicze (np. ARP Address Resolution Protocol). Nie służa˛ one wymianie danych przez
poszczególne aplikacje, a sa˛ wykorzystywane do wymiany informacji kontrolnych i sterujacych
˛
pomi˛edzy poszczególnymi stosami protokołów na komputerach użytkowników.
1.4.2. Urzadzenia
˛ sieciowe
Wprowadzenie modelu ISO/OSI pozwoliło również na dokonanie pewnej klasyfikacji urzadze ˛ ń
sieciowych w zależności od tego, w której warstwie modelu pracuja.˛ Wyróżniono nast˛epujace
˛
zasadnicze typy urzadzeń:
˛
3
2
1 1
3 1
2
2
1
1
172.16.10.0 2 172.16.20.0
172.16.30.0
Przedstawione tu modele urzadzeń˛ sieciowych maja,˛ podobnie jak sam model ISO/OSI, cha-
rakter koncepcyjny. Dost˛epne w sprzedaży urzadzenie
˛ nie zawsze daja˛ si˛e łatwo zaklasyfikowa ć
do jednej z przedstawionych tu grup. Cz˛esto w zależności od obsługiwanych protokołów moga˛
pełnić różne role np. dla protokołów z rodziny TCP/IP moga˛ działać jak router, dla protokołów
novellowskich zachowywać si˛e jak bridge, a dla wybranych systemów pocztowych mieć funkcj˛e
gatewaya.
Rola każdego z tych urzadzeń,
˛ stosowanych w rzeczywistych sieciach komputerowych, zo-
stanie bardziej szczegółowo omówiona w późniejszych rozdziałach.
Podstawowe poj˛ecia 13
aplikacji
prezentacji aplikacji
sesji
transportowa transportowa
sieciowa sieciowa
³¹cza
fizyczna
fizyczna
(czyli na takich długościach fal, które podlegaja˛ najmniejszemu tłumieniu). Typowe okna trans-
misji to: 850 nm, 1300 nm, 1550 nm.
Ze wzgl˛edu na budow˛e i sposób działania kable światłowodowe dzielimy na jedno- i wielo-
modowe. Kable wielomodowe maja˛ zazwyczaj wi˛eksze średnice włókna (50 100 µm) i umożli-
wiaja˛ przesyłanie wzdłuż osi włókna wielu promieni świetlnych (modów). Kable te charaktery-
zuja˛ si˛e jednak dosyć dużym tłumieniem. W kablu jednomodowym (4 10 µm średnicy włókna)
przesyłany jest tylko jeden promień światła, którego źródłem jest zazwyczaj nadajnik laserowy.
Kable światłowodowe przy wykorzystaniu technik zwielokrotnienia falowego umożliwia-
ja˛ uzyskanie terabitowych przepustowości oraz pozwalaja˛ na przesyłanie danych na odległości
dziesiatek,
˛ a nawet setek kilometrów.
1.6. Podsumowanie
Przedstawione w tym rozdziale poj˛ecia stanowia˛ elementarz administratora sieci komputerowej
— ich biegła znajomość b˛edzie niezb˛edna do zrozumienia kolejnych zagadnie ń omawianych
w podr˛eczniku. Wiele z przedstawionych tu poj˛eć i wspomnianych jedynie protokołów siecio-
wych zostanie szczegółowo omówiona w dalszych rozdziałach.
Bibliografia
[1] Adam Urbanek. Leksykon teleinformatyka. IDG Poland S.A., wydanie I, Warszawa, 2001.
[3] Praca zbiorowa. Vademecum teleinformatyka II. Sieci nowej generacji, technologie interne-
towe, metrologia sieciowa. IDG Poland S.A., wydanie I, Warszawa, 2002.
16
R OZDZIAŁ 2
Rozwój standardu Ethernet
17
18 2.1. Podstawy standardu
kabla należało umieścić terminatory — oporniki, które zapobiegały powstawaniu odbić falo-
wych.
Wszystkie dane, jakie komputer wysyłał do sieci, trafiały do wspólnej szyny i mogły by ć
odebrane przez każdy z podłaczonych
˛ do niej komputerów. W przypadku gdy konieczne było
stworzenie sieci składajacej
˛ si˛e z wielu cz˛eści (tzw. segmentów), do ich wzajemnego łaczenia ˛
używano repeaterów. Miały one za zadanie regeneracj˛e sygnału i jego przesłanie do drugiego
segmentu.
Ta prosta technologia budowy sieci komputerowych miała jednak swoje wady. Przede wszyst-
kim, z punktu widzenia użytkownika, dost˛epne pasmo było dzielone przez wszystkie komputery
podłaczone
˛ do wspólnego medium. Jeśli wi˛ec mieliśmy do czynienia z siecia˛ Ethernet 10 Mb/s,
do której podłaczonych
˛ było np. 20 komputerów, to średnie pasmo dost˛epne teoretycznie dla
pojedynczego użytkownika wynosiło ok. 512 kb/s. Poza tym, ze wzgl˛edu na to, że każdy z kom-
puterów może odebrać dane wysłane do wspólnej szyny, możliwy był podsłuch przesyłanych
informacji.
Z punktu widzenia administratora, technologia ta była przede wszystkim bardzo podatna na
awarie. Wystarczyło bowiem, że ktoś niechcacy ˛ rozłaczył
˛ kabel koncentryczny przy którymkol-
wiek z komputerów (wystarczy obluzować wtyczk˛e) — od razu przestawał działać cały segment.
Bardzo trudne było zlokalizowanie, w którym punkcie sieci doszło do awarii.
Obecnie, podstawowa˛ topologia˛ sieci Ethernet jest topologia gwiazdy. W tej topologii po-
szczególne komputery podłaczone
˛ sa˛ osobnymi przewodami (skr˛etka˛ czteroparowa˛ badź˛ kablem
światłowodowym) do centralnego urzadzenia ˛ w sieci. Dzi˛eki temu każde z urzadze
˛ ń może wy-
korzystywać całe dost˛epne pasmo transmisji, a awaria pojedynczego łacza ˛ eliminuje z sieci tylko
jeden komputer. Zdecydowanie też utrudniony jest bierny podsłuch danych.
Wada˛ tej topologii jest konieczność stosowania aktywnych urzadzeń ˛ sieciowych w jej cen-
trum. W zależności od zastosowanych rozwiazań ˛ technicznych, urzadzenia
˛ te moga˛ jedynie prze-
syłać dane otrzymane przez jeden ze swych portów na wszystkie pozostałe (koncentrator) lub
przesyłać nadchodzace˛ dane wyłacznie
˛ do ich bezpośrednich odbiorców, rozpoznajac ˛ topologi˛e
sieci zgodnie z zasadami działania bridge’a (przełacznik).
˛
W przypadku awarii urzadzenia
˛ centralnego z sieci eliminowanych jest kilkanaście, kilka-
dziesiat,
˛ a nawet kilkaset komputerów. Dlatego też w dużych sieciach komputerowych, bazuja- ˛
cych na protokole Ethernet, stosowane sa˛ rozwiazania˛ nadmiarowe (redundantne) w odniesieniu
zarówno do sprz˛etu: nadmiarowe zasilacze, karty interfejsów, matryce przełaczaj ˛ ace,
˛ jak i pew-
ne rozszerzenia protokołu, pozwalajace ˛ na uruchomienie połacze ˛ ń zapasowych. Niektóre z tych
rozszerzeń zostana˛ omówione w dalszej cz˛eści tego rozdziału.
dla odbiorców. Jednak podczas wysyłania danych stacja nadajaca ˛ ma również obowiazek˛ spraw-
dzania stanu łacza.
˛ Jeśli stwierdzi, że doszło do kolizji, natychmiast przerywa wysyłanie danych,
czeka niewielki, losowej długości, okres czasu, upewnia si˛e, czy łacze ˛ jest znów wolne i pona-
wia transmisj˛e. Ten losowy odst˛ep pomi˛edzy stwierdzeniem kolizji, a ewentualnym ponownym
rozpocz˛eciem transmisji wprowadzono po to, aby dwie stacje, które spowodowały kolizj˛e nie
zacz˛eły znów nadawać w tym samym momencie.
W odróżnieniu od wielu innych protokołów sieciowych, w Ethernecie, jeśli stacja ma do
nadania duża˛ porcj˛e danych, to po nadaniu pierwszej ramki i stwierdzeniu, że łacze ˛ wciaż
˛ jest
wolne, może rozpoczać ˛ nadawanie kolejnej i tak dalej, aż do wyczerpania danych.
Nie powinna zdarzyć si˛e taka sytuacja, że zanim stacja nadajaca˛ odbierze sygnał kolizji (która
może nastapić
˛ w znacznej odległości od miejsca nadawania), zakończy już nadawanie swojej
ramki3 . Aby tego uniknać ˛ wprowadzane sa˛ dwa ograniczenia: na minimalna˛ wielkość ramki
(wynosi ona 64 bajty) oraz na długość segmentu sieci (różna w zależności od medium transmisji).
Dla porzadku
˛ dodajmy tylko, że maksymalna wielkość ramki Ethernet to 1518 bajtów.
Jak widać sposób realizacji transmisji jest bardzo prosty. Warto jednak zwrócić uwag˛e na
dwie jego cechy. Po pierwsze — w klasycznych sieciach Ethernet, ze wzgl˛edu na istnienie zjawi-
ska kolizji, nie jesteśmy w stanie stwierdzić jak szybko dotrze ramka wysłana z jednego kompu-
tera do drugiego. Po drugie, im wi˛ekszy ruch w sieci, tym wi˛eksze prawdopodobie ństwo zajścia
kolizji, im wi˛ecej kolizji tym wi˛ecej trzeba wykonać retransmisji, to z kolei powoduje jeszcze
zwi˛ekszenie ruchu w sieci, a wi˛ec jeszcze wi˛ecej kolizji itd. Może to doprowadzić do całko-
witego zablokowania sieci — wszystkie komputery b˛eda˛ próbowały nadawać, praktycznie całe
pasmo b˛edzie zaj˛ete, a jednak odbiorcy nie b˛eda˛ niczego otrzymywać. Aby uniknać ˛ takiej sytu-
acji, w dobrej praktyce projektowej zakłada si˛e, że obciażenie
˛ pojedynczego segmentu sieci przy
transmisji CSMA/CD nie powinno przekraczać 60%. Jeśli jest wi˛eksze, może to doprowadzić
do zablokowania sieci (trzeba wtedy po prostu podzielić segment na dwa mniejsze, wstawiajac ˛
mi˛edzy nie bridge).
Stad
˛ jeśli wrócimy do poprzedniego przykładu, przy sieci Ethernet 10 Mb/s i 20 podłaczo- ˛
nych do niej komputerach b˛edziemy dysponowali ok. 300 kb/s średniego pasma dla każdego
z nich.
W takiej sieci Ethernet stacja odbiera i wysyła dane korzystajac ˛ z tego samego kanału trans-
misyjnego. Ten typ transmisji nazywa si˛e półdupleks (ang. half dupleks).
Wykorzystanie w sieciach Ethernet światłowodów zmieniło typ transmisji. W przypadku ła- ˛
czy światłowodowych mamy zawsze do czynienia z dwoma światłowodami — jeden służy do
przesyłania danych od stacji do urzadzenia
˛ odbiorczego, a drugi do transmisji w przeciwnym kie-
runku. Ten typ transmisji — jednoczesnej transmisji dwukierunkowej — nosi nazw˛e dupleksu
(ang. full duplex). Warto zauważyć, że przy takiej transmisji mi˛edzy dwoma komputerami nigdy
nie dochodzi do kolizji — można wi˛ec bez obaw wykorzystać pełne dost˛epne pasmo. Ten typ
3 Pr˛
edkość sygnału elektrycznego w kablu miedzianym to ok. 200 000 000 m/s. Wyobraźmy sobie dwa komputery
(A i B) podłaczone
˛ do sieci Ethernet 10 Mb/s oddalone od siebie o 500 m. Zanim pierwszy bit ramki wysłanej przez
komputer A dotrze do komputera B, komputer A b˛edzie już wysyłał 25 bit. Zanim dotrze do niego informacja
o ewentualnej kolizji — b˛edzie już przy 50 bicie. Jak widać nie jest to dużo. Twórcy standardu Ethernet narzucili
jednak bardzo ostre wymagania na wielkość ramki i wielkość segmentu uwzgl˛edniajac ˛ również konieczny czas
reakcji układów elektronicznych, możliwe bł˛edy, zakłócenia i dodajac ˛ jeszcze spory zapas. Dlatego też możliwe
jest uruchomienie segmentów sieci Ethernet znacznie przewyższajacych ˛ przyj˛ete w standardzie ograniczenie na
długość.
20 2.1. Podstawy standardu
przesyłania danych został również wykorzystany przy budowie sieci Ethernet wykorzystujacych
˛
skr˛etk˛e komputerowa˛ i przełaczniki
˛ jako urzadzenia
˛ centralne.
Model ISO/OSI
Model LAN Standardy IEEE, ANSI
sieciowa Podwarstwa
wspó³pracy IEEE 802.1
miêdzysieciowej
IEEE 802.15
IEEE 802.3
Bluetooth
Ethernet
FDDI
PHY
fizyczna
PMD
Rysunek 2.1: Wzajemne relacje pomi˛edzy warstwami modelu ISO/OSI, modelu LAN oraz stan-
dardami opisujacymi
˛ funkcjonowanie lokalnych sieci komputerowych.
Warstwa łacza
˛ została podzielona na podwarstwy:
LLC (ang. Logical Link Control) — kanału logicznego: zapewnia bezbł˛edna˛ transmisj˛e ramek
pomi˛edzy dwoma komputerami podłaczonymi
˛ do jednego segmentu sieci, zarzadza
˛ na-
wiazaniem
˛ i zakończeniem połaczenia
˛ logicznego pomi˛edzy dwoma komputerami, prze-
syłaniem ramek, ich właściwym uporzadkowaniem,
˛ retransmisja.˛
MAC (ang. Medium Access Control) — dost˛epu do medium: umożliwia adresacj˛e w warstwie
łacza
˛ (uzupełnia przesyłana˛ ramk˛e o adres nadawcy i odbiorcy), sprawdza sum˛e kontrolna˛
ramki.
Zazwyczaj funkcjonalność podwarstwy MAC jest zapewniana (sprz˛etowo) przez kart˛e sieciowa,˛
natomiast funkcje LLC sa˛ realizowane (programowo) przez odpowiedni sterownik sieciowy.
Warstwa fizyczna została natomiast podzielona na podwarstwy:
Rozwój standardu Ethernet 21
PMI (ang. Physical Medium Independent) — niezależna˛ od medium: dzi˛eki której przetwarza-
nie ramek odbywa si˛e zawsze tak samo, niezależnie od wykorzystywanego medium trans-
misyjnego; podwarstwa ta jest odpowiedzialna za realizacj˛e kodowania nadmiarowego 4
i scramblingu5 powodujacych,
˛ że przesyłany ciag
˛ bitów ma zbliżona˛ liczb˛e zer i jedynek
oraz jest nieokresowy — umożliwia to synchronizacj˛e nadajnika i odbiornika, a także ogra-
nicza zakłócenia; podwarstwa ta dodaje również do ramki tzw. preambuł˛e 6 oraz znaczniki
poczatku
˛ i końca ramki.
PMD (ang. Physical Medium Dependent) — zależna˛ od medium: realizujac˛ a˛ samo przesyła-
nie danych przy użyciu konkretnego medium fizycznego; w sieciach Ethernet odpowiada
ona za odpowiednie kodowanie transmisyjne, ewentualna˛ multipleksacj˛e 7 kanałów oraz
badanie stanu medium.
Opisany tu model sieci LAN został zaproponowany przez IEEE — i jak widać — poszcze-
gólne warstwy tego modelu dobrze odpowiadaja˛ odpowiednim standardom IEEE.
Ethernet II
IEEE 802.3
DA SA d³. dane FCS
DSAP
SSAP
CTL
DA SA d³. dane FCS
6 bajtów 6 bajtów 2 1 1 1 4 bajty
Rysunek 2.2: Formaty ramki Ethernet: Ethernet II, IEEE 802.3 i IEEE 802.3 wraz z nagłówkiem
IEEE 802.2.
dwa rodzaje Ethernetu. Jeśli stacja skonfigurowana do pracy w sieci Ethernet II odbierze ramk˛e
z typem poniżej 1518, to uzna ja˛ za bł˛edna˛ i odrzuci. To samo zrobi stacja skonfigurowana do
korzystania z IEEE 802.3 z ramka˛ o podanej długości powyżej 1518. Tak wi˛ec te dwie grupy
stacji b˛eda˛ wzajemnie ignorować swoja˛ obecność. Oczywiście tego typu konfiguracje nie sa˛
zalecane.
Te same funkcje, które w ramce Ethernet II sa˛ realizowane przez pole typu, w ramce IEEE
802.3 realizuje nagłówek IEEE 802.2. Określa on rodzaj protokołu odbiorcy i nadawcy (DSAP
i SSAP — Destination/Source Service Access Point). Jest to istotne, gdy na danym komputerze
wykorzystywane sa˛ dwa stosy protokołów np. internetowy TCP/IP oraz IPX/SPX firmy Novell.
Dodatkowo nagłówek IEEE 802.2 zawiera pole CTL (Control) pomocne w realizacji funkcji
podwarstwy LLC.
2.1.5. Adresacja
Każdy komputer w sieci Ethernet (lub dokładniej: każda karta sieciowa) jest identyfikowany
przez swój adres fizyczny (nazywany również adresem MAC). Adres ten składa si˛e z sześciu
bajtów i jest zazwyczaj zapisywany w postaci heksadecymalnej (szesnastkowej) np.:
08:00:20:B1:8D:B5
Aby adres karty sieciowej nie powtórzył si˛e nigdzie w sieci, każdemu z wytwórców została
przez IEEE przydzielona własna pula adresów. Pierwsze trzy bajty adresu MAC identyfikuja˛ pul˛e
danego producenta, kolejne trzy to numer karty w ramach tej puli. Wykaz adresów przypisanych
poszczególnym producentom można znaleźć w RFC 1700 Assigned Numbers.
Warto zwrócić uwag˛e na dwa adresy specjalne:
jeśli w ramce Ethernet został umieszczony adres odbiorcy: ff:ff:ff:ff:ff:ff oznacza
to, że ramka ta jest skierowana do wszystkich komputerów w danym segmencie sieci. Taki
adres nazywamy adresem rozgłoszeniowym lub broadcastowym. Sama zaś ramka nosi
nazw˛e broadcastu.
adres: 00:00:00:00:00:00 jest wpisywany wsz˛edzie tam, gdzie konieczne jest podanie
Rozwój standardu Ethernet 23
adresu fizycznego, a nie jest on w tym momencie znany. Ramka wysłana na ten adres
zachowuje si˛e jak broadcast.
Wprowadzono również dwa typy transmisji: szeregowa,˛ w której transmisja odbywa si˛e bit
po bicie oraz równoległa˛ wykorzystujac ˛ a˛ transmisj˛e WWDM (Wide Wavelength Division Mul-
tiplexing) — tzw. multipleksowanie zgrubne, które polega na tym, że transmisja odbywa si˛e
jednocześnie na 4 długościach fal (dzi˛eki temu można było uzyskać dosyć duże zasi˛egi sieci,
przy wykorzystaniu istniejacych
˛ światłowodów wielo- i jednomodowych, bez korzystania z na-
dajników laserowych dużej mocy).
Norma IEEE 802.3ak zdefiniowała sieci oznaczane jako 10G Base-CX4. Maksymalna dłu-
gość łacza
˛ w tym standardzie to 15 m. Został on pomyślany przede wszystkim do łaczenia˛ mi˛e-
dzy soba˛ urzadzeń
˛ znajdujacych
˛ si˛e w jednym centrum danych. Nie zdobył dużej popularno-
ści, a w najbliższej przyszłości zostanie prawdopodobnie całkowicie wyparty przez rozwiazania
˛
zgodne z IEEE 802.3an.
Ten ostatni standard (oznaczany 10G Base-T) pozwala na transmisj˛e z pr˛edkościa˛ 10 Gb/s
w sieci Ethernet przy wykorzystaniu skr˛etki komputerowej. Warto jednak zwrócić uwag˛e, że mu-
si to być okablowanie spełniajace ˛ najwyższe obecnie ratyfikowane normy. Dla okablowania kat.
6 przewidziany norma˛ zasi˛eg sieci 10G Base-T to 37 m (przy dobrych parametrach okablowania
może działać do ok. 50 m). Dla okablowania kat. 6a norma przewiduje zasi˛eg do 100 m.
W standardzie 10 Gigabit Ethernet ostatecznie zrezygnowano z wspierania transmisji półdu-
pleksowej (CSMA/CD), dzi˛eki temu nie trzeba si˛e martwić o wykrywanie kolizji i dostosowywać
do tego długość ramki i segmentu sieci.
Obecnie opracowywane sa˛ standardy, które maja˛ umożliwić w przyszłości budowanie sieci
Ethernet o przepustowości 40 i 100 Gb/s.
2.3. Urzadzenia
˛ sieci Ethernet
We współczesnych sieciach Ethernet mamy do czynienia z dwoma typami urzadze ˛ ń sieciowych:
koncentratorem i przełacznikiem.
˛ Zewn˛etrznie niczym si˛e od siebie nie różnia˛ i tylko pasjonat
sieci komputerowych potrafi na pierwszy rzut oka rozróżnić modele poszczególnych producen-
tów (podobnie jak pasjonat motoryzacji potrafi na pierwszy rzut oka określić mark˛e i podać para-
metry techniczne wskazanego pojazdu). Mimo, że urzadzenia
˛ te sa˛ tak podobne, ich właściwości
i funkcjonalność sa˛ zdecydowanie różne:
Koncentrator (ang. hub) jest prostym rozwini˛eciem idei repeatera. Mimo, że jest to obecnie
zazwyczaj urzadzenie
˛ wyposażone w wiele portów skr˛etki komputerowej lub portów światło-
wodowych, wewn˛etrznie wszystkie te porty podłaczone
˛ sa˛ do wspólnej szyny. Każda z ramek
Rozwój standardu Ethernet 27
odebrana przez jeden z portów trafia do wspólnej szyny i jest przesyłana przez wszystkie pozo-
stałe porty; tak wi˛ec mimo, że fizycznie sieć ma topologi˛e gwiazdy, to logicznie zachowuje si˛e
jakby była szyna.˛ Ma to wszystkie, omawiane wcześniej, wynikajace ˛ z takiej topologii, konse-
kwencje.
Koncentrator zawsze pracuje w trybie póldupleksu i wykorzystuje transmisj˛e CSMA/CD.
Współczesne koncentratory daja˛ możliwość łaczenia
˛ kilku urzadzeń
˛ w stos (stackowania).
Polega to na połaczeniu
˛ wewn˛etrznych szyn wszystkich urzadze ˛ ń w jedna˛ całość. Powoduje to,
że pasmo dost˛epne dla komputerów podłaczonych
˛ do wszystkich urzadze
˛ ń połaczonych
˛ w stos
jest takie samo, jakby wszystkie one były podłaczone
˛ tylko do jednego koncentratora.
Koncentratory były powszechnie używane w sieciach Ethernet 10 Mb/s i bywaja˛ używane
w sieciach Fast Ethernet. Praktycznie nie spotyka si˛e już ich w szybszych wersjach sieci Ethernet.
Przełacznik
˛ (ang. switch) jest z kolei pewnym rozwini˛eciem idei bridge’a. Można go sobie
wyobrazić jako bridge z duża˛ liczba˛ portów. Po rozpoznaniu topologii sieci, ramka odbierana
przez jeden port przełacznika
˛ jest przesyłana tylko na ten port, do którego jest podłaczony
˛ jej
odbiorca. Co wi˛ecej — dzi˛eki zastosowaniu odpowiednich matryc przełaczaj ˛ acych
˛ — możliwe
jest wykonywanie wielu takich operacji (na różnych portach) równolegle, w sposób niezależny
od siebie.
Wyróżnia si˛e dwa tryby pracy przełacznika:
˛
cut through — w tym trybie pracy decyzja o tym, do którego portu docelowego wysła ć nadcho-
dzac
˛ a˛ ramk˛e, jest podejmowana po odczytaniu adresu odbiorcy (DA). Dzi˛eki temu wpro-
wadzane jest minimalne opóźnienie przy przejściu ramki przez urzadzenie.
˛ Ma to jednak
pewne wady: wysyłanie rozpoczyna si˛e po odebraniu pierwszych 6 bajtów, jeśli ramka
jest uszkodzona, to przełacznik
˛ dowie si˛e o tym dopiero po sprawdzeniu sumy kontrolnej
(FCS) znajdujacej˛ si˛e na jej końcu — a wtedy już b˛edzie za późno, bo pakiet już prak-
tycznie trafił do sieci. Warto zapami˛etać, że w tym trybie pracy wszelkie bł˛edne ramki sa˛
przesyłane do sieci.
store & forward — ten tryb polega na tym, że najpierw cała ramka jest pobierana do bufora,
nast˛epuje jej sprawdzenie, a nast˛epnie jeśli jest nieuszkodzona jest przesyłana na port od-
biorcy. Ten tryb pracy jest wolniejszy, ale dokładniejszy. Musi być stosowany wsz˛edzie
tam, gdzie poszczególne porty pracuja˛ z różnymi pr˛edkościami.
Współczesne przełaczniki
˛ moga˛ działać w obu trybach. Jeśli stopa bł˛edów jest mała uruchamiany
jest tryb pracy cut through, a jeśli stopa bł˛edów rośnie, urzadzenie
˛ przełacza
˛ si˛e w tryb pracy
store & forward.
Przełaczniki
˛ moga˛ pracować zarówno w trybie dupleksu jak i półdupleksu, moga˛ być wypo-
sażone w porty o różnych szybkościach transmisji. Podobnie jak w przypadku koncentratorów,
niektóre modele przełaczników
˛ można łaczyć
˛ w stos, ale w takim przypadku nie mamy do czy-
nienia z łaczeniem
˛ szyn urzadzeń.
˛ Interfejsy do łaczenia
˛ w stos sa˛ logicznie traktowane jako do-
datkowe, bardzo szybkie porty (np. w przypadku przełaczników
˛ Fast Ethernet umożliwiaja˛ one
transmisj˛e z pr˛edkościami 1-2,5 Gb/s, zaś w przypadku przełaczników
˛ Gigabit Ethernet 30-40,
a nawet 80 Gb/s). Dzi˛eki temu połaczenie
˛ niewielkiej liczby przełaczników
˛ w stos nie powoduje
znaczacego
˛ spadku przepustowości.
28 2.4. Nowe właściwości sieci Ethernet
Rysunek 2.3: Podział sieci komputerowej przedsi˛ebiorstwa na sieci wirtualne. Poszczególne sie-
ci VLAN oznaczono kolorami. Moga˛ one obejmować komputery podłaczone ˛ do różnych fizycz-
nych urzadzeń
˛ sieciowych.
Podział na sieci wirtualne odbywa si˛e przede wszystkim w celu lepszej ochrony pewnych
fragmentów sieci. Można sobie wyobrazić podział sieci komputerowej w taki sposób, że wy-
dzielone były by sieci wirtualne: serwisów internetowych, pracowników biurowych, badawcza,
finansowa itp. Każda z tych sieci może cechować si˛e własnymi zasadami bezpieczeństwa i moga˛
być dla siebie wzajemnie niewidoczne (chyba, że zdecydujemy si˛e je ze soba˛ połaczy
˛ ć korzysta-
jac
˛ z routera lub firewalla).
Przydział do sieci wirtualnej może odbywać si˛e na podstawie jednej z cech:
numeru portu urzadzenia,
˛ do którego podłaczony
˛ jest komputer,
adresu MAC komputera,
wykorzystywanego protokołu warstwy sieciowej,
adresu IP komputera.
Rozwój standardu Ethernet 29
Ponieważ zarówno adres IP, jak i wykorzystywany na komputerze stos protokołów może zo-
stać przez użytkownika łatwo zmieniony, przydział do sieci wirtualnej na podstawie tych dwóch
kryteriów wydaje si˛e mało bezpieczny.
Historycznie pierwszym sposobem przydziału do sieci wirtualnej był przydział na podstawie
numeru portu (rys. 2.4).
Rysunek 2.4: Przykład konfiguracja sieci VLAN — przydział na podstawie numerów portów
(numery portów podane sa˛ w lewej kolumnie, sieci wirtualne oznaczono V1-V8).
Ten sposób przydziału można było łatwo zaimplementować w przełaczniku.˛ Jak jednak wy-
mieniać mi˛edzy urzadzeniami
˛ sieciowymi informacje o zdefiniowanych sieciach VLAN? W tym
celu opracowano standard IEEE 802.1Q rozszerzajacy ˛ ramk˛e Ethernet o dodatkowe pole (znacz-
nik) przechowujace˛ m.in. identyfikator sieci VLAN (rys. 2.5).
Dzi˛eki zastosowaniu tego rozwiazania,
˛ każda ramka Ethernet, przesyłana w naszej sieci kom-
puterowej, może zawierać identyfikator sieci VLAN, do której należy. Jednak ten format ramki
nie jest dobrze obsługiwany przez wszystkie sterowniki sieciowe komputerów osobistych. Dla-
tego też powinien być używany tylko na tych łaczach,
˛ które służa˛ do komunikacji urzadze
˛ ń
sieciowych mi˛edzy soba.˛ Poszczególne komputery zazwyczaj należa˛ tylko do jednej sieci wirtu-
alnej9 i nie musza˛ stale otrzymywać tej informacji. Również ze wzgl˛edów bezpieczeństwa sieci
wskazane jest, aby ramki z informacjami o numerze sieci wirtualnej były przesyłane tylko w tych
miejscach, gdzie jest to absolutnie niezb˛edne (najlepiej wyłacznie
˛ w szkielecie sieci).
Standard IEEE 802.1Q umożliwia zdefiniowanie do 4094 sieci wirtualnych (rys. 2.6). Nume-
racja sieci VLAN musi być spójna na wszystkich urzadzeniach
˛ sieciowych. Przykład konfigura-
cji VLAN 802.1Q dla dwóch przełaczników
˛ połaczonych
˛ w stos przedstawiono na rysunku 2.7.
9 Może si˛
e zdarzyć, że serwer może obsługiwać wiele sieci wirtualnych, musi być wtedy wyposażony w specjalna˛
kart˛e sieciowa˛ i sterowniki umożliwiajace
˛ obsług˛e standardu IEEE 802.1Q.
30 2.4. Nowe właściwości sieci Ethernet
SA SA
VLAN ID
dane typ
FCS dane
FCS
Rysunek 2.5: Sposób rozszerzenia ramki Ethernet zdefiniowany w standardzie IEEE 802.1Q.
15 12 0
CFI
Pri VLAN ID
Priorytet VLAN ID 12 bitów
802.1p do 4094 sieci
wirtualnych
Rysunek 2.6: Budowa dodatkowego pola ramki Ethernet standardu IEEE 802.1Q zawierajacego
˛
informacje o identyfikatorze VLAN i priorytecie.
Rysunek 2.7: Konfiguracja sieci VLAN 802.1Q. Literami T i U oznaczono przynależność po-
szczególnych portów do wskazanej sieci wirtualnej. U oznacza port wysyłajacy
˛ standardowe
ramki Ethernet, T — port wysyłajacy
˛ ramki rozszerzone o znacznik 802.1Q.
Warto jednak pami˛etać, że jest to sposób jedynie na zapewnienie pewnego priorytetu transmi-
sji, a nie gwarancja odpowiedniej jakości tej transmisji (jak to ma miejsce np. w sieciach ATM).
W przypadku natłoku, czyli sytuacji, w której liczba nadchodzacych˛ ramek przekroczy pojemość
buforów, b˛eda˛ odrzucane również i te ramki, które sa˛ oznaczone wysokim priorytetem.
2.5. Podsumowanie
Mimo swojego wieku (bardzo już s˛edziwego jak na technologie sieciowe), Ethernet okazuje si˛e
zaskakujaco
˛ żywotny. Jest to obecnie jeden z najszybciej rozwijajacych
˛ si˛e standardów IT. Ether-
34 2.5. Bibliografia
Bibliografia
[1] Krzysztof Nowicki, Józef Woźniak. Przewodowe i bezprzewodowe sieci LAN. Oficyna
Wydawnicza Politechniki Warszawskiej, wydanie I, Warszawa, 2002.
[2] Adam Wolisz. Podstawy lokalnych sieci komputerowych. Sprz˛et sieciowy. Wydawnictwo
Naukowo-Techniczne, wydanie II, Warszawa, 1992.
R OZDZIAŁ 3
Sieci Frame Relay
35
36 3.1. Budowa sieci
sieciowa X-25
fizyczna SDH
Rysunek 3.1: Frame Relay w modelu OSI.
dzeń, nie musza˛ one czekać na otrzymanie całej ramki z danymi. Moga˛ ja˛ zaczać ˛ transmitować
dalej już po otrzymaniu nagłówka. Dzi˛eki temu sieć FR nie musi stosować techniki „zapami˛etaj
i wyślij” (ang. store-and-forward) i w skuteczny sposób zmniejszyć opóźnienia w transmisji ra-
mek. Takie podejście do przełaczania
˛ ramek jest nazywane „przekaż dalej” (ang. cut-through).
Wada˛ takiego podejścia jest niemożność sprawdzenia czy ramka nie uległa uszkodzeniu aż do
momentu kiedy dotrze do odbiorcy.
Oczywiście takie podejście ma swoje dobre i złe strony. W sieciach z niska˛ stopa˛ bł˛edów
można sobie pozwolić na wykrywanie uszkodzeń ramek przez stacje końcowe. Jest to znacznie
bardziej efektywne niż wymiana dodatkowych komunikatów przez urzadzenia ˛ pracujace
˛ w sieci.
Typowa˛ infrastruktur˛e sieci FR przedstawia Rys. 3.3
Urzadzenia
˛ pracujace
˛ w szkielecie cz˛esto sa˛ nazywane siecia˛ FR. Nazwa bierze si˛e z faktu,
że nie stanowia˛ one prostego połaczenia
˛ punktów na brzegach sieci. Sa˛ one połaczone
˛ logicznymi
ścieżkami zdefiniowanymi w sieci. Szkielet sieci tworzy topologi˛e gwiazdy. Choć niekoniecznie.
Sieć FR pozwala elastycznie dostosowywać topologi˛e do aktualnych potrzeb. Urzadzenia ˛ moga˛
być cz˛eściowo połaczone
˛ każde z każdym (ang. full mesh) a dalej tworzyć struktur˛e gwiazdy.
Sieć FR WAN używa dwukierunkowej komunikacji połaczeniowej
˛ mi˛edzy każda˛ para˛ urza-
˛
dzeń dost˛epowych DTE (ang. Data Terminal Equipment) takich jak: FRAD-y (ang. Frame Relay
Access Devices), terminale, komputery, rutery, mosty (ang. bridge) czy multipleksery. Ścieżka
38 3.1. Budowa sieci
Sieæ
Frame Relay HOST
PAD HOST
FRAD
LAN
Urz¹dzenia
koñcowe
u¿ytkowników
LAN
łacz
˛ aca
˛ dwa takie urzadzenia
˛ może przebiegać przez kilka w˛ezłów DCE (ang. Data Circut – ter-
minating Equipment), połaczonych
˛ ze soba˛ kanałami fizycznymi. Tak jak przedstawia to rys. 3.4.
DLCI 1
Sieæ
Frame Relay
B
LAN LAN
A C
DLCI 3
DLCI 2
LAN
LAN
miedzianego (niektóre modemy, np. firmy RAD pozwalaja˛ na podłaczenie ˛ dwóch par przewo-
dów), do którego na drugim końcu jest przyłaczone˛ analogiczne urzadzenie.
˛ Użycie wi˛ekszej
liczby par pozwala podnieść maksymalna˛ szybkość transmisji modemów lub konwerterów. In-
nym możliwym sposobem jest użycie podobnego zestawu urzadze ˛ ń (rutery, konwertery) do ła-˛
czenia sieci LAN z Internetem przy wykorzystaniu światłowodu. Wówczas potrzebne sa˛ jeszcze
mulipleksery, które pozwalaja˛ na wydzielanie kanałów cyfrowych w traktach światłowodowych.
Zaleta˛ drugiego rozwiazania
˛ jest jego zasi˛eg. Dobrej klasy multipleksery pozwalaja˛ na transmisj˛e
sygnału na dziesiatki
˛ kilometrów. W przypadku kabli miedzianych najcz˛estszym problemem jest
ich duża stopa bł˛edów. Dla sieci FR musi ona być poniżej 10 8 . Jeśli kabel spełnia ten warunek
można uzyskać przepustowości ok. 1 Mb/s na odcinkach ok. 10 km. Przy krótszych połaczeniach
˛
i dobrej jakości kablach nowoczesne modemy pozwalaja˛ na transmisj˛e danych z szybkościa˛ na-
wet 4 Mb/s. Przepustowości jakie operatorzy najcz˛eściej oferuja˛ w swoich cennikach to 64 – 256
kb/s, 512 – 1 Mb/s, 1536 – 2 Mb/s. Oczywiście można z operatorem negocjować zestawienie
˛ o przepustowości n 2Mb s n 1. Oprócz tego, dla kanałów o takich przepustowościach,
łacza
cenniki zawieraja˛ minimalna˛ wartość CIR, którego wartość domyślnie wynosi 0 kb/s.
W Polsce z reguły wystarczaja˛ oferowane przez operatorów szybkości kanałów, gdyż jakość
łaczy
˛ nie pozwala na dużo wi˛ecej. Rozwiazaniem
˛ wówczas staje si˛e możliwość skorzystania
z łaczy
˛ radiowych.
bajty
1 2 0-8188 2 1
bity
Rysunek 3.6: Zależność szybkości transmisji danych w kanałach od wartości CIR i EIR.
Ramki transmitowane z szybkościa˛ przekraczajac˛ a˛ wartość CIR + EIR maja˛ ustawiany bit DE
i moga˛ być usuwane z sieci FR przez urzadzenia,
˛ które sa˛ przeciażone.
˛ Jeżeli szybkość wybu-
chowego ruchu przekracza możliwości sieci do przeniesienia go (parametry Be Bc ), wówczas
urzadzenie
˛ w w˛eźle wejściowych zajmuje si˛e usuwaniem ramek nadchodzacych ˛ z szybkościa˛
przekraczajac˛ a˛ ten limit.
Sieci Frame Relay 41
przeciażeniami
˛ na poziomie protokołu FR jest wada,˛ która została zniwelowana tylko w ogra-
niczonym stopniu. Dlatego też najcz˛eściej, przy przesyłaniu danych głosowych, stosowane jest
przesyłanie ich w pakietach protokołu IP przy wykorzystaniu FR (ang. Voice over IP over Fra-
me Relay). Dzi˛eki protokołowi IP możliwe jest już stosowanie protokołu RSVP, RTP (ang. Real
Time Protocol) oraz kompresj˛e nagłówków RTP.
3.4. Podsumowanie
Sieci i urzadzenia
˛ FR umożliwiaja˛ ich wykorzystanie w różnego rodzaju zastosowaniach. Moż-
liwość szybkiego przenoszenia przez FR ramek protokołów warstw wyższych, np. IP, na dużych
odległościach czyni z tej technologii rozwiazanie
˛ np. tzw. problemu ostatniej mili szybkiego lo-
kalnego dost˛epu do sieci. Dodatkowo, użytkownicy dbajacy ˛ o bezpiecze ństwo swoich danych
otrzymuja˛ niemalże gotowe rozwiazanie
˛ stosujac
˛ kanały PVC lub SVC. Nie wyklucza ono sto-
sowania szyfrowanych kanałów VPN (ang. Virtual Private Network). FR może stanowi ć również
dobra˛ baz˛e dla aplikacji przesyłajacych
˛ dane typu audio lub video.
1W połaczeniach
˛ tego typu dane sa˛ transmitowane do wybranej grupy urzadze
˛ ń w sieci. I tylko tej grupy w prze-
ciwieństwie do broadcastu gdzie komunikaty odbiera każdy komputer w danej podsieci.
Sieci Frame Relay 43
Bibliografia
[1] Uyless Black. Frame Relay Networks: Specifications and Implementations. McGraw–Hill,
NewYork, 2nd edition, 1995.
[2] Darren L. Spohn. Data Network Design. McGraw–Hill, NewYork, 2nd edition, 1997.
Przez wiele lat istniał podział na sieci przeznaczone do transmisji danych oraz głosu. Sieci te
istniały równolegle do siebie oraz budowano dedykowane infrastruktury dla ich potrzeb. Podno-
siło to koszty budowania sieci oraz ich utrzymania. Ze wzgl˛edu na swoja˛ charakterystyk˛e, sieci
te trudno było z integrować. Wynika to z charakterystyki działania tych sieci. Sieci transmisji
danych sa˛ sieciami typu PTM (ang. Packet Transfer Mode) a sieci transmisji głosu sieciami STM
(ang. Synchronous Transfer Mode). W klasyczych sieciach PTM podstawowa˛ jednostka˛ "nośna" ˛
jest pakiet. Pakiet może mieć różna˛ długość, a co za tym idzie czas transferu pakietu nie jest stały.
Pakiety pochodzace ˛ z różnych źródeł i majace ˛ różne miejsce przeznaczenia moga˛ by ć transmito-
wane w różnej kolejności bez szczególnych zależności czasowych. W przypadku sieci STM, dla
celu transmisji, przyznawana jest szczelina czasowa. Dzi˛eki temu pomi˛edzy dwoma komuniku-
jacymi
˛ si˛e punktami zapewniona jest stała przepływność i opóźnienie. Pozwala to na realizacj˛e
usług zwiazanych
˛ z transmisja˛ głosu i obrazu w czasie rzeczywistym. Efektem ubocznym jest
niewykorzystane pasmo w przypadku, gdy nie odbywa si˛e żadna transmisja. ATM (ang. Asyn-
chronous Transfer Mode) powstał jako próba połaczenia ˛ tych dwóch nieco niekontatybilnych
technologii. Choć standard ATM ma obecnie charakter przejściowy (patrz wnioski końcowe), to
jednak jest dość powszechnie stosowany.
45
46 4.2. ATM Forum
wstały spore opóźnienia podczas definiowania kolejnych standardów. W sieciach LAN pojawił
si˛e Fast Ethernet, a nast˛epnie Gigabit Ethernet. Technologie te oferowały znaczny przyrost pr˛ed-
kości pracy sieci bez konieczności zapoznawania si˛e z nowa˛ technologia.˛ Koszty przełaczników
˛
oraz kart sieciowych ethernet zacz˛eły spadać, podczas gdy koszty przełaczników
˛ ATM oraz kart
już nie. Koszty wdrożenia ATM w LAN-ie stały si˛e na tyle duże, że obecnie nie buduje si˛e sieci
LAN w oparciu o ATM. Taniej jest budować sieci LAN z wykorzystaniem technologii ethernet.
4.3. Urzadzenia
˛ ATM
W sieciach ATM mamy do czynienia z połaczonymi
˛ przełacznikami
˛ realizujacymi
˛ operacje prze-
łaczania
˛ komórek ATM oraz urzadzaniami
˛ końcowymi, które sa˛ przyłaczone
˛ do przełaczników
˛ i
przesyłaja˛ poprzez sieć ATM dane. Urzadzeniem
˛ ATM może być komputer z karta˛ ATM, prze-
łacznik
˛ ethernet z karta˛ ATM lub szereg innych urzadze
˛ ń.
0 3 9 13 19
AFI DCC HO-DSP ESI SEL
HO-DSP (ang. High Order Domain Specific Part) – pole określajace ˛ adres organizacji
zarzadzaj
˛ acej
˛ siecia.˛ Pole ma długość 10 bajtów dla formatów DCC i ICD oraz 4 dla
E.164;
ESI (ang. End System Identifier) – idendyfikator stacji wewnatrz ˛ sieci prywatnej. Roz-
miar jego wynosi 6 bajtów dla wszystkich konwencji adresowych. ESI powinien by ć nie-
powtarzalny i najcz˛eściej jest adresem nadanym przez producenta urzadzenia ˛ (np. MAC
Address);
SEL (ang selector) – jednobajtowe pole, które nie jest używane do identyfikacji urzadze ˛ ń
i najcz˛eściej jego wartość wynosi zero. Gdy urzadzenie
˛ spełnia jakaś
˛ dodatkowa˛ funkcje
w sieci to identyfikator ma inna˛ wartość.
Adresy ATM, choć identyfikuja˛ urzadzenia
˛ w sieci, nie identyfikuja˛ przesyłanych komórek.
Wynika to z faktu braku w komórce ATM pól adresowych nadawcy i odbiorcy. Adresy ATM sa˛
wykorzystywane wyłacznie˛ do zestawiania połacze
˛ ń pomi˛edzy poszczególnymi urzadzeniami.
˛
wirtualny
kana³ (VC) VP
VC
VC
wirtualna VP
MEDIUM TRANSMISYJNE
œcie¿ka (VP)
Struktura nagłówka różni si˛e w zależności od typu końcówki sieci. Zakończenie może być typu
NNI (ang. Network to Network Interface lub Node to Node Interface) lub UNI (ang. User to
Network Interface). Format komórki przedstawiony jest na rysunku 4.3.
bajty
0 5 53
NAG£ÓWEK DANE
UNI
CLP
GFC VPI VCI PT HEC
NNI
CLP
VPI VCI PT HEC
0 4 12 28 31 32 40
bity
Warstwa AAL stanowi swego rodzaju filtr przydzielajacy ˛ zasoby sieci. Ze wzgl˛edu na róż-
norodność charakterystyk transmisji danych, w obr˛ebie warstwy AAL wydzielono kilka typów
warstw adaptacji AAL:
AAL typ 1 – jest wykorzystywany przy usługach klasy A (patrz niżej), które wymagaja˛
stałej, gwarantowanej pr˛edkości transmisji w trybie połaczeniowym.
˛ Jest przeznaczony do
realizacji transmisji głosu, dźwi˛eku, video i innych usług multimedialnych, w tak zwanym
czasie rzeczywistym.
AAL typ 2 – jest wykorzystywany przy usługach klasy B, które nie wymagaja˛ stałej,
gwarantowanej pr˛edkości transmisji ale wymagaja˛ nie przekraczania limitu maksymalne-
go opóźnienia. Przykładem tego typu transmisji jest transmisja kompresowanego obrazu
wideo, gdzie zamiast przesyłania klatki po klatce przesyłane sa˛ różnice pomi˛edzy nimi;
AAL typ 3/4 – jest wykorzystywana przy usługach klasy C/D, które nie wymagaja˛ transmi-
sji danych ze ścisłymi zależnościami czasowymi. Dane moga˛ być transmitowane w trybie
połaczeniowym
˛ jak i bezpołaczeniowym;
˛
AAL typ 5 – jest podobny do typu 3/4, lecz umożliwia transmisj˛e danych, które nie wy-
magaja˛ ścisłych zależności czasowych ale pracuja˛ w trybie połaczeniowym.
˛
Poszczególnym warstwom AAL przypisane sa˛ różne klasy ruchu.
ABR (ang. Available Bit Rate) – w tej klasie oferowany jest transfer danych z maksymal-
na˛ pr˛edkościa,˛ która jest aktualnie dost˛epna na łaczu.
˛ Pasmo, które jest dost˛epne, to całe
pasmo niezaj˛ete przez komórki transmitujace ˛ ruch w klasach CBR i VBR. Klasa ta jest
realizowana poprzez warstw˛e AAL 5;
UBR (ang. Unspecified Bit Rate) – w tej klasie oferowane jest pasmo na podobnej zasadzie
jak w klasie ABR. Klasa ta różni si˛e tylko tym, że w sytuacji natłoku jako pierwsze sa˛ usu-
wane komórki tej klasy. Klasa ta nadaje si˛e do transmisji dużych zbiorów danych, w któ-
rych kontrola przepływu jest realizowana poprzez aplikacj˛e transmitujac ˛ a˛ dane. W ABR
istnieje mechanizm kontroli przeciażeń,
˛ który zapobiega utracie danych w momencie prze-
ciażenia.
˛ Mechanizm kontroli zmusza systemy komunikujace ˛ si˛e poprzez sieć ATM do
ograniczenia lub wstrzymania transmisji. W UBR takiego mechanizmu nie ma i aplikacje
same musza˛ sobie radzić z utrata˛ danych. Klasa jest realizowana poprzez warstw˛e AAL3/4.
Zależności pomi˛edzy klasami ruchu ilustruje rysunek 4.4.
Pasmo
VBR
CBR
Czas
Można przyjać,
˛ że w przypadku ruchu CBR nast˛epuje rezerwacja pasma. Pasmo to jest przy-
pisane dla tego ruchu niezależnie od faktu, czy w danym momencie realizowana jest transmisja
danych. W przypadku ruchu VBR zajmowane jest w danej chwili pasmo potrzebne do realizacji
danej transmisji. Jeśli transmisja zajmuje mniej pasma, to jest ono automatycznie zwalniane dla
potrzeb ABR lub UBR. Usługi ABR i UBR wykorzystuja˛ dla potrzeb transmisji danych całe
niezaj˛ete pasmo przez inne usługi.
stawia połaczenia
˛ w oparciu o kanały UBR lub ABR. Nie jest możliwe ustawianie za pomoca˛
protokołu ILMI parametrów zwiazanych
˛ z jakościa˛ transmisji.
Protokół ILMI pozwalał na budow˛e sieci ATM, ale sieć zbudowana w oparciu o ten proto-
kół nie pozwalała na pełne wykorzystanie możliwości sieci, szczególnie zwiazanych
˛ z jakościa˛
oferowanych usług. Protokół PPNI-1 realizuje dynamiczny routing w sieci ATM. Komórka po-
dróżuje zgodnie z trasami, których charakterystyki sa˛ umieszczone w przełacznikach
˛ – z tym, że
trasy te sa˛ dynamicznie umieszczane przez protokół PNNI-1. Trasa, która jest wyznaczana przez
ten protokół może posiadać parametry zwiazane
˛ z wymaganiami QoS (ang. Quality of Service).
Może wi˛ec być realizowana w zależności od potrzeb w technikach ABR, VBR czy też CBR.
Protokół PNNI-1 umożliwia tworzenie zarówno małych sieci jak i dużych sieci operatorskich.
Obiekt LEC
Jednym z podstawowych elementów sieci LANE jest LEC. Do jego zada ń należy:
przesyłanie danych do innego klienta LEC lub do serwera BUS w sytuacji realizacji ruchu
multicast lub broadcast;
rejestracja swoich danych w serwerze LES;
przechowywanie adresów w sytuacji, gdy LEC pełni funkcje Proxy LEC. LEC nie reje-
struje wtedy wszystkich adresów MAC w serwerze LES. LES w poszukiwaniu powiazania ˛
adresu MAC–ATM przesyła zapytania do wszystkich klientów Proxy LEC.
pełnienie roli interfejsu dla pozostałych składników sieci ELAN (BUS, LES, LECS). Klient
LEC zestawia z serwerem LECS połaczenie ˛ w celu uzyskania danych konfiguracyjnych
takich, jak adresy serwerów LES i BUS. Nast˛epnie zestawia połaczenie
˛ z serwerem LES,
w którym dokonuje rejestracji powiazanych
˛ ze soba˛ adresów. Rejestracja w serwerze LES
oznacza przyłaczenie
˛ klienta do ELAN-u, który ten serwer obsługuje. Aby ELAN był
w pełni funkcjonalny, klient LEC zestawia jeszcze połaczenie
˛ do serwera BUS, za pomoca˛
którego b˛edzie wysyłał ruch multicastowy i broadcastowy;
enkapuslacja ramek LAN w komórki ATM i przesyłanie ich poprzez sieć ATM. LANE
w transmisji danych wykorzystuje warstw˛e AAL5.
Funkcjonalność LEC implementowana jest w kartach ATM, przełacznikach
˛ oraz routerach. Z re-
guły możliwe jest uruchomienie wi˛ecej niż jednego klienta na pojedynczym urzadzeniu.
˛ Pozwala
to tworzyć wirtualne sieci LAN na bazie ATM.
Serwer LES jest centralna˛ cz˛eścia˛ usługi LANE. Zapewnia on klientom LEC niezb˛edne infor-
macje potrzebne do zestawienia połacze ˛ ń z innymi klientami LEC. Do podstawowych zadań
serwera LES należa:
˛
przyłaczenie
˛ do sieci ELAN klientów LEC. LES na podstawie danych zawartych w żada-˛
niu klienta LEC może klienta przyłaczyć
˛ do ELAN-u lub odrzucić żadanie;
˛
rejestracja adresu klienta LEC oraz stworzenie na podstawie zarejestrowanych adresów
LEC bazy odwzorowań adresów MAC na adresy ATM;
Sieci ATM 57
W sieci ATM może być uruchomionych wiele serwerów LES ale, zgodnie ze specyfikacja˛
LANE 1.0, jeden serwer LES obsługuje jedna˛ sieć ELAN. Ten fakt ograniczył wdrożenia tech-
nologii LANE w sieciach LAN. Mało kto chciał uzależniać działanie sieci od jednego elementu.
Powstały firmowe implementacje, które pozwalały na tworzenie serwerów zapasowych. Nie by-
ły to rozwiazania
˛ kompatybilne ze soba,˛ co zmuszało użytkowników do zakupu urzadze ˛ ń od
jednego producenta.
Serwer BUS jest usługa,˛ która˛ zazwyczaj uruchamia si˛e na tym samym urzadzeniu,
˛ na którym
działa serwer LES. Serwer realizuje funkcje rozsyłania pakietów typu broadcast i multicast do
klientów zlokalizowanych w obr˛ebie pojedynczej emulowanej sieci LAN. Serwer BUS jest iden-
tyfikowany poprzez specjalny adres ATM skojarzony z adresem broadcastowym MAC. Do ser-
wera BUS przyłaczeni
˛ sa˛ klienci LEC.
Serwer LECS jest baza˛ danych zawierajac ˛ a˛ informacje konfiguracyjne na temat poszczegól-
nych podsieci ELAN. Działa on najcz˛eściej na adresie ATM 47007900000000000000000000–
00A03E000001-00 oraz używa stałych kanałów VPI=0 i VCI=17. Użycie domyślnych adresów
pozwala klientom LEC na szybkie odszukanie serwera LECS. W bazie danych serwera LECS
znajduja˛ si˛e adresy ATM serwerów LES i BUS. Poszczególne serwery sa˛ przypisane do ELAN-
ów a ELAN-y sa˛ identyfikowane poprzez nazwy. Z każdy ELAN-em zwiazane ˛ sa˛ także infor-
macje określajace
˛ typ emulowanej sieci (Ethernet lub Token Ring) oraz rozmiary ramek w danej
sieci. Klient LEC chcac˛ dołaczyć
˛ si˛e do ELAN-u w swoim zgłoszeniu podaje nazw˛e sieci ELAN,
do której chce uzyskać połaczenie,
˛ a w odpowiedzi otrzymuje adresy serwerów LES i BUS dla tej
sieci. Konfiguracja serwera LECS sprowadza si˛e do podania adresów ATM serwerów LES/BUS,
określenia typu sieci oraz nadania jej nazwy. W dużej cz˛eści urzadzeń
˛ konfiguracja jest jesz-
cze bardziej uproszczona i sprowadza si˛e do podania nazwy ELAN-u i typu sieci zaś serwisy
LES/BUS sa˛ automatycznie tworzone, a ich adresy umieszczane w bazie danych LECS.
Połaczenia
˛ ATM w LANE 1.0
Control Control
Direct Direct
VCC VCC
Control
Distribute
VCC
Klient sieci emulowanej LEC Klient sieci emulowanej LEC
Configuration Configuration
Direct Direct
VCC VCC
W przypadku połaczeń
˛ zwiazanych
˛ z transportem danych mamy do czynienia z połaczenia-
˛
mi:
Data Direct VCC – dwukierunkowy kanał pomi˛edzy dwoma klientami LEC;
Multicast Send VCC – dwukierunkowy kanał zestawiany przez klienta LEC do serwera
BUS;
Mutlicast Forward VCC – jednokierunkowe połaczenie
˛ typu punkt – wiele punktów, które
zestawia serwer BUD do klientów LEC.
Połaczenia
˛ te znajduja˛ si˛e na rysunku 4.6.
Multicast Multicast
Send Send
VCC VCC
Multicast
Forward
VCC
Klient sieci emulowanej LEC Klient sieci emulowanej LEC
Data Direct VCC
Serwer BUS może przesyłać dane do klientów LEC przez dwa typy łaczy
˛ Multicat Send VCC
jak i Multicast Forward VCC. Niezależnie do rodzaju wybranego łacza
˛ dane, które ma otrzyma ć
klient LEC, musza˛ być nadesłane w odpowiedniej kolejności i nie moga˛ si˛e duplikować.
Sieci ATM 59
Protoko³y Protoko³y
warstw warstw
wy¿szych wy¿szych
Usytuowanie LANE nad warstwa˛ AAL5 oznacza, że nie można w tej technologii wykorzy-
stać możliwości ATM-u w zakresie wymagań QoS. Dane w LANE transmitowane sa˛ za pomoca˛
kanałów UBR.
Funkcjonowanie LANE
Aby uruchomić LANE 1.0, w pierwszej kolejności należy uruchomić serwery LES, LECS, BUS.
Konfiguracja polega na nadaniu nazwy ELAN-owi oraz na uruchomieniu serwerów LES i BUS,
które ten ELAN b˛eda˛ obsługiwać. Nast˛epnie należy skonfigurować serwer LECS. Do jego bazy
należy wprowadzić adresy serwerów LES i BUS oraz nazw˛e skojarzonego z nimi ELAN-u.
W kliencie LEC konfiguracja sprowadza si˛e do podania nazwy ELAN-u, w którym klient
ma pracować. Po właczeniu,
˛ klient za pomoca˛ procedur zwiazanych
˛ z ILMI pobiera prefiks sie-
ci ATM, w której b˛edzie pracował. Nast˛epnie, łacz˛ ac
˛ si˛e z serwerem LECS (który pracuje na
domyślnym adresie) za pomoca˛ kanału o identyfikatorach VPI=0 i VCI=17, pobiera adresy ser-
werów LES i BUS obsługujacych˛ ELAN, do którego LEC ma si˛e przyłaczyć.
˛ Potem klient LEC
rejestruje si˛e w serwerze LES i zestawiane sa˛ połaczenia
˛ kontrolne.
60 4.11. ATM a sieci komputerowe
Odwzorowanie adresów
Obiekt klienta LEC jest przeznaczony do transmisji danych. W klasycznej sieci LAN urzadzenie
˛
wysyła pakiet pod adres MAC. W sieci LANE jest podobnie z tym, że przed wysłaniem transmi-
sji musi być zestawiony kanał. Aby było to możliwe, adresy MAC sa˛ odwzorowywane na adresy
ATM. Z sieci ATM klient LEC otrzymuje 13-bajtowy prefiks, który jest dopełniany 6 bajtami
adresu MAC. Pozostały 20-ty bajt ma znaczenie lokalne. W przypadku, gdy klient LEC chce
wysłać dane pod jakiś adres, MAC wysyła zapytanie do serwera LES, który (jeśli jest w stanie
udzielić odpowiedzi) wysyła ja˛ do LEC. Jeśli serwer LES nie potrafi udzielić odpowiedzi, to
wysyła zapytanie do wszystkich klientów LEC o dany adres MAC. Jeśli któryś z klientów LEC
posiada informacje o danym adresie MAC, to odsyła ja˛ do serwera LES a ten do klienta, który
pytał.
LANE a VLAN
Koncepcja sieci wirtualnej (ang. Virtual LAN) zakłada wyodr˛ebnienie logicznych podsieci w ra-
mach sieci, niezależnie od ich fizycznego połaczenia.
˛ Pozwala to wyodr˛ebnia ć użytkowników
sieci, którzy maja˛ mieć dost˛ep do określonych zasobów. Można także tworzyć wyizolowane gru-
py robocze. LANE spełnia te wymogi. Dla każdej wyodr˛ebnionej sieci należy powoła ć oddzielny
ELAN. Każda sieć ELAN jest oddzielna˛ niezależna˛ siecia˛ LAN.
Podsumowanie
Mechanizmy LANE 1.0, choć bardzo dobrze naśladowały działanie sieci LAN, nie zyskały po-
wszechnego wdrożenia. Główna˛ przyczyna˛ było powierzenie centralnej funkcji serwerom LES
i BUS, których nie można było dublować. W przypadku ich awarii przestawała działać cała sieć.
Problemy te rozwiazuje
˛ specyfikacja LANE 2.0, ale zanim ona powstała przełaczniki
˛ Ethernet
staniały do takiego stopnia, że obecnie nie opłaca si˛e wdrażać sieci ATM w sieci LAN. Obecna
funkcjonalność przełaczników
˛ LAN przewyższa możliwości sieci LANE 1.0. Możliwe jest two-
rzenie VLAN-ów oraz ustawianie priorytetów dla pakietów. Sieci LANE pozostały wyłacznie ˛
jako rozwiazanie
˛ niszowe.
zapewnić wyłacznie
˛ routery. Z punktu widzenia modelu ISO/OSI LANE 2.0 jest usytuowane
poniżej warstwy 2.
LECS#1 LECS#2
LNNI
LES#1 LES#2
LUNI
Serwer LECS - LAN Emulation Configuration Server. Podstawowym zadaniem LECS jest
uproszczenie zarzadzania.
˛ Pełni on role centralnego repozytorium danych konfiguracyjnych.
Udost˛epnia on informacje innym komponentom sieci LANE. Każdy z komponentów sieci LAN
ustanawia, dla celów komunikacji z LECS-em, połaczenie
˛ kanałem VCC zwane Configuration
Direct VCC. Ponieważ w sieci LANE 2.0 może być wiele LECS-ów, LES-ów, BUS-ów oraz
SMS-ów, to dopuszczalna jest sytuacja, w której np. dwa LES-y moga˛ być podłaczone
˛ do róż-
nych LECS-ów. LECS oferuje pozostałym komponentom sieci LANE specyficzne informacje,
potrzebne im do konfiguracji. LEC w czasie uruchamiania otrzymuje od LECS-a adres LES-a,
który obsługuje dany ELAN. Nieco inna˛ informacj˛e otrzymuja˛ od LECS-a komponenty LES
i SMS. LECS podaje im adresy sasiednich
˛ serwerów LES i SMS obsługujacych
˛ ten sam ELAN.
Jedynym elementem sieci LANE 2.0, który nie otrzymuje informacji konfiguracyjnych od ser-
wera LECS, jest BUS. Wynika to z faktu, że każdy BUS jest ściśle powiazany
˛ z serwerem LES
i może bezpośrednio od niego otrzymywać dane konfiguracyjne. Konfiguracja sieci może ulegać
zmianom w czasie pracy. Aby zachować w miar˛e możliwości spójna˛ konfiguracj˛e sieci, możliwe
jest by LECS dynamiczne odświeżał konfiguracje pozostałym komponentom sieci. Najprostsza˛
metoda˛ jest ponowne odpytanie LECS-a o konfiguracj˛e przez inny komponent sieci. Ponieważ
w sieci LANE może być wi˛ecej niż jeden LECS, konieczny jest mechanizm synchronizacji baz
danych zawartych w każdym LECS-ie. Synchronizacja ta jest dokonywana za pomoca˛ kanałów
synchronizacyjnych VCC. Niestety sam mechanizm synchronizacji danych, zawartych w LECS-
ach, nie jest do końca zdefiniowany w specyfikacji LANE.
Serwer LES - LAN Emulation Server. LES jest głównym komponentem odpowiedzialnym za
prace emulowanej sieci LAN. Najcz˛eściej realizowany jest w postaci oprogramowania na prze-
łaczniku
˛ ATM. Istnieja˛ implementacje pracujace˛ na brzegowych urzadzeniach
˛ sieci ATM np. na
routerach CISCO czy stacjach roboczych SUN. Każdy LES tworzy i utrzymuje baz˛e powiaza ˛ ń
adresów ATM i MAC wszystkich stacji pracujacych ˛ w danym LAN-ie. Adresy ATM najcz˛e-
ściej sa˛ tworzone w oparciu o prefiks sieci ATM i adres MAC stacji. Zadaniem serwera LES
jest przyłaczenie
˛ do sieci ELAN klienta LEC. Klient LEC może zostać przyłaczony ˛ wyłacznie
˛
wtedy do ELAN-u, gdy jego żadanie˛ przyłaczenia
˛ b˛edzie skierowane do LES-a, który ten ELAN
obsługuje. Wyjatkiem
˛ sa˛ rozwiazania
˛ firm, które w konfiguracji zawieraja˛ tzw. ELAN domyślny.
Sieci ATM 63
LES, który taki ELAN obsługuje, przyłacza ˛ do sieci każdego klienta LES zgłaszajacego
˛ żada-
˛
nie przyłaczenia
˛ do sieci. Ułatwia to tworzenie prostej, emulowanej sieci, bo wystarczy właczy ˛ ć
urzadzenia
˛ i sieć już działa. Niestety, istnienie takiego LES-a i ELAN-u prowadzi do wielu pro-
blemów. Wystarczy bowiem by LES obsługujacy ˛ dana˛ sieć ELAN w czasie startu urzadzeń,
˛
wystartował nieco później niż LES obsługujacy ˛ ELAN domyślny. Jest wtedy szansa, że żada- ˛
nia wysłane przez prawidłowo skonfigurowane LEC-e zostana˛ przechwycone przez domyślny
LES. Sieć ELAN nie funkcjonuje wtedy prawidłowo. Ponieważ w sieci ELAN w specyfikacji
LANE 2.0 dopuszczalne jest istnienie wielu serwerów LES, musza˛ one synchronizowa ć swo-
je bazy danych. Czynia˛ to ustanawiać pomi˛edzy soba˛ połaczenia ˛ VCC zwane Control Cache
VCC. Synchronizacja baz odbywa si˛e za pomoca˛ protokołu Server Cache Synchronization Pro-
tokol (SCSP). Aby sieć ELAN prawidłowo pracowała, wszystkie serwery LES, obsługujace ˛ dany
ELAN, musza˛ mieć pomi˛edzy soba˛ połaczenia,˛ gdyż jedynie wtedy możliwa jest synchroniza-
cja wszystkich serwerów LES. Konieczność ta wynika z modelu pracy sieci. Kiedy LEC zostaje
właczony
˛ do sieci, jest on podłaczany
˛ do najbliższego serwera LES wskazanego przez LECS-a.
Kiedy LEC musi przesłać dane pod adres, którego nie zna, wysyła zapytanie o adres ATM do
swojego serwera LES. Serwer LES może odpowiedzieć na zapytanie o adres ATM podajac ˛ adres
ATM klienta LEC lub przesłać zapytanie do innego serwera LES, który na te pytanie odpowie.
Serwer BUS. Serwer BUS jest komponentem odpowiedzialnym za obsług˛e pakietów broadca-
stowych (jeden do wszystkich) i pakietów, dla których nie udało si˛e znaleźć ATM-owego adresu
przeznaczenia. Serwer BUS bierze także udział w transmisji pakietów multicastowych (jeden
do wielu) jeśli klientem LEC jest klient działajacy
˛ zgodnie ze specyfikacja˛ LANE 1.0. Istnieja˛
dwa sposoby realizacji serwera BUS. Pierwsza oparta jest na technologii VCC-Mapped. W takim
wykonaniu serwer BUS przesyła pakiety broadcastowe do wszystkich klientów LEC niezależ-
nie od tego, czy dany LEC zarejestrował jakiś MAC adres czy nie. Druga technologia jest nieco
bardziej inteligentna. Pakiety broadcastowe sa˛ wysłane tylko tym klientom, którzy zarejestrowa-
li jakieś adresy MAC. Pozwala to na zaoszcz˛edzenie pasma, a także oszcz˛edza klientowi LEC
pracy zwiazanej
˛ z usuwaniem niechcianych ramek. Każdy serwer BUS jest sparowany z ser-
werem LES. W specyfikacji LANE 1.0 i 2.0 nie jest wyszczególniony protokół komunikacyjny
pomi˛edzy serwerem LES i BUS. Producenci implementuja˛ go sami. Najcz˛e ściej w czasie konfi-
gurowania urzadzenia
˛ wystarczy skonfigurować serwer LES, a serwer BUS b˛edzie uruchomiony
automatycznie z takim samym adresem ATM jak LES. W czasie inicjalizacji LEC, po wysłaniu
zapytania o adres broadcastowy, otrzymuje też za pośrednictwem serwera LES adres skojarzo-
nego serwera BUS. Klient ustanawia do serwera BUS połaczenie˛ iDefault Multicast Send VCC,
a w odpowiedzi serwer BUS ustanawia Multicast Forwarding VVC do klienta. Klient LEC po
zestawieniu takich połaczeń
˛ staje si˛e lokalnym klientem serwera BUS. Wszystkie pakiety broad-
castowe, wysłane przez klienta LEC, sa˛ rozsyłane przez serwer BUS do jego lokalnych klientów
LEC oraz do innych serwerów BUS obsługujacych ˛ ten sam ELAN. Aby było to możliwe, wszyst-
kie serwery BUS pracujace ˛ we wspólnym ELAN-ie musza˛ ustanowić pomi˛edzy soba˛ połaczenie
˛
Multicast Forward VCC. Każdy klient LEC może także wysyłać do serwera BUS pakiety z nie-
znanymi adresami docelowymi oraz pakiety multicast. Jeśli klient LEC znajdzie adres docelowy
dla danego pakietu multicastowego, to może go wysłać bezpośrednio do docelowych stacji. Jeśli
nie, to może go wysłać badź
˛ na adres serwer BUS, badź ˛ na adres serwera SMS. Specyfikacja
LANE 2.0 dopuszcza obie te możliwości. Wynika to z konieczności zachowania zgodności ze
64 4.11. ATM a sieci komputerowe
specyfikacja˛ LANE 1.0, w której pakiety multicastowe mogły być wysyłane wyłacznie
˛ na ad-
res serwera BUS. W przypadku pakietów z nieznanymi adresami docelowymi BUS rozsyła je
do wszystkich klientów LEC. Jeśli któryś z klientów LEC zna adres, jego odpowiedź zostanie
dodana do bazy adresowej serwera LES.
Serwer SMS - Selective Multicast Servers. Serwer BUS nie dostarczał efektywnego mechani-
zmu transmisji pakietów multicastowych. W specyfikacji LANE 2.0 dodano wiec nowy obiekt,
którego zadaniem jest przej˛ecie od serwera BUS obsługi ruchu multicastowego. Serwer SMS
nie przejmuje jednak całości tego ruchu. Nie było to możliwe, ze wzgl˛edu na konieczność za-
chowania zgodności z poprzednia˛ specyfikacja˛ LANE 1.0. SMS w czasie inicjalizacji ustanawia
połaczenie
˛ z serwerem LES, którego adres otrzymał od serwera LECS. Do synchronizacji bazy
z serwerem LES, SMS używa protokołu SCSP. Klienci LEC działajacy ˛ w oparciu o specyfikacj˛e
LANE 1.0 nie zauważaja˛ istnienia serwera SMS i wysyłaja˛ wszystkie dane multicastowe do ser-
wera BUS. Klient LEC napisany w oparciu o specyfikacje LANE 2.0 może ustanowić połaczenie˛
z serwerem SMS i do niego wysyłać dane multicastowe. Klient LEC v.2.0 może stać si˛e człon-
kiem grupy multicastowej. Grup˛e multicastowa˛ tworzy lokalny serwer LES poprzez rejestracj˛e
w swojej bazie nast˛epujacych
˛ informacji: adres multicastowy, adres serwera SMS, adres klienta
LEC. Serwer LES po zarejestrowaniu grupy rozsyła t˛e informacj˛e za pomoca˛ protokołu SCSP do
pozostałych serwerów LES oraz do serwera SMS. Kiedy serwer SMS otrzyma informacj˛e o gru-
pie, tworzy drzewo Multicast Forward VCC, do którego jako liść dodaje klienta LEC. Odtad ˛ LEC
v.2.0 b˛edzie otrzymywał dane multicastowe. Należy jednak pami˛etać, że oprócz nowych klien-
tów w sieci moga˛ znajdować si˛e także klienci LEC v.1.0. Aby zapewnić poprawna˛ współprac˛e
obu typów klientów, serwer SMS pracuje przy transmisji multicastów prawie tak samo jak in-
teligentny serwer BUS. Nie może jednak przejać ˛ pełnej funkcjonalności serwera BUS, gdyż nie
ma możliwości obsługiwania zapytań o adres przy przesyłaniu strumieni danych jakie sa˛ gene-
rowanie w normalnym ruchu sieciwym (ang. unicast). Ponadto serwer BUS jest zawsze para˛ dla
konkretnego serwera LES. Natomiast serwer SMS, posiadajac ˛ pełna˛ baz˛e klientów serwera LES,
jest w swej funkcjonalności zbliżony do serwera LES, nie ma jednak możliwości bezpośredniej
rejestracji LEC w swojej bazie.
Klient LEC - LAN Emulation Client. Klient LEC pełni rol˛e interfejsu sprz˛egajacego˛ sieć
LAN z siecia˛ ATM. Jako usługa jest realizowany w dwóch zasadniczych odmianach:
w postaci oprogramowania (sterownika) do karty sieciowej w komputerze lub routerze.
W tym przypadku klient LEC rejestruje si˛e w bazie adresowej serwera LES jako normalny
klient z pełnym adresem;
jako dodatkowy moduł oprogramowania w tak zwanych przełacznikach
˛ brzegowych. W tym
przypadku klient LEC rejestruje si˛e w bazie adresowej serwera LES jako proxy LEC. Ser-
wer LES przesyła do tego typu klientów LEC wszystkie zapytania o powiazanie˛ adresów
MAC - ATM, których sam nie potrafi obsłużyć;
Niezależnie od sposobu implementacji klient LEC realizuje nast˛epujace
˛ zadania:
transmisji danych do innych klientów LEC dla normalnej transmisji danych mi˛edzy urza- ˛
dzeniami w sieci (unicast);
transmisji danych do serwera BUS dla ruchu broadcastowego;
transmisji danych do serwera SMS dla ruchu multicastowego;
Sieci ATM 65
Serwer D
Serwer A Serwer B
Serwer C
Serwer D
Serwer A Serwer B
Serwer C
do serwerów A,B,C.
Aby optymalizować ruch, serwer D przy wysyłaniu nie używa kanałów VCC point to point
zestawionych do serwerów B,A. Używa do tego wyłacznie
˛ kanału point to multipoint.
Serwer D
Serwer A Serwer B
Serwer C
Zadania protokołu LUNI. Protokół LUNI definiuje zadania, które musza˛ być realizowane
przez klienta LEC. W wi˛ekszości zostały one opisane podczas omawiania zadań klienta LEC.
W protokole LUNI zdefiniowane sa˛ także procedury tworzenia i usuwania kanałów VCC do
realizacji poszczególnych zadań. Sa˛ to kanały inicjowane zarówno przez serwery serwisu LANE
jak i klienta LEC. Kanały można podzielić na dwie zasadnicze grupy:
kanały kontrolne VCC
dwukierunkowy point to point Configuration Direct VCC pomi˛edzy klientem LEC
a serwerem LECS (inicjowany przez klienta LEC);
dwukierunkowy point to point Control Direct VCC pomi˛edzy klientem LEC a ser-
werem LES (inicjowany przez klienta LEC);
jednokierunkowy point to multipoint Control Distribute pomi˛edzy serwerem LES
a klientami LEC (inicjowany przez serwer LES).
Sieci ATM 69
Rozszerzenia protokołu LUNI. Protokół LUNI v.2 jest rozszerzeniem specyfikacji LUNI v.1
i jest zgodny wstecznie z ta˛ specyfikacja.˛ Rozszerzenia LUNI 2.0 obejmuja: ˛
wsparcie dla QoS (Quality of Service);
wsparcie dla Multicastów;
multipleksacji ruchu w jednym kanale VCC.
Wsparcie dla wymagań QoS obejmuje możliwość zestawiania kanałów VCC dla transmisji da-
nych w standardzie ABRi (ang. Availble Bit Rate). W LANE 1.0 możliwe jest zestawianie wy-
łacznie
˛ kanałów w standardzie UBR (ang. Unspecified Bit Rate). Pozwala to na transmisj˛e da-
nych, które wymagaja˛ wi˛ekszej gwarancji jakości pasma. LANE v.2 pozwala definiować parame-
try QoS lokalnie dla każdego klienta LEC. Najniższe parametry jakości transmisji QoS odpowia-
daja˛ transmisji w standardzie UBR. Dane wysyłane przez klienta LEC z ustawionymi parame-
trami QoS sa˛ otrzymywane przez odbierajacego ˛ klienta LEC z zachowaniem jakości nadawania.
Wsparcie dla multicastów obejmuje możliwość tworzenia takich grup multicastowych, w których
odbierajacymi
˛ b˛eda˛ tylko członkowie danej grupy. Możliwe si˛e to stało po utworzeniu nowego
obiektu w serwisach LANE serwera SMS. Pełne wykorzystanie jego właściwości jest możliwe
dopiero wtedy, gdy klient LEC jest oparty o specyfikacj˛e LUNI 2.0. W LANE 1.0 multicasty
były rozsyłane za pomoca˛ serwera BUS, który rozsyłał je tak jak zwykłe pakiety broadcastowe.
W LANE 2.0 klient LEC śle adresy multicastowe do serwera SMS. Nast˛epnie klient LEC reje-
struje si˛e w bazie serwera SMS jako klient, który chce odbierać pakiety multicastowe adresowane
na konkretny adres multicastowy. W przypadku, gdy pakiety nie sa˛ adresowane do niego, to do
niego w ogóle nie docieraja.˛ W przypadku sieci LANE 1.0 klient LEC musi odbierać i ignorować
pakiety multicastowe, które nie sa˛ adresowane do niego. Pozwala to na oszcz˛edność pasma i na
lepsze wykorzystanie sieci. W LANE 1.0 w jednym kanale VCC przy transmisji danych nie jest
możliwa multiplekasacja ruchu do wielu różnych źródeł danych i typu danych. W takim kanale
moga˛ być transmitowane zarówno dane kontrolne jak dane zawierajace ˛ enkapsulowane pakiety
sieci LAN.
wi˛ec urzadzenia
˛ łacz
˛ ace
˛ w sobie funkcjonalność routerów i przełaczników.
˛ Nazywane sa˛ one
przełacznikami
˛ warstwy trzeciej. Przełaczniki
˛ tego typu analizuja˛ pierwszy pakiet ze strumienia
danych, który ma być przesłany pomi˛edzy sieciami LAN, a nast˛epne pakiety traktuje jako kon-
tynuacj˛e tego strumienia. Ta funkcjonalność pozwala na budowanie wysokowydajnych połacze ˛ ń
sieci LAN za stosunkowo nieduże pieniadze.˛ Podobna˛ funkcjonalność dla sieci LAN zbudowa-
nych w oparciu o specyfikacje LANE 2.0 ma zapewnić standard MPOA.
MPOA v.1.1
Standard MPOA v.1.1 ukazał si˛e w maju 1999 roku. Jest on rozszerzeniem standardu MPOA
1.0, który ukazał si˛e w lipcu 1997 roku. Standard MPOA określa sposób zastosowania protokołu
NHRP (ang. Next Hop Resolution Protokol) w sieciach zbudowanych w oparciu o specyfikacje
LANE 2.0. MPOA jest nadbudowa˛ nad siecia˛ LANE (patrz rysunek 4.12 MPOA a sieć LANE).
MPOA pozwala różnym sieciom ELAN na przesyłanie pakietów z pomini˛eciem routera. Pozwala
to sieci ATM na:
znacznie bardziej efektywna˛ komunikacje pomi˛edzy ELAN-ami;
zmniejszenie liczby urzadzeń
˛ potrzebnych do przesłania pakietów pomi˛edzy ELAN-ami;
uproszczenie budowy sieci, gdyż zmniejsza si˛e liczba urzadze
˛ ń potrzebnych do zapewnie-
nia połaczeń
˛ mi˛edzysieciowych, a co za tym idzie upraszcza si˛e konfiguracja sieci;
obniżenie kosztów, bo mniejsza liczba routerów oznacza wi˛ecej wolnych portów dla in-
nych urzadzeń.
˛
Standard MPOA może być zaimplementowanych w sieciach ATM które:
wspieraja˛ sygnalizacje UNI (ang. User Network Interface) w wersjach 3.0, 3.1, 4.0.
pracuja˛ zgodnie ze specyfikacja˛ LANE 2.0.
Aby wdrożenie MPOA było możliwe, należy najpierw zaimplementować protokół NHRP, któ-
rego definicja znajduje si˛e w dokumentach RFC 2332.
Model MPOA
ATM
MPOA CLIENT
NETWORK MPOA SERVER
L3 Fwd
Function NHS
ELAN#1
Routing
LEC#1 LEC#1 Function
Serwer MPOA (MPS) jest funkcjonalnym odpowiednikiem routera. W jego skład wchodzi
NHS (ang. Next Hop Server),który jest implementacja˛ standardu NHRP z pewnymi rozszerze-
niami. MPS współpracuje z klientami MPC. MPS jest najcz˛eściej implementowany jako rozsze-
rzenie na oprogramowania na routerach sprz˛etowych. Klient MPOA (MPC) jest lokowany na
przełacznikach
˛ brzegowych (MPOA Edge Device) lub na komputerach bezpośrednio przyłaczo- ˛
nych do sieci ATM (MPOA HOST). Zadaniem klienta MPOA jest wykrywanie strumienia pa-
kietów, które musza˛ być przesłane przez router i przesłanie informacji o nich do serwera MPOA.
Gdy okaże si˛e, że transmisja danych jest skierowana do ELAN-u, który jest w tej samej sieci
ATM i ma zaimplementowanego klienta MPC, to zestawiane jest połaczenie ˛ VCC łacz
˛ ace
˛ bez-
pośrednio dwóch klientów LEC i nim sa˛ transmitowane dane. Sytuacj˛e ilustruje rysunek 4.13:
Przykładowe drogi pakietów w sieci ze standardem MPOA.
ATM
NETWORK
MPOA CLIENT MPOA SERVER
L3 Fwd
Function NHS
Routing
LEC#2 LEC#2 Function
Podsumowanie
Standard LANE 2.0 oraz jego uzupełnienie, czyli standard MPOA, pozwalaja˛ na budow˛e bardzo
wydajnych sieci LAN. Zastosowanie obu standardów eliminuje wiele ogranicze ń, które spoty-
kało si˛e w sieciach zbudowanych w oparciu o specyfikacj˛e LANE 1.0. Rozbudowane zostały
zarówno serwisy (wprowadzono serwer multicastów, dzi˛eki MPOA możliwy jest routing) oraz,
co szczególnie ważne, poprawiono niezawodność sieci poprzez wprowadzenie dublujacych ˛ si˛e
serwerów usług. Praktyczne zastosowanie tych standardów stoi jednak pod znakiem zapytania.
MPOA zapewnia bardzo efektywny routing, ale jednocześnie ma bardzo słabe możliwości kon-
troli i filtracji ruchu. Wymaga także rozbudowania istniejacych
˛ urzadze
˛ ń o wi˛eksza˛ ilość pami˛eci
72 4.11. ATM a sieci komputerowe
i silniejsze procesory. Trzeba także pami˛etać, że w dzisiejszych czasach zbudowanie sieci ściśle
wiaże
˛ si˛e z koniecznościa˛ wdrożenia różnorodnych mechanizmów bezpiecze ństwa, które w stan-
dardzie LANE i MPOA nie sa˛ przewidziane. Główna˛ jednakże przeszkoda˛ w budowie sieci ATM
LANE sa˛ i b˛eda˛ koszty. Pojedyncza karta do przełacznika˛ ATM z czterema portami ATM 155
Mb/s kosztuje tyle ile 24-portowy przełacznik˛ 10/100Mb/s dla sieci LAN. Karta ATM do kom-
putera PC kosztuje średnio pi˛eć sześć razy wi˛ecej niż dobrej klasy karta Fast Ethernet. W ofercie
firm trudno jest znaleźć karty ATM szybsze niż 622 Mb/s. Jednocześnie w sieciach LAN mamy
do czynienia z ofensywa˛ Gigabit Ethernetu. Takiej pr˛edkości transmisji nie gwarantuje żaden
przełacznik
˛ ATM przeznaczony dla sieci LAN. Prawdopodobnie jedynym miejscem, gdzie znaj-
da˛ praktyczne zastosowania standardy LANE 2.0 i MPOA b˛eda˛ sieci zbudowane na standardzie
LANE 1.0. Sa˛ to jednak tylko przypuszczenia, gdyż koszty przejścia do LANE 2.0 moga˛ być
na tyle wysokie, że b˛edzie to także nieopłacalne. Wiele sieci ATM pracuje w oparciu o firmowe
standardy, które zapewniaja˛ zarówno routing pomi˛edzy sieciami jak i zwi˛ekszona˛ niezawodność
sieci. Sprawdzaja˛ si˛e one na tyle dobrze, że podj˛ecie si˛e ich wymiany spowodowałoby wyłacznie˛
niepotrzebne koszty.
0xAA-AA-03 LLC
3B
0x00-00-00
3B OUI
Pakiet IP over ATM
0x-08-00
Ether Type
2B
do 9 kB IP PDU
0 - 47 B PAD
1B CPCS-UU
1B CPI
Dane generowane
przez AAL5
2B Length
4B CRC
Właściwy pakiet IP zawarty jest w polu IP PDU. Dodatkowo warstwa ALL 5 dodaje do pakietu
własne, specyficzne dla niej dane, takie jak sumy kontrolne (CRC) czy też pola wypełnienia
(PAD).
Odwzorowanie adresów
Podobnie jak w LANE, także w IP over ATM zachodzi konieczność odwzorowania adresów IP
na adresy ATM. Adresy ATM sa˛ niezb˛edne do zestawienia połaczenia ˛ pomi˛edzy komunikujacy- ˛
mi si˛e urzadzeniami.
˛ Po zestawieniu połaczenia,
˛ połaczenie
˛ jest jednoznacznie identyfikowane
poprzez identyfikator wirtualnego połaczenia,
˛ który jest złożony z pary VPI/VCI. Oznacza to,
że po procesie zestawienia połaczenia
˛ adres IP jest mapowany na identyfikator wirtualnego po-
łaczenia.
˛ Do odwzorowania adresów IP na adresy ATM służy protokół ATMARP a InATMARP
do odwzorowań odwrotnych. Protokoły te sa˛ odpowiednikami protokołów ARP i InARP z tra-
dycyjnych sieci IP. Zasadnicza różnica w działaniu polega na tym, że w klasycznych sieciach
żadanie
˛ z protokołu ARP jest wysyłane do wszystkich stacji w podsieci, natomiast w sieci ATM
jest wysyłane do serwera ATMARP. Serwer ATMARP ma t˛e wad˛e, że w przypadku jego awarii
sieć przestaje działać. Działanie tych protokołów różni si˛e nieco w zależności od użytych technik
połaczeń
˛ (PVC,SVC).
74 4.12. ATM a telefonia
Standard CES
Jednym z pierwszych standardów przeznaczonych dla wsparcia telefonii był standard CES (ang.
Circuit Emulation Service). Opracowany został w styczniu 1997 roku i opisany w dokumencie
at-vtoa-0078.00. Służy on do emulacji kanału cyfrowego E1, T1, E3, T3. ATM zapewnia wyłacz- ˛
nie przeźroczysty kanał VCC oparty na warstwie AAL1 zestawiony z parametrami CBR. ATM
nie interpretuje sygnalizacji w tym kanale oraz nie koduje ani nie rozkodowuje przesyłanych
w nim danych. Za zakodowanie danych, ich multipleksacje oraz sygnalizacj˛e wewnatrz ˛ kanału,
odpowiedzialne sa˛ urzadzenia
˛ brzegowe korzystajace
˛ z tego kanału. CES jest zwykle wykorzy-
stywany do łaczenia
˛ central telefonicznych poprzez siec ATM. Połaczenia
˛ moga˛ by ć realizowane
w architekturze punkt-punkt. Zaleta˛ standardu jest możliwość wdrożenia w prawie każdej sie-
ci ATM, w której można zestawiać kanały z parametrami CBR. Wada˛ jest to, że w przypadku
nieużywania pasma dla transmisji telefonicznej, wolne pasmo nie może być wykorzystane dla
potrzeb innych usług.
Sieci ATM 75
Standard DBCES
DBCES – (ang. Dynamic Bandwidth Circuit Emulation Service) jest standardem podobnym do
standardu CES z tym, że sa˛ w nim mechanizmy pozwalajace
˛ na wykrycie ciszy i zwolnienie
pasma dla innych usług.
4.13. Podsumowanie
Koncepcja sieci ATM jest obecnie dojrzała˛ technologia, ˛ ale wydaje si˛e, że dojrzała zbyt późno.
Zanim opracowano technologi˛e LANE 2.0, standardowe urzadzenia ˛ sieci LAN potaniały na tyle,
że jej wdrożenia stało si˛e nieopłacalne. Dziś, gdy ATM jest technologia˛ dopracowana,˛ w sieciach
stosowany jest zwykle protokół IP. IP dociera wsz˛edzie tam gdzie dociera ATM, a ATM nie
wsz˛edzie tam gdzie protokół IP. Na bazie IP realizowane sa˛ usługi transmisji głosu i obrazu
– czyli to, co miało być domena˛ ATM. Powstaja˛ standardy, które pozwalaja˛ na bazie sieci IP
realizować usługi z wymaganiami QoS. Wydaje si˛e wi˛ec, że dni ATM sa˛ policzone. Nie nastapi ˛
to wprawdzie zbyt szybko, gdyż wielcy operatorzy ponieśli bardzo duże koszty na zbudowanie
infrastruktury sieci ATM. Koszty te musza˛ si˛e zwrócić, zaś nowe technologi˛e oparte na IP musza˛
być dopracowane.
Bibliografia
[1] Adam Urbanek. Leksykon teleinformatyka. IDG Poland S.A., wydanie I, Warszawa, 2001.
[3] Praca zbiorowa. Vademecum teleinformatyka II. Sieci nowej generacji, technologie interne-
towe, metrologia sieciowa. IDG Poland S.A., wydanie I, Warszawa, 2002.
76
R OZDZIAŁ 5
Protokoły z rodziny TCP/IP
W tym rozdziale zostana˛ przedstawione protokoły sieciowe, w oparciu o które działaja˛ współ-
czesne sieci transmisji danych, zwłaszcza sieci komputerowe. Protokoły te i zwiazane˛ z nimi
technologie sa˛ wykorzystywane coraz cz˛eściej do różnego rodzaju innych zastosowań, nie mniej
jednak były one projektowane głównie dla rozwiazywania
˛ problemów zwiazanych
˛ z transmisja˛
danych komputerowych.
W pierwszej cz˛eści omówiony zostanie bardzo ważny dla prawidłowego działania sieci pro-
tokół, a w zasadzie para protokołów — ARP/RARP (ang. Address Resolution Protocol/Reverse
ARP).
Nast˛epny z protokołów, przedstawiony w kolejnej cz˛eści to protokół IP w wersji 4 (IPv4 –
ang. Internet Protocol version 4). Stanowi on podstaw˛e działania pozostałych protokołów wyż-
szych warstw modelu IOS–OSI. Jest szeroko wykorzystywany do budowy sieci komputerowych
oraz we wszelkiego rodzaju sieciach budowanych w oparciu o komutacj˛e pakietów.
W kolejnej cz˛eści, powiazanej
˛ z poprzednia,˛ zostana˛ przedstawione sposoby adresowania
urzadzeń
˛ w sieciach opartych na protokole IPv4.
Nast˛epna cz˛eść zawiera omówienie protokołu TCP (ang. Transmission Control Protocol)
oraz UDP (ang. User Datagram Protocol).
Ostatnie cz˛eści zawieraja˛ omówienie protokołów warstw wyższych. W szczególności proto-
kołów zwiazanych
˛ z działaniem sieci komputerowych: DHCP (ang. Dynamic Host Configuration
Protocol) oraz DNS (ang. Domain Name Service).
W podsumowaniu rozdziału zostały zawarte rozważania dotyczace ˛ najnowszej wersji proto-
kołu IP – IPv6. Wprawdzie nie jest on obecnie szeroko używany i popularny w Europie, a nawet
standardy definiujace˛ nowa˛ wersj˛e IP ciagle
˛ sa˛ modyfikowane. Należy pami˛etać, że np. w Ja-
ponii protokół ten już jest używany produkcyjnie w sieciach. To „szybkie” wdrożenie wynikło
z bardzo małej liczby adresów IPv4 przydzielonych krajom azjatyckim w czasach powstawania
Internetu.
77
78 5.1. Protokół ARP/RARP
producenta i unikalny w skali światowej. Czasem jest on również nazywany adresem fizycznym
interfejsu – adresem MAC (ang. Media Access Control). Ponieważ adres IP interfejsu ma 32 bity,
przeto nie da si˛e dokonać prostego odwzorowania jednego adresu w drugi.
Rozwiazaniem
˛ może być centralna baza danych z informacjami o powiazaniach
˛ adresów
Ethernetowych z IP (tablica ethers w systemach unixowych). Łatwo sobie jednak wyobrazi ć, że
takie podejście przysparza mnóstwo kłopotów, np. z wprowadzaniem uaktualnie ń do bazy oraz
przetrzymywaniem dużej tablicy takich przekształceń adresów.
Dlatego też został wymyślony protokół służacy
˛ do dynamicznego odwzorowywania jednych
adresów na drugie — ARP. Protokół ARP działa w nast˛epujacy ˛ sposób. Jeśli komputer A chce
ustalić fizyczny adres komputera B na podstawie jego adresu IP, to sprawdza swoja˛ tablic˛e od-
wzorowań ARP, czy aby adres fizyczny B nie jest już znany. Jeśli nie jest to rozgłasza w podsieci,
w której si˛e znajduje, zapytanie ARP o adres ethernetowy komputera B. To zapytanie otrzyma
również komputer B, który odeśle informacj˛e o swoim adresie MAC. Posiadajac ˛ już t˛e informa-
cj˛e, komputer A może wysyłać dane do komputera B.
Wydaje si˛e oczywiste, że wysyłanie takiego zapytania każdorazowo przed transmisja˛ danych
z komputera A do B lub odwrotnie jest bardzo nieefektywne. Chociażby ze wzgl˛edu na to, że
każda maszyna w podsieci komputera A musi przetworzyć takie rozgłoszeniowe zapytanie. Dla-
tego też komputer A b˛edzie przechowywał w swojej podr˛ecznej pami˛eci adres MAC komputera
B przez określony czas. Domyślne czasy zapami˛etywania adresów MAC w pami˛eci (tablicy
ARP) sa˛ różne dla różnych systemów operacyjnych.
Również komputer B zakładajac, ˛ że wkrótce b˛edzie musiał odpowiedzieć A np. potwier-
dzeniem otrzymania danych, po otrzymaniu zapytania o jego adres MAC do swojej pami˛eci
podr˛ecznej dopisuje adres MAC komputera A. Podobnie postapi ˛ a˛ inne maszyny pracujace ˛ w tej
samej podsieci co A. W ramach udoskonaleń protokołu ARP, przy każdym wysłaniu zapytania
ARP w podsieci maszyna dołacza ˛ swój adres MAC, który jest nast˛epnie uaktualniany w pami˛e-
ciach podr˛ecznych innych komputerów. Pierwsze zapytanie ARP jest wysyłane przez komputer
przy jego starcie.
Protokół ARP jest oczywście rozwiazaniem
˛ tylko dla sieci LAN. Zapytania ARP nie sa˛ prze-
syłane przez routery do innych podsieci. Komunikacja z innym sieciami odbywa si˛e na podsta-
wie tablicy routingu, która˛ każde urzadzenia
˛ sieciowe posiada. Tablica routingu określa sposób
komunikacji komputera z własna˛ podsiecia˛ – poprzez określenie adresu podsieci i interfejsu sie-
ciowego. Z innymi sieciami poprzez wskazanie adresu bramy (ang. default gateway), nazywa-
nego również routingiem domyślnym. Zawartość tablicy routingu można obejrzeć w wi˛ekszości
systemów przez wywołanie polecenia netstat z odpowiednimi opcjami.
Protokół ARP oraz opisany poniżej RARP używaja˛ tego samego formatu ramki, przedsta-
wionego na rysunku 5.1. Niestety, ramki moga˛ być zmiennej długości w zależności od adresów
fizycznych i adresacji stosowanej w protokołach. W przypadku Ethernetu i IP w polach sa˛ usta-
wiane nast˛epujace˛ wartości:
RODZAJ SPRZETU
˛ – określa typ interfejsu sprz˛etowego, dla Ethernetu ustawiana jest
wartość 1,
PROTOKÓŁ – rodzaj adresu dla protokołu wyższego poziomu.
Protokół RARP Protokół ARP został wymyślony w celu rozwiazania ˛ problemu powiazania
˛
adresu IP z adresem MAC, przy założeniu, że urzadzenie
˛ lub komputer wie jaki adres IP samo
Protokoły z rodziny TCP/IP 79
0 8 16 31
Rodzaj adresu sprzêtowego Rodzaj adresu protoko³u
D³. adr. sprzêt. D³. adr. protoko³u Operacja
Adres sprzêtowy nadawcy (n bajtów)
Adr. sprzêt. nadawcy (n bajtów) Adres IP nadawcy (n bajtów)
Adres IP nadawcy (n bajtów) Adr. sprzêt. odbiorcy (n bajtów)
Adres sprzêtowy odbiorcy (n bajtów)
Adres IP odbiorcy (n bajtów)
posiada. Co jednak robić w przypadku komputerów nie wyposażonych np. w dyski twarde?
Wiadomo, że w takim przypadku komputer po uruchomieniu dysponuje w zasadzie tylko
i wyłacznie
˛ adresem MAC swojego interfejsu sieciowego. Zatem cała komunikacja odbywa si˛e
przy wykorzystaniu tylko warstwy fizycznej, a ten adres okazuje si˛e wystarczajacy ˛ do komuni-
kacji z innymi maszynami w obr˛ebie tej samej podsieci.
Tak samo jak w przypadku protokołu ARP, komputer chcacy ˛ ustalić swój adres IP wysyła
do podsieci zapytanie o swoja˛ konfiguracj˛e do wszystkich urzadze ˛ ń w podsieci. Jako identy-
fikator przedstawia adres MAC swojego interfejsu. Jest też możliwe użycie innych informacji
z komputera jako identyfikatora. Jednak adres MAC ma zawsze ten sam format, niezależnie od
producenta, i jest łatwo dost˛epny dla oprogramowania. Serwer lub serwery po otrzymaniu zapy-
tania przetwarzaja˛ je, uzupełniaja˛ pole adresu IP odbiorcy i odsyłaja˛ odpowiedź bezpośrednio do
maszyny pytajacej.
˛ Maszyna pytajaca ˛ może oczywiście otrzymać odpowiedzi od kilku serwerów,
choć wystarczy odpowiedź od jednego.
Protokół RARP jest bardzo stary i już praktycznie nie jest używany. Nie pozwala on na
ustawienie żadnych dodatkowych parametrów sieci. Jego rozwini˛eciem były protokoły BOOTP
a nast˛epnie DHCP (opisane w dalszych cz˛eściach).
Należy pami˛etać, że do momentu otrzymania odpowiedzi od serwera komputer nie jest w sta-
nie użyć jakichkolwiek mechanizmów wykrywajacych ˛ utrat˛e pakietu – zarówno tego z zapyta-
niem jak i odpowiedzia˛ od serwera. Również serwer nie może używać tego typu mechanizmów.
Duża liczba krótkich zapytań RARP jest w stanie przeciażyć˛ serwer RARP. Niektóre systemy
wysyłaja˛ zapytania RARP do skutku, inne po upłyni˛eciu czasu oczekiwania na odpowiedź zgła-
szaja˛ bład.
˛ Rozwiazaniem
˛ tego problemu jest uruchomienie wi˛ecej niż jednego serwera RARP
w każdej podsieci. Każdy z nich po otrzymaniu zapytania odczekuje losowo wybrany czas przed
wysłaniem odpowiedzi. Zapobiega to generowaniu nadmiernego ruchu w sieci przez jednocze-
śnie odpowiadajace˛ serwery.
80 5.2. Protokół IPv4
0 8 16 24 31
rów. Pule adresów tej klasy sa˛ wykorzystywane przez bardzo duże sieci. W adresach klasy B dwa
najstarsze bity adresu maja˛ wartość 10, 14 bitów adresuje sieć (214 16384). Pozostałe 16 bitów
jest wykorzystane do adresowania urzadze ˛ ń w tych podsieciach. W ostatniej z szeroko używa-
nych klas adresów w sieciach C najstarsze bity maja˛ wartość 110, 21 bitów jest przeznaczone
na adres podsieci i tylko 8 na adres urzadze˛ ń w tych podsieciach. Oprócz wymienionych trzech
popularnych klas adresowych zostały wyróżnione jeszcze dwie, niemniej istotne. Klasa D służy
do adresowania grupowego (ang. multicast). Wartości najstarszych bitów tej klasy sa˛ ustawione
na 1110. Pozostałe sa˛ wykorzystane do określenia adresu grupy. Ostatnia ze zdefiniowanych klas
Protokoły z rodziny TCP/IP 81
194.81.46.167 Adres IP
11 0 0 0 0 1 0 . 0 1 0 1 0 0 0 1 . 0 0 1 0 111 0 . 1 0 1 0 0 111
00000000.00000000.00000000.00 1 0 0 111
— E została zarezerwowana na przyszłość i jest głównie używana dla celów testowych. W klasie
tej najstarsze bity maja˛ wartości 11110.
Jak widać, tak przyj˛ety sposób adresowania daje możliwość szybkiego określania do jakiej
sieci powinien zostać przesłany pakiet z danymi. Informacja o tym jest zaszyta bezpośrednio
w adresie. Widać również, że ten podział stwarza duże niedogodności przez marnowanie, skoń-
czonej przecież, liczby adresów. Sztywny podział na klasy ogranicza liczb˛e sieci klasy A do 2 7 ,
sieci klasy B do 214 i liczb˛e sieci klasy C do 221 . Również sztywno jest określona możliwa,
maksymalna liczba komputerów do zaadresowania w tych podsieciach. Liczby te – mimo, że
duże – okazuja˛ si˛e niewystarczajace
˛ lub nadmiarowe do przydzielenia adresów wszystkim zain-
teresowanym (stad ˛ szybkie wdrożenie IPv6 w krajach azjatyckich). Sztywny podział zmusza do
przeznaczenia 255 adresów nawet dla sieci składajacej ˛ si˛e z kilkunastu komputerów. Pozosta-
łe adresy pozostaja˛ niewykorzystane i sa˛ niedost˛epne dla innych użytkowników. Niedost˛epność
wynika przede wszystkim z właściwości adresu w IPv4. Router, czyli urzadzenie
˛ pośredniczace
˛
w wymianie danych pomi˛edzy sieciami komputerowymi, wybierajacy ˛ tras˛e dla pakietu, rozpatru-
jac
˛ docelowy adres IP, jest w stanie operować tylko i wyłacznie
˛ cała˛ klasa˛ adresów; minimalnie
jest to 255 adresów w przypadku stosowania klas C. Druga przyczyna to organizacja mechanizmu
przydziału adresów instytucjom (w Europie zajmuje si˛e tym RIPE (fr. Réseaux IP Européens)).
Pula adresów przydzielona jednej organizacji nie może być jednocześnie używane przez inna.˛
Z tego powodu został wprowadzony tzw. routing bezklasowy (ang. Classless Inter–Domain
Routing, CIDR). Nie oznacza to, że podział na klasy został zlikwidowany. Nadal obowiazuje.
˛ Zo-
stała natomiast dodana tzw. maska podsieci. Maska to nic innego jak również 32 bitowa liczba
82 5.2. Protokół IPv4
całkowita. W masce bity, od najstarszego (tak samo jak w adresie najstarszy bit jest pierwszym
z lewej), o wartości 1 maskuja˛ odpowiadajace ˛ mu bity w adresie, tym samym wyznaczaja˛ ad-
res sieci. Pozostałe z 32 o wartości 0 wyznaczaja˛ adres komputera w podsieci z maskowanego
adresu. Dokładnie przedstawia t˛e operacj˛e rysunek 5.3.
Mask˛e, według której otrzymamy identyczna˛ struktur˛e pól jak w jednej z klas, nazywamy
maska˛ naturalna. ˛
Jak widać, maska pozwala na bardziej elastyczne regulowanie liczba˛ adresów w jednej pod-
sieci. Na przykład można ustawić minimalnie 4 adresy IP dla jednej podsieci, a nie 255 jak
w przypadku stosowania sztywnego podziału klasowego. Można również rozszerzy ć pul˛e adre-
sów w stosunku do otrzymanej dzi˛eki maskom naturalnym.
Umownie przyj˛eło si˛e, że adresu 0 nigdy nie przypisuje si˛e żadnemu urzadzeniu
˛ w sieci.
Adres 0 oznacza domyślna˛ ścieżk˛e (czasami jest też ona określana jako tzw. default routing).
Upraszcza ona informacj˛e o rutowaniu, którymi posługuja˛ si˛e routery w procesie rutowania pro-
tokołu IP. Dodatkowe ograniczenia zwiazane ˛ z adresowaniem hostów zabraniaja˛ używania do ich
adresacji adresów z pierwszym bajtem wi˛ekszym niż 223. Inny duży obszar zarezerwowany dla
specjalnych potrzeb to 127.0.0.0/8 (w przedstawionej notacji maska adresu jest ośmio bitowa).
Sieć 127 cz˛esto nazywa si˛e p˛etla˛ (ang. loopback address). Adresem z tej sieci przypisywanym
wirtualnym interfejsom hostów jest najcz˛eściej 127.0.0.1. Dzi˛eki temu aplikacje, rozpoznajace˛
maszyn˛e przez numer IP a nie np. nazw˛e w systemie DNS, moga˛ adresować lokalna˛ maszyn˛e
w identyczny sposób jak zdalna.˛
Również umownie przyj˛eto zasad˛e, że zarezerwowane sa˛ numery hostów 0 i 255 we wszyst-
kich klasach adresowych. Adres IP z „wyzerowanym” numerem hosta jest pierwszym numerem,
zawsze parzystym, z danej puli adresowej, np. 172.16.0.0 i określa cała˛ sieć – 172.16. Natomiast
adres w którym wszystkie bity adresu hosta maja˛ wartość 1 nazywa si˛e adresem rozgłoszenio-
wym (ang. broadcast address). Dla podanej sieci adresem rozgłoszeniowym jest 172.16.255.255.
Jest to również ostatni adres, zawsze nieparzysty, w puli adresów dla tej podsieci. Wysłanie in-
formacji na ten adres docelowy spowoduje, że odbierze go każde urzadzenie
˛ w podsieci 172.16.
0 4 8 16 19 31
Wersja D³. nag³. Typ obs³ugi D³ugoœæ ca³kowita
Identyfikacja Znacz. Przesuniêcie fragmentu
Czas ¿ycia (TTL) Protokó³ Suma kontrolna
Adres nadawcy
Adres odbiorcy
Opcje (jeœli konieczne) Uzupe³nienie
DANE
0 1 2 3 4 5 6 7
Kopiuj Klasa opcji Numer opcji
urzadzenie
˛ dokonujace
˛ fragmentacji do każdego z fragmentów oryginalnego pakietu dołacza ˛ na-
główek. Oczywiście pakiety poddane fragmentacji musza˛ ponownie zostać połaczone ˛ w całość.
I tak si˛e dzieje, ale jest to niewidoczne dla użytkownika i aplikacji, która dane wysłała. Proces
łaczenia
˛ odbywa si˛e już u końcowego odbiorcy. Od momentu fragmentacji pakiety podróżuja˛ sa-
modzielnie. Routery pośredniczace ˛ moga˛ również dokonywać ponownej fragmentacji pakietów.
Za kontrol˛e fragmentacji odpowiedzialne sa˛ pola IDENTYFIKACJA, ZNACZNIKI oraz PRZE-
SUNIECIE.
˛ Pole IDENTYFIKACJA służy określeniu, do jakiego oryginalnego pakietu należy
fragment w danym datagramie. Pole ZNACZNIKI zawiera informacj˛e czy fragmentacja pakietu
jest dopuszczona (jeśli nie, a router musiałby jej dokonać aby przesłać pakiet dalej, to wysyła
on do nadawcy komunikat o bł˛edzie i nie przetwarza dalej tego pakietu), czy fragment pochodzi
ze środka czy z końca pakietu (informacja potrzebna odbiorcy końcowemu do złożenia pakie-
tu). PRZESUNIECIE ˛ oraz DŁUGOŚĆ CAŁKOWITA pozwalaja˛ odbiorcy końcowemu określić,
czy zebrał już wszystkie fragmenty do złożenia pierwotnego datagramu. Pole PRZESUNIECIE ˛
ma jeszcze jedno bardzo ważne znaczenie. Ponieważ pole OPCJE może, ale nie musi, by ć użyte,
długość nagłówka pakietu IP jest zmienna, a co za tym idzie położenie poczatku
˛ danych w pakie-
cie również. Zmienna długość nagłówka jest jedna˛ z najwi˛ekszych wad IP wersji 4. Ma bardzo
duży wpływ na szybkość przetwarzania nagłówków przez urzadzenia ˛ sieciowe. Nie moga˛ one
bowiem z góry zakładać, który bajt nagłówka przechowuje potrzebne im informacje. W każdym
pakiecie musza˛ w tym celu przetworzyć cały nagłówek, co zajmuje zasoby routerów i innych
urzadzeń
˛ sieciowych.
Drugi mechanizm – enkapsulacja – pozwala na opakowanie dowolnego datagramu protokołu
IP w ramk˛e protokołów niższych warstw. Urzadzenia˛ sieciowe nie rozpoznaja˛ adresów IP ani
formatu datagramu. Każdy pakiet IP jest przesyłany jako dane w ramce protokołu warstwy łacza ˛
danych. Mechanizm ten jest wykorzystywany nie tylko przy przesyłaniu pakietów protokołu IP
różnego rodzaju technologiami sieciowymi ale również przez inne protokoły wyższych warstw,
np. TCP przy „przechodzeniu” do warstw niższych. Procesem odwrotnym do enkapsulacji jest
dekapsulacja.
Procesowi wyznaczania tras czyli rutowania w sieciach z protokołem IP poświ˛econy jest
dalszy rozdział.
0 16 31
Port UDP nadawcy Port UDP odbiorcy
D³ugoœæ komunikatu UDP Suma kontrolna UDP
DANE
Jak widać protokół ten wyróżnia w komunikatach port nadawcy i odbiorcy. Poj˛ecie portu
można interpretować jako kolejk˛e komunikatów identyfikowana˛ na podstawie numeru. Numer
kolejki (numer portu) jest przyznawany przez system operacyjny, który również tworzy kolejk˛e.
Może mieć ona zmienna˛ długość. Każdy program, zanim b˛edzie mógł wysłać komunikat UDP,
musi uzyskać od systemu odpowiadajacy ˛ mu numer portu. Każdy komunikat wysłany przez
program b˛edzie miał ustawiony ten numer jako port nadawcy. Otrzymujac ˛ komunikat, UDP jest
w stanie sprawdzić, czy numer portu odbiorcy odpowiada którejś z aktualnie używanych kolejek.
Jeśli tak, dopisuje go na końcu kolejki, skad˛ program może go pobrać. Dzi˛eki temu UDP jest
w stanie rozróżnić, dostarczyć i odesłać komunikat od lub do właściwej aplikacji.
Problem przydziału numerów portów jest rozwiazywany
˛ na dwa sposoby:
1. przyporzadkowanie
˛ powszechne (statyczne) – każdy zgadza si˛e na przydzielenie nume-
rów portów przez stron˛e trzecia˛ (przez wszystkich uznana).˛ Strona trzecia publikuje listy
przydzielonych portów i programy używaja˛ portów umieszczonych na liście,
2. przyporzadkowanie
˛ dynamiczne – program potrzebujacy ˛ użyć portu do komunikacji otrzy-
muje jego numer od systemu operacyjnego. Aby skomunikować si˛e z odległa˛ maszyna˛
wysyła zapytanie o numer portu, którego używa dana usługa. Po otrzymaniu odpowiedzi
komunikuje si˛e ze wskazanym portem zdalnego komputera.
Najpopularniejsze aplikacje i protokoły wykorzystujace ˛ UDP to: RPC (ang. Remote Proce-
dure Call), NFS (ang. Network File System), DNS (ang. Domain Name Service), komunikatory
sieciowe, aplikacje VoIP.
Protokół UDP używa mechanizmu wyliczania sum kontrolnych tego samego co IP. Dzieli
dane na 16 bitowe fragmenty i wylicza ich uzupełnienie do 1 a nast˛epnie wylicza sum˛e tych
uzupełnień do 1. Przed wyliczeniem sumy kontrolnej UDP uzupełnia dane oktetem zer do wie-
lokrotności 16 bitów oraz wstawia pseudonagłówek na poczatku ˛ pakietu. Nagłówek ten nie jest
przesyłany wraz z pakietem. Służy on tylko i wyłacznie
˛ do wyliczenia sumy kontrolnej. To wła-
śnie dzi˛eki niej odbiorca jest pewien, że odebrał właściwy pakiet, gdyż w pseudonagłówku jest
umieszczony adres IP nadawcy i odbiorcy. Nadawca liczac ˛ sum˛e kontrolna˛ uwzgl˛ednia oba nu-
mery IP oraz sam pakiet UDP. Odbiorca uzyskuje adres IP nadawcy z nagłówka protokołu IP.
Jeśli wyliczona przez niego suma zgadza si˛e z wartościa˛ umieszczona˛ w datagramie UDP, to
dane dotarły do właściwego komputera i właściwego portu.
Protokoły z rodziny TCP/IP 87
0 4 10 16 31
DANE
Widać, że obsługa zadań postawionych przed TCP powoduje jego znacznie bardziej skom-
plikowana˛ implementacj˛e niż np. protokołu IP. Można powiedzieć, że ta skomplikowana imple-
mentacja ma na celu dostarczenie mechanizmów potwierdzania i retransmisji. Do ich budowy
potrzebny jest nagłówek pakietu protokołu TCP, przedstawiony na rys. 5.7.
Znacznie poszczególnych pól nagłówka jest nast˛epujace:
˛
numer portu źródłowego — identyfikuje program użytkowy po stronie nadawcy,
numer portu docelowego — identyfikuje program użytkowy po stronie odbiorcy,
numer sekwencyjny pakietu — wyznacza pozycj˛e fragmentu danych przenoszonych przez
pakiet w strumieniu bajtów przesyłanych mi˛edzy nadawca˛ i odbiorca,˛
numer sekwencyjny potwierdzenia — numer bajtu, który odbiorca spodziewa si˛e otrzyma ć
w nast˛epnej kolejności,
88 5.4. Protokół TCP
Po³¹czenie Po³¹czenie
zamkniête zamkniête
SYN x (nas³uchiwanie)
Wys³anie SYN
Otrzymanie SYN
Wys³anie
SYN y + ACK
potwierdzenia
(nas³uchiwanie)
Otwarcie
po³¹czenia
Wys³anie ACK
potwierdzenia
Otwarcie
po³¹czenia
Sesja TCP Mechanizm potwierdzania wymaga od odbiorcy, aby komunikował si˛e z nadawca˛
i wysyłał mu informacj˛e potwierdzajac˛ a˛ otrzymanie danych. W tym celu przed przystapieniem
˛
do transmisji danych (podzielonej na bajty o konkretnych numerach) nadawca otwiera sesj˛e z od-
biorca˛ przy pomocy wymiany trzech pakietów. Ma to na celu zsynchronizowanie numerów pa-
kietów. Mechanizm ten przedstawia rys. 5.8
Protokoły z rodziny TCP/IP 89
Nadawca wysyła do odbiorcy pakiet z ustawiona˛ flaga˛ SYN i losowym numerem x w polu
NUMER SEKWENCYJNY PAKIETU (NSPA). Odbiorca odbiera ten pakiet. Zapisuje sobie ten
numer i wysyła pakiet z poczatkowym
˛ numerem porzadkowym
˛ y w polu NSPA, polem NUMER
SEKWENCYJNY POTWIERDZENIA (NSPO) ustawionym na wartość x 1 co oznacza, że
spodziewa si˛e bajtu danych o takim numerze w nast˛epnym pakiecie. Pole FLAGI ma ustawio-
ne wartości SYN + ACK. Odbiorca odbiera ten pakiet i potwierdza go przez wysłanie pakietu
z ustawiona˛ flaga˛ ACK. Połaczenie
˛ zostało ustanowione. W kolejnym kroku nadawca wysyła pa-
kiet z wartościa˛ y 1 w NSPA i flaga˛ ACK. Odbiorca potwierdzi to. W jego potwierdzeniu pole
NSPO b˛edzie miało wartość x 2 zgodnie z zasada˛ używania nast˛epnego numeru spodziewanego
bajtu danych. W kolejnych pakietach nadawca b˛edzie wysyłał dane zapisujac ˛ sobie informacje
o każdym wysłanym pakiecie oraz oczekujac ˛ na potwierdzenie od odbiorcy przed wysłaniem
nast˛epnego pakietu. Oczywiście nie może to trwać w nieskończoność. Nadawca w momencie
wysłania pakietu uruchamia zegar. Gdy minie odpowiedni czas a potwierdzenie nie nadejdzie,
nadawca wyśle pakiet ponownie. Ponieważ każdy pakiet ma ustawiony swój numer, nie dochodzi
do sytuacji przesyłania zduplikowanych pakietów i ich potwierdze ń.
Sliding Window Łatwo zauważyć, że ten mechanizm jest mało efektywny. Strumień danych
w zasadzie jest przesyłany tylko w jednym kierunku mimo tego, że otwarta sesja TCP umożli-
wia transmisj˛e w obu kierunkach. Ponadto, dane sa˛ przesyłane bardzo wolno — nadawca czeka
przed wysłaniem kolejnego pojedynczego pakietu na potwierdzenie otrzymania poprzedniego.
Problem ten jest rozwiazywany
˛ przy pomocy mechanizmu przesuwnych okien (ang. sliding win-
dow). Używanie tego mechanizmu pozwala nadawcy na wysłanie takiej ilości danych na raz,
jaki jest rozmiar okna (w bajtach). Nadawca dzieli dane na pakiety i wysyła je. Liczba danych
w pakietach nie może przekroczyć rozmiaru okna. W momencie, gdy nadchodzi potwierdzenie
dla pierwszego pakietu z okna, jest ono „przesuwane” o jeden pakiet. Nowy pakiet umieszczony
w oknie jest od razu transmitowany. Jeśli w mi˛edzy czasie nadejda˛ potwierdzenia otrzymania in-
nych pakietów, okno jest znowu „przesuwane” o liczb˛e potwierdze ń. Należy zauważyć, że, jeśli
jakiś pakiet nie został potwierdzony, cały czas przebywa w oknie i sa˛ stosowane dla niego me-
chanizmy retransmisji opisane powyżej. Tym samym pakiet w oknie z najmniejszym numerem
to pakiet, dla którego nie przyszło potwierdzenie. Nadawca „przesuwa” okno ponad wszystkimi
potwierdzonymi pakietami.
Ponad to, TCP umożliwia zmian˛e rozmiaru okna w czasie. Każde z odebranych potwierdze ń
może zawierać propozycj˛e zmiany rozmiaru okna. Dzi˛eki temu, jeśli odbiorca jest w stanie od-
bierać wi˛eksza˛ liczb˛e danych (a zarazem pakietów) na raz, nadawca może to wykorzysta ć i prze-
syłać dane szybciej. W przypadku, gdy nadawca odbierze pakiet z ogłoszeniem o zmniejszeniu
okna przez odbiorc˛e, wstrzymuje on wysyłanie pakietów poza wyznaczony rozmiar okna. Aby
nie stracić wysłanych już pakietów (przy wi˛ekszym rozmiarze okna), nadawca nie zmniejsza od
razu rozmiaru okna, ale robi to w miar˛e upływu czasu otrzymywania potwierdze ń.
Problem jaki niesie ze soba˛ mechanizm przesuwnego okna to retransmisje. Odbiorca za-
wsze potwierdza najdłuższy ciag ˛ kolejnych, poprawnie otrzymanych danych (numery bajtów).
W przypadku gdy nadawca wyśle np. 6 pakietów, odbiorca po otrzymaniu ich b˛edzie potwierdzał
ich przybycie i jako wartość kolejnego oczekiwanego bajtu b˛edzie podawał wartość o jeden wi˛ek-
sza˛ od numeru ostatniego bajtu w szóstym pakiecie. Tym sposobem nadawca jest informowany
o post˛epie odczytu strumienia danych wysyłanych przez odbiorc˛e. Jest to tzw. skumulowane po-
90 5.5. Protokół ICMP
twierdzenie. Co si˛e jednak stanie, gdy pierwszy pakiet zaginie? Odbiorca b˛edzie potwierdzał
odebranie pozostałych pi˛eciu pakietów jednak każde z potwierdze ń b˛edzie wskazywało na nu-
mer nast˛epnego bajtu danych po ostatnim w zaginionym pakiecie. Odbiorca nie ma możliwości
powiadomienia nadawcy, że pozostałe pakiety dotarły. Nadawca po przekroczeniu czasu ocze-
kiwania na odpowiedź musi wybrać, czy przesyłać tylko pierwszy z 6 pakietów, czy też jeszcze
raz wszystkie 6? Wysłanie jeszcze raz 6 pakietów jest nieefektywne. Po otrzymaniu pierwszego
pakietu odbiorca potwierdzi, że ma już wszystkie dane z okna i „poprosi” o nast˛epne dane, za-
czynajac ˛ od pakietu 7. Czyli 5 pakietów niepotrzebnie zajmowało zasoby sieci. Z drugiej strony,
jeśli nadawca wyśle ponownie tylko pierwszy pakiet, musi on znowu oczekiwać na potwier-
dzenia, zanim b˛edzie wiedział, czy transmitować dane 7 pakietu, czy jeszcze raz pakietów 2–6.
Cz˛eściej używanym mechanizmem jest jednak retransmisja tylko zaginionego pakietu.
Identyfikacja połaczenia
˛ Przy wielu równolegle działajacych
˛ aplikacjach, jednocześnie trans-
mitujacych
˛ dane do/z sieci musi istnieć mechanizm, który jednoznacznie określa, jakie dane na-
leża˛ do jakiej aplikacji. Protokół TCP dostarcza odpowiedniego rozwiazania.
˛ Po otwarciu sesji
TCP mamy nadawc˛e i odbiorc˛e na przeciwległych jej końcach. Każdy z nich jest identyfikowa-
ny jako para <adres IP końca, numer portu TCP>. Łacznie
˛ <IP nadawcy, port TCP nadawcy, IP
odbiorcy, port TCP odbiorcy> stanowi jednoznaczny identyfikator połaczenia.
˛ Dzi˛eki temu jeśli
istnieje sesja <172.16.7.2, 62587, 172.16.7.1, 53> to nic nie stoi na przeszkodzie, aby jednocze-
śnie działała druga identyfikowana jako <172.16.7.4, 15677, 172.16.7.1, 53>.
0 8 16 31
TYP KOD Suma kontrolna
Identyfikator Numer kolejny a)
DANE (opcjonalnie) b)
Rysunek 5.9: Nagłówek ICMP; a) nie używane i równe 0 przy niektórych typach komunikatów;
b) nagłówek + 64 bity pakietu w typach komunikatów, które tego wymagaja.˛
Informacje, jakie niosa˛ komunikaty ICMP, sa˛ zawarte w dwóch polach pakietu TYP i KOD
oraz polu DANE, które zawiera pierwsze 64 bity pakietu, który spowodował wygenerowanie
wiadomości ICMP. Format pakietu przedstawia rys. 5.9
Znaczenie kodów pola TYP jest nast˛epujace: ˛
0 – odpowiedź z echem,
3 – odbiorca jest nieosiagalny,
˛
4 – zmniejszenie szybkości nadawania,
5 – zmień trasowanie,
8 – prośba o echo,
11 – przekroczenie TTL,
12 – kłopot z parametrami datagramu,
13 – prośba o czas,
14 – odpowiedź z czasem,
15 – prośba o informacj˛e,
16 – odpowiedź z informacja,˛
17 – prośba o mask˛e adresu,
18 – odpowiedź z maska˛ adresu.
TYP 8 i 0 jest wykorzystywany przez popularny program ping. Komunikat z polem TYP
ustawionym na wartość 11 jest wysyłany, gdy sieć lub sieć odbiorcy jest nieosiagalna.
˛ Wów-
czas wartości pola KOD dokładniej definiuja˛ przyczyn˛e wysłania komunikatu. Moga˛ one by ć
nast˛epujace:
˛
0 – sieć nieosiagalna,
˛
1 – w˛ezeł nieosiagalny,
˛
2 – protokół nieosiagalny,
˛
3 – port nieosiagalny,
˛
4 – konieczna fragmentacja (jeśli jest ona zabroniona),
5 – bład
˛ trasy nadawcy,
6 – nieznana sieć odbiorcy,
7 – nieznany w˛ezeł odbiorcy,
92 5.6. Protokół DHCP
0 8 16 24 31
Adres IP serwera
Adres IP domyœlnej bramy
Adres sprzêtowy klienta (16 Bajtów)
W przypadku gdy klient nie otrzyma odpowiedzi, po wyznaczonym, losowym czasie oczeki-
wania ponawia swoja˛ prośb˛e. Losowość ma w tym przypadku bardzo duże znaczenie. Po awarii
zasilania albo w momencie rozpoczynania zaj˛eć w laboratorium z kilkudziesi˛ecioma maszynami,
wszystkie komputery wysyłaja˛ zapytania BOOTP do serwera co może spowodowa ć jego przecia- ˛
żenie. Przy losowym czasie oczekiwania komputery b˛eda˛ stopniowo otrzymywały odpowiedzi.
Jeśli czas byłby jednakowy dla wszystkich, serwer znowu byłby przeciażany. ˛
Mimo tylu zalet protokół BOOTP nie rozwiazuje ˛ problemu dynamicznej konfiguracji w sie-
ciach, w których klienci zmieniaja˛ si˛e z duża˛ cz˛estotliwościa.˛ Zwłaszcza, że sieci te maja˛ ogra-
niczona˛ pul˛e adresów IP i nie można stworzyć w nich indywidualnych konfiguracji dla każdego.
Protokół DHCP rozwiazuje˛ ten problem.
Podobnie jak BOOTP, DHCP do rozpoznawania klienta używa identyfikatora. Najcz˛e ściej
jest nim jego adres MAC. Na jego podstawie serwer określa w jaki sposób przyzna adres: sta-
tycznie, dynamicznie, na stałe. Najbardziej interesujace ˛ jest dynamiczne przyznawanie adresów.
W tym przypadku serwer nic nie wie o kliencie. Ma do dyspozycji tylko pul˛e adresów „przyzna-
nych” mu przez administratora, reguły według których może adresy przyznawa ć oraz niezb˛edne
parametry sieci.
Klient chcac
˛ uzyskać adres rozgłasza w sieci komunikat DHCPDISCOVER. Wszystkie ser-
wery DHCP w sieci, które odebrały komunikat i sa˛ skonfigurowane tak, żeby na niego odpowie-
dzieć, wysyłaja˛ wiadomość DHCPOFFER. Klient najcz˛eściej wybiera pierwsza˛ z odpowiedzi
reszt˛e ignorujac.
˛ Nast˛epnie rozpoczyna z serwerem negocjacj˛e „wynaj˛ecia” adresu wysyłajac ˛
DHCPREQUEST. Serwer potwierdza odebranie komunikatu przez nadanie do klienta DHC-
PACK. W tym momencie klient dostaje informacje o konfiguracji sieci. Jednak otrzymany adres
94 5.7. Protokół DNS
jest wynaj˛ety tylko na określony czas. W tym czasie serwer nie b˛edzie oferował tego adresu in-
nym klientom. Jeśli pod koniec okresu wynajmu klient nie odnowi dzierżawy adresu serwer uzna,
że może go ponownie użyć w negocjacji wynajmu z innym klientem. W przypadku gdy klient
chce przedłużyć okres wynajmu wysyła do serwera DHCPREQUEST z zapytaniem o przedłuże-
nie czasu używania tego adresu. Jeśli serwer si˛e zgadza, to odpowiada DHCPACK (DHCPNACK
w przeciwnym przypadku). Gdy klient otrzyma DHCPNACK, natychmiast przestaje używa ć sta-
rego adresu i rozpoczyna negocjacje od poczatku. ˛ Podobnie dzieje si˛e gdy serwer, od którego
komputer otrzymał adres, staje si˛e niedost˛epny. Wówczas wysyłany jest komunikat DHCPRE-
QUEST w sieci. Jeśli któryś z serwerów odpowie, maszyna zachowuje si˛e zgodnie z przedsta-
wiona˛ procedura.˛ Jeśli nie otrzyma odpowiedzi w odpowiednim czasie zaprzestaje używania
starego adresu i rozpoczyna procedur˛e od poczatku. ˛
Oczywiście klient może zwolnić adres przed upływem czasu „wynajmu”. W tym celu klient
wysyła serwerowi komunikat DHCPRELEASE. Po wysłaniu tego komunikatu klient zaprzestaje
używania starego adresu.
pw uw pwn sejm …
0 16 31
Identyfikacja Parametr
Pytania
Odpowiedzi
Serwery autorytatywne
Dodatkowe odpowiedzi
odwrócenie poszukiwanego adresu IP, np. 172.16.7.2 na 7.16.172, w specjalnej domenie nazw
IN-ADDR.ARPA (7.16.172.in-addr.arpa). Lokalny serwer DNS powinien zawiera ć informacj˛e
o nazwach maszyn w tej domenie.
0 16 31
NAZWA
TYP KLASA
Proponowany przez IETF (ang. Internet Engineering Task Force) IPv6 jest tak na prawd˛e
nie nowym protokołem a ulepszona˛ wersja˛ IPv4. Wi˛ekszość mechanizmów działajacych ˛ w IPv4
została zachowana. Prace nad IPv6, mimo tego że jego uruchomienie ogłaszano już wielokrotnie,
sa˛ zwiazane
˛ z:
długościa˛ adresów,
formatem nagłówka,
informacjami opcjonalnymi,
wsparciem dla mechanizmów rezerwacji zasobów,
możliwościami rozszerzania protokołu w przyszłości.
Projektanci nowego protokołu, pami˛etajac ˛ o kłopotach z adresowaniem klasowym w IPv4,
postanowili problem rozwiazać
˛ przez zwi˛ekszenie długości adresu z 32 do 128 bitów. Daje to
możliwość zaadresowania 1012 stacji końcowych i 109 sieci. Z drugiej jednak strony, zwi˛ekszenie
nagłówka pakietu przyczynia si˛e do wolniejszego przetwarzania go przez routery. Tym samym
wyznaczanie tras dla pakietów stałoby si˛e wolniejsze i przeczyło by założeniom o wsparciu IPv6
dla przenoszenia strumieni audio/video. W zwiazku ˛ z tym cz˛e ść pól została usuni˛eta z nowego
formatu nagłówka. Dzi˛eki temu, mimo że zwi˛ekszono 4 krotnie wielkość adresu, nagłówek ma
zawsze 40 bajtów. Jest to zmiana w porównaniu do nagłówka IPv4, którego długość może być
zmienna – od 20 do 60 bajtów. Jak widać na rys. 5.14, nowy nagłówek (w wersji podstawowej)
zawiera tylko 7 pól stałej długości – zawsze 40 bajtów dla nagłówka podstawowego. Pole opcje
(zmiennej długości) zostało przesuni˛ete do nagłówków dodatkowych.
Dzi˛eki temu routery nie musza˛ pracowicie wyliczać sum kontrolnych nagłówka. Zostało to
przeniesione do innej warstwy stosu protokołów. Zreorganizowaniu uległo również fragmento-
wanie pakietów. Zlikwidowano pola dotyczace ˛ fragmentacji pakietów w nagłówku IPv4 i prze-
niesiono ich funkcj˛e do specjalnego nagłówka rozszerzajacego ˛ w IPv6 (jak również inne opcje
dodatkowe do podobnych nagłówków). Routery transmitujace ˛ pakiety IPv4 musza˛ każdorazo-
wo badać rozmiar pakietu i porównywać jego rozmiar z MTU (ang. Maximum Transfer Unit)
obowiazuj
˛ acym
˛ na danym łaczu
˛ i w razie konieczności dokonywać jego defragmentacji. Tego
typu podejście obniża wydajność urzadzeń,
˛ a co za tym idzie całej sieci. W protokole IPv6 przed
wysłaniem pakietu stacja nadawcza musi określić MTU dla całej trasy pakietu za pomoca˛ spe-
cjalnego protokołu – MTU Path Discovery.
Protokoły z rodziny TCP/IP 99
0 4 12 16 24 31
Adres Ÿród³owy
Adres docelowy
Pole TTL z IPv4 w nagłówku IPv6 ma nazw˛e HOP VALUE. Jego maksymalna wartość to
jak poprzednio 255. Również pełniona funkcja, zapobieganie powstawaniu p˛etli w sieciach, nie
uległa zmianie.
Zapewnienie dobrej jakości transmisji strumieni audio i video, powierzone polu TOS (ang. Ty-
pe of Service) w IPv4, w IPv6 zostało zawarte w polu TRAFFIC CLASS o tej samej długości .
Pozwala ono na definiowanie usług z gwarantowanym poziomem obsługi QoS (ang. Quality of
Service). Rozszerzenie możliwości świadczenia usług z określona˛ jakościa˛ daje w nim 20 bito-
we pole Flow Label, lecz na razie nie ma szczegółowych ustaleń co do wykorzystania tego pola
w praktyce. Pole to jest podzielone na dwa podpola. Pierwsze 4 bity wyznaczaja˛ klas˛e ruchu
(wartości 0
7 określaja˛ wrażliwości na zmiany czasów opóźnień, 8 15 wyznaczaja˛ prio-
rytet). Pozostałe identyfikuja˛ potok danych. Pole PAYLOAD LENGTH wyraża długość pakietu
w oktetach. Dopuszczalne sa˛ wartości z zakresu od 576 do 65535 bajów. W razie konieczności
możliwe jest ustawienie wartości 0 w tym polu i przesłanie dłuższego pakietu zwanego JUMBO-
GRAMEM.
5.9. Podsumowanie
W powyższych punktach zostały przedstawione podstawowe informacje dotyczace ˛ protokołów
pozwalajacych
˛ na wymian˛e informacji w sieciach transmisji danych, bazujacych
˛ na protokole
IPv4. Osoby pragnace ˛ dokładniej poznać szczegółowe mechanizmy ich działania b˛eda˛ oczywi-
ście musiały si˛egnać
˛ do dodatkowych źródeł wiedzy. Niemniej jednak przedstawiony tu zasób
informacji powinien pozwolić na zrozumienie podstaw działania sieci komputerowych i zwiaza-
˛
nych z nimi problemów.
Bibliografia
[1] Douglas E.Comer. Sieci komputerowe TCP/IP: Zasady, protokoły i architektura. Wydaw-
nictwa Naukowo–Techniczne, Warszawa, 1997.
[2] Information Sciences Institute. Internet Protocol, September 1981. RFC 791.
R OZDZIAŁ 6
Routing pakietów IP
Dwa komputery komunikujace ˛ si˛e poprzez sieć wysyłaja˛ do siebie pakiety. Aby pakiety trafiały
do miejsca przeznaczenia musza˛ przejść określona˛ tras˛e. Sposób określania trasy pakietów okre-
śla si˛e mianem routingu. Każdy pakiet może być przesyłany poprzez elementy pasywne sieci,
takie jak przewody telefoniczne, światłowody oraz poprzez urzadzenia
˛ aktywne takie jak route-
ry, przełaczniki,
˛ koncentratory. Sposób organizacji pakietu zależy od rodzaju protokołu użytego
do jego stworzenia. Dla routingu pakietów najwi˛eksze znaczenie maja˛ urzadzenia ˛ zwane Ro-
uterami. Routery realizuja˛ funkcje routingu pakietów dla protokołów routowalnych. Protokół
routowalny to dowolny protokół, który w swojej budowie zawiera informacje o adresowaniu
sieci, umożliwiajace
˛ przeniesienie pakietów pomi˛edzy dwoma urzadzeniami˛ sieciowymi, które
korzystaja˛ z tego protokołu. Protokołu routowalnego nie należy mylić z protokołem routingu.
Zadaniem protokołu routingu jest dostarczenie mechanizmów wymiany informacji o routingu
pomi˛edzy routerami, pracujacymi
˛ w danej sieci. Definicje routingu można znaleź ć np. w ency-
klopedii. Brzmieć ona może np. tak:
Routing – wytyczanie trasy, wyznaczanie trasy, trasowanie, wybieranie najlepszej drogi w ce-
lu przesłania komunikatu mi˛edzy komputerami pracujacymi ˛ w sieci, podstawowe zadanie war-
stwy sieciowej modelu wzorcowego ISO/OSI. Trasa może być raz ustalona i niezmienna, wy-
znaczana na zasadzie obwodu wirtualnego lub określana dynamicznie, dla każdego komunikatu
(a nawet pakietu) z osobna1 .
6.1. Urzadzenia
˛ w sieci IP
W sieci IP mamy do czynienia z dwoma zasadniczymi typami urzadze ˛ ń zwanymi hostem i ro-
uterem. Host można zdefiniować jako komputer lub inne urzadzenie,
˛ które jest podłaczone
˛ do
sieci IP, ale nie pełni w niej wyróżnionych zadań zwiazanych
˛ z wyznaczaniem trasy pakietów.
Korzysta on z sieci, by wymieniać dane z innym hostami. Host jest przyłaczony
˛ do jednej lub
wielu podsieci IP, ale nie transmituje pakietów pomi˛edzy tymi sieciami. Zadanie to realizuje ro-
uter. Transmituje on pakiety IP pomi˛edzy sieciami. Decyzje o wyborze trasy podejmuje on na
podstawie tablicy routingu. Sposób wpisywania tras do tablicy routingu definiuje, czy mamy do
czynienia z routingiem statycznym czy dynamicznym. Router IP z punktu widzenia technicznego
to rodzaj komputera, wyposażonego w wiele interfejsów prowadzacych ˛ do różnych sieci, wraz
z oprogramowaniem realizujacym ˛ funkcje routingu (wyboru trasy). Funkcje routera może pełni ć
zarówno specjalnie dedykowane urzadzenie
˛ jak i zwykły komputer z odpowiednim oprogramo-
waniem. Przykładem routerów sprz˛etowych sa˛ urzadzenia
˛ firm CISCO, Nortel Networks, Juniper
1
Powyższa definicja została zaczerpni˛eta z encyklopedii znajdujacej
˛ si˛e na stronie http://wiem.onet.pl
101
102 6.2. Tablica routingu
etc. Routerami programowymi moga˛ być komputery z systemami operacyjnymi Linux, Windows
2000, UNIX lub dedykowanym oprogramowaniem takim jak na przykład KA9Q. Wi˛ekszość sys-
temów operacyjnych ma zdolność routowania pakietów, ale ta możliwość jest cz˛esto domyślnie
wyłaczona.
˛
jako system autonomiczny. Przykładem takiego protokołu jest RIP (ang. Routing Information
Protocol).
Drugim kryterium klasyfikacji protokołów jest sposób wyznaczania trasy. W przypadku tego
kryterium wyróżniamy protokoły:
dystans-wektor;
stanu łacza.
˛
W protokołach typu dystans-wektor routery wymieniaja˛ pomi˛edzy soba˛ informacje o zna-
nych adresach przeznaczenia, kierunkach, w których należy przesłać pakiet i o odległościach li-
czonych w liczbie przeskoków pomi˛edzy routerami jakie należy wykonać, aby dotrzeć do miej-
sca przeznaczenia. W protokołach tego typu do wyliczenia najlepszej drogi nie jest brana pod
uwag˛e jakość łacza.
˛ Łatwo jest zrozumieć sposób działania tego typu protokołu, gdyż najlepsza
droga jest droga˛ wiodac ˛ a˛ przez najmniejsza˛ liczb˛e routerów. Jest to także zasadnicza wada tego
typu protokołów, gdyż na skutek wyliczeń trasy pakiety moga˛ być transmitowane przez wolne
łacze
˛ szeregowe wiodace ˛ poprzez dwa routery zamiast iść poprzez łacza˛ gigabitowe, ale poprzez
trzy routery. Dlatego też protokoły te maja˛ zastosowanie przede wszystkim w sieciach wewn˛etrz-
nych o jednolitej strukturze. Wada˛ tego typu protokołów jest też nie przekazywanie przez routery
informacji o źródle, z którego si˛e dowiedziały o trasie. Skutkuje to rozsyłaniem uaktualnie ń do
wszystkich swoich sasiadów
˛ niezależnie od tego czy to jest potrzebne czy nie, a to może spowo-
dować znaczny wzrost ruchu w sieci. Nieskomplikowany algorytm wyznaczania trasy powoduje
zmniejszenie wymagań na moc procesora w routerze. Przykładem takiego prostego protokołu
jest protokół RIP.
W protokołach stanu łacza ˛ routery przekazuja˛ pomi˛edzy soba˛ informacje o topologii sieci.
W tej topologii uwzgl˛edniane sa˛ segmenty sieci, do których przyłaczony ˛ jest router oraz stan
i jakość łaczy.
˛ Wi˛ekszość protokołów routingu rozsyła wyłacznie˛ informacje o zmianach, co
znacznie skraca czasy przebudowy tablic routingu. Znajomość topologii sieci pozwala protoko-
łom stanu łacza
˛ eliminować p˛etle w połaczeniach
˛ mi˛edzy routerami. Protokoły stanu łacza
˛ maja˛
też wady. Sa˛ bardziej złożone od protokołów dystans-wektor, co powoduje wi˛eksze wymagania
na moc obliczeniowa˛ i pami˛eć routerów. Protokoły tego typu sa˛ też trudniejsze w konfiguracji
i wymagaja˛ od administratora sporej wiedzy. Przykładem takiego protokołu jest OSPF.
0 8 16 31
command (1) version (1) must be zero (2)
address family indetifier (2) must be zero (2)
IP address (4)
must be zero (4)
must be zero (4)
metric (4)
1 – request - żadanie
˛ przesłania tablicy routingu;
2 – response - odpowiedź na żadanie;
˛
3 – traceon - pakiety z tak ustawiona˛ wartościa˛ pola powinny być ignorowane;
4 – traceoff - pakiety z tak ustawiona˛ wartościa˛ pola powinny być ignorowane;
5 – reserved - wartość ta została zarezerwowana przez Sun Microsystem do ich wła-
snych celów – pakiety z tak ustawiona˛ wartościa˛ pola powinny być ignorowane;
version – 1 bajtowe pole numeru wersji protokołu RIP;
AFI (ang. Address Family Identifier) – 2 bajtowe pole określajace,
˛ który protokół jest ro-
utowany. Jeśli jest to protokół IP, to wartość pola wynosi 2;
IP address – 4 bajtowe pole adresu sieci;
must be zero – 2 lub 4 bajtowe pole wypełnione zerami;
metric – 4 bajtowe pole metryki.
Maksymalna długość pakietu RIP wynosi 512 bajtów. Pakiet jest transmitowany za pomoca˛
protokołu UDP na porcie 520. W pakiecie moga˛ być powtarzane sekwencje zawierajace ˛ od pola
2
AFI do pola metryki (czyli pole AFI, 2 bajty wypełnione zerami, adres IP , 8 bajtów wypełnio-
nych zerami oraz cztery bajty z metryka). ˛ Takie sekwencje moga˛ powtórzyć si˛e 25 razy, co daje
możliwość przeniesienia w pojedynczym pakiecie informacji o 25 pozycjach tablicy routingu.
Jeśli tablica routingu jest dłuższa, to wymagane jest jej podzielenie i wysłanie w kolejnych pakie-
tach. Format pakietu umożliwia przeniesienie informacji routingowych dla dowolnego protokołu
routingu. W przypadku, gdy przenoszone sa˛ dane dla protokołu IP, w polu AFI musi by ć ustawio-
na wartość 2. Ponieważ jest to pierwsza specyfikacja protokołu RIP, to w polu version musi by ć
ustawiona wartość 1. W polu command w praktyce moga˛ pojawić si˛e dwie wartości. Gdy wartość
pola ustawiona jest na 1 oznacza to, że pakiet jest pakietem-żadaniem
˛ przesłania tablicy routingu
routera. W polu adresu IP router umieszcza swój adres. Router odbierajacy ˛ takie żadanie
˛ wysy-
ła pakiet-odpowiedź z ustawiona˛ w polu command wartościa˛ 2. W pakiecie-odpowiedzi router
umieszcza adresy IP ze swojej tablicy routingu. Jeśli ma ich wi˛ecej, niż mieści si˛e w jednym
pakiecie, to wysyła szereg kolejnych pakietów-odpowiedzi. W polu metric zawarta jest metryka
trasy. Jest ona wartościa˛ pomi˛edzy 1 - 15. Jest ona każdorazowo zwi˛ekszana po przejściu przez
kolejny router. Metryka trasy w przypadku protokołu RIP opisuje liczb˛e routerów, które musi
2
Cztery bajty sa˛ adresem IP jeśli wartość pola AFI wynosi 2
106 6.5. Protokół RIP
120 sekund. W sumie od momentu stwierdzenia nieważności trasy do momentu usuni˛ecia wpisu
z tablicy routingu upłynać
˛ może 270 sekund.
Pakiet RIP wysyłany jest na adres 255.255.255.255 czyli adres rozgłoszeniowy. Otrzymu-
ja˛ go wszystkie routery i hosty w danej podsieci. Gdyby wszystkie jednocześnie próbowały
wysyłać zawartość tablicy routingu co 30 sekund to nastapiłoby
˛ zapchanie sieci. Aby routery
nie próbowały rozsyłać informacji o routingu jednocześnie, do zegara uaktualnień dodawana
jest pewna losowa wartość powodujaca˛ przesuni˛ecie czasu aktualizacji o kilka milisekund. Je-
śli w podsieci, do której wysłany został pakiet znajduja˛ si˛e również hosty to i one go odbiora.˛
B˛eda˛ zmuszone go przetworzyć i odrzucić. Powoduje to pewne obciażenie,˛ ale taka jest spe-
cyfika tego protokołu. W przypadku łacz ˛ punkt-punkt z routerami na ko ńcach informacja do-
ciera tylko do zainteresowanych. Trzeba jednak uważać w przypadku wolnych łacz ˛ i dużych
tablic routingu. Dla przesłania tablicy routingu o rozmiarze 1000 pozycji potrzeba 40 pakietów
RIP. Całkowita długość pakietu jest suma˛ długości pakietu RIP, nagłówka IP oraz nagłówka
UDP. Wynosić wi˛ec b˛edzie: 512 [bajtów](RIP) + 20 [bajtów](IP) + 8 [bajtów](UDP)
= 540 [bajtów]. Daje wi˛ec to: 540 [bajtów] * 40 [pakietów] = 21600 [bajtów]. Jeśli
˛ ma przepustowość 64 [kb/s] czyli 8 [kilobajtów/s] wi˛ec 8196 [bajtów] na sekun-
łacze
d˛e. Aby wi˛ec przesłać 21600 [bajtów] danych z tablicami routingu potrzeba: 2160 [bajtów]
/ 8196 [bajtów/s] = 2.64 [s].
Oznacza to, że przez ponad 2.64 sekundy łacze
˛ jest zaj˛ete przez transmisje tablicy routingu.
Taka sytuacja powtarzać si˛e b˛edzie si˛e co 30 sekund czyli w ciagu˛ minuty przez ponad 5 se-
kund sieć jest niedost˛epna. W obecnym stanie rozwoju sieci komputerowych sytuacja taka jest
niedopuszczalna.
W-31 W-32
31 192.168.3.0/24 32
WARSZAWA
19
/ 24 2 2 2.
.0 16
2 8.
6 8. 5.
.1 0/
2 24
19
1 1
KIELCE LUBLIN
1 1
11 192.168.1.0/24 192.168.6.0/24 11
K-11 I£-61
4
Zakładamy, że nie jest wyłaczona
˛ funkcja rozszczepionego horyzontu (ang. split-horizon)
110 6.5. Protokół RIP
Rozszczepiony horyzont
Jednym z problemów jest fakt, że router RIP wysyła informacje o swojej tablicy routingu do
wszystkich swoich sasiadów,
˛ nie biorac
˛ pod uwag˛e źródła informacji. Może to powodowa ć sze-
reg problemów. Na przykład jeśli ulegnie awarii sieć 192.168.1.0 (patrz rysunek 6.3), która jest
przyłaczona
˛ do routera Kielce, to router ten usunie informacje o tej sieci ze swojej tablicy ro-
utingu. Wyśle też informacj˛e do routera Warszawa, która b˛edzie zawierać informacj˛e, że trasa
do 192.168.1.0 ma obecnie metryk˛e równa˛ 16, czyli jest to trasa nieważna. Router Warszawa
zaznaczy t˛e tras˛e jako nieważna˛ w swojej tablicy routingu, ale nim t˛e informacj˛e wyśle do ro-
utera Lublin, może otrzymać informacje o aktualizacji od tego routera. Router Lublin w stanie
ustalonym ma w swojej tablicy tras˛e do sieci 192.168.1.0 z metryka˛ równa˛ 2 i w ramach aktuali-
zacji wyśle t˛e informacj˛e do routera Warszawa z metryka˛ równa˛ 3. Router Warszawa dopisze t˛e
informacj˛e do swojej tablicy routingu a w ramach rozsyłania swoich aktualizacji wyśl˛e t˛e infor-
macje do obu sasiednich
˛ routerówi z metryka˛ równa˛ 4. Router Lublin zignoruje informacj˛e o tej
sieci za to router Kielce ja˛ zaakceptuje. W tym momencie mamy sytuacj˛e, w której wszystkie
Routing pakietów IP 111
W-31 W-32
31 192.168.3.0/24 32
WARSZAWA
4 19
/2 2 2 2.
0 16
. 2. 8.
8 5.
16 0/
2. 24
19
1 1
KIELCE LUBLIN
1 1
11 192.168.1.0/24 192.168.6.0/24 11
K-11 I£-61
routery maja˛ w swoich tablicach różne informacje o sieci 192.168.1.0, która nie działa. Pakiety
wysyłane z komputerów b˛eda˛ krażyć
˛ w kółko pomi˛edzy routerami. Np. jeśli pakiet do odłaczo-
˛
nej sieci wyśle komputer IŁ-61, to router Lublin wyśle go do routera Warszawa a ten odeśle go
z powrotem do routera Lublin, gdyż na ten router wskazuje trasa w tablicy routingu. Ten router
odeśle pakiet z powrotem do routera Warszawa a ten odeśle do routera Lublin. Ta zabawa trwać
by mogła bez końca, gdyby nie mechanizmy zabezpieczajace ˛ w protokole IP.
Aby nie dopuścić do powstania takiej sytuacji wystarczyłoby, aby routery nie wysyłały in-
formacji o trasach do routerów, od których te informacje otrzymały. Technika ta nosi nazw˛e
Rozszczepionego horyzontu (ang. split horizon). W naszym przykładzie, jeśli ta technika została
by zastosowana, to router Lublin nie wysłałby informacji o sieci 192.168.1.0 do routera Warsza-
wa, gdyż właśnie od niego ja˛ dostał. Metoda ta rozcina p˛etle pomi˛edzy sasiaduj
˛ acymi
˛ routerami
a niejako przy okazji zmniejsza ilość wysyłanych informacji. Niestety jest nieskuteczna w sieci
zawierajacej
˛ p˛etle.
Nieco innym podejściem jest technika zwana Poison Reverse. W metodzie tej, trasy otrzyma-
ne poprzez dany interfejs sa˛ odsyłane do routera, który je nadesłał z metryka˛ ustawiona˛ na 16.
Routery, do których dotrze taka informacja o trasach dokonaja˛ aktualizacji swoich tablic routin-
gu. Jeśli w tablicach maja˛ lepsze informacje o danej trasie (niższa metryka i trasa wiodaca
˛ przez
inny router) to informacja o trasie z metryka˛ 16 zostanie zignorowana. Jeśli zaś trasa wiedzie
przez router, który przysłał informacje z metryka˛ 16, to t˛e tras˛e musza˛ usunać
˛ ze swojej tablicy
i informacje o tym rozesłać dalej. Technika ta przyspiesza usuwanie nieaktualnych tras z tablic
routingu.
112 6.5. Protokół RIP
W-31 W-32
31 192.168.3.0/24 32
WARSZAWA
19
/ 24 2 2 2.
.0 16
2 8.
8. 5.
16 100 Mb/s 0/
2. 100 Mb/s 24
19
1 1
1 1
11 192.168.1.0/24 192.168.6.0/24 11
K-11 I£-61
W powyższym przykładzie może dojść do jeszcze jednej sytuacji, gdy wyłaczona ˛ jest opcja split
horizon, to routery b˛eda˛ wymieniać informacje o routingu bez końca. Po pewnym czasie wyga-
śnie czas ważności trasy do 192.168.1.0 na routerze Lublin, ale nie wygaśnie jednocześnie na
routerach Warszawa i Kielce. Otrzyma wi˛ec on aktualizacj˛e od routera Warszawa z metryka˛ 4.
Dopisze ja˛ do swojej tablicy routingu i b˛edzie t˛e tras˛e rozsyłał do swoich sasiadów
˛ z metryka˛
5. Po pewnym czasie wygaśnie ważność trasy na routerze Warszawa, ale w nast˛epnym cyklu
rozgłaszania, któregoś z sasiadów
˛ router ten może otrzymać aktualizacj˛e od routera np. Lublin
z metryka˛ 5, która˛ to tras˛e b˛edzie ogłaszał sasiadom
˛ z metryka˛ 6. Taka sytuacja mogłaby trwa ć
bez końca, gdyby nie ograniczenie na maksymalna˛ wartość metryki. Gdy osiagnie ˛ ona wartość
16, to trasa staje si˛e nieważna. Dzi˛eki temu po jakimś czasie z tablic routingu wszystkich route-
rów powinny zniknać ˛ wszystkie niepoprawne wpisy. Czas, po jakim to zostanie osiagni˛
˛ ete, może
być jednak dość długi i zależy od ustawień poszczególnych zegarów w routerach.
Sztuczna metryka
192.168.3.0/24
WARSZAWA
19
/ 24 2 2 2.
.0 16
2 8.
6 8. 5.
1 0/
2. 24
19
1 1
KIELCE LUBLIN
1 1
192.168.1.0/25 192.168.1.128/25
Routowanie klasowe
W powyższych przykładach posługiwano si˛e sieciami klasy C 192.168.xx.xx. Wszystkie pod-
sieci w przykładach miały ten sam rozmiar. Jeśli zamienimy podsieć 192.168.1.0/24 na podsieć
192.168.1.0/25 oraz podsieć 192.168.6.0 na podsieć 192.168.1.128/25 to uzyskamy sieć, która
może zachowywać si˛e niestabilnie. Wynika to z faktu nieprzenoszenia przez protokół RIP infor-
macji o masce podsieci, a my postanowiliśmy użyć maski 255.255.255.128.W przypadku takim
jak na rysunku 6.5 router Kielce wyśle do routera Warszawa informacje o sieci 192.168.1.0.
Router Warszawa dokona aktualizacji wpisu w swojej tablicy routingu i dopisze tam lini˛e
wskazujac˛ a,˛ że sieć 192.168.1.0 jest dost˛epna poprzez router Kielce. Ponieważ RIP jest protoko-
114 6.6. Protokół RIP wersja 2
0 8 16 31
command (1) version (1)
address family indentifier (2) route Tag (2)
IP address (4)
subnet mask (4)
łem routingu klasowego, a sieć 192.168.1.0 jest siecia˛ klasy C, to cały routing zostanie skiero-
wany do routera Kielce. Oznacza to, że fragment sieci 192.168.1.128/25 przyłaczony
˛ do routera
Lublin stanie si˛e niedost˛epny z podsieci 192.168.3.0. Aktualizacja, która przyjdzie do routera
Warszawa od routera Lublin może ta˛ sytuacje odwrócić, gdyż router ten przyśle informacje, że
ma tras˛e również do sieci klasy C 192.168.1.0. Wtedy niedost˛epna stanie si˛e cześć sieci przyła-
˛
czona do routera Kielce. Każdorazowe aktualizacje moga˛ zmieniać dost˛epność tych fragmentów
sieci.
6.5.8. Podsumowanie
Protokół RIP był pierwszym protokołem routingu, dla którego ustalono standardy. Jest prosty
w konfiguracji, ale ma szereg wad, które w obecnych warunkach bardzo ograniczaja˛ sens jego
użycia. Niemniej jest on w dalszym ciagu
˛ implementowany na routerach i można go uży ć bez
wi˛ekszych obaw w małych sieciach o nieskompliowanej topologii.
0 8 16 31
command (1) version (1)
W wypadku, gdy komunikaty RIP 2 sa˛ rozsyłane za pomoca˛ broadcastów, może dojść do sytu-
acji, że zostana˛ odebrane przez router, na którym pracuje wersja protokołu RIP 1. Nie stanowi
to wi˛ekszego problemu, gdyż prawidłowo funkcjonujacy ˛ router z protokołem RIP 1 powinien
zignorować pakiet, w którym, w polu wersji, znajduje si˛e wartość inna niż 1. Oznacza to, że taki
router b˛edzie głuchy na informacje od protokołu RIP 2, co może rodzić pewne problemy w dzia-
łaniu sieci. Wyjścia z tej sytuacji sa˛ co najmniej dwa. Można wymusić na routerze z protokołem
RIP 2 wysyłanie komunikatów w wersji RIP-1 lub dokonać uaktualnienia protokółu z RIP 1 do
RIP 2.
obliczaniu najlepszej drogi pod uwag˛e brane sa˛ takie czynniki, jak jakość łacza
˛ oraz stan interfej-
su. Wyliczone trasy w postaci adresu IP nast˛epnego skoku oraz interfejsu, przez który pakiet ma
być przesłany, sa˛ wprowadzane do tablicy routingu. Ponieważ wszystkie routery wyliczaja˛ trasy
na podstawie tych samych danych, to wszystkie ścieżki wiodace ˛ do danej podsieci powinny być
zgodne.
w sieci, a one dokonaja˛ ponownego przeliczenia swoich tras. Trzeba o tym pami˛eta ć szczególnie,
gdy w sieci używane sa˛ łacza,
˛ na których cz˛esto dochodzi do zmiany stanu. Przykładem takim sa˛
łacza
˛ dial-up. Używanie ich bezpośrednio w sieci OSPF może spowodować cz˛este przeliczanie
tras, a co za tym idzie przeciażenie
˛ routerów i obniżenie jakości pracy sieci.
8
8
48 (10 2 2 0
(10 512 1024
1
48), a jeśli jako koszt podamy CIR 512kb/s, to koszt b˛edzie wynosić 191
191), co jak widać jest bardzo duża˛ różnica.˛ Metryka danej trasy jest su-
ma˛ metryk wszystkich łaczy ˛ tworzacych
˛ ścieżk˛e pomi˛edzy punktem źródłowym a docelowym.
Pod uwag˛e brane sa˛ wyłacznie
˛ metryki zwiazane˛ z wysłaniem pakietu poprzez dane łacze.
˛ Jeśli
dwa routery podłaczone
˛ do tego samego segmentu sieci maja˛ inne wartości metryki na łaczach ˛
użytych do przyłaczenia,
˛ to zupełnie inaczej wylicza˛ sobie metryk˛e trasy. W przypadku bardziej
skomplikowanej struktury sieci pakiety z jednego miejsca do drugiego w˛edrowa ć b˛eda˛ jedna˛
trasa˛ a wracać zupełnie inna.˛
192.168.3.0/24
1 Ethernet
WARSZAWA
4 19
/2 2 2 2.
.0 16
2 Fa 8
.
6 8 e rn e
t stE .5.0
.1 the /
1 92 Eth rne 24
1 t 1
192.168.4.0/24
KIELCE 32 kb/s LUBLIN
1 FastEthernet FastEthernet 1
192.168.1.0/24 3 192.168.6.0/24 4
GNIEZNO OLSZTYN
2
1 FastEthernet Ethernet 1
192.168.7.0/24 192.168.8.0/24
192.168.3.0/24
0 10
WARSZAWA
10 0
0
1
192.168.2.0/24 192.168.5.0/24
0 10 0 1
KIELCE LUBLIN
3052 0
192.168.4.0/24
0 3052
1 0 1 0
192.168.1.0/24 192.168.6.0/24
1
0
10
0
GNIEZNO OLSZTYN
1
1 0 10 0
0
192.168.7.0/24 192.168.8.0/24
AREA 1 AREA 2
192.168.3.0/24 172.16.1.0/24
3 3
WARSZAWA SZCZECIN
19 1
30 2 2 2. /3
0
2 2 72
. 0/ 16 .4
.1
6.
.2 8. . 3 3.
68 2. 16 8/
2 .1 8/ 2 . 30
19 1
30 17
1 1 1
192.168.2.4/30 172.16.3.0/30
KIELCE LUBLIN GNIEZNO OPOLE
1 1 1 1
192.168.1.0/24 192.188.9.0/24 172.16.2.0/24
AREA 0
brzegowymi lub routerami ABR (ang. Area Border Router). Jeśli dwa obszary łaczy ˛ router oraz
żaden z obszarów nie jest obszarem zerowym, to taki router nie pełni funkcji routera ABR. Nie
transmituje też on pakietów pomi˛edzy obszarami. Wynika to z faktu, że wszystkie pakiety, skie-
rowane do miejsca leżacego
˛ wewnatrz
˛ obszaru, nie powinny tego obszaru opuszcza ć, natomiast
pakiety, które maja˛ wyjść poza obszar, moga˛ wyjść wyłacznie
˛ poprzez router ABR, a ten musi
być dołaczony
˛ do obszaru zerowego.
Zadaniem routera brzegowego jest wi˛ec transmisja danych pomi˛edzy obszarami. Aby to było
możliwe, router brzegowy musi rozesłać trasy biegnace ˛ w jego obszarze do obszaru zerowego.
Aby zmniejszać rozmiar przesyłanych tras, routery brzegowe moga˛ agregować trasy. Aby sieć
mogła działać, to routery brzegowe musza˛ także rozsyłać trasy otrzymane w obszarze zerowym
do obszarów, które łacz
˛ a.˛ Routery ABR wyróżnia także fakt posiadania przez nie kompletnych
danych na temat obszarów, które łacz ˛ a.˛ W oparciu o te dane wyznaczaja˛ one trasy. Jeśli router
ABR łaczy
˛ wi˛ecej obszarów, to b˛edzie posiadał wi˛ecej danych zwiazanych
˛ z obszarami. Oznacza
to konieczność stosowania jako routerów ABR routerów, które maja˛ dużo pami˛eci operacyjnej
oraz silny procesor.
o tych podsieciach pojawi si˛e jako pi˛eć oddzielnych wpisów w tablicy routingu. Bez żadnej stra-
ty można informacje o sieciach 192.168.2.0/30 i 192.168.2.4/30 wysyła ć do obszaru zero jako
informacje o sieci 192.168.2.0/29. Z punktu widzenia routerów, leżacych˛ poza obszarem 1, po-
dział tej podsieci na dwa mniejsze kawałki nie jest istotny. Jeśli uczyni si˛e dodatkowe założenie,
w którym zagwarantuje si˛e, że numery z sieci 192.168.2.0/24 b˛eda˛ wyłacznie ˛ nadawane urza-˛
dzeniom pracujacym˛ w obszarze 1, to dla routerów spoza tego obszaru istotna staje si˛e wyłacznie
˛
informacja o routerze, który zna drog˛e do całej tej podsieci. Agregacji można b˛edzie dokona ć
także wtedy, gdy sieć 192.168.0.0/24 b˛edzie również przypisana jako podsieć dla obszaru 1.
Wtedy w obszarze 1 użyte, badź
˛ zagwarantowane, b˛eda˛ cztery kolejne podsieci 192.168.0.0/24,
192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24. Ponieważ sa˛ to cztery kolejne podsieci, to da-
ja˛ si˛e one zaagregować do jednej podsieci 192.168.0.0/22. Dzi˛eki temu w routerach w innych
obszarach sieci OSPF b˛edzie wyłacznie
˛ jedna trasa zamiast poczatkowych
˛ 5. W przypadku bar-
dzo dużych sieci można w znacznym stopniu zmniejszyć rozmiary tablic routingu, dzi˛eki cze-
mu uzyskuje si˛e sprawniej działajac
˛ a˛ sieć. Dodatkowo, agregacja pozwala na cz˛eściowe ukrycie
struktury sieci w danym obszarze, co może podnieść bezpieczeństwo sieci.
Protokół BGP jest obecnie podstawowym protokołem wymiany tablic routingu w Internecie.
W ramach protokołu BGP przekazywane sa˛ kompletne informacje o routingu z całego Internetu.
Wymaga wi˛ec on od routera sporych zasobów sprz˛etowych. W tej chwili zalecana wielkość
pami˛eci w routerze, który b˛edzie obsługiwał protokół BGP, wynosi 256 MB.
AS 300 AS 100
AS 200 AS 150
AS 120
Protokół BGP kierujac ˛ si˛e algorytmem najkrótszej ścieżki do wysyłania pakietów wybierze
ścieżk˛e poprzez AS 200. Może si˛e jednak zdarzyć, że operator AS 200 nie życzy sobie, aby
poprzez jego sieć były transmitowane pakiety z AS 120 do AS 300. Może ustawić wtedy filtr,
w którym ogłasza swoje istnienie do wszystkich sieci, a nie przekazuje informacji o ścieżkach,
które otrzymał od innych systemów autonomicznych. W tym momencie liczba ścieżek prowa-
dzacych
˛ z AS 120 do AS 300 zmaleje. Dost˛epna b˛edzie tylko ścieżka:
150 100 300;
Ruch może odbywać si˛e wyłacznie˛ jedna˛ droga,˛ choć teoretycznie dost˛epnych jest ich wi˛ecej.
Kryterium najkrótszej ścieżki ma t˛e wad˛e, że nie uwzgl˛ednia jakości poszczególnych łaczy ˛ oraz
nie rozstrzyga sytuacji, gdy do danego AS prowadza˛ co najmniej dwie ścieżki o tej samej długo-
ści. Przykładem moga˛ być ścieżki z AS 300 do AS 150. Dwie z nich, czyli 100 150 i 200 150,
maja˛ ta˛ sama˛ długość. Aby wybierać jedna˛ z nich jako ta˛ właściwa,˛ potrzebne sa˛ dodatkowe kry-
teria. Cz˛eść z nich jest standardem a cz˛eść rozwiazaniami
˛ firmowymi. Na przykład w routerach
firmy CISCO te dodatkowe kryteria to:
waga ścieżki – jeśli do danej lokalizacji prowadzi wiele ścieżek, to preferowana jest ta,
która ma przypisana˛ najwi˛eksza˛ wag˛e, wag˛e ustawia administrator;
lokalna preferencja ścieżki – jeśli do danej lokalizacji prowadzi wiele ścieżek, to prefero-
wana jest ta, która ma najwi˛eksza˛ lokalna˛ wartość preferencji;
idendyfikator routera, który najcz˛eściej jest numerem IP p˛etli zwrotnej, a jeśli go nie ma to
jest to najwyższy numer IP na interfejsach routera – jeśli do danej lokalizacji biegnie wiele
równoprawnych ścieżek, to preferowana jest ta, która wiedzie przez router o najniższym
identyfikatorze.
Kolejność wyboru ścieżki zależy od implementacji protokołu BGP na poszczególnych urzadze- ˛
niach. Poszczególne ścieżki można też w sztuczny sposób wydłużać poprzez kilkukrotne po-
wtórzenie w ścieżce numeru któregoś systemu autonomicznego. Co i jak zostanie wykorzystane
zależy wyłacznie
˛ od umów mi˛edzyoperatorskich oraz poszczególnych administratorów.
gdyż nie do tego jest przeznaczony. Ten protokół należy zastosować do routingu dynamicznego
pomi˛edzy wieloma zewn˛etrznymi operatorami. Do małych sieci przeznaczone sa˛ protokoły RIP
i OSPF. Obecnie cz˛eściej stosuje si˛e protokół OSPF, gdyż lepiej potrafi on wykorzystać możliwo-
ści sieci. Może si˛e jednak okazać, że jest on zbyt skomplikowany w danej sieci, wtedy pozostaje
protokół RIP w starej wersji lub jego modyfikacja, RIP wersja 2. Ważne jest, aby dobrać i skon-
figurować protokół tak, aby sieć działała stabilnie i efektywnie, gdyż to jest najważniejsze dla
użytkowników, a nie mniej ważne możliwości i ograniczenia poszczególnych protokołów.
Bibliografia
[1] Adam Urbanek. Leksykon teleinformatyka. IDG Poland S.A., wydanie I, Warszawa, 2001.
[3] Praca zbiorowa. Vademecum teleinformatyka II. Sieci nowej generacji, technologie interne-
towe, metrologia sieciowa. IDG Poland S.A., wydanie I, Warszawa, 2002.
R OZDZIAŁ 7
Podstawowe usługi sieciowe
127
128 7.1. Poczta elektroniczna
ków, sposobu przechowywania informacji przez serwery pocztowe, wielkości przesyłki, liczby
przesyłek.
Standard SMTP określa jedynie format komunikatów wymienianych przez maszyn˛e nadaja- ˛
ca˛ przesyłk˛e i odbierajac
˛ a˛ ja.˛ Komunikaty te sa˛ przesyłane w postaci czytelnych tekstów ASCII,
co pozwala na komunikacj˛e dowolnych serwerów pocztowych bazujacych ˛ na dowolnych syste-
mach operacyjnych. Zestaw znaków ASCII jest bardzo prosty i znany wi˛ekszości użytkowników.
Standardowa procedura wysłania listy opiera si˛e na utworzeniu połaczenia˛ TCP ze zdalna˛ ma-
szyna˛ i oczekiwaniu aż ta przyśle komunikat, np.: 220 gorgan ESMTP server ready. Dalej
nast˛epuje, np.:
HELO howerla
250 gorgan Hello howerla [172.16.7.2], pleased to meet you
MAIL FROM: <xxx@domena.pl>
250 2.1.0 <xxx@domena.pl>... Sender ok
RCPT TO: <yyy@domena.com>
250 2.1.5 <yyy@domena.com>... Recipient ok
DATA
354 Enter mail, end with "." on a~line by itself
treść listu
.
Treść poszczególnych komunikatów może być różna, w zależności od serwera pocztowe-
go. Natomiast numery komunikatów zawsze b˛eda˛ takie same. W przypadku wystapienia ˛ bł˛edów
specyfikacja protokołu SMTP nie określa sposobu obsłużenia takiego komunikatu przez pro-
gram wysyłajacy ˛ poczt˛e. Zreszta˛ wi˛ekszość klientów nie takich wymagań w trakcie wysyłania
poczty. Informacj˛e o bł˛edzie, wraz z nagłówkiem listu, który ten bład
˛ wygenerował, wysyłajacy˛
otrzymuje jako list od systemu pocztowego.
Standard MIME SMTP nie przewiduje przesyłania danych w kodzie innym niż ASCII. Aby
umożliwić dołaczanie
˛ do listów poczty elektronicznej plików różnego rodzaju aplikacji, IETF
(ang.Internet Engineering Task Force) zdefiniowała rozszerzenie SMTP zwane MIME (ang. Mul-
tipurpose Internet Mail Extensions). Umożliwia ono zakodowanie dowolnego typu danych w ASCII.
Dzi˛eki temu, przy pomocy SMTP można przesyłać w listach różnego rodzaju załaczniki.
˛
Dane zakodowane przez MIME w nagłówkach zawieraja˛ informacj˛e konieczna˛ do ich zde-
kodowania. W szczególności jest w nich zawarty typ zakodowanych danych, sposób kodowania
oraz wersja MIME. List zawiera również podobnego typu informacje, aby umożliwić przesyłanie
danych dowolnego dowolnego typu. Przykład przesyłki zawierajacej˛ załacznik
˛ jest przedstawio-
ny poniżej:
Date: Wed, 11 Jun 2003 12:27:08 +0200
From: xxx@domena.pl
To: yyy@domena.pl>
Subject: Re: Problem
Message-ID: <20030611102708.GC7856@domena.pl>
References: <20030611100634.GB7856@domena.pl>
<20030611101656.GA7982@domena.pl>
Podstawowe usługi sieciowe 129
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="/04w6evG8XlLl3ft"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20030611101656.GA7982@domena.pl>
User-Agent: Mutt/1.4.1i
--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
[...]
Treść listu.
[...]
--/04w6evG8XlLl3ft
Content-Type: application/x-zip-compressed
Content-Disposition: attachment;
filename="IsTapeInserted.zip"
Content-Transfer-Encoding: base64
Jak widać, w nagłówku listu jest umieszczona informacja o użyciu MIME w wersji 1.0 oraz
o tym, że list składa si˛e z kilku cz˛eści (Content-Type: multipart/mixed). Każda z nich może być
zakodowana w innym formacie, co również przedstawia przedstawiony przykład. Standard MI-
ME wymaga od aplikacji używania pary identyfikatorów, rozdzielonych znakiem "/" w nagłówku
Content-Type. Pierwszy identyfikator, oprócz przedstawionego w przykładzie, informuje o typie
danych. Możliwe sa˛ nast˛epujace ˛ typy:
text – tekst,
image – obrazy typu GIF, JPEG, BMP, itd.,
audio – dane audio,
video – dane video,
application – dane programu,
message – list poczty elektronicznej.
Drugi identyfikator natomiast definiuje dokładniej, jakiego typu sa˛ to dane. Standard MIME
wymusza również, aby dany typ danych zawierał konkretne „podtypy”, np. dane audio nie moga˛
w podtypie zawierać gif.
Dla przedstawionego w przykładzie typu multipart, oprócz danych mixed IETF przewidział
inne typy danych:
alternative – wiele typów kodowania tych samych danych,
parallel – gdy pojedyncze cz˛eści powinny być ogladane˛ wspólnie, np. audio i video,
digest – gdy przesyłka zawiera zbiór innych listów, np. fragment archiwum jakiejś listy
dyskusyjnej.
130 7.1. Poczta elektroniczna
Zbiór komend rozumianych przez serwer POP3 jest ściśle zdefiniowany. Komendy musza˛
być przesyłane w ASCII, argumenty oddzielone spacjami, nie moga˛ być dłuższe niż 40 znaków.
Serwer musi odpowiadać na nieznane, nie zaimplementowane komendy informacja˛ o bł˛edzie
-ERR lub +OK w przeciwnym wypadku.
W ramach jednej sesji serwer POP3 pracuje kolejno w kilku trybach. Zaraz po nawiazaniu ˛
połaczenia
˛ znajduje si˛e w trybie autoryzacji. Przejście do nast˛epnego trybu nast˛epuje, gdy klient
pomyślnie przejdzie proces identyfikacji — poda prawidłowa˛ nazw˛e użytkownika i hasło. Ser-
wer wówczas uzyskuje prawo do przeczytania zwartości skrzynki użytkownika. Po przeczytaniu
informuje o liczbie wiadomości w skrzynce i przechodzi do trybu transakcyjnego. Po przesła-
niu wiadomości ze skrzynki serwer czeka na komend˛e QUIT. Po jej otrzymaniu przechodzi do
trybu odświeżania informacji na serwerze. W tym trybie aktualizowana jest informacja o prze-
czytanych badź
˛ nie przeczytanych wiadomościach w skrzynce użytkownika oraz zwalniane sa˛
uprzednio zaj˛ete zasoby systemu. Nast˛epnie serwer zamyka połaczenie˛ TCP.
Przed wejściem w tryb transakcyjny serwer POP3 blokuje dost˛ep do skrzynki, aby ochroni ć
ja˛ przed modyfikacja˛ zanim serwer przejdzie do trybu odświeżania informacji o skrzynce.
Po otwarciu skrzynki serwer POP3 przypisuje każdej wiadomości numer (zaczynajac ˛ od 1)
oraz sprawdza wielkość każdej z nich w bajtach. Gdy serwer zmienia tryb pracy na transakcyjny,
jest wyświetlana informacja o liczbie wiadomości i ich łacznej
˛ wielkości. Prezentuje to przykład:
quit – rozłaczenie.
˛
Oprócz identyfikacji przez nazw˛e użytkownika i hasło niektóre serwery POP3 maja˛ zaim-
plementowana˛ metod˛e, w której użytkownik jest rozpoznawany na podstawie nazwy oraz skrótu
MD5 znacznika czasowego oraz podanej frazy. W ten sposób hasło użytkownika nie jest przesy-
łane otwartym tekstem przez sieć.
Sa˛ to jedyne trzy komendy, które klient może wydać serwerowi w każdym stanie. Przedstawia
to przykład:
Po otwarciu sesji TCP z serwerem klient protokołu IMAP znajduje si˛e w pierwszym z wy-
mienionych trybów pracy. Przebywajac ˛ w nim może wydać serwerowi komend˛e AUTHENTICATE
lub LOGIN. Komendy te moga˛ mieć kilka różnych argumentów, które określaja˛ sposób autory-
zacji użytkownika. Jeśli serwer obsługuje wybrany sposób autoryzacji, to rozpoczyna wysyłanie
serii zapytań do klienta. Każde z tych zapytań musi zaczynać si˛e od +. Komunikaty sa˛ kodowa-
ne przy użyciu kodowania BASE64. Jeśli klient chce przerwać proces autoryzacji, to wysyła do
serwera znak *. Oprócz samego procesu autoryzacji serwer może negocjować z klientem spo-
sób zabezpieczenia tej sesji. Jeśli obie strony zgodza˛ si˛e na stosowanie wybranego mechanizmu
ochrony sesji, to jest on stosowany do każdego komunikatu wymienianego mi˛edzy serwerem
a klientem. Nie ma jednak wymagań na to, które z metod autoryzacji musza˛ być obsługiwane
przez serwer, jak również wymagań stosowania określonych sposobów zabezpieczania sesji.
Najprostszym sposobem jest podanie nazwy użytkownika i hasła. Prezentuje to poniższy
przykład:
CHECK – wymusza na serwerze sprawdzanie wszelkiego typu statusu lub stanów skrzyn-
ki, np. synchronizacj˛e zawartości skrzynki w pami˛eci serwera z zawartościa˛ zapisana˛ na
dysku,
CLOSE – usuwa wszystkie wiadomości z ustawiona˛ flaga˛ usuni˛ eta oraz zamyka wybra-
na˛ wcześniej skrzynk˛e; serwer przechodzi do trybu oczekiwania wyboru skrzynki przez
klienta,
EXPUNGE – usuwa z aktualnej skrzynki wszystkie wiadomości z ustawiona˛ flag˛e usuni˛ eta,
SEARCH – przeszukuje wiadomości pod katem ˛ zawierania wskazanego kryterium; do-
puszczalne sa˛ logiczne wyrażenia: OR, AND i NOT; serwer zwraca identyfikator wiadomości
spełniajacej
˛ podane warunki przeszukiwania,
FETCH – pozwala na pobranie z serwera danych zwiazanych ˛ z dana˛ wiadomościa,
˛ mi˛edzy
innymi przez komendy (sa˛ to tylko przykłady wi˛ekszej liczby komend tego typu):
- ALL – cała wiadomość,
- BODY – treść wiadomości,
- BODY[<section>] – treść ze wskazanej sekcji (przydatne przy wiadomościach typu
multipart/mixed
PARTIAL – pozwala na pobranie z serwera konkretnej liczby bajtów, od wskazanej pozycji
wybranej wiadomości,
ALTER – zapisuje zmiany wprowadzone w wiadomości w skrzynce,
COPY – zapisuje wskazana˛ wiadomość do wskazanej skrzynki.
Z punktu widzenia użytkownika, najważniejsza˛ funkcja˛ oferowana˛ przez serwery IMAP, jest
możliwość przechowywania folderów poczty na serwerze (a nie lokalnie w formacie zależnym
od używanego klienta pocztowego), możliwość szybkiego ich odbierania. W przeciwieństwie do
serwerów POP3, serwery IMAP moga˛ wysyłać klientowi tylko nagłówki wiadomości bez ich
treści. Dla użytkowników łacz ˛ acych
˛ si˛e z siecia˛ przez zwykłe modemy jest to ogromne udo-
godnienie. Moga˛ od razu kasować niechciane wiadomości bez przesyłania ich na swój lokalny
komputer. Użytkownicy moga˛ sortować nadchodzace ˛ przesyłki i zapisywać je do różnych skrzy-
nek zgodnie ze zdefiniowanymi przez siebie regułami.
Inna˛ zaleta˛ korzystania z serwerów IMAP jest możliwość rozsyłania wiadomości w grupie
użytkowników bez potrzeby obciażania
˛ serwera pocztowego. Wystarczy, że zapisze on wiado-
mość w podanej skrzynce, która˛ b˛eda˛ mogli wybrać użytkownicy tej grupy w konfiguracji swo-
ich klientów IMAP. W przypadku serwera POP3 konieczne w takim wypadku jest rozesłanie
wiadomości do wszystkich użytkowników. W konfiguracji klienta POP3 można też stworzyć
dodatkowe konto u każdego klienta w grupie a klientom kazać odbierać poczt˛e również z tych
dodatkowych kont. Jest to jednak rozwiazanie˛ bardziej złożone niż w protokole IMAP.
Podobna,˛ a w niektórych aspektach szersza,˛ funkcjonalność daje serwer Exchange firmy
Microsoft.
racyjnym gdzie operacje dost˛epu do zdalnych plików sa˛ dla użytkownika niewidoczne (NFS,
CIFS). W obu jednak przypadkach protokoły musza˛ uwzgl˛edniać prawa dost˛epu do pliku (nie
zawsze zapisywane w ten sam sposób jak w systemie lokalnym), różnice w nazwach plików,
różnice w reprezentacjach binarnych (choć czasami konwersja formatów powodowałaby utrat˛e
danych i jest niemożliwa).
sesji przy pomocy TELNET- a , praca z odległym systemem przebiega w sposób przypominajacy ˛
prac˛e na lokalnej konsoli.
Najwi˛ekszy problem, z jakim mieli do czynienia autorzy tego protokołu, to różnorodność sys-
temów operacyjnych na jakich może działać klient i serwer. Heterogeniczność środowisk niesie
za soba˛ różna˛ interpretacj˛e znaków pochodzacych
˛ z klawiatury, możliwość używania 7 bitowego
lub 8 bitowego zbioru znaków ASCII.
W celu rozwiazania
˛ problemu TELNET definiuje tzw. sieciowy terminal wirtualny
(ang. Network Virtual Terminal – NVT). Dzi˛eki niemu klient i serwer posługuja˛ si˛e tym sa-
mym interfejsem w komunikacji mi˛edzy soba.˛ Poza tym protokół umożliwia negocjowanie opcji
(oprócz zbioru opcji standardowych) oraz nie wymaga, aby dane wejściowe klienta pochodziły
z klawiatury, a dane wyjściowe były wyświetlane na ekranie.
Sieciowy terminal wirtualny wykorzystuje mechanizm tzw. pseudoterminali w systemach
operacyjnych. Oferuja˛ one działajacym ˛ programom dost˛ep do systemu przekazujac ˛ znaki prze-
syłane przez klienta tak jakby pochodziły z klawiatury. Bez tego mechanizmu budowa serwerów
TELNET byłaby niemożliwa. To, czy wiersze tekstu powinny si˛e ko ńczyć znakiem CR, LF, czy
też CR-LF, który z klawiszy (lub ich sekwencji) daje możliwość przerwania programu, zależy od
systemu operacyjnego. Dlatego też polecenia użytkownika sa˛ tłumaczone na format NVT i wy-
syłane do serwera. Wirtualny terminal po stronie serwera tłumaczy je na format swojego systemu
operacyjnego. Podobnie dzieje si˛e przy przesyłaniu odpowiedzi serwera do klienta.
Umożliwienie przerywania działajacych ˛ programów jest bardzo istotne. Dzi˛eki temu pro-
gram, działajacy˛ bez kontroli, wywołany przez użytkownika, może zostać zatrzymany bez zb˛ed-
nego obciażania
˛ serwera. NVT do tego celu używa funkcji sterujacych:˛
IP – zakończ wykonujacy ˛ si˛e program (ang. Interrupt Process),
AO – wyczyść bufor wyjściowy (ang. Abort Output),
AYT – sprawdź czy serwer odpowiada (ang. Are You There),
EC – skasuj poprzedni znak (ang. Erase Character),
EL – skasuj bieżacy
˛ wiersz (ang. Erase Line),
SYNCH – wyczyść strumień danych aż do punktu z pilnymi danymi, interpretujac ˛ po
drodze polecenia (ang. Synchronize),
BRK – przerwanie (ang. Break).
Projektanci NVT zdecydowali o rozdzieleniu poleceń od zwykłych danych przesyłanych w ko-
dzie ASCII mi˛edzy klientem a serwerem. Dzi˛eki temu definiowanie nowych funkcji kontrolnych
jest bardzo przejrzyste i elastyczne. Nie ma kłopotu z interpretacja,˛ czy znak powinien by ć po-
traktowany jako dane czy jako funkcja kontrolna.
Aby zapanować nad programem, który nie działa prawidłowo na odległej maszynie, to jednak
czasami nie wystarczajace. ˛ W przypadku, gdy program użytkownika wykonuje niesko ńczone p˛e-
tle, nie czytajac
˛ danych z wejścia i nie generujac ˛ danych na wyjściu, w pewnym momencie bufo-
ry systemu operacyjnego moga˛ si˛e zapełnić. Serwer nie b˛edzie mógł wówczas zapisać wi˛ekszej
ilości danych w buforze pseudoterminalu. Musi wi˛ec zaprzestać czytania danych z połaczenia ˛
TCP, co spowoduje zapełnienie buforów połaczenia. ˛ To z kolei zmusi serwer do proponowania
zerowej wielkości okna, czyli zaprzestania przepływu danych. Przy opisanych dotychczas moż-
liwościach nie ma metody wysłania programowi polecenia IP. Dlatego też TELNET przesyła
sygnały poza kolejka˛ normalnych danych. W przypadku wysyłania funkcji kontrolnej protokół
wysyła dodatkowo funkcj˛e SYNCH i dodaje zarezerwowany bajt DMARK (ang. Data Mark).
W nagłówku TCP ustawia flag˛e URG. Dzi˛eki temu sygnał dociera natychmiast do serwera. Bajt
Podstawowe usługi sieciowe 141
DMARK oznacza, że cz˛eść SYNCH zawiera strumień danych (zawsze pilnych).
Najbardziej złożona˛ cz˛eścia˛ protokołu TELNET jest możliwość negocjacji opcji. Dzi˛eki nim
połaczenie
˛ może być rekonfigurowane np. z trybu half-duplex do trybu full-duplex lub też okre-
ślony zostaje rodzaj terminalu użytkownika. Najcz˛eściej używane opcje zawiera tabela 7.3.1.
Nazwa Kod Znaczenie
TransmitBinary 0 Zmień przesyłanie na 8-bitowe przesyłanie binarne
Echo 1 Pozwolenie jednej ze stron na wykonywanie echa danych,
które otrzymuje
Suppress-GA 3 Nie wysyłaj sygnału "naprzód" po danych (potrzebne przy
połaczeniach
˛ half-duplex)
Status 5 Prośba o stan opcji po drugiej stronie
Timing-Mark 6 Prośba, aby w powrotnym strumieniu był wstawiony
wskaźnik czasowy
Terminal-Type 24 Wymiana informacji na temat wykonania i modelu używa-
nego terminala
End-of-Record 25 Zakończenie wysyłania danych kodem EOR
Linemode 34 Wysyłaj pełne wiersze zamiast pojedynczych znaków
Tabela 7.1: Cz˛esto używane opcje protokołu TELNET
Opcje sa˛ negocjowane na zasadzie zgłaszania próśb. Strona odbierajaca ˛ prośb˛e (komuni-
kat WILL X) o użycie danej opcji albo ja˛ akceptuje (komunikat DO X) albo odrzuca (komunikat
DON’T X). Mechanizm ten pozwala na negocjacj˛e opcji bez jakichkolwiek informacji o drugiej
stronie. Dzi˛eki temu jest możliwa współpraca starszych i nowszych wersji klientów i serwerów.
Niewatpliw
˛ a˛ zaleta˛ TELNET- a jest jego popularność oraz w miar˛e prosta implementacja,
z czego korzysta wielu producentów urzadze ˛ ń sieciowych do zdalnego zarzadzania
˛ swoimi pro-
duktami. Wada˛ jest przesyłanie znak po znaku tego co wpisuje użytkownik (jeśli nie zostana˛
wynegocjowane odpowiednie opcje) oraz zupełny brak zabezpiecze ń przed podsłuchiwaniem
treści przesyłanych mi˛edzy serwerem a klientem.
Wst˛epne dane sa˛ zabezpieczone wybranym symetrycznym algorytmem szyfrujacym, ˛ ale al-
gorytm opiera swoje działanie na idei szyfrowania asymetrycznego. W systemach tych do szyfro-
wania lub deszyfrowania potrzebne sa˛ dwa odr˛ebne klucze: prywatny i publiczny. Wiadomość
zaszyfrowana kluczem publicznym może być odczytana tylko przez kogoś, kto posiada klucz
prywatny z tej pary kluczy. Klucze prywatny i publiczny powinny być wygenerowane przez
użytkownika programem ssh-keygen w systemach UNIX. Jeżeli sa˛ wygenerowane to, klient SSH
przekazuje serwerowi, której ze znanych mu par klucz–użytkownik ma uży ć. Sa˛ to klucze pu-
bliczne. Serwer, jeżeli nie znajdzie informacji zabraniajacej
˛ mu zestawiania połacze
˛ ń z kom-
puterem użytkownika, wyśle klientowi numer losowy (ang. challenge) zaszyfrowany kluczem
publicznym użytkownika. Ponieważ klucz prywatny jest zabezpieczony hasłem, wi˛ec tylko użyt-
kownik znajacy
˛ to wyrażenie b˛edzie w stanie odczytać wiadomość od serwera. W ten sposób
Podstawowe usługi sieciowe 143
Dodanie klucza
$ ssh-add
Need passphrase for /home/user/.ssh/identity (user@host).
Enter passphrase:
Identity added: /home/user/.ssh/identity (user@host)
$
Oczywiście wiele tych cech jest wspólnych dla RDP, SSH czy TELNET- a . O ile jednak wyżej
opisane protokoły były znane od dosyć dawna, to usługi terminalowe w systemach Windows ma-
ja˛ znacznie krótsza˛ histori˛e. W ostatnich latach stały si˛e nawet bardzo istotne w heterogenicznych
środowiskach sieciowych dzi˛eki programom takim jak:
Przy ich wykorzystaniu każdy użytkownik może logować si˛e do zdalnego systemu Windows, tak
jakby to robił lokalnie. Serwer dla każdego połaczenia
˛ tworzy oddzielna˛ sesj˛e, a sesjami takimi
zarzadza
˛ niezależnie. Użytkownik może sesj˛e przerwać wylogowujac
˛ si˛e z serwera lub tylko od
sesji si˛e odłaczyć.
˛ Druga możliwość pozwala na późniejszy do niej powrót. W mi˛edzyczasie
wyglad˛ pulpitu użytkownika nie ulega zmianie.
146 7.4. Serwisy informacyjne
Opis protokołu
Firma Microsoft oparła implementacj˛e RDP o protokół wymiany danych mi˛edzy aplikacjami –
T.128. Jest on również znany jako T.SHARE. Standard został opracowany przez ITU-T. Pod adre-
sem http://www.rdesktop.org/docs/t128.zip i http://www.rdesktop.org/docs/t125.zip
można znaleźć dokumenty ITU-T o tym protokole. Oprócz tego, dodatkowych informacji można
szukać w dokumentach RFC905 i RFC2126.
Najważniejsza˛ cecha˛ rodziny protokołów T.120 jest możliwość przesyłu danych w kilku wir-
tualnych kanałach (do wykorzystania jest 64000 kanałów w jednym połaczeniu).
˛ Dane sa˛ w nich
transmitowane równolegle, a przy tym niezależnie. Dzi˛eki temu dane warstwy prezentacji sa˛
niezależne od informacji pochodzacych
˛ z portów szeregowych, klawiatury, myszy.
W wersji usług terminalowych udost˛epnionych wraz z Windows NT4.0 Server wszystkie
sesje były typu „punkt–punkt”. RDP jednak, jako rozszerzenie T.Share pozwala na sesje typu
multicast.
RDP został zaprojektowany w sposób pozwalajacy ˛ mu wykorzystywać protokoły takie jak
TCP/IP, NetBios, IPX do komunikacji. Czyni go to niezależnym od użytej technologii sieciowej
i pozwala na używanie w różnorodnych środowiskach. Dane pochodzace ˛ z aplikacji, przesyłane
przy pomocy RDP, sa˛ obsługiwane niemal identycznie jak inne programy nie korzystajace ˛ z RDP.
Jedynym dodatkiem jest stos tego protokołu. W stosie tym nast˛epuje podział danych na fragmen-
ty, przekierowanie do odpowiedniego kanału, szyfrowanie, podział danych na ramki i przesłanie
do protokołów warstw niższych. Przy odbiorze danych sekwencja wymienionych operacji od-
bywa si˛e w odwrotnej kolejności. W systemach Windows złożoność tego procesu ukryto przed
programistami udost˛epniajac ˛ im odpowiedniego typu API (ang. Application Programming Inte-
race).
Warto zwrócić uwag˛e na dwa elementy stosu RDP. Skład si˛e on z kilku cz˛eści. Każda z nich
jest odpowiedzialna za odr˛ebne funkcje. Najważniejsze z nich to:
MCSMUX – (ang. Multipoint Communication Service),
GCC – (ang. Generic Conference Control).
Oba elementy sa˛ cz˛eścia˛ rodziny standardów ITU-T T.120. MCS składa si˛e z dwóch takich stan-
dardów:
1. T.122 – definiuje serwisy,
2. T.125 – specyfikuje rodzaj protokołu transmisji danych.
MCSMUX kontroluje przypisania kanałów wirtualnych, ustawienia poziomu priorytetów, wiel-
kość wysyłanych segmentów danych. W zasadzie tworzy on abstrakcyjna˛ warstw˛e, która wiele
stosów RDP prezentuje jako jedna˛ całość z perspektywy GCC. GCC jest odpowiedzialne za
zarzadzanie
˛ kanałami. Pozwala na otwieranie nowych, kasowanie starych sesji oraz kontroluje
zasoby dostarczane przez MCS.
Czasami jednak rozsyłanie tych samych plików do setek użytkowników lub opisywanie
pewnych rzeczy jest znacznie trudniejsze niż np. po prostu narysowanie ich. Oczywiście rysu-
nek trzeba zaprezentować innym użytkownikom sieci. Tu z pomoca˛ przychodzi protokół HTTP
(ang. Hypertext Transfer Protocol) oraz znana dobrze wszystkim usługa WWW (ang. World Wide
Web). Dzi˛eki nim oraz j˛ezykowi służacemu
˛ do tworzenia stron WWW – HTML (ang. Hypertext
Markup Language) użytkownicy moga˛ łatwo przedstawiać wyniki swoich prac, poglady, ˛ firmy
przedstawiać produkty itd. W zasadzie można powiedzieć, że rozwój sieci Internet w ostatnich
latach był motywowany przez rosnac ˛ a˛ popularność serwisów WWW oraz wykorzystywanie pro-
tokołu HTTP do przesyłania danych przez inne aplikacje niż tylko przegladarki
˛ stron WWW.
Oprócz HTTP, nieco wcześniej, powstał inny protokół NNTP (ang. Network News Transfer
Protocol). Dzi˛eki niemu użytkownicy moga˛ wymieniać poglady ˛ i opinie przy pomocy teksto-
wych wiadomości. Podobnie jak w przypadku WWW sa˛ one umieszczane na serwerach i czytane
przy pomocy programów–klientów.
Data Wydarzenie
Marzec 1990 Laboratoria CERN przedstawiaja˛ dokument z opisem
WWW. Autorem jest jedna osoba Tim Berners–Lee.
Styczeń 1992 Powstaje specyfikacja HTTP/0.9
Luty 1992 Powstaje WWW i propozycja używania WAIS/X.500 do
wyszukiwania zasobów w sieci
Grudzień 1992 Propozycja o dodaniu MIME do HTTP
Luty 1993 Postanie UDI dla sieci
Marzec 1993 Pierwsza szkic specyfikacji HTTP/1.0
Czerwiec 1993 Specyfikacja HTML 1.0
Październik 1993 Specyfikacja URL
Listopad 1993 Druga szkic specyfikacji HTTP/1.0
Marzec 1994 Dodanie URI do WWW
Maj 1996 Standard HTTP/1.0 w RFC 1945
Styczeń 1997 Propozycja standardu HTTP/1.1 (RFC 2068)
Czerwiec 1999 Szkic standardu HTTP/1.1 (RFC 2616)
2001 Formalny standard HTTP/1.1
Tabela 7.2: Rozwój protokołu HTTP
148 7.4. Serwisy informacyjne
Z tabeli tej widać, że protokół ma stosunkowo krótka˛ histori˛e rozwoju. Mimo to we współ-
czesnych sieciach odgrywa on kluczowa˛ rol˛e.
Zalety protokołu
Generalnie rzecz biorac˛ HTTP jest protokołem bardzo prostym. Mimo to, jest bardzo uniwersal-
ny. Jego główne cechy to:
używanie URI do identyfikacji zasobów w sieci,
stosowanie mechanizmu „zapytanie–odpowiedź” przy wymianie danych,
brak nawiazywania
˛ sesji mi˛edzy klientem a serwerem,
zawieranie informacji o zasobach, które moga˛ być użyte na różne sposoby, .
Oczywiście za tymi czterema punktami kryje si˛e nieco bardziej skomplikowany mechanizm.
URI pozwala na umieszczenie zasobu (pliku) gdziekolwiek w sieci Internet. Separuje jednocze-
śnie nazw˛e od rodzaju zasobu, który si˛e pod nia˛ kryje. W zasadzie, zasób może mie ć nazw˛e przy-
dzielona˛ na zawsze, co nie oznacza, że jego zawartość i sposób reprezentacji nie może w tym
czasie ulec zmianie. Z punktu widzenia protokołu URI jest sformatowanym ciagiem ˛ znaków.
Można powiedzieć, że URI wskazuje na zasób, niezależnie jakiego typu i niezależnie w jakim
miejscu w sieci si˛e znajduje. W tym sensie URI jest kombinacja˛ URL (ang. Uniform Resource
Locator) i URN (ang. Uniform Resource Name). Bardziej znanym jest URL. Powiazanie ˛ mi˛edzy
tymi trzema mechanizmami lokalizacji zasobów jest nast˛epujace: ˛ jeśli zasób X został umiesz-
czony pod adresem www.foo.com/X i adresem www.companyx.com/pub/X to sa˛ to dwa adresy
URL. Każdy z nich jest URI zasobu X. URL w zwiazku ˛ z tym wskazuje na położenie kopii zaso-
bu. Jeżeli zasobem X jest ksiażka
˛ o nadanym numerze ISBN (ang. International Society of Book
Numbers) to jej URN jest właśnie ten numer.
Adresy URI
Transfer danych
Jak już zostało wspomniane, protokół HTTP jest protokołem bezstanowym do wymiany danych
mi˛edzy klientem i serwerem. Cała komunikacja jest oparta o mechanizm „zapytanie – odpo-
wiedź”. Zapytanie wysłane przez klienta do serwera nie musi być odebrane przez oryginalny
serwer, do którego było kierowane. Może je obsłużyć dowolny serwer posiadajacy ˛ żadany
˛ za-
sób lub np. serwer proxy. Dla klienta jest to zupełnie niewidoczne. Serwer odbierajacy ˛ zapytanie
odsyła odpowiedź.
Protokół HTTP specyfikuje kilka metod, których może użyć klient do pobierania, modyfika-
cji, tworzenia i usuwania zasobu. Sa˛ to:
Metody zdefiniowane w HTTP/1.0
GET – najpopularniejsza metoda pobierania zasobów z serwera. Wywołana do zaso-
bu wyspecyfikowanego w URI powoduje, że serwer zwraca jego aktualna˛ zawartość.
Odpowiedź serwera jest zwracana do klienta, który wysłał zapytanie. Jeżeli w URI,
jako zasób, zostanie wyspecyfikowany program, serwer zwróci wynik jego wykona-
nia. Metoda ta jest uznawana za bezpieczna˛ gdyż nie modyfikuje zasobów. Może za-
wierać parametry, np. GET~http://www.altavista.com/cgi-bin/query?q=aqq123.
Zapytanie to zostało wysłane do programu query z parametrem aqq123 zlokalizowa-
nego pod adresem URI http://www.altavista.com/cgi-bin/. Metoda GET może
również zawierać pola modyfikujace ˛ zapytanie, np. If-Modified-Since. Zapytanie
metody GET, poza wyspecyfikowaniem zasobu i ewentualnych nagłówków modyfi-
kujacych,
˛ nie posiada żadnej treści. Jeśli taka jest, to serwer ja˛ ignoruje.
HEAD – metoda służy do pobierania metadanych o zasobie. Dane zwracane przez
serwer sa˛ takie same, jak np. w przypadku metody GET – tyle, że bez „zawartości”
zasobu. Metoda jest stosowana przez serwery proxy do sprawdzania aktualności za-
pami˛etanych danych,
POST – w przeciwieństwie do GET i HEAD, ta metoda służy do uaktualniania zawar-
tości zasobu. Dane w zapytaniu skierowanego do serwera ta˛ metoda˛ sa˛ nowa˛ treścia˛
wyspecyfikowanego zasobu. Serwer może, ale nie musi dokonać aktualizacji; zależy
to od jego konfiguracji. Cz˛eść danych może być zabezpieczona przed tego typu ope-
racjami, a te, które moga˛ być modyfikowane, wymagaja˛ najcz˛eściej autoryzacji ze
strony użytkownika, który dane wysłał. Cz˛estym zastosowaniem metody POST jest
wysyłanie danych, jako wejściowych, do programu na serwerze. Może to być np.
program „publikujacy”
˛ wiadomości nadsyłane do forum dyskusyjnego na stronach
WWW. Wymaganym nagłówkiem przy metodzie POST jest Content-Length. Dzi˛eki
niemu serwer wie, kiedy otrzymał cała˛ wiadomość. Jeżeli serwer pomyślnie przetwo-
rzy nadesłane dane, to odsyła tego potwierdzenie. W przypadku danych nadesłanych
do programu serwer odpowiada wynikami, jakie wygenerował program.
Oczywiście metoda GET też może być wykorzystywana do wysyłania danych do ser-
wera. Jednak mi˛edzy GET i POST istnieje subtelna różnica. W pierwszym przypadku
parametry sa˛ przekazywane w URI (tak jak przykładzie wyżej). W drugim nagłówek
wyglada˛ mniej wi˛ecej tak:
POST /query.cgi HTTP/1.0
Content-Length: 8
CRLF
150 7.4. Serwisy informacyjne
q aqq123
to /index.html identyfikuje zasób, o który klient pyta metoda˛ GET. Numer wersji używa-
nego przez klienta protokołu jest potrzebny serwerowi do określenia możliwości używania opcji
oferowanych przez HTTP u pytajacego.
˛ Ogólnie, każde zapytanie składa si˛e z metody, której
chce użyć klient, adresu URI, numeru wersji protokołu oraz pól opcjonalnych. Serwer po prze-
tworzeniu zapytania odsyła np. taka˛ odpowiedź:
HTTP/1.0 200 OK
Date: Tue, 5 Aug 2003 15:01:05 GMT
Last-Modified: Mon, 4 Aug 2003 10:05:12 GMT
Content-Length: 3000
.....
<3000 bajtów aktualnej zawartości /index.html>
Połaczenia
˛ HTTP
Z punktu widzenia komunikacji w sieci, HTTP jest protokołem poziomu aplikacji, używa pro-
tokołów warstw niższych (w rzeczywistości tylko jednego – TCP). Ponieważ nie da si˛e wyge-
nerować odpowiedzi serwera dopóki nie otrzyma on zapytania od klienta, dlatego też kierunek
zapytań zawsze zaczyna si˛e od klienta do serwera. Nast˛epnie wysyłane sa˛ odpowiedzi. Każda
taka wymiana komunikatów jest traktowana przez serwer zupełnie oddzielnie. Protokół HTTP
nie posiada mechanizmów, które potrafiłyby przenosić informacj˛e o wcześniejszych odwoła-
niach klienta do serwera i jego odpowiedziach. Z tego punktu widzenia HTTP jest protokołem
bezstanowym i nie zarzadza
˛ sesjami.
Powód, dla którego postanowiono tak zrobić, jest bardzo prosty. W czasach powstawania
WWW tworzono jeszcze kilka innych, konkurencyjnych systemów. Wszystkie one miały za-
pewnić dost˛ep do dużych zasobów w Internecie. Gdyby dodać do protokołu przechowywanie
informacji o każdej sesji, to mogłoby si˛e okazać, że serwery musza˛ przechowywać duże zbiory
danych o swoich użytkownikach. WWW tym samym stałby si˛e rozwiazaniem ˛ słabo skalowal-
nym.
Nie znaczy to, że serwery, przegladarki
˛ klientów lub inne aplikacje korzystajace
˛ z HTTP do
wymiany danych nie zarzadzaj˛ a˛ sesjami. Serwer WWW może zapami˛etywać adresy IP klientów,
którzy pobierali z niego dane, jak również inne informacje, które klient wysyła w nagłówkach.
Dzieje si˛e to jednak na poziomie oprogramowania serwera i klienta. Problem utrzymywania se-
sji zaczał˛ być bardzo odczuwalny, gdy serwis WWW musiał przechowywać jakieś informacje
o wcześniejszych odwołaniach, np. sklepy internetowe, banki elektroniczne, itd. Rozwiazaniem
˛
najcz˛eściej stosowanym sa˛ ciasteczka (ang. cookies). Przy każdym wysyłaniu zapytania do ser-
wera, aplikacja użytkownika dołacza ˛ ciasteczko z informacjami o nim.
Problem, jaki niesie za soba˛ model wymiany wiadomości w HTTP, jest zwiazany ˛ z obciaże-
˛
niem, którego nie generuje ten protokół jako taki, ale TCP. Jak wiemy, TCP potrzebuje wymiany
152 7.4. Serwisy informacyjne
kilku pakietów do otwarcia sesji. HTTP może przesyłać swoje dane dopiero po otwarciu se-
sji TCP. Użytkownicy wykorzystujacy ˛ WWW bardzo cz˛esto po odebraniu odpowiedzi serwera
zmieniaja˛ go na inny. Tak si˛e dzieje np. gdy korzystamy z wyszukiwarek internetowych. TCP
nie zamyka od razu połaczenia
˛ po stronie serwera, a system operacyjny użytkownika nie wysyła
do niego informacji, że sesja nie b˛edzie już używana. Tym sposobem zarówno klient jak i serwer
moga˛ mieć spora˛ liczb˛e otwartych, nieużywanych sesji TCP. Wbrew temu co może si˛e wydawa ć,
zmniejszenie czasu nieaktywności sesji przed jej zamkni˛eciem nie jest rozwiazaniem.
˛ Opóźnie-
nia w sieci maja˛ charakter losowy i cz˛esto dane docieraja˛ w różnym czasie do odbiorcy. Jeżeli
czas nieaktywności b˛edzie zbyt krótki, sesja b˛edzie zamkni˛eta przed odebraniem danych. Użyt-
kownik wówczas b˛edzie otwierał nowa˛ sesj˛e, która znowu po chwili b˛edzie zamkni˛eta. Serwer
b˛edzie obciażany
˛ samymi operacjami zamykania/otwierania sesji. Czas oczekiwania użytkow-
nika na odpowiedź serwera b˛edzie wydłużany o czas potrzebny na zestawienie sesji TCP, co
czasami może trwać kilka sekund. Otwieranie i zamykanie sesji jest w sumie najbardziej kosz-
towna˛ operacja˛ dla serwera. Poza tym w sieci pojawia si˛e ogromna liczba krótkich pakietów IP.
Zwi˛ekszaja˛ one jej obciażenie
˛ zmniejszajac
˛ tym samym szans˛e na przesłanie wi˛ekszej liczby
danych. Sytuacja ta jest dość cz˛esto spotykana w sieciach.
Najnowsza specyfikacja HTTP/1.1 pozwala na utrzymywanie „sesji HTTP” mi˛edzy przegla- ˛
darka˛ a serwerem. Niektóre implementacje HTTP/1.0 pozwalały na używanie nagłówka Keep-Alive.
W HTTP/1.1 zostało to przekształcone do tzw. stałego połaczenia ˛ (ang. persistent connection).
Mechanizm ten pozwala klientowi na poinformowaniu serwera, że jest zainteresowany utrzyma-
niem stałego połaczenia
˛ z nim, poza pojedyncza˛ wymian˛e wiadomości. Należy pami˛etać, że ta
wymiana może składać si˛e z kilkunastu ramek TCP. W przypadku HTTP/1.0 mimo to istnieje
problem określenia, jak długo połaczenie
˛ ma być utrzymywane, gdy serwer odsyła dynamicz-
nie generowana˛ odpowiedź np. przez skrypt. Nie zawiera ona wówczas nagłówka podajacego ˛
jej wielkość. Klient może jedynie stwierdzić, że otrzymał całość gdy serwer zamyka połaczenie.
˛
Na szcz˛eście, poprzez rozszerzenia nagłówka HTTP, serwer może określać jak długo połaczenie˛
b˛edzie utrzymywane po otrzymaniu ostatniego zapytania. Może również określić maksymalna˛
liczb˛e zapytań, które klient może wysłać w danym połaczeniu.
˛
Metadane w HTTP
zapami˛etuje w lokalnych plikach, jakie wiadomości zostały już przeczytane oraz które grupy
news sa˛ przez użytkownika odwiedzane.
Grupy news sa˛ identyfikowane w sieci Internet przez nazw˛e, tak samo jak serwisy WWW.
Wi˛ekszość przegladarek
˛ internetowych pozwala na ich czytanie.
Protokół NNTP
NNTP został zaproponowany jako zast˛epstwo starego UUCP (ang. UNIX–to–UNIX Copy Proto-
col) w 1986 r.
Aplikacja, służaca
˛ do odczytywania artykułów z serwera news, otwiera połaczenie ˛ TCP z ser-
werem na porcie 119. Podobnie jak FTP i SMTP serwer zwraca trzycyfrowy kod, z opcjonalna˛
wiadomościa˛ tekstowa˛ do komend wydawanych przez klienta. W zależności od rodzaju odpo-
wiedzi może ona mieć jeszcze dodatkowe parametry. Numer i typ dodatkowych parametrów jest
dołaczany
˛ przez serwer do każdej odpowiedzi, co ułatwia klientowi ich interpretacj˛e. Podczas
przetwarzania komend serwer pami˛eta nazw˛e bieżacej ˛ grupy news oraz numer artykułu pobra-
nego przez klienta.
NNTP ma bogaty zbiór poleceń spełniajacych
˛ różne funkcje. Jednym ze zbiorów takich ko-
mend sa˛ polecenia dostarczajace˛ generalnych informacji o serwerze i dost˛epnych grupach news,
np.:
lista obsługiwanych przez serwer poleceń,
lista dost˛epnych grup wraz z informacja˛ o pierwszym i ostatnim artykule w każdej z nich
oraz informacja˛ o tym, czy użytkownicy moga˛ wysyłać artykuły na dana˛ grup˛e,
lista grup utworzonych od danej daty/czasu,
lista artykułów wysłanych w danej grupie od danej daty/czasu.
Dostarczanie informacji o zmianach w czasie pozwala aplikacjom użytkowników na odświeżanie
dost˛epnych dla nich list artykułów bez potrzeby przechowywania ich na serwerze. Inne zbiory
komend służa˛ do przemieszczania si˛e mi˛edzy grupami (identyfikowane sa˛ przez nazwy), mi˛edzy
artykułami, przejście od aktualnego do poprzedniego lub nast˛epnego artykułu. Oprócz tego sa˛
też komendy zwracajace ˛ tylko nagłówki artykułu albo jego całość. Za każdym razem artykuł jest
identyfikowany przez numer wiadomości albo numer w danej grupie news.
Oczywiście NNTP dostarcza również komend do tworzenia nowych artykułów. Użytkownik
może wysłać prośb˛e o wysłanie wiadomości. Jeżeli serwer odpowie pozytywnie, klient wysy-
ła jego treść podobnie jak w przypadku SMTP. Artykuł kończy si˛e pojedynczym znakiem "."
w ostatniej linii. W tym czasie serwer generuje unikalny identyfikator dla wiadomości i dodaje
ja˛ do listy artykułów danej grupy.
NNTP jest wyposażone w komend˛e służac ˛ a˛ do kopiowania wiadomości mi˛edzy serwerami.
Jest to chyba jedna z bardziej istotnych komend w NNTP. Dzi˛eki niej artykuły sa˛ wymieniane
mi˛edzy serwerami a użytkownicy korzystajacy ˛ z różnych serwerów moga˛ je czyta ć. Serwery nie
udost˛epniaja˛ swojej bazy artykułów komukolwiek, a tylko wyznaczonym w konfiguracji innym
serwerom news (administratorzy usługi news cz˛esto nazywaja˛ to rozwiazanie ˛ feed-em). Serwe-
ry wymieniajace ˛ mi˛edzy soba˛ feed- a sprawdzaja,˛ przed skopiowaniem wiadomości o danym
identyfikatorze, czy nie maja˛ jej już w bazie. Jeżeli tak, to nie kopiuja˛ jej ponownie. Poza tym,
serwery w ramach feed-u moga˛ sobie udost˛epniać tylko artykuły pojawiajace ˛ si˛e na określonych
w konfiguracji grupach. Dzi˛eki temu małe firmowe serwery moga˛ utrzymywać grupy news inte-
resujace
˛ ich pracowników bez potrzeby kopiowania dziennie kilku terabajtów danych grup typu
Podstawowe usługi sieciowe 155
alt.binaries. Szybkość kopiowania artykułów mi˛edzy serwerami jest bardzo różna. Czasami mo-
że si˛e zdarzyć, że serwer otrzyma dana˛ wiadomość po kilkudziesi˛eciu godzinach. Zależy to od
obciażenia
˛ łacza
˛ do tego serwera jak i jego samego.
Należy również pami˛etać, że każda grupa wiadomości rzadzi
˛ si˛e swoimi, cz˛esto różnymi,
prawami. Wi˛ekszość z nich posiada swoje archiwum lub stron˛e WWW, gdzie jest publikowany
regulamin pisania artykułów do danej grupy. Regulaminu tego powinni przestrzega ć autorzy
artykułów tej grupy.
7.5.1. NTP
Wi˛ekszość współczesnych systemów operacyjnych wspiera trzecia˛ wersj˛e protokołu NTP. Jest
ona opisana w RFC1305. W tej chwili, czwarta wersja jest w fazie rozwojowej, choć można już
jej używać. Wersja uproszczona SNTP (ang. Simple NTP) jest opisana w RFC2030.
Oprogramowanie potrzebne do uruchomienia NTP jest dost˛epne dla wszystkich na zasadach
Open Source ze strony m.in. http://www.eecis.udel.edu/~mills/ntp. Szczegółowa doku-
mentacja pozwala na samodzielna˛ konfiguracj˛e w zależności od potrzeb. Poza tym ilość dar-
mowego oprogramowania dost˛epnego w sieci Internet powinna zadowolić wi˛ekszość użytkow-
ników. Dotyczy to zwłaszcza systemu Windows, gdyż w przypadku systemów UNIX wszelkie
narz˛edzia, niezb˛edne do uruchomienia czy monitorowania tej usługi sa˛ dostarczane najcz˛e ściej
wraz z systemem (czasem łacznie˛ ze źródłami),
Protokół NTP służy do synchronizacji czasu mi˛edzy serwerami, klientami a serwerami, ser-
werami a wzorcami czasu. W sieciach LAN zapewnia on dokładność rz˛edu kilku milisekund,
w sieciach WAN sa˛ to dziesiatki ˛ milisekund w stosunku do UTC (ang. Coordinated Univer-
sal Time). Zasada działania NTP jest dosyć prosta. Wszystkie urzadzenia
˛ korzystajace
˛ z usługi
synchronizacji za pomoca˛ tego protokołu, sa˛ przydzielone do jednej z czterech warstw określa-
jacej
˛ poziom w hierarchii źródeł synchronizacji czasu. Lub inaczej określajacej
˛ „odległość” od
wzorców czasu. Pogladowo˛ przedstawia to rysunek 7.6.
Na poziome pierwszym (ang. Stratum Zero lub reference clock) znajduja˛ si˛e ogólnie znane
i dost˛epne serwery czasu. Niektóre sa˛ używane przez siły zbrojne (np. US. Navy) i nie sa˛ do-
st˛epne dla użytkowników cywilnych. Komunikuja˛ si˛e one bezpośrednio z wzorcami czasu (ang.
Master Clock) znajdujacymi˛ si˛e mi˛edzy innymi w :
United States Naval Observatory (USNO);
National Institute of Standards and Technology (NIST);
w celu ewentualnej korekcji swoich cezowych wzorców. Na stronie domowej projektu moż-
na znaleźć tabel˛e z rekomendowanymi wzorcami czasu. Dodatkowo adresy serwerów czasu
156 7.5. Synchronizacja czasu
GPS
STRATUM ZERO
STRATUM ONE
STRATUM TWO
STRATUM THREE
pracujacych
˛ na poziomie Stratum One i Stratum Two można znaleźć pod adresami WWW:
http://www.eecis.udel.edu/~mills/ntp/clock1.htm oraz
http://www.eecis.udel.edu/~mills/ntp/clock2.htm. Udost˛epniaja˛ one publicznie usłu-
g˛e synchronizacji czasu. Natomiast wzorce czasu, z którymi one same si˛e synchronizuja,˛ podane
sa˛ w ich opisach.
Wzorcami czasu moga˛ być satelity systemu GPS (ang. Global Positioning System) oraz ze-
gary atomowe. W krajach europejskich zegary synchronizowane sa˛ także sygnałem DCF77 z na-
dajnika Mainflingen koło Frankfurtu nad Menem w Niemczech.
Źródła czasu pracujace
˛ na pierwszym poziomie hierarchii (Stratum 0) wyznaczaja˛ czas z do-
kładnościa˛ do nanosekund oraz dodatkowo moga˛ synchronizować si˛e mi˛edzy soba.˛ Najcz˛eściej
jednak synchronizuja˛ si˛e z wyznaczonym wzorcem czasu, uznanym za wiarygodny. W przy-
padku zagubienia sygnału synchronizacji z wyznaczonymi wzorcami czasu lub rezerwowymi
źródłami czasu pracujacymi
˛ w tej samej warstwie, serwery w wi˛ekszości przypadków przestaja˛
dystrybuować informacj˛e o dokładnym czasie. Wprawdzie maja˛ one wewn˛etrzne, bardzo dokład-
ne zegary, ale służa˛ im one w tym momencie raczej do podtrzymania ciagłości
˛ pracy układów
generacji czasu i daty, a później, po ponownym otrzymaniu sygnału synchronizacji z wyznaczo-
nych źródeł, szybkiego zsynchronizowania.
Źródła czasu, z którymi można synchronizować urzadzenia
˛ pracujace
˛ we własnej sieci przez
NTP, traktuja˛ jako wzorzec odniesienia, zegary pracujace
˛ w warstwie stratum zero, które dostar-
Podstawowe usługi sieciowe 157
czaja˛ im informacj˛e o czasie uniwersalnym UTC. Taka˛ też informacj˛e przesyłaja˛ dalej.
Ważnym założeniem autorów protokółu była możliwość synchronizacji urzadzeń ˛ pracuja-
˛
cych w danym segmencie sieci z dowolnym serwerem znajdujacym ˛ si˛e poza nia˛ (np. w Euro-
pie sygnałem DCF77). Takie założenie jest rozsadne. ˛ Bezcelowe wydaje si˛e synchronizowanie
zegarów urzadzeń
˛ bez możliwości sprawdzenia poprawności wskazań z zewn˛etrznym, niezależ-
nym źródłem. Urzadzenia
˛ końcowe np. takie, z którymi już bezpośrednio komunikuja˛ si˛e stacje
robocze użytkowników oraz pozostałe serwery, obliczaja˛ przesuni˛ecie w stosunku do UTC na
podstawie informacji o strefie czasowej w jakiej si˛e znajduja,˛ informacjom zawartych w nagłów-
kach pakietu NTP, i rozsyłaja˛ informacj˛e o czasie lokalnym. Format przekazywania czasu jest
najcz˛eściej parametrem konfiguracyjnym i można go ustawiać w zależności od potrzeb. Protokół
NTP uwzgl˛ednia czas propagacji sygnałów w sieciach, czy też raczej pakietów.
Urzadzenia
˛ pracujace
˛ w warstwach niższych (Stratum Two, Three, Four) synchronizuja˛ si˛e
ze źródłami pracujacymi
˛ w warstwie położonej bezpośrednio nad nia.˛ Ograniczenie co do liczby
warstw, czy też inaczej odległości od wzorców czasu, wynikaja˛ z możliwości powstawania bł˛e-
dów w trakcie przesyłania informacji o czasie przez sieci oraz czasu potrzebnego na wzajemna˛
komunikacj˛e mi˛edzy urzadzeniami.
˛ Teoretycznie warstw może być 15, ale praktycznie stosuje
si˛e tylko 4.
Każdy klient NTP powinien określić najbliższy mu i najlepszy serwer udost˛epniajacy ˛ syn-
chronizacj˛e czasu. Nie zawsze jest to najlepszy rodzaj jego konfiguracji, chociażby ze wzgl˛edu
na możliwość awarii czy brak możliwości zsynchronizowania si˛e z serwerem, kiedy to lepiej jest
synchronizować dane urzadzenie
˛ z kilkoma źródłami (zalecane sa˛ co najmniej 3). Protokół NTP
sam dokona wyboru najlepszego rodzaju, na podstawie:
1. Tego, w której warstwie pracuje dane urzadzenie.
˛
2. Najmniejszego opóźnienia w komunikacji z danym urzadzeniem.˛
3. Zakładanej precyzji.
Istnieje kilka trybów konfiguracji klienta. Jeden z nich zakłada, że urzadzenie˛ b˛edzie syn-
chronizowało si˛e z wybranym wzorcem ale też samo b˛edzie pozwalało na synchronizacj˛e z nim.
Taki tryb pracy ma sens gdy chcemy np. mieć kilka redundantnych urzadzeń ˛ i gwarancj˛e, że
zawsze jakiekolwiek z nich b˛edzie dost˛epne. Drugi tryb powoduje odpytywanie przez klientów
serwera lub serwerów czasu; konfiguracja ta jest najcz˛eściej spotykana. Jej główna˛ wada˛ jest nie-
potrzebne generowanie ruchu w sieci i obciażanie
˛ serwera, natomiast zaleta˛ szybszy start procesu
klienta (bez czekania na komunikaty rozsyłane przez serwer). Kolejny tryb pracy klienta powo-
duje czekanie na rozsyłane co pewien czas komunikaty od serwera o aktualnym czasie. Niektóre
serwery pozwalaja˛ na rozsyłanie komunikatów typu multicast oprócz domyślnych komunikatów
broadcast.
Każdy z tych trybów pracy jest przystosowany do innych potrzeb. Pierwszy z nich ma na
pewno sens w dużych sieciach, gdzie dokładny czas jest istotny i konieczna jest gwarancja, że
zawsze b˛edzie dost˛epne jedno źródło czasu, z którym klienci b˛eda˛ mogli si˛e synchronizowa ć.
Dwa kolejne z wymienionych trybów sa˛ stosowane przez wi˛ekszość użytkowników a ich wybór
zależy wyłacznie
˛ od lokalnych potrzeb. Uwaga ta dotyczy wszystkich klientów NTP.
Ze wzgl˛edu na to, że dla niektórych usług synchronizacja czasu jest w rzeczywiści istotna,
NTP oferuje również mechanizmy zabezpieczajace ˛ przed modyfikowaniem wskaza ń zegarów
przez strony trzecie. Można określić z jakich sieci, adresów, itp. b˛eda˛ rozpatrywane pakiety przy
ustalaniu czasu i czy pakiety maja˛ także zawierać sumy kontrolne generowane przez algorytm
MD5 lub DES.
158 7.5. Synchronizacja czasu
0 2 5 8 15 23 31
Li VN Mode Stratum Pool Precision
Root Delay
Root Dispersion
Reference Identifier
Orginale Timestamp (64 kB)
Receive Timestamp (64 kB)
Transmit Timestamp (64 kB)
Extension Fields (64 kB)
Key ID
Message Digest (128 kB)
7.6.1. NIS
Network Information Service, znany wcześniej jako YP (ang. Yellow Pages), jest baza˛ umożli-
wiajac
˛ a˛ centralne zarzadzanie
˛ komputerami i siecia.˛ Został opracowany przez SUN Microsys-
tems. Baza zarzadza˛ ważnymi dla administratorów plikami konfiguracyjnymi. Pliki te zostaja˛
przekształcone ze standardowej postaci, znanej administratorom, do map. Mapy moga˛ by ć odpy-
tywane przez komputery w sieci. Oprócz tego w bazie znajduja˛ si˛e mapy utworzone przez NIS
i zwiazane
˛ z administracja˛ sieci:
/etc/ethers
/etc/hosts
/etc/networks
/etc/protocols
/etc/services
/etc/aliases
Zaleta˛ płynac˛ a˛ ze stosowania NIS jest to, że wszystkie pliki ważne z punktu widzenia ad-
ministratora sieci, moga˛ być zarzadzane
˛ przez jeden centralny serwer i dost˛epne dla wszystkich
stacji roboczych w danej podsieci. Do tego celu na wyznaczonej maszynie działa proces serwera.
Pozostałe maszyny sa˛ wyposażone w oprogramowanie klienta.
Serwer NIS i jego klienci tworza˛ domen˛ e NIS. Jest ona identyfikowana przez nazw˛e. Musi
ona być unikalna w sieci, tak samo jak domena DNS. Firma SUN zaleca nawet nadawanie tych
samych nazw w celu uproszczenia administracji. Należy jednak pami˛etać, że sa˛ to dwa różne
poj˛ecia.
Nazwa domeny jest wykorzystywana przez serwer NIS do tworzenia odpowiednich podkata-
logów. Znajduja˛ si˛e w nich mapy dla danej domeny NIS.
160 7.6. Informacje o użytkownikach
Pierwsza linia mówi, że do poszukiwania nazw maszyn najpierw b˛edzie wykorzystany DNS.
Gdy poszukiwanie si˛e nie powiedzie, to zostanie użyty NIS i wreszcie plik /etc/hosts. Dru-
gi wiersz definiuje sposób określania nazw sieci. B˛edzie do tego wykorzystywany NIS. Wpis
[NOTFOUND=return] zezwala na użycie pliku networks tylko w przypadku gdy nie działa NIS.
Jeżeli NIS działa i nie znajdzie nazwy sieci, poszukiwania zostana˛ przerwane.
NIS+
NIS+ jest systemem używanym jedynie przez system SUN Solaris. Jest to zupełnie nowe opro-
gramowanie, a nie nast˛epna wersja NIS. Do NIS zostały dodane nowe mechanizmy:
mechanizm bezpieczeństwa – NIS nie przeprowadza autoryzacji serwera ani klienta usłu-
gi. W NIS+ te mechanizmy sa˛ dost˛epne razem z szyfrowaniem algorytmem DES. NIS+
pozwala również na określenie różnych poziomów dost˛epu w ramach jednej domeny. NIS
pozwalał jedynie na ustawienie takiego samego poziomu dost˛epu dla wszystkich użytkow-
ników w domenie,
rozproszona architektura – NIS+ posiada podobnie jak DNS rozproszona,˛ hierarchiczna˛
baz˛e danych. Dzi˛eki temu może obsługiwać olbrzymia˛ przestrzeń nazw. Zorganizowana
w ten sposób baza jest również spójnie zarzadzana
˛ przez serwery NIS+. NIS ma struktur˛e
płaska,˛ wszystkie informacje pochodza˛ z jednego serwera a jego domeny nie moga˛ na
siebie „zachodzić”,
rozszerzone struktury danych – NIS+ z plików tekstowych buduje wielokolumnowe tablice
baz danych (NIS buduje tylko tablice dwukolumnowe). Wielokolumnowe tablice moga˛
przeszukiwane według wielu kryteriów.
Podstawowe usługi sieciowe 161
NIS+ jest dużo lepszym systemem od NIS, mimo to nie jest tak popularnie wykorzystywany jak
NIS. NIS+ jest na pewno doskonałym narz˛edziem w dużych i wielkich sieciach. W małych sie-
ciach wykorzystujacych
˛ NIS jedynym argumentem za zmiana˛ NIS- a na NIS+ jest podniesienie
jej bezpieczeństwa. Niestety wiaże
˛ si˛e to z przejściem na inny system operacyjny, co nie zawsze
jest możliwe. Poza tym wi˛ekszość sieci jest chroniona przez systemy firewall a wewnatrz
˛ sieci
nie kładzie si˛e zbyt dużego nacisku na bezpieczeństwo.
7.6.2. LDAP
Lightweight Directory Access Protocol jest serwisem pozwalajacym ˛ na dost˛ep do usług katalo-
gowych. Opisuje go dokument RFC1777. W katalogach moga˛ być zgromadzone różnego rodzaju
informacje, również o użytkownikach. Dzi˛eki temu przy pomocy LDAP jest możliwe centralne
zarzadzanie
˛ użytkownikami dla dowolnej usługi, np. dost˛ep do kont pocztowych przy pomocy
protokołu IMAP lub POP3 bez zakładania tych kont fizycznie na serwerze, zarzadzanie ˛ cer-
tyfikatami elektronicznymi, dost˛ep do firmowej ksiażki˛ adresowej, itd. Usługi katalogowe sa˛
oferowane przez producentów systemów operacyjnych takich jak Microsoft czy Sun Microsys-
tems. Różne dystrybucje Linuxa korzystaja˛ z darmowej implementacji LDAP – OpenLDAP.
W przypadku systemów Windows LDAP jest znany raczej jako Active Directory, natomiast Sun
Microsystems rozpowszechnia swój produkt pod nazwa˛ SunONE Directory Server.
Jak już na wst˛epie zostało napisane, LDAP dostarcza tzw. usług katalogowych. Jest to cen-
tralna baza danych z informacjami o użytkownikach, grupach osób i wszelkiego innego typu
zasobach, które zostana˛ tam umieszczone. Jest to możliwe dzi˛eki dużej elastyczności, jaka˛ daje
LDAP przy tworzeniu takiej bazy. Nie ma jednego, ustalonego z góry, schematu, którego musi
si˛e trzymać administrator bazy LDAP. Może on ja˛ tworzyć zgodnie ze struktura˛ swojej firmy czy
organizacji.
Baza katalogów nie jest baza˛ relacyjna,˛ taka˛ jak np. MySQL. Jest ona przystosowana do
przeszukiwania, odczytywania, przegladania.
˛ Nie można w niej wykonywa ć skomplikowanych
transakcji, czy też korzystać z segmentów wycofania. W bazie LDAP bardzo nieefektywne sa˛
wykonania instrukcji zmieniajacych˛ duże bloki danych. Dlatego też nie można na usłudze kata-
logowej opierać takich serwisów, w których potrzebny jest system szybko zapisujacy ˛ duża˛ liczb˛e
wprowadzanych zmian, pozwalajacy ˛ na zawsze bezpieczne przeprowadzenie transakcji.
Każdy katalog w bazie ma swój treściwy opis oraz atrybuty pozwalajace ˛ na przeprowadzanie
zaawansowanych przeszukiwań w bazie katalogów. Rozmieszczenie katalogów w bazie oraz
jej konstrukcja sa˛ przystosowane do szybkiego dostarczania odpowiedzi przy przegladaniu ˛ oraz
przeszukiwaniu katalogów.
Usługi katalogowe można dostarczać na kilka sposobów. Stosowanie danej metody jest zależne
od rodzaju informacji, która ma być przechowywana, sposobie zabezpieczenia przed nieauto-
ryzowanym dost˛epem, sposobie przeszukiwania, uaktualniania. Niektóre usługi sa˛ lokalne, np.
finger w systemach UNIX. Inne z kolei sa˛ szeroko dost˛epne w Internecie. Dane w nich zgro-
madzone sa˛ zazwyczaj rozproszone na kilkudziesi˛eciu, kilkuset, tysiacach
˛ komputerów w sieci.
Komputery te współpracuja˛ ze soba˛ w celu lepszego dostarczania usługi użytkownikom. Ponadto
162 7.6. Informacje o użytkownikach
dane widziane przez użytkownika nie zależa˛ w takiej usłudze od jego miejsca położenia w sieci.
Bardzo dobrym przykładem takiego systemu jest DNS.
LDAP może dostarczać usługi katalogowe zarówno lokalnie, jak i globalnie w ramach firmy
z wieloma oddziałami. Struktura informacji wykorzystywana przez LDAP opiera si˛e o zbio-
ry atrybutów. Każdy taki zbiór musi być kompletny. Każdy zbiór ma swoja˛ unikalna˛ nazw˛e
DN, przez która˛ można si˛e do niego odwoływać. Każdy atrybut ma swój typ i wartość. Typy
maja˛ najcz˛eściej nazwy mnemoniczne, np. cn, mail. Rodzaj wartości zależy od typu: cn mo-
że mieć wartość Jaś Kowalski, a mail wartość jas@example.company.com. Wartościa˛ atrybutu
jpegPhoto byłby obrazek w formacie JPEG.
X.500
Kluczowym protokołem dla działania baz DAP jest protokół X.500. Został on zaprojektowany
do obsługi olbrzymich i skomplikowanych baz budowanych na potrzeby konkretnej organizacji
i przez ta˛ organizacj˛e. Ponieważ protokół X.500 jest skomplikowany, wymaga używania pro-
tokołów rodziny ISO, a jego implementacja trudna, stworzono jego prostsza˛ wersj˛e – jest nia˛
właśnie LDAP. Dzi˛eki temu protokół X.500 ( w zasadzie jego prostsza wersja) jest tak szeroko
używany.
Struktura katalogów w bazie jest znana dużej liczbie użytkowników, gdyż jest bardzo podobna do
hierarchii domen z systemu DNS. Każda organizacja (obecna w Internecie) należy do domeny,
której nazwa tworzy końcówk˛e adresu, np. .org, .info. Przed końcówka˛ określajac ˛ a˛ „korzeń”
domeny wyst˛epuje nazwa zwiazana ˛ z dana˛ instytucja˛ i jest ona unikalna w sieci. W ramach danej
organizacji może również wyst˛epować kilka poddomen, np. support, marketing.
Nazewnictwo i struktura katalogów w LDAP jest budowana na podobnej zasadzie. Pełna
nazwa obiektu w bazie DN (ang. distinguishedName) jest budowana z unikalnej nazwy obiektu
i nazwy organizacji. Na przykład użytkownik Jaś Kowalski mógłby istnieć w bazie LDAP jako
cn=Jaś Kowalski,dc=example,dc=company,dc=com. Skrót cn pochodzi od Common Name
a dc od Domain Component
LDAP może używać dwóch konwencji nazywania katalogów w swojej strukturze. Pierwsza,
prostsza, odzwierciedla nazwy DNS, tak jak w przykładzie powyżej. Druga, bardziej zwiazana ˛
z metoda˛ opracowana˛ dla X.500, opiera si˛e na położeniu geograficznym. Wówczas DN Jasia
Kowalskiego wygladałoby
˛ np. tak: cn=Jaś Kowalski, o =example company, I =Warsaw, st=woj.
mazowieckie, c=PL. Rysunek 7.8 przedstawia porównanie obu konwencji.
Bardziej popularne jest nazywanie obiektów analogicznie do nazw DNS. System ten jest
prostszy, a przy używaniu tych samych nazw w LDAP i DNS pozwala na łatwa˛ nawigacj˛e. Nale-
ży jednak pami˛etać, że te dwa systemy sa˛ rozłaczne
˛ i niezależne. Jeżeli domena DNS ma postać
example.company.com, to nic nie stoi na przeszkodzie, żeby obiekt w LDAP miał DN nast˛epu-
jace:
˛ dc=example, dc=company, dc=pl.
Niezależnie od tego, który system nazewnictwa jest stosowany, można jeszcze stworzy ć swój
własny. LDAP pozwala na coś takiego. Ważne jest tylko aby system był spójny i a nazwy od-
zwierciedlały prawidłowo, to co pod nimi ukryte.
Podstawowe usługi sieciowe 163
on=serwis on=serwis
Organization Unit
on=marketing on=marketing
Person
cn=Jan Kowalski uid=jan
7.7. Podsumowanie
W tym rozdziale zostało przedstawionych kilka serwisów, możliwych do spotkania w sieciach.
Cz˛eść z nich wyst˛epuje w zasadzie tylko w starszych sieciach, np. BOOTP. Inne z kolei sa˛ do-
piero w tej chwili wdrażane, np. LDAP. W niektórych sieciach, spośród wymienionych usług,
można jedynie si˛e natknać
˛ na DNS. Na pewno nie jest konieczne uruchamianie wszystkich wy-
mienionych lub niewymienionych serwisów. Łatwo bowiem zauważyć, że cz˛eściowo nakładaja˛
si˛e one na siebie i nie zawsze jest możliwe określenie efektu ich współpracy. Jeśli sa˛ rozsad-
˛
nie wykorzystywane, to na pewno ułatwiaja˛ korzystanie z sieci użytkownikom oraz ułatwiaja˛
jej administracj˛e. Należy również pami˛etać, że nie wszystkie informacje czy też dane można
przesyłać przy pomocy tych serwisów. Czasami trzeba wr˛ecz uruchomić dodatkowy serwer dla
jednej konkretnej dodatkowej usługi.
Bibliografia
[1] Balachander Krishnamurthy, Jennifer Rexford. Web Protocols and Practice. Addison–
Wesley, NewYork, 2001.
[2] M. Crispin. Internet Message Access Protocol – Version 4, December 1994. RFC 1730.
[3] ISO. ISO Transport Protocol Specification, April 1984. RFC 905.
[4] J. Myers, M. Rose. Post Office Protocol – Version 3, May 1996. RFC 1939.
[5] David L. Mills. Network Time Protocoli (Version 3) Specification, Implementation and Ana-
lysis, March 1992. RFC 1305.
[8] W. Yeong, T. Howers, S. Kille. Lightweight Directory Access Protocol, March 1995.
RFC 1777.
[9] Y. Pouffary, A. Young. ISO Transport Service on top of TCP (ITOT), March 1997. RFC 2126.
R OZDZIAŁ 8
Ochrona danych w sieci
165
166 8.1. Wirusy komputerowe
powstawały jako wynik nudów programistów. Pisali oni proste programiki, aby wykaza ć si˛e
swoimi umiej˛etnościami w zakresie programowania i wiedzy o komputerach. Wirusy wykonu-
ja˛ różne zadania. W zależności od zamysłu twórcy wirusa moga˛ to być zadania nieszkodliwe,
takie jak otwarcie okienka z mniej lub bardziej sensownym komunikatem jak i bardzo goź-
ne takie jak procedura formatowania dysku twardego. Wirusy wykorzystuja˛ luki w zabezpie-
czeniach systemów operacyjnych oraz oprogramowania użytkowego pracujacych ˛ na tych sys-
temach. Wirusy generalnie atakuja˛ systemy operacyjne stworzone przez firm˛e Microsoft czyli
systemy DOS/WINDOWS. Sa˛ też pojedyncze wirusy działajace ˛ w środowisku UNIX, ale poza
jednym przypadkiem z przed wielu lat nie wyrzadziły ˛ one wiele szkód. Wirusy sa˛ programami
binarnymi, czyli sa˛ wynikiem kompilacji programu napisanego w jednym z j˛ezyków programo-
wania jak – na przykład j˛ezyk C – lub zestawami instrukcji napisanych w j˛ezykach wysokiego
poziomu, które sa˛ wykonywane przez interpreter. Wirusy w postaci programów wykonywalnych
były popularne przed laty. Ich główna˛ droga˛ przenoszenia były dyskietki. Aby zarazi ć komputer
trzeba też było wykazać si˛e pewna˛ niefrasobliwościa˛ gdyż polecenie uruchomienia programu
z wirusem musiał wydać użytkownik. Wirus doklejał si˛e wtedy do innych programów wyko-
nywalnych. Skutki posiadania wirusa w systemie mogły si˛e ujawnić po wielu tygodniach lub
miesiacach.
˛ Mógł to być zwykły komunikat na ekranie jak i operacja kasowania dysku. Sposób
przenoszenia wirusów ograniczał ich zasi˛eg, ale w miar˛e popularyzowania si˛e usług sieciowych
zmieniała si˛e ich droga przenoszenia. Wirusy zacz˛eto rozsyłać np. za pomoca˛ poczty elektro-
nicznej. W przypadku wirusów w postaci binarnej użytkownik stosujacych ˛ si˛e do pewnych za-
sad był w stanie uniknać ˛ zarażenia komputera wirusem. Wystarczyło nie otwierać załaczników˛
poczty elektronicznej, które zawierały programy. Użycie poczty do transmisji wirusów spowo-
dowało ich szybkie rozprzestrzenianie si˛e po świecie. Pojawiły si˛e także nowe rodzaje wirusów
wykorzystujace˛ np. możliwość tworzenia makr w popularnym pakiecie Microsoft Office. Zagro-
żeniem stały si˛e wi˛ec nie tylko pliki zawierajace
˛ programy, ale też pliki, w których przesyłane sa˛
dokumenty. Dokumenty nadesłane od znanej osoby sa˛ traktowane jako bardzo ważne i odbior-
ca próbuje je otworzyć, co powoduje uruchomienie makra z wirusem. Bardziej zaawansowani
użytkownicy blokuja˛ możliwość uruchamiania makr w otrzymanym dokumencie. Ogranicza to
możliwość uruchomienia wirusa makrowego, ale go nie eliminuje. Dodatkowo, aby ułatwi ć ob-
sług˛e, poczty firma Microsoft dodała do swojego programu pocztowego szereg funkcji, które
w zamierzeniu miały ułatwić jego obsług˛e. Stały si˛e one pożywka˛ dla wirusów, gdyż pliki doła- ˛
czane do listu były automatycznie otwierane. Wystarczyło wi˛ec nadać list z wirusem a program
pocztowy automatycznie go otworzył i wirus si˛e uaktywniał. Kolejne generacje wirusów potrafia˛
coraz wi˛ecej. Sa˛ wyposażane we własne serwery pocztowe co pozwala im si˛e samodzielnie roz-
syłać. Potrafia˛ korzystać z ksiażek
˛ adresowych programów pocztowych. Wykorzystuja˛ je jako
źródło potencjalnych ofiar. Jako adres nadawcy potrafia˛ wybrać dowolny adres z ksiażki ˛ adre-
sowej. Utrudnia to przeci˛etnemu użytkownikowi poczty wykrycie fałszerstwa, gdyż dość cz˛esto
otrzymuje list od znanej sobie osoby, choć tytuł i treść sa˛ podejrzane. Obecne wirusy wykorzy-
stuja˛ do rozprzestrzeniania si˛e różne technologie sieciowe. Wykorzystywane sa˛ bł˛edy w j˛ezykach
skryptowych baz danych, współdzielone zasoby w systemie windows, dziury w oprogramowa-
niu oraz bł˛edy w protokołach komunikacyjnych takich jak na przykład sieci p2p (np. kaZaA).
Oprócz znanych możliwości niszczenia zasobów zgromadzonych na komputerach wirusy posia-
dły także możliwość zakłócania pracy sieci. Niektóre z nich – próbujac ˛ si˛e rozsyłać – generuja˛
spory ruch sieciowy. Zdarzały si˛e też takie, które rozprzestrzeniały si˛e po sieci tylko po to, by
określonego dnia przypuścić atak na wybrany popularny serwis sieciowy. Atak powodował blo-
Ochrona danych w sieci 167
kad˛e serwisu. Rozwój narz˛edzi programistycznych powoduje też szybkie powstawanie nowych
odmian tego samego wirusa. Najcz˛eściej wykorzystuja˛ t˛e sama˛ luk˛e w systemach do rozprze-
strzenia si˛e zmieniania jest natomiast dodatkowa funkcjonalność. Kolejne odmiany wirusów sa˛
zazwyczaj coraz bardziej groźne. I tak wirus, który wyświetlał napis w stylu "Witaj" może si˛e
zmienić w wirusa niszczacego
˛ dane na dysku. Wirusy zacz˛eto dzielić na różne kategorie. Naj-
cz˛eściej spotykanymi nazwami sa˛ robaki i trojany.
Robaki Robakami (ang. Worms) określa si˛e programy podobne do wirusów, które zostały
opracowane w celu szybkiego zainfekowania jak najwi˛ekszej liczby komputerów. Robaki roz-
przestrzeniajac
˛ si˛e poprzez sieć moga˛ z jednego zainfekowanego komputera rozprzestrzenić si˛e
do tysi˛ecy lub nawet milionów komputerów. Ich masowa reprodukcja powoduje ogromny ruch
w sieci. W symulacjach teoretycznego robaka o nazwie Warhol Worm stwierdzono, że w ciagu ˛
kwadransa jest możliwe zarażenie nawet 9 000 000 komputerów (patrz
http://www.opoka.org.pl/varia/internet/wirusy.html).
Konie trojańskie Konie trojańskie lub trojany swoja nazw˛e wywodza˛ ze starożytnej Troi. Sa˛
jakby współczesna˛ wersja˛ drewnianego konia trojańskiego. Miejscem ich operowania jest sieć
Internet. Po zainfekowaniu systemu nie czynia˛ w nim żadnych zniszcze ń a bardzo cz˛esto udaja˛
że robia˛ coś pożytecznego. Po uruchomieniu oczekuja˛ na polecenia z zewnatrz.
˛ W odróżnieniu
od typowego wirusa ich kod zawarty jest w dwóch plikach. W jednym jest kod "wirusa", który
jest instalowany na komputerze ofiary. W drugim pliku jest kod "sterownika" za pomoca,˛ któ-
rego można sterować trojanem na komputerze ofiary. Trojan daje możliwość przej˛ecia kontroli
nad komputerem ofiary. Zakres kontroli zależy od trojana a w zasadzie od jego twórcy. Trojan
sam w sobie nie jest groźny gdyż, jego szkodliwość jest zależna od osoby, która danego trojana
kontroluje. Cz˛esto może si˛e on ograniczyć do wyświetlenia głupiego komunikatu, ale nie należy
wykluczać działań bardziej destrukcyjnych.
Post˛epowanie użytkownika
Użytkownik może w dużej mierze ustrzec si˛e przed zarażeniem komputera wirusem niezależ-
nie od faktu, czy korzysta z komputera firmowego, czy też z komputera prywatnego. Główna˛
droga˛ – choć nie jedyna˛ – rozprzestrzeniania si˛e wirusów jest obecnie poczta elektroniczna. Jeśli
użytkownik nie odbiera podejrzanych przesyłek, to ma duże szans˛e na unikni˛ecie zarażenia kom-
putera wirusem. Dobra˛ metoda˛ jest też zmiana programu pocztowego z popularnego Outlocka
na inny. Wi˛ekszość wirusów rozprzestrzeniajacych
˛ si˛e poprzez poczt˛e korzysta z niedoskonało-
ści tego programu. Zastosowanie innego powoduje zmniejszenie ryzyka wpuszczenia wirusa do
komputera. Trzeba jednak pami˛etać, że wirusy dostaja˛ si˛e do komputera nie tylko poprzez pocz-
t˛e elektroniczna,˛ lecz także poprzez inne usługi. Pociaga˛ to za soba˛ konieczność zastosowania
dodatkowych narz˛edzi. Najcz˛eściej na komputerach instaluje si˛e programy antywirusowe.
Programy antywirusowe
Rozwiazania
˛ systemowe
Problem ochrony antywirusowej można podjać ˛ bardziej kompleksowo. Użytkownicy sieci moga˛
bronić si˛e sami, ale można także wspomóc ich. Identyfikujac ˛ sposoby przenoszenia si˛e wiru-
sów można spróbować przegrodzić im drog˛e, zanim dotra˛ do komputera ofiary. Skoro najwi˛ecej
wirusów roznoszonych jest poczta˛ to można zwalczać wirusy na serwerach pocztowych. Koszty
wdrożenia tego rozwiazania
˛ nie sa˛ małe, ale jest to opłacalne. Sprawdzenie już na serwerze pocz-
ty, czy list nie zawiera wirusa, pozwala na podj˛ecie akcji zanim list trafi do skrzynki. Najcz˛e ściej
list z wirusem trafia do kwarantanny lub jest kasowany. Systemy antywirusowe zainstalowane
na serwerach pocztowych pozwalaja˛ także wysłać list z ostrzeżeniem do nadawcy listu. Kontrola
antywirusowa poczty na serwerze pozwala także wdrożyć centralna,˛ niezależna˛ od użytkownika
polityk˛e post˛epowania z podejrzanymi przesyłkami. Użytkownik nie musi wiedzie ć, że przyszedł
do niego list. Tego typu polityka jest wdrażana w firmach. Centralny serwer pocztowy z syste-
men antywirusowym pozwala także na cz˛eściowa˛ rezygnacj˛e z programów antywirusowych na
stacjach klienckich. Jest to przydatne zwłaszcza w systuacji gdy w firmie pracuja˛ starsze kompu-
tery, na których instalacja programów antywirusowych jest niemożliwa. Operatorzy darmowych
i płatnych portali internetowych także wdrażaja˛ ochron˛e antywirusowa˛ poczty. Maja˛ jednak pro-
blem prawny co zrobić z listem, który zawiera wirusa. W przypadku firmy wystarczy jedno
polecenia właściciela i wszystkie zawirusowane listy moga˛ być kasowane. W przypadku portalu
zachodzi konflikt prawem użytkownika do zachowania poufności korespondencji, a konieczno-
ścia˛ świadczenia bezpiecznej usługi. Problem ten w każdym portalu jest inaczej rozwiazywany ˛
i regulowany przez regulamin, z którym należy si˛e zapoznać przed otwarciem konta poczty elek-
tronicznej.
Choć poczta elektroniczna jest jedna˛ z głównych dróg przenoszenia wirusów w sieci, to nie
jest jedyna.˛ Praktycznie każda z usług sieciowych może być wykorzystana przez wirusy. Powsta-
ja˛ wi˛ec narz˛edzia, które maja˛ usprawnić ochron˛e antywirusowa. ˛ Ograniczaja˛ si˛e one jednak do
najbardziej popularnych usług, jak na przykład serwisy www. Dost˛epne sa˛ też narz˛edzia, które
– po zinstalowaniu w sieci – potrafia˛ przegladać ˛ i analizować dane zanim trafia˛ do komputera
klienta. Tego typu rozwiazania
˛ stosuja˛ najcz˛eściej firmy, których sieci sa˛ dołaczone
˛ do Internetu.
Oprócz możliwości blokowania dost˛epu wirusom, interesujaca ˛ jest też możliwość blokowania
innych niechcianych treści, jak strony serwisów erotycznych. Podobne rozwiazania ˛ mogli by
wprowadzić operatorzy oferujacy ˛ dost˛ep do Internetu indywidualnym klientom. Nie robia˛ jed-
nak tego, gdyż przypomina to cenzurowanie treści.
Dla mniej popularnych usług raczej nie powstaja˛ specjalizowane narz˛edzia kontroli anty-
wirusowej. Wynika to rachunku ekonomicznego. Usług jest bardzo dużo i zrobienie dla każdej
z nich specjalizowanego narz˛edzia było by kosztowne, a rynek potencjalnych nabywców byłby
niewielki. Taniej wychodzi blokowanie za pomoca˛ firewali dost˛epu do zb˛ednych usług siecio-
wych.
Zasilanie Zasilanie w serwerowni powinno zapewnić prace serwera (serwerów) a także klima-
tyzacji. Powinno być także przewidziane zasilanie awaryjne całej serwerowni na wypadek awarii
zasilania podstawowego. W wielu firmach, zwłaszcza mniejszych, zdarza si˛e, że zasilanie awa-
ryjne nie zapewnia zasilania dla potrzeb klimatyzacji. Może to jednak spowodowa ć uszkodzenia
serwera lub serwerów, co może zakończyć si˛e zniszczeniem danych. Aby zapobiegać takim sy-
tuacjom, niektórzy producenci serwerów i urzadze ˛ ń sieciowych instaluja˛ w swoich urzadzeniach
˛
bezpieczniki temperaturowe, co cz˛eściowo rozwiazuje ˛ problem, choć bardziej całościowym roz-
wiazaniem
˛ były by czujniki zintegrowane z zasilaniem. Rozważajac ˛ problem zasilania najcz˛e-
ściej skupiamy si˛e na zasilaniu w energi˛e serwerowni oraz urzadze ˛ ń w niej zgromadzonych.
Tymczasem powinno si˛e podchodzić do tego bardziej kompleksowo. Jeśli dost˛ep do danych ma
być zapewniony co najmniej tak długo jak pracuja˛ serwery to należy zadbać o zasilanie urzadzeń˛
sieciowych ten dost˛ep zapewniajacych. ˛ Dobrze było by, aby obiekt, w którym zlokalizowana
jest serwerownia posiadał dwa niezależne podejścia energetyczne. Pozwala to utrzymać wi˛ek-
sza˛ bezawaryjność centrów danych, ale niesie za soba˛ dodatkowe koszty. Jeśli serwerownia jest
zabezpieczona różnymi zamkami elektrycznymi, to także należy zapewnić im odpowiednie za-
silanie. Jeśli si˛e o to nie zadba, to może si˛e okazać, że na skutek przerwy w zasilaniu zamki si˛e
otworza.˛
Zabezpieczenia antywłamaniowe Jeśli serwery nam si˛e nie spala,˛ to moga˛ stać si˛e łupem
złodziei. Najbardziej popularne sa˛ włamania i wykradanie danych poprzez sieć, ale nie należy
wykluczyć próby kradzieży całych serwerów lub przynajmniej dysków twardych z danymi. Cza-
sami jest to znacznie prostsze, niż włamanie poprzez sieć. Świadcza˛ o tym przypadki kradzieży
komputerów z ważnymi danymi z różnych firm czy agend rzadowych. ˛ Na taka˛ ewentualność na-
leży si˛e przygotować. Jeśli dane sa˛ bardzo ważne to można z serwerowni zrobić sejf. W wi˛ekszo-
ści wypadków powinna wystarczyć sprawna ochrona budynku oraz systemy alarmowe. Systemy
te powinny być ściśle powiazane
˛ z autoryzowanym dost˛epem do pomieszcze ń. To ostatnie jest
najtrudniej wymóc.
Lokalizacja Ważnym aspektem lokalizacji serwerowni oraz jej wyposażenia, a co za tym idzie
bezpieczeństwa danych, jest zapewnienie odporności na swojego rodzaju kl˛eski żywiołowe. Mo-
że si˛e okazać, że poniesione zostały ogromne koszty na zasilanie awaryjne, zapasowe serwe-
ry i inne rozwiazania,
˛ gdy tymczasem cała praca pójdzie na marne na skutek p˛ekni˛ecia rury
centralnego ogrzewania i zalania całej serwerowni. Ulewny deszcz oraz dziurawy dach potra-
fi wyrzadzić
˛ podobne szkody. Koszty działania serwerowni może także podnieść umieszczenie
172 8.2. Ochrona danych
serwerowni tak, że okna wychodza˛ na południe. Nie zawsze serwerownie sa˛ lokalizowane w po-
mieszczeniach bez okien. Słońce potrafi nagrzać takie pomieszczenie, co powoduje w systemie
klimatyzacji konieczność wi˛ekszego chłodzenia. To zaś powoduje zwi˛ekszenie poboru pradu.
˛ Zi-
ma˛ pomieszczenie serwerowni moga˛ zaś dogrzewać kaloryfery, cz˛esto całkowicie niepotrzebnie,
gdyż urzadzenia
˛ wydzielaja˛ wystarczajaco
˛ dużo ciepła potrzebnego do ogrzania pomieszczenia.
Nadmiar ciepła musi wi˛ec usunać˛ klimatyzacja, co znowu powoduje zwi˛ekszony pobór pradu.˛
Klimatyzacja Nowoczesne komputery wymagaja˛ stałej temperatury pracy oraz stałej wilgot-
ności. Takie warunki zapewnia klimatyzacja. Moc klimatyzacji powinna zapewnić możliwość
usuni˛ecia ciepła wytworzonego przez pracujace˛ urzadzenia.
˛ Dobrze jest zapewni ć rezerw˛e mocy
na urzadzenia,
˛ które moga˛ si˛e dopiero pojawić, jak również na niespodzianki typu dogrzewanie.
Klimatyzacja musi być też serwisowana. Może si˛e na niej skraplać woda, która kapiac ˛ może
spowodować zwarcia w zasilaniu.
Kopie zapasowe Dane z jakiegoś powodu moga˛ ulec zniszczeniu. Aby nie narazić firmy lub
siebie na całkowita˛ utrat˛e danych, które cz˛esto stanowia˛ podstaw˛e działalności, należy wykony-
wać kopie zapasowe. Już samo wykonywanie kopii jest skomplikowanym problemem technicz-
nym, szczególnie gdy system pracuje całodobowo. Zawartość danych w takim systemie ulega
ciagłym
˛ zmianom. W praktyce, aby wykonać kopie systemu na dana˛ chwil˛e należało by sys-
tem odłaczyć
˛ na czas wykonywania kopii. Nowe systemy operacyjne, jak np. Solaris 8, potrafia˛
zablokować stan plików na potrzeby wykonania kopii zapasowej bez konieczności przerywania
pracy systemu. Tworzenie kopii zapasowych powinno być ściśle określone w strategii ochro-
ny informatycznej. Nośniki, na których wykonywana jest kopia, powinny być udokumentowane
i właściwie przechowywane. Może si˛e okazać, że znacznie prościej b˛edzie ukraść zestaw taśm,
na których jest kompletna kopia systemu niż dokonać włamania do systemu poprzez sieć kom-
puterowa.˛ Taśmy lub inne nośniki z kopiami zapasowymi nie powinny być przechowane w tym
samym pomieszczeniu, w którym znajduja˛ serwery. Jest to wygodne, ale w wypadku jakiejś
katastrofy może okazać si˛e zgubne. Najlepiej kopie zapasowe trzymać w innym budynku. Jak
pokazały wydarzenia 11 września lub powodzie z przed kilku lat, wymóg ten wcale nie jest
przesadzony.
Procedury awaryjne System może ulec awarii i dane zostana˛ utracone, badź ˛ dost˛ep do nich
b˛edzie niemożliwy. Na taka˛ okoliczność należy utworzyć procedury awaryjne, które pozwola˛
przywrócić system do pracy. Procedury powinny być na bieżaco˛ aktualizowane. Podnosi to koszt
bieżacej
˛ obsługi systemu, bo ktoś musi nad tym czuwać, ale w przypadku awarii powinno wy-
datnie skrócić czas jej usuwania. Długość przerwy pracy może si˛e w przypadku firmy przenieść
na konkretne straty finansowe.
Zasady dost˛epu Zasady dost˛epu zostały już cz˛eściowo tu opisane. Firma musi mieć jasne
i określone procedury opisujace
˛ zasady dost˛epu do zarówno do centrów danych znajdujacych
˛ si˛e
w jej posiadaniu jak i do samych danych.
Ochrona danych w sieci 173
RAID 0 RAID 0 tzw. striping pozwala co najmniej dwa dyski twarde wykorzystać jako je-
den wspólny wolumen na dane, co pozwalana na poprawienie wydajności ale nie polepsza bez-
pieczeństwa. Poszczególne bloki danych sa˛ na przemian zapisywane na kolejnych dyskach, co
przyspiesza operacje zapisu. Przyspiesza także operacje odczytu, gdyż podczas pobierania da-
nych plik jest odczytywany z kilku dysków na raz. Dzi˛eki temu otrzymujemy lepsza˛ wydajność
transferu. Teoretycznie, transfer z dysków połaczonych
˛ w macierz RAID 0 powinien by ć ilo-
razem transferu najwolniejszego dysku i liczby dysków w macierzy. Rozmiar takiej macierzy
jest iloczynem pojemności najmniejszego dysku i liczby dysków. Czas dost˛epu do RAID 0 jest
równy lub niewiele wi˛ekszy od czasu dost˛epu do najwolniejszego dysku. System jest idealny
dla rozwiazań,
˛ gdzie najważniejsza jest wydajność macierzy, a nie bezpieczeństwo danych gdyż
awaria jednego z dysków powoduje utrat˛e danych w całym wolumenie. Przykładem miejsca,
w którym RAID 0 można z powodzeniem stosować, jest serwer proxy WWW.
RAID 5 RAID 5 - "striping with interspersed parity" - paskowanie dysków z bitami parzysto-
ści rozłożonymi na wszystkie dyski. W RAIDzie 5 informacje o parzystości sa˛ przechowywane
na wszystkich dyskach. RAID 5 zapewnia dość wysoki poziom bezpieczeństwa, korzystne trans-
fery i stosunkowo niskie koszty budowy takiej macierzy. Awaria jednego z dysków nie powoduje
utraty danych w systemie. Systemy RAID moga˛ być realizowane poprzez rozwiazania ˛ sprz˛etowe
oraz programowe. Rozwiazania ˛ programowe realizowane sa˛ poprzez systemy operacyjne. Ich za-
leta˛ jest niższy koszt, niż systemów sprz˛etowych, ale nie zapewniaja˛ one takiej wydajności, jak
systemy sprz˛etowe. Oprócz systemów ochrony danych zwiazanych ˛ z dyskami serwery można
wyposażyć w różnorodne dodatkowe rozwiazania.˛ Dobór właściwego rozwiazania
˛ powinien być
zwiazany
˛ z rachunkiem ekonomicznym. Serwery moga˛ być wyposażone w zduplikowane zasi-
lacze, matryce krzyżowe i inne systemy poprawiajace ˛ niezawodność. Możliwe jest także w celu
174 8.2. Ochrona danych
Kiedyś za taka˛ sieć uważało si˛e sieć LAN (Local Area Network). Sieci LAN były małe, obejmo-
wały jedno pi˛etro lub budynek. Dzisiaj sieć może obejmować wiele budynków na różnych krań-
cach świata. Sieci LAN buduja˛ firmy dla własnych potrzeb, powstaja˛ w sieciach osiedlowych.
Różne sa˛ cele budowy tych sieci. Firmom służa˛ one do wsparcia działalności biznesowej, a sieci
osiedlowe moga˛ służyć ich użytkownikom do zabawy. Sieć jest tak bezpieczna, jak bezpieczne
sa˛ komputery przyłaczone
˛ do niej. W przypadku firmy może istnieć centralna polityka określa-
jaca
˛ co na komputerze w sieci LAN może być zainstalowane, a co nie powinno być. Inaczej jest
w sieci osiedlowej. Pracuja˛ tam prywatne komputery i ich właściciele decyduja˛ co na nich jest.
Sieć LAN to nie tylko komputery i ich oprogramowanie; to także urzadzenia,
˛ które posłużyły do
jej zbudowania. Obecnie do budowy sieci LAN wykorzystuje si˛e urzadzenia ˛ pracujace
˛ w stan-
dardzie Ethernet. Standard ten oferuje szereg rozwiaza ˛ ń, które moga˛ podnieść bezpieczeństwo
sieci LAN.
8.3.1. VLAN-y
Sieć LAN można podzielić obecnie na mniejsze kawałki. Pozwala to na zgrupowanie użytkowni-
ków o określonych uprawnieniach we wspólnym LAN-ie. Takie wydzielone LAN-y można bu-
dować w oparciu o dedykowane urzadzenia
˛ dla poszczególnych LAN-ów, lub w oparciu o techni-
k˛e VLAN. Budowa LAN-ów z dedykowanym urzadzeniami˛ jest rozwiazaniem
˛ bardzo bezpiecz-
nym ale i kosztownym. Taniej jest budować sieci w oparciu o VLAN-y. Różne urzadzenia
˛ oferuja˛
różne techniki VLAN-ów. Najprostsza˛ z nich jest podział urzadze
˛ ń na segmenty. Poszczególne
porty sa˛ przypisane do poszczególnych segmentów. Dzi˛eki temu ruch pomi˛edzy dwoma kompu-
terami w różnych segmentach musi przejść poprzez urzadzenie
˛ filtrujace.
˛
IEEE 802.1Q
Do niedawna, problemem było rozszerzenie VLAN-ów na wszystkie urzadzenia.
˛ Standard IE-
EE 802.1Q pozwala budować jednolite VLAN-y w oparciu o urzadzenia
˛ różnych producentów.
Pozwala on zbudować 4096 VLAN-y, w obr˛ebie jednej sieci Ethernet.
Kabel koncentryczny Za pomoca˛ tego typu kabli budowano sieci w topologii szyny. Najcz˛e-
ściej używanym kablem był kabel RG 58. Wówczas poszczególne stacje sa˛ oddalone co najmniej
2,5 metra (liczonego po kablu). Maksymalna długość kabla wynosi 185 metrów. Sposób budo-
wy sieci w oparciu o kable koncentryczne powoduje poważne niebezpiecze ństwo. Każda stacja
podłaczona
˛ do kabla otrzymuje wszystkie pakiety, które pojawiaja˛ si˛e na kablu. Wystarczy wi˛ec
przejać˛ jeden z komputerów i za pomoca˛ oprogramowania typu sniffer można podsłuchiwa ć
dowolna˛ transmisje danych. Dodatkowym niebezpieczeństwem jest konieczność wykonania do-
brego uziemienia kabla. W warunkach polskich jest to trudne do uzyskania. Ponieważ kabel taki
Ochrona danych w sieci 177
łaczy
˛ komputery przyłaczone
˛ do różnych faz zasilania, wi˛ec pomi˛edzy kablem a komputerem
pojawiaja˛ si˛e duże różnice napi˛ecia. Moga˛ prowadzić one do uszkodzeń sprz˛etu, jak również
moga˛ stanowić zagrożenie dla osób pracujacych
˛ przy komputerach.
Skr˛etka kategorii 5 i 5+ Za pomoca˛ tego typu kabli buduj˛e si˛e obecnie wi˛ekszość okablowa-
nia strukturalnego. Sieć LAN zbudowana jest wtedy w topologii gwiazdy. W środku gwiazdy
ulokowane sa˛ urzadzenia
˛ aktywne. Ponieważ połaczenia
˛ sa˛ typu komputer – urzadzenie,
˛ to o da-
nych transmitowanych do komputera decyduja˛ urzadzenia
˛ aktywne. Istnieje także możliwość
podsłuchu, co jest transmitowane w kablu, za pomoca˛ specjalistycznych urzadze
˛ ń.
Urzadzenia
˛ sieci LAN
Sieci bezprzewodowe Buduje si˛e je tam, gdzie położenie kabli jest kosztowne i nie zawsze si˛e
opłaca. Z punktu widzenia sieci LAN najcz˛eściej stosuje si˛e standardy IEEE: 802.11, 802.11a,
802.11b i 802.11g. Centralnym urzadzeniem
˛ lokalnej sieci bezprzewodowej jest punkt dost˛e-
powy (ang. access point) wyposażony w anteny dookólne. Zasi˛eg sieci nie przekracza kilkuset
metrów. Tego typu sieć jest łatwa do podsłuchania. Zdarza si˛e, że nie potrzeba do tego żadnych
specjalnych urzadzeń.
˛ Mechanizmy bezpieczeństwa zastosowane dla celów autoryzacji użytkow-
ników okazały si˛e niewystarczajace.
˛ Zostały one poprawione w standardzie 802.11g, ale dopiero
okaże si˛e w praktyce na ile spełnia˛ swoje zadania.
Huby – jeszcze par˛e lat temu podstawowym urzadzeniem ˛ sieci LAN był hub czyli repeater.
Działanie huba jest proste. Pakiety otrzymane na jednym porcie wysyła do innych. Oznacza to, że
każdy komputer podłaczony
˛ do huba otrzymuje cały ruch przez niego przechodzacy. ˛ Wystarczy
wi˛ec, aby ofiara˛ włamywaczy stał si˛e jeden z komputerów, a po zainstalowaniu programu typu
sniffer b˛eda˛ mieli wglad
˛ do całej sieci. Niektóre huby miały możliwość zdalnego zarzadzania.
˛
Może to stanowić potencjalne niebezpieczeństwo, gdyż bardzo cz˛esto pozostawione sa˛ domyślne
hasła. Grozi to przej˛eciem kontroli nad urzadzeniem
˛ poprzez nieuprawnione osoby. Ponieważ
huby maja˛ dość ubogie możliwości zwiazane
˛ z zarzadzaniem,
˛ to stopień zagrożenia nie jest
wysoki. Może si˛e jednak zdarzyć że złośliwy włamywacz wyłaczy
˛ cz˛eść lub wszystkie porty na
hubie, co spowoduje przerw˛e w pracy sieci.
Przełaczniki
˛ Sa˛ to obecnie podstawowe urzadzeniami
˛ wykorzystywane do budowy sieci LAN.
Przełaczniki
˛ ucza˛ si˛e adresów MAC urzadze˛ ń przyłaczonych
˛ do ich poszczególnych portów. Po-
zwala im to na efektywne kierowanie pakietów. Otrzymany pakiet przełacznik ˛ wysyła wyłacz-˛
nie do urzadzenia,
˛ które ma go otrzymać. Utrudnia to możliwość podsłuchiwania, co si˛e dzieje
w sieci, przez dowolny komputer pracujacy ˛ w tej sieci. Przełaczniki
˛ można podzieli ć na dwie
grupy: zarzadzalne
˛ i niezarzadzalne.
˛ Przełaczniki
˛ niezarzadzalne,
˛ jak sama nazwa wskazuje, nie
maja możliwości zarzadzania.˛ Przenosza˛ tylko ruch w sieci. Przełaczniki
˛ zarzadzalne
˛ pozwa-
laja˛ na ustawienie różnych opcji zależnych od możliwości przełacznika.
˛ Najcz˛eściej możliwe
jest podzielenie przełacznika
˛ na VLAN-y oraz zbieranie statystyk ruchu z poszczególnych por-
tów. W cz˛eści przełaczników
˛ możliwe jest mirrorowanie ruchu jednego portu na drugi. Opcja
ta może być wykorzystana przez potencjalnego włamywacza do podsłuchania ruchu wybranego
178 8.4. Łacza
˛ WAN
8.4. Łacza
˛ WAN
Obecnie sieci LAN posiadaja˛ podłaczenia
˛ do Internetu lub połaczenia
˛ z innymi sieciami LAN.
Połaczenia
˛ te nie zawsze można zrealizować wykorzystujac ˛ technologi˛e sieci LAN. Rozwiazana
˛
sieci LAN maja˛ z reguły zbyt mały zasi˛eg. Połaczenia
˛ te można zbudować w oparciu o dzierżaw˛e
dedykowanych łacz.
˛ Moga˛ być to dzierżawione linie telefoniczne, światłowody, kanały cyfrowe,
linie napowietrzne. Każde z tego typu łacz˛ niosa˛ za soba˛ określone możliwości zapewnienia
bezpieczeństwa.
Linie telefoniczne
Linie telefoniczne nie oferuja˛ dużego pasma transmisji. Pozwalaja˛ na realizacj˛e krótkich łaczy
˛
rz˛edu kilometrów. Linie tego typu nie oferuja˛ wysokiego poziomu bezpiecze ństwa. Można je
w stosunkowo prosty sposób podsłuchiwać. Wystarczy zainstalować podsłuch obok linii gdzieś
na trasie jej przebiegu. Podsłuchy tego typu nie należa˛ do kosztownych. Wykrycie tego typu
podsłuchu może być bardzo trudne, a zatrudnienie ochrony do strzeżenia linii bardzo kosztowne.
Aby realizować bezpieczna˛ transmisje poprzez tego typu linie należy posłużyć si˛e technikami
kryptograficznymi – szyfrować dane.
Linie światłowodowe
Linie światłowodowe zapewniaja˛ duże pasmo transmisji na bardzo duże odległości. Same w so-
bie zapewniaja˛ wysoki poziom bezpieczeństwa. Jest je dość trudno podsłuchać. Do niedawna
nie było to w ogólne możliwe. Sa˛ one jednak dość kosztowne. Budowa tego typu linii lub ich
dzierżawa może być zbyt kosztowna dla pojedynczej firmy. Ponadto w warunkach polskich coraz
trudniej otrzymać dzierżaw˛e takich linii.
Kanały cyfrowe
Kanały cyfrowe zapewniaja˛ określona˛ przepływność pomi˛edzy dwoma punktami. Kanały może
zestawić operator telekomunikacyjny. Generalnie sa˛ dwa typy kanałów: kanały cyfrowe zesta-
wione dla potrzeb transmisji danych realizowane w technikach Frame Relay i ATM oraz kanały
zestawiane dla potrzeb transmisji głosu. Niezależnie od wyboru typu kanału, jego bezpiecze ń-
stwo jest zależne od operatora, od którego kanał jest dzierżawiony. W zasadzie najlepiej jest za-
łożyć, że kanał nie jest bezpieczny i dla podniesienia bezpiecze ństwa danych transmitowanych
poprzez kanał cyfrowy należy je szyfrować.
Linie napowietrzne
Obecnie na rynku dost˛epna jest szeroka gama urzadze
˛ ń pozwalajacych
˛ na zrealizowanie bezprze-
wodowej transmisji danych. Bezpieczeństwo tych rozwiazań
˛ jest zależne od użytych technik.
Ochrona danych w sieci 179
Jeśli transmisja b˛edzie realizowana za pomoca˛ technik laserowych, to jest szansa na ogranicze-
nie możliwości podsłuchu. W przypadku technik radiowych ograniczenie możliwości podsłuchu
jest bardzo trudne ze wzgl˛edu na rozproszenie wiazki.
˛ W zasadzie, aby unikna˛ć kłopotów należy
transmitowane dane szyfrować.
8.5.2. Routery
Urzadzeniami,
˛ które realizuja˛ połaczenia
˛ mi˛edzysieciowe, sa˛ routery. Usytuowanie routerów na
styku sieci LAN z Internetem lub pomi˛edzy sieciami LAN czyni z niego bardzo ważny element
bezpieczeństwa. Wi˛ekszość routerów jest optymalizowana pod katem ˛ transmisji pakietów IP.
Bardzo cz˛esto jako funkcj˛e dodana˛ posiadaja˛ one możliwość zakładania tzw. list dost˛epu (ang.
access list). Pozwalaja˛ one na tworzenie różnych filtrów. Filtry tworzone na routerach moga˛ wy-
korzystywać pola zawarte w nagłówkach protokołu IP oraz TCP i UPD. Filtry moga˛ obniżać
wydajność routera, gdyż każdy pakiet przed przesłaniem musi być przeanalizowany pod ka- ˛
tem zgodności z filtrem. Im dłuższy filtr, tym przetwarzanie pojedyńczego pakietu trwa dłużej.
Przydatnym filtrem, który można zastosować na routerach, jest filtr antyspofingowy. Pozwala on
na ograniczenie znacznej ilości ataków wykonywanych na sieć. Router jako urzadzenia ˛ pośred-
niczace˛ w transmisji pakietów pomi˛edzy sieciami musi być także urzadzeniem ˛ bezpiecznym.
Routery maja˛ możliwość zdalnego zarzadzania,
˛ co może pozwolić nieuprawnionym osobom na
przej˛ecie kontroli nad nimi. Jeśli jest to możliwe należy cz˛esto zmieniać domyślne ustawienia
zwiazane
˛ z hasłami, a także utworzyć filtry, które ogranicza˛ możliwość zdalnego zarzadzania
˛
tylko to wybranych komputerów. Routery wymieniaja˛ z innymi routerami tablice routingu. Czy-
nia˛ to za pomoca˛ protokołów routingu. Za pomoca˛ takich protokołów można podesła ć fałszywe
tablice. Nieautoryzowanych zmian w tablicach routingu można uniknać ˛ stosujac
˛ mechanizmy
bezpieczeństwa zawarte w protokołach dynamicznego routingu. Protokoły takie jak RIP-2 czy
OSPF pozwalaja˛ na autoryzacj˛e rozsyłanych tablic. Pozwala to uniknać ˛ zaakceptowania fałszy-
wych danych. W wi˛ekszości routerów można też określić, poprzez które to interfejsy b˛eda˛ wy-
mieniane informacje o routingu. W połaczeniu
˛ z filtrami pozwala to na ograniczenia do minimum
możliwości zaakceptowania przez router fałszywych tablic routingu.
8.5.3. Firewall
Termin firewall czyli ściana ogniowa pochodzi z techniki budowlanej. Terminem określa si˛e
specjalnie skonstruowana˛ ścian˛e, która ma zapobiegać rozprzestrzenianiu si˛e ognia. W sieciach
komputerowych terminem firewalla określa si˛e oprogramowanie, które jest usytuowane na sty-
ku sieci LAN z inna˛ siecia˛ np. Internetem i ma zapobiegać przedostawaniu si˛e pożaru z innej
sieci do chronionej sieci LAN. Usytuowania firewalla jest podobne jest do usytuowania routera.
Z tego powodu firewall dość cz˛esto jest lokowany tuż za routerem lub wyst˛epuje jako połacze-
˛
nie funkcjonalności routera i firewalla w jednym pudełku. Firewall podobnie jak router posiada
możliwość filtrowania pakietów. Zasadnicza różnica jest w możliwości pami˛etania stanu sesji.
Filtr pakietów z pami˛ecia˛ określa si˛e mianem statefull inspection. Tego typu filtr pozwala na
pełniejsza˛ kontrol˛e przechodzacych
˛ pakietów. Jeśli zostana˛ wykryte pakiety nie przynależne do
Ochrona danych w sieci 181
danej lub do żadnej, sesji to moga˛ być ignorowane. W wypadku resetu firewalla wszystkie sesje
sa˛ zrywane i musza˛ być od poczatku˛ zainicjowane.
Mimo, że przyjmuje si˛e, że firewall broni dost˛epu z zewnatrz
˛ do chronionej sieci, to jednak
równie dobrze może blokować dost˛ep na zewnatrz ˛ sieci. Ta właściwość pozwala na określenie,
jakie usługi moga˛ być udost˛epniane z sieci LAN. Te możliwości techniczne firewalla pozwalaja˛
na zbudowanie polityki dost˛epu, która zawiera co ma być z chronionej sieci dost˛epne na zewnatrz˛
jak również co zewnatrz
˛ jest dost˛epne w sieci.
Na firewallach integruje si˛e także szereg innych usług. Firewalle sa˛ obecnie bramami VPN,
pozwalaja˛ autoryzować użytkowników oraz logować zdarzenia. Potrafia˛ także przekierowywać
ruch z niektórych usług. Przykładem może być poczta elektroniczna. Bardzo cz˛esto firewall prze-
kierowuje ruch z poczty elektronicznej do specjalnego hosta, na którym działa skaner antywiru-
sowy lub filtr antyspamowy. Pozwala to lepiej chronić sieć.
Firewalle potrafia˛ także realizować usługi zwiazane
˛ z translacja˛ adresów. Ponieważ adresów
IP zaczyna brakować to w sieciach LAN, powszechne si˛e stało używanie adresów prywatnych
(klasy 172.16.0.0 – 172.31.255.255, 10.0.0.0 - 10.255.255.255, 192.168.0.0 – 192.168.255.255).
Aby jednak możliwy był dost˛ep z sieci LAN wykorzystujacej ˛ prywatna˛ pul˛e adresów, stosuje
si˛e techniki NAT ( ang. Network Address Translation) oraz PAT (ang. Port Adress Translation).
Pozwalaja˛ one komputerom z niepublicznymi adresami IP korzystać z Internetu. Użycie prywat-
nych adresów w sieci LAN podnosi jej bezpieczeństwo. Niemożliwe jest bowiem dostanie si˛e
z Internetu do dowolnego komputera. Zagrożone sa˛ wylacznie ˛ komputery, które w jakiś sposób
sa˛ widoczne w sieci Internet.
Podstawowym założeniem przy stosowaniu firewalli jest to, że sieci można podzielić na cz˛eść
bezpieczna˛ i "obca"˛ niebezpieczna.˛ Firewall chroni bezpieczna˛ przed atakami z sieci niebez-
piecznej - obcej ale nie chroni przed atakami, których źródło znajduje si˛e wewnatrz˛ bezpiecznej
sieci.
NAT
NAT jest technika˛ mapowania adresu IP na adres IP w skali 1 do 1. Oznacza to, że aby udost˛epni ć
dost˛ep wszystkim komputerom z sieci LAN, musielibyśmy posiadać tyle adresów, ile mamy
komputerów. W tym momencie numeracja przy użyciu prywatnych adresów IP traci nieco sens.
Numeracja 1 do 1 odkrywa przed potencjalnym napastnikiem cała˛ nasza˛ sieć. Technika NAT
ma sens stosowania w odniesieniu do serwerów. W przypadku komputerów jako użytkowników
sieci jest ona zbytnia˛ rozrzutnościa.˛
PAT
PAT albo IP Masquerading pozwala na mapowanie 1 do wielu. Pozwala to wielu komputerom
posiadajacych
˛ prywatne adresy IP korzystać z dost˛epu do Internetu. W technice tej wykorzysty-
wany jest fakt, że sesja TCP/IP składa si˛e z par (adres źródła, port źródła) (adres docelowy, port
docelowy). W przypadku translacji NAT na urzadzeniu˛ realizujacym
˛ translacj˛e podmieniany jest
tylko adres źródłowy, natomiast w przypadku translacji PAT podmieniany jest adres źródłowy
i port źródłowy. Ponieważ portów może być ponad 65 000, to teoretycznie tyle komputerów mo-
że być ukrytych za jednym adresem IP. PAT ukrywa struktur˛e sieci LAN przed potencjalnym
napastnikiem. Nie łatwo jest określić, ile komputerów jest schowanych za pojedynczym adre-
182 8.5. Bezpieczne połaczenia
˛ sieci
10.0.0.1,2345 193.4.5.7,2345
175.10.2.7,80 175.10.2.7,80
175.10.2.7,80 175.10.2.7,80
10.0.0.1,2345 193.4.5.7,2345
NAT
10.0.0.2,2345 193.4.5.8,2345
175.10.2.7,80 175.10.2.7,80
175.10.2.7,80 175.10.2.7,80
10.0.0.2,2345 193.4.5.8,2345
10.0.0.1,4368 193.4.5.6,23456
175.10.2.7,80 175.10.2.7,80
175.10.2.7,80 175.10.2.7,80
10.0.0.1,4368 193.4.5.7,23456
PAT
10.0.0.2,1683 193.4.5.6,15307
175.10.2.7,80 175.10.2.7,80
175.10.2.7,80 175.10.2.7,80
10.0.0.2,1683 193.4.5.8,15307
8.5.4. Proxy
Serwer proxy jest to program wyst˛epujacy ˛ w roli pośrednika dla innego programu działajacego ˛
na innym komputerze. Serwery proxy moga˛ być także pośrednikami dla konkretnych protoko-
łów. Najcz˛eściej spotykanymi sa˛ serwery proxy dla www. Zasada działania serwera proxy jest
bardzo prosta. Program żadaj
˛ acy
˛ dost˛epu do danych przesyła swe zapytanie do serwera proxy
a on wysyła je w świat – do komputera, który wysłał zapytanie. Serwer proxy może być jaw-
nie zdefiniowany w konfiguracji programu, lub też przekierowanie zapyta ń do serwera proxy
może być realizowane przez router lub firewall bez wiedzy użytkownika programu. W takiej sy-
tuacji serwer proxy określa si˛e jak transparent proxy. Serwery proxy ukrywaja˛ przed światem
zewn˛etrznym wewn˛etrzna˛ struktur˛e sieci. Moga˛ także poprawiać jakość pracy sieci. Np serwery
proxy www moga˛ zapisywać na dyskach wyniki zapytań, a na nast˛epne zapytanie odpowiadać
korzystajac
˛ z już zgromadzonych danych. Powoduje to zmniejszenie ruchu na łaczu ˛ do Internetu
(patrz rysunek 8.4).
Ochrona danych w sieci 183
8.5.7. UTM
UTM (ang. Unified threat management jest terminem określajacym ˛ nowa˛ klas˛e urzadzeń
˛ do
realizacji komplesowej ochrony sieci. Urzadzenia
˛ te w jednej skrzynce łacz ˛ a˛ w sobie funckje
firewall-a, bramy VPN, systemu IDS, sytemu chrony antywirusowej i inne. Zakres funckji jest
zwiazany
˛ z producenem konkretnego rozwiazania.
˛ Ich najwi˛eksza˛ zaleta˛ jest kompleksowość re-
alizowanej ochrony oraz łatwość zarzadzania.
˛ Niestety właczenie
˛ wszystkich dost˛epnych funkcji
ochronnych najcz˛eściej powoduje spadek ich wydajności.
8.6. Kryptografia
Ponieważ prawie niemożliwe jest zbudowanie sieci, w której nie dało by si˛e zrealizowa ć podsłu-
chu, trzeba pomyśleć o innym sposobie zabezpieczenia transmisji. Z pomoca˛ przychodza˛ techni-
ki kryptograficzne. Nie zabezpieczaja˛ one w 100 % transmisji, ale utrudniaja˛ możliwość jej od-
czytania w momencie przechwycenia. Techniki kryptograficzne dostarczaja˛ także mechanizmy
potwierdzania tożsamości oraz integralności przesyłanych danych. Najcz˛eściej kryptografia jest
kojarzona z szyfrowaniem. Dane lub tekst w postaci jawnej sa˛ przekształcane za pomoca˛ funkcji
szyfrujacej
˛ do postaci zaszyfrowanej. Z przekształceniem tym zwiazany˛ jest jakiś klucz lub para
kluczy. Przekształcenie to może być jednokierunkowe lub dwukierunkowe. W przypadku prze-
kształceń jednokierunkowych bardzo trudne jest odzyskanie tekstu jawnego z zaszyfrowanego
tekstu. Jest to wykorzystywane przy przechowywaniu haseł. Szyfry dwukierunkowe pozwalaja˛
odtworzyć tekst jawny z zakodowanej informacji. W zależności od użytego algorytmu szyfro-
wania możliwe jest odzyskanie treści wiadomości za pomoca˛ tego samego klucza (szyfry sy-
metryczne) lub innego klucza z pary (szyfry asymetryczne). Poniżej sa˛ omównione podstawowe
poj˛ecia zwiazane
˛ z kryptografia.˛
Szyfr – jest to algorytm oraz klucz. Algorytm to umowny sposób zamiany tekstu jawnego
na tekst zaszyfrowany. Algorytm określa przekształcenie, które zostanie wykonane przy uży-
ciu klucza. Ilustruje to nast˛epujacy
˛ przykład algorytmu: bierzemy znak tekstu, odszukujemy go
w tekście gazety. Zliczamy, który to jest znak i zamieniamy na numer jego wystapienia.˛ Klu-
czem, który zostanie użyty do szyfrowania b˛edzie gazeta. Jak widać algorytm jest prosty i każdy
może go poznać, ale aby zaszyfrować i odszyfrować tekst potrzebne jest te same wydanie gazety.
W technice cyfrowej mamy do czynienia z bitami. Kluczem najcz˛e ściej jest jakaś liczba losowa
o określonej długości. Najcz˛eściej spotykane wartości to 40, 64, 128, 512 lub 1024 bity. Można
przyjać,
˛ że im dłuższy klucz, tym zaszyfrowana wiadomość jest trudniejsza do odczytania przez
osoby nieupoważnione.
186 8.6. Kryptografia
Funkcja skrótu - tworzy unikalna˛ dla danej wiadomości sum˛e kontrolna. ˛ Wiadomość może
mieć dowolna˛ długość, funkcja skrótu wygeneruje zawsze liczb˛e o ustalonej długości (np. 126
lub 160 bitów). Funkcja skrótu uzyskana bezpiecznym algorytmem (np. SHA-1) ma dwie bardzo
ważne własności: każda zmiana w wiadomości (nawet jednego bitu) powoduje nieprzewidywal-
na˛ zmian˛e wartości skrótu oraz praktycznie niemożliwe jest obliczenie oryginalnej wiadomości
na podstawie jej skrótu (jednokierunkowość). Dodatkowo dwie różne wiadomości nie powinny
"wygenerować" takiej samej wartości funkcji skrótu. W praktyce nie jest to możliwe do zapew-
nienia. Im mniejsze jest prawdopodobieństwo otrzymania powtórzenia wartości skrótu z różnych
wiadomości tym funkcja jest lepsza. Funkcje skrótu sa˛ wykorzystywane przy sprawdzaniu za-
chowywania integralności przesyłanych danych.
Szyfr asymetryczny Powstał w wyniku prac matematycznych nad teoria˛ liczb i funkcji asyme-
trycznych, czyli takich, które łatwo obliczyć (zakodować), ale bardzo trudno obliczyć ich funkcja˛
odwrotna˛ (złamać kod). W efekcie złamanie kodu asymetrycznego o dostatecznie długości klu-
czy może wymagać pracy najsilniejszych komputerów świata przez setki lat. W praktyce, szyfr
asymetryczny to szyfr z para˛ kluczy: prywatnym (znanym tylko jego właścicielowi) i publicznym
(dost˛epnym dla każdego), obydwa klucze sa˛ ze soba˛ powiazane
˛ matematycznie. Wiadomość za-
szyfrowana jednym z kluczy (publicznym) może być rozszyfrowana tylko drugim (prywatnym),
co pozwala na bezpieczna˛ korespondencj˛e w kierunku "świat zewn˛etrzny" - właściciel klucza
prywatnego. W przypadku podpisu cyfrowego nast˛epuje zamiana: nadawca szyfruje skrót wia-
domości kluczem prywatnym, a każda zainteresowana osoba może go zweryfikowa ć kluczem
publicznym.
SSL
SSL jest protokołem opracowanym przez firm˛e Netscape. Jest on otwartym standardem, dzi˛eki
czemu jest zaimplementowany mi˛edzy innymi w wi˛ekszości przegladarek ˛ internetowych. Obec-
nie sa˛ w użyciu dwie specyfikacje tego protokołu wersja: 2.0 i 3.0. Protokół SSL zapewnia trzy
podstawowe funkcje:
prywatność - dane transmitowane przy użyciu protokołu SSL sa˛ szyfrowane; obejmuje
to też potwierdzenie tożsamości serwera za pomoca˛ certyfikatów cyfrowych, co utrudnia
możliwość podszycia si˛e pod serwer;
integralność przesyłanych danych przy użyciu sum kontrolnych - utrudnia to dokonanie
wandalizmu na transmitowanych danych.
SSL pierwotnie został opracowany do zabezpieczenia transmisji pomi˛edzy serwerem a przegla- ˛
darka WWW. Pierwsza˛ przegladark ˛ a,˛ która posiadała wsparcie dla SSL była przegladarka
˛ firmy
Netscape. Ponieważ na stosie protokołów TCP/IP warstwa SSL znajduj˛e si˛e pomi˛edzy warstwa˛
aplikacji a warstwa˛ transportowa, ˛ to możliwe jest wykorzystanie protokołu SSL dla różnych
aplikacji. Umieszczenie SSL nad stosem TCP/IP pozwala wykorzystać istniejace ˛ internetowe
Ochrona danych w sieci 187
standardy bez konieczności ustawienia SSL jako protokołu aplikacji. SSL jest obecnie wykorzy-
stywany przez wiele aplikacji, jak telnet czy ftp.
Za pomoca˛ protokołu SSL klient może potwierdzić tożsamość serwera, do którego si˛e łaczy. ˛
W tym celu protokół SSL korzysta z algorytmu RSA, oraz certyfikatów nadawanym serwerom
przez jedna˛ z niezależnych organizacji certyfikujacych
˛ ( Thawte, Verisign). Organizacje te maja˛
upoważnienie od RSA Data Security Inc. właściciela algorytmu szyfrowania RSA. Oczywiście,
aby otrzymać certyfikat należy wystapić
˛ o jego otrzymanie. Certyfikat taki jest podpisany przez
organizacj˛e, która go wydała. Wi˛ekszość przegladarek
˛ posiada list˛e centrów certyfikujacych
˛ i jest
w stanie automatycznie zweryfikować poprawność certyfikatu serwera, z którym połaczenie˛ na-
st˛epuje. Ponieważ certyfikaty podpisywane przez organizacje certyfikujace ˛ sa˛ płatne, wi˛ec nie
zawsze sa˛ stosowane. Każda organizacja może samodzielnie wygenerować certyfikat. W takim
wypadku, po uzyskaniu połaczenia
˛ z serwerem należy certyfikat obejrzeć i samodzielnie podjać ˛
decyzje o akceptacji.
W czasie transmisji danych wykorzystywany jest jednorazowy klucz sesji. Aby go uzgodni ć,
program klienta oraz serwer wykorzystuja˛ technik˛e kluczy publicznych. W uproszczeniu me-
chanizm ustanawiania sesji wyglada ˛ nast˛epujaco:
˛
klient wysyła komunikat Client.Hello zawierajacy ˛ informacje o kliencie oraz klucz pu-
bliczny (najcz˛eściej generowany w czasie instalacji);
serwer analizuje dane. Jeśli wersja SSL oraz mechanizmy szyfrowania si˛e zgadzaja,˛ od-
syła zaszyfrowany kluczem publicznym klienta komunikat Server.Hello. W odpowiedzi
znajduje si˛e klucz publiczny serwera;
klient po otrzymaniu odpowiedzi odsyła komunikat zawierajacy ˛ żadanie
˛ przesłania klucza
sesji. Komunikat jest zaszyfrowany za pomoca˛ klucza publicznego serwera;
po otrzymaniu komunikatu od klienta serwer odsyła zaszyfrowany kluczem publicznym
klienta klucz sesji, który b˛edzie wykorzystany do transmisji danych.
Ten sposób przekazywania klucza jest wykorzystywany nie tylko przez SSLa. Można go spotka ć
także w innych technikach kryptograficznych używanych w Internecie.
pewniej w niedalekiej przyszłości stosowanie klucza 128 bitowego też nie b˛edzie rozwiazaniem
˛
gwarantujacym
˛ rozsadny
˛ poziom bezpieczeństwa.
8.6.1. VPN
Sieć komputerowa pozwala na zdalny dost˛ep do zasobów. Nie zawsze wymiana danych pomi˛e-
dzy komputerami odbywać si˛e b˛edzie za pomoca˛ protokołu http z szyfrowaniem SSL. Może
si˛e zdarzyć konieczność użycia użycia innych aplikacji, np. już działajacych
˛ w sieciach LAN.
Koszty modyfikacji aplikacji tak by – na przykład – korzystały z mechanizmów protokołu SSL
moga˛ okazać si˛e bardzo duże. Rozwiazaniem
˛ dla tej sytuacji jest zastosowanie technik VPN
(ang. Virtual Private Network).
Koncepcja VPN
VPN - jest rozszerzeniem prywatnej sieci LAN najcz˛eściej chronionej firewallem na wybrane
komputery znajdujace
˛ si˛e w sieci publicznej. Osiagane
˛ jest to za pomoca˛ dwukierunkowych
kanałów służacych
˛ transmisji danych przez sieci publiczne (najcz˛e ściej Internet) z zachowa-
niem bezpieczeństwa przesyłanych danych. Podczas transmisji poprzez kanał dane sa˛ szyfro-
wane, dzi˛eki czemu nawet po ich przechwyceniu przez niepowołane osoby ich odczytanie jest
bardzo utrudnione, a czasami prawie nie możliwe, gdyż proces deszyfrowania wymaga użycia
odpowiedniego klucza. W ramach koncepcji VPN możliwe jest sprawdzanie tożsamości zdalne-
go użytkownika poprzez uwierzytelnianie kryptograficzne. Dodatkowo, dane sa˛ szyfrowane oraz
enkapsulowane w pakietach IP, co pozwala na przeźroczyste przenoszenie danych transmitowa-
nych w różnych protokołach.
Architektura VPN
Standardy VPN
Patrzac
˛ na siedmiowarstwowy model ISO/OSI można przyjać, ˛ że sa˛ trzy kategorie VPN-ów.
W warstwie drugiej można umieścić produkty oparte na protokołach PPTP (Point-to-Point Tun-
neling Protocol) i L2TP (Layer 2 Tunneling Protocol), które obecnie sa˛ stosowane w wi˛ekszości
połaczeń
˛ wirtualnych sieci prywatnych. W warstwie trzeciej można umieścić produkty zbudowa-
ne na protokole IPSec. Produkty VPN warstwy czwartej wykorzystuja˛ również kapsułkowanie
i szyfrowanie, ale produkty zwiazane
˛ z ta˛ warstwa˛ sa˛ mniej uniwersalne, gdyż zapewniaja˛ moż-
liwość bezpiecznej transmisji danych dla konkretnej aplikacji, np. poczty elektronicznej.
190 8.6. Kryptografia
L2TP (Layer 2 Tunneling Protocol) L2TP jest dziełem organizacji zajmujacej ˛ si˛e standary-
zacja˛ w Internecie IETF (Internet Engineering Task Force). Powstał poprzez połaczenie
˛ PPTP
oraz L2F (Layer 2 Forwarding), który to opracowała firma Cisco. L2F zaprojektowany przez Ci-
sco Systems jest przeznaczone głównie do obsługi transmisji mi˛edzy routerami. Protokół L2TP,
podobnie jak PPTP, pozwala na transport ramek PPP (Point-to-Point Protocol). Zaleta˛ L2TP jest
możliwość transmisji danych po sieci IP, lecz również po sieciach X.25, Frame Relay oraz ATM
(Asynchronous Transfer Mode).
IPSec (Internet Protocol Security) IPSec powstał z inicjatywy firmy Cisco System jest proto-
kołem warstwy trzeciej i jak sama nazwa wskazuje zapewnia szyfrowanie na poziomie protoko-
łu IP. IPSec tak naprawd˛e nie jest protokołem, tylko zbiorem otwartych standardów. W ramach
standardów IPSec zdefiniowanych jest kilka nowych formatów pakietów: nagłówek autentyka-
cyjny (authentication header AH), który zapewnia integralność przesyłanych danych, oraz obszar
danych - encapsulating security payload (ESP), zapewniajacy ˛ dodatkowo poufność transmisji.
Parametry IPSec pomi˛edzy dwoma urzadzeniami˛ moga˛ być negocjowane poprzez centralna˛ jed-
nostk˛e Internet Key Exchange (IKE, znana˛ wcześniej jako Internet Security Association Key
Management Protocol, lub ISAKMP/Oakley). IKE używa cyfrowych certyfikatów do autoryza-
cji urzadzenia,
˛ umożliwiajac
˛ tworzenie dużych sieci wirtualnych. Możliwe jest użycie statycznie
zdefiniowanych współdzielonych kluczy zamiast certyfikatów. Zastosowanie tego do dużych sie-
ci jest raczej trudne w realizacji, gdyż dla każdego połaczeniu
˛ należało by wygenerowa ć oddziel-
na˛ par˛e kluczy. IPSec jest zaprojektowany do bezpiecznego tworzenia tuneli przez sie ć IP mi˛edzy
ochranianymi sieciami lokalnymi, lub pomi˛edzy klientem a siecia˛ chroniona.˛ IPSec wykorzystu-
je w transmisji 168-bitowe szyfrowanie Triple DES, a także umożliwia szyfrowanie pakiet po
pakiecie.
IPSec pracuje w dwóch trybach, transportowym i tunelowym (tunnel mode) – szczegóły na
rysunku 8.5. W trybie transportowym kodowane sa˛ w pakiecie wyłacznie ˛ dane, natomiast ory-
ginalny nagłówek IP pozostaje niezmieniony. Powoduje to konieczność dodania kilku bajtów
do każdego pakietu. Nieruszony nagłówek IP umożliwia urzadzeniom˛ sieci publicznej określa-
nie adresu poczatkowego
˛ i docelowego każdego pakietu. Pozwala to urzadzeniem
˛ pośrednim
bezproblemowo przetwarzać dodatkowe informacje z nagłówka IP (np. informacje o gwarancji
jakości usług). Z drugie strony, pozostawienia niezakodowanego nagłówka umożliwia nieautory-
zowanym użytkownikom prowadzenie analizy ruchu pomi˛edzy poszczególnymi w˛ezłami. Maja˛
Ochrona danych w sieci 191
Tryb Tunelowy
Nag³ówek
IP DANE
Zaszyfrowane
Tryb Transportowy
Nag³ówek DANE
IP
Nag³ówek Nag³ówek
IP IPSec DANE
Zaszyfrowane
W trybie tunelowym oryginalny pakiet wejściowy IP jest w całości szyfrowany, stajac ˛ si˛e
zawartościa˛ z danymi w nowym pakiecie IP. Tryb ten umożliwia urzadzeniom˛ sieciowym prac˛e
jako IPSec proxy. IPSec proxy przejmuje niezaszyfrowany ruch od hostów, szyfruje go i wy-
syła wzdłuż tunelu IPSec. IPSec proxy na drugim końcu tunelu deszyfruje oryginalny pakiet
IP i przesyła go do docelowego miejsca w systemie. Główna˛ zaleta˛ tego rozwiazania ˛ jest fakt,
że docelowe systemy nie musza˛ być modyfikowane, by korzystać z usług IPSec. W trybie tu-
nelowym prawie niemożliwe jest dokonanie analizy ruchu poprzez osoby nieuprawnione, gdyż
w tym trybie można jedynie określić końce tunelu, a nie właściwego nadawc˛e i odbiorc˛e infor-
macji. Z drugiej strony, jeśli oryginalny nagłówek IP zawierał dodatkowe informacje o jakości
ruchu stana˛ si˛e one niewidoczne dla hostów pośredniczacych
˛ w transmisji.
Security Association (SA bezpieczne połaczenie)
˛ jest relacja˛ pomi˛edzy dwoma lub wi˛ecej
jednostkami, która określa w jaki sposób jednostki używać b˛eda˛ systemów zabezpieczeń do
bezpiecznej komunikacji. Security Association jest relacja˛ jednokierunkowa. ˛ Oznacza to, że dla
każdej pary komunikujacych
˛ si˛e urzadze
˛ ń należy zdefiniować przynajmniej dwa bezpieczne po-
łaczenia
˛ - z A do B i z B do A. Security Association jest para˛ składajac ˛ a˛ si˛e z losowo wybranego
numeru Security Parameter Index (SPI) i adresu IP odbiorcy. Kiedy system wysyła pakiet, który
wymaga ochrony IPSec, przeglada ˛ SA w swojej bazie, uruchamia odpowiedni proces i wtedy
wkłada właściwy SPI do nagłówka IPSec. Kiedy w˛ezeł wyposażony w IPSec otrzymuje pakiet,
przeglada
˛ SA po adresie docelowym i SPI w swojej bazie i wtedy analizuje pakiet IPSec posia-
da mechanizmy stwierdzajace, ˛ czy SA jest ustawione, natomiast samo z siebie nie ma mecha-
192 8.7. Autoryzacja i potwierdzanie tożsamości
Bezpieczne hasła
Sposób przechowywania haseł nie pozwala na ich łatwe odczytanie. Niestety pami˛e ć ludzka
jest zawodna i jako hasło wybiera si˛e proste w zapami˛etaniu teksty. Najcz˛e ściej sa˛ to trywial-
ne hasła typu imi˛e żony, dziecka czy teściowej. Takie hasła jest bardzo łatwo złamać metodami
słownikowymi. Z drugie strony bardziej skomplikowane hasła staja˛ si˛e trudne do zapami˛eta-
nia. Może to prowadzić do sytuacji zapisywanie haseł i naklejania ich na monitorach oraz pod
spodem klawiatur. Obniża to bezpieczeństwo całego systemu, bo nie mamy pewności, że osoba,
która si˛e autoryzowała w systemie, jest osoba˛ właściwa.˛ Ważnym czynnikiem wpływajacym ˛ na
bezpieczeństwo jest długość hasła. Hasła krótkie sa˛ podatne na ataki polegajace
˛ na przeszuka-
niu wszystkich możliwych kombinacji znaków. To nie zajmuje zbyt dużo czasu przy obecnych
mocach obliczeniowych komputerów. Dodanie jednej litery powoduje wydłużenie przeszuka-
nia 24–krotnie. Obecnie, niektóre systemy unixowe nie pozwalaja˛ założyć haseł krótszych niż
pi˛ecioznakowe. Dodatkowo wśród znaków musi si˛e pojawić co najmniej jeden lub dwa znaki
nie b˛edace
˛ litera.˛ Zwi˛eksza to znaczaco
˛ zbiór przeszukiwania, ale także utrudnia zapami˛etanie
hasła.
Hasła jednorazowe
Nie zawsze można posłużyć si˛e dwukrotnie tym samym hasłem. Powodów może być wiele. Jed-
nym z nich jest brak zaufania do miejsca, z którego realizuje si˛e połaczenie
˛ do systemu. Rozwia-
˛
zaniem sa˛ hasła jednorazowe. Każdemu użytkownikowi generuje si˛e list˛e jednorazowych haseł.
Użytkownik po użyciu hasła do zalogowania skreśla je z listy. Podczas nast˛epnego logowania
musi wykorzystać nast˛epne hasło. Każde hasło można wykorzystać tylko raz. Gdy lista haseł zo-
stanie wyczerpana, trzeba użytkownikowi stworzyć nast˛epna.˛ Niestety, każdy użytkownik musi
nosić przy sobie list˛e haseł i zawsze korzystać z nich w odpowiedniej kolejności. Pomini˛ecie
choćby jednego hasła z listy uniemożliwi nast˛epne logowanie. Problemem jest także dystrybu-
cja haseł. Użytkownik musi otrzymać wydrukowana˛ list˛e haseł. Oznacza to, że musi osobiście
zgłosić si˛e do administratora lub też zestaw haseł musi być do niego wysłany listem poleconym.
8.7.2. Biometria
Konta wymuszaja˛ na użytkownikach konieczność pami˛etania haseł lub zapisywania ich w note-
sach. Nie jest to wygodne a zapisywanie nie jest bezpieczne. Rozwiazaniem
˛ tego problemu moga˛
być metody biometrii. Kryminalistyka posługuje si˛e od wielu lat odciskami palców. Obecnie sa˛
rozwiazania
˛ techniczne pozwalajace ˛ na szybkie skanowanie odcisków palców i dokonywania na
ich podstawie autoryzacji. Teoretycznie rozwiazywało
˛ by to w całkowicie problem potwierdza-
nia tożsamości, ale zdarzaja˛ si˛e ludzie z amputowanymi r˛ekoma lub palcami. Możliwe jest już
także podrabianie odcisków palców. Podobne możliwości oferuje badanie siatkówki oka ale jest
194 8.8. Podpis cyfrowy
na świecie troch˛e ludzi niewidomych, który utracili oczy. Pomimo tych niedogodności, metody
te sa˛ stale rozwijane. Czy zastapi
˛ a˛ hasła, trudno dziś powiedzieć.
8.7.4. Certyfikaty
Certyfikaty można wykorzystać nie tylko w SSL-u. Ich zastosowanie może być znacznie wi˛ek-
sze. Można je wykorzystywać do szerszej weryfikacji użytkowników. Firmy moga˛ zredukować
problem kosztów poprzez uruchomienie własnego centrum certyfikujacego.
˛ Centrum takie może
świadczyć usługi dla potrzeb firmy, jak i jej partnerów.
WiadomoϾ
Podpisany
prywatny klucz
Skrót
Wiadomoœæ Funkcja skrótu Jeœli oba skróty s¹
wiadomoœci
identyczne to
Podpis Funkcja Skrót wiadomoœæ jest
wiadomoœci szyfruj¹ca wiadomoœci prawdziwa.
Jeœli ró¿ne to
wiadomoϾ
Podpisany zosta³a
publiczny klucz podrobiona.
Bibliografia
[1] Adam Urbanek. Leksykon teleinformatyka. IDG Poland S.A., wydanie I, Warszawa, 2001.
[3] Praca zbiorowa. Vademecum teleinformatyka II. Sieci nowej generacji, technologie interne-
towe, metrologia sieciowa. IDG Poland S.A., wydanie I, Warszawa, 2002.
198
Skorowidz
199
200 SKOROWIDZ
B struktura, 95
zapytania, 96
baza LDAP, 161
domyślna ścieżka, 82
BECN, 41
DSL, 38
bezpieczeństwo
DTE, 37, 41, 42
zasady dost˛epu, 172
dupleks, 19
bezpieczeństwo informatyczne, 170
BGP, 103
wyznaczanie trasy, 124 E
bit DE, 40
BOOTP, 79, 92 EIR, 40
brama, 12 enkapsulacja, 84, 85
bridge, 11 Ethernet, 5, 7, 17–34
broadcast, 22, 157 10 Base-2, 23
10 Base-5, 23
10 Base-T, 23
C
adresacja, 22
cenzurowanie treści, 169 format ramki, 21–22
CIDR, 81 Ethernet II, 21
CIR, 39–41, 118 IEEE 802.3, 21
CLLM, 41 external BGP, 123
CRC, 36
CSMA/CD, 18, 19
cut through, 27 F
cut-through switching, 37
fałszowanie adresu, 179
Fast Ethernet, 23
D 100 Base-FX, 24
100 Base-T4, 24
Day Time, 158
100 Base-TX, 23
DCE, 38, 41
FCS, 36
DCF77, 156
FDDI, 6
dekapsulacja, 85
FECN, 41
denial of service, 179
filtr pakietów, 180
DHCP, 77, 79, 92
firewall, 180
nagłówek, 92
firewall personalny, 184
diagnozowanie, 90
dialery, 167 FRAD, 37, 42
DLCI, 38, 42 fragmentacja, 84, 92, 99
DNS, 4, 77, 80, 82, 86, 94, 130, 148, 160, kontrola, 85
162 Frame Relay, 7, 35, 37, 178
domena, 130 FTP, 137, 138
hierarchia nazw, 94 active, 137
nagłówek, 96 passive, 137
rekord, 130 funkcja skrótu, 186
rekordy, 96
SKOROWIDZ 201
P Q
pakiet, 9 QoS, 99
pakiety
fragmentacja, 41
R
PARC, 17
PAT, 181 RAID, 173, 174, 192
PKI, 196 RAID 0, 173, 175
pliki RAID 0+1, 173
transfer, 136 RAID 1, 173
poczta elektroniczna, 4, 127, 166, 169 RAID 5, 173
podpis cyfrowy, 194 ramka, 9
definicja, 194 RARP, 78, 92
podsłuch sieciowy, 141 RDP, 144, 146
POP3, 131–133, 136 repeater, 11, 18
port retransmisje, 89
numery, 86 RIP, 104
portal, 4 Poison Reverse, 111
porty rozczepiony horyzont, 110
przekierowywanie, 144 split horizon, 111, 112
204 SKOROWIDZ
U X
UDP, 77, 85, 137 X.500, 162
nagłówek, 85 nazewnictwo, 162
UNI, 36, 49 XDR, 138
URI, 147, 148, 150
URN, 148
Y
urzadzenia
˛ ATM, 46
Usenet, 153 Yellow pages YP, 159
feed, 154
grupy news, 153
Z
regulamin, 155
usługi katalogowe, 161 zapytanie
usługi terminalowe, 127, 139, 144 RARP, 79
UTC, 155, 157 zarzadzanie
˛ sesja,˛ 151
206 SKOROWIDZ