Podstawowe pojęcia, programowe i sprzętowe elementy tworzące sieć komputerową, ramki, topologie sieci LAN, Internet Przez sieć komputerową rozumiemy zbiór połączonych komputerów i urządzeń, które mogą komunikować się ze sobą. Sieci komputerowe obejmują również wszystko to, co umożliwia urządzeniom komunikowanie się ze sobą oraz współdzielenie zasobów (np. dysków, drukarek). Będziemy rozważać głównie dwie kategorie sieci: LAN (Local Area Networks) sieci lokalne. WAN (Wide Area Networks) sieci rozległe. Jako przybliżone kryterium rozróżnienia przyjmuje się odległości między łączonymi komputerami, np. komputery z kilku sąsiadujących budynków łączone są siecią LAN. Kryterium to nie jest precyzyjne. Przyjęto, że pewne technologie sieciowe (omawiane dokładniej w dalszej części kursu), np. Fast Ethernet są charakterystyczne dla sieci lokalnych, inne jak np. T1, E1 czy Frame Relay dla sieci rozległych. Inne typy sieci (podział według geograficznego kryterium): NFC (Near Field Communication) odległości rzędu centymetrów. BAN (Body Area Network), WBAN (Wireless BAN), inna nazwa to BSN (Body Sensor Network) łączenie czujników, wearable devices. PAN (Personal Area Network) odległości rzędu centymetrów do kilku metrów. Technologie bezprzewodowe takie jak IrDA, Bluetooth, Wireless USB oraz przewodowe jak USB, FireWire, najnowsza: Thunderbolt. NAN (Near- me Area Network) nowość, komunikacja między urządzeniami bezprzewodowymi, które są blisko siebie, np. między telefonami komórkowymi, które są na terenie dużego sklepu. SAN (Storage Area Network). MAN (Metropolitan Area Network) obejmuje obszar miasta, dużego kampusu. Internet jest globalną siecią komputerową złożoną z wielu sieci komputerowych wykorzystujących protokół IP (zestaw protokołów TCP/IP). Od strony logicznej Internet można identyfikować z przestrzenią adresową protokołu IP (są w użyciu dwie wersje: IPv4 i nowa IPv6). Na każdą sieć komputerową składają się sprzętowe oraz programowe elementy składowe. Sprzętowe elementy składowe sieci komputerowych Podstawowymi elementami sprzętowymi są: a) urządzenia transmisji, b) urządzenia dostępu do nośnika (np. do kabla), c) urządzenia wzmacniające, filtrujące i kierujące przesyłane sygnały.
Urządzenia transmisji to nośniki transportu sygnałów przesyłanych przez sieć. Są to na przykład kable koncentryczne, tzw. skrętki, kable światłowodowe, ale też przestrzeń (przesyłanie fal radiowych, mikrofal, światła). Urządzenia dostępu do nośnika transmisji są odpowiedzialne za formatowanie danych tak, by nadawały się do przesyłania poprzez nośnik transmisji, umieszczanie tych danych w nośniku transmisji oraz odbieranie odpowiednio zaadresowanych danych. W sieci LAN urządzeniami takimi są karty sieciowe. Karty sieciowe pakują dane w tzw. ramki. Ramki są podstawowymi porcjami danych przesyłanymi w sieciach komputerowych. Urządzenia wzmacniające, filtrujące i kierujące przesyłane sygnały. Sygnały umieszczane w nośniku transmisji, np. sygnały elektryczne w kablu ulegają zakłóceniom tłumieniu i zniekształceniu. Tłumienie to osłabienie siły sygnału, zniekształcenie to niepożądana zmiana kształtu przebiegu czasowego. Jednym ze sposobów unikania tłumienia jest ograniczenie długości połączeń (kabli). Innym sposobem jest zainstalowanie urządzenia, które odczytuje przesyłane sygnały, wzmacnia je i wysyła z powrotem do sieci. Przeciwdziałanie zniekształceniom i ich skutkom polega na przestrzeganiu zaleceń dotyczących nośnika (stosowanie odpowiedniego typu nośnika, instalacja zgodnie z regułami, odpowiednie długości przewodów) oraz korzystaniu z protokołów obsługujących korektę błędów transmisji. Zadania filtrujące i kierujące sygnały spełniają takie urządzenia jak mosty (pomosty, bridges już raczej nie używane), koncentratory (hubs) przełączniki (switches), punkty dostępowe (access points), routery (routers), bramy (gateways). Będą dokładniej omówione w dalszej części kursu. Programowe elementy składowe sieci komputerowych. Elementami programowymi sieci są: a) protokoły określające sposoby komunikowania się urządzeń i programów, b) oprogramowanie komunikacyjne, c) programy poziomu sprzętowego. Protokoły sieciowe są zestawami standardów i zasad obowiązujących przy przesyłaniu danych przez sieć. Oprogramowanie komunikacyjne to programy umożliwiające użytkownikom korzystanie z sieci komputerowych np. program telnet, przeglądarki WWW, klienci (klienty) pocztowi, oprogramowanie umożliwiające mapowanie dysków sieciowych itd.
Programy poziomu sprzętowego to sterowniki, programy obsługi, mikroprogramy umożliwiające działanie takich urządzeń, jak karty sieciowe. Ramki W sieciach komputerowych dane przesyłane są w porcjach zwanych ramkami. Urządzenie zapewniające dostęp do nośnika (np. karta sieciowa) przesyła pewne sygnały (np. impulsy elektryczne), które są interpretowane jako bity. Od strony logicznej wysyłany ciąg bitów zawiera pewne informacje i może być podzielony na porcje zwane polami. Typowa ramka zawiera następujące pola: ogranicznik początku ramki (jest to ustalony wzór bitów) tzw. adres fizyczny nadawcy (źródła danych) adres fizyczny odbiorcy (miejsca docelowego) dane ogranicznik końca ramki (sekwencja kontrolna ramki). Ogranicznik początku ramki może być poprzedzony lub może zawierać tzw. preambułę, która w pewnych technologiach sieciowych jest stosowana do synchronizacji nadajnika i odbiornika. Wielkość pól określana jest w oktetach. Oktet to 8 bitowa porcja danych. Określenie wprowadzono dla uniknięcia niejednoznaczności związanych z terminem bajt. Różne technologie sieciowe, np. Token Ring (już nie używana), Ethernet, FDDI, 802.11n, wykorzystują różne formaty ramek i różne sposoby fizycznego adresowania komputerów. Wstawienie danych do struktury ramki nazywa się kapsułkowaniem. W zależności od typu ramki mówi się o różnych sposobach kapsułkowania. Topologie sieci lokalnych - wprowadzenie Znaczna część tego kursu będzie poświęcona sieciom lokalnym. W takich sieciach komputery mogą być łączone według różnych topologii fizycznych i logicznych. Topologia fizyczna mówi w jaki sposób połączone są fizycznie komputery, na przykład jeśli połączenia są realizowane tak jak na poniższym rysunku, to mówimy o fizycznej topologii gwiazdy.
Komputer 1 Komputer 7 Komputer 2 Koncentrator/ przełącznik Komputer 6 Komputer 3 Komputer 4 Komputer 5 Jeśli komputery mogą wysyłać ramki między sobą tak, że ramka wędruje od komputera wysyłającego tylko do komputera docelowego, to mówimy, że logiczna topologia to również topologia gwiazdy. Tak budowane są sieci lokalne w różnych odmianach technologii Ethernet z wykorzystaniem przełączników (switches). Są jednak takie sieci, w których specjalny koncentrator przekazuje ramki po okręgu, np. jeśli komputer nr 1 chce wysłać ramkę do komputera nr 5, to najpierw ramka przekazywana jest do komputera 2, potem do komputera 3, potem do komputera 4 i na końcu do komputera 5. W takim przypadku mówimy, że fizyczna topologia połączeń to gwiazda, ale logiczna topologia to topologia pierścienia. Tak działały sieci lokalne budowane w technologii o nazwie Token Ring (obecnie nie używane). Sieci budowane w technologii określanej nazwą FDDI są łączone fizycznie w pierścień (właściwie jest to podwójny pierścień) a komunikacja między nimi odbywa się również na zasadzie przekazywania ramek po okręgu, zatem logiczna topologia połączeń to również pierścień. Sieci lokalne budowane z wykorzystaniem starszych wersji technologii Ethernet wykorzystywały fizyczną i logiczną topologię magistrali. W tej topologii wszystkie komputery podłączone były do wspólnego kabla. Ilustruje to poniższy rysunek. Komputer 1 Komputer 2 Komputer 3 Komputer 4 Komputer 5
Jeśli komputer 1 miał przekazać ramkę do komputera 4, to najpierw sprawdzał, czy przez kabel żaden komputer nie nadaje swoich ramek, a następnie wprowadzał ramkę do kabla. Ramkę widzą wszystkie komputery podłączone do wspólnego kabla, chociaż na ogół tylko komputer docelowy pobiera całą ramkę. Ramka zawiera tzw. adres fizyczny MAC, po którym komputery rozpoznają czy ramka jest do nich kierowana. Jeśli komputery wykorzystują jedną z odmian technologii Ethernet z wykorzystaniem koncentratora (hub), a nie wspomnianego poprzednio przełącznika, wówczas topologia fizyczna to topologia gwiazdy, ale topologia logiczna to topologia magistrali. Koncentrator (hub) po otrzymaniu ramki na którymś z portów (tak nazywane są to gniazda połączeniowe w koncentratorze) przesyła tę ramkę do wszystkich pozostałych portów, a zatem wszystkie pozostałe komputery widzą ramkę tak jak w przypadku fizycznego połączenia w topologii magistrali. Są też topologie złożone, np. gdy kilka koncentratorów lub przełączników (do których są łączone komputery w topologii gwiazdy) łączonych jest w gwiazdę z wykorzystaniem innego koncentratora lub przełącznika.
Model ISO OSI Aby ułatwić zrozumienie procesów zachodzących podczas komunikowania się komputerów między sobą, a także by ułatwić projektowanie protokołów komunikacyjnych, utworzono kilka modeli działania sieci komputerowych. Jeden z najpopularniejszych modeli o nazwie OSI (Open Systems Interconnection) został utworzony przez Międzynarodową Organizację Normalizacyjną (ISO International Organization for Standarization w Genewie). Model ISO OSI stanowi model referencyjny (wzorcowy). Jest to globalny standard określania warstw funkcjonalnych otwartych (wielosystemowych) połączeń sieciowych. Model OSI dzieli procesy zachodzące podczas komunikacji w sieci na siedem funkcjonalnych warstw, zorganizowanych według naturalnej sekwencji zdarzeń. Numer warstwy Nazwa warstwy 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportu 3 Sieci 2 Łącza danych 1 Fizyczna Każdą z warstw można rozpatrywać w aspekcie dwóch zasadniczych funkcji: odbierania i nadawania. 1) Warstwa fizyczna (physical layer) opisuje standard połączenia fizycznego, np. przekształcanie danych w strumień impulsów elektrycznych. Warstwa 1 określa też charakterystyki wydajnościowe nośników (medium transmisyjnego) i zakłada, że są one spełnione, ale same media transmisyjne pozostają poza dziedziną jej zainteresowania (czasem określane są terminem warstwa zerowa). 2) Warstwa łącza danych (data link layer) w warstwie tej rozważa się grupowanie danych wejściowych (z warstwy fizycznej) w bloki zwane ramkami danych (data frames). Ramka zawiera informacje umożliwiające pomyślne przesłanie danych do miejsca docelowego (na ogół poprzez sieć lokalną), m.in. adresy fizyczne MAC. W warstwie 2 opisane są również pewne mechanizmy kontroli poprawności transmisji (FCS). Uwaga. W zasadzie w modelu ISO nie występuje termin ramka, tylko jednostka danych usług warstwy fizycznej, ale termin ramka jest powszechnie stosowany. 3) Warstwa sieci (network layer) jest odpowiedzialna za określenie trasy przesyłania danych między komputerami poza lokalnym segmentem sieci LAN. Do warstwy tej przypisuje się protokoły trasowane takie jak IP (ze stosu protokołów TCP/IP), IPX (Novell IPX/SPX), DDP (AppleTalk). Protokoły te wykorzystują adresowanie logiczne. W warstwie tej opisuje się komunikację komputerów znajdujących się w różnych segmentach sieci przedzielonych routerem.
4) Warstwa transportu (transport layer) obejmuje kontrolę błędów i przepływu danych poza lokalnymi segmentami LAN. Opisuje się w niej protokoły zapewniające komunikację procesów uruchomionych na odległych komputerach (korzysta z nich np. oprogramowanie klient/serwer), w tym komunikację z zapewnieniem niezawodności dostarczania danych. Protokoły tej warstwy to np. TCP oraz UDP (z TCP/IP), SPX (Novell IPX/SPX), ATP, NBP, AEP (AppleTalk). 5) Warstwa sesji (session layer) obejmuje zarządzanie przebiegiem komunikacji podczas połączenia między komputerami (sesji). Rzadziej rozważana. Pierwotnie przeznaczona do opisu obsługi zdalnego dostępu przy pomocy terminala. 6) Warstwa prezentacji (presentation layer) obejmuje kompresję, kodowanie i translację między niezgodnymi schematami kodowania oraz szyfrowanie. 7) Warstwa aplikacji (application layer) obejmuje interfejs między aplikacjami a usługami sieci. Określona sesja komunikacyjna nie musi wykorzystywać protokołów ze wszystkich warstw modelu. Przy nadawaniu dane kierowane są od warstwy 7 do 1, w każdej z warstw następuje opakowanie danych (kapsułkowanie, enkapsulacja) dołączenie nagłówka protokołu danej warstwy. Przy odbiorze następuje proces odwrotny. Z punku widzenia implementacji protokołu jednej warstwy program jednej strony komunikującej się otrzymuje te same obiekty co program drugiej strony. Przy opisie zestawów protokołów używane są też inne modele warstwowe (najczęściej z mniejszą liczba warstw, ale na ogół z odpowiednikami w modelu OSI). Jeden z takich prostszych modeli jest często wykorzystywany przy opisie zestawu protokołów TCP/IP zestawu protokołów będącego podstawą sieci Internet.
Zestaw protokołów TCP/IP Zestaw protokołów określany skrótowo jako TCP/IP składa się z protokołów, które stanowią obecnie podstawę działania Internetu. TCP/IP stał się standardem w komunikacji sieciowej w najpopularniejszych systemach operacyjnych np. w MS Windows od wersji 2000 i w różnych odmianach Uniksa (Linuksa). Można spotkać określenie stos protokołów TCP/IP. Oto protokoły z zestawu TCP/IP: TCP, UDP, IP, ARP, ICMP, IGMP. Najczęściej do opisu TCP/IP stosuje się model czterowarstwowy (nazywany modelem TCP/IP), a nie siedmiowarstwowy model ISO OSI. Dzieje się tak dlatego, że zestaw protokołów TCP/IP nie zawiera protokołów czy opisów dotyczących warstwy fizycznej, nie wyróżnia również protokołów z warstwy prezentacji i sesji. Warstwy modelu TCP/IP a model OSI: Warstwa TCP/IP Aplikacji Transportu Internetowa (sieci, intersieci) Dostępu do sieci (interfejsu sieciowego) Warstwa modelu OSI Aplikacji Prezentacji Sesji Transportu Sieci Łącza danych Fizyczna Protokoły warstwy aplikacji to między innymi: FTP (File Transfer Protocol), TELNET, DNS (Domain Name System) związany z usługą DNS (Domain Name Service) Na warstwę aplikacji składają się komponenty programowe sieci, wysyłające i odbierające informacje przez tzw. porty TCP lub UDP (z warstwy transportu). Protokoły warstwy transportu to TCP oraz UDP. Będą dokładniej omówione w dalszej części kursu. Najważniejszy protokół warstwy internetowej to IP. Inne ważne to ICMP (komunikaty o problemach), IGMP (komunikacja grupowa), ARP (tłumaczy adresy między warstwą internetową a warstwą interfejsu sieciowego, czasami zaliczany do tej ostatniej warstwy).
Dane przechodząc w dół stosu protokołów TCP/IP są opakowywane i otrzymują odpowiedni nagłówek. Przyjęto, że porcje danych przesyłane w dół stosu mają różne nazwy: Komunikat to porcja danych utworzona w warstwie aplikacji i przesłana do warstwy transportu. Porcja danych utworzona przez oprogramowanie implementujące protokół TCP w warstwie transportu nazywana jest segmentem. Segment zawiera w sobie komunikat z warstwy aplikacji. Porcja danych utworzona przez oprogramowanie implementujące protokół UDP w warstwie transportu nazywana jest datagramem UDP. Datagramem nazywana jest również porcja danych utworzona w warstwie internetowej przez oprogramowanie implementujące protokół IP. Datagram IP zawiera w sobie segment utworzony w warstwie transportu. Datagram IP bywa nazywany pakietem. Porcja danych utworzona na poziomie dostępu do sieci nazywana jest ramką. Uwaga. W Akademii Sieciowej Cisco na ogół terminem pakiet (packet) określa się datagram IP. Nie mówi się tam o datagramach IP ale o pakietach (lub pakietach IP). Jednak w niektórych polskich książkach dotyczących sieci komputerowych można spotkać określenie pakiet na dowolną porcję danych utworzoną przez oprogramowanie realizujące protokół dowolnej warstwy modelu TCP/IP. Z kolei w Akademii Sieciowej Cisco taka dowolna porcja danych określana jest skrótem PDU Protocol Data Unit.
Przykładowa sekwencja zdarzeń przy wysłaniu danych 1. Aplikacja przesyła dane do warstwy transportu (oprogramowania realizującego protokoły warstwy transportu). 2. Dalszy dostęp do sieci realizowany jest przez TCP albo UDP. - TCP realizuje tzw. niezawodne połączenia i kontroluje przepływ danych zapewniając niezawodne dostarczenie danych (nawet, gdyby zaginęły w sieci wówczas zostają przesłane jeszcze raz). - UDP nie zapewnia niezawodności, ale jest szybszy. 3. Segment danych lub datagram UDP przesyłany jest do warstwy IP, gdzie protokół IP (a właściwie jego implementacja) dołącza między innymi informacje o adresach IP źródła i celu tworząc datagram IP (pakiet). 4. Datagram z IP przechodzi do warstwy interfejsu sieciowego, gdzie tworzone są ramki. W sieci LAN ramki zawierają adres fizyczny (przypisany do karty sieciowej) otrzymany z protokołu ARP. Protokół ARP będzie jeszcze szczegółowo omawiany w dalszej części kursu. 5. Ramka przekształcana jest w ciąg sygnałów (odpowiadających bitom według pewnego systemu kodowania bitów), który zostaje przesłany przez sieć. RFC Oficjalne standardy internetowe są publikowane w tzw. RFC (Request for Comment). Niektóre dokumenty RFC nie są standardami, ale pełnią funkcję informacyjną. Każdy dokument RFC posiada swój numer większe numery oznaczają nowsze dokumenty. Ciekawostka: Prawie każdego roku 1 kwietnia są wydawane specjalne, humorystyczne dokumenty RFC. Są one opublikowane razem z tymi poważnymi. Technologie Ethernet W rozdziale tym zostaną przedstawione technologie budowy sieci lokalnych określane czasem wspólnym mianem Ethernet lub 802.3. Specyfikacje i parametry tych technologii są rozważane na poziomie pierwszym i drugim modelu ISO OSI. Historia i podstawy technologii określanych wspólnym mianem Ethernet
Parę słów o historii sieci Ethernet 1. Jedna z pierwszych sieci lokalnych (1972 r.) to Ethernet PARC firmy Xerox (PARC Palo Alto Research Center), tzw. Ethernet I, opierający się na założeniach sieci do transmisji radiowej o nazwie Aloha zaprojektowanej na Uniwersytecie Hawajskim. Łączenie komputerów następowało w topologii magistrali, przewodami koncentrycznymi o grubości ½ cala (12 mm) (tzw. gruby Ethernet, thick Ethernet). Połączenie między komputerem a kablem wymagało użycia tzw. nadbiornika (transceiver) AUI (Attachment Unit Interface) oraz specjalnego kabla AUI. Prędkość przesyłania 2,94 Mbps (mega bity na sekundę). Cechą charakterystyczną tej sieci było to, że transmitery przed rozpoczęciem nadawania nasłuchiwały. Dostęp do nośnika realizowany był na zasadzie CSMA (Carrier Sense, Multiple Access wielodostęp do nośnika z badaniem stanu nośnika). 2. Następny krok (1979 r.) DIX Ethernet, (od Digital, Intel, Xerox), powszechnie znany jako Ethernet II. Prędkość przesyłania wynosiła 10 Mbps. Dostęp do nośnika realizowany był na zasadzie CSMA/CD (Carrier Sense, Multiple Access with Collision Detection wielodostęp do nośnika z badaniem stanu oraz wykrywaniem kolizji). Taki sposób dostępu do nośnika jest charakterystyczny dla prawie wszystkich odmian technologii Ethernet (z wyjątkiem tych najszybszych: 10Gbps i szybszych). 3. W lutym 1980 roku organizacja Institute of Electrical and Electronics Engineers (IEEE) rozpoczęła prace nad Projektem 802 (skrót pochodzi prawdopodobnie od daty: rok 80, drugi miesiąc), w którym zamierzano określić różne standardy sieciowe. Standard nazwany IEEE 802.3 określa działanie technologii sieciowej o ramkach nieco innych niż Ethernet II. 4. Kolejne kroki to popularny 100 Mbps (Fast Ethernet) oraz jego następca, popularny obecnie 1000 Mbps (Gigabit Ehternet), stosowany często do łączenia przełączników czy routerów. Są też wersje szybsze: 10 i więcej Gigabit/s. Technologie ta wykraczają poza sieci lokalne, długość połączeń może być rzędu 80 km. Wymienione typy technologii Ethernet mają swoje różne odmiany, różniące się między sobą nośnikami (np. kabel miedziany koncentryczny, skrętka, kabel optyczny), sposobem kodowania bitów i innymi szczegółami. Topologie połączeń komputerów w sieciach Ethernet W najpopularniejszych w tej chwili odmianach 100Mbps i 1Gbps oraz technologiach wcześniejszych komputery mogą być łączone przy użyciu różnego rodzaju kabli miedzianych. W sieciach Ethernet II podstawową topologią fizyczną i logiczną połączeń była magistrala. Wszystkie komputery przyłączone były do wspólnego kabla. Wszystkie nasłuchiwały, czy któryś nadaje, jeśli nie, to karta sieciowa może wysłać do kabla ramkę. Był realizowany protokół CSMA/CD opisany poniżej. W sieciach Fast Ethernet 100Mbps i 1Gbps topologia fizyczna jest na ogół typu gwiazdy. Jeśli w środku gwiazdy znajduje się koncentrator (100Mbps), to topologia logiczna jest typu magistrala (wszystkie komputery słyszą co ktokolwiek w sieci lokalnej wysłał). Jeśli w środku gwiazdy jest przełącznik (100Mbps, 1Gbps), to topologia logiczna jest też typu gwiazdy. Przełączniki przesyłają ramki tylko do jednego komputera a nie tak jak
koncentratory do wszystkich. Połączenia w sieci mogą być bardziej złożone, np. kilka gwiazd może być połączonych przy użyciu przełączników lub koncentratorów. Połączenia mogą tworzyć drzewo lub inną strukturę (z dublowaniem kluczowych elementów będzie jeszcze o tym mowa w dalszej części kursu). CSMA/CD, domeny kolizji Protokół CSMA/CD określa, że przed rozpoczęciem transmisji realizowane jest nasłuchiwanie. Tylko wówczas, gdy przez kabel nie są przesyłane żadne dane, karta sieciowa wysyła w trybie rozgłoszenia swoje dane. Ramka nie ma znacznika końca. Między nadawaniem kolejnych ramek zachowuje się małe odstępy (w Ethernet 10Mb i 100Mb odpowiada czasowi przesłania 96 bitów, czyli odpowiednio 9,6 mikrosekundy i 0,96 mikrosekundy, w 1Gigabit Ethernet odstęp odpowiada czasowi przesłania 512 bitów). CSMA/CD obsługuje konflikty: gdy dwa lub więcej węzłów rozpocznie równocześnie wysyłanie danych następuje kolizja (jeśli jest topologia magistrali lub karty pracują w trybie półdupleksowym patrz niżej). Karta sieciowa potrafi wykryć kolizję. Po wykryciu kolizji karty sieciowe dodatkowo wysyłają sygnał zakłócenia informujący o konflikcie. Jeśli kolizja zostanie wykryta w momencie nadawania tzw. preambuły (najczęściej), wówczas preambuła nadawana jest do końca (jako zakłócenie sygnałów kolizyjnych). Jeśli kolizja wykryta jest w momencie nadawania ramki, wówczas wysyłany jest 32 bitowy sygnał zakłócający. Następnie karty sieciowe uczestniczące w konflikcie przerywają transmisję na czas losowy, po upływie którego następuje ponowienie próby transmisji. W kolejnych próbach czas ten rośnie. W prawidłowo skonstruowanych sieciach Ethernet kolizje mogą wystąpić co najwyżej do 64 oktetu ramki. Późniejsze kolizje świadczą na ogół o zbyt długich połączeniach, które skutkują tym, że ramka dociera zbyt późno do komputerów odległych od nadawcy. Skrajne komputery w sieci nie powinny być oddalone od siebie więcej niż określają to dokładne przepisy dla każdej z odmian technologii Ethernet. Zasada 4 repeaterów W starszych technologiach Ethernet, działających w fizycznej topologii magistrali, aby nie dopuścić do występowania tzw. późnych kolizji stosowana była tzw. zasadę 4 repeaterów, zwaną też zasadą 5-4- 3 (czasem 5-4- 3-2- 1). Pięć sekcji sieci, cztery wzmacniaki lub koncentratory, trzy sekcje sieci zawierające hosty (dwie sekcje nie zawierają komputerów, całość stanowi jedną domenę kolizji). Ze względu na możliwość występowania kolizji mówi się o tzw. domenach kolizji fragmentach sieci, w których może wystąpić kolizja ramek. Powszechne zastosowanie w Ethernecie techniki przełączania pełnodupleksowego (użycie pełnodupleksowych przełączników) zmniejsza lub likwiduje rywalizację o dostęp do medium (zmniejsza domenę kolizji).
Większość technologii Ethernet zakłada możliwość pracy urządzeń tzw. półdupleksowych, w których nadawanie i odbieranie jest realizowane naprzemiennie przy pomocy tych samych kabli. Jednak obecnie na ogół stosowane są urządzenia pracujące w trybie pełnodupleksowym (full- duplex), w którym dane wyjściowe i wejściowe przesyłane są między urządzeniem przełączającym a stacją roboczą za pomocą osobnych par przewodów. W tym, przypadku nie występują kolizje. Technologia 10Gb Ethernet i szybsze nie dopuszczają pracy w trybie półdupleksowym, zatem w tej technologii kolizje nie występują. W warstwie fizycznej (PHY) mogą być używane różne rodzaje kodowania bitów oraz różne rodzaje nośników. Przykłady odmian technologii Ethernet (różnych implementacji PHY): 10Base- 2 (Thin Ethernet) cienki kabel koncentryczny (coaxial), maksymalna długość pojedynczego kabla 185m, topologia magistrali, 10Mbps. 10Base- 5 (Thick Ethernet) gruby kabel koncentryczny, maksymalna długość jednego odcinka 500m, topologia magistrali, 10Mbps. 10Base- T (UTP) CAT5 UTP, maks. długość 100m, topologia gwiazdy, przyłączanie do koncentratora (hub) i przełącznika (switche a), 10Mbps. 10Base- FL światłowód (fiber- optic), maks. długość 2000m, 10Mbps. 100Base- TX CAT5 UTP, maks. długość 100m, topologia gwiazdy, przyłączanie do koncentratora (hub) i przełącznika (switche a), 100Mbps. 100Base- FX światłowód wielomodowy, maks. długość 2000m, 100Mbs. 1000Base- SX Gigabit Ethernet, światłowód do 550 m. 1000Base- LX Gigabit Ethernet, światłowód do 3 km. 1000Base- CX Gigabit Ethernet, STP lub kabel koncentryczny do 25 m. 1000Base- T Gigabit Ethernet, UTP do 100m. 10GBase- SR - 10 Gb/s przeznaczony dla światłowodów wielomodowych o maksymalnym zasięgu od 26 do 82 m (przy 850nm). Umożliwia także zasięg 300 m na nowych światłowodach wielomodowych 2000MHz/km. 10GBase- LX4 - stosując modulację typu 'WDM' umożliwia zasięg 240 lub 300 m za pomocą światłowodów wielomodowych (przy 1310nm) lub 10 km za pomocą jednomodowych. 10GBase- LR - Ethernet za pomocą światłowodów jednomodowych na odległość 10 km. 10GBase- ER - Ethernet za pomocą światłowodów jednomodowych na odległość 40 km. 10GBase- T umożliwia transmisję o prędkości 10 Gb/s na odległość 100 m kablem nieekranowanym UTP kategorii 6a/7. Możliwe jest również wykorzystanie kabla kategorii 6 wtedy maksymalna długość kabla nie powinna przekraczać 55m. W oznaczeniach technologii (np. 100BASE- TX) pierwsza liczba oznacza szerokość pasma, określenie BASE oznacza sposób transmisji bezpośrednie kodowanie bitów, bez sygnału nośnego (w odróżnieniu od standardu BROAD, gdzie jest sygnał nośny, a bity kodowane są za pomocą zmian sygnału nośnego). W technologii 10GbE (Ethernet 10- gigabitowy, IEEE.802.3ae) są zmiany w stosunku do poprzednich wersji związane nie tylko z szybkością przesyłania bitów. Dopuszczono tylko tryb full- duplex, zrezygnowano z CSMA/CD w związku z brakiem kolizji. Jest to technologia
mająca cechy technologii MAN i WAN. Maksymalne dopuszczalne teraz długości połączeń są rzędu dziesiątek kilometrów. Nośnikiem jest światłowód. Szybsze wersje Ethernet: 40, 100 Gb/s (w opracowaniu są szybsze). Ramki Ramka Ethernet II (DIX) Ramka Ethernet II opisana jest w RFC 894. Preambuła (8 oktetów) Adres odbiorcy (MAC 6 oktetów) Adres nadawcy (MAC 6 oktetów) Typ danych (2 oktety) Ethertype Dane od 46 do 1500 oktetów CRC (FCS) (4 oktety) Preambuła to siedem bajtów 10101010 oraz jeden bajt 10101011. Nie licząc preambuły ramka ma więc długość od 64 oktetów do 1518 oktetów. Same dane przenoszone w ramce mogą mieć rozmiar od 46 do 1500 oktetów. Na końcu ramki znajduje się Sekwencja kontrolna ramki (FCS Frame Check Sequence), która zawiera CRC (Cyclical Redundancy Check). Po otrzymaniu ramki komputer docelowy sprawdza CRC i porównuje z FCS. Jeśli wykryje różnicę, ramka jest odrzucana. Pole Typ danych (EtherType) zawiera informację co znajduje się w danych przesyłanych w ramce. Pola typ danych i dane : Typ 0800 datagram IP (46-1500, w razie potrzeby uzupełniony bajtami wypełnienia) typ 0806 typ 8035 ARP zapytanie/ odpowiedź (28 oktetów) RARP zapytanie/ odpowiedź (28 oktetów) PAD (18 oktetów) PAD (18 oktetów) Uwaga! W programach śledzących ruch w sieci preambuła i pole CRC nie są widoczne (za wyjątkiem specjalnych snifferów warstwy 1). Minimalny rozmiar pola danych wynika z mechanizmu detekcji kolizji oraz oszacowania czasu przesyłania sygnałów. Rozmiar ten został określony dla Ethernetu 10Mbps i dla kompatybilności utrzymany w wersjach późniejszych. Sieć Ethernet może się składać z co najwyżej pięciu segmentów przedzielonych węzłami (za taki węzeł uważa się również wzmacniak (repeater)). Przy użyciu kabla 10Base5, każdy segment może mieć maksymalnie 500 metrów, czyli cała sieć nie może być dłuższa niż 2500 metrów.
Czas potrzebny na przebycie całej sieci nazywany jest opóźnieniem propagacji i dla najdłuższej sieci Ethernet 10Mbps wynosił 28,8 mikrosekundy (µs). W niekorzystnym przypadku, do rozpoznania kolizji będzie potrzebny czas dwukrotnie dłuższy niż opóźnienie propagacji (jest to tzw. szczelina czasowa). W ciągu 56,6 µs z prędkością 10Mbps węzeł Ethernetu nadaje 72 bajty. Odejmując długość preambuły (8B), adresów docelowego i źródłowego (razem 12B) oraz pola typ (2 bajty) i CRC (4B) zostaje na dane 46 bajtów. Jeśli dane tyle nie zajmują, to są uzupełniane. To uzupełnienie nie wlicza się w długość datagramu IP ani ramki ARP czy RARP. PAD (inaczej FP Frame Padding) uzupełnienie do minimalnej długości. Ramka IEEE 802.3 W wyniku działań grup zadaniowych Projektu IEEE 802 powstały między innymi następujące standardy: 802.2 standard wspólny dla wszystkich technologii rozważanych w projekcie 802 (Ethernet, Token Ring, Token Bus) definiuje tzw. warstwę kontroli łącza logicznego (LLC). 802.3 określa standardy sieci LAN z techniką dostępu CSMA/CD. 802.4 standard sieci z topologią magistrali i metodą dostępu do sieci na zasadzie przesyłania tokenu (Token Bus), technologia ta w praktyce nie rozwinęła się. 802.5 standard sieci Token Ring (obecnie nie używana). Ramka IEEE 802.3 opisana jest w RFC 1042. W 802.3 przedefiniowano pole Typ (2 oktety) na pole Długość ramki. Wewnątrz ramki umieszcza się dodatkowo tzw. nagłówek LLC. IEEE w opracowywanych standardach podzielił warstwę łącza danych (warstwę 2 w modelu OSI) na dwie podwarstwy: Logical Link Control (LLC) oraz Media (Medium) Access Control (MAC). Podwarstwa LLC jest odpowiedzialna za multipleksowanie różnych protokołów warstw wyższych, tak by odpowiednie PDU (z różnych protokołów IP, IPX, Decnet, Appletalk) mogły być transportowane przez wspólny nośnik. LLC obejmuje również sterowanie przepływem oraz kontrolę błędów i zapewnienie niezawodności, jednak te właściwości w większości sieci są realizowane w protokołach warstw wyższych, co czyni LLC niezbyt użyteczną. Podwarstwa MAC zajmuje się m.in. dodawaniem/sprawdzaniem FCS, wymuszaniem odpowiedniego odstępu między ramkami, odrzucaniem niepoprawnych ramek, dodawaniem preambuły i SFD, uzupełnianiem ramek (PAD). W ramkach 802.3 identyfikacja protokołów została przesunięta do tzw. podramki LLC i SNAP (Sub- Network Access Protocol) dołączanej do pola Dane. Nagłówek LLC zawiera trzy bajty, dla 802.3 jest to AA AA 03. Nagłówek SNAP ma pięć bajtów. Na trzech pierwszych bajtach zawiera zera, natomiast dwa pozostałe służą do identyfikacji protokołów warstwy wyższej. (Generalnie SNAP może zawierać inne wartości na pierwszych trzech bajtach jest to IEEE Organizationally Unique Identifier OUI zarejestrowany dla firmy lub organizacji; stosowanie OUI daje możliwość definiowania prywatnych protokołów przez różne firmy/organizacje). Długość pól od początku nagłówka LLC do ostatniego bajtu danych musi być większa bądź równa 46 i mniejsza bądź równa 1500. Na same dane (np. datagram IP) zostaje więc maksymalnie 1492 oktety (a minimum 38 oktetów).
Podstawowa ramka IEEE 802.3: Preambuła (7 oktetów) SFD (1 oktet) Adres odbiorcy (MAC 6 oktetów) Adres nadawcy (MAC 6 oktetów) Długość (2 oktety) LLC+SNAP Dane (3+5+ 38 do 1492 oktety) + Sekwencja kontrolna ramki (4 oktety) Każdą ramkę poprzedza 7- oktetowa Preambuła (7 oktetów 10101010). Ramka rozpoczyna się za 1 oktetowym ogranicznikiem początku ramki (SFD Start of Frame Delimiter). Oktet SFD to 10101011. Podramki LLC były wykorzystywane przez niektóre starsze protokoły (NetBEUI, NetWare IPX, SNA). Ze względu na małą wartość LLC oraz zmniejszenie miejsca na dane, ramki Ethernet II zostały uznane za lepsze dla technologii Ethernet i obecnie obydwa formaty ramek są akceptowane przez standard IEEE 802.3. Ponadto dodano możliwość określenia tzw. sieci VLAN (sieci VLAN będą omówione na innym wykładzie) poprzez dodanie opcjonalnego znacznika 802.1Q. Poniższy rysunek dobrze obrazuje różne formaty ramek Ethernet (źródło: Wikipedia): Pole Ethertype zawiera wartości, które nie mogą być uznane za poprawną długość ramki, zatem zawartość tego pola określa, czy mamy do czynienia z ramką Ethernet II, czy Ethernet z LLC i SNAP.
ARP (Address Resolution Protocol) protokół rozpoznawania adresu fizycznego Opisany w RFC 826, 1122. ARP stosowany jest w sieciach Ethernet (jeśli w warstwie sieci wykorzystywany jest protokół IPv4), był też używany w sieciach Token Ring. Zadaniem ARP jest odnalezienie adresu fizycznego MAC na podstawie adresu IP. Jeśli ma być wysłany datagram IP (pakiet) na pewien adres IP, to musi być skonstruowana ramka zawierająca odpowiedni adres MAC. Adres docelowy IP jest znany przez aplikację wysyłającą, ale adres MAC na ogół nie. Adres IP jest znany wprost, gdyż np. w programie ftp wpisany został przez użytkownika, lub częściej adres ten jest uzyskiwany automatycznie na podstawie wpisanej przez użytkownika nazwy domenowej (np. www.wsb- nlu.edu.pl) dzięki systemowi o nazwie DNS. Adres MAC jest odnajdywany przez protokół ARP. Ze względu na możliwość wymiany karty sieciowej w komputerze o określonym adresie IP ARP musi być dynamiczny, tj nie może polegać na trwałych wpisach np. w plikach konfiguracyjnych. ARP jest protokołem opartym na metodzie rozgłoszeniowej i zasadzie żądania i odpowiedzi. ARP najpierw sprawdza w swojej pamięci podręcznej (cache) tablicę przyporządkowującą adresy MAC adresom IP. Jeśli odpowiedni wpis nie zostanie znaleziony, wówczas zostaje wysłana ramka tzw. ARP Request Message. Jest to ramka rozgłoszeniowa docierająca do wszystkich węzłów (komputerów kart sieciowych) fizycznego segmentu sieci, do którego przyłączony jest nadawca. W ramce tej jest zapisane pytanie, które możemy przetłumaczyć tak: Kto ma adres ip 149.159.12.15? Proszę podać mi adres MAC. Węzeł wysyłający nazywany jest ARP requestor. Możliwe są dwa przypadki: 1) W przypadku, gdy węzeł docelowy znajduje się w tym samym segmencie sieci lokalnej (nie jest oddzielony od węzła źródłowego routerem), ARP requestor pyta wprost o to kto ma docelowy adres IP. ARP responder odpowiada wysyłając ramkę ARP Reply pod adres MAC, z którego przyszło żądanie. Adres ten jest znany, gdyż znajduje się w ramce zapytania ARP. Węzeł wysyłający ARP Reply określany jest jako ARP responder. Po wymianie ramek zarówno nadawca jak i odbiorca mają uaktualnione tablice w pamięci podręcznej (cache). 2) W przypadku, gdy węzeł docelowy znajduje się w innym segmencie sieci (być może z drugiej strony kuli ziemskiej) datagram musi być skierowany do domyślnego routera. Na ogół adres IP domyślnego routera jest wpisany w konfiguracji TCP/IP. Zatem w takim przypadku ARP requester pyta o to kto ma adres IP i tu podaje adres IP routera domyślnego. Router odpowiada wysyłając ramkę ARP respond i podaje swój adres MAC. W przypadku, gdy w konfiguracji komputerów w sieci nie ma adresu IP routera domyślnego można skorzystać z tzw. Proxy ARP, który będzie omówiony pod koniec tego rozdziału.
Po otrzymaniu ARP Request uaktualniane są również pamięci podręczne cache ARP w komputerach, które otrzymały tę ramkę, a które miały w pamięci podręcznej IP komputera, który wysyłał żądanie. Takie uaktualnienie jest możliwe dzięki temu, że ramka ARP request zawiera adres MAC i adres IP nadawcy. A zatem ważną metodą aktualizacji wpisów w pamięci podręcznej ARP jest samo otrzymanie ramki ARP request. Wpisy w pamięci podręcznej ARP są usuwane po okresie nieużywania rzędu kilku minut. W przypadku użycia wpisu czas ten może wzrosnąć, lecz nie więcej niż pewna wartość np. 10 minut. Tak jest w systemach MS Windows standardowy czas przechowywania wpisu to 2 min. Jeśli w tym czasie wpis jest używany (czyli były wysyłane datagramy pod adres IP z wpisu), to czas ten jest zwiększany o kolejne 2 min. Limit górny to 10 min., po upływie tego czasu wpisy w pamięci podręcznej ARP są czyszczone i procedura żądań i odpowiedzi jest powtarzana. Czas życia wpisu można modyfikować ustawiając w sekundach wartości wpisów ArpCacheLife (czas przechowywania wpisu) oraz ArpCacheMinReferencedLife (maks. czas przechowywania wpisu używanego) w rejestrach systemu. TCP/IP w Microsoft Windows pozwala na użycie statycznych wpisów w pamięci podręcznej ARP, to jest takich, które są wpisane na trwałe poleceniem arp z opcją s. Jednak ze względu na to, że tablica odwzorowań IP w adresy MAC jest przechowywana w pamięci RAM, to i tak przy wyłączaniu komputera wpisy przepadają i przy późniejszej inicjalizacji TCP/IP pamięć cache jest pusta i należy ją zapisać od nowa. Do sprawdzenia cache służy polecenie arp z opcją - r. Struktura ramki ARP: Typ sprzętu (2 oktety) Typ protokołu (2 oktety) Długość adresu sprzętu (1 oktet) Długość adresu protokołu (1 oktet) Kod operacji (2 oktety) Adres sprzętu nadawcy (dla Ethernet 6 oktetów) Adres protokołu nadawcy (dla IPv4 4 oktety) Adres sprzętu docelowego (dla Ethernet 6 oktetów) Adres protokołu docelowego (dla IPv4 4 oktety) Przykładowe wartości: Typ sprzętu: 1 Ethernet 10 Mbps 6 802 Token Ring 15 Frame Relay 16 Asynchronous Transfer Mode (ATM)
Typ protokołu dla IP wartość 0x0800. Kody operacji: 1 ARP Request 2 ARP Reply 3 RARP Request 4 RARP Reply Wykrywanie zduplikowanych adresów IP zbędny ARP Węzeł wysyła ARP Request z zapytaniem o swój własny adres (W Windows domyślnie 3 razy). Jeśli ARP Reply nie nadejdzie, to znaczy, że w lokalnym segmencie nie ma konfliktu adresów. Jeśli odpowiedź nadejdzie, oznacza to konflikt. Węzeł już skonfigurowany traktowany jest jako węzeł z poprawnym adresem (węzeł zgodny, defending node), węzeł wysyłający zbędny ARP jest węzłem konfliktowym (offending node). Niestety węzeł konfliktowy wprowadza błąd w pamięci podręcznej ARP komputerów w całym segmencie sieci. ARP Reply z węzła zgodnego nie naprawia sytuacji, gdyż ramka ARP Reply nie jest ramką rozgłoszeniową i jest kierowana tylko do jednego komputera. Dlatego zawsze węzeł zgodny wysyła ARP Request ze swoim adresem po wykryciu konfliktu. Uwaga. Datagramy IP wysłane na w ramkach z niepoprawnym adresem MAC odbiorcy przepadają. Co gorsze, protokół IP nie zapewnia niezawodnej dostawy datagramów i nie spowoduje powtórnego przesłania datagramu w nowej ramce. Za niezawodność odpowiedzialne są protokoły warstwy transportu. Proxy ARP Router ze skonfigurowanym mechanizmem Proxy ARP odpowiada na ramki ARP Request w imieniu wszystkich węzłów komputerów spoza segmentu sieci lokalnej (RFC 925). Używany jest np. w sytuacji, gdy komputery w sieci nie mają ustawionego domyślnego routera (domyślna brama, default gateway).
Przykładowe pytania egzaminacyjne: Projekt IEEE 802.3 opisuje technologię sieciową a) sieci lokalnej radiowej b) sieci lokalnej i rozległej z wykorzystaniem światłowodów c) sieci rozległej z wykorzystaniem łącza szeregowego (np. modemowego) d) sieci lokalnej z dostępem na zasadzie krążącego tokenu oraz z wykorzystaniem techniki wykrywania kolizji e) sieci lokalnej z dostępem do nośnika określanym jako CSMA/CD Wybierz zdanie prawdziwe a) ARP wykorzystuje komunikaty rozgłoszeniowe ICMP do otrzymania adresu MAC na podstawie IP b) wpisy w ARP cache są trwałe, ale tylko do momentu restartowania systemu operacyjnego c) Standardowym poleceniem (programem) o nazwie arp można sprawdzić pamięć podręczną ARP (tablicę przypisania numerów MAC do numerów IP) d) ARP przesyła komunikat o nieosiągalnym miejscu docelowym w sieci. e) ARP jest wykorzystywany przez routery do wyboru optymalnej trasy w sieciach lokalnych Protokół ARP: a) powoduje zmianę trasy w tablicy rutowania hosta na podstawie komunikatu o przekierowaniu b) służy do dynamicznego przydziału IP na podstawie MAC c) służy do określenia adresu MAC na podstawie znanego adresu IP d) nie umożliwia wykrywania zduplikowanych adresów IP w danym segmencie sieci e) służy do dynamicznego przydziału MAC na podstawie IP