"Network Fundamentals" - pierwszy semestr Cisco

Transkrypt

"Network Fundamentals" - pierwszy semestr Cisco
Cisco CCNA Exploration 4.0 2009/2010
Network Fundamentals
Module 1. Living in a Network-Centric World
Internet - sieć komputerowa o zasobach ogólnodostępnych, uŜywająca do transmitowania danych protokołu IP
(skrót od Internet Protocol).
Intranet – wewnętrzny system organizacji taki jak serwis WWW, który jest wyłącznie uŜywany przez
pracowników lub studentów (uŜytkowników wewnętrznych). MoŜna do niego się dostać z wewnątrz sieci firmy
lub zdalnie.
Intersieć (internetwork) – połączenie między dwoma lub większą liczbą sieci.
Reguły (protokoły) komunikacji
Wśród protokołów zarządzających komunikacją międzyludzką wyróŜniamy:
1. identyfikację nadawcy i odbiorcy,
2. uzgodnienie metody komunikacji (twarzą w twarz, przez telefon, list, fotografię),
3. wspólny język i gramatykę,
4. szybkość i czas dostarczenia,
5. wymagania dotyczące potwierdzenia otrzymania wiadomości.
Czynniki zewnętrzne, które wpływają na jakość transmisji danych to:
1. jakość ścieŜki pomiędzy nadawcą i odbiorcą,
2. liczba koniecznych zmian formatu wiadomości,
3. liczba koniecznych przekierowań lub przeadresowań wiadomości,
4. liczba innych wiadomości, które są jednocześnie transmitowane przez sieć komunikacyjną,
5. ilość czasu przeznaczonego na udaną komunikację.
Wewnętrznymi czynnikami wpływającymi na powodzenie komunikacji z wykorzystaniem sieci są:
1. wielkość wiadomości,
2. złoŜoność wiadomości,
3. waŜność wiadomości.
Elementy typowej sieci: urządzenia, media transmisyjne i usługi połączone razem zgodnie z ustalonymi
regułami i współdziałające, w celu przesyłania wiadomości.
Wiadomości
W pierwszym etapie swojej podróŜy z komputera źródłowego do celu nasza wiadomość z komunikatora
internetowego jest konwertowana do formatu, w jakim moŜe być transmitowana w sieci. Wszystkie typy
wiadomości muszą być przekonwertowane na bity, binarnie zakodowane sygnały, przed wysłaniem do celu.
Urządzenia
Komputer jest tylko jednym z urządzeń, które mogą wysyłać i odbierać wiadomości w sieci. Wiele innych
typów urządzeń moŜe być podłączonych do sieci by móc korzystać z usług sieciowych. Wśród tych urządzeń są
telefony, kamery, systemy muzyczne, drukarki i konsole do gier. Jednym z krytycznych komponentów sieci
dowolnego rozmiaru jest router. Router łączy dwie lub więcej sieci, np. sieć domową i Internet oraz przesyła
informacje między tymi sieciami. Routery w sieci zapewniają, Ŝe wiadomość osiągnie cel w najbardziej
efektywny i najszybszy sposób.
Medium
Warunkiem funkcjonowania sieci jest to, aby urządzenia były ze sobą połączone. Połączenia mogą być
przewodowe lub bezprzewodowe. W połączeniach przewodowych medium stanowi miedź przenosząca sygnały
elektryczne lub włókno światłowodowe przenoszące sygnały optyczne. Wśród mediów miedzianych występują
kable takie jak skrętka telefoniczna, kabel koncentryczny lub najbardziej popularna nie ekranowana skrętka UTP
kategorii 5. Inną formą mediów sieciowych są światłowody - cienkie włókna szklane lub plastikowe,
przenoszące sygnały świetlne. W połączeniach bezprzewodowych medium stanowi atmosfera Ziemi lub
przestrzeń kosmiczna, a sygnałami są fale radiowe. Media bezprzewodowe to między innymi domowe
połączenia bezprzewodowe między routerem bezprzewodowym a komputerem z bezprzewodową kartą
sieciową, bezprzewodowe połączenia między dwiema stacjami naziemnymi lub urządzeniami naziemnymi a
satelitami. W typowej podróŜy poprzez Internet wiadomość moŜe wędrować przez róŜne typy mediów.
Kryteria wyboru mediów sieciowych to:
1. odległość, na jaką dane medium moŜe poprawnie transmitować sygnał,
2. otoczenie, w którym dane medium ma być zainstalowane,
3. ilość danych oraz prędkość ich transmisji,
4. koszt danego medium oraz jego instalacji.
Usługi
Usługi sieciowe są programami, które wspierają sieć ludzką. Usługi te, stosowane w urządzeniach pracujących
w sieci, umoŜliwiają działanie narzędzi komunikacyjnych online, takich jak poczta elektroniczna, grupy i fora
dyskusyjne, czaty i komunikatory internetowe. Dla przykładu, w przypadku komunikatora internetowego, usługa
komunikacji internetowej zapewniana przez urządzenia w chmurze musi być dostępna dla nadawcy i odbiorcy.
Reguły (Protokoły)
Istotnym aspektem sieci, poza urządzeniami i mediami, są reguły lub protokoły. Reguły te to standardy i
protokoły, które określają, w jaki sposób wiadomości są wysyłane, jak są kierowane w sieci i w jaki sposób są
interpretowane przez urządzenia docelowe. Przykładowo, w przypadku komunikatora internetowego Jabber,
istotny zbiór reguł, które pozwalają na komunikację stanowią protokoły XMPP, TCP oraz IP.
Przykłady elementów sieci:
1. Przełącznik LAN - najpowszechniejsze urządzenie łączące ze sobą sieci lokalne,
2. firewall - zapewnia sieciom bezpieczeństwo,
3. router - wskazuje drogę wiadomościom podróŜującym w sieci,
4. router bezprzewodowy - specjalny typ routera, często spotykany w sieciach domowych,
5. chmura - wykorzystywana do zilustrowania całej grupy urządzeń, których szczegóły są nieistotne w
danym kontekście,
6. łącze szeregowe - jedna z form połączeń WAN, reprezentowana przez linię w kształcie błyskawicy.
Wiele usług - wiele sieci
Tradycyjna telefonia, radio, telewizja i sieci komputerowe przesyłające dane mają swoje oddzielne,
indywidualne wersje czterech podstawowych elementów sieci. W przeszłości kaŜda z tych usług wymagała innej
technologii przesyłania specyficznego sygnału komunikacyjnego. Dodatkowo, kaŜda usługa miała swój własny
zbiór reguł i standardów by zapewnić udaną komunikację sygnału poprzez określone medium.
Sieci konwergentne
Sieci, które skupiają róŜne formy ruchu: głos, wideo i dane w jednej infrastrukturze sieciowej. W sieciach
konwergentnych nadal jest wiele punktów styku i specjalizowanych urządzeń, np. komputery osobiste, telefony,
telewizory, PDA, terminale sklepowe ale tylko jedna, wspólna infrastruktura sieciowa.
Tolerancja błędu
Tolerancja błędu w sieci ogranicza zasięg sprzętowego lub programowego błędu oraz pozwala na jego szybkie
usunięcie, gdy się on pojawi. Sieci te wykorzystują nadmiarowe łącza lub ścieŜki między źródłem i miejscem
przeznaczenia wiadomości. JeŜeli jedno łącze lub ścieŜka ulegnie awarii, wiadomości mogą natychmiast być
kierowane innym łączem w sposób niewidoczny dla uŜytkowników końcowych. Zarówno infrastruktura
logiczna, jak i procesy logiczne, które kierują wiadomościami w sieci są zaprojektowane aby dostosować się do
tej nadmiarowości. Jest to podstawowa cecha architektury współczesnych sieci.
Skalowalność
Skalowalna sieć moŜe być szybko rozbudowywana w celu obsługi nowych uŜytkowników i aplikacji, bez
wpływu na wydajność usług świadczonych obecnym uŜytkownikom. Zdolność sieci, by obsługiwać nowe
połączenia wynika z hierarchicznego, warstwowego projektu infrastruktury fizycznej i architektury logicznej.
Praca kaŜdej warstwy pozwala na dodawanie uŜytkowników i dostawców usług bez zakłócania działania całej
sieci.
Bezpieczeństwo
Wymagania bezpieczeństwa i prywatności wynikające z uŜywania intersieci do wymiany poufnych i
krytycznych danych biznesowych przewyŜszają to, co współczesna architektura moŜe zaoferować. Szybki
wzrost obszarów komunikacji, które nie były obsługiwane przez tradycyjne sieci przesyłające dane, powiększa
potrzebę wbudowania bezpieczeństwa w architekturę sieci. W międzyczasie zaimplementowano wiele narzędzi i
procedur, aby zwalczyć istniejące niedostatki zabezpieczeń w architekturze sieci.
Struktura internetu, sieci wszystkich sieci: poziomu 1, poziomu 2, poziomu 3, hierarchiczne, rozproszone
Jakości usług QoS (ang. Quality of Service)
Mechanizm sterujący, który moŜe zapewnić róŜne priorytety dla róŜnych uŜytkowników lub ciągów danych, lub
zagwarantować konkretny poziom wydajności dla ciągu danych w nawiązaniu do Ŝądań aplikacji.
Zapewnienia jakości usług (ang. Quality of Service)
Sieci muszą dostarczać bezpiecznych, przewidywalnych, mierzalnych i czasami gwarantowanych usług.
Wymagają równieŜ mechanizmu zarządzania zbyt duŜym natęŜeniem ruchu. PrzeciąŜenie pojawia się, gdy
zapotrzebowanie na zasoby sieciowe przewyŜsza dostępną pojemność sieci. Gdyby wszystkie sieci miały
nieskończone zasoby, nie byłoby potrzeby uŜywania mechanizmu QoS, by zapewnić jakość usług. Niestety, tak
nie jest. Są pewne ograniczenia zasobów sieciowych, których nie moŜna uniknąć tj. ograniczenia sprzętowe,
koszty i lokalna dostępność usług szerokopasmowych. Szerokość pasma jest miarą zdolności sieci do transmisji
danych. JeŜeli zostanie podjęta próba zrealizowania kilku równoczesnych transmisji poprzez sieć,
zapotrzebowanie na szerokość pasma moŜe przekroczyć jego dostępność. W większości przypadków, gdy ilość
pakietów jest większa niŜ moŜna przetransportować przez sieć, urządzenia kolejkują pakiety w pamięci, aŜ do
chwili, gdy zostaną zwolnione zasoby umoŜliwiające transmisję. Niestety kolejkowanie pakietów powoduje
zwiększenie występujących opóźnień. Gdy liczba kolejkowanych pakietów wzrasta, kolejka w pamięci
przepełnia się i pakiety są odrzucane. W celu zapewnienia wysokiej jakości usług dla aplikacji, które tego
wymagają, konieczne jest ustalenie priorytetów pakietów, tak aby pewne typy pakietów były dostarczane
kosztem opóźnień lub odrzucenia innych pakietów.
Klasyfikacja
Klasyfikujemy aplikacje na kategorie na podstawie wymagań odnośnie jakości usług, poprzez uŜycie kombinacji
charakterystyki komunikacji i względnej waŜności przypisanej aplikacjom. Przykładowo, komunikacja, która
jest wraŜliwa na opóźnienia lub jest waŜna będzie klasyfikowana inaczej niŜ komunikacja, która moŜe poczekać
lub jest mniej waŜna.
Przypisywanie priorytetów
Charakterystyka przesyłanej informacji równieŜ wpływa na sposób zarządzania nią. Przykładowo, przesłanie
filmu wymaga stosunkowo duŜych zasobów, gdyŜ jest on dostarczany i prezentowany w sposób ciągły, bez
przerw. Inne typy usług, np. poczta elektroniczna, nie są tak wymagające. W określonej firmie administrator
moŜe zadecydować o przydzieleniu największej części zasobów dla transmisji filmu, jednocześnie, moŜe uznać,
Ŝe odczekanie kilku dodatkowych sekund na dotarcie listu poczty elektronicznej nie będzie miało istotnego
znaczenia. W innej firmie jakość strumienia wideo nie jest tak waŜna jak krytyczne informacje kontroli
procesów, które sterują aparaturą produkcyjną.
Module 2. Communicating over the Network.
Kanał – medium uŜywane do przesyłania informacji od nadawcy do odbiorcy.
Segmentacja – dzielenie komunikacji na części
Multipleksacja – przeplatanie porcji danych podczas transmisji w medium, wiele strumieni danych do jednego
sygnału (połączenia).
Urządzenia końcowe - urządzenia sieciowe najbliŜsze ludziom. Kilka przykładów urządzeń końcowych to:
komputery (stacje robocze, laptopy, serwery plików, serwery WWW),
drukarki sieciowe,
telefony VoIP,
kamery w systemie do monitoringu,
niewielkie urządzenia mobilne (bezprzewodowe skanery kodów kreskowych, PDA).
Host – urządzenia końcowe, komunikujące się przez sieć. MoŜe być zarówno źródłem, jak i urządzeniem
docelowym dla wiadomości wysyłanej w sieci. W celu rozróŜnienia poszczególnych hostów, kaŜdy z nich jest
identyfikowany w sieci poprzez adres. Kiedy host rozpoczyna komunikację, to wykorzystuje on adres hosta
docelowego w celu określenia gdzie ma być wysłana dana wiadomość. W nowoczesnych sieciach, host moŜe
pełnić rolę klienta, serwera lub obu naraz. To jaką rolę host pełni w sieci określa zainstalowane na nim
oprogramowanie.
Adres hosta – adres urządzenia sieciowego, adres w warstwie sieci, adres logiczny.
Klient – jest to system komputerowy, który korzysta z usług dostarczanych przez inny komputer. To hosty z
oprogramowaniem odpowiednim do wysyłania zapytań oraz wyświetlania informacji otrzymanych z serwera.
Serwery - to komputery świadczące usługi dla klientów. Są centralnym punktem modelu sieci klient/serwer. Są
to hosty z oprogramowaniem umoŜliwiającym im dostarczanie informacji i usług, takich jak e-mail, WWW dla
innych hostów w sieci.
Urządzenia pośredniczące - zapewniają łączność i poprawny przepływ informacji w sieciach. Urządzenia te
łączą poszczególne hosty z siecią oraz wiele niezaleŜnych sieci, celem stworzenia intersieci.
Przykładem urządzeń pośredniczących są:
1. urządzenia dostępowe (koncentratory, przełączniki, bezprzewodowe punkty dostępowe),
2. urządzenia łączące sieci (routery),
3. serwery komunikacyjne i modemy,
4. urządzenia zapewniające bezpieczeństwo (firewalle).
Rolą urządzeń pośredniczących jest równieŜ zarządzanie przepływem danych. Procesy działające w
urządzeniach pośredniczących spełniają następujące funkcje:
1. regenerują i przekazują sygnały danych,
2. utrzymują informację o ścieŜkach transmisyjnych istniejących w sieci i intersieci,
3. powiadamiają inne urządzenia o błędach i awariach w komunikacji,
4. kierują dane alternatywnymi ścieŜkami w sytuacji awarii łączy,
5. klasyfikują i kierują wiadomości zgodnie z priorytetami QoS,
6. umoŜliwiają lub blokują przepływ danych, kierując się ustawieniami bezpieczeństwa.
Kodowanie – proces przekształcania danych z jednej postaci do drugiej.
Sieć LAN - pojedyncza sieć zwykle zajmuje jeden, wyodrębniony obszar geograficzny, świadcząc usługi i
aplikacje uŜytkownikom w obrębie jednej jednostki organizacyjnej, takiej jak firma, kampus, czy region. Są
zazwyczaj administrowane przez pojedynczą organizację. Kontrola administracyjna dotycząca bezpieczeństwa i
kontroli dostępu odbywa się na poziomie sieci.
Sieć WAN – sieć rozległa, na większym terytorium niŜ sieć LAN, często wykorzystująca publiczne sieci
komunikacyjne.
Karta sieciowa (ang. NIC - Network Interface Card) - adapter w sieciach LAN, który zapewnia fizyczne
połączenie z siecią dla komputera PC lub innego hosta. Media zapewniające połączenie komputera PC z
urządzeniem sieciowym są podłączane bezpośrednio do karty sieciowej.
Fizyczny port - wtyczka lub gniazdo w urządzeniu sieciowym, do którego jest podłączone medium łączące to
urządzenie z komputerem PC lub innym urządzeniem sieciowym.
Interfejs - specjalne porty w urządzeniu sieciowym, które zapewniają połączenie z róŜnymi sieciami. PoniewaŜ
do połączenia róŜnych sieci wykorzystywane są routery, to porty znajdujące się na routerze nazywamy
interfejsami sieciowymi.
Topologia logiczna – schemat rozmieszczenia urządzeń i sposobu ich komunikacji między sobą. Pokazuje
przepływ danych w sieci.
Stos – postrzeganie zestawu protokołów i ich współdziałania na danym hoście. Wszystkie protokoły tworzą
warstwową hierarchię, w której kaŜda usługa wyŜszego poziomu jest zaleŜna od funkcjonalności określonej
przez protokoły poziomów niŜszych. NiŜsze warstwy stosu zajmują się przenoszeniem danych w sieci oraz
zapewnianiem odpowiednich usług warstwom wyŜszym, które z kolei skupiają się na zawartości wysyłanej
wiadomości oraz na interfejsie uŜytkownika.
Zestawy protokołów sieciowych opisują następujące procesy:
1. format lub strukturę wiadomości,
2. metodę wymiany informacji między urządzeniami sieciowymi po ścieŜkach prowadzących do innych
sieci,
3. w jaki sposób i kiedy urządzenia sieciowe wysyłają sobie informacje systemowe lub informacje o
błędach,
4. nawiązywanie i kończenie sesji komunikacyjnych.
Protokół aplikacji - Hypertext Transfer Protocol (HTTP) - zarządza komunikacją między serwerem i
klientem WWW. Definiuje zawartość i format zapytań i odpowiedzi wymienianych między serwerem i klientem.
Jest zawarty w oprogramowaniu klienta i serwera WWW. Protokół HTTP bazuje z kolei na innych protokołach
w celu wymiany informacji miedzy klientem i serwerem.
Protokół transportowy - Transmission Control Protocol (TCP) - zajmuje się poszczególnymi konwersacjami
między serwerami WWW, a klientami WWW. TCP dzieli wiadomości HTTP na mniejsze części, nazywane
segmentami, które są wysyłane do docelowego klienta. Jest równieŜ odpowiedzialny za kontrolę rozmiaru oraz
szybkości wymiany wiadomości między serwerem a klientem.
Protokół sieciowy - Internet Protocol (IP) - jest odpowiedzialny za enkapsulację sformatowanych segmentów
TCP w pakiety, przypisanie im odpowiednich adresów oraz za wybór najlepszej drogi ich transmisji do
docelowego hosta.
Protokoły dostępu do sieci - opisują dwie podstawowe funkcje - zarządzanie łączem danych i fizyczną
transmisję danych w mediach. Protokoły zarządzające łączem danych formatują pakiety IP odpowiednio do
transmisji w danym medium. Standardy i protokoły mediów fizycznych zarządzają sposobem sygnalizacji w
danym medium oraz interpretacją sygnałów przez urządzenia odbiorcze. Części kart sieciowych nazywane
transceiverami są odpowiedzialne za implementację odpowiednich standardów dla konkretnego zastosowanego
medium.
Enkpsulacja – opakowanie danych nagłówkami poszczególnych protokołów. Proces dodawania swoich
informacji przez poszczególne protokoły, podczas przekazywania danych aplikacji w dół stosu, aŜ do momentu
transmisji danych przez medium.
Model warstwowy przedstawia operacje protokołów pracujących na kaŜdej z warstw, jak równieŜ ich interakcje
z warstwami połoŜonymi wyŜej i niŜej.
Stosowanie modelu warstwowego:
1. Pomaga w projektowaniu protokołów, poniewaŜ protokoły pracują na specyficznych warstwach mają
zdefiniowane informacje, na których działają. Posiadają równieŜ określony interfejs do warstw
znajdujących się powyŜej jak i poniŜej ich poziomu.
2. Usprawnia konkurencję, poniewaŜ produkty od róŜnych dostawców mogą ze sobą współpracować.
3. Zapobiega przed skutkami wprowadzenia zmian w technologii czy teŜ funkcjonalności w danej warstwie
na inne warstwy znajdujące się powyŜej lub poniŜej.
4. Wprowadza wspólny język do opisu moŜliwości i funkcji sieci.
Model odniesienia - dostarcza wspólny punkt widzenia do utrzymania spójności wśród wszystkich typów
protokołów i usług sieciowych. Podstawowym celem modelu odniesienia jest pomoc w jasnym zrozumieniu
zastosowanych funkcji oraz procesów.
Model OSI (Open Systems Interconnection) jest najbardziej znanym modelem odniesienia. Jest stosowany do
opisu funkcjonalności i projektowania sieci przenoszących dane, tworzenia specyfikacji operacji i do
rozwiązywania problemów. Został zaprojektowany, aby zapewnić ramę, na której moŜna byłoby zbudować zbiór
protokołów otwartego systemu, uŜytego do stworzenia międzynarodowej sieci. Dostarcza obszerną listę funkcji
oraz usług, które mogą zaistnieć w kaŜdej z warstw. Opisuje on takŜe interakcję kaŜdej z warstw z warstwami
połoŜonymi bezpośrednio pod i nad.
Model protokołów - określa schemat, który jest zbliŜony do struktury konkretnego zestawu protokołów.
Hierarchiczny zbiór powiązanych protokołów reprezentuje funkcjonalność wymaganą, aby pośredniczyć
pomiędzy siecią międzyludzką a siecią danych.
Model TCP/IP jest modelem protokołów poniewaŜ opisuje funkcjonalność protokołów, które wchodzą w skład
zestawu protokołów TCP/IP. Protokoły, które są zaimplementowane w komunikujących się ze sobą systemach
(wysyłającym i odbierającym) współpracują, aby umoŜliwić wymianę danych aplikacji poprzez sieć.
Porównanie model OSI i TCP/IP
Model OSI
Model TCP/IP
7. Warstwa aplikacji
6. Warstwa prezentacji
Warstwa aplikacji
5. Warstwy sesji
4. Warstwa transportowa
Warstwa transportowa
3. Warstwa sieci
Warstwa sieci internet
2. Warstwa łącza danych
Warstwa dostępu do sieci
1. Warstwa fizyczna
Cały proces komunikacji zawiera poniŜsze kroki:
1. Stworzenie danych w warstwie aplikacji urządzenia wysyłającego.
2. Segmentacja i enkapsulacja danych, które są przekazywane w dół stosu protokołów urządzenia
źródłowego.
3. Generowanie danych do medium na poziomie warstwy dostępu do sieci.
4. Transport danych przez sieć, która składa się z medium transmisyjnego oraz z pewnych urządzeń
pośredniczących.
5. Odbiór danych w warstwie dostępu do sieci urządzenia docelowego.
6. Deenkapsulacja i odtworzenie danych, które są przekazywane w górę stosu urządzenia docelowego
7. Przekazanie tych danych do docelowej aplikacji na poziomie warstwy aplikacji urządzenia docelowego
PDU (ang. Protocol Data Unit) - Jednostka Danych Protokołu - forma jaką przyjmują dane w kaŜdej z
warstw, w wyniku enkapsulacji. KaŜda z kolejnych warstw enkapsuluje PDU, które otrzymała z wyŜszej
warstwy zgodnie z uŜytym protokołem. Na kaŜdym kroku tego procesu, PDU przyjmuje inną nazwę aby
odzwierciedlić nową formę.
Nazwy PDU przyjmowane zgodnie ze stosem protokołów TCP/IP.
1. Dane - ogólne określenie dla PDU uŜywane w warstwie aplikacji (np. HTML)
Protokół warstwy aplikacji (HTTP) rozpoczyna proces od dostarczenia danych (sformatowana strona HTML) do
warstwy transportowej. Dane warstwy aplikacji są dzielona na segmenty TCP.
2. Segment - PDU warstwy transportowej (TCP)
KaŜdy segment TCP otrzymuje etykietę (nagłówek TCP) zawierający szczegóły, który proces na komputerze
docelowym powinien otrzymać tą wiadomość. Zawiera takŜe informacje umoŜliwiające poskładanie danych do
oryginalnego formatu. Warstwa transportowa enkapsuluje dane strony HTML do segmentu i przekazuje je do
warstwy Internet, gdzie jest zaimplementowany protokół IP.
3. Pakiet (ang. Packet) - PDU warstwy sieci (IP)
Tutaj cały segment TCP jest enkaspulowany do pakietu IP, który to dodaje kolejny nagłówek (nagłówek IP).
Nagłówek IP zawiera adresy IP źródła oraz przeznaczenia, jak równieŜ informacje potrzebne do wysłania
pakietu do odpowiedniego procesu docelowego.
4. Ramka (ang. Frame) - PDU warstwy dostępu do sieci. (Ethernet)
Następnie pakiet IP jest wysyłany do warstwy dostępu do sieci, protokołu Ethernet, gdzie jest enkapsluowany do
ramki z nagłówkiem i polem końcowym (ang. trailer). KaŜdy nagłówek ramki zawiera adres fizyczny źródłowy i
docelowy. Adres fizyczny jednoznacznie identyfikuje urządzenia w lokalnej sieci. Pole końcowe zawiera
informacje potrzebne do sprawdzenia czy ramka nie jest uszkodzona.
5. Bity (ang. Bits) - PDU uŜywane podczas fizycznej transmisji danych poprzez medium.
W końcowym etapie bity są kodowane w medium ethernetowym przez kartę sieciową serwera.
Na hoście docelowym, proces ten przebiega w odwrotnej kolejności. Dane są dekapsulowane podczas wędrówki
w górę przez stos protokołów w kierunku aplikacji uŜytkownika.
Nagłówek - Informacje umieszczone na początku bloku danych uŜywane do obsługi datagramu.
Pole końcowe (ang. Trailer) – informacja końcowa dodawana do danych podczas procesu enkapsulacji.
Datagram – pakiet danych przesyłany w sieciach IP.
UDP (ang. User Datagram Protocol) – bezpołączeniowy protokół warstwy transportowej, który wymienia
datagramy bez potwierdzenia lub gwarancji ich dostarczenia, zrzucając zadania przetwarzania błędów i
retransmisji na inne protokoły.
Adresacja sieciowa
Podczas procesu enkapsulacji dodawane są identyfikatory z adresem, w czasie przekazywania PDU w dół po
stosie protokołów. Tak jak istnieje kilka warstw protokołów, które przygotowują dane do transmisji w miejsce
przeznaczenia, podobnie występuje kilka warstw adresacji zapewniających poprawny proces dostarczenia.
Adresy warstwy 2 (fizyczne - MAC) identyfikują urządzenia w lokalnej sieci.
Pierwszy identyfikator, adres fizyczny hosta - MAC (ang. Media Access Control), jest zawarty w nagłówku
jednostki danych protokołu (PDU) warstwy 2 czyli ramce. Warstwa 2 związana jest z dostarczaniem wiadomości
w pojedynczej sieci lokalnej. Adres warstwy 2 jest unikalny w sieci lokalnej i reprezentuje adres urządzenia
końcowego w fizycznym medium. Kiedy dwa urządzenia końcowe komunikują się w sieci lokalnej Ethernet,
ramki które są wymieniane pomiędzy nimi zawierają adresy MAC źródła oraz przeznaczenia. Kiedy ramka
zostanie prawidłowo odebrana przez komputer docelowy, informacje z warstwy 2 są usuwane, a dane są
dekapsulowane i przenoszone w górę stosu protokołów do warstwy 3.
Adresy warstwy 3 (logiczne - IP) identyfikują urządzenia i ich sieci.
Protokoły warstwy 3 są zaprojektowane, aby przenosić dane z jednej sieci lokalnej do innej w intersieci. Adresy
warstwy 3 muszą zawierać identyfikatory, umoŜliwiające pośredniczącym urządzeniom sieciowym zlokalizować
hosty w róŜnych sieciach. W stosie protokołów TCP/IP kaŜdy host z adresem IP zawiera informacje na temat
sieci, do której naleŜy. Na granicy kaŜdej sieci lokalnej urządzenie pośredniczące (zazwyczaj router)
dekapsuluje ramki aby przeczytać adres przeznaczenia. Jest nim adres hosta zawarty w nagłówku pakietu w
warstwie 3. Routery uŜywają cześć adresu, która jest identyfikatorem sieci, po to aby określić której ścieŜki uŜyć
aby dostać się do hosta docelowego. Po tym jak ścieŜka jest wybrana, router enkapsuluje pakiet w nową ramkę i
wysyła ją w kierunku urządzenia docelowego. Kiedy ramka dociera do miejsca przeznaczenia, ramka oraz
nagłówek pakietu jest usuwany a dane są przekazywane do warstwy 4.
Adresy warstwy 4 (porty) identyfikują poszczególne aplikacje wysyłające lub odbierające dane.
W warstwie 4 informacje zawarte w nagłówku PDU identyfikują proces lub usługę uruchomioną na końcowej
maszynie, która przetwarza dostarczone dane. Klient poczty elektronicznej, przeglądarka internetowa,
komunikator - wszystkie te oddzielnie działające programy są przykładami indywidualnych procesów. KaŜda
aplikacja lub teŜ serwis jest reprezentowany w warstwie 4 poprzez numer portu. Dialog pomiędzy urządzeniami
jest identyfikowany za pomocą pary portów, źródłowego i docelowego warstwy 4, które to reprezentują dwie
komunikujące się aplikacje. Kiedy dane są odbierane przez hosta, sprawdzany jest numer portu. Na tej
podstawie określa się aplikację lub proces do którego są przeznaczone dane.
Kabel prosty - nieekranowany kabel miedziany tzw. skrętka nieekranowana UTP, w którym kolejność pinów na
obu końcach jest zgodna ze standardem EIA/TIA 568A. UŜywany do łączenia komputera ze switchem lub
routerem.
Kabel z przeplotem: Kabel UTP do łączenia podobnych urządzeń sieciowych.
Kabel szeregowy (ang. Serial Cable): Miedziany kabel typowy do połączeń w sieciach WAN.
Ethernet: Dominująca technologia w sieciach lokalnych
Adres fizyczny (ang. Media Access Control) - ethernetowy adres fizyczny warstwy 2 – warstwy łącza danych,
wymagany w przypadku kaŜdego urządzenia podłączonego do sieci LAN. Długość adresów MAC wynosi 6
bajtów.
Adres IP - adres logiczny warstwy 3, unikalny numer, uŜywany w celu identyfikacji i komunikacji w sieciach
komputerowych uŜywających protokołu IP.
Maska podsieci - (ang. Subnet Mask) :Wymagana do interpretacji adresu IP
Domyślna brama - (ang. Default Gateway): Adres IP interfejsu routera, do którego wysyłany jest ruch
sieciowy opuszczający sieć lokalną
Port (programowy): Adres protokołów warstwy 4 w modelu TCP/IP
Interfejs (programowy): Logiczny punkt interakcji z oprogramowaniem
Przełącznik (ang. Switch): Urządzenie pośredniczące, które podejmuje decyzje na podstawie adresów
zawartych w ramkach warstwy 2 (typowo adresów ethernetowych MAC)
Router - urządzenie warstwy 3, 2 i 1, które podejmuje decyzje na podstawie adresów warstwy 3 (zazwyczaj
adresów IPv4) i określa optymalną ścieŜkę przesyłania ruchu sieciowego. Przesyła pakiety z jednej sieci do
drugiej w oparciu o informacje dostępne w warstwie sieci.
Bit - jest to binarna cyfra, przyjmująca dwie wartości logiczne 1 lub 0. Posiada róŜne fizyczne reprezentacje taki
jak impulsy elektryczne, optyczne czy mikrofalowe; jednostka danych protokołu warstwy 1 (ang. Layer 1 PDU)
Ramka - jednostka danych protokołu warstwy 2, która została zakodowana przez protokół warstwy łącza
danych, w celu transmisji cyfrowej. Przykłady ramek: ramki Ethernet, ramki PPP.
Pakiet: Jednostka danych protokołu warstwy 3
Module 3. Application Layer Functionality and Protocols.
Warstwa prezentacji (6 warstwa modelu OSI)
Implementacje warstwy prezentacji nie są typowo związane ze szczególnym stosem protokołów. Przykładem są
niektóre standardy video oraz grafiki tj. QuickTime oraz MPEG.
Warstwa sesji (7 warstwa modelu OSI)
Warstwa sesji, jak sugeruje jej nazwa, jest odpowiedzialna za tworzenie i utrzymywanie sesji komunikacyjnych
pomiędzy aplikacjami: źródłową i docelową. Prowadzi wymianę informacji: rozpoczyna konwersacje,
utrzymuje ich aktywność i wznawia je, jeśli zostały utracone lub są od dłuŜszego czasu bezczynne.
Większość aplikacji, jak np. przeglądarka WWW czy klient poczty elektronicznej, łączy funkcjonalność warstw:
5, 6 i 7 modelu OSI.
Protokoły warstwy aplikacji modelu TCP/IP:
DNS (ang. Domain Name System) - protokół uŜywany do odwzorowywania nazw w sieci Internet na adresy
IP;
HTTP (ang. Hypertext Transfer Protocol) - protokół uŜywany do przesyłania plików tworzących strony
WWW;
SMTP (ang. Simple Mail Transfer Protocol) - protokół uŜywany do przesyłania wiadomości poczty
elektronicznej;
Telnet (ang. Telecommunication Network) – protokół umoŜliwiający administratorom zdalne połączenie z
hostem oraz wykonanie operacji, jakby był zalogowany lokalnie.
FTP (ang. File Transfer Protocol) - protokół uŜywany do interaktywnego przesyłania plików pomiędzy
systemami.
W warstwie aplikacji istnieją dwa typy oprogramowania (procesów), które umoŜliwiają dostęp do sieci. Są to
aplikacje oraz usługi.
Aplikacje są oprogramowaniem (ang. software programs) uŜywanym przez ludzi do komunikacji w sieci.
Niektóre aplikacje uŜytkownika są aplikacjami przystosowanymi do pracy w sieci (ang. network-aware). Takie
aplikacje obsługują protokoły warstwy aplikacji i potrafią komunikować się bezpośrednio z protokołami
niŜszych warstw. Przykładami tego typu aplikacji są: klient poczty elektronicznej oraz przeglądarka WWW.
Usługi – niektóre programy będą potrzebowały pomocy ze strony usług warstwy aplikacji (np. przesyłanie
plików czy drukowanie w sieci). Usługi te, pomimo Ŝe są transparentne dla uŜytkownika, łączą go z siecią i
przygotowują dane do wysłania. RóŜne typy danych wymagają róŜnych usług sieciowych, aby zapewnić im
właściwe przygotowanie do przetworzenia przez funkcje występujące w niŜszych warstwach modelu OSI.
KaŜda aplikacja lub usługa sieciowa wykorzystuje protokoły zdefiniowane przez standardy i formaty danych.
Bez protokołów nie byłoby powszechnego sposobu formatowania i przekazywania danych w sieci. Aby
zrozumieć funkcje róŜnych usług sieciowych, konieczne jest zapoznanie się z odpowiednimi protokołami, które
kierują ich operacjami.
Model Klient-Serwer
W modelu klient-serwer urządzenie Ŝądające informacji nazywane jest klientem, natomiast urządzenie
odpowiadające na Ŝądanie - serwerem. Procesy komunikacji klienta i serwera zaliczane są do zadań warstwy
aplikacji. Klient rozpoczyna wymianę danych wysyłając Ŝądanie do serwera, który odpowiada poprzez wysłanie
jednego lub więcej strumieni danych do klienta. Protokoły warstwy aplikacji opisują format Ŝądań i odpowiedzi
pomiędzy klientami i serwerami. Oprócz rzeczywistego przesyłania, wymiana danych moŜe równieŜ wymagać
przenoszenia informacji kontrolnych, takich jak uwierzytelnianie uŜytkownika czy informacje identyfikujące
przesyłane dane.
Demon
Usługa lub proces uruchamiana w architekturze klient-serwer. Demony zwykle uruchamiane są w tle i nie są
bezpośrednio kontrolowane przez uŜytkownika. "Nasłuchują" one Ŝądań napływających od klienta, tzn. są one
zaprogramowane tak, aby odpowiadać na kaŜde Ŝądanie, które przybyło do serwera i które jest skierowane do
usługi obsługiwanej przez demona. Kiedy demon "słyszy" Ŝądanie klienta, to najpierw wymienia z nim
wymagane przez protokół komunikaty, a następnie przesyła Ŝądane dane (we właściwym formacie).
Model sieci Peer-to-Peer
W sieci peer-to-peer dwa komputery (lub więcej) są połączone ze sobą poprzez sieć i mogą one współdzielić
zasoby (tj. drukarki czy pliki). Komputer pełniący rolę serwera dla jednej transakcji moŜe jednocześnie słuŜyć
jako klient dla innej. Role (klient i serwer) są ustalane na podstawie Ŝądań. Przykładem sieci peer-to-peer jest
sieć z dwoma połączonymi komputerami, które współdzielą drukarkę. UŜytkownicy tej sieci mogą równieŜ
przygotować swoje komputery do współdzielenia plików, uruchomienia gier sieciowych czy współdzielenia
połączenia internetowego. Dane nie muszą być przechowywane na dedykowanym serwerze, Ŝeby mogły zostać
udostępnione. Mogą być one ulokowane na dowolnym urządzeniu w sieci.
Sieci peer-to-peer zwykle nie wymagają uŜycia kont uŜytkowników, praw dostępu czy monitoringu. Zatem
sporym wyzwaniem byłoby tutaj narzucenie polityki bezpieczeństwa i dostępu do zasobów, tym bardziej Ŝe taka
sieć łączy więcej niŜ kilka komputerów. Na kaŜdym urządzeniu w sieci P2P konta uŜytkowników oraz prawa
dostępu muszą być konfigurowane indywidualnie.
Aplikacje Peer-to-Peer
Aplikacje peer-to-peer (P2P), w przeciwieństwie do sieci peer-to-peer, pozwalają urządzeniom działać jako
klient i serwer w ramach tej samej komunikacji. W tym modelu kaŜdy klient jest serwerem, a kaŜdy serwer klientem. Oba urządzenia mogą inicjować komunikację i oba w równym stopniu biorą udział w jej procesie.
JednakŜe aplikacja peer-to-peer wymaga, aby kaŜde urządzenie dostarczało interfejsu uŜytkownikom, a usługi
były uruchamiane w tle. Dopiero wówczas moŜliwa jest bezpośrednia komunikacja urządzeń.
Numerów portów (TCP i UDP) i związane z nimi usługi:
1. DNS (ang. Domain Name System) - Port 53 TCP/UDP
2. HTTP (ang. Hypertext Transfer Protocol) - Port 80 TCP
3. SMTP (ang. Simple Mail Transfer Protocol) - Port 25 TCP
4. POP (ang. Post Office Protocol) - Port 110 UDP
5. Telnet - Port 23 TCP
6. DHCP (ang. Dynamic Host Configuration Protocol) - Port 67 UDP
7. FTP (ang. File Transfer Protocol) - Porty: 20 i 21 TCP
Protokół i usługa DNS
System nazw domenowych, umoŜliwiający przekształcić adres numeryczny na prostą o rozpoznawalną dla
człowieka nazwę. Wykorzystuje on zbiór rozproszonych serwerów, które tłumaczą nazwy na związane z nimi
numeryczne adresy.
Protokół DNS definiuje zautomatyzowaną usługę, która dopasowuje nazwy do wymaganych numerycznych
adresów sieciowych. Opisuje format zapytań i odpowiedzi oraz formaty danych. W procesie komunikacji uŜywa
pojedynczej struktury informacji zwanej komunikatem. Format ten uŜywany jest do wszelkiego typu zapytań
klienta i odpowiedzi serwera, informacji o błędach czy komunikatów RR (ang. Resource Record) przesyłanych
pomiędzy serwerami.
Named – demon serwera DNS zapewniający odwzorowywanie nazw.
Serwer DNS opisuje domeny za pomocą tzw. rekordów zasobowych (ang. resource record, RR). Rekordy te
zawierają nazwę, adres oraz typ rekordu.
Przykładowe typy rekordów:
A - adres urządzenia końcowego
NS - autorytatywny serwer nazw
CNAME - umowne nazwy serwerów wraz z ich pełnymi nazwami domenowymi (ang. canonical name lub Fully
Qualified Domain Name); uŜywane w sytuacji, gdy wiele usług ma ten sam adres sieciowy, ale kaŜda usługa ma
swój własny wpis w DNS
MX - rekord wymiany poczty; mapuje nazwę domenową do listy serwerów odbierających pocztę
Kiedy klient wykonuje zapytanie, proces serwera "named", w celu samodzielnego rozwiązania nazwy, najpierw
przegląda własne rekordy. JeŜeli operacja ta zakończy się niepowodzeniem, kontaktuje się z innymi serwerami.
śądanie moŜe być przesyłane dalej do kilku serwerów, co wydłuŜa czas i zuŜywa przepustowość. Z chwilą gdy
dopasowanie zostanie odnalezione, informacja zostaje zwrócona do serwera pytającego na początku. Serwer
tymczasowo przechowuje adres numeryczny, który został dopasowany do nazwy, w pamięci podręcznej (ang.
cache).
Jeśli ta sama nazwa jest Ŝądana ponownie, juŜ pierwszy serwer moŜe zwrócić adres dzięki przechowywaniu
wartości w pamięci podręcznej. Przechowywanie adresów w pamięci podręcznej redukuje ruch związany z
zapytaniami DNS oraz obciąŜenie serwerów połoŜonych wyŜej w hierarchii. Usługa Klienta DNS, na
komputerze PC z systemem operacyjnym Windows, optymalizuje wydajność procesu rozwiązywania nazw DNS
poprzez przechowywanie poprzednio odwzorowanych nazw w pamięci. Polecenie ipconfig /displaydns w
systemie Windows XP lub 2000 wyświetla wszystkie przechowywane wpisy.
System nazw domenowych ma strukturę hierarchiczną - (root) na szczycie i gałęziami poniŜej. Serwery root
utrzymują rekordy z informacjami o tym, jak osiągnąć serwery domen najwyŜszego poziomu (ang. top-level
domains). Te z kolei mają informacje o serwerach kolejnego poziomu, itd. Domeny najwyŜszego poziomu
reprezentują typ organizacji lub kraj pochodzenia. Po domenach najwyŜszego poziomu występują domeny
drugiego poziomu, a poniŜej nich - domeny kolejnego niŜszego poziomu. KaŜda nazwa domeny jest ścieŜką
tworzoną w dół odwróconego drzewa. Punktem startowym jest root.
Na przykład serwer root DNS moŜe nie wiedzieć dokładnie, gdzie serwer pocztowy mail.cisco.com jest
umiejscowiony. Jednak analizując utrzymywane rekordy znajduje wpis "com" w domenie najwyŜszego
poziomu. Podobnie, serwery w domenie "com" mogą nie posiadać rekordu dla mail.cisco.com, ale mają one
wpis dla domeny cisco.com. Natomiast serwery w domenie cisco.com posiadają rekord (precyzyjniej: rekord
MX) dla mail.cisco.com.
System nazw domenowych funkcjonuje w oparciu o hierarchię zdecentralizowanych serwerów, które
przechowują i utrzymują rekordy zasobów. Rekordy zasobów rejestrują nazwy domen, które serwer moŜe
odwzorować oraz alternatywne serwery, które równieŜ mogą przetwarzać Ŝądania. Jeśli dany serwer posiada
rekordy zasobów odpowiadające jego poziomowi w hierarchii, to mówi się, Ŝe jest on autorytatywny dla tych
rekordów.
Na przykład serwer nazw w domenie cisco.netacad.net nie byłby autorytatywny dla rekordu mail.cisco.com,
poniewaŜ ten rekord jest utrzymywany na serwerze domeny wyŜszego poziomu (serwer nazw w domenie
cisco.com).
Usługa www i protokół HTTP
Przglądarka internetowa – kliencka aplikacja hipertekstowa z interfejsem graficznym, słuŜąca do uzyskiwania
dostępu do dokumentów hipertekstowych i dostępu do zasobów przechowywanych na serwerach WWW. Kiedy
w przeglądarce stron WWW wpisujemy adres strony (tzw. URL), przeglądarka nawiązuje połączenie z usługą
uruchomioną na serwerze korzystając z protokołu HTTP, a serwer WWW uruchamia usługę w tle i udostępnia
róŜne typy plików. Przeglądarka po odebraniu zasobów interpretuje dane i prezentuje je uŜytkownikowi.
Przeglądarki mogą interpretować i prezentować wiele typów danych, m.in. zwykły tekst (ang. plain text) i
format HTML (ang. Hypertext Markup Language). Inne typy danych mogą wymagać odpowiednich usług i
programów, które nazywane są wtyczkami (ang. plug-in) lub dodatkami (ang. add-on). Aby pomóc przeglądarce
ustalić typ odebranego pliku, serwer określa rodzaj danych, które plik zawiera.
Najpierw przeglądarka interpretuje trzy części adresu URL:
1. http (protokół lub schemat)
2. www.cisco.com (nazwa serwera)
3. web-server.htm (określony plik)
Przeglądarka komunikuje się z serwerem DNS w celu konwersji nazwy www.cisco.com na adres numeryczny,
który jest uŜywany do połączenia z serwerem. Przeglądarka, działając zgodnie z wymaganiami protokołu HTTP,
wysyła Ŝądanie GET do serwera i pyta o plik web-server.htm. Następnie serwer zwraca kod HTML Ŝądanej
strony WWW. W końcu przeglądarka odczytuje kod HTML i formatuje stronę w oknie przeglądarki.
Protokół HTTP - jest jednym z protokołów stosu TCP/IP. Powstał on pierwotnie w celu publikowania i
pobierania stron HTML. Jest stosowany do przesyłania danych w sieci WWW, jest najczęściej uŜywanym
protokołem aplikacji.
HTTP jest protokołem typu Ŝądanie/odpowiedź (ang. request/response). Kiedy klient (zwykle przeglądarka
WWW) wysyła komunikat z Ŝądaniem strony WWW do serwera, protokół HTTP określa typ tego komunikatu.
Podobna sytuacja ma miejsce, gdy serwer wysyła odpowiedź. Trzy najwaŜniejsze typy komunikatów to: GET,
POST oraz PUT.
GET jest prośbą klienta o dane. Przeglądarka wysyła Ŝądanie GET w celu pobrania strony WWW z serwera. W
momencie gdy serwer otrzymuje Ŝądanie GET, odpowiada wierszem opisującym stan (ang. status line), np.
HTTP/1.1 200 OK, a następnie przesyła Ŝądany plik, komunikat o błędzie lub inne informacje.
Komunikaty POST oraz PUT są uŜywane w procesie przesyłania danych do serwera WWW. Np. kiedy
uŜytkownik wprowadzi dane do formularza umieszczonego na stronie WWW, POST włączy te dane do
wiadomości przesyłanej do serwera. PUT przesyła dane w postaci plików do serwera WWW.
Komunikaty POST wysyłane są do serwera jawnym tekstem, który moŜe zostać przechwycony i przeczytany.
Podobnie, odpowiedzi serwera (zwykle strony HTML) równieŜ nie są szyfrowane.
W sieci Internet, do bezpiecznej komunikacji z serwerem WWW, stosuje się protokół HTTP Secure (HTTPS).
Do ochrony danych przesyłanych pomiędzy klientem i serwerem, HTTPS stosuje algorytmy uwierzytelniania i
szyfrowania. HTTPS określa dodatkowe reguły dla przepływu danych pomiędzy warstwą aplikacji i warstwą
transportową.
Usługi E-mail i protokoły SMTP/POP
Poczta elektroniczna (e-mail) - usługa sieciowa słuŜąca do tworzenia, wysyłania, odbierania, przechowywania
wiadomości przy uŜyciu elektronicznych systemów komunikacyjnych.
POP (ang. Post Office Protocol), POP3 (ang. Post Office Protocol, version 3) lub IMAP– protokoły typu
klient-serwer, dostarczają pocztę z serwera pocztowego do klienta.
SMTP (ang. Simple Mail Transfer Protocol) - zarządza procesem przesyłania poczty wychodzącej od klienta
do serwera pocztowego. Format wiadomości protokołu SMTP oparty jest o sztywny zbiór komend i odpowiedzi.
Te komendy wspierają procedury uŜywane w SMTP, takie jak zainicjowanie sesji, transakcja poczty, weryfikacja
nazw skrzynek pocztowych, powiększanie listy adresowej, otwieranie i zamykanie wymiany.
Przykładowe komendy protokołu SMTP:
• HELO - identyfikuje proces klienta SMTP z procesem serwera SMTP,
• EHLO - nowsza wersja komendy HELO zawierająca rozszerzone funkcje,
• MAIL FROM - identyfikuje nadawcę,
• RCPT TO - identyfikuje odbiorcę,
• DATA - identyfikuje treść wiadomości.
Agent pocztowy (ang. Mail User Agent) - klient poczty elektronicznej, pozwala na wysyłanie wiadomości i
umieszczanie ich w skrzynkach pocztowych. Oba procesy są niezaleŜne lecz dostarczane zazwyczaj w ramach
jednej aplikacji - funkcjonalność obu protokołów.
Procesy serwera e-mail: MTA i MDA
Serwer poczty elektronicznej obsługuje dwa niezaleŜne procesy:
MTA (ang. Mail Transfer Agent)
MDA (ang. Mail Delivery Agent)
Proces MTA - jest uŜywany do przekazywania poczty elektronicznej. Agent MTA otrzymuje wiadomości od
klienta e-mail (MUA) lub od innego agenta MTA, który działa na innym serwerze pocztowym. W oparciu o
zawartość nagłówka wiadomości decyduje on: jeśli list jest adresowany do uŜytkownika, który posiada skrzynkę
pocztową na lokalnym serwerze, to list jest przekazywany do agenta MDA. Natomiast jeśli skrzynka pocztowa
adresata znajduje się na innym serwerze, agent MTA przekazuje list do agenta MTA na odpowiednim serwerze.
Agent MDA - otrzymuje od agenta MTA pocztę przychodzącą i umieszcza ją w skrzynkach pocztowych
odpowiednich uŜytkowników. Nasłuchuje, kiedy klient łączy się z serwerem. Z chwilą gdy połączenie zostanie
ustanowione, serwer moŜe dostarczyć korespondencję do klienta. MDA równieŜ moŜe zajmować się
problemami związanymi z końcową fazą dostarczania wiadomości, np. skanowanie w poszukiwaniu wirusów,
filtrowanie spamu czy potwierdzenia odebrania wiadomości.
Większość komunikacji w ramach poczty elektronicznej uŜywa aplikacji MUA, MTA oraz MDA. JednakŜe
istnieją inne alternatywne metody dostarczania poczty.
Klient moŜe być połączony z korporacyjnym systemem poczty elektronicznej, takim jak Lotus Notes firmy
IBM, Groupwise firmy Novell czy Microsoft Exchange. Te systemy często mają własny wewnętrzny format
poczty elektronicznej, a ich klienci zwykle komunikują się z serwerem przy uŜyciu zastrzeŜonych protokołów.
Jeśli na przykład dwie osoby, które pracują w tej samej firmie, wymieniają się wiadomościami uŜywając
zastrzeŜonego protokołu, to ich korespondencja moŜe pozostawać w obrębie korporacyjnego systemu
pocztowego. W sieci Internet serwer wysyła lub otrzymuje wiadomości elektroniczne poprzez bramę pocztową,
która wykonuje niezbędne ponowne formatowanie.
Komputery, które nie posiadają klienta pocztowego (MUA), mogą korzystać z usługi poczty elektronicznej za
pośrednictwem przeglądarki WWW.
FTP (ang. File Transfer Protokol) – protokół warstwy aplikacji, został stworzony do obsługi przesyłania
plików pomiędzy klientem i serwerem. Klient FTP jest uruchamianą na komputerze aplikacją, która jest
uŜywana do wysyłania i pobierania plików z serwera z uruchomionym demonem FTP (FTPd).
Aby przesyłanie plików zakończyło się powodzeniem, FTP wymaga dwóch połączeń pomiędzy klientem i
serwerem: jednego - do przesyłania komend i odpowiedzi, a drugiego - do faktycznego przesyłania pliku.
Pierwsze połączenie z serwerem klient ustanawia na porcie 21 TCP. To połączenie jest uŜywane do kontroli
ruchu i przenosi komendy klienta oraz odpowiedzi serwera. Drugie połączenie z serwerem klient ustanawia na
porcie 20 TCP. To połączenie jest uŜywane do faktycznego transferu pliku i tworzone kaŜdorazowo, gdy plik jest
przesyłany. Przesyłanie pliku moŜe być realizowane w jednym z dwóch kierunków. Klient moŜe pobierać (ang.
download) plik z serwera lub przesyłać (ang. upload) plik na serwer.
DHCP (ang. Dynamic Host Configuration Protocol) – protokół, uŜywany do Ŝądania i przypisywania adresu
IP, maski podsieci, domyślnej bramy i adresu serwera DNS do hosta.
DHCP pozwala hostom otrzymać adres IP dynamicznie (nie są na stałe przypisywane), kiedy tylko zostaną
podłączone do sieci. Hosty kontaktują się z serwerem i proszą o adres. Serwer DHCP wybiera adres ze
skonfigurowanego zakresu adresów, nazywanego pulą i przydziela ("dzierŜawi") go hostowi na ustalony okres
czasu. JeŜeli host zostanie wyłączony lub straci połączenie z siecią, jego adres zostanie zwrócony do puli
dostępnych adresów, aby moŜna było uŜyć go ponownie. Usługa ta jest preferowana w większych sieciach
lokalnych lub tam, gdzie często zmieniają się uŜytkownicy.
DHCP moŜe powodować zagroŜenie bezpieczeństwa, poniewaŜ dowolne urządzenie połączone z siecią moŜe
otrzymać adres IP. Ze względów bezpieczeństwa w projektowaniu sieci stosuje się adresowanie zarówno
dynamiczne jak i statyczne - jednocześnie. DHCP przydziela adresy dla hostów ogólnego przeznaczenia (np.
urządzenia uŜytkownika końcowego), zaś stałe adresy są przydzielane urządzeniom sieciowym takim jak
bramki, przełączniki, serwery czy drukarki.
Gdy urządzenie jest uruchamiane lub podłączane do sieci, klient DHCP rozgłasza pakiet DHCP DISCOVER w
celu zidentyfikowania dostępnych serwerów DHCP. Serwer DHCP odpowiada pakietem DHCP OFFER, który
zawiera zaoferowany adres IP, maskę podsieci, adres serwera DNS oraz bramę domyślną, jak równieŜ czas
trwania dzierŜawy. Jeśli w sieci jest więcej serwerów DHCP, klient moŜe otrzymać wiele pakietów DHCP
OFFER. Musi wtedy dokonać wyboru oraz rozgłosić pakiet DHCP REQUEST, który zawiera informację o
wybranym serwerze oraz ofertę dzierŜawy zaakceptowaną przez klienta. Klient moŜe ponownie uzyskać adres
poprzednio przydzielony przez serwer. Przy załoŜeniu, Ŝe adres IP Ŝądany przez klienta (lub zaoferowany przez
serwer) jest dostępny, serwer zwraca komunikat DHCP ACK potwierdzając tym samym, Ŝe dzierŜawa doszła do
skutku. Jeśli serwer stwierdzi, Ŝe klient nie moŜe korzystać z adresu (np. w wyniku przekroczenia limitu czasu
lub przydzielenia innemu klientowi), to wysyła pakiet DHCP NAK (ang. Negative Acknowledgement). Jeśli
komunikat DHCP NAK zostanie zwrócony, to wysłanie pakietu DHCP DISCOVER spowoduje ponowne
rozpoczęcie procesu wyboru serwera.
DzierŜawa adresu IP jest odnawiana komunikatem DHCP REQUEST, przed upłynięciem terminu jej waŜności.
Serwer DHCP zapewnia unikalność wszystkich adresów IP. Oznacza to, Ŝe jeden adres IP nie moŜe zostać
przydzielony do dwóch urządzeń sieciowych jednocześnie. DHCP umoŜliwia administratorom sieci łatwą
rekonfigurację adresów IP klientów, bez konieczności zmieniania ich ręcznie.
Usługi współdzielenia plików i protokół SMB
SMB (ang. Server Message Block) - jest protokołem typu klient-serwer, który stosowany jest do udostępniania
plików. Opisuje on strukturę współdzielonych zasobów sieciowych, tj. katalogi, pliki, drukarki czy porty
szeregowe. Jest to protokół typu Ŝądanie-odpowiedź. W przeciwieństwie do protokołu FTP, klienci nawiązują
długoterminowe połączenia z serwerem. Po ustanowieniu połączenia, uŜytkownik klienta ma dostęp do zasobów
na serwerze tak, jakby zasoby były lokalne dla hosta klienta.
Usługi drukowania oraz współdzielenie plików za pomocą SMB stanowią podstawę sieci Microsoft, które
uŜywają usługi DNS. To pozwala protokołom TCP/IP na bezpośrednią obsługę współdzielenia zasobów SMB.
Systemy operacyjne LINUX oraz UNIX umoŜliwiają współdzielenie zasobów z sieciami Microsoft za pomocą
oprogramowania SAMBA, którego budowa oparta jest na protokole SMB. Systemy operacyjne Apple
Macintosh równieŜ obsługują współdzielenie zasobów uŜywając protokołu SMB.
Protokół SMB opisuje dostęp do systemu plików, sposób generowania Ŝądań o pliki przez klientów oraz
komunikację między procesami. Wszystkie komunikaty SMB mają wspólny format: nagłówki mają stały
rozmiar, natomiast parametry i dane - zmienny.
Komunikaty SMB mogą:
• rozpoczynać, uwierzytelniać i przerywać sesje;
• kontrolować dostęp do plików i drukarek;
• pozwolić aplikacji wysyłać i odbierać komunikaty do i z innych urządzeń.
Usługa P2P i protokół Gnutella
Gnutella – protokół warstwy aplikacji (podobnie jak FTP i SMB), umoŜliwiający dostęp do plików
(zgromadzonych na twardych dyskach), przez innych uŜytkowników. Oprogramowanie klienta zgodne z tym
protokołem, pozwala uŜytkownikom połączyć się przez Internet z usługami protokołu Gnutella, zlokalizować i
mieć dostęp do zasobów udostępnionych przez inne urządzenia.
Aplikacje obsługujące protokół Gnutella, m.in. BearShare, Shareaza, Emule
Wiele aplikacji P2P nie zapisuje w centralnej bazie danych wszystkich plików dostępnych na urządzeniach
uczestniczących w wymianie. Przeciwnie, to urządzenia te odpowiadają na zapytania o dostępność
odpowiednich plików.
Kiedy uŜytkownik jest połączony z usługą Gnutella, jego aplikacje poszukują innych węzłów Gnutella, z
którymi mogłyby się połączyć. Węzły te obsługują zapytania o lokalizację zasobów i odpowiadają na Ŝądania.
Poza tym zarządzają komunikatami kontrolnymi, które pomagają usłudze odkrywać kolejne węzły. Zazwyczaj
przesyłanie plików funkcjonuje w oparciu o usługi HTTP.
Protokół Gnutella definiuje pięć typów pakietów:
• ping - do wyszukiwania urządzeń,
• pong - odpowiedź na ping,
• query - do lokalizacji pliku,
• query hit - odpowiedź na zapytanie,
• push - Ŝądanie pobrania pliku.
Usługi i protokół Telnet
Telnet – jeden z najstarszych protokołów klient-serwer, warstwy aplikacji w stosie TCP/IP. Dostarcza metodę
emulacji terminala tekstowego, dając w ten sposób moŜliwość pracy zdalnej na komputerach podłączonych do
sieci. Oprogramowanie klienta implementujące protokół, równieŜ nazywane jest Telnetem.
VTY (ang. Virtual Terminal) – sesja realizowana za pośrednictwem protokołu Telnet.
CLI (ang. command line interface) - wiersz poleceń serwera, z którego interfejsem łączy się Telnet
zapewniając te same cechy sesji terminala, jak w przypadku fizycznego połączenia z serwerem. Po nawiązaniu
połączenia Telnet, uŜytkownicy mogą wykonywać autoryzowane operacje na serwerze tak, jakby wykonywali
operacje poprzez CLI. Po autoryzacji mogą oni rozpoczynać i przerywać procesy, konfigurować czy nawet
wyłączyć urządzenie.
W celu wspierania połączeń klienta Telnet, serwer uruchamia usługę nazywaną demonem Telnet. Inne
powszechnie uŜywane aplikacje terminala wspierające klienta Telnet to: HyperTerminal, Minicom czy
TeraTerm.
KaŜde polecenie zaczyna się znakiem specjalnym nazywanym znakiem IAC (ang. Interpret as Command). IAC
sygnalizuje, Ŝe następny bajt jest poleceniem.
Przykłady poleceń protokołu Telnet:
• AYT (ang. Are You There) - Prośba o potwierdzenie aktywności sesji VTY.
• EL (ang. Erase Line) - Usuwa tekst z bieŜącej linii.
• IP (ang. Interrupt Process) - Polecenie zawiesza lub przerywa proces, z którym wirtualny terminal jest
połączony.
W czasie sesji wszystkie dane przesyłane są jawnym tekstem. To oznacza, Ŝe dane mogą zostać przechwycone i
przeczytane.
SSH (ang. Secure Shell) – protokół oferujący alternatywną i bezpieczną metodę dostępu do serwera. Struktura
SSH zapewnia bezpieczne zdalne logowanie oraz inne bezpieczne usługi sieciowe. Poza tym zapewnia silniejsze
niŜ Telnet uwierzytelnianie i wspiera szyfrowanie danych w czasie transportu przez sieć. Profesjonaliści powinni
zawsze uŜywać SSH (jeśli to tylko jest moŜliwe).
Module 4. OSI Transport Layer.
Rola warstwy transportowej w procesie enkapsulacji danych:
• przygotowaniu ich dla warstwy sieci
• umoŜliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym na tym samym
urządzeniu.
• zapewnia (jeśli jest to wymagane), Ŝe wszystkie dane są dostarczone w sposób niezawodny, w dobrej
kolejności i do odpowiedniej aplikacji
•
uŜywa mechanizmów obsługi błędów
Warstwa transportowa zapewnia segmentację danych i konieczną kontrolę nad składaniem poszczególnych
części w róŜne strumienie komunikacyjne. Dokonuje ona tego poprzez:
• śledzenie indywidualnej komunikacji pomiędzy aplikacjami na źródłowym i docelowym hoście umoŜliwia istnienie wielu strumieni komunikacyjnych pomiędzy aplikacjami. KaŜda z nich komunikuje się z
jedną lub kilkoma aplikacjami na zdalnych hostach, poniewaŜ kaŜdy host moŜe mieć uruchomionych wiele
aplikacji komunikujących się za pomocą sieci.
• segmentację danych i odpowiednie oznaczanie kaŜdego fragmentu, - określa sposób segmentacji
danych pochodzących z warstwy aplikacji oraz enkapsulację wymaganą dla kaŜdej porcji danych. KaŜda porcja
danych wymaga dodania w warstwie transportowej odpowiedniego nagłówka, dzięki któremu wiadomo z jakim
strumieniem komunikacji jest ona związana. Segmentacja danych, umoŜliwia jednoczesne otrzymywanie i
wysyłanie danych w przypadku korzystania z kilku aplikacji jednocześnie (na jednym komputerze). Bez
segmentacji tylko jedna aplikacja, np. video mogłaby odbierać dane. NiemoŜliwe byłoby w międzyczasie
odbieranie e-maili, rozmawianie przez komunikator, czy przeglądanie stron WWW.
• łączenie podzielonych segmentów w strumienie danych, - protokoły w warstwie transportowej
opisują, w jaki sposób informacja z nagłówka tej warstwy jest uŜyta do scalenia kawałków danych, w kompletny
strumień danych, , który teraz moŜe zostać uŜyty przez warstwę aplikacji.
• identyfikację róŜnych aplikacji - warstwa transportowa, kaŜdemu procesowi lub programowi, który
chce skorzystać z dostępu do sieci, przydziela identyfikator - numer portu, w celu przekazania odpowiednich
strumieni danych. Ten numer portu zostanie uŜyty w nagłówku warstwy transportowej w celu wskazania, do
której aplikacji naleŜy ten fragment danych. Ta warstwa słuŜy takŜe jako łącznik, przyjmuje dane naleŜące do
róŜnych konwersacji i przekazuje je w dół do kolejnych warstw juŜ jako porcje danych, które mogą zostać
przesłane za pomocą medium. Oznacza to, iŜ aplikacje nie muszą znać szczegółów dotyczących działania sieci.
Generują dane przeznaczone dla drugiej strony konwersacji, bez zwracania uwagi na typ hosta docelowego,
medium, ścieŜkę po których będą przepływać dane, ewentualne przeciąŜenia na łączu ani rozmiar sieci. NiŜsze
warstwy nie wiedzą nawet o ilości róŜnych aplikacji, których dane przesyłają. Ich zadaniem jest dostarczenie
danych do odpowiedniego urządzenia. To warstwa transportowa zajmie się teraz rozdziałem porcji danych,
przed dostarczeniem ich do odpowiednich aplikacji.
• RóŜnorodność wymagań – dla prawidłowego działania niektórych aplikacji, tj. segmenty muszą
docierać w określonej kolejności lub dane muszą zostać odebrane w komplecie, by były zdatne do dalszego
uŜytku; protokoły warstwy transportowej mają róŜne zasady, pozwalające urządzeniom obsługiwać te
róŜnorodne wymagania. Niektóre udostępniają jedynie podstawowe funkcje, pozwalając na efektywne
dostarczanie porcji danych do aplikacji, inne zapewniają poprawniejszą komunikację pomiędzy aplikacjami,
lecz jednocześnie mają większe wymagania co do sieci.
Segmentacja i scalanie - na hoście źródłowym warstwa transportowa dzieli dane otrzymane od aplikacji na
bloki o odpowiednim rozmiarze. Większość sieci ma określone maksymalne ilości danych, które mogą być
umieszczane w jednym segmencie (PDU warstwy transportowej). Na hoście docelowym następuje proces
odwrotny, a zatem warstwa transportowa scala dane przed przekazaniem ich do odpowiedniej aplikacji lub
usługi. Segmentacja pozwala sesjom na multipleksancję.
Ustanawianie sesji - warstwa transportowa w celu zapewnienia usługi zorientowanej połączeniowo nawiązuje
sesję pomiędzy aplikacjami. Takie nawiązywanie sesji przygotowuje obie strony konwersacji zanim
jakiekolwiek dane zostaną przesłane. W takiej sesji łatwo jest zarządzać przepływem danych pomiędzy
aplikacjami.
Niezawodność dostarczania danych - ze względu na róŜne czynniki moŜliwe jest, Ŝe podczas transmisji w sieci
porcja danych ulegnie uszkodzeniu lub całkowitemu zagubieniu. Warstwa transportowa moŜe zapewnić, Ŝe
wszystkie kawałki zostaną prawidłowo dostarczone, dokonując retransmisji brakujących lub uszkodzonych
fragmentów.
Dostarczanie w odpowiedniej kolejności - w związku z tym, Ŝe w sieci dwa róŜne fragmenty tej samej
transmisji mogą zostać transportowane róŜnymi drogami, róŜnić się mogą czasy transmisji. Fragmenty danych
mogą dotrzeć zatem w złej kolejności. Dzięki numerowaniu i sekwencjonowaniu warstwa transportowa moŜe
zapewnić, Ŝe dane zostaną scalone w odpowiedniej kolejności.
Kontrola przepływu - hosty sieciowe mają ograniczone zasoby, takie jak pamięć czy przepustowość. Kiedy
warstwa transportowa zauwaŜa, Ŝe te zasoby są na wyczerpaniu moŜe za pomocą pewnych protokołów zaŜądać,
by wysyłająca aplikacja zmniejszyła prędkość nadawania. Dzieje się to poprzez regulację ilości danych jakie
źródło moŜe wysłać do hosta docelowego.
Jako główną funkcję warstwy transportowej wskazane zostało zarządzanie danymi konwersacji pomiędzy
hostami. Aby spełnić zróŜnicowane wymagania aplikacji w stosunku do dostarczania swoich danych, powstały
róŜne protokoły transportowe. Jeden z protokołów warstwy transportowej moŜe zapewnić niezawodne
dostarczanie danych, oznacza to, Ŝe kaŜdy wysłany segment dotrze do odbiorcy. Narzuca to wymóg, aby procesy
warstwy transportowej w źródle śledziły kaŜdą porcję danych kaŜdej konwersacji i retransmitowały dane, które
nie zostały potwierdzone przez host docelowy. Jednocześnie warstwa transportowa hosta odbierającego takŜe
musi śledzić odbierane dane i na bieŜąco potwierdzać ich odbiór. Procesy te wnoszą dodatkowy narzut na
zasoby sieciowe ze względu na konieczność wysyłania potwierdzeń, śledzenia transmisji oraz dokonywania
retransmisji. Uzyskania gwarancji wpływa przez to na dodatkowe obciąŜenie sieci. Przykładem takiego
protokołu jest TCP.
Inne aplikacje mogą być bardziej tolerancyjne dla straty małych ilości danych. Dla przykładu, jeśli jeden lub
dwa segmenty transmisji video nie dotrą do celu, spowoduje to jedynie niewielkie zakłócenie w transmisji.
MoŜe ono wyglądać na niewielkie zakłócenie obrazu, albo moŜe nawet pozostać zupełnie niezauwaŜone przez
odbiorcę. Wprowadzanie dodatkowego narzutu w celu zapewnienia gwarancji odniosłoby odwrotny skutek dla
takich aplikacji. Obraz w transmisji video mógłby zatrzymany, gdyby host odbierający musiałby czekać na
retransmisję zagubionych danych. Lepiej, by aplikacja tworzyła obraz w miarę moŜliwości najlepszy z
segmentów jakie w ogóle docierają, niŜ by zajmowała się gwarancjami dostarczania. Przykład protokołu: UDP.
Protokół UDP - jest prostym, bezpołączeniowym protokołem warstwy transportowej modelu TCP/IP. Jego
zaletą jest niewielki narzut dodawany do dostarczanych danych. Porcje danych UDP są nazywane datagramami.
Datagramy te wysyłane są za pomocą tego protokołu "przy uŜyciu dostępnych środków" (ang. best-effort) i
dodają tylko 8 dodatkowych bajtów w nagłowku segmentu. Aplikacje, które uŜywają protokołu UDP to m.in.:
system nazw domenowych DNS (ang. Domain Name System), aplikacje przesyłające strumienie Video, czy
transmisja głosu przez sieć IP (VoIP).
Protokół TCP - wprowadza pewien dodatkowy narzut, ze względu na większą liczbę realizowanych funkcji.
Dodatkowe funkcje TCP to dostaczanie we właściwej kolejności, niezawodne dostarczanie i kontrola przepływu.
KaŜdy segment TCP dodaje aŜ 20 dodatkowych bajtów w nagłówku. Aplikacje wykorzystujące protokół TCP to:
przeglądarki stron WWW, e-mail, programy do przesyłania plików.
Niektóre aplikacje mogą uŜywać obu protokołów TCP i UDP. Dla przykładu, niewielki narzut UDP pozwala
serwerowi DNS bardzo szybko obsługiwać wiele zapytań klientów. Czasami jednak, przesyłanie informacji
moŜe wymagać pewności dostarczania jaką daje właśnie TCP. W tym przypadku dobrze znany port 53 uŜywany
jest przez oba protokoły.
Identyfikacja konwersacji - w nagłówku kaŜdego segmentu czy datagramu, znajduje się numer portu
źródłowego i numer portu docelowego, dzięki którym moŜna jednoznacznie zidentyfikować aplikacje, która
wysłała te dane i do jakiej aplikacji mają trafić dane na hoście docelowym.
Kiedy aplikacja kliencka wysyła Ŝądanie do aplikacji serwera, port docelowy w nagłówku to numer portu jaki
przypisany jest na serwerze do tej właśnie nasłuchującej aplikacji (tzw. demona). Oprogramowanie klienckie
musi wiedzieć jaki numer portu przypisany jest procesowi serwerowemu na zdalnym hoście. Docelowy numer
portu moŜe być skonfigurowany domyślnie lub zostać zmieniony przez administratora systemu. Port źródłowy
w nagłówku segmentu lub datagramu jest wybierany losowo. Klient moŜe wybrać dowolny numer portu pod
warunkiem, Ŝe nie pokrywa się on z innym portem uŜywanym w systemie. Numer portu aplikacji klienckiej
będzie uŜyty jako numer portu docelowego w odpowiedzi nadchodzącej od serwera.
Gniazdo (ang. socket) - połączenie numeru portu i adresu IP jednoznacznie identyfikuje konkretny proces na
konkretnym urządzeniu. Czasem zdarza się, Ŝe terminy numer portu i gniazdo uŜywane są wymiennie. Para
gniazd składająca się ze źródłowych i docelowych adresów IP i numerów portów identyfikuje jednoznacznie
konkretną konwersację pomiędzy hostami.
Istnieją następujące typy numerów portów:
• Dobrze znane porty (numery od 0 do 1023) - są zarezerwowane dla powszechnie uŜywanych usług i
aplikacji tj.: serwery WWW (HTTP), serwery poczty elektronicznej (POP3/SMTP) i serwery telnet. Przez
zdefiniowanie tych "dobrze znanych portów" dla aplikacji serwerowych, aplikacje klienckie mogą być
zaprogramowane do Ŝądania komunikacji z usługą oczekującą na tych portach.
• Zarejestrowane porty (numery od 1024 do 49151) - są zarezerwowane dla aplikacji i procesów
uŜytkownika, tworzonych na małą skalę. Kiedy nie są uŜywane jako zasoby serwera, porty te mogą być
uŜywane jako dynamicznie wybierane przez klienta jako port źródłowy.
• Dynamiczne lub prywatne numery portów numery (od 49152 do 65535) - znane równieŜ pod nazwą
"ephemeral ports", to numery portów, które są dynamicznie losowane przez aplikacje klienckie podczas
inicjowania połączeń. Nie jest powszechnie stosowanym rozwiązaniem, aby aplikacja kliencka łączyła się z
usługą serwerową uŜywając portów z zakresu dynamicznych bądź prywatnych.
Segmentacja w TCP i UDP
W TCP nagłówek kaŜdego segmentu zawiera numer sekwencyjny. Numery sekwencyjne umoŜliwiają warstwie
transportowej na hoście docelowym scalić segmenty w kolejności w jakiej zostały wysłane. Dzięki temu
aplikacja docelowa otrzymuje dane dokładnie w takiej kolejności w jakiej zostały wysłane.
Pomimo tego, Ŝe UDP takŜe rozróŜnia konwersacje pomiędzy aplikacjami, nie interesuje się kolejnością
datagramów, czy ustanawianiem połączenia. W nagłówku UDP nie ma numeru sekwencyjnego. UDP jest
prostszym protokołem, generuje mniejszy narzut niŜ TCP, dzięki czemu dane przesyłane są szybciej. Informacja
moŜe docierać w innej kolejności niŜ została wysłana, gdyŜ pakiety mogą biec róŜnymi drogami. Aplikacja
uŜywająca UDP musi tolerować fakt, Ŝe dane mogą nie docierać w kolejności, w jakiej były wysyłane.
Komunikacja TCP dokonywana jest przez zorientowane połączeniowo sesje. Zanim host będzie mógł wysłać
dane przy pomocy TCP, warstwa transportowa inicjuje proces tworzenia połączenia z hostem docelowym.
Połączenie to umoŜliwia śledzenie sesji lub strumienia komunikacyjnego pomiędzy hostami i dzięki temu, obie
strony są świadome komunikacji. Konwersacja TCP wymaga ustanowienia sesji pomiędzy hostami w obu
kierunkach. Po ustanowieniu sesji host docelowy wysyła do źródła potwierdzenia odebranych segmentów, które
stanowią podstawę niezawodności w sesji TCP. Jeśli źródło otrzyma potwierdzenie, to wie Ŝe dane zostały
prawidłowo dostarczone i moŜna przestać monitorować dostarczone dane. Jeśli zaś host źródłowy takiego
potwierdzenia w określonym czasie nie otrzyma, będzie musiał retransmitować dane. Część dodatkowego
narzutu wynikającego z uŜycia TCP, to ruch sieciowy generowany przez potwierdzenia i retransmisje.
Ustanawianie sesji tworzy dodatkowy narzut w postaci segmentów wymienianych podczas tego procesu. Prócz
tego hosty muszą na bieŜąco śledzić stan sesji, oczekiwać na potwierdzenia segmentów i dokonywać
ewentualnych retransmisji.
KaŜda aplikacja uruchomiona na serwerze skonfigurowana jest do uŜywania danego portu domyślnie lub przez
administratora systemu. Pojedynczy serwer nie moŜe mieć dwóch usług przypisanych do tego samego portu w
ramach tego samego protokołu warstwy transportowej. Na serwerze moŜe być wiele równolegle otwartych
portów, ale po jednym dla kaŜdej aplikacji serwerowej np. usługa HTTP i usługa FTP. Kiedy aplikacja serwera
jest aktywna i ma przypisany określony port, port ten określa się jako "otwarty" na serwerze. Oznacza to, Ŝe
warstwa transportowa akceptuje i przetwarza segmenty skierowane do tego portu. KaŜde nadchodzące
poprawnie zaadresowane Ŝądanie do gniazda (adres IP:numer portu) jest akceptowane, a dane przekazywane są
do odpowiedniej aplikacji serwera. Jednym ze sposobów zwiększenia bezpieczeństwa serwera jest ograniczenie
dostępu do serwera tylko na odpowiednie porty, skonfigurowane dla usług i aplikacji, które mają być dostępne
dla autoryzowanych uŜytkowników.
Mechanizmy nawiązania sesji i połączenia przy uŜyciu protokołu TCP.
Zanim dane mogą zostać przesłane w komunikacji między hostami przy uŜyciu protokołu TCP, musi być
ustanowione między nimi połączenie. Natomiast kiedy transmisja danych zostanie zakończona, sesje
połączeniowe są zamykane, a ustanowione na początku połączenie kończone
KaŜde połączenie składa się z dwóch jednokierunkowych strumieni komunikacyjnych, zwanych sesjami. Aby
nawiązać połączenie, host uŜywa uzgadniania trójetapowego (ang. three-way handshake). Bity kontrolne w
nagłówku TCP wskazują postęp procesu i jego bieŜący stan. Uzgadnianie trójetapowe (ang. three-way
handshake):
• ustala czy urządzenie jest obecne w sieci;
• sprawdza, czy urządzenie docelowe (serwer) ma aktywną usługę i akceptuje połączenia na porcie, który
urządzenie inicjujące połączenie (klient) chce uŜyć podczas sesji;
• informuje urządzenie docelowe (serwer), Ŝe urządzenie inicjujące połączenie (klient) zamierza ustanowić
sesję na porcie o tym numerze.
W połączeniu TCP host odgrywający rolę klienta inicjuje sesję z serwerem. Trzy etapy podczas ustanawiania
połączenia to:
1. Klient (host inicjujący połączenie) wysyła segment (SYN) zawierający początkową wartość synchronizacyjną
(numer początkowy ISN), co słuŜy jako Ŝądanie skierowane do serwera rozpoczęcia sesji komunikacyjnej.
2. Serwer odpowiada, wysyłając segment (SYN, ACK), zawierający wartość potwierdzenia (która jest równa
przysłanej przez host wartości synchronizacyjnej powiększonej o 1) oraz wysyła swoją własną wartość
synchronizacyjną (swój własny numer początkowy ISN). Wartość potwierdzenia jest zawsze większa od numeru
sekwencyjnego poniewaŜ oznacza ona numer następnego spodziewanego bajtu (oktetu). Ta wartość
potwierdzenia umoŜliwia klientowi dopasowanie odpowiedzi do numeru segmentu wysłanego do serwera.
3. Inicjujący połączenie klient odpowiada potwierdzeniem o wartości równej numerowi sekwencyjnemu serwera
powiększonemu o 1. To kończy proces nawiązywania połączenia.
W segmencie TCP jest 6 jednobitowych pól (flag), które zawierają informacje kontrolne uŜywane podczas
zarządzania komunikacją TCP. Tymi polami są:
URG- flaga, która wskazuje na waŜność pola "Pilny" (ang. Urgent) w nagłówku TCP;
ACK - flaga, która oznacza waŜność pola "Potwierdzenie" (ang. Acknowledgment) w nagłówku TCP;
PSH - flaga, która oznacza wykorzystanie funkcji PUSH;
RST - flaga, która uŜywana jest do kończenia połączenia;
SYN - flaga, która wskazuje na Synchronizację numerów sekwencyjnych;
FIN - flaga, która wskazuje koniec danych od nadawcy.
W segmencie pola te są nazywane flagami, znacznikami lub wprost bitami, poniewaŜ ich wielkość wynosi 1 bit,
a więc mogą przyjmować 2 wartości: 1 lub 0. Kiedy wartość któregoś z powyŜszych bitów (flag) jest równa 1
oznacza to, Ŝe segment zawiera kontrolną informację, na którą wskazuje to pole.
Ustalanie kolejności segmentów odebranych zgodnie z kolejnością ich nadawania
Kiedy usługi przesyłają dane za pomocą TCP, segmenty mogą dotrzeć do hosta w innej kolejności niŜ były
nadawane. Aby odbiorca właściwie zrozumiał nadawaną wiadomość, dane w odebranych segmentach są scalane
w kolejności w jakiej były wysyłane. Do tego celu uŜywane są numery sekwencyjne znajdujące się w nagłówku
kaŜdego segmentu. Podczas nawiązywania sesji ustalany jest początkowy (inicjujący) numer sekwencyjny ISN.
Ten numer przedstawia początkową wartość dla nawiązywanej sesji, w której dane będą przesyłane do
docelowej aplikacji. W miarę przesyłania danych podczas sesji numer sekwencyjny zwiększany jest o liczbę
bajtów, które zostały wysłane. To śledzenie bajtów danych umoŜliwia unikalną identyfikację i potwierdzenie
kaŜdego segmentu. Zaginione segmenty mogą być zidentyfikowane. Odbierający proces TCP umieszcza dane z
segmentu w buforze odbiorczym. Segmenty są ustawiane w kolejności zgodnej z numerami sekwencyjnymi i
następnie przekazywane do warstwy aplikacji. Jeśli odebrane zostaną segmenty, których numery sekwencyjne
nie zachowują ciągłości, są one zatrzymywane (w buforze) w celu późniejszego przetworzenia. Po otrzymaniu
brakujących segmentów dane zostają niezwłocznie przetworzone.
Potwierdzenie otrzymania segmentów
Numery, sekwencyjny i potwierdzenia, które znajdują się w nagłówku segmentu, uŜywane są do potwierdzenia
otrzymania bajtów danych zawartych w segmentach. Numer sekwencyjny to względna wartość (wskazująca ile
bajtów danych zostało przesłanych w tej sesji) powiększona o 1 (co stanowi numer pierwszego bajtu w
bieŜącym segmencie). TCP uŜywa (w segmentach wysyłanych z powrotem do nadawcy) numeru potwierdzenia
celem wskazania następnego bajtu w tej sesji, który spodziewa się otrzymać adresat. Nazywane jest to
przewidywanym potwierdzeniem (ang. expectational acknowledgment). Źródło informowane jest, Ŝe odbiorca
otrzymał wszystkie bajty danych, aŜ do podanej wartości, ale z jej wyłączeniem (tzn. bez bajtu o podanym
numerze). Oczekuje się, Ŝe nadawca wysyłając kolejny segment, uŜyje numeru sekwencyjnego równego
numerowi potwierdzenia. Gdyby nadawca musiał czekać na potwierdzenie kaŜdego z 10 wysłanych bajtów sieć
byłaby przeciąŜona duŜą ilością potwierdzeń. Aby temu zapobiec wiele segmentów z danymi moŜe zostać
wysłanych zanim adresat potwierdzi ich otrzymanie pojedynczym segmentem TCP. To potwierdzenie zawiera
numer, który jest obliczony z uwzględnieniem wszystkich otrzymanych w międzyczasie bajtów. Na przykład,
zaczynając z numerem sekwencyjnym równym 2000, jeśli host docelowy otrzyma 10 segmentów kaŜdy
zawierający po 1000 bajtów danych, w potwierdzeniu wysłanym do nadawcy tej partii danych numer
potwierdzenia wyniesie 12001. Ilość danych, którą nadawca moŜe wysłać zanim musi otrzymać potwierdzenie
nazywana jest rozmiarem okna (ang. window size). Rozmiar okna jest polem w nagłówku TCP, które umoŜliwia
zarządzanie utraconymi danymi i kontrolą przepływu.
Zarządzanie utraconymi segmentami
Usługa TCP na hoście docelowym zwykle potwierdza ciągłą partię danych. Jeśli brakuje jednego lub więcej
segmentów, to potwierdzane są tylko te dane w segmencie, które poprzedzają pierwszy brakujący fragment.
Kiedy nadawca nie otrzyma potwierdzenia w określonym czasie powróci do numeru sekwencyjnego, który miał
ostatnio potwierdzony i wyśle ponownie wszystkie dane, zaczynając od bajtu o tym numerze. Dla typowej
implementacji protokołu TCP host moŜe wysyłać segment, umieszczając równocześnie jego kopię w kolejce
retransmisyjnej i uruchamiając zegar. Kiedy potwierdzenie otrzymania danych z wysłanego segmentu jest
odebrane, kopia segmentu umieszczona w kolejce retransmisyjnej jest z niej usuwana. Jeśli potwierdzenie nie
zostanie otrzymane przed upływem określonego czasu oczekiwania, segment jest retransmitowany. Obecnie,
hosty mogą równieŜ wykorzystać opcjonalną cechę zwaną selektywnymi potwierdzeniami (ang. Selective
Acknowledgements). Jeśli oba hosty komunikujace się ze sobą wspierają selektywne potwierdzenia, moŜliwym
się staje dla odbiorcy potwierdzanie bajtów w nieciągłych segmentach i po otrzymaniu takiego potwierdzenia,
nadawca będzie potrzebował retransmitować tylko brakujące dane.
Kontrola przepływu
Protokół TCP zapewnia równieŜ mechanizm kontroli przepływu (ang. flow control). Jeśli nadawca dowiaduje
się, Ŝe określona ilość danych zawarta w segmencie została otrzymana, moŜe kontynuować nadawanie ze
zwiększoną ilością danych dla tej sesji. Parametr ten określa wartość rozmiaru okna w nagłówku segmentu TCP,
która mówi jaka ilość danych moŜe być wysłana bez potwierdzenia tzn. po wysłaniu której naleŜy poczekać na
potwierdzenie od odbiorcy. Początkowy rozmiar okna jest ustalany podczas nawiązywania sesji w uzgadnianiu
trójetapowym (3-way handshake). Mechanizm kontroli zwrotnej TCP dostosowuje efektywne tempo przesyłania
danych do maksymalnego poziomu, który sieć oraz adresat mogą obsłuŜyć bez utraty danych. Protokół TCP
usiłuje zarządzać tempem przesyłu tak, aby całe wysłane dane zostały odebrane i aby ilość retransmisji była
zminimalizowana. Podczas przerwy w transmisji, polegającej na oczekiwaniu na potwierdzenie, w tej sesji
nadawca nie będzie nadawał Ŝadnych dodatkowych segementów. W okresach przeciąŜenia sieci lub zajętości
zasobów hosta odbierającego, opóźnienia mogą wydłuŜać się. Jeśli długość tego okresu przestoju będzie rosła,
efektywne tempo transmisji danych dla tej sesji będzie malało. Spowolnienie tempa przesyłania danych pomoŜe
zlikwidować problem przestojów występujący u nadawcy.
Zmniejszanie rozmiaru okna
Innym sposobem kontroli przepływu danych jest uŜycie dynamicznego rozmiaru okna. Kiedy sieć jest
przeciąŜona i zdarzają się częste retransmisje, protokół TCP moŜe zmniejszyć rozmiar okna, aby spowodować
konieczność częstszego potwierdzania otrzymanych segmentów. W komunikacji TCP to host odbierający wysyła
rozmiar okna wskazujący ilość bajtów, które jest gotów odebrać w jednej partii danej sesji. Jeśli host odbierający
potrzebuje zmniejszyć ilość przesyłanych danych z powodu ograniczenia buforu odbioru, moŜe wysłać
zmniejszony rozmiar okna do nadawcy w segmencie potwierdzającym (z ustawionym bitem ACK). To w efekcie
wywołuje zmniejszenie tempa przesyłu danych, gdyŜ nadawca musi częściej czekać na potwierdzenie ich
dostarczenia. Po jakimś czasie transmisji bez utraty danych oraz przeciąŜenia zasobów, odbiorca rozpocznie
zwiększanie wartości rozmiaru okna. Działanie to ogranicza obciąŜenie sieci z powodu zmniejszenia ilości
potwierdzeń, które muszą być wysłane. Rozmiar okna będzie rósł, aŜ do wartości, przy której nastąpi utrata
danych, co spowoduje ponowne zmniejszenie wartości rozmiaru okna. To dynamiczne zwiększanie i
zmniejszanie rozmiaru okna jest procesem ciągłym w komunikacji przy uŜyciu protokołu TCP i pozwala
osiągnąć wartość optymalną dla kaŜdej sesji. W bardzo wydajnych sieciach, w których nie ma utraty danych
rozmiar okna moŜe stać się bardzo duŜy. W sieciach o bardzo obciąŜonych łączach rozmiar okna pozostanie
mały.
Mechanizmy i zastosowanie protokołu UPD
Protokół UDP ma mniejszą ilość informacji kontrolnych niŜ TCP gdyŜ nie jest zorientowany połączeniowo, co
oznacza, Ŝe nie zapewnia wyszukanych mechanizmów retransmisji, porządkowania odebranych danych czy
kontroli przepływu. Do głównych aplikacji oraz protokołów warstwy aplikacji korzystających z tego protokołu
zaliczamy:
• protokół DNS (ang. Domain Name System, system nazw domenowych),
• protokół SNMP (ang. Simple Network Management Protocol),
• protokół DHCP (ang. Dynamic Host Configuration Protocol),
• protokół RIP (ang. Routing Information Protocol),
• protokół TFTP (ang. Trivial File Transfer Protocol),
• gry online.
Niektóre aplikacje, jak np. gry online lub komunikacja głosowa przez sieć IP (VoIP), mogą tolerować utratę
pewnej części danych. Niektóre aplikacje, takie jak DNS, po prostu ponowią Ŝądanie jeśli nie otrzymają
odpowiedzi, a więc nie potrzebują protokołu TCP, Ŝeby zagwarantować dostarczenie danych. Aplikacje
serwerowe wykorzystujące protokół UDP mają przypisane tzw. dobrze znane (ang. Well Known) lub
zaresjestrowane (ang. Registered) numery portów. Kiedy aplikacje lub usługi są uruchomione, akceptują
nadchodzące dane adresowane do przyporządkowanych im portów. Kiedy protokół UDP otrzymuje datagram
adresowany do jednego z tych portów, to na jego podstawie przekazuje odebrane dane do odpowiedniej
aplikacji. Tak jak w przypadku protokołu TCP, komunikacja typu klient/serwer jest inicjowana przez aplikację
po stronie klienta, która to Ŝąda jakichś danych od jakiejś usługi serwera. Aplikacja klienta, wykorzystującego
protokół UDP, losowo wybiera numer portu z zakresu portów dynamicznych i uŜywa tego numeru jako portu
źródłowego dla tej komunikacji. Docelowy port będzie zwykle z grupy dobrze znanych lub zarejestrowanych
portów, który z kolei przyporządkowany jest usłudze na serwerze. Z powodu braku sesji w połączeniach z
wykorzystaniem protokołu UDP, po przygotowaniu danych do wysłania i określeniu portów nadawcy i adresata,
protokół UDP formatuje dane a następnie przekazuje je do warstwy sieciowej w celu zaadresowania i wysłania.
Module 5. OSI Network Layer.
Warstwa sieci (warstwa 3 modelu OSI) zapewnia usługi wymiany fragmentów danych poprzez sieć pomiędzy
określonymi urządzeniami końcowymi. Do realizacji transportu pomiędzy dwoma urządzeniami końcowymi
warstwa 3 uŜywa czterech podstawowych procesów:
adresowanie - warstwa sieci musi zapewnić mechanizm adresowania urządzeń końcowych. JeŜeli określona
część danych będzie skierowana do urządzenia końcowego, to urządzenie musi posiadać unikalny adres. Adres
nie tylko musi identyfikować urządzenie, ale równieŜ poszczególne fragmenty danych (jednostki danych PDU
protokołu warstwy sieci) muszą zawierać te adresy.
enkapsulacja - warstwa 3 otrzymuje z warstwy 4 jednostkę PDU i dodaje nagłówek warstwy 3 lub etykietę,
tworząc jednostkę PDU warstwy 3 - pakiet. Podczas tworzenia pakietu, oprócz innych informacji do nagłówka
musi zostać dodany adres hosta do którego pakiet będzie wysłany - adres docelowy. Nagłówek warstwy 3
zawiera takŜe adres hosta źródłowego - adres źródłowy.
Po zakończeniu procesu enkapsulacji przez warstwę sieci pakiet jest wysyłany do warstwy łącza danych w celu
przygotowania do transportu przez media.
routing – proces wybrania odpowiedniej ścieŜki i kierowania pakietów do celu, przez urządzenia pośrednie
(routery). Pakiet czasami musi przejść przez wiele róŜnych sieci, host źródłowy i docelowy nie zawsze naleŜą do
tej samej sieci. Aby osiągnąć swój cel kaŜdy z pakietów musi być odpowiednio kierowany przez warstwę sieci.
Podczas routingu poprzez intersieć, pakiet moŜe przemierzać wiele urządzeń pośrednich. KaŜdy etap wędrówki,
który pakiet wybiera w celu osiągnięcia następnego urządzenia nazywany jest przeskokiem (ang. hop). Podczas
przekazywania pakietu, jego zawartość (jednostka PDU warstwy transportowej) pozostaje niezmieniona dopóki
host docelowy nie zostanie osiągnięty.
dekapsulacja – po dotarciu pakietu do hosta docelowego jest przetwarzany w warstwie 3. Host sprawdza adres
docelowy w celu potwierdzenia, Ŝe pakiet był adresowany do tego urządzenia. JeŜeli adres jest poprawny, pakiet
jest dekapsulowany przez warstwę sieci a następnie jednostka PDU warstwy 4 zawarta w pakiecie jest
przekierowana do odpowiedniej usługi warstwy transportowej.
Protokoły warstwy sieci określają strukturę pakietu oraz procesy uŜywane do przenoszenia danych od jednego
hosta do kolejnego. Nie odnoszą się do danych aplikacji, przenoszonych w kaŜdym z pakietów. Pozwala to
warstwie sieci, transportować pakiety róŜnych typów komunikacji pomiędzy wieloma hostami.
Protokoły warstwy sieci - zaimplementowane w warstwie sieci, które słuŜą do transportu danych:
Protokół IPv4 (Internet Protocol version 4)
Protokół IPv6 (Internet Protocol version 6)
Protokół Novell IPX (Internetwork Packet Exchange)
Protokół AppleTalk
Bezpołączeniowa usługa sieciowa (CLNS/DECNet)
Protokół IP wersja 6 (IPv6) – następca protokołu IPv4, będzie wdraŜany w niektórych obszarach sieci,
początkowo będzie uŜywany równolegle z protokołem IPv4, a w przyszłości moŜe go zastąpić. Oba protokoły
oferują usługi do enkapsulacji datagramów UDP lub segmentów TCP w celu ich transportu przez sieć.
Zadania protokołu IPv4
Protokół IP został zaprojektowany jako protokół z nieduŜym narzutem (dodatkowa ilość danych związana z
nagłówkiem pakietu). Zapewnia on tylko niezbędne funkcje umoŜliwiające dostarczanie pakietu ze źródła do
celu przez połączone ze sobą sieci. Protokół nie został zaprojektowany do wyznaczania trasy czy zarządzania
przepływem pakietów. Funkcje te są wykonywane przez protokoły z innych warstw.
Ogólna charakterystyka protokołu IPv4:
• Bezpołączeniowy - przed wysyłaniem danych nie jest zestawiane Ŝadne połączenie. Pakiety IP są
wysyłane bez powiadamiania hosta końcowego o ich nadejściu. Przez to, narzut protokołu jest zredukowany do
minimum - nie wymaga wymiany danych kontrolnych do ustanowienia połączenia przed przekazaniem pakietu,
ani Ŝadnych dodatkowych pól w nagłówku jednostki PDU do utrzymania tego połączenia. Bezpołączeniowe
dostarczenie pakietów moŜe jednakŜe spowodować dotarcie pakietów do celu w kolejności innej niŜ były
wysłane lub zaginięcie pakietu. Wtedy usługi wyŜszej warstwy będą musiały rozwiązać te problemy.
• Działający na zasadzie dostępnych moŜliwości (ang. Best Effort) - protokół nie posiada
mechanizmów zapewniających gwarancję dostarczenia pakietu, ani zdolności do zarządzania i odzyskiwania
niedostarczonych lub uszkodzonych pakietów. Główną misją protokołu warstwy 3 jest transport pakietów
pomiędzy hostami przy najmniejszym moŜliwym obciąŜeniu sieci. Odpowiedzialność za typ komunikacji pełnią
wyŜsze warstwy. WyŜsze warstwy mogą zdecydować, czy komunikacja pomiędzy usługami potrzebuje
niezawodności oraz czy komunikacja ta moŜe tolerować narzut związany z jej zapewnieniem. Warstwa
transportowa moŜe wybrać TCP lub UDP w zaleŜności od potrzeb komunikacji. Pozostawienie decyzji
dotyczącej niezawodności warstwie transportowej powoduje, Ŝe protokół IP jest bardziej adaptowanlny oraz w
lepszym stopniu zaspokaja potrzeby róŜnego typu komunikacji.
• NiezaleŜny od uŜywanego medium - pracuje niezaleŜnie od medium uŜytego do transportu danych.
Odpowiedzialnością warstwy łącza danych w modelu OSI jest przejęcie pakietu IP i przygotowanie go do
transmisji przez medium komunikacyjne. Jedyną cechą związaną z mediami, którą warstwa sieci bierze pod
uwagę jest MTU.
MTU (Maximum Transmission Unit) - maksymalny rozmiar jednostki PDU, które poszczególne media mogą
przetransportować. Częścią komunikacji kontrolnej pomiędzy warstwą łącza danych, a warstwą sieci jest
ustalenie MTU dla pakietu. Warstwa łącza danych przekazuje MTU do warstwy sieci. Warstwa sieci określa
wtedy, jak duŜe pakiety ma stworzyć, aby przeszły przez dane medium.
Fragmentacja (dzielenie pakietów) – proces dzielenia pakietów, przez urządzenie pośrednie - zwykle router –
podczas przekazywania go z jednego medium do kolejnego z mniejszym MTU.
Tworzenie pakietu z jednostki PDU warstwy transportowej
IPv4 enkapsuluje segmenty albo datagramy warstwy transportowej, po czym pakiet pozostaje nienaruszany od
momentu opuszczenia warstwy sieciowej hosta, który wygenerował dane, aŜ do odbioru przez warstwę sieciową
hosta docelowego. Proces routingu wykonywany na routerze dokonuje wyłącznie odczytu nagłówka pakietu,
który zawiera spakowany segment danych. JednakŜe część danych pakietu (spakowana jednostka PDU warstwy
transportowej) zostaje niezmieniona podczas przetwarzania w warstwie sieci.
Nagłówek pakietu IPv4
Protokół IPv4 definiuje wiele róŜnych pól w nagłówku pakietu. Pola te zawierają wartości binarne, do których
się odwołują usługi protokołu IPv4, gdy przekazują pakiety przez sieć.
Pola w nagłówku pakietu:
źródłowy adres IP - zawiera 32-bitową wartość binarną, która określa adres źródłowego hosta w warstwie sieci
dla pakietu.
docelowy adres IP - zawiera 32-bitową wartość binarną, która określa adres docelowego hosta w warstwie sieci
dla pakietu.
czas Ŝycia (TTL, ang. Time-to-Live) - 8-bitowa wartość binarna, która określa pozostały czas Ŝycia pakietu.
Wartość TTL jest zmniejszana o co najmniej 1 za kaŜdym razem, gdy pakiet przechodzi przez router (tj. za
kaŜdym przeskokiem). Kiedy wartość osiąga 0, router porzuca pakiet i jest on usunięty ze strumienia danych w
sieci. Mechanizm ten chroni pakiety, które nie mogą osiągnąć celu przed przekazywaniem w nieskończoność
pomiędzy routerami w tzw. pętli routingu. JeŜeli pętle routingu byłyby dozwolone, sieć byłaby przeciąŜona
pakietami danych, które nigdy nie osiągną swojego celu. Zmniejszanie wartości TTL przy kaŜdym przeskoku
zapewnia, Ŝe w końcu osiągnie wartość 0 i pakiet, którego pole TTL równe jest 0 będzie odrzucone.
typ usługi (TOS, ang. Type-of-service) - 8-bitowa wartość binarna, która uŜywana jest do określenia priorytetu
kaŜdego pakietu. UmoŜliwia zastosowanie mechanizmów QoS w stosunku do pakietów o wysokim priorytecie,
np. przenoszących dane głosowe. Router przetwarzający pakiety moŜe być tak skonfigurowany, aby decydować,
który z pakietów ma być przesłany jako pierwszy na podstawie wartości ToS.
protokół - 8-bitowa wartość wskazuje typ danych, które pakiet przenosi. Pole protokołu umoŜliwia warstwie
sieci przekazać dane do odpowiedniego protokołu warstwy wyŜszej. Przykładowe wartości: 01 ICMP, 06 TCP,
17 UDP.
przesunięcie fragmentu (ang. Fragment Offset) - router czasami musi podzielić pakiet, kiedy przekazuje go z
jednego medium do innego z mniejszą wartością MTU. Kiedy ten podział nastąpi, pakiet IPv4 uŜywa pola
przesunięcia fragmentu i flagi MF w nagłówku IP do rekonstrukcji pakietu, kiedy ten przybędzie do hosta
docelowego. Pole przesunięcia fragmentu wskazuje porządek w jakim ma być ustawiony kaŜdy z pakietów
podczas rekonstrukcji.
Flaga MF (ang. More Fragments) - jest pojedynczym bitem uŜywanym z polem przesunięcia fragmentu do
podziału i rekonstrukcji pakietów. Kiedy host odbierający zauwaŜy przybywający pakiet z ustawioną wartością
MF=1, sprawdza pole przesunięcia fragmentu, gdzie naleŜy umieścić ten fragment podczas rekonstrukcji
pakietu. Kiedy host odbierający zauwaŜy przybywający pakiet z ustawioną wartością MF=0 i niezerową wartość
w polu przesunięcia fragmentu, umieszcza ten fragment jako ostatni kawałek rekonstruowanego pakietu.
Niepodzielony pakiet ma wszystkie pola dotyczące fragmentacji równe 0 (flaga MF=0, przesunięcie
fragmentacji = 0).
Flaga DF (ang. Don't Fragment) - jest pojedynczym bitem w polu flagi, który wskazuje, Ŝe fragmentowanie
pakietu jest niedozwolone. JeŜeli flaga DF jest ustawiona, wtedy fragmentacja tego pakietu nie jest dozwolona.
JeŜeli router musi podzielić pakiet aby móc przepuścić go do warstwy łącza danych lecz flaga DF jest ustawiona
na 1, wtedy router porzuci dany pakiet.
Wersja - zawiera numer wersji protokołu IP (4).
Długość nagłówka (IHL) - określa rozmiar nagłówka pakietu.
Długość pakietu - to pole podaje w bajtach całkowitą wielkość pakietu, zawierającą nagłówek oraz dane.
Identyfikacja - to pole jest uŜywane do jednoznacznego identyfikowania fragmentów podzielonego pakietu IP.
Suma kontrolna nagłówka - uŜywane jest do sprawdzenia błędów nagłówka pakietu.
Opcje - miejsce na dodatkowe pola w nagłówku IPv4 do obsługi innych usług. Jest ono jednak rzadko uŜywane.
Brama (ang. gateway) – urządzenia pośredniczące - jest to router w sieci, który słuŜy jako wyjście z danej
sieci. Dokonuje konwersji danych w warstwie aplikacji z jednego stosu protokołów na inny.
Adresowanie hierarchiczne – schemat adresacji, w którym sieć jest podzielona na sekcje, z identyfikatorem
sekcji tworzącym jedną część adresu docelowego i z identyfikatorem przeznaczenia tworzącym pozostałą część
adresu.
Aby móc dzielić sieci, musimy uŜyć adresowania hierarchicznego, które jednoznacznie identyfikuje kaŜdego
hosta. Posiada ono poziomy, które wspomagają przekazywanie pakietów poprzez intersieci oraz umoŜliwiają
podział sieci bazując na tych poziomach. Adresy warstwy 3 określają część adresu reprezentującą sieć. Routery
przekierowują pakiety pomiędzy sieciami odnosząc się jedynie do części adresów warstwy sieci, która jest
wymagana, aby kierować pakiet w kierunku sieci docelowej. Kiedy pakiet przybywa do sieci hosta docelowego,
cały adres docelowy tego hosta będzie uŜyty do jego dostarczenia. UŜywanie schematów adresowania
hierarchicznego, oznacza, Ŝe wyŜsze poziomy adresów (podobnie do kraju w adresie pocztowym) mogą być
utrzymane z średnim poziomem oznaczającym adresy sieciowe (stan albo miasto) oraz niŜszym poziomem indywidualne hosty.
Logiczny, 32-bitowy adres IPv4 jest hierarchiczny, poniewaŜ jest stworzony z dwóch części. Pierwsza część
identyfikuje sieć, a druga hosta w tej sieci. Obie części są wymagane, aby uzyskać pełny adres IP. Dla wygody
adresy IPv4 są podzielone na cztery ośmiobitowe grupy (oktety). KaŜdy z oktetów zamieniany jest na wartość
dziesiętną, a pełen adres zapisany czterema wartościami dziesiętnymi, rozdzielonymi kropkami. Np.
192.168.18.57. W tym przykładzie, pierwsze trzy oktety (192.168.18) mogą identyfikować sieć, natomiast
ostatni oktet (57) identyfikuje hosta.
Długość prefiksu – liczba bitów uŜywana do zdefiniowania maski podsieci lub stanowiąca część sieciową
adresu. Np. jeŜeli sieć uŜywa 24 bitów do identyfikacji części sieciowej adresu, prefiks jest reprezentowany jako
/24. W urządzeniach uŜywających adresowania IPv4, prefiks jest określany oddzielnym 32-bitowym numerem,
nazywany maską podsieci.
Maska podsieci – 32-bitowy numer, uŜywany w adresowaniu IPv4, słuŜący do identyfikowania części sieci,
podsieci i hosta adresu IP. Podział na podsieci oznacza dzielenie duŜej sieci na mniejsze, bardziej efektywne do
zarządzania i obsługi częsci
Zwiększenie długości prefiksu lub maski podsieci umoŜliwia utworzenie tych podsieci. W ten sposób
administratorzy sieci mają moŜliwość podziału sieci w celu zaspokojenia róŜnych potrzeb, tj. lokalizacji,
zarządzanie wydajnością sieci i bezpieczeństwa mając pewność, Ŝe kaŜdy z hostów ma unikalny adres.
W obszarze sieci lub podsieci, hosty komunikują się między sobą bez udziału urządzenia pośredniczącego
warstwy sieci. Kiedy host potrzebuje skomunikować się z inną siecią, urządzenie pośredniczące (router) pełni
rolę bramy do innej sieci. Router zwykle potrzebuje trasy, która określa, gdzie przekazać pakiet dalej. Sieć
docelowa moŜe być oddalona o wiele routerów lub przeskoków od bramy. Trasa do tej sieci wskazuje tylko
router następnego przeskoku, do którego pakiet zostanie przekazany, nie będący routerem końcowym. Proces
routingu polega na znalezieniu trasy, poprzez ustalenie adresu kolejnego przeskoku na podstawie docelowego
adresu sieciowego, a następnie przesyłaniu pakietu na adres kolejnego przeskoku. Tak jak urządzenia końcowe,
routery równieŜ posiadają trasy do sieci bezpośrednio przyłączonych w swojej tablicy routingu. Kiedy interfejs
routera ma skonfigurowany adres IP i maskę podsieci, interfejs staje się częścią tej sieci. Tablica routingu
zawiera teraz te sieci, które są bezpośrednio przyłączone.
Tablica routingu - przechowuje informacje o przyłączonych i odległych sieciach.
Sieci przyłączone - to te, które są podłączone bezpośrednio do jednego z interfejsów routera. Te interfejsy są
bramami dla hostów znajdujących się w róŜnych sieciach lokalnych.
Sieci odległe - sieci, które nie są bezpośrednio podłączone do routera. Trasy do tych sieci mogą być
skonfigurowane ręcznie na routerze przez administratora lub nauczone automatycznie przy uŜyciu
dynamicznych protokołów routingu.
Trasy w tablicy routingu posiadają trzy główne parametry:
• sieć docelowa,
• następny przeskok,
• metryka.
Router dopasowuje adres docelowy zapisany w nagłówku pakietu do sieci docelowej trasy w tablicy routingu i
przekazuje pakiet do routera następnego przeskoku, określonego przez tą trasę. Jeśli są dwie lub więcej
moŜliwych tras do tego samego celu, do podjęcia decyzji, która trasa pojawi się w tablicy routingu, uŜywana jest
metryka.
Trasa domyślna (brama ostatniej szansy z ang. Gateway of Last Resort) – trasa wykorzystywana przez
router w sytuacji, gdy w tablicy routingu nie istnieje trasa dla danego pakietu, nie znajduje się sieć docelowa.
Trasa domyślna pasuje ona do wszystkich sieci docelowych. W sieciach IPv4, do tego celu jest uŜywany adres
0.0.0.0. Pakiety z adresem sieci docelowej, dla których nie ma pasującego wpisu o trasie w tablicy routingu są
przekazywane do routera następnego przeskoku wskazanego przez trasę domyślną.
Trasy domyślne są waŜne, poniewaŜ jest nieprawdopodobne, aby router będący bramą posiadał trasy do
wszystkich moŜliwych sieci w Internecie. Jeśli pakiet jest przekazywany przy uŜyciu trasy domyślnej, powinien
ostatecznie przybyć do routera, który posiada specyficzną trasę do sieci docelowej. Ten router moŜe być
routerem, do którego ta sieć jest przyłączona. W takim wypadku, router ten przekaŜe pakiet przez sieć lokalną
do hosta docelowego.
Jeśli pakiet dotrze do routera z adresem docelowym 10.1.1.55, router przekaŜe ten pakiet do routera następnego
przeskoku skojarzonego z trasą do sieci 10.1.1.0. Jeśli trasa do 10.1.1.0 nie znajduje się w tablicy routingu, ale
znajduje się tam trasa do 10.1.0.0, pakiet zostanie przekazany do kolejnego routera dla tej sieci.
Dlatego teŜ, kolejność wyboru trasy dla pakietu kierowanego do 10.1.1.55 będzie następujące:
1. 10.1.1.0
2. 10.1.0.0
3. 10.0.0.0
4. 0.0.0.0 (trasa domyślna, jeśli została skonfigurowana)
5. Odrzucenie pakietu
KaŜdy pakiet jest traktowany niezaleŜnie w kaŜdym routerze wzdłuŜ całej ścieŜki. Na kaŜdym przeskoku router
określa docelowy adres IP dla kaŜdego pakietu a następnie sprawdza tablicę routingu, aby odczytać informację o
sposobie przesłania. Po czym wykona jedną z trzech czynności z pakietem:
• przekaŜe go do routera następnego przeskoku,
• przekaŜe go do hosta docelowego,
• odrzuci go.
Przetwarzanie pakietu - pakiety, które docierają do interfejsu routera są zaenkapsulowane w jednostce PDU
warstwy łącza danych (warstwa 2). Router najpierw zdejmuje enkapsulację warstwy 2, a następnie sprawdza
adres docelowy w nagłówku pakietu. Jeśli pasująca trasa znajdująca się w tablicy routingu wskazuje, Ŝe sieć
docelowa jest bezpośrednio przyłączona do routera, pakiet jest przekazywany do interfejsu, do którego
przyłączona jest ta sieć (w takim przypadku, nie istnieje następny przeskok). Przesłanie pakietu do przyłączonej
sieci, wymaga ponownej enkapsulacji w warstwie 2, a następnie przesłania przez interfejs wyjściowy. Jeśli trasa
pasująca do sieci docelowej pakietu jest siecią odległą, pakiet jest przekazywany do wskazanego interfejsu,
enkapsulowany przez protokół warstwy 2, i wysyłany na adres następnego przeskoku. Ten proces powtarzany
jest wiele razy, aŜ do momentu kiedy pakiet osiągnie sieć docelową.
Jeśli Ŝaden router nie znajdzie w swojej tablicy routingu trasy do sieci docelowej i nie jest wprowadzona trasa
domyślna, pakiet zostanie odrzucony. Jeśli dany router nie ma gdzie przesłać pakietu, protokół IP nie jest
zobowiązany zwracać go do poprzedniego routera. Inne protokoły są uŜywane do raportowania takich błędów.
Routing statyczny – routing. Który działa dzięki ręcznemu wprowadzeniu wpisów do tablicy routingu
Routing dynamiczny - istotą wszystkich routerów w intersieci jest posiadanie aktualnych i poprawnych tras,
utrzymywanie tablic routingu. Dlatego teŜ, uŜywane są dynamiczne protokołu routingu. Protokoły routingu są
zbiorem reguł, za pomocą których routery dzielą się dynamicznie informacjami o routingu. W momencie
stwierdzenia przez dany router zmian w sieciach, dla których pełni on rolę bramy, bądź stanów łączy pomiędzy
routerami, niniejsze informacje są przekazywane do kolejnych routerów. Kiedy router otrzymuje informacje o
nowych lub zmienionych trasach, aktualizuje własną tablicę routingu i następnie przekazuje te informacje do
innych routerów.
Powszechnie stosowane protokoły routingu to:
• protokół RIP (ang. Routing Information Protocol),
• protokół EIGRP (ang. Enhanced Interior Gateway Routing Protocol),
• protokół OSPF (ang. Open Shortest Path First)
Wymiana informacji o trasach zajmuje część pasma sieci. Oznacza to, Ŝe łącza pomiędzy routerami, muszą
posiać niemałą szerokość pasma. Informacja o trasie, którą router otrzymuje, musi zostać przetworzona przez
protokoły takie jak EIGRP i OSPF, aby zostały wpisane do tablicy routingu. Oznacza to, Ŝe routery, które stosują
te protokoły muszą mieć wystarczające moŜliwości przetwarzania jednoczesnej implementacji algorytmów tych
protokołów i wykonywania procesu routingu pakietów. Stosowanie tras statycznych nie zmniejsza
przepustowości sieci, poniewaŜ poszczególne wpisy umieszczane są bezpośrednio w tablicach routingu i nie
wymagają przetwarzania przez sam router. Wadą routingu statycznego jest jego administracja - konfiguracja i
utrzymanie tablic routingu wykonywane jest ręcznie, w celu zapewnienia efektywnego routingu. W wielu
intersieciach uŜywa się kombinacji routingu statycznego, dynamicznego i tras domyślnych, aby zapewnić
niezbędne trasy.
Module 6. Addressing the Network - IPv4.
Adres sieciowy (ang. network address) - adres, który określa całą sieć - standardowy sposób odwoływania się
do sieci. W zakresie adresów IPv4 związanych z daną siecią, pierwszy (najniŜszy) adres zarezerwowany jest dla
adresu sieciowego. W adresie tym wszystkie bity w polu hosta mają wartość 0.
Adres rozgłoszeniowy (ang. broadcast address) - jest specjalnym adresem występującym w kaŜdej sieci,
umoŜliwiającym jednoczesne komunikowanie się ze wszystkimi hostami w danej sieci. Aby wysłać dane do
wszystkich urządzeń końcowych w danej sieci, host wysyła pojedynczy pakiet zaadresowany adresem
rozgłoszeniowym. Jest ostatnim (najwyŜszym) adresem w zakresie adresów związanych z daną siecią. Jest to
adres, w którym wszystkie bity znajdujące się w polu hosta mają wartość 1. W przypadku sieci 10.0.0.0 z 24
bitową maską sieciową, adres rozgłoszeniowy będzie miał postać 10.0.0.255. Adres ten określany jest równieŜ
jako rozgłoszenie skierowane (ang. directed broadcast).
Rozgłoszenie skierowane (ang. directed broadcast) – rodzaj transmisji, w której pojedyncza kopia danych
przekazywana jest do określonej sieci, a następnie rozgłaszana do wszystkich urządzeń tej sieci.
Adres hosta (urządzenia końcowego) – adres przyporządkowany urządzeniu końcowemu pracującemu w sieci.
KaŜde urządzenie końcowe musi być jednoznacznie określone za pomocą unikatowego adresu, aby móc
dostarczyć do niego wysyłany pakiet. W adresacji IPv4 urządzenia końcowe pracujące w danej sieci, mogą mieć
przypisane adresy z zakresu ograniczonego adresem sieciowym oraz rozgłoszeniowym.
Przedrostek (prefix) sieciowy – jest to liczba bitów w adresie, która określa bity (pole) sieci. Np. w zapisie
172.16.4.0 /24, „/24” to długość prefixu, która oznacza, iŜ pierwsze 24 bity określają adres sieci. Oznacza to, iŜ
w tym przypadku ostatnie 8 bitów (ostatni oktet) pozostaje bitami (polem) hosta. W zaleŜności od ilości hostów
w sieci prefix moŜe mieć róŜną długość. NaleŜy zwrócić uwagę, iŜ jego długość wpływa bezpośrednio na zakres
adresów hostów oraz adres rozgłoszeniowy w danej sieci.
Komunikacja hostów w sieci IPv4 odbywa się na 3 sposoby:
• Transmisja pojedyncza (ang. Unicast)
• Rozgłoszenie (ang. Broadcast)
• Rozsyłanie grupowe (ang. Multicast)
Transmisja pojedyncza (ang. Unicast) - proces polegający na wysłaniu pakietu z jednego hosta do innego
określonego hosta. Jest uŜywana w typowych połączeniach pomiędzy dwoma hostami (ang. host-to-host)
zarówno w przypadku usług typu klient serwer jak i węzłów równowaŜnych (ang. peer-to-peer). Pakiety
wysyłane podczas takiego ruchu zawierają adres hosta źródłowego (adres źródłowy) oraz hosta docelowego
(adres docelowy) i mogą być przesyłane w intersieci.
Pakiety przesyłane w ramach ruchu rozgłoszeniowego lub grupowego mające trafić do wielu hostów, jako
adresu docelowego uŜywają specjalnego adresu. Oznacza to, iŜ rozgłoszenia generalnie ograniczane są do sieci
lokalnej. Ruch grupowy w zaleŜności od zakresu i związanych z nim zastosowań moŜe być ograniczony do sieci
lokalnej lub przesyłany w intersieci.
Rozgłoszenie (ang. Broadcast) - proces polegający na wysłaniu pakietu z jednego hosta do wszystkich hostów
w sieci. Transmisja rozgłoszeniowa moŜe być uŜywana między innymi podczas:
• procesu przyporządkowania adresu warstwy wyŜszej do adresu warstwy niŜszej,
• wysyłania Ŝądania adresu,
• wymiany informacji o sposobie routowania pakietów poprzez protokoły routingu.
W przypadku gdy host potrzebuje uzyskać odpowiednie informacje, wysyła do wszystkich w sieci Ŝądanie (ang.
request), nazywane teŜ zapytaniem (ang.query) uŜywając adresu rozgłoszeniowego. Adres ten zapewnia, iŜ
wszystkie pozostałe hosty w sieci otrzymają taki pakiet, a następnie go przeanalizują. Następnie jeden lub więcej
hostów odpowiedzą na to Ŝądanie, uŜywając juŜ najczęściej komunikacji typu unicast.
W przeciwieństwie do pakietów typu unicast, pakiety rozgłoszeniowe ograniczane są najczęściej do sieci
lokalnej i nie są przesyłane przez sieć rozległą. Ograniczenia te zaleŜą od konfiguracji routera brzegowego oraz
typu rozgłoszenia. Istnieją dwa typy rozgłoszeń: skierowane oraz ograniczone.
Rozgłoszenie skierowane (ang. directed broadcast) - jest wysyłane do wszystkich hostów w określonej sieci.
Ten typ uŜywany jest w celu wysłania rozgłoszenia do wszystkich hostów, które znajdują się poza siecią lokalną.
NaleŜy pamiętać, iŜ routery standardowo nie przesyłają tego typu pakietów, ale mogą być skonfigurowane w
taki sposób, Ŝe będą to robić.
Rozgłoszenie ograniczone (ang. limited broadcast) –jest uŜywane do komunikacji, która ograniczona jest do
hostów w lokalnej sieci. Pakiety te uŜywają jako docelowego adresu IPv4 adresu 255.255.255.255. Co oznacza,
iŜ tak zaadresowane pakiety ograniczone są tylko do sieci lokalnej. Dlatego teŜ sieć IPv4 jest traktowana jak
domena rozgłoszeniowa, którą ograniczają routery brzegowe.
Podsumowując - pakiet rozgłoszeniowy przesyłany jest przez urządzenia sieciowe w taki sposób, aby mógł
trafić do wszystkich hostów i być przez nie przeanalizowany. JednakŜe ruch rozgłoszeniowy naleŜy ograniczać,
gdyŜ wpływa on na dodatkowe obciąŜenie sieci i pracujących w niej urządzeń. PoniewaŜ routery ograniczają
domeny rozgłoszeniowe, to podział sieci na mniejsze podsieci powoduje ograniczenie ruchu rozgłoszeniowego a
tym samym zwiększa wydajność sieci.
Rozsyłanie grupowe (ang. Multicast) - proces polegający na wysłaniu pakietu z jednego hosta do określonej
grupy hostów w sieci. Transmisja grupowa wpływa na zredukowanie ruchu poprzez umoŜliwienie nadawcy
wysłanie pojedynczego pakietu do wybranej grupy hostów. W przypadku komunikacji typu unicast,
równoczesne dostarczenie tej samej informacji wielu hostom wymaga wysłania do kaŜdego z nich
indywidualnego pakietu. W przypadku adresu grupowego, nadawca moŜe wysłać pojedynczy pakiet, który trafi
do tysięcy hostów docelowych.
Przykładami transmisji grupowej są:
• dystrybucja audio oraz video,
• wymiana informacji związanej z routingiem realizowana przez protokół routingu,
• dystrybucja oprogramowania,
• rozsyłanie informacji.
Klienci grupowi – są to hosty pragnące otrzymywać określone dane grupowe. UŜywają usług inicjowanych
przez program kliencki, który przypisuje ich do danej grupa multicastowa.
KaŜda grupa (ang. multicast group) jest reprezentowana przez pojedynczy adres grupowy IPv4. Kiedy host
posiadający unikatowy adres IPv4 staje się częścią grupy, traktuje on docierające do niego pakiety zaadresowane
adresem jego grupy tak jakby były to przeznaczone dla niego pakiety typu unicast. W tym celu IPv4 posiada
specjalny zakres adresów od 224.0.0.0 do 239.255.255.255 zarezerwowany dla róŜnych adresów grupowych.
Adresy eksperymentalne
Głównym blokiem adresów zarezerwowanym dla celów specjalnych jest eksperymentalny zakres adresów od
240.0.0.0 do 255.255.255.254. Obecnie adresy te opisywane są jako zarezerwowane do przyszłych zastosowań
(RFC 3330) ale mogą być uŜyte podczas prób oraz doświadczeń.
Adresy grupowe - od 224.0.0.0 do 224.0.0.255 są zarezerwowanymi adresami lokalnymi, wykorzystywanymi
w sieci lokalnej, głównie przez protokoły routingu korzystające podczas wymiany informacji z transmisji
grupowej. Podzielone są na dwie róŜne grupy:
zarezerwowane adresy lokalne (ang. reserved link local addresses) – uŜywane do automatycznego
przypisania adresu IP, gdy nie ma dostępnej Ŝadnej innej metody, jak np. DHCP. Zakres 169.254.1.0 do
169.254.254.255.
adresy o zasięgu globalnym (ang. globally scoped addresses) - mają wartości z zakresu od 224.0.1.0 do
238.255.255.255 i mogą być wykorzystane do wysyłania danych grupowych w sieci Internet. Na przykład adres
224.0.1.1 jest zarezerwowany dla protokołu NTP (ang. Network Time Protocol), słuŜącemu urządzeniom
sieciowym do synchronizacji czasu (ang. time-of-day clocks). Dodatkowym typem adresów grupowych jest:
zakres adresów administracyjnych (ang. administratively scoped addresses) - nazywany równieŜ
ograniczonym zakresem adresów (ang. limited scope addresses) - zastrzeŜony dla grupy lub organizacji.
Adres publiczny – przydzielane są przez InterNIC i składają się z klasowych identyfikatorów sieci lub bloków
adresów CIDR, unikalnych globalnie w Internecie.
Adresy prywatne – uŜywane w wewnętrznych sieciach, nie są routowane w Internecie.
Zakresy adresów prywatnych:
od 10.0.0.0 do 10.255.255.255 (10.0.0.0 /8)
od 172.16.0.0 do 172.31.255.255 (172.16.0.0 /12)
od 192.168.0.0 do 192.168.255.255 (192.168.0.0 /16)
Adresy te nie muszą być unikatowe poza siecią. Hosty nie wymagające dostępu do Internetu, mogą bez
ograniczeń korzystać z prywatnych adresów sieciowych. JednakŜe w sieciach wewnętrznych muszą zostać
zachowane zasady zgodne ze schematami adresacji, tak aby adresy IP nadal jednoznacznie identyfikowały hosty
pracujące w tych sieciach.Wiele hostów w róŜnych sieciach prywatnych, moŜe uŜywać tej samej przestrzeni
adresowe, ale pakiety wykorzystujące adresy te jako źródłowe oraz docelowe, nie powinny pojawiać się w
publicznym Internecie. Zatem routery lub urządzenia pełniące funkcję ściany ogniowej (ang. firewall) będące na
granicy tych sieci prywatnych muszą blokować takie pakiety lub dokonywać zamiany w ich adresacji.
Translacja adresów sieciowych (ang. Network Address Translation - NAT) – proces tłumaczenia adresów
prywatnych na publiczne, w celu połączenia się hostów z Internetem. Usługa ta moŜe być uruchomiona w
urządzeniu znajdującym się na brzegu sieci prywatnej i umoŜliwia hostom w sieci prywatnej “poŜyczenie”
adresu publicznego do komunikacji w sieci rozległej. W większości aplikacji pozwala ona klientom na
bezproblemowy dostęp do usług w Internecie, jednakŜe związane są z nią równieŜ pewne funkcjonalne
ograniczenia.
Wewnętrzna pętla Loopback - jest specjalnym adresem (np. 127.0.0.1), którego host uŜywa, aby skierować
ruch do samego siebie. Adres loopback pozwala na skróconą metodę komunikacji pomiędzy aplikacjami oraz
usługami TCP/IP uruchomionymi na tym samym urządzeniu. UŜycie adresu loopback w przeciwieństwie do
przydzielonego adresu IPv4 pozwala na ominięcie podczas tej komunikacji niŜszych warstw stosu TCP/IP.
Ponadto wykonanie instrukcji ping z tym adresem pozwala na przetestowanie konfiguracji TCP/IP lokalnego
hosta. JednakŜe nie tylko pojedynczy adres 127.0.0.1 moŜe być w ten sposób uŜywany, ale równieŜ cały
zarezerwowany zakres adresów od 127.0.0.0 do 127.255.255.255. Oznacza to, iŜ uŜycie dowolnego adresu z
tego zakresu będzie związane z uŜyciem pętli zwrotnej. Adresy z tego zakresu nigdy nie powinny pojawić się w
Ŝadnym typie sieci.
Adresy typu TEST-NET - blok adresów z zakresu od 192.0.2.0 do 192.0.2.255 (192.0.2.0 /24) zarezerwowany
do celów edukacyjnych. Adresy te mogą być uŜywane w dokumentacji oraz przykładach sieciowych. W
przeciwieństwie do adresów eksperymentalnych, urządzenia sieciowe akceptują te adresy w swojej konfiguracji.
Jednak nie powinny pojawiać się w Internecie.
Historyczne klasy adresowe
Adresy typu unicast klasy A, B i C w przeszłości definiowały sieci określonej wielkości, jako specjalne bloki
adresowe. Takie uŜycie przestrzeni adresowej jest określane mianem adresacji klasowej.
Blok klasy A - został określony w celu umoŜliwienia tworzenia ekstremalnie duŜych sieci zawierających ponad
16 milionów hostów. Klasa A adresów IPv4 ma 8 bitowy prefix, co oznacza, iŜ w adresach tych pierwszy oktet
określa jednoznacznie adres sieciowy (tylko 128 moŜliwych sieci tej klasy mających adresy z zakresu od 0.0.0.0
/8 do 127.0.0.0 /8). Pozostałe trzy oktety uŜywane są do zaadresowania hostów pracujących w tej sieci. Maska
podsieci: 255.0.0.0
Blok klasy B - został określony w celu obsługi średnich i duŜych sieci zawierających ponad 65 000 hostów.
Klasa B adresów IPv4 uŜywa dwóch pierwszych oktetów (16 bitów) do określenia adresu sieciowego. Kolejne
dwa oktety określają adres hosta. Adresy klasy B są bardziej efektywnie wykorzystywane niŜ adresy klasy A,
gdyŜ zajmując 25% wszystkich adresów IPv4, uŜywane są w ponad 16 000 sieciach. Maska podsieci:
255.255.0.0
Blok klasy C - wykorzystuje 24 bitowy prefix, zakres adresowy został określony w celu obsługi małych sieci
skupiających maksymalnie 254 hosty. W sieciach tworzonych w ramach tej klasy trzy pierwsze oktety określają
adres sieciowy, a tylko ostatni oktet moŜe być uŜyty do zaadresowania hostów. Maska podsieci: 255.255.255.0
Adresacja bezklasowa - system, który obecnie wykorzystujemy. W systemie, maski podsieci nie spełniają reguł
określających adresowanie klasowe. Zapewnia to większą elastyczność podczas podziału zakresów adresów IP
na odrębne sieci. Związane jest to bezpośrednio z liczbą hostów, które mają być obsłuŜone w danej firmie, bez
określania przydziału tego adresu do konkretnej klasy.
Przydział adresów wewnątrz sieci powinien być zaplanowany i udokumentowany w celu:
• zabezpieczenia przed duplikacją adresów - w celu zapewnienia poprawnej komunikacji w sieci kaŜdy
host musi posiadać niepowtarzalny adres. Zatem bez prawidłowego planowania oraz dokumentowania
przydziału adresów w ramach tych sieci bardzo łatwo popełnić błąd i przydzielić ten sam adres do więcej niŜ
jednego hosta.
• udostępniania usług oraz sprawowania nad nimi kontroli dostępu - niektóre hosty zapewniają usługi
zarówno dla sieci wewnętrznej jak i zewnętrznej ( np. serwery). Dostęp do tych zasobów moŜe być
kontrolowany za pomocą adresacji warstwy trzeciej. JeŜeli jednak adresy tych zasobów nie są prawidłowo
zaplanowane i udokumentowane, to zapewnienie bezpieczeństwa i dostępności tych usług moŜe być
skomplikowane. Np. gdy serwer ma losowo przydzielony adres, to zapewnienie mu bezpieczeństwa poprzez
blokowanie prób nieautoryzowanego dostępu jest trudne, ponadto klienci mogą nie być w stanie zlokalizować
prowadzonej przez niego usługi.
• monitorowania bezpieczeństwa oraz wydajności – częścią procesu monitorowania jest analiza ruchu
sieciowego ze szczególnym uwzględnieniem adresów, które są źródłami lub odbiorcami nadmiernej ilości
pakietów. Dobrze zaplanowana i udokumentowana adresacja umoŜliwia nam zidentyfikowanie urządzenia, które
posiada ten problematyczny adres.
JeŜeli w sieci znajduje się więcej urządzeń niŜ dostępnych publicznych adresów, to tylko urządzenia
wymagające bezpośredniego dostępu do Internetu tak jak serwery WWW, muszą być skonfigurowane przy
uŜyciu adresu publicznego. Pozostałe urządzenia mogą korzystać z adresów prywatnych, a dostęp do Internetu
moŜe zapewnić im usługa NAT.
Statyczny przydział adresów - administrator sieci musi dla kaŜdego hosta ręcznie skonfigurować informacje
dotyczące sieci, tj. przypisany adres IP hosta, maskę podsieci oraz domyślną bramę. Statyczne adresy mają
pewne zalety nad adresami dynamicznymi. Na przykład są one uŜyteczne dla drukarek, serwerów oraz innych
urządzeń sieciowych, które muszą być dostępne dla klientów w sieci. W przypadku, gdy hosty korzystają z
usług serwera łącząc się z nim za pomocą jego adresu IP, to dostęp do jego usług moŜe stanowić problem, gdy
adres ten ulegnie zmianie. Dodatkowo statyczne przyporządkowanie adresów moŜe zwiększyć kontrolę nad
oferowanymi zasobami w sieci. NaleŜy jednak pamiętać, iŜ ręczne konfigurowanie kaŜdego hosta jest bardzo
czasochłonne.
Dynamiczny przydział adresów - urządzenia końcowe uŜytkownika często korzystają z protokołu DHCP
umoŜliwiającego ich dynamiczną konfigurację. Protokół DHCP umoŜliwia automatyczne przyporządkowanie
hostowi informacji takich jak adres IP, maska podsieci, domyślna brama oraz innych danych związanych z jego
konfiguracją. Poprawna konfiguracja serwera DHCP wymaga określenia zakresu adresów (pula adresów), który
będzie przydzielany klientom DHCP pracującym w sieci. Zakres ten musi być dobrze zaplanowany, tak aby
Ŝaden z adresów nie był uŜywany przez inne urządzenia sieciowe. Usługa DHCP jest preferowanym sposobem
przydziału adresacji IP poszczególnym hostom - zwłaszcza w duŜych sieciach. Zmniejsza ona obciąŜenie osób
odpowiadających za sieciową konfigurację urządzeń oraz zabezpiecza przed mogącymi się zdarzyć pomyłkami
związanymi z błędnym wprowadzaniem danych. W ten sposób adres jest „wydzierŜawiony” hostowi na
określony okres czasu. W przypadku, gdy host zostaje wyłączony lub odłączony od sieci, adres jest traktowany
jako zwolniony, co oznacza, iŜ wraca on do ponownego uŜycia do puli adresów DHCP. Cecha ta przydatna jest
zwłaszcza w przypadku urządzeń mobilnych, które włączają się i wyłączają z sieci.
Adresy dla serwerów oraz urządzeń peryferyjnych
Wszystkie zasoby sieciowe takie jak serwery, czy drukarki powinny posiadać statyczny adres IPv4. Podczas
projektowania sieci naleŜy przewidzieć pewną ilość statycznych adresów dla takich urządzeń. Serwery i
urządzenia peryferyjne są miejscami koncentrującymi duŜy ruch sieciowy. Wiele pakietów jest wysyłanych
zarówno do jak i z tych urządzeń. Zatem w przypadku monitorowania ruchu sieciowego, administrator powinien
być w stanie szybko zidentyfikować te urządzenia. Konsekwentne uŜycie określonego spójnego sposobu
numeracji tych urządzeń powoduje, iŜ identyfikacja ta staje się łatwiejsza.
Adresy hostów, do których moŜliwy jest dostęp z Internetu
W większości sieci korporacyjnych, tylko kilka urządzeń dostępnych jest spoza firmy, najczęściej są to serwery.
Zatem, tak jak we wszystkich urządzeniach zapewniających usługi sieciowe, równieŜ i w tym przypadku
przydzielony tym urządzeniom adres IPv4 powinien być statyczny. Dla serwerów, które mają być dostępne z
Internetu, adres ten musi być adresem publicznym. W przypadku zmiany tego adresu urządzenie nie będzie
dostępne z Internetu. JednakŜe często urządzenia te znajdują się w sieciach prywatnych. Oznacza to, iŜ router
lub urządzenie pełniące funkcję ściany ogniowej znajdujące się na granicy sieci musi zostać skonfigurowane w
taki sposób, aby mogło tłumaczyć wewnętrzny adres serwera na adres publiczny. Ze względu na tą dodatkową
konfigurację urządzenia pośredniczącego bardzo waŜnym jest, aby miało ono zaplanowany wcześniej adres.
Adresy urządzeń pośredniczących
Prawie cały ruch wewnątrz lub między sieciami przechodzi przez róŜnego rodzaju urządzenia sieciowe., które
zarazem koncentrują ruch sieciowy. Dlatego teŜ są one odpowiednim miejscem, w którym moŜna siecią
zarządzać, monitorować ją oraz dbać o jej bezpieczeństwo. Urządzenia takie jak koncentratory (ang. hub),
przełączniki (ang. switch) oraz bezprzewodowe punkty dostępowe (ang. wireless access point) podczas swojej
pracy nie wymagają przydzielenia adresu IPv4. JednakŜe jest on niezbędny w sytuacji, gdy chcemy je w sposób
zdalny konfigurować, monitorować ich pracę oraz analizować pojawiające się problemy w działaniu sieci.
PoniewaŜ musimy wiedzieć, w jaki sposób naleŜy komunikować się z tymi urządzeniami, powinny one posiadać
zaplanowane wcześniej adresy. Adresy te najczęściej przypisywane są w sposób ręczny. Ponadto powinny one
zajmować inny zakres niŜ blok adresów związanych z urządzeniami uŜytkowników.
Routery i ściany ogniowe
Routery oraz ściany ogniowe do kaŜdego swojego interfejsu mają przydzielony adres IPv4. KaŜdy interfejs
znajduje się w innej sieci i pełni funkcję bramy dla hostów tej sieci. Najczęściej adres routera jest najniŜszym
lub najwyŜszym uŜytecznym adresem w sieci. Przyporządkowanie to powinno być jednoznaczne w całej sieci
korporacyjnej, tak aby administratorzy zawsze wiedzieli jaki jest adres bramy niezaleŜnie od sieci, w której
pracują. Interfejsy routera oraz ściany ogniowej są punktami koncentrującymi ruch wchodzący oraz wychodzący
z sieci. Wiele pakietów przepływa przez te interfejsy, poniewaŜ hosty w kaŜdej sieci uŜywają ich jako bramy
wyjściowej w ruchu kierowanym poza sieć. Urządzenia te odgrywają znaczącą rolę w zapewnieniu
bezpieczeństwa sieci poprzez filtrowanie pakietów w oparciu o źródłowe oraz/lub docelowe adresy IPv4.
Łączenie róŜnych typów urządzeń w jedną logiczną grupę adresową zwiększa efektywność takiego filtrowania.
W związku z problemem wyczerpywania się dostępnych adresów IPv4, stworzono protokół IPv6, który się
charakteryzuje:
• 128-bitową hierarchiczną adresacją - w celu zwiększenia przestrzeni adresowej,
• uproszczeniem formatu nagłówka – w celu udoskonalenia obsługi pakietów,
• udoskonaleniem obsługi rozszerzeń oraz opcji – w celu zwiększenia skalowalności, wydłuŜenia czasu
uŜyteczności oraz udoskonalenia obsługi pakietów,
• moŜliwością znakowania strumienia (ang. flow label) – w celu uruchomienia mechanizmów QoS,
• moŜliwością zapewnienia weryfikacji oraz prywatności – w celu zintegrowania bezpieczeństwa.
Wraz z IPv6 tworzone są nowe protokoły, związane z róŜnymi warstwami stosu, które mają zapewnić
funkcjonalność IPv6. Jednym z przykładów moŜe być nowy protokół ICMPv6 oraz nowe protokoły routingu.
NaleŜy zwrócić uwagę, iŜ zwiększona wielkość nagłówka IPv6 w porównaniu do IPv4, implikuje zmiany w
podstawowej infrastrukturze sieci. Skalowalność tworzonego protokołu IPv6 ma umoŜliwić rozbudowę sieci
przez wiele kolejnych lat. JednakŜe jak na razie jest on wprowadzany powoli tylko w wybranych sieciach.
Maska podsieci
W celu zdefiniowania części sieciowej oraz hosta w adresie, urządzenia uŜywają oddzielnego 32-bitowego
wzorca nazywanego maską podsieci. Prefix oraz maska podsieci są równoznaczne i pozwalają na jednoznaczne
określenie części sieciowej oraz części hosta w adresie IP. Podczas konfiguracji hosta adres IPv4 określany jest
razem z maską podsieci, tak aby było moŜliwym określenie części sieciowej w tym adresie.
Ze względu na fakt, iŜ w masce podsieci bity określające pole sieci, muszą składać się z samych jedynek, to w
obrębie oktetu liczba moŜliwych wartości określających maskę jest mocno ograniczona. Analiza binarna oktetu
jest niezbędna tylko w przypadku, gdy w jednym oktecie znajdują się zarówno bity sieci jak i hosta. Tak więc w
obrębie oktetu mamy do czynienia z ograniczoną liczbą (9 moŜliwości) 8-bitowych wzorców uŜywanych w
adresie maski.
Wzorcami tymi są:
00000000 = 0
10000000 = 128
11000000 = 192
11100000 = 224
11110000 = 240
11111000 = 248
11111100 = 252
11111110 = 254
11111111 = 255
Gdy wartość maski podsieci dla danego oktetu wynosi 255, oznacza to, iŜ wszystkie bity w tym oktecie są
jedynkami, a zatem wszystkie reprezentują pole sieci. Podobnie, gdy wartość maski dla danego oktetu wynosi 0,
oznacza to, iŜ wszystkie bity w tym oktecie reprezentują pole hosta. W kaŜdym z tych dwóch przypadków nie
trzeba przeliczać oktetu na wartość binarną, aby określić pole sieci i pole hosta.
W celu określenia adresu sieci, w której działa dany host, naleŜy wykonać logiczną operację AND
wykorzystując adres IPv4 hosta oraz maskę podsieci. Otrzymana w ten sposób wartość jest szukanym adresem
sieci. W masce podsieci wszystkie bity odpowiadające bitom hosta mają wartość 0, zatem w wyniku tej operacji
wszystkie bity w części hosta otrzymają wartość 0. Warto zauwaŜyć, iŜ adres IPv4 posiadający same zera w polu
hosta jest właśnie adresem sieciowym. Analogicznie wszystkie bity w masce podsieci reprezentujące część
sieciową mają wartość 1. Zatem w wyniku dodania do nich w sposób logiczny (AND) odpowiadającego im
adresu w postaci binarnej, otrzymamy dokładnie ten sam adres binarny.
Routery uŜywają operacji AND, aby określić odpowiednią trasę routingu dla przesyłanego pakietu. Router
odczytuje adres docelowy, a następnie próbuje skojarzyć go z adresem następnego skoku. Po otrzymaniu
pakietu, router realizuje operację AND uŜywając odczytany adres docelowy IP oraz maskę podsieci związaną z
potencjalną trasą routingu. Otrzymany w wyniku tej operacji adres sieciowy porównywany jest z adresem
potencjalnej trasy, z którą związana była wykorzystana maska. Router przechowuje wszystkie informacje o
dostępnych trasach w tablicy zwanej tablicą tras (ang. routing table).
Host źródłowy przed wysłaniem pakietu, musi sprawdzić, czy naleŜy go wysłać bezpośrednio do hosta
docelowego znajdującego się w tej samej sieci lokalnej, czy teŜ przesłać go poprzez bramę. Aby podjąć
odpowiednią decyzję, host musi najpierw określić adres sieci, w której się znajduje. Realizuje to za pomocą
operacji AND wykorzystując swój adres oraz związaną z nim maskę podsieci. W analogiczny sposób przed
wysłaniem pakietu musi on zdecydować czy host docelowy znajduje się w jego sieci lokalnej. W tym celu
stosuje operację AND na adresie docelowym oraz swojej masce podsieci. W wyniku otrzymuje on adres sieci
docelowej. W przypadku, gdy adres sieci docelowej pokrywa się z adresem sieci lokalnej, pakiet wysyłany jest
bezpośrednio do hosta docelowego. W przeciwnym razie pakiet wysyłany jest do bramy.
Podczas rozwiązywania problemów, często musimy określić, w jakiej sieci znajduje się dany host lub teŜ czy
dwa hosty znajdują się w tej samej sieci. Oczywiście sytuację tą musimy rozwaŜać z punktu widzenia
urządzenia sieciowego. Okazuje się, iŜ w wyniku błędnej konfiguracji (np. błędnie przypisanej maski podsieci),
host moŜe wnioskować, iŜ znajduje się w innej sieci niŜ jest w rzeczywistości. MoŜe to powodować dziwne
zachowanie hosta, które cięŜko jest wytłumaczyć dopóki nie zrealizuje się operacji AND w taki sposób jak robi
to dany host.
Podstawy podziału podsieci
Podział na podsieci umoŜliwia tworzenie wielu logicznych sieci z przydzielonego jednego bloku adresów. W
celu połączenia tych sieci w jedną funkcjonującą całość, naleŜy zastosować router, którego interfejsy będą
skonfigurowane przy uŜyciu róŜnych unikatowych adresów, związanych z poszczególnymi sieciami.
Jednocześnie wszystkie węzły podłączone do danego interfejsu muszą posiadać adresy związane z tą samą
siecią, co interfejs routera.
Stworzenie podsieci jest moŜliwe poprzez wykorzystanie jednego lub więcej bitów hosta, jako dodatkowych
bitów sieci. Realizowane jest to poprzez wydłuŜenie maski, określającej ile bitów zostało poŜyczonych z pola
hosta w celu numerowania podsieci. Im więcej bitów zostanie poŜyczonych, tym więcej podsieci moŜe zostać
stworzonych. ZauwaŜmy, iŜ kaŜdy poŜyczony bit z pola hosta podwaja ilość moŜliwych do zrealizowania
podsieci. Dla przykładu, w przypadku, gdy poŜyczymy 1 bit, moŜemy zrealizować 2 podsieci. JeŜeli poŜyczymy
2 bity, moŜemy mieć 4 podsieci. JednakŜe z drugiej strony, im więcej bitów poŜyczamy, tym mniej bitów
pozostaje do zaadresowania hostów w danej podsieci.
Przykładowy router ma dwa interfejsy pozwalające na połączenie dwóch sieci. Dla przydzielonego bloku
adresów 192.168.1.0 /24 (maska: 255.255.255.0) stworzymy dwie podsieci. W tym celu poŜyczymy jeden bit z
części hosta poprzez zastosowanie maski 255.255.255.128, zamiast oryginalnej maski. Oznacza to, iŜ w tym
przypadku najbardziej znaczący bit w ostatnim oktecie został uŜyty w celu odróŜnienia tych dwóch podsieci.
Dla jednej z nich ma on wartość „0”, a dla drugiej „1”. Dwie podsieci wyglądają następująco: 192.168.1.0 /25
(maska: 255.255.255.128) i 192.168.1.128 /25 (maska: 255.255.255.128). Analogicznie moŜna stworzyć 4, 6…
podsieci.
Technika VLSM - umoŜliwia dopasowanie wielkości bloków adresów do poszczególnych podsieci. Przez co
wielkość kaŜdej podsieci odpowiada stawianym jej wymaganiom dotyczącym ilości obsługiwanych hostów.
UŜycie techniki VLSM umoŜliwia minimalizację ilości traconych adresów. Najlepszą praktyką jest rozpoczęcie
tego procesu od udokumentowania wszystkich wymogów zaczynając od największych, a kończąc na
najmniejszych. Sposób ten pozwala uniknąć dwukrotnego przydzielenia róŜnym podsieciom tego samego bloku.
Metoda zestawienia VLSM jest jednym z moŜliwych narzędzi, które mogą wykorzystać administratorzy oraz
technicy sieciowi podczas tworzenia schematów adresacji, które w lepszy sposób niŜ standardowy podział na
podsieci wykorzystują dostępne adresy.
Ping - jest komendą umoŜliwiającą testowanie połączenia IP pomiędzy hostami. Realizowane jest to poprzez
wysłanie Ŝądania do określonego hosta, po którym następuje oczekiwanie na jego odpowiedź. Ping
wykorzystuje protokół warstwy trzeciej, który stanowi część zestawu TCP/IP, a nazywany jest protokołem ICMP
(ang. Internet Control Message Protocol). Funkcja ta wykorzystuje datagram Ŝądania echa (ang. Echo Request
datagram). Po otrzymaniu kaŜdej odpowiedzi, funkcja ping wyświetla na ekranie zmierzony czas oraz inne
informacje związane z otrzymanym pakietem. Parametry te pozwalają na diagnostykę testowanego połączenia.
W celu optymalizacji działania funkcji ping, ma ona zdefiniowaną maksymalną wartość czasu oczekiwania na
odpowiedź (ang. timeout). W przypadku, gdy w ciągu tego czasu odpowiedź nie dotrze do hosta, ping przestaje
na nią oczekiwać i wyświetla na ekranie odpowiedni informujący o tym komunikat. Po wysłaniu wszystkich
Ŝądań, funkcja ping podsumowuje zrealizowany test wyświetlając statystyki dotyczące otrzymanych
odpowiedzi. Podsumowanie to zawiera informacje o ilości wysłanych i odebranych pakietów oraz o czasie,
który upłynął od wysłania Ŝądania do otrzymania odpowiedzi.
Traceroute (tracert) – polecenie, pozwalające obserwowanie ścieŜki, którą przesyłany jest pakiet pomiędzy
hostami. Narzędzie to podczas swojego działania wyświetla listę skoków (routerów) znajdujących się na drodze
przesyłanego pakietu. W przypadku, gdy wysłany pakiet dotrze do odbiorcy, wyświetlana lista przedstawiać
będzie wszystkie routery, które znalazły się na jego drodze. JeŜeli jednak jakiś router nie przesłał danych dalej,
to na liście będziemy widzieli adres ostatniego routera, który odpowiedział na nasze Ŝądanie. Informacja ta
wskazuje na miejsce, w którym występuje problem w funkcjonalności routera lub, w którym zastosowano
ograniczenia związane z polityką bezpieczeństwa sieci.
Czas obiegu danych RTT (ang. Round Trip Time) - czas obiegu danych RTT dla kaŜdego skoku leŜącego na
ścieŜce prowadzącej do adresata. Czas RTT mierzony jest od wysłania Ŝądania aŜ do momentu uzyskania
odpowiedzi od odpytywanego hosta. JeŜeli w przypadku testowania konkretnego skoku otrzymujemy dla niego
duŜy parametr RTT lub tracone są pakiety oznacza to, iŜ jego zasoby lub łącze jest mocno obciąŜone.
Czas Ŝycia pakietu TTL (ang. Time to Live) - pole uŜywane jest w celu ograniczenia ilości skoków
(routerów), przez które moŜe przejść pakiet. Oznacza to, iŜ kaŜdorazowe przejście pakietu przez router
powoduje zmniejszenie w nim wartości pola TTL o jeden. W przypadku, gdy wartość TTL osiągnie zero, router
nie przesyła dalej pakietu i odrzuca go.
Podczas badania drogi przy uŜyciu komendy traceroute host źródłowy wysyła pakiet do hosta docelowego
określając jednocześnie wartość pola TTL równą 1. Oznacza to, iŜ pakiet ten zostanie odrzucony na pierwszym
routerze. Oczywiście router ten wyśle nadawcy informację w postaci komunikatu ICMP. Dzięki niej host
źródłowy pozna adres pierwszego skoku. Następnie komenda traceroute kolejno zwiększa wartość TTL (2, 3, 4
...) po kaŜdej otrzymanej wiadomości ICMP. Pozwala to na określenie adresów kaŜdego z kolejnych skoków,
które odrzuciły pakiet. Wartość pola TTL jest zwiększana tak długo dopóki pakiet nie dotrze do adresata lub teŜ
nie zostanie przekroczona jego predefiniowana maksymalna wartość. Ostatecznie host docelowy odbiera pakiet i
odpowiada na niego np. komunikatem o niedostępności portu (ang. ICMP Port Unreachable message) lub
odpowiedzią na echo (ang. ICMP Echo Reply),w przeciwieństwie do komunikatu o przekroczeniu czasu.
ICMP (ang. Internet Control Message Protocol) – protokół internetowy warstwy sieci, który zgłasza błędy i
dostarcza informacji związanych z przetwarzaniem pakietów IP. Wykorzystywany jest przez funkcje ping oraz
traceroute. Zatem protokół ten zapewnia podstawowe wsparcie dla protokołu IP, tak jakby stanowił on element
wyŜszej warstwy. W rzeczywistości zaś znajduje się on w warstwie trzeciej stosu TCP/IP. W przypadku
pojawienia się błędu, IPv4 generuje odpowiednią informację i wysyła w postaci komunikatu ICMPv4. Celem
tych wiadomości jest informowanie zwrotne nadawcy o realizowanej obsłudze przesyłania pakietu, nie zaś
zapewnienie niezawodności protokołowi IP. Komunikaty ICMP nie są niezbędne do poprawnego działania sieci
i często są zabronione ze względu na realizowaną w sieci politykę bezpieczeństwa.
Wysyłane komunikaty ICMP mogą zawierać informacje o:
• potwierdzeniu dostępności hosta - celu sprawdzenia, czy określony host w danym momencie jest
dostępny w sieci. Adresat odbierając tą wiadomość, odpowiada na nią.
• niedostępnym adresacie lub usłudze - moŜe zostać uŜyty, aby powiadomić nadawcę, iŜ adresat lub
związana z nim usługa nie jest dostępna. W przypadku, gdy host lub brama otrzymują pakiet, którego nie mogą
dostarczyć mogą o tym powiadomić nadawcę.
• przekroczonym czasie - w celu poinformowania, iŜ pakiet nie moŜe zostać dalej przesłany poniewaŜ
zawarte w nim pole TTL osiągnęło wartość zero, informując go tym samym o przyczynie odrzucenia tego
pakietu.
• przekierowaniu trasy - w celu powiadomienia hostów pracujących w sieci o lepszej trasie do konkretnej
sieci docelowej.
• tłumieniu źródła – np. gdy router nie posiada wystarczająco duŜego bufora, aby przechować w nim
kolejne odbierane pakiety, będą one przez niego odrzucane. W tej sytuacji moŜe wysłać on do hosta źródłowego
komunikat o tłumieniu źródła po kaŜdej utraconej wiadomości.
Module 7. Data Link Layer.
Pakiety warstwy sieci muszą być transportowane od hosta źródłowego do docelowego poprzez róŜne fizyczne
sieci. Te fizyczne sieci mogą być zbudowane z róŜnych fizycznych nośników danych takich jak kable
miedziane, światłowody, sieci bezprzewodowe czy łącza satelitarne. Pakiety warstwy sieciowej nie mają
bezpośredniego dostępu do róŜnych mediów transmisyjnych. Rolą warstwy łącza danych jest przygotowanie
pakietów warstwy sieci do transmisji oraz określenie sposobu dostępu do fizycznego medium transmisyjnego.
Warstwa łącza danych dostarcza dwie podstawowe usługi:
• UmoŜliwia uzyskanie dostępu wyŜszym warstwom do medium, uŜywając do tego celu procesu znanego
jako ramkowanie
• Kontroluje, jak dane są umieszczane w medium i są pobierane z medium, uŜywając algorytmu kontroli
dostępu do medium i detekcji błędów.
Ramka - Jednostka danych protokołu (PDU) warstwy łącza danych.
Węzeł - w notacji warstwy 2 oznacza urządzenie sieciowe przyłączone do wspólnego medium.
Media/Medium (fizyczne) - Fizyczne oznacza, iŜ dotyczy transferu informacji pomiędzy dwoma węzłami.
Sieć (fizyczna) - Dwa lub więcej węzłów podłączonych do wspólnego medium
Warstwa łącza danych jest odpowiedzialna za wymianę ramek pomiędzy węzłami poprzez medium fizycznej
sieci.
Warstwa łącza danych zwalnia wyŜsze warstwy z odpowiedzialności za umieszczanie i odbieranie danych z
sieci. Skutecznie oddziela procesy komunikacyjne mające miejsce w warstwach wyŜszych od medium. Pakiet
jest odbierany i przekazywany protokołom wyŜszej warstwy, np. IPv4 lub IPv6, które nie muszą zwaŜać na
rodzaj medium uŜytego do komunikacji. Warstwa ta dostarcza usług wspomagających proces komunikacji dla
kaŜdego z medium, przez które dane są przesyłane. Bez tej warstwy, protokoły warstwy sieci, takie jak IP,
musiałyby przewidzieć połączenia dla kaŜdego typu medium mogącego wystąpić wzdłuŜ ścieŜki. Dodatkowo,
protokół IP musiałby być uaktualniany za kaŜdym razem przy wprowadzaniu nowej technologi sieciowej lub
medium.
Do transmisji pakietów warstwy sieci moŜe być wykorzystanych wiele róŜnych warstw łącza danych oraz
mediów transmisyjnych. Przy kaŜdym przeskoku wzdłuŜ ścieŜki do hosta docelowego, urządzenie pośrednie,
którym jest zazwyczaj router, akceptuje ramkę z medium, dekapsuluje ją i następnie przekazuje pakiet
zenkapsulowany w nowej ramce do medium w następnym segmencie sieci. Zakres usług warstwy łącza danych
musi zawierać wszystkie uŜywane powszechnie typy mediów i metod dostępu do nich.
Metoda kontroli dostępu (ang. media access control) - technika polegająca na określeniu sposobu
enkapsulacji pakietów w ramki oraz na umieszczanie i pobieraniu ich z medium. Opisane są przez protokoły
warstw łącza danych i definiują proces, w jaki urządzenia sieciowe uzyskują dostęp do medium i transmitują
ramki w róŜnorodnych środowiskach sieciowych. Metody kontroli dostępu do medium zaleŜą od:
• Współdzielenia medium - czy i jak węzły współdzielą medium
• Topologii - sposób w jaki nawiązywane jest połączenie pomiędzy węzłami w warstwie łącza danych
Niektóre topologie sieciowe umoŜliwiają współdzielenie medium przez wiele węzłów. Istnieją zasady ustalające
w jaki sposób urządzenia współdzielą medium:
• Kontrolowana (ang. Controlled) - urządzenia sieciowe po kolei, sekwencyjnie, otrzymują dostęp do
medium. JeŜeli urządzenie nie potrzebuje dostępu do medium, moŜliwe jest przekazanie przysługującego
dostępu następnemu urządzeniu. Kiedy jakieś urządzenie umieści ramkę w medium, kaŜde inne urządzenie musi
czekać, aŜ ramka dotrze do urządzenia docelowego i będzie przez niego przetworzona.
• Bazująca na rywalizacji (ang. Contention-based) - zezwala na dostęp do medium kaŜdemu
urządzeniu, które chce wysyłać dane. Aby zapobiec całkowitemu chaosowi w medium, metody te stosują proces
Carrier Sense Multiple Access (CSMA) do wykrywania sygnału aktualnie przenoszonego przez medium.
JeŜeli wykryty zostanie sygnał przenoszony przez medium, oznaczać to będzie, Ŝe inne urządzenie przesyła
dane. Wtedy urządzenie pragnące wysłać dane stwierdzi, Ŝe medium jest zajęte i poczeka ono pewien krótki
przedział czasu zanim ponowi próbę wysłania danych. JeŜeli nie wykryje sygnału, urządzenie rozpocznie
przesyłanie danych. Ethernet i sieci bezprzewodowe uŜywają metody dostępu do medium bazującej na
rywalizacji. JeŜeli proces CSMA zawiedzie i dwa urządzenia będą transmitować dane w tym samym czasie.
Wystąpi wtedy kolizja danych (ang. data collision). Dane wysłane przez oba urządzenia w przypadku
wystąpienia kolizji zostaną utracone i będzie konieczne ponowne ich wysłanie.
CSMA jest najczęściej zaimplementowany w połączeniu z metodą rozwiązywania konfliktów połączenia z
medium:
CSMA/Collision Detection CSMA/CD - urządzenia monitorują bieŜące występowanie sygnału w medium.
Niewystępowanie sygnału oznacza, Ŝe medium jest wolne i urządzenie moŜe wysłać dane. JeŜeli podczas
nadawania urządzenie wykryje sygnał, który jest nadawany przez inne urządzenie, wszyscy nadający przestają
transmitować. Spróbują wysłać ramkę później. Tradycyjne postaci Ethernetu uŜywają tej metody.
CSMA/Collision Avoidance CSMA/CA - urządzenie sprawdza bieŜące występowanie sygnału w medium.
Kiedy medium jest wolne, urządzenie chcące nadawać wysyła krótką informację, Ŝe chciałoby uŜyć medium.
Następnie urządzenie wysyła dane. Metoda ta jest uŜywana w sieciach bezprzewodowych 802.11
Komunikacja half-duplex - oznacza, Ŝe urządzenia mogą wysyłać i odbierać dane z medium, ale nie mogą tego
robić jednocześnie. Technologia Ethernet zawiera reguły arbitraŜu słuŜące do rozwiązywania konfliktów
powstających w sytuacjach, gdy więcej niŜ jedna stacja próbuje nadawać w tym samym czasie.
W komunikacji full-duplex - oba urządzenia mogą odbierać i wysyłać dane jednocześnie. Warstwa łącza
danych zakłada, Ŝe medium jest dostępne do transmisji dla obu węzłów w dowolnym czasie. Dlatego teŜ nie jest
wymagana metoda arbitraŜu w warstwie łącza danych.
Węzeł, którym jest końcowe urządzenie, uŜywa interfejsu, aby podłączyć się do sieci. Np, aby podłączyć się do
sieci LAN, urządzenie powinno uŜywać odpowiedniej karty sieciowej (ang. NIC) uzaleŜnionej od
zastosowanego medium sieciowego. Karta sieciowa zarządza ramkowaniem oraz kontrolą dostępu do medium.
W urządzeniach pośredniczących takich jak router, który moŜe być podłączony do róŜnych mediów sieciowych
jednocześnie, uŜywane są róŜne fizyczne interfejsy sieciowe do enkapsulacji pakietów w ramki. UŜywane są
równieŜ odpowiednie metody kontroli dostępu dla kaŜdego z łączy.
Protokoły warstwy łącza danych wymagają informacji kontrolnych, aby umoŜliwić funkcjonowanie protokołów.
Ramka warstwa łącza danych zawiera:
• Dane - pakiet z warstwy sieci
• Nagłówek - zlokalizowany na początku PDU, zawiera kontrolne informacje, takie jak adresowanie.
• Pole końcowe - zawiera kontrolne informacje dodawane na końcu PDU
Dane transportowane przez medium są konwertowane na strumień bitów - zer i jedynek. Aby węzeł odbierający
długi strumień bitów mógł określić, gdzie jest początek i koniec ramki, strumień bitów jest dzielony na grupy.
W nagłówku i polu końcowym umieszczone są informacje kontrolne, których wartości znajdują się w róŜnych
polach. Dzięki temu formatowi, fizyczny sygnał posiada strukturę umoŜliwiającą docelowemu węzłowi na
dekodowanie tego sygnału w pakiety. Pola na końcu ramki formują pole końcowe. UŜywane są one do
wykrywania błędów i określają koniec ramki.
Podwarstwy łącza danych
• Logical Link Control (LLC) umieszcza w ramce informacje identyfikujące, który protokół warstwy
sieci jest enkapsulowany w ramce. Informacja ta pozwala wielu protokołom warstwy 3, takim jak IPX i IP,
wykorzystywać te same sieciowe interfejsy i media.
• Sterowanie dostępem do medium (Media Access Control (MAC)) jest podwarstwą warstwy łącza
danych odpowiedzialną za adresowanie i sterowanie danymi zgodnie z ograniczeniami fizycznymi medium oraz
rodzajem protokołu warstwy łącza danych.
Dzielenie warstwy łącza danych na dwie podwarstwy pozwala jednemu typowi ramki zdefiniowanej przez
wyŜszą warstwę na dostęp do róŜnego typu medium, które jest zdefiniowane przez niŜszą warstwę. Taka
sytuacja ma miejsce w wielu technologiach LAN, włączając w to Ethernet.
W przeciwieństwie do protokołów wyŜszych warstw, które są implementowane zazwyczaj w oprogramowaniu
systemu operacyjnego lub danej aplikacji, procesy warstwy łącza danych występują zarówno w
oprogramowaniu, jak i sprzęcie. Protokoły tej warstwy są implementowane na poziomie elektroniki adapterów
sieciowych, przez które to urządzenie łączy się z fizyczną siecią.
Topologia fizyczna sieci – opisuje konfigurację kabli, komputerów i innych urządzeń, odzwierciedla połoŜenie
węzłów oraz fizyczne ich połączenia.
Topologia logiczna – schemat rozmieszczenia urządzeń i sposobu ich komunikacji między sobą. Pokazuje
przepływ danych. Te logiczne ścieŜki przepływu danych są definiowane przez protokoły warstwy łącza danych.
Warstwa łącza danych, kiedy steruje dostępem danych do medium, "widzi" topologię logiczną sieci. Logiczna
topologia ma wpływ na typy ramek oraz na stosowaną metodę kontroli dostępu. Odnosi się do mechanizmów
uŜywanych do zarządzania dostępem do sieci. Kiedy kilka urządzeń współdzieli to samo medium, musi istnieć
jakiś mechanizm kontroli dostępu do medium.
Logiczne i fizyczne topologie: punkt-punkt, wielodostępowe, pierścienia.
Topologia punkt-punkt
W topologii punkt-punkt dwa węzły połączone są bezpośrednio ze sobą, więc metody kontroli dostępu do
medium mogą być bardzo proste. Wszystkie ramki w medium mogą tylko przepływać pomiędzy tymi dwoma
węzłami. JeŜeli dane mogą przepływać tylko w jedną stronę w danej chwili, to połączenie pracuje w trybie halfduplex. JeŜeli dane mogą przepływać jednocześnie w obu kierunkach pomiędzy węzłami, to połączenie pracuje
w trybie full-duplex.
Logiczne sieci punkt-punkt
Końcowe węzły komunikujące się w sieci punkt-punkt mogą być fizycznie połączone przez wiele pośrednich
urządzeń, jednak nie ma to wpływu na logiczną topologię. Logiczne połączenie pomiędzy węzłami nazywane
jest wirtualnym obwodem (ang. virtual circuit), który jest logicznym połączeniem tworzonym poprzez sieć
pomiędzy dwoma urządzeniami sieciowymi. Pomiędzy końcowymi węzłami tworzącymi wirtualny obwód
występuje wymiana ramek. Wirtualne obwody są bardzo waŜną logiczną konstrukcją, wykorzystywaną przez
niektóre protokoły warstwy 2. Metoda dostępu do medium stosowana przez protokół warstwy łącza danych jest
określana przez logiczną topologię punkt-punkt, a nie topologię fizyczną. Oznacza to, Ŝe logiczne połączenie
punkt-punkt między dwoma węzłami nie znaczy, Ŝe musi być to połączeniem między dwoma węzłami
znajdującymi się na końcach jednego fizycznego łącza.
Logiczna topologia wielodostępowa umoŜliwia wielu węzłom komunikowanie się poprzez to samo
współdzielone medium. W medium, w danej chwili mogą znajdować się tylko dane pochodzące z jednego z
węzłów. KaŜdy węzeł widzi wszystkie ramki przepływające przez medium, ale tylko węzeł, do którego ramka ta
jest adresowana będzie analizował jej zawartość. Występowanie wielu węzłów współdzielących dostęp do
medium wymaga metody kontroli dostępu do medium, w celu regulowania transmisji danych tak, aby
zredukować występowanie kolizji pomiędzy róŜnymi sygnałami. Takimi są CSMA/CD i CSMA/CA.
W logicznej topologii pierścienia kaŜdy węzeł po kolei odbiera ramkę. JeŜeli ramka ta nie jest adresowana do
tego węzła, przekazywana jest do węzła następnego. Technika kontroli dostępu do medium stosowana w
topologii pierścienia nazywana jest metodą przekazywania Ŝetonu (ang. token passing). W pierścieniu,
wszystkie węzły pomiędzy źródłowym, a docelowym hostem, sprawdzają adres w ramce. NaleŜy pamiętać, Ŝe
warstwa łącza danych "widzi" logiczną topologie pierścienia. Jest tak mimo, Ŝe fizyczna topologia moŜe być
zupełnie inna.
Protokół warstwy łącza danych określa wymagane parametry potrzebne do transportu pakietu przez róŜne
media. Parametry protokołu są określane w czasie enkapsulacji ramki. Informacje zawarte w ramce są czytane, a
następnie kasowane, po tym jak ramka dociera do miejsca przeznaczenia i warstwa łącza danych pobiera ramkę
z medium. Ilość potrzebnych kontrolnych informacji w ramce zaleŜy od wymagań metod kontroli dostępu do
medium, które są uzaleŜnione od medium i logicznej topologii.
Nagłówek ramki zawiera kontrolne informacje określone przez protokół warstwy łącza danych, który jest z kolei
uzaleŜniony od logicznej topologii oraz uŜytego medium. Kontrolne informacje zawarte w ramce są unikalne dla
kaŜdego typu protokołu. Są one uŜywane przez protokół warstwy 2 do dostarczenia cech wymaganych przez
urządzenia komunikacyjne.
Warstwa łącza danych dostarcza adresowanie, które uŜywane jest do transportu ramek poprzez współdzielone
medium. W tej warstwie adresy urządzeń odnoszą się do adresów fizycznych. Adresowanie warstwy łącza
danych, zawarte w nagłówku ramki, określa docelowy węzeł w sieci lokalnej. Dodatkowo nagłówek ramki moŜe
zawierać adres źródłowy.
W przeciwieństwie do hierarchicznych adresów warstwy 3, adresowanie fizyczne nie określa, w której sieci
znajduje się urządzenie docelowe. JeŜeli urządzenie zostanie przeniesione do innej sieci lub podsieci, nadal
będzie funkcjonować z tym samym adresem fizycznym warstwy 2.
PoniewaŜ ramki są uŜywane tylko do transportu danych przez lokalne medium, adres warstwy łącza danych jest
uŜywany tylko do lokalnego dostarczania danych. Adresy w tej warstwie nie mają znaczenia poza lokalną siecią.
Inaczej jest w warstwie 3, gdzie adresy w pakietach są przesyłane od hosta źródłowego do docelowego
niezaleŜnie od liczby wykonanych przeskoków wzdłuŜ ścieŜki.
JeŜeli pakiet w ramce musi być przesłany do innego segmentu sieci, to urządzenie pośredniczące (router),
dekapsuluje pierwotną ramkę, następnie tworzy nową ramkę i wysyła ją do nowego segmentu. Nowa ramka
zawiera adres źródłowy i docelowy, jeŜeli jest to wymagane, aby przesłać pakiet przez medium.
Wymagania adresowania
Potrzeba adresowania w warstwie łącza danych uzaleŜniona jest od logicznej topologii. W topologiach punktpunkt, gdzie połączone są tylko dwa węzły, adresowanie nie jest wymagane. Umieszczona w medium ramka ma
tylko jedno miejsce, do którego moŜe dotrzeć. Adresowanie w topologiach pierścienia i wielodostępowej jest
wymagane, ze względu na moŜliwość podłączenia do wspólnego medium wielu urządzeń. W topologiach tych,
kaŜdy węzeł odbierający ramkę sprawdza w nagłówku docelowy adres, aby upewnić się czy odbiorcą nie jest to
urządzenie.
Detekcja błędów – umieszczenie na końcu kaŜdej ramki warstwy łącza danych, pola końcowego. Dzięki niemu
wiadomo, czy odebrano ramkę bez błędów. Dokonuje się tego poprzez umieszczenie w polu końcowym wyniku
logicznego lub matematycznego działania dokonanego na bitach wchodzących w skład ramki.
Pole sumy kontrolnej (FCS, ang. Frame Check Sequence) – pole, w którym umieszczana jest wartość sumy
kontrolnej (CRC). Jest uŜywane do wykrycia w ramce błędów, mogących wystąpić w czasie transmisji. W celu
upewnienia się, Ŝe zawartość odebranej ramki jest taka sama jak ramka opuszczająca źródłowy węzeł, nadający
węzeł tworzy sumę logiczną na podstawie zawartości ramki. Mechanizm ten zwany jest sprawdzaniem wartości
sumy kontrolnej (CRC). Docelowy węzeł, odbierając przychodzącą ramkę wykonuje obliczenia, na podstawie
zwartości otrzymanej ramki i porównuje obie wartości CRC. Jeśli obie wartości są równe, traktuje się, Ŝe
otrzymano ramkę taką jak została wysłana. JeŜeli wartość CRC w polu FCS w odebranej ramce jest róŜna od
obliczonej przez odbierający węzeł, to ramka jest odrzucana.
W sieciach TCP/IP wszystkie protokoły warstwy 2 modelu OSI współpracują z protokołem IP z warstwy 3
modelu OSI. JednakŜe w rzeczywistości zastosowanie protokołu warstwy 2 uzaleŜnione jest od logicznej
topologii sieci oraz od implementacji warstwy fizycznej. Istniejący szeroki zakres fizycznych mediów
stosowanych w wielu róŜnych topologiach sieci, jest odwzorowany w duŜej liczbie protokołów warstwy 2.
Protokoły warstwy łącza danych:
Ethernet,
protokół PPP (ang. Point-to-Point Protocol),
HDLC (ang. High-Level Data Link Control),
Frame Relay,
Asynchronous Transfer Mode (ATM).
• Ethernet jest zbiorem technologii sieciowych, które są zdefiniowane w standardach IEEE 802.2 i 802.3
Standardy Ethernetu definiują zarówno protokoły warstwy drugiej, jak i technologie warstwy pierwszej.
Ethernet jest najszerzej stosowaną technologią w sieciach LAN, która umoŜliwia transmisję danych z szybkością
10, 100, 1000 oraz 10000 Mb/s.
Podstawowy format ramki oraz mechanizm działania podwarstw IEEE w ramach warstw 1 i 2 modelu OSI
pozostają spójne we wszystkich formach technologii Ethernet. JednakŜe metody wykrywania oraz umieszczania
danych w medium są zróŜnicowane w zaleŜności od implementacji. Ethernet dostarcza bezpołączeniowych
usług pozbawionych potwierdzeń we współdzielonym medium uŜywając do tego CSMA/CD jako metody
dostępu do medium. We współdzielonych mediach wymagane jest, aby nagłówek ramki ethernetowej zawierał
adres z warstwy łącza danych w celu identyfikacji źródłowego i docelowego węzła. Adres ten, w większości
protokołów LAN, odnosi się do adresu MAC węzła.
• Point-to-Point Protocol (PPP) jest protokołem wykorzystywanym do dostarczania ramek między
dwoma węzłami. Został zaprojektowany jako protokół WAN, którego implementowanie moŜliwe jest na wielu
połączeniach szeregowych WAN. Działa w architekturze warstwowej. Aby przystosować się do róŜnego typu
mediów, ustanawia pomiędzy dwoma węzłami logiczne połączenia, zwane sesjami. Sesje PPP ukrywają medium
fizyczne przed wyŜszymi protokołami PPP. Sesje te umoŜliwiają PPP równieŜ enkapsulowanie róŜnych
protokołów do połączenia punkt-punkt. KaŜdy protokół, enkapsulowany przez łącze, ustanawia własną sesję
PPP. Protokół ten zezwala dwóm węzłom na negocjację opcji sesji PPP tj. uwierzytelnienie, kompresja i
multilink (uŜywanie wielu fizycznych połączeń).
• Bezprzewodowy protokół LAN 802.11 jest rozszerzeniem standardu IEEE 802. UŜywa tej samej
podwarstwy 802.2 LLC i 48-bitowego schematu adresowania, tak jak inne sieci LAN 802. W środowisku
bezprzewodowym zewnętrzne zakłócenia mogą wpływać na przesyłanie danych. Trudno jest równieŜ
kontrolować dostęp. Aby sprostać tym wymaganiom, standardy sieci bezprzewodowych posiadają dodatkowe
elementy kontrolne.
Standard 802.11 powszechnie zwany Wi-Fi, jest to połączeniowo zorientowany system oparty na sposobie
dostępu Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA). CSMA/CA określa metodę (backoff)
wyboru losowego czasu, który kaŜda stacja musi odczekać przed rozpoczęciem transmisji. Rywalizacja o
medium najczęściej ma miejsce w momencie, kiedy medium staje się dostępne. Konieczność odczekania
wylosowanej długości czasu, znacznie zmniejsza prawdopodobieństwo kolizji.
Sieci 802.11 uŜywają potwierdzeń w drugiej warstwie. Węzły potwierdzają odebranie ramki. Jeśli stacja
wysyłająca nie otrzyma potwierdzenia, ramka jest wysyłana ponownie. Inne usługi występujące w 802.11 to
uwierzytelnienie, przyłączanie (łączenie zarządzeniem bezprzewodowym) oraz zapewnienie prywatności
(szyfrowanie).
Module 8. OSI Physical Layer.
Warstwa fizyczna dostarcza metod do przesłania przez lokalne medium bitów tworzących ramkę warstwy łącza
danych. Odbiera ona od warstwy łącza danych całą ramkę i przetwarza ją do postaci serii pojedynczych
sygnałów, które są wysyłane w lokalne medium. Zadaniem warstwy fizycznej jest wytworzenie sygnału
elektrycznego, świetlnego lub mikrofalowego, który będzie reprezentował bity ramki. Sygnały te są następnie
przesyłane po kolei przez medium transmisyjne, po czym są odbierane przez urządzenie końcowe lub urządzenie
pośredniczące. RównieŜ zadaniem warstwy fizycznej jest odebranie tych sygnałów z medium, przetworzenie ich
do postaci bitów i przekazanie do warstwy łącza danych jako kompletną ramkę.
To, w jaki sposób bity są reprezentowane (typ sygnału), zaleŜy od typu medium transmisyjnego. W przypadku
kabla miedzianego, sygnały to ciąg impulsów elektrycznych. Dla światłowodu - impulsy światła. A dla
komunikacji bezprzewodowej - fale radiowe.
Istnieją trzy typy medium transmisyjnego:
• Kabel miedziany
• Światłowód
• Atmosfera (komunikacja bezprzewodowa)
Warstwa fizyczna to sprzęt, na który składają się obwody elektroniczne, medium i złączki, w odróŜnieniu od
protokołów wyŜszych warstw modelu OSI, które związane są z oprogramowaniem, więc tworzone są przez
inŜynierów oprogramowania i informatyków.
Kodowanie - to metoda przetwarzania strumienia bitów w określony kod. Kody to grupy bitów,
wykorzystywane, Ŝeby uzyskać przewidywalne ciągi bitów, które są rozpoznawalne i przez nadawcę, i przez
odbiorcę. Wykorzystywanie przewidywalnych ciągów bitów pozwala odróŜnić dane od informacji kontrolnych i
zapewnia lepszą detekcję błędów. Kodowanie w warstwie fizycznej moŜe równieŜ wprowadzać kody do
identyfikowania początku i końca ramki. Host transmitujący dane nada określony ciąg bitów (kod), Ŝeby
wskazać początek i koniec ramki.
Przetwarzanie danych do postaci sygnału – metoda reprezentowania bitów przez warstwę fizyczną.
Generowanie sygnału elektrycznego, optycznego lub radiowego, który reprezentuje logiczną wartość "1" lub "0"
w medium. Standard warstwy fizycznej musi definiować jaki sygnał reprezentuje "1" a jaki "0".
Kodowanie Non Return to Zero (NRZ) - strumień bitów jest przesyłany jako seria wartości napięć. Niski
poziom napięcia reprezentuje logiczne 0, a wysoki 1. Kodowanie NRZ wykorzystuje pasmo nieefektywnie i jest
podatne na zakłócenia elektromagnetyczne. Oprócz tego granice pomiędzy kolejnymi bitami mogą sie zatrzeć w
przypadku transmitowania długich ciągów "0" lub "1".
Kodowanie Manchester - wykorzystuje do tego zmiany poziomów napięcia. Np. zamiana poziomu napięcia z
niskiego na wysoki oznacza logiczną 1, a z wysokiego na niski logiczne 0.
Grupa kodowa - to określony ciąg bitów, który jest interpretowany jako określony ciąg danych.
Transfer danych moŜe być mierzony na trzy sposoby:
Szerokość pasma (ang. bandwidth) - mierzy ilość informacji, która moŜe zostać przeniesiona z jednego
miejsca do drugiego w określonym czasie. PrzewaŜnie szerokość pasma mierzy się w kilobitach/s (kb/s) lub
megabitach/s (Mb/s).
Przepustowość (ang. throughput) - miara transferu bitów przez medium w określonym czasie. Wiele
czynników sprawia, Ŝe przepustowość przewaŜnie nie dorównuje szerokości pasma, określonej przez
implementację warstwy fizycznej, takiej jak np. Ethernet. Na przepustowość wpływ ma np. wielkość ruchu, typ
ruchu i ilość urządzeń sieciowych. W topologiach wielodostępu jak np. Ethernet, węzły rywalizują o dostęp do
medium. Przez to przepustowość konkretnego węzła maleje, bo wykorzystanie medium jest duŜe. W sieci
składającej się z większej ilości segmentów, przepustowość nie będzie większa niŜ najwolniejsze z łączy
pomiędzy nadawcą a odbiorcą. Nawet jeŜeli większość segmentów to łącza o duŜej przelotowości, jedno łącze o
niskiej przelotowości powoduje powstanie wąskiego gardła i obniŜenie przelotowości dla całej sieci.
Przepustowość efektywna (ang. goodput) – jest to miara najbardziej interesująca z punktu widzenia
uŜytkownika. Mierzy efektywny transfer danych uŜytkownika pomiędzy warstwami aplikacji nadawcy i
odbiorcy (np. pomiędzy źródłowym serwerem WWW a przeglądarką WWW uruchomioną na urządzeniu
docelowym). Przepustowość efektywna to przepustowość pomniejszona o narzut związany z ustanowieniem
połączenia, potwierdzeniami i enkapsulacją.
Skrętka nieekranowana (UTP) - jest wykorzystywana w sieciach Ethernet. Składa się z czterech par Ŝył
oznaczonych odpowiednimi kolorami, które zostały skręcone ze sobą i umieszczone w plastikowej elastycznej
osłonie. Skręcanie Ŝył powoduje eliminowanie niepoŜądanych sygnałów. JeŜeli dwie Ŝyły tworzące obwód
elektryczny są blisko siebie, obce pole elektromagnetyczne powoduje podobne zakłócenia w kaŜdej z Ŝył.
Ewentualne zakłócenia pojawią się w obu Ŝyłach pary, a odbiornik odejmuje od siebie sygnały z Ŝył jednej pary.
Dzięki temu sygnał zakłócenia zostanie wyeliminowany.
Przesłuchy (ang. crosstalk) - to zakłócenia spowodowane przez pole magnetyczne sąsiednich par Ŝył w kablu.
Kiedy prąd elektryczny przepływa przez przewodnik, wytwarza się wokół niego pole magnetyczne. Prąd w
Ŝyłach jednej pary płynie w przeciwnych kierunkach. Wytworzone pole magnetyczne jest takiej samej wartości,
ale przeciwnie skierowane, przez co pola te się znoszą. Dodatkowo, róŜne pary danego kabla mają róŜną ilość
skręceń na metr, Ŝeby lepiej zabezpieczyć kabel przed przesłuchami.
Kabel koncentryczny - składa się z miedzianego rdzenia otoczonego warstwą elastycznej izolacji. Na izolację
nakładana jest miedziana plecionka lub metalowa folia, która pełni rolę drugiego przewodu w obwodzie i
jednocześnie osłony wewnętrznego rdzenia. Osłona ta redukuje wpływ zakłóceń elektromagnetycznych z
zewnątrz. Na osłonę nałoŜona jest zewnętrzna koszulka. Jest to istotny kabel wykorzystywany w łączności
bezprzewodowej i sieciach kablowych. Wykorzystuje się go do połączenia anten z urządzeniami
bezprzewodowymi. Jest najczęściej wykorzystywanym medium do transportu sygnałów wysokich
częstotliwości radiowych w kablu (zwłaszcza sygnał telewizji kablowej).
Skrętka ekranowana (STP) - kabel STP składa się z czterech par Ŝył otoczonych plecionką lub folią. Otoczona
jest cała grupa Ŝył i kaŜda para osobno. Dzięki temu są one lepiej zabezpieczone przed zakłóceniami niŜ kable
UTP, ale przez to są teŜ duŜo droŜsze. Nowy standard sieci Ethernet o przepływności 10GB najprawdopodobniej
będzie wykorzystywał kable STP. MoŜe to spowodować ponowny wzrost zapotrzebowania na ten typ kabla.
Światłowody - wykorzystują szklane lub plastikowe włókna do przesłania impulsu światła od jednego do
drugiego urządzenia. Bity są reprezentowane we włóknie przez impulsy światła. Światłowody dają moŜliwość
osiągania bardzo duŜych przepływności. Obecne standardy transmisji jeszcze nie dorównują potencjalnym
moŜliwościom tego medium. Włókna światłowodu są odporne na interferencje elektromagnetyczne i nie
przewodzi niepoŜądanych ładunków. Światłowody są stosunkowo cienkie i mają dość niski współczynnik
tłumienia (osłabiania) sygnału, więc mogą bez regeneracji przenosić sygnał na znacznie większe odległości niŜ
kable miedziane. Kabel światłowodowy składa się ze szklanego lub plastikowego włókna, otoczonego
wzmacniającym i usztywniającym płaszczem. Światło moŜe biec tylko w jednym kierunku włókna
światłowodowego, więc Ŝeby zapewnić komunikację w trybie full-duplex potrzebne są dwa włókna. Do
generowania reprezentujących bity impulsów światła wykorzystywane są lasery lub diody
elektroluminescencyjne (LED). Urządzenia półprzewodnikowe zwane fotodiodami odbierają impulsy światła i
przetwarzają je na impulsy napięcia, z których odtwarzana jest ramka.
Światłowód jednomodowy - przenosi tylko jedną wiązkę światła, a jej źródłem przewaŜnie jest laser. Światło
lasera jest spójne i biegnie środkiem włókna światłowodowego, więc ten typ światłowodu moŜe przenosić
impulsy światła na bardzo duŜe odległości.
Światłowód wielodomowy - do generowania impulsów światła wykorzystuje diody LED, które nie generują
tak spójnego światła jak lasery. Światło z diody LED wnika do światłowodu pod róŜnymi kątami. To powoduje,
Ŝe wiązki wnikające pod róŜnymi kątami pokonują róŜne drogi wewnątrz włókna i docierają do urządzenia
odbierającego w róŜnym czasie. Długie odcinki światłowodu mogą spowodować, Ŝe sygnał dotrze do odbiornika
rozmyty. Efekt ten, znany jako dyspersja modowa, powoduje ograniczenie długości segmentu światłowodu
wielomodowego.
Złączki światłowodowe
Straight-Tip (ST) (znak handlowy AT&T) - typ złączki koncentrycznej często stosowanej w przypadku
światłowodów wielomodowych.
Subscriber Connector (SC) - złączka z mechanizmem push-pull, zapewniającym dobre umieszczenie
końcówki światłowodu. Bardzo często stosowane w przypadku światłowodów jednomodowych.
Lucent Connector (LC) - mała złączka coraz bardziej popularna w przypadku światłowodów jednomodowych;
moŜe teŜ zakańczać światłowody wielomodowe.
Komunikacja bezprzewodowa - wykorzystuje fale elektromagnetyczne o częstotliwościach radiowych lub
mikrofalowych do reprezentowania binarnych danych. Nie jest ograniczona do przewodnika lub innych ścieŜek,
jak media miedziane lub światłowodowe, jednak pewne materiały konstrukcyjne, struktura budynków i
ukształtowanie terenu powodują ograniczenie jej zasięgu. Dodatkowo, jest podatna na interferencje i moŜe być
zakłócona przez urządzenia, takie jak telefony bezprzewodowe, kuchenki mikrofalowe. Ponadto, nie wymaga
dostępu do Ŝadnego medium fizycznego, więc urządzenia i osoby nieautoryzowane mogą uzyskać dostęp do
transmisji danych.
Standardy łączności bezprzewodowej:
• IEEE 802.11 - znany teŜ jako Wi-Fi, to standard opisujący bezprzewodową sieć LAN (Wireless LAN WLAN), wykorzystujący algorytm CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance), jako
metodę dostępu do medium.
• IEEE 802.15 - Wireless Personal Area Network (WPAN) znany teŜ jako Bluetooth; umoŜliwia
komunikację pomiędzy urządzeniami odległymi od 1 do 100 metrów.
• IEEE 802.16 - znany jako WiMAX (Worldwide Interoperability for Microwave Access); wykorzystuje
łączność typu punkt-wielopunkt, Ŝeby zapewnić szerokopasmowy, bezprzewodowy dostęp do sieci.
• Global System for Mobile Communications (GSM) - zawiera zalecenia warstwy fizycznej, które dają
moŜliwość protokołowi GPRS (General Packet Radio Service - protokół warstwy łącza danych) przenoszenia
danych w sieciach komórkowych.
Inne techniki bezprzewodowe, jak łączność satelitarna, zapewniają łączność w miejscach, gdzie nie ma Ŝadnej
innej łączności. RóŜne protokoły (w tym GPRS) pozwalają przesyłać dane pomiędzy stacjami naziemnymi a
łączami satelitarnymi.
WLAN
Wraz z rozwojem technik bezprzewodowych pojawiły się sieci WLAN bazujące na standardzie Ethernet. Sieci
takie wymagają następujących urządzeń:
Punkt dostępowy (Access Point, AP) - koncentruje sygnały bezprzewodowe od uŜytkowników i łączy sieć
bezprzewodową (typowo kablem miedzianym) z istniejącą kablową infrastrukturą sieciową jak sieć Ethernet.
Bezprzewodowa karta sieciowa - daje hostom moŜliwość bezprzewodowej komunikacji.
Standardy WLAN:
IEEE 802.11a - wykorzystuje częstotliwość 5 GHz i oferuje szybkość transmisji do 54 Mb/s. Przez to, Ŝe
wykorzystuje wysokie częstotliwości, transmisja w tym standardzie ma mniejszy zasięg i mniejsze zdolności
przenikania budynków. Urządzenia pracujące w tym standardzie nie są kompatybilne ze standardami 802.11b i
802.11g prezentowanymi poniŜej.
IEEE 802.11b - Wykorzystuje częstotliwość 2,4 GHz i oferuje prędkość transmisji do 11 Mb/s. Zasięg
transmisji w tym standardzie jest większy i sygnał ma lepsze zdolności przenikania budynków niŜ w standardzie
802.11a.
IEEE 802.11g - Wykorzystuje częstotliwość 2,4 GHz i oferuje prędkość transmisji do 54 Mb/s. Wykorzystuje tą
samą częstotliwość co standard 802.11b, a oferuje pasmo takie jak standard 802.11a.
IEEE 802.11n - Propozycja tego standardu mówi o wykorzystaniu częstotliwości 2,4 lub 5 GHz. Szybkość
transmisji ma wynosić 100 do 210 Mb/s, a zasięg do 70 metrów.
Module 9. Ethernet.
Ethernet – technologia zdefiniowana przez protokoły warstw łącza danych i fizycznej. Na kolejnych jej
standardach oparta jest budowa sieci LAN. Numery tych standardów rozpoczynają się od liczby 802.
Ethernet jest implementowany w zakresie niŜszej podwarstwy warstwy łącza danych, która nazywana jest
podwarstwą kontroli dostępu do medium MAC (ang. Media Access Control) oraz w zakresie warstwy fizycznej.
Podwarstwa LLC (ang. Logical Link Control) pozostaje stosunkowo niezaleŜna od fizycznego sprzętu, który
zostanie uŜyty w procesie komunikacji. W warstwie 1 odgrywa zasadniczą rolę w komunikacji, która zachodzi
pomiędzy urządzeniami i dotyczy: sygnałów, strumieni bitów, które podróŜują w medium, fizycznych
komponentów, które wprowadzają sygnały do medium oraz róŜnych topologii.
Dla Ethernetu standard IEEE 802.2 określa funkcje podwarstwy LLC, a standard 802.3 określa funkcje
podwarstwy MAC i warstwy fizycznej. Podwarstwa LLC (Logical Link Control) kieruje komunikacją pomiędzy
wyŜszymi warstwami i oprogramowaniem sieciowym. Nad niŜszymi warstwami kontrolę najczęściej sprawuje
juŜ sprzęt. Podwarstwa LLC pobiera dane z warstwy sieci, zwykle są to pakiety IPv4 i dodaje dane kontrolne,
pomagające dostarczyć pakiet do miejsca docelowego. Warstwa 2 komunikuje się z wyŜszymi warstwami
poprzez podwarstwę LLC która jest implementowana programowo, a jej implementacja jest niezaleŜna od
fizycznych urządzeń. W komputerze, sterownik do karty sieciowej (NIC) moŜe być traktowany jako podwarstwa
LLC. Sterownik do karty sieciowej jest programem, który współdziała bezpośrednio z układami karty sieciowej
w celu przetworzenia danych pozyskanych z podwarstwy MAC na postać wysyłaną przez medium.
Media Access Control (MAC) jest niŜszą podwarstwą warstwy łącza danych. Media Access Control jest
zaimplementowana sprzętowo, typowo w karcie sieciowej komputera.
Ethernetowa podwarstwa MAC ma dwa podstawowe zadania: enkapsulacja danych i sterowanie dostępem do
medium (Media Access Control).
Enkapsulacja danych obejmuje utworzenie ramki przed transmisją i analizę ramki po jej odebraniu. W trakcie
formowania ramki, podwarstwa MAC dodaje nagłówek i pole końcowe do jednostki danych protokołu warstwy
3 (PDU). Wykorzystanie ramek pomaga w transmitowaniu bitów, gdy są one umieszczane w medium i
grupowaniu tych bitów na węźle odbierającym.
Enkapsulacja danych realizuje trzy podstawowe funkcje:
• Ograniczanie ramki - proces tworzenia ramek wykorzystuje ograniczniki, które są uŜywane do
identyfikacji grup bitów tworzących ramkę. Ten proces dokonuje synchronizacji pomiędzy węzłami
transmitującym i odbierającymi.
• Adresowanie - proces enkapsulacji obsługuje adresację dla warstwy łącza danych. KaŜdy nagłówek
Ethernetowy dodany do ramki zawiera fizyczny adres (adres MAC), który umoŜliwia przesłanie ramki do węzła
docelowego.
• Wykrywanie błędów - dodatkową funkcją enkapsulacji danych jest wykrywanie błędów. KaŜda ramka
Ethernetowa zawiera pole końcowe z sumą kontrolną (CRC) zawartości ramki. Po odebraniu ramki odbierający
węzeł tworzy sumę kontrolną i porównuje ją z sumą kontrolną z odebranej ramki. JeŜeli wyniki obliczeń są
zgodne, to przyjmuje się, Ŝe ramka została odebrana bez błędów.
Kontrola dostępu do medium
Podwarstwa MAC steruje umieszczaniem ramek w medium i usuwaniem ramek z medium. Jak sama nazwa
wskazuje, zarządza ona sterowaniem dostępem do medium. Obejmuje to inicjowanie transmisji ramki i
odzyskiwanie ramki po niepowodzeniu transmisji spowodowanej kolizją.
Topologia logiczna sieci Ethernet
Zasadniczą topologią dla logicznej topologii sieci Ethernet jest wielodostępna magistrala. To oznacza, Ŝe
wszystkie węzły (urządzenia) w tym segmencie sieci współdzielą medium. Zatem wszystkie węzły w tym
segmencie odbierają wszystkie ramki transmitowane przez kaŜdy węzeł znajdujący się w tym segmencie i
sprawdzają, czy ramka jest dla niego przeznaczona i powinna być przez niego przetwarzana. Wymaga to
sprawdzenia w ramce adresu MAC .
Dzisiaj ten sam protokół, który transmitował dane z szybkością 3Mb/s, jest w stanie przesyłać dane z szybkością
10Gb/s. Uwzględniając róŜnego typu media, ramka Ethernetu zachowuje konsekwentnie strukturę bez względu
na fizyczne implementacje. To z tego powodu technologia Ethernet moŜe rozwijać się spełniając współczesne
wymagania sieciowe.
Pierwsze wersje Ethernetu wykorzystywały kable koncentryczne do połączenia komputerów w topologii
magistrali. KaŜdy komputer był bezpośrednio podłączony do magistrali. Te wczesne wersje Ethernetu były
znane jako:
10BASE5 (gruby Ethernet) - wykorzystywał gruby kabel koncentryczny, umoŜliwiający okablowanie dystansu
do 500 metrów, bez konieczności wykorzystania regeneratora sygnału (ang. repeater).
10BASE2 (cienki Ethernet) - wykorzystywał cienki kabel koncentryczny, który miał mniejszy zasięg (do 185
metrów), ale był bardziej elastyczny i wygodniejszy w stosowaniu.
Aby być logiczną topologią magistrali w warstwie łącza danych, Ethernet wykorzystywał równieŜ fizyczną
topologię magistrali. Topologia ta, sprawiała coraz więcej problemów wraz z rozrastaniem się sieci LAN oraz
zwiększającym się zapotrzebowaniem usług sieciowych na coraz większą infrastrukturę. W związku z tym grube
i cienkie kable koncentryczne były zamieniane przez kable UTP wczesnych kategorii, a fizyczna topologia
magistrali została zamieniona na topologię gwiazdy wykorzystującej koncentrator (ang. hub). Koncentratory
słuŜą do koncentrowania połączeń. Gdy ramka przybędzie do jednego portu, jest kopiowana do pozostałych
portów, co w efekcie sprawi, Ŝe dotrze ona do wszystkich segmentów w sieci LAN. Ze względu na fakt, iŜ
media są współdzielone, tylko jedna stacja jest w stanie skutecznie transmitować dane w danej chwili. Ten typ
połączenia jest opisywany jako komunikacja typu half-duplex, nazywana równieŜ jednokierunkową.
Wykorzystując koncentrator zwiększana jest niezawodność sieci z tego względu, Ŝe uszkodzenie jednego kabla
nie powoduje awarii całej sieci. Jednak wysyłanie ramki do wszystkich pozostałych portów nie rozwiązuje
problemu kolizji.
Znaczący postęp w rozwoju sieci LAN bazujących na technologii Ethernet osiągnięto przez zamianę
koncentratorów na przełączniki, które są w stanie sterować przepływem danych przez izolowanie kaŜdego portu
i wysyłanie ramek tylko do właściwego dla tych ramek celu. Strategia ta jest znacznie efektywniejsza niŜ
przesyłanie kaŜdej ramki do kaŜdego urządzenia. W ten sposób, przełącznik redukuje liczbę urządzeń
odbierających kaŜdą ramkę, co z kolei minimalizuje moŜliwość wystąpienia kolizji. To i późniejsze
wprowadzenie komunikacji pracującej w trybie full-duplex (tzn. komunikacji dwukierunkowej, odbywającej się
w obu kierunkach równocześnie) pozwoliło na opracowanie Ethernetu o prędkościach 1Gb/s i większych.
Struktura ramki Ethernetowej
Pierwotny standard Ethernet definiował minimalny rozmiar ramki na 64 bajty, a maksymalny na 1518 bajtów.
Standard IEEE 802.3ac opublikowany w 1998 r., rozszerzył maksymalny dostępny rozmiar ramki do 1522
bajtów. Rozmiar ramki został zwiększony w celu umoŜliwienia obsługi technologii Virtual Local Area Network
(VLAN) nazywanej sieciami wirtualnymi. JeŜeli rozmiar transmitowanej ramki jest mniejszy niŜ minimalny lub
większy niŜ maksymalny, to urządzenie odbierające odrzuca taką ramkę. Pojawiające się w sieci takie odrzucone
ramki są prawdopodobnie rezultatem kolizji lub nieoczekiwanych sygnałów, a zatem przyjmuje się, Ŝe są
nieprawidłowe.
Pola Preambuła (7 bajtów) i Znacznik początku ramki SFD (1 bajt) są wykorzystywane do synchronizacji
pomiędzy urządzeniami wysyłającymi i odbierającymi. Tych pierwszych 8 bajtów ramki uŜywa się do
powiadamiania węzłów odbierających o nadchodzącej ramce.
Pole Adres odbiorcy (6 bajtów) jest identyfikatorem odbiorcy ramki. Adres ten jest wykorzystywany w
warstwie 2 przez urządzenie docelowe do określenia, czy ramka jest do niego adresowana. Adres w ramce jest
porównywany z adresem MAC urządzenia. JeŜeli adresy są zgodne, to urządzenie akceptuje ramkę.
Pole Źródłowy adres MAC (6 bajtów) identyfikuje kartę sieciową lub interfejs nadawcy ramki. Przełączniki
równieŜ wykorzystują te adresy, dodając je do swoich tablic adresów (ang. lookup table).
Pole Długość/Typ (2 bajty) definiuje dokładną długość pola danych ramki. Jest ono wykorzystywane później
jako część procedury sprawdzania kodu kontrolnego ramki sprawdzającej, czy wiadomość została poprawnie
odebrana. W polu tym moŜe zostać podana wartość dotycząca długości lub typu. JeŜeli przeznaczeniem pola jest
określenie typu, to pole Typ wskazuje jaki protokół warstwy wyŜszej jest z nią związany.
Pole danych i wypełnienia (o długości od 46 do 1500 bajtów) zawierają enkapsulowane dane warstwy
wyŜszej (ang. Layer 3 PDU), które najczęściej są pakietami IPv4. Wszystkie ramki muszą mieć długość
wynoszącą co najmniej 64 bajty. Jeśli mały pakiet jest enkapsulowany, pole wypełnienia wykorzystywane jest w
celu zwiększenia rozmiaru ramki do wymaganego minimum.
Pole Suma kontrolna ramki (FCS) (4 bajty) jest wykorzystywane do wykrywania błędów w ramce. W celu
określenia jego wartości, stosowana jest metoda cyklicznego kodu nadmiarowego CRC (ang. Cyclic
Redundancy Check), słuŜąca do obliczenia sumy kontrolnej danych. Urządzenie wysyłające umieszcza wynik
obliczenia sumy kontrolnej w polu FCS ramki. Stacja odbierająca odbiera ramkę i oblicza sumę kontrolną CRC
w celu sprawdzenia, czy ramka nie ma błędów. Jeśli wyniki są zgodne, to przyjmuje się, Ŝe błędy nie wystąpiły.
Wyniki CRC, które się nie są zgodne wskazują na to, Ŝe dane zostały zmienione, dlatego ramka jest odrzucana.
Zmiana danych moŜe być wynikiem zakłócenia sygnału elektrycznego, który reprezentuje bity.
Struktura adresu MAC
Ethernetowy adres MAC jest 48-bitową wartością przedstawianą za pomocą 12 cyfr szesnastkowych. Jest
dodawany jako część jednostki transmisji (PDU) warstwy 2. KaŜdy adres MAC przydzielony urządzeniu
Ethernetowemu musi mieć na pierwszych 3 bajtach kod OUI przydzielony producentowi. Wszystkie adresy
MAC z taki samym identyfikatorem OUI muszą mieć przydzielone unikalne wartości na ostatnich 3 bajtach
(numer seryjny).
Adres MAC jest często nazywany adresem fizycznym (ang. burned-in address, BIA) dlatego, Ŝe najczęściej jest
on na stałe zapisany w układzie scalonym pamięci ROM i nie moŜe być zmieniony przez oprogramowanie.
Gdy urządzenie nadawcze przekazuje wiadomość do sieci Ethernet, to dołączany jest do niej nagłówek
zawierający docelowy adres MAC. Urządzenie nadawcze wysyła dane przez sieć. KaŜda karta sieciowa
analizuje informacje, aby stwierdzić, czy adres MAC jest zgodny z jej adresem fizycznym. JeŜeli nie ma
zgodności adresów, to urządzenie odrzuca ramkę. Gdy ramka osiągnie cel, w którym adres MAC karty sieciowej
jest zgodny z adresem docelowym MAC w ramce, to karta sieciowa przekazuje ramkę do wyŜszej warstwy, w
której będzie miał miejsce proces dekapsulacji.
Wszystkie urządzenia przyłączone do Ethernetowej sieci LAN mają interfejsy z adresem MAC. RóŜni
producenci sprzętu i oprogramowania mogą podawać adres MAC w róŜnych formatach szesnastkowych. Format
adresu moŜe być w postaci: 00-05-9A-3C-78-00, 00:05:9A:3C:78:00 lub 0005.9A3C.7800. Adres MAC jest
przydzielany do stacji roboczych, serwerów, drukarek, przełączników i routerów - do kaŜdego urządzenia, które
moŜe być nadawcą i/lub odbiorcą danych w sieci.
Adresy warstwy łącza danych umoŜliwiają pakietowi przekazanie go przez lokalne medium kaŜdego
segmentu.
Adresy fizyczne warstwy 2, zaimplementowane jako adresy Ethernetowe MAC, są uŜywane do transportu ramki
poprzez lokalne media, pomimo tego, Ŝe są niepowtarzalne. Nie mają znaczenia poza zasięgiem lokalnego
medium sieciowego, poniewaŜ nie są hierarchiczne. Urządzenie nadające nie ma wiedzy o technologii
wykorzystywanej w sieciach pośrednich i w sieci docelowej ani o uŜywanym tam adresowaniu i strukturach
ramek w warstwie 2.
Adresy warstwy sieci umoŜliwiają pakietowi przesłanie go do celu.
Adresy sieciowe (warstwy 3), jak np. adresy IPv4, dostarczają logicznej adresacji, która jest rozumiana przez
źródło i punkt przeznaczenia. W celu przybycia do swojego ostatecznego celu, pakiet od swojego źródła
otrzymuje docelowy adres warstwy 3. Jednocześnie podczas swojej podróŜy przez sieć moŜe on być
wielokrotnie pakowany w ramki i rozpakowywany przez róŜne protokoły warstwy łącza danych. Adresy
warstwy 2, które za kaŜdym razem otrzymuje tworzona ramka, dotyczą tylko lokalnego odcinka podróŜy oraz
stosowanego w niej medium.
Ethernetowa komunikacja
Transmisja pojedyncza (ang. unicast)
Adres MAC typu unicast jest unikalnym adresem wykorzystywanym, gdy wiadomość jest wysyłana z jednego
urządzenia transmitującego do innego pojedynczego urządzenia docelowego. Dla pakietu w transmisji
pojedynczej, przy wysyłaniu i odbieraniu, docelowy adres IP musi być umieszczony w nagłówku pakietu IP.
Jednocześnie odpowiadający mu docelowy adres MAC musi być obecny w nagłówki ramki Ethernetowej.
Zestaw adresów IP i MAC umoŜliwia przekazanie danych do jednego specyficznego docelowego hosta.
Transmisja rozgłoszeniowa (ang. broadcast)
W przypadku transmisji rozgłoszeniowej pakiet zawiera docelowy adres IP, który w części przeznaczonej na
hosta ma same jedynki (binarnie). Oznacza to, Ŝe wszystkie hosty w tej lokalnej sieci (domenie rozgłoszeniowej)
odbiorą i będą przetwarzać ten pakiet. Wiele protokołów sieciowych takich jak DHCP i ARP (ang. Address
Resolution Protocol) wykorzystuje transmisję rozgłoszeniową. Adres rozgłoszeniowy IP dla sieci, wymaga
odpowiedniego rozgłoszeniowego adresu MAC w ramce Ethernetowej. W sieciach Ethernetowych
rozgłoszeniowy adres MAC zawiera 48 jedynek prezentowanych w postaci szesnastkowej jako FF-FF-FF-FFFF-FF.
Transmisja grupowa (ang. multicast)
Adres grupowy umoŜliwia urządzeniu źródłowemu wysłać pakiet do grupy urządzeń. Adresy grupowe obejmują
zakres od 224.0.0.0 do 239.255.255.255. i mogą być uŜywane w pakiecie tylko jako adresy docelowe. Adres
źródłowy zawsze będzie adresem pojedynczym. Przykłady, gdzie adresy grupowe mogłyby być uŜywane, to
zdalne gry komputerowe, w których wielu graczy jest połączonych zdalnie, ale grają w tę samą grę, albo zdalne
nauczanie poprzez wideokonferencje, gdzie wielu studentów jest połączonych do jednej klasy. Z adresami
grupowymi IP związane są odpowiednie adresy grupowe MAC, umoŜliwiające dostarczanie ramek w lokalnej
sieci. Grupowy adres MAC ma specjalną wartość, która rozpoczyna się liczbą 01-00-5E w reprezentacji
heksadecymalnej. Jej pozostałe trzy bajty zawierają mniej znaczące 23 bity adresu grupowego (w reprezentacji
heksadecymalnej) wykorzystywanego przez grupę hostów. Brakujący 24 bit adresu MAC ma zawsze wartość
"0" np. 01-00-5E-00-00-0A.
Sterowanie dostępem do medium (Media Access Control) w Ethernecie
Jeśli więcej niŜ jedno urządzenie wysyła w tym samym czasie dane, fizyczne sygnały interferują ze sobą i sieć
musi je kolejno odtwarzać w celu kontynuacji komunikacji. Ethernet uŜywa metody wielodostępu do nośnej z
wykrywaniem kolizji (CSMA/CD) w celu wykrycia, obsługiwania i zarządzania wznowieniami komunikacji.
Urządzenie jest w stanie ustalić, kiedy moŜe nadawać. Urządzenie moŜe wysyłać dane, kiedy wykryje, Ŝe inne
komputery nie wysyłają ramki ani sygnału nośnej.
Nasłuch nośnej
W metodzie dostępu CSMA/CD wszystkie urządzenia, które mają do wysłania wiadomości, muszą nasłuchiwać
zanim rozpoczną transmisję. Jeśli urządzenie wykryje sygnał z innego urządzenia, to musi ono poczekać
określony okres czasu zanim spróbuje rozpocząć nadawanie. Kiedy nie zostanie wykryta transmisja, urządzenie
wysyła swoją wiadomość. W przypadku, gdy występuje transmisja, urządzenie kontynuuje nasłuchiwanie ruchu
lub kolizji występujących w sieci. Po wysłaniu wiadomości urządzenie wraca do domyślnego trybu
nasłuchiwania.
Wielodostęp
JeŜeli dystans pomiędzy urządzeniami jest taki, Ŝe opóźnienie sygnału z jednego urządzenia powoduje, Ŝe
sygnały nie są wykryte przez drugie urządzenie, to drugie urządzenie moŜe równieŜ rozpocząć transmisję. W
tym przypadku w medium istnieją dwa urządzenia transmitujące sygnały w tym samym czasie. Ich wiadomości
będą propagowane w medium dopóki się nie spotkają. W tym punkcie sygnały ulegną interferencji i wiadomości
zostaną zniszczone. Pomimo tego, Ŝe wiadomości zostały uszkodzone, to pozostałe zakłócone części sygnału
nadal propagują w medium.
Wykrywanie kolizji
Urządzenie w trybie nasłuchiwania moŜe wykryć występujące kolizje we współdzielonym medium. Gdy tylko
kolizja wystąpi, to pozostałe urządzenia będące w trybie nasłuchiwania, jak równieŜ urządzenia transmitujące,
wykryją zwiększenie amplitudy sygnału. Po wykryciu kolizji kaŜde urządzenie nadające nadal kontynuuje
transmisję, aby zapewnić, Ŝe kolizja zostanie wykryta przez wszystkie urządzenia w sieci.
Sygnał zakłócający i losowy czas obsługi kolizji
Gdy urządzenia transmitujące wykryją kolizję, rozsyłają sygnał zakłócający. Sygnał zakłócający jest
wykorzystywany do zawiadomienia pozostałych urządzeń o wystąpieniu kolizji, co spowoduje wywołanie przez
nie algorytmu backoff (obsługi kolizji). Algorytm obsługi kolizji powoduje, Ŝe wszystkie urządzenia zatrzymują
transmisję na losowy okres czasu, który pozwala zniekształconemu sygnałowi wygasnąć. Po zakończeniu tego
czasu, urządzenie powraca do trybu nasłuchiwania przed transmisją.
Kolizja – wynik jednoczesnej transmisji danych przez dwa węzły w sieci Ethernet. Kiedy dwa urządzenia
rozpoczynają transmisję ramek do fizycznego medium w tym samym czasie, ramki ulegają zderzeniu i
uszkodzeniu.
Domena kolizyjna - segment sieci, gdzie jedno urządzenie moŜe wysłać ramkę, którą będą przetwarzać
wszystkie urządzenia w tym segmencie. JednakŜe jeśli więcej urządzeń w tym segmencie zacznie transmisję
ramki w tym czasie, to nastąpi kolizja.
Ethernet 10 Mbps - 10BASE-T - uŜywa kodowania Manchester realizowanego w dwóch skręconych
nieekranowanych parach kabla. Wykorzystuje fizyczną topologię gwiazdy. Typowo uŜywanym okablowaniem
jest okablowanie kategorii 5 (Cat5) lub nowszej, moŜe mieć długość do 100m zanim będą potrzebowały
koncentratora albo regeneratora sygnału. W kablu, który jest zakończony na obu końcach 8-stykowym złączem
RJ-45, para podłączona do styków 1 i 2 jest uŜywana do nadawania sygnału, a para podłączone do styków 3 i 6
do odbierania sygnału. Łącza 10BASE-T podłączone do przełącznika mogą pracować w trybie half-duplex lub
full-duplex.
Fast Ethernet – 100 Mb/s - moŜe być zaimplementowany z wykorzystaniem miedzianej skrętki lub
światłowodu. Najbardziej popularnymi implementacjami Ethernetu 100 Mb/s są:
• 100BASE-TX wykorzystujący kabel UTP kategorii 5 (lub wyŜszej) albo poprzez dwa włókna
światłowodowe. Standard Ethernet 100BASE-TX wykorzystuje kodowanie 4B/5B oraz topologię fizycznej
gwiazdy. W przeciwieństwie do 10BASE-TX, które wykorzystują koncentratory, w sieciach 100BASE-TX jako
centralny element zwykle stosuje się przełącznik.
• 100BASE-FX wykorzystuje tę samą procedurę sygnalizacji co 100BASE-TX, ale w medium optycznym
zamiast w miedzianej skrętce. ChociaŜ kodowanie, dekodowanie i procedura synchronizacji są takie same w obu
mediach, to sygnał jest róŜny - impulsy elektryczne w kablu miedzianym i impulsy świetlne w kablu optycznym.
100BASE-FX wykorzystuje złącza typu Low Cost Fiber Interface Connectors powszechnie nazywane złączem
duplex SC. Implementacje światłowodowe są zbiorem łączy typu punkt-punkt.
Ethernet 1000BASE-T udostępnia transmisję typu full-duplex wykorzystując cztery pary kabla UTP kategorii 5
lub wyŜszej. Gigabitowy Ethernet na kablu miedzianym daje moŜliwość zwiększenia szybkości transmisji w
jednym kierunku ze 100Mb/s na parę do 250 Mb/s na parę: sygnał przesyłany jest z szybkością 125 milionów
symboli na sekundę a kaŜdy symbol koduje 2 bity. Cztery pary transmitują zatem w sumie 1000 Mb/s. KaŜda
para przesyła sygnał w obu kierunkach jednocześnie (full-duplex), co podwaja szybkość transmisji do 2x1000
Mb/s. Wykorzystuje kodowanie liniowe 4D-PAM5 (umoŜliwia transmitowanie sygnału po czterech parach
równocześnie). Przepływ danych powoduje ciągłe kolizje w poszczególnych parach przewodów. W ich wyniku
powstają skomplikowane sekwencje napięć. Hybrydowe układy wykrywania sygnałów wykorzystują
wyrafinowane techniki takie jak tłumienie echa i korekcja błędów FEC (Forward Error Correction) w warstwie
pierwszej oraz odpowiedni dobór poziomów napięć. Wykorzystując te techniki system uzyskuje przepustowość
1 Gb/s. Światłowodowe wersje gigabitowego Ethernetu:
1000BASE-SX i 1000BASE-LX - oferują następujące zalety w stosunku do kabli UTP: odporność na szumy,
mały rozmiar fizyczny, zwiększony dystans bez regeneratora sygnału i zwiększona szerokość pasma. Obsługują
transmisję binarną w trybie full-duplex z szybkością 1250 Mb/s w dwóch włóknach światłowodu (z powodu
narzutu kodowania, szybkość transmisji danych wynosi 1000 Mb/s). Kodowanie transmisji bazuje na schemacie
8B/10B. Głównymi róŜnicami pomiędzy 1000BASE-SX i 1000BASE-LX są: łącza medium, złącza i długość
fali sygnału świetlnego.
Klasyczny Ethernet wykorzystuje koncentratory do podłączenia węzłów do segmentu sieci. Koncentratory nie
realizują Ŝadnego filtrowania ruchu. Współdzielenie medium pomiędzy urządzeniami generuje znaczące
problemy, gdy sieci się rozrastają:
• Skalowalność - w sieci z koncentratorami występuje ograniczenie rozmiaru pasma, dostępnego dla
kaŜdego urządzenia. Jednocześnie, dodanie urządzenia do sieci ze współdzielonym medium, zmniejsza średnią
szerokość pasma dostępną dla kaŜdego urządzenia. Oznacza to, iŜ ze wzrostem liczby urządzeń przyłączonych
do medium zmniejsza się wydajność sieci .
• Opóźnienie sieci jest to czas potrzebny, aby wysłany sygnał dotarł do wszystkich docelowych miejsc w
medium. KaŜdy węzeł w sieci bazującej na koncentratorach musi czekać na moŜliwość rozpoczęcia transmisji,
aby uniknąć kolizji. Opóźnienie powiększa się znacząco, gdy dystans pomiędzy węzłami jest powiększany. Przy
większym opóźnieniu jest bardziej prawdopodobne, Ŝe węzły nie odbiorą sygnału inicjującego, a wtedy
zwiększy się liczba kolizji w sieci.
• Błędy w działaniu sieci - ze względu na to, Ŝe klasyczny Ethernet współdzieli medium, dowolne
urządzenie w sieci moŜe potencjalnie być źródłem problemów dla innych urządzeń. JeŜeli dowolne urządzenie
podłączone do koncentratora generuje szkodliwy ruch, to komunikacja dla wszystkich urządzeń w medium
moŜe być utrudniona.
• Kolizje - zgodnie z CSMA/CD, węzeł nie moŜe wysłać pakietu, jeŜeli w sieci odbywa się ruch. JeŜeli
dwa węzły wysyłają pakiety w tym samym czasie, to występuje kolizja i oba pakiety są tracone. Sieć z duŜą
liczbą węzłów w jednym segmencie jest duŜą domeną kolizyjną i zwykle jest ona mocno obciąŜona. Gdy ruch w
takiej sieci powiększa, to wzrasta równieŜ prawdopodobieństwo wystąpienia kolizji.
Przełączniki dostarczają alternatywy dla środowiska klasycznego Ethernetu bazującego na rywalizacji o dostęp
do łącza. UmoŜliwiają segmentowanie sieci na oddzielne domeny kolizyjne. KaŜdy port przełącznika
reprezentuje oddzielną domenę kolizyjną i dostarcza pełnej szerokości pasma medium węzłowi lub węzłom
podłączonym do tego portu. W sieci, gdzie wszystkie węzły są podłączone bezpośrednio do przełącznika,
wydajność sieci znacząco rośnie. Istnieją trzy podstawowe przyczyny odpowiedzialne za ten wzrost:
• Dedykowana szerokość pasma dla kaŜdego portu - kaŜde urządzenie ma dedykowane połączenie typu
punkt-punkt pomiędzy urządzeniem, a przełącznikiem, bez potrzeby rywalizowania o dostęp do łącza.
• Środowisko wolne od kolizji - dedykowane połączenie typu punkt-punkt do przełącznika usuwa
wszelką rywalizację pomiędzy urządzeniami o medium. W klasycznej sieci Ethernet, wykorzystującej
koncentratory, około 40-50% szerokości pasma jest konsumowane na obsługę kolizji. W przełączanej sieci
Ethernet narzut ten jest właściwie wyeliminowany.
• Praca w trybie full-duplex - urządzenia podłączone bezpośrednio do portu przełącznika, mogą wysyłać
i odbierać dane równocześnie z pełną przepustowością medium.
Wykorzystanie przełączników zamiast koncentratorów
Przełączniki Ethernet selektywnie przekazują poszczególne ramki z portu odbierającego do portu, do którego
podłączony jest węzeł docelowy. Taki proces selektywnego przekazywania moŜe być rozwaŜany jako
natychmiastowo zestawione połączenie punkt-punkt pomiędzy węzłami: nadawczym i odbiorczym. Połączenie
jest zestawione tylko tak długo, jak długo trwa przekazywanie jednej ramki. W tym czasie dwa węzły mają
pomiędzy sobą połączenie o pełnej szerokości pasma i reprezentują logiczne łącze punkt-punkt. W
rzeczywistości dowolny węzeł pracujący w trybie full-duplex moŜe transmitować swoją ramkę w dowolnej
chwili, bez względu na dostępność węzła odbierającego. Jest to moŜliwe dzięki temu, Ŝe przełącznik będzie
buforował przychodzące ramki, a następnie przekazywał je do odpowiedniego portu, gdy nie będzie on
wykorzystywany. Proces ten nazywany jest jako "przechowaj i prześlij" (ang. store and forward). Przy
przełączaniu typu przechowaj i prześlij, przełącznik odbiera całą ramkę, sprawdza jej poprawność
wykorzystując pole FCS i przekazuje ramkę do odpowiedniego portu węzła docelowego. Dlatego, Ŝe węzły nie
muszą czekać, aŜ medium będzie wolne, mogą one wysyłać i odbierać dane z pełną prędkością medium bez strat
związanych z kolizjami, lub narzutem związanym z obsługą kolizji.
Przekazywanie opiera się na docelowym adresie MAC
Przełącznik utrzymuje tablicę zwaną tablicą adresów MAC. Zawiera ona zestawienie docelowych adresów
MAC z portami wykorzystywanymi do podłączenia tych węzłów/hostów. Dla kaŜdej przychodzącej ramki
docelowy adres MAC z tej ramki porównywany jest z pozycjami listy adresów w tablicy MAC. JeŜeli zgodność
zostanie znaleziona, to numer portu z tablicy, jest wykorzystywany jako port wyjściowy dla ramki.
Tablica adresów MAC – tablica, którą tworzy przełącznik w celu podejmowania decyzji, gdzie przełączyć
wychodzącą ramkę. Składa się z numeru portu i adresu MAC urządzenia znajdującego się na porcie.
Działanie przełącznika
śeby osiągnąć cel, Ethernetowe przełączniki LAN wykonują pięć podstawowych operacji:
• Uczenie się (ang. Learning) - tablica adresów MAC musi być wypełniona adresami MAC i
odpowiadającymi im portami. Proces uczenia się umoŜliwia dokonywanie dynamicznego odwzorowania w
trakcie wykonywania normalnych operacji. Wykorzystując procedurę przeglądania przełącznik określa, czy w
tablicy występuje zapis zawierający ten adres MAC. JeŜeli nie ma takiego wpisu, to przełącznik tworzy go w
tablicy MAC, wykorzystując ten adres źródłowy i port, z którego ramka weszła do przełącznika. Teraz
przełącznik moŜe uŜyć tego odwzorowania w celu przesyłania ramek do tego węzła.
• Starzenie się (ang. Aging) - zapisy w tablicy MAC pozyskane w procesie uczenia się są zaznaczane
tzw. znacznikiem czasowym. Ten znacznik jest wykorzystywany do usuwania starych zapisów z tablicy MAC.
Po utworzeniu zapisu w tablicy MAC, uruchomiona jest procedura odliczania, zaczynając od wartości znacznika
czasowego. Zanim wartość osiągnie zero, zapis w tablicy będzie odświeŜany, gdy tylko przełącznik odbierze
ramkę od tego samego węzła z tego samego portu.
• Zalewanie (ang. Flooding) - jeŜeli przełącznik nie wie, do którego portu wysłać ramkę, bo docelowy
adres MAC z ramki nie występuje w tablicy MAC, to wysyła tę ramkę do wszystkich portów z wyjątkiem portu,
z którego ramka została odebrana. Proces wysyłania ramek do wszystkich segmentów jest znany jako zalewanie
(ang. flooding). Przełącznik nie przekazuje ramki do portu, z którego tę ramkę odebrał, gdyŜ docelowy węzeł w
tym segmencie juŜ tę ramkę odebrał. Zalewanie jest takŜe uŜywane do wysyłania ramek, gdy docelowym
adresem jest adres rozgłoszeniowy.
• Selektywne przekazywanie - jest procesem polegającym na sprawdzeniu docelowego adresu MAC w
ramce i przekazaniu tej ramki do odpowiedniego portu. Jest to główna funkcja przełącznika. Gdy ramka dotrze
od węzła do przełącznika, a przełącznik poznał juŜ adresy MAC, to docelowy adres jest dopasowywany do
zapisów w tablicy MAC, a następnie ramka jest przekazywana do odpowiedniego portu. Zamiast rozsyłania
ramek do wszystkich portów przełącznik wysyła ramkę do docelowego węzła poprzez odpowiedni port. Takie
działanie jest nazywane przekazywaniem.
• Filtrowanie - proces nie jest przekazywania ramki. Tj. przełącznik nie przekazuje ramki do portu, z
którego został odebrany; odrzuca ramki uszkodzone (jeŜeli sprawdzenie sumy kontrolnej CRC zakończy się
niepowodzeniem). Dodatkową przyczyną filtrowania ramek jest bezpieczeństwo. Przełącznik moŜe być
skonfigurowany tak, aby blokował ramki do i/lub z wybranych adresów MAC albo określonych portów.
Protokół ARP dostarcza dwóch podstawowych funkcji:
• Odwzorowanie adresów IPv4 na adresy MAC. W celu umieszczenia ramki w medium LAN
koniecznym jest poznanie docelowego adresu MAC. Gdy pakiet jest wysyłany do warstwy łącza danych, aby
następnie został opakowany w ramkę, węzeł odwołuje się do tablicy w jego pamięci w celu znalezienia adresu
warstwy łącza danych, który jest związany z docelowym adresem IPv4. Tablica ta nazywana jest tablicą ARP
albo pamięcią podręczną ARP (ang. ARP cache). Wiersz tej tablicy obejmuje wartości: adres IP i adres MAC.
Relację pomiędzy tymi dwoma wartościami nazywamy odwzorowaniem, co oznacza, Ŝe po zlokalizowaniu w tej
tablicy adresu IP moŜna odczytać odpowiadający mu adres MAC. Tablica ARP przechowuje odwzorowanie dla
lokalnych urządzeń sieci LAN. W celu rozpoczęcia procesu transmitujący węzeł próbuje zlokalizować w tablicy
ARP adres MAC odwzorowany na docelowy adres IPv4. JeŜeli takie odwzorowanie jest zapisane w tablicy, to
urządzenie wykorzystuje adres MAC jako adres docelowy w ramce, która opakowuje pakiet IPv4. Ramka jest
następnie kodowana i umieszczana w medium sieciowym.
• Utrzymywanie tablicy ARP. Tablica ARP jest utrzymywana dynamicznie. Urządzenia gromadzą adresy
MAC poprzez monitorowanie ruchu, który występuje w lokalnym segmencie sieci. Po odebraniu przez węzeł
ramki z medium, urządzenie wypełnia tablicę ARP odczytywanymi parami adresów. Innym sposobem
pozyskania par adresów, jest wysłanie rozgłoszenia w postaci zapytania ARP. Protokół ARP wysyła ramkę
rozgłoszeniową warstwy drugiej do wszystkich urządzeń w lokalnej sieci Ethernet. Ramka zawiera pakiet
zapytania ARP z adresem IP hosta docelowego. Węzeł odbierający ramkę, która zawiera jego adres IP,
odpowiada przez wysłanie pakietu odpowiedzi do nadawcy zapytania wykorzystując jego adres (zarówno MAC
jak i IP). Ta odpowiedź jest następnie wykorzystana do utworzenia nowego zapisu w tablicy ARP. Takie
dynamiczne zapisy w tablicy MAC są zaznaczane znacznikiem czasowym tak samo jak zapisy w tablicy
przełącznika. JeŜeli urządzenie nie odbierze ramki z danego urządzenia przed tym jak znacznik czasowy straci
waŜność, to taki zapis jest usuwany z tablicy ARP.
Tworzenie ramki
Gdy protokół ARP odbierze od warstwy sieciowej polecenie odwzorowania adresu IPv4 na adres MAC, to szuka
takiego odwzorowania w swojej tablicy ARP. JeŜeli zapis nie zostanie znaleziony, to enkapsulacja pakietu IPv4
nie powiedzie się, a proces warstwy 2 zawiadomi ARP, Ŝe jest potrzebne odwzorowanie. Wtedy proces ARP
wyśle pakiet zapytania ARP (ang. ARP request), aby uzyskać adres MAC docelowego urządzenia w sieci
lokalnej. JeŜeli urządzenie odbierające to zapytanie ma docelowy adres IP, to odpowiada pakietem odpowiedzi
ARP (ang. ARP reply). Następnie w tablicy ARP tworzone jest odwzorowanie. Pakiety związane z tym adresem
IPv4 mogą teraz być opakowywane w ramkach. JeŜeli Ŝadne urządzenie nie odpowie na zapytanie ARP, to
pakiet jest porzucany, poniewaŜ nie ma moŜliwości utworzenia ramki. Informacja o braku powodzenia
enkapsulacji jest przekazywana do wyŜszych warstw urządzenia. JeŜeli urządzenie jest urządzeniem
pośredniczącym, np. routerem, to wyŜsze warstwy mogą poinformować nadawcę o takiej sytuacji wysyłając mu
pakiet ICMPv4.
Wszystkie ramki muszą być przekazane do węzła w lokalnym segmencie sieci. JeŜeli docelowy host IPv4 jest w
lokalnej sieci, to ramka uŜyje adresu MAC tego urządzenia jako adresu docelowego. JeŜeli docelowego hosta
IPv4 nie ma w lokalnej sieci, to węzeł źródłowy musi przekazać ramkę do interfejsu routera, który jest bramą
albo następnym routerem wykorzystywanym do tego, aby osiągnąć cel. Węzeł źródłowy uŜyje adresu MAC
bramy jako docelowego adresu dla ramek zawierających pakiety IPv4 adresowane do hostów z innych sieci.
Gdy host tworzy pakiet dla docelowego węzła, to porównuje docelowy adres IP ze swoim adresem, aby określić,
czy te dwa adresy IP są ulokowane w tej samej sieci warstwy 3. JeŜeli docelowy host nie jest w tej samej sieci,
nadawca wykorzystuje proces ARP do określenia adresu MAC interfejsu routera pracującego jako brama.
Proxy ARP
W celu dostarczenia adresów dla hostów spoza zakresu sieci lokalnej, interfejs routera moŜe uŜywać tzw. Proxy
ARP. To oznacza, Ŝe tablica ARP pytającego hosta będzie zawierać adresy MAC bramy odwzorowane na adresy
IP nie naleŜące do lokalnej sieci. Wykorzystując Proxy ARP router odgrywa rolę hosta z adresem IPv4, o którym
mówi zapytanie ARP. Przez zafałszowanie toŜsamości router bierze odpowiedzialność za przekazywanie
pakietów do prawdziwego adresata. Proxy ARP moŜna wykorzystać takŜe, gdy host nie ma skonfigurowanej
domyślnej bramy. Proxy ARP moŜe pomóc urządzeniom w sieci osiągnąć podsieć bez potrzeby konfigurowania
routingu i domyślnej bramy.
Bezpieczeństwo
W wielu przypadkach uŜywanie ARP moŜe prowadzić do potencjalnego ryzyka związanego z bezpieczeństwem.
Podszywanie się (ang. ARP spoofing) lub zatruwanie ARP (ang. ARP poisoning) jest techniką wykorzystywaną
przez atakującego do wstrzyknięcia niepoprawnych odwzorowań adresów MAC na adresy sieciowe przez
wprowadzenie fałszywych zapytań ARP. Napastnik fałszuje w nich adresy MAC urządzeń (źródłowy adres
MAC w zapytaniu ARP), co skutkuje moŜliwością wysyłania ramek do złego węzła docelowego.Ręczne
konfigurowanie statycznych odwzorowań jest jednym ze sposobów zapobiegania podszywaniu się.
Autoryzowany adres MAC moŜe być skonfigurowany na kilku urządzeniach sieciowych w celu ograniczenia
dostępu tylko do znanych urządzeń.
Module 10. Planning and Cabling Your Network.
Routery są głównymi urządzeniami łączącymi sieci. KaŜdy port routera łączy inną sieć. Pomiędzy tymi sieciami
dokonywany jest routing pakietów. Routery umoŜliwiają podział domen rozgłoszeniowych oraz kolizyjnych. Są
uŜywane do łączenia sieci opartych o róŜne technologie. Mogą mieć zarówno interfejsy LAN jak i WAN.
Urządzenia intersieci
Aby zbudować sieć lokalną, powinniśmy wybrać odpowiednie urządzenia sieciowe, niezbędne do połączenia
urządzenia końcowego do sieci. Dwa najczęściej stosowane urządzenia sieciowe to koncentratory oraz
przełączniki.
Koncentrator (ang. hub) - odbiera sygnał, regeneruje go, a następnie wysyła na wszystkie porty. To urządzenie
tworzy logiczną topologię magistrali. Oznacza to, Ŝe sieć lokalna uŜywa medium wielodostępowego. Porty
współdzielą dostępne pasmo miedzy sobą. Takie podejście związane jest często z obniŜoną wydajnością sieci
LAN spowodowaną kolizjami oraz przywracaniem sprawności po ich wystąpieniu. Połączenie wielu
koncentratorów ze sobą tworzy nadal jedną domenę kolizyjną. Są tańszymi urządzeniami niŜ przełączniki.
Wybierane są jako urządzenia łączące w bardzo małych sieciach lokalnych, o niewielkich wymaganiach co do
przepustowości oraz w przypadku ograniczonych środków finansowych.
Przełącznik (ang. switch) - odbiera ramkę, regeneruje kaŜdy jej bit, a następnie wysyła ją na odpowiedni port
docelowy. To urządzenie jest stosowane do segmentacji sieci na wiele domen kolizyjnych. Inaczej niŜ w
przypadku koncentratora, przełącznik zmniejsza liczbę kolizji w sieci LAN. KaŜdy port przełącznika tworzy
oddzielną domenę kolizyjną. Urządzenie do niego podłączone tworzy logiczną topologię typu punkt-punkt.
Zapewnia dedykowane pasmo dla kaŜdego portu, zwiększając wydajność sieci LAN.
Czynniki wpływające na wybór switcha
• Koszty - czynnikami wpływającymi na jego cenę są: wsparcie do zarządzania siecią, wbudowane
technologie zapewnienia bezpieczeństwa oraz inne dodatkowe zaawansowane technologie przełączania.
Problemy z pojedynczym, centralnym przełącznikiem wpływają na działanie całej sieci. Zatem moŜna
zastosować drugi centralny przełącznik, który będzie działał równocześnie z pierwszym z nich. Celem takiej
nadmiarowości systemu, jest umoŜliwienie sieci fizycznej pracy, pomimo awarii jednego z urządzeń.
• Prędkość - zapotrzebowanie na wzrost szybkości w sieciach lokalnych jest ciągle aktualnym
zagadnieniem. Nowsze komputery są dostępne z wbudowanymi kartami sieciowymi o szybkości 10/100/1000
Mb/s. Wybór takich urządzeń warstwy drugiej, które dostosowują się do wzrastającej prędkości, pozwala sieci
ewoluować bez wymiany urządzeń centralnych.
• Typ interfejsów - wybór przełącznika pod kątem typów i liczby portów jest kluczową decyzją. NaleŜy
rozwaŜyć, jaka będzie potrzebna liczba potów UTP i portów światłowodowych? Ile potrzeba będzie portów o
szybkości 1 Gb/s oraz ile portów oferujących tylko pasmo 10/100 Mb/s? Oraz, jak szybko pojawi się
zapotrzebowanie na dodatkowe porty?
Czynniki wpływające na wybór routera
Podobnie jak w przypadku przełączników, musi być wzięty pod uwagę koszt, typ interfejsów oraz prędkość.
Dodatkowe czynniki wpływające na wybór routera to:
• MoŜliwość rozbudowy - urządzenia występują w formie stałej lub modularnej konfiguracji sprzętowej.
Stała konfiguracja sprzętowa oznacza, Ŝe urządzenie posiada określoną liczbę portów lub interfejsów o
określonym typie. Urządzenia modularne posiadają gniazda rozszerzeń, pozwalające na elastyczny dobór
modułów oraz dodawanie nowych, w razie pojawienia się takiej potrzeby. Większość modularnych urządzeń
dostarczana jest z wbudowanymi na stałe podstawowymi portami oraz z gniazdami rozszerzeń. Routery mogą
łączyć roŜną liczbę sieci oraz roŜne ich typy, naleŜy więc ostroŜnie wybierać właściwe moduły i interfejsy do
określonych mediów.
• Funkcje systemu operacyjnego - w zaleŜności od wersji systemu operacyjnego router moŜe wspierać
określone funkcje i usługi takie jak: bezpieczeństwo, funkcje zapewnienia jakości usług (QoS), transmisja głosu
przez sieć IP (VoIP), routing wielu protokołów warstwy trzeciej, specjalne usługi takie jak NAT i DHCP.
Interfejs MDI (ang. media-dependent interface) - uŜywa normalnego ethernetowego układu styków. Styki 1 i
2 są uŜywane do wysyłania, a styki 3 i 6 do odbierania sygnału. Urządzenia takie jak komputery, serwery i
routery posiadają tego rodzaju interfejsy. Kabla prostego uŜywa się do połączeń:
• przełącznik - port ethernetowy routera,
• komputer - przełącznik,
• komputer - koncentrator.
Interfejs MDIX (ang. media-dependent interface, crossover) – skrosowany interfejs MDI, uŜywany do
łączenia takich samych urządzeń - koncentratory i przełączniki. Te interfejsy zamieniają pozycje styków
transmisji i odbioru. Aby uzyskać ten rodzaj połączenia dla kabla UTP, jeden koniec musi być wykonany
zgodnie ze standardem EIA/TIA T568A, a drugi - według standardu T568B. Kabel z przeplotem łączy
bezpośrednio w sieci LAN następujące urządzenia:
• przełącznik z przełącznikiem,
• przełącznik z koncentratorem,
• koncentrator z koncentratorem,
• router z routerem portami ethernetowymi,
• komputer z komputerem,
• komputer z portem ethernetowym routera.
Auto-detekcję MDIX - funkcja automatycznego przeplotu. Pozwala na przełączanie portów pomiędzy trybem
MDI i MDIX. UmoŜliwia automatyczną detekcję potrzebnego typu połączenia i odpowiednie skonfigurowanie
interfejsu. W niektórych urządzeniach ta funkcja jest domyślnie uruchomiona.
Urządzenie DCE (ang. Data Communications Equipment) - urządzenie, które jest źródłem sygnału
taktującego dla innego urządzenia. Typowo to urządzenie umieszczone jest na końcu linii dostępowej WAN po
stronie dostawcy usługi.
Urządzenie DTE (ang. Data Terminal Equipment) - urządzenie dostosowujące się do odbieranego sygnału
taktującego. Typowo, to urządzenie jest po stronie odbiorcy (klienta lub uŜytkownika) łącza WAN.
Urządzenie CSU/DSU - jest to urządzenie uŜywane do tworzenia fizycznego połączenia pomiędzy sieciami
danych, a linią WAN dostawcy sieci.
Interfejsy urządzeń sieciowych:
LAN – Ethernet - uŜywany do podłączenia urządzeń takich jak komputery, przełączniki i routery do innych
urządzeń lub sieci. MoŜe być wykorzystany do łączenia routerów ze sobą. Istnieje kilka sposobów nazywania
interfejsów ethernetowych np. AUI (starsze urządzenia Cisco uŜywające transceiver), Ethernet, FastEthernet lub
Fa 0/0. Stosowana nazwa zaleŜy od typu i modelu urządzenia.
Szeregowe interfejsy WAN - słuŜą do łączenia urządzeń WAN do jednostek CSU/DSU. Na potrzeby
laboratorium moŜna utworzyć bezpośrednie połączenia pomiędzy dwoma routerami, konfigurując częstotliwość
taktowania zegara na jednym z interfejsów.
Interfejs konsoli - jest głównym interfejsem umoŜliwiającym początkową konfigurację routerów i
przełączników Cisco. Ma istotne znaczenie przy rozwiązywaniu problemów oraz w kwestiach bezpieczeństwa,
poniewaŜ mając fizyczny dostęp do interfejsu konsoli urządzenia, niepowołana osoba moŜe przerwać lub
zakłócić ruch w sieci. Fizyczne zabezpieczenie dostępu do urządzenia jest bardzo waŜne.
Interfejs AUX (ang. Auxiliary) - interfejs stosowany jest do zdalnego zarządzania routerem. Zazwyczaj do
interfejsu AUX podłączony jest modem umoŜliwiający zdalne połączenie. Z punktu widzenia bezpieczeństwa,
włączenie opcji zdalnego logowania do urządzeń niesie ze sobą odpowiedzialność za bezpieczne zarządzanie
urządzeniem.
Port konsoli – port urządzenia sieciowego, do którego moŜna podłączyć terminal lub komputer z emulatorem
terminala. Port ten umoŜliwia komunikację z urządzeniem i jego konfigurację.
Kabel do konsoli (rollover) – kabel tzw. null-modem, który jest uŜywany do podłączenia komputera do portu
konsoli routera lub switcha w celu konfiguracji go.
Podłączenie routera lub switcha do komputera, w celu zarządzania nim:
1. Połącz komputer do portu konsoli uŜywając kabla konsolowego, dostarczonego razem z routerami (ma z
jednej strony złącze DB-9, a z drugiej RJ-45). Złącze DB-9 naleŜy połączyć z portem szeregowym EIA/TIA 232
komputera. Jeśli komputer posiada więcej portów szeregowych, naleŜy zapamiętać, do którego portu został
podłączony kabel konsolowy. Jeśli kabel konsolowy jest podłączony do komputera, wystarczy drugi koniec
kabla (zakończony wtyczką RJ-45) umieścić w interfejsie konsoli routera. Jeśli któreś z urządzeń nie posiada
w/w portów, naleŜy uŜyć odpowiednich adapterów.
2. Skonfiguruj parametry programu emulacji terminala na komputerze z podłączonym urządzeniem, za
pomocą programu HyperTerminal, jest dostępny w większości wersji systemu Windows. Ten program moŜna
znaleźć w menu Wszystkie programy > Akcesoria > Komunikacja. Wybierz HyperTerminal:
Otwórz go, potwierdź wybór portu szeregowego, a następnie skonfiguruj jego ustawienia:
• Liczba bitów na sekundę: 9600 b/s
• Bity danych: 8
• Parzystość: Brak
• Bity stopu: 1
• Sterowanie przepływem: Brak
3. Zaloguj się na routerze uŜywając emulatora terminala. Jeśli wszystkie ustawienia i połączenie kabli są
poprawne, uzyskasz dostęp do routera wciskając klawisz Enter na klawiaturze.
Module 11. Configuring and Testing Your Network.
IOS (ang. Internetwork Operating System) – system operacyjny, stosowany w wielu urządzeniach sieciowych
firmy Cisco. Jest to podstawowa technologia większości urządzeń tej firmy. Jest uŜywany niezaleŜnie od
wielkości i typu urządzeń. Wykorzystuje się go w routerach, przełącznikach LAN, bezprzewodowych punktach
dostępowych (ang. Access Point), ścianach ogniowych (ang. Firewall) itd. Zapewnia urządzeniom min.
podstawowe usługi sieciowe tj. routing, niezawodny i bezpieczny dostęp do zasobów sieciowych, skalowalność
sieci. Dostęp do usług udostępnianych przez IOS odbywa się przy uŜyciu interfejsu linii komend (CLI).
Dostępne funkcje zaleŜą od wersji IOS oraz typu urządzenia. Plik IOS ma rozmiar kilkunastu megabajtów i jest
przechowywany w pamięci Flash. Pamięć Flash zapewnia nieusuwalny magazyn przechowujący dane. Oznacza
to, Ŝe zawartość tej pamięci nie jest tracona po wyłączeniu zasilania. Jednak w razie konieczności moŜe zostać
ona zmieniona lub nadpisana. W wielu architekturach routerów, w momencie włączenia urządzenia, IOS jest
kopiowany do pamięci RAM i router podczas pracy korzysta z IOS przechowywanego w tej pamięci. Taka
funkcjonalność podnosi wydajność urządzenia.
Metody dostępu do środowiska CLI: konsola, telnet lub SSH, port AUX
Konsola zwana równieŜ linią CTY (ang. CTY line) - wykorzystuje wolne połączenie szeregowe poprzez
bezpośrednie podłączenie komputera lub terminala do portu konsoli (console) w routerze lub przełączniku. Port
konsoli jest zarządzalnym portem, który zapewnia pełny dostęp do routera. Jest on dostępny nawet w sytuacji,
gdy na urządzeniu nie zostały skonfigurowane Ŝadne usługi. Port konsoli najczęściej uŜywany jest w przypadku,
gdy usługi sieciowe nie zostały uruchomione lub przestały działać. Przykłady wykorzystania konsoli:
• Początkowa konfiguracja urządzenia sieciowego - po pierwszym uruchomieniu routera parametry
sieci nie są jeszcze skonfigurowane. Zatem router nie moŜe komunikować się poprzez sieć. Aby
skonfigurować urządzenie, uruchamiamy na komputerze oprogramowanie emulatora terminala oraz
podłączamy komputer do portu konsoli urządzenia. Komendy konfiguracyjne routera mogą być
wydawane na podłączonym komputerze.
• Procedury awaryjne lub rozwiązywanie problemów w chwili, gdy zdalny dostęp jest niemoŜliwy podczas pracy, jeśli nie ma moŜliwości dostępu zdalnego, połączenie do konsoli umoŜliwia sprawdzenie
statusu urządzenia. Domyślnie, konsola przekazuje komunikaty generowane w czasie uruchamiania
urządzenia, komunikaty dotyczące procesu debugowania oraz komunikaty o błędach.
• Procedury odzyskiwania hasła - w razie zagubienia hasła istnieje specjalny zestaw procedur
pozwalający na ominięcie hasła i dostęp do urządzenia. Urządzenie powinno być zlokalizowane w
zamkniętym pokoju lub szafie serwerowej, aby ograniczyć fizyczny dostęp do niego.
Telnet lub SSH
W przeciwieństwie do połączenia konsolowego sesja telnet wymaga aktywnie działających usług sieciowych na
urządzeniu. Urządzenie sieciowe musi posiadać minimum jeden aktywny interfejs skonfigurowany z adresem
warstwy 3, np. adres IPv4. Urządzenia z systemem Cisco IOS posiadają wbudowany serwer Telnet uruchamiany
podczas startu urządzenia. IOS posiada równieŜ klienta Telnet. Host z klientem Telnet moŜe uzyskać dostęp do
sesji vty uruchomionych na urządzeniu Cisco. Z powodów związanych z bezpieczeństwem system IOS wymaga,
aby kaŜda sesja telnet uŜywała hasła (jako minimalnej metody uwierzytelnienia).
Protokół Secure Shell (SSH) jest bardziej bezpieczną metodą zdalnego dostępu do urządzenia. Protokół
udostępnia zbliŜoną strukturę logowania do Telnet, ale zapewnia silniejsze niŜ Telnet uwierzytelnianie haseł oraz
uŜywa szyfrowania podczas przesyłu danych. Sesja SSH szyfruje całą komunikację pomiędzy klientem i
urządzeniem. To rozwiązanie utrzymuje ID uŜytkownika, hasło oraz szczegóły prywatnej sesji. Najlepszą
praktyką jest uŜywanie SSH (zamiast Telnet), jeśli tylko jest to moŜliwe.
AUX
Innym sposobem ustanowienia zdalnej sesji z interfejsem wiersza poleceń CLI jest wykorzystanie
telefonicznego połączenia wdzwanianego za pomocą modemu podłączonego do portu AUX routera. Jak w
przypadku połączenia konsolowego, metoda ta nie wymaga skonfigurowanych i dostępnych usług sieciowych na
urządzeniu. Port AUX moŜe zostać uŜyty równieŜ lokalnie, tak jak port konsoli, przez bezpośrednie połączenie
do komputera z uruchomionym emulatorem terminala. Nie wszystkie routery posiadają port AUX. Do
rozwiązywania problemów zaleca się uŜywania portu konsoli, poniewaŜ wtedy router domyślnie wyświetla
komunikaty startowe, debugujące i błędów. Port AUX powinien być uŜywany jedynie w sytuacji, gdy występują
problemy z portem konsoli (np. gdy nie są znane jego parametry).
Wiersz poleceń (CLI) korzysta z hierarchicznej struktury trybów operacyjnych, który kaŜdy ma własną grupę
operacji. W kolejności od góry do dołu są to:
• Tryb EXEC uŜytkownika - jest pierwszym trybem, który pojawia się zaraz po uruchomieniu wiersza
poleceń CLI routera. Ma ograniczone moŜliwości oraz listę poleceń. Identyfikowany jest za pomocą symbolu >
na końcu znaku zachęty np. Switch>
• Tryb EXEC uprzywilejowany – tryb dla administratora. Posiada komendy potrzebne do konfiguracji
routera. Rozpoznawany jest za pomocą symbolu # znajdującego się na końcu wiersza poleceń np. Switch#. Z
tego poziomu dostępne są tryby konfiguracji globalnej i szczegółowej.
• Tryb konfiguracji globalnej (z ang. global config) - w tym trybie moŜemy modyfikować ustawienia
całego urządzenia. Korzystamy z niego równieŜ w celu wejścia do trybów konfiguracji szczegółowych.
Router#configure terminal - komenda stosowana jest do przejścia z trybu uprzywilejowanego do trybu
globalnej konfiguracji i pozwala na wprowadzanie komend konfiguracyjnych z terminala. Informacja w
nawiasie, przed znakiem zachęty informuje, Ŝe router jest w trybie globalnej konfiguracji:
Router(config)#
• Szczegółowe tryby konfiguracji - Z trybu konfiguracji globalnej moŜna przejść do róŜnych trybów
konfiguracji szczegółowych. KaŜdy z trybów pozwala na konfigurowanie poszczególnych części lub
funkcjonalności urządzenia np. jednego interfejsu. Informacja w nawiasie, po słowie config informuje, co
konkretnie konfigurujemy: Router(config-if)#
W celu wyjścia z trybu konfiguracji szczegółowej i powrotu do trybu konfiguracji globalnej naleŜy wpisać exit.
Aby opuścić tryb konfiguracji i powrócić do uprzywilejowanego trybu EXEC naleŜy wpisać end lub skorzystać
z sekwencji Ctrl-Z. Po dokonaniu zmian w trybie globalnej konfiguracji dobrą praktyką jest zapisanie ich w
pliku konfiguracji początkowej przechowywanej w pamięci NVRAM. Chroni to przed problemami w razie
utraty zasilania lub zamierzonego restartu. Komenda, która kopiuje zmiany w bieŜącej konfiguracji do
konfiguracji początkowej, jest następująca: Router#copy running-config startup-config
Pozostałe tryby konfiguracji szczegółowej
enable i disable – komendy słuŜące do zmian pomiędzy trybem EXEC uŜytkownika i trybem administratora.
show - słuŜy do wyświetlania informacji o urządzeniu.
Sposób opisywania komend:
czcionka pogrubiona - tekst pisany czcionką pogrubioną wskazuje na polecenie lub słowo kluczowe, które
naleŜy wprowadzić dokładnie tak jak pokazano.
Kursywa - tekst pisany kursywą wskazuje na argumenty, które musi wpisać uŜytkownik.
[X] - w nawiasach kwadratowych podaje się element opcjonalny (słowo kluczowe lub argument)
| - linia pionowa oznacza wybór spośród opcjonalnych lub wymaganych słów kluczowych lub argumentów.
[X|Y] - w nawiasach kwadratowych podaje się element opcjonalny (słowo kluczowe lub argument)
{X|Y} - nawiasy klamrowe oznaczają wymagany wybór spośród słów kluczowych lub argumentów
rozdzielonych linią pionową.
IOS posiada kilka rodzajów dostępu do pomocy:
Pomoc kontekstowa w postaci podpowiedzi dostarcza listę komend i związanych z nimi słów kluczowych,
pasujących do aktualnego trybu.
wpisując znak zapytania ? w dowolnym miejscu wiersza poleceń otrzymujemy listę dostępnych komend;
po wpisaniu znaku lub sekwencji znaków i wciśniemy ? bez spacji, IOS wyświetli listę poleceń lub słów
kluczowych dla kontekstu rozpoczynającego się od podanych znaków.
wpisując spację i znak ? po komendzie, IOS wyświetli opcje, słowa kluczowe lub argumenty powiązane z
określoną komendą.
Weryfikacja składni komendy - po zatwierdzeniu komendy klawiszem <Enter>, w celu określenia Ŝądanej
akcji interpreter parsuje polecenie. Jeśli zrozumie komendę, Ŝądana akcja zostaje wykonana, a wiersz
poleceń zwraca właściwy znak zachęty. Jeśli interpreter nie rozumie wprowadzonego polecenia, to
dostarczy informację zwrotną z opisem, co zostało wprowadzone błędnie. Są trzy róŜne rodzaje
komunikatów o błędach:
Niejednoznaczne polecenie: % Ambigous command: „c”
Niekompletne polecenie: % Incomplete command
Niepoprawne polecenie: % Invalid input detected at ‘^’ marker – ze wskazaniem miejsca, gdzie jest błąd
Skróty i "gorące klawisze"
Tab - dopełnia komendę lub słowo kluczowe
Ctrl-R - odświeŜa linię
Ctrl-Z - wychodzi z trybu konfiguracji i wraca do trybu EXEC
Strzałka w dół - pozwala uŜytkownikowi na przewijanie do przodu wydanych komend
Strzałka w górę - pozwala uŜytkownikowi na przewijanie do tyłu wydanych komend
Ctrl-Shift-6 - pozwala uŜytkownikowi na przerwanie procesu IOS takiego jak ping czy traceroute
Ctrl-C - przerywa aktualną komendę i wychodzi z trybu konfiguracji
Konfiguracja nazwy hosta
Router#configure terminal
Router(config)#hostname ChicagoHQ
ChicagoHQ(config)#exit.
ChicagoHQ(config)#no hostname
Router(config)# hostname AtlantaHQ
AtlantaHQ(config)#exit.
Hasło dostępowe do konsoli – hasło ograniczające połączenia poprzez konsole. Chroni port konsoli przed
nieautoryzowanym dostępem. Aby ustawić hasło konsoli, naleŜy w trybie konfiguracji globalnej wykonać
następujące instrukcje:
Switch(config)#line console 0
Switch(config-line)#password password
Switch(config-line)#login
Polecenie line console 0 pozwala na wejście w tryb konfiguracji linii konsoli. 0 jest wykorzystane do
reprezentacji pierwszego (i w większości przypadków jedynego) interfejsu konsoli routera.
Druga komenda, password password, słuŜy do przypisania hasła do linii.
Polecenie login konfiguruje wymóg uwierzytelnienia logowania. Kiedy login jest włączony, a hasło ustawione,
wiersz poleceń poprosi o wprowadzenie hasła.
Po wykonaniu tych trzech komend, wiersz poleceń zapyta o hasło za kaŜdym razem, gdy uŜytkownik spróbuje
uzyskać dostęp do portu konsoli.
Hasło trybu uprzywilejowanego (z ang. enable password) - hasło ograniczające dostęp do trybu
uprzywilejowanego EXEC.
Bezpieczne hasło trybu uprzywilejowanego (z ang. enable secret password) - hasło szyfrowane
ograniczające dostęp do trybu uprzywilejowanego EXEC. Oba polecenia mogą być uŜyte w celu włączenia
uwierzytelnienia przed dostępem do trybu uprzywilejowanego EXEC (enable). Polecenie enable secret dostarcza
większych zabezpieczeń niŜ enable password, poniewaŜ posiada mechanizm szyfrowania. Polecenie enable
password moŜe zostać uŜyte tylko w sytuacji, gdy enable secret nie zostało jeszcze ustawione np. w starej kopii
oprogramowania Cisco IOS.
Do ustawienia haseł uŜywa się następujących poleceń:
Router(config)#enable password password
Router(config)#enable secret password
VTY password – hasło ograniczające dostęp poprzez Telnet. Linie vty umoŜliwiają dostęp do routera poprzez
Telnet. Domyślnie wiele urządzeń Cisco obsługuje 5 linii vty, które są numerowane od 0 do 4. Ustawienie hasła
jest niezbędne dla wszystkich linii vty. MoŜna ustawić to samo hasło dla wszystkich połączeń. Aczkolwiek
często wskazane jest ustawienie unikatowego hasła na jednej linii celem dostarczenia zapasowego dostępu
administracyjnego w sytuacji, gdy pozostałe połączenia są w uŜyciu.
Do ustawienia hasła dla linii vty uŜywa się następujących poleceń:
Router(config)#line vty 0 4
Router(config-line)#password password
Router(config-line)#login
System IOS domyślnie włącza komendę login na liniach VTY. Chroni to przed dostępem do urządzenia bez
uwierzytelnienia.
Szyfrowanie wyświetlania haseł
service password-encryption - uŜyteczna komenda chroni hasła przed pokazaniem ich w postaci czystego tekstu
podczas przeglądania plików konfiguracyjnych.
Komenda ta włącza słabe szyfrowanie wszystkich haseł podczas ich konfiguracji. Celem tej komendy jest
uniemoŜliwienie nieautoryzowanym uŜytkownikom zapoznanie się z hasłami zapisanymi w pliku
konfiguracyjnym. Jeśli przed wprowadzeniem komendy service password-encryption wydamy polecenie show
running-config lub show startup-config, to niezaszyfrowane hasła będą widoczne na ekranie.
Aktualizacja konfiguracji startowej
Konfiguracja jest przechowywana w pamięci RAM i jest aktywna do czasu wyłączenia urządzenia Cisco. Jeśli
router zostanie zrestartowany, wszystkie zmiany konfiguracyjne zostaną utracone. Aby tego uniknąć naleŜy
zapisać bieŜącą konfigurację do pliku konfiguracji startowej w NVRAM
Switch#copy running-config startup-config
Po wykonaniu polecenia plik bieŜącej konfiguracji zastąpi plik konfiguracji startowej.
Przywrócenie oryginalnej konfiguracji
Przywrócenie poprzedniej konfiguracji urządzenia, za pomocą polecenia reload w wierszu poleceń
uprzywilejowanego trybu EXEC. Podczas inicjowania przeładowania, IOS wykryje, Ŝe bieŜąca konfiguracja
posiada zmiany, które nie zostały zachowane w startowej konfiguracji. W wierszu poleceń pojawi się pytanie,
czy zachować dokonane zmiany. W celu porzucenia zmian wpisz n lub no. Dodatkowo. w wierszu poleceń
pojawi się pytanie o potwierdzenie procesu przeładowania. W celu potwierdzenia wciśnij Enter. Wciśnięcie
innego klawisza spowoduje przerwanie procesu przeładowania. Na przykład:
Router#reload
System configuration has been modified. Save? n
Proceed with reload? [confirm]
*Apr 13 01:34:15.758: %SYS-5-RELOAD: Reload requested by console. Reload Reason:
Reload Command.
System Bootstrap, Version 12.3(8r)T8, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2004 by cisco Systems, Inc.
PLD version 0x10
GIO ASIC version 0x127
c1841 processor with 131072 Kbytes of main memory
Main memory is configured to 64 bit mode with parity disabled
Kopia zapasowa konfiguracji (offline)
Kopiowanie konfiguracji na serwer TFTP
Wybierz jedno z poleceń - copy running-config tftp lub copy startup-config tftp - i wykonaj następujące kroki:
1. Wpisz polecenie copy running-config tftp.
2. Wpisz adres IP hosta, na którym będzie przechowywany plik konfiguracji.
3. Wpisz nazwę pliku konfiguracyjnego.
4. Odpowiedz yes, aby potwierdzić wprowadzone dane.
Usuwanie całej konfiguracji
To działanie wymaga usunięcia konfiguracji startowej i restartu urządzenia. Startowa konfiguracja jest usuwana
za pomocą polecenia erase startup-config. Aby usunąć plik konfiguracji startowej skorzystaj z komendy erase
NVRAM:startup-config lub erase startup-config w wierszu poleceń trybu uprzywilejowanego EXEC:
Router#erase startup-config
Po wydaniu polecenia router zapyta o potwierdzenie:
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
Confirm, czyli potwierdzenie, jest odpowiedzią domyślną. W celu potwierdzenia i usunięcia pliku konfiguracji
początkowej wciśnij klawisz Enter. Wciśnięcie innego klawisza spowoduje anulowanie procesu. Po usunięciu
konfiguracji początkowej z NVRAM, uruchom ponownie urządzenie w celu usunięcia z pamięci RAM
aktualnego pliku bieŜącej konfiguracji. Urządzenie załaduje domyślną konfigurację początkową, która została
oryginalnie dostarczona z urządzeniem, do konfiguracji bieŜącej.
Tworzenie kopii zapasowej z przechwytywaniem tekstu (HyperTerminal)
Pliki konfiguracyjne mogą zostać zachowane/skopiowane do pliku tekstowego.
Korzystając z HyperTerminal, postępuj wg poniŜszej instrukcji:
1. W menu Transfer wybierz Capture Text.
2. Wybierz lokalizację.
3. Kliknij Start, aby rozpocząć przechwytywanie tekstu.
4. Po rozpoczęciu przechwytywania, wykonaj polecenie show running-config lub show startup-config w trybie
uprzywilejowanego uŜytkownika EXEC. Tekst wyświetlany na ekranie terminala, będzie zachowany we
wskazanym pliku.
5. Obejrzyj plik wynikowy, aby sprawdzić, czy nie został uszkodzony.
Konfiguracja interfejsu Ethernet routera
Interfejs Ethernet routera jest uŜywany jako brama dla urządzeń bezpośrednio przyłączonych do sieci LAN.
Aby skonfigurować interfejs Ethernet, naleŜy wykonać następujące czynności:
1. Wejść do trybu konfiguracji globalnej.
2. Wejść do trybu konfiguracji interfejsu.
3. Podać adres IP i maskę podsieci.
4. Włączyć interfejs.
Router(config)#interface FastEthernet 0/0
Router(config-if)#ip address 192.168.0.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config))#
Konfiguracja interfejsów Serial
Interfejsy szeregowe są wykorzystywane do połączeń WAN z routerami znajdującymi się w odległym miejscu
lub routerami ISP. Aby skonfigurować interfejs szeregowy, naleŜy wykonać następujące czynności:
1. Wejść do trybu globalnej konfiguracji.
2. Wejść do trybu konfiguracji interfejsu.
3. Podać adres IP interfejsu i właściwą maskę.
4. Ustawić wartość parametru clock rate, jeśli podłączony jest kabel DCE. W przeciwnym wypadku - pominąć
ten krok.
5. Włączyć interfejs.
KaŜdy podłączony interfejs szeregowy, aby mógł przesyłać pakiety IP, musi mieć zdefiniowany adres IP i maskę
podsieci. Adres IP konfiguruje się za pomocą następujących poleceń:
Router(config)#interface Serial 0/0/0
Router(config-if)#ip address ip_address netmask
Interfejsy szeregowe wymagają sygnału zegara sterującego taktowaniem komunikacji. Uruchomienie zegara i
ustawienie szybkości odbywa się za pomocą polecenia clock rate na interfejsie:
Router(config)#interface Serial 0/0/0
Router(config-if)#clock rate 56000
Router(config-if)#no shutdown
Konfiguracja interfejsu przełącznika
Chcąc zarządzać przełącznikiem, przydzielamy adres IP do urządzenia. Przełącznik posiadający adres IP jest
traktowany jak host. Po przydzieleniu adresu IP, moŜemy uzyskać dostęp do przełącznika za pomocą telnet, ssh
lub usługi web.
Adres IP jest przydzielany do wirtualnego interfejsu reprezentowanego jako interfejs Virtual LAN (VLAN). W
większości przypadków jest to interfejs VLAN 1. Podobnie jak w przypadku routera, interfejs musi zostać
włączony poleceniem no shutdown. Jak inne hosty, przełącznik potrzebuje adresu bramy definiowanej w celu
komunikacji na zewnątrz sieci lokalnej, bramę domyślną przydzielamy za pomocą polecenia ip default-gateway.

Podobne dokumenty