Sieci Komputerowe Standard Ethernet dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl
Zagadnienia Historia standardu Ethernet Domena kolizyjna Zasada działania protokołu CSMA/CD Struktura ramki ethernetowej Nagłówek LLC SNAP w ramce ethernetowej Wyznaczanie wielkości ramki ethernetowej Przepustowość sieci opartych na Ethernecie Rodzaje segmentacji sieci Sposoby przełączania pakietów 2
Historia standardu Ethernet Standard Ethernet został opracowany w 1972 przez firmę Xerox PARC Corporation (Palo Alto Research Centre Xerox Corporation) jako standard słuŝący do łączenia drukarek z komputerami. Za twórcę Ethernetu uwaŝa się Roberta Metcalf'a z Xerox PARC (załoŝyciela 3COM Corp.). Ethernet jest standardem sieci LAN w którym wszystkie węzły mają dostęp do tego samego pasma transmisji danych. 1985 stowarzyszenie IEEE opracowało zbiór standardów sieci LAN IEEE 802. Standard Ethernet został oznaczony jako IEEE 802.3. ISO oznacza standard Ethernet jako ISO 8802-3. Standard Ethernet obejmuje warstwę fizyczna i warstwę łącza danych modelu OSI. 3
Historia standardu Ethernet 1972 - początki Ethernetu w Xerox PARC (75 Ohm'owy kabel, szybkości 3 Mbps). 1982 - ISOC RFC 826, definicja ARP (ang.) Address Resolution Protocol dla Ethernet'u. 1984 - ISOC RFC 894, definicja sieci IP z linkiem Ethernet'owym. 1985 - standard IEEE 802.3, standard protokołu CSMA/CD. 1988 - ISOC RFC 1042, definicja sieci IP korzystającej ze linku IEEE 802.3/LLC. 1995 - IEEE 802.3u, szybki Ethernet (100BTX, 100BT4, 100BFX). 1998 - IEEE 802.3z, gigabit Ethernet. 1999 - IEEE 802.3ab Gigabit Ethernet, 1000BASE-T 2001 - IEEE 802.11, bezprzewodowy Ethernet. 2002 - IEEE 802.3ae, 10-Gigabit Ethernet. 4
Specyfikacje standardu Ethernet RFC 894, 'A Standard for the Transmission of IP Datagrams over Ethernet Networks' 1984. Dokument określa standardy kapsułkowania datagramów IP w ramki Ethernetowe. Mechanizmy przyporządkowywania (odwzorowania) adresów IP na adresy MAC kart sieciowych. Standard Ethernet opublikowany przez DIX: 'The Ethernet - A Local Area Network', Version 1.0, Digital Equipment Corporation, Intel Corporation, Xerox Corporation, September 1980. Dokumenty IEEE 802.3. 5
Odmiany standardu Ethernet Odmiany standardu Ethernet: Ethernet, transmisja do 10Mb/s, IEEE 802.3u, Fast Ethernet, transmisja do 100Mb/s, IEEE 802.3z, IEEE 802.3ab (skrętka kat 5,6), Gigabit Ethernet, transmisja do 1Gb/s, IEEE 802.3ae, 10-Gigabit Ethernet. Standardy kabli ethernetowych: 10Base2, cienki ethernet (thin Ethernet), 185 m, 10Base5, gruby ethernet (thick Ethernet), 500 m, 10BaseTX, skrętka UTP, STP, 100 m, 10BaseF, światłowód, 2000 m. 6
Cechy standardu Ethernet Pakiety danych w sieci Ethernet nazywają się ramkami (ang.) frames. Ramki ethernetowe tworzone są przez protokół MAC, (ang.) Medium Access Control. W standardzie Ethernet węzły znajdujące się w jednej sieci tworzą domenę kolizyjną, tzn. w tym samym czasie moŝe nadawać tylko jeden węzeł, jeŝeli nadaje więcej niŝ jeden węzeł to dochodzi do kolizji. DuŜe sieci mogą być podzielone na podsieci z których kaŝda podsieć tworzy osobną domenę kolizyjną (segment sieci). 7
Cechy standardu Ethernet Do wykrywania kolizji w sieciach ethernetowych wykorzystywany jest protokół CSMA/CD (ang.) Carrier-Sense Multiple Access with Collision Detection. W sieciach ethernetowych zbudowanych z kabli koncentrycznych urządzenia mogą transmitować dane w trybie half duplex. W sieciach Fast Ethernet, zbudowanych ze skrętki, światłowodów transmisja moŝe zachodzić w trybie full duplex. Skrętka, światłowód zbudowane są z dwóch par kabli oznaczonych T, R słuŝących do jednoczesnego nadawania (T) i odbierania (R) danych. Karta sieciowa musi być skonfigurowana do transmisji w trybie full dublex, przełączniki muszą być typu Fast Ethernet. 8
Metody dostępu do medium transmisyjnego Metody dostępu do medium transmisyjnego: podział częstotliwości, (ang.) frequency division multiplexing. Dostępny zakres częstotliwości jest dzielony na uŝytkowników sieci. podział czasu, (ang.) time division multiplexing. Czas dostępu do medium jest dzielony na uŝytkowników sieci. CDMA, (ang.) Code Division Multiple Access. Węzły mają pełny dostęp do medium. CSMA, (ang.) Carrier Sense Multiple Access. Hosty mają pełny dostęp do medium, ale tylko jeden host moŝe nadawać. znacznik, (ang.) token. Nadawać moŝe host posiadający znacznik (token). 9
Protokół CSMA/CD CSMA/CD, (ang.) Carrier Sense Multiple Access with Collision Detection. Standard IEEE 802.3. Sieci Ethernet definiowane są jako sieci z metodą dostępu do medium typu CSMA/CD. Protokół CSMA/CD słuŝy w sieciach Ethernet do wykrywania i informowania węzłów o kolizjach. Carrier-Sense Multiple Access Collision Detection oznacza, Ŝe węzeł przed wysłaniem danych nasłuchuje czy inny węzeł nie nadaje. oznacza, Ŝe wszystkie węzły mają dostęp do medium transmisyjnego. oznacza, Ŝe istnieje mechanizm wykrywania błędów (kolizji). W sieci Ethernet w jednej domenie kolizyjnej moŝe nadawać tylko jeden węzeł, inne węzły w tym czasie nasłuchują. Sytuacja w której w sieci nadaje więcej niŝ jeden węzeł jest traktowana jako błąd transmisji. Protokół CSMA/CD realizuje transmisje w trybie half-duplex. 10
Protokół CSMA/CD Przerwa międzyramkowa (ang.) interframe gap minimalny czas między nadaniem kolejnej ramki. Opóźnienie propagacji, (ang.) propagation delay czas potrzebny na przejście sygnału między dwoma najdalej oddalonymi węzłami w sieci. Czas wymuszenia kolizji czas przez który urządzenie po wykryciu kolizji nadaje aby wymusić wykrycie kolizji przez inne węzły. Ethernet: Fast Ethernet: Gigabit Ethernet: czas_wymuszenia_kolizji = 3.2 µs, przesłanie 32 bitów z szybkością 10Mb/s. czas_wymuszenia_kolizji = 5.12 µs, przesłanie 512 bitów z szybkością 100Mb/s. czas_wymuszenia_kolizji = 4.096 µs, przesłanie 4096 bitów z szybkością 1Gb/s. 11
Zasada działania CSMA/CD Węzeł przed rozpoczęciem nadawania sprawdza czy nie nadaje inny węzeł w sieci. JeŜeli brak jest w sieci sygnałów to węzeł zaczyna nadawać, sprawdzając czy inny węzeł nie rozpoczął nadawania. W tym czasie wszystkie inne węzły nasłuchują. JeŜeli węzeł nadający odbierze jakiś sygnał (co oznacza, Ŝe inny węzeł rozpoczął nadawanie) przez jakiś czas jeszcze nadaje w celu wymuszenia kolizji. Dla standardu Ethernet jest to czas 3.2 µs. Transmisja 1 bitu w sieci Ethernet (przy szybkości 10Mb/s) odbywa się w czasie 100 ns. W sieci etherentowej czas transmisji 32 bitów wynosi 32 * 100 *10-9 s = 0.000 0032s = 3.2 µs. Dla sieci FastEthernet czas transmisji 512 bitów wynosi 512 * 10 *10-9 s = 512 * 10-6 s / 100 = 5.12 µs. 12
Zasada działania CSMA/CD Aby doszło do wykrycia kolizji i wstrzymania transmisji nadawca musi nadawać przez czas dwukrotnie większy niŝ czas potrzebny na przesłanie sygnału między maksymalnie oddalonymi węzłami sieci (500 m). Czas nadawania 32 bitów = 32*100 ns = 3.2 µs. W ciągu 3.2 µs sygnał elektryczny przebędzie około 3.2 µs * 3 *10 8 m/s = 960 m, to jest 2 * max. dlug. segmentu sieci Ethernet. W sieci Ethernet brak jest mechanizmów potwierdzających poprawność przesłanych danych, dlatego retransmisja uszkodzonej ramki moŝe nastąpić tylko w wyniku przerwania transmisji i wznowienia jej w innym czasie. Po wykryciu kolizji węzeł ustala czas przez który nie będzie nadawać - czas_oczekiwania. MoŜliwe jest 15 prób rozpoczęcia transmisji, po kaŝdej próbie czas oczekiwania jest wydłuŝany. Po kaŝdej z 15 prób czas oczekiwania jest wydłuŝany: czas_oczekiwania(i) = n(i) * czas_wymuszenia_kolizji n(i) - liczba losowa z przedziału <0, 2k-1>, k = min( i,10 ), i <1,15>. 13
Wielkości ramki ethernetowej Wielkość pola danych: min. 46 bajtów, maks. 1500 bajtów. W standardzie Ethernet węzły przed wysłaniem kolejnej ramki nasłuchują przez 9.6 µs, (ang.) interframe gap, sprawdzając czy nie doszło do kolizji. Przerwa 9.6 µs jest równowaŝna przesalaniu 96 bitów, czyli 12 bajtów (przy szybkości 10 Mbps). Minimalna wielkosci ramki Ethernet Pole ramki interframe gap (9.6 µs) preambula +SFD adres MAC docelowy adres MAC zrodla Pole 'Typ ramki' Pole danych CRC Min. fizyczna wielkość ramki: Wielkosc pola 12 bajtow 8 bajtow 6 bajtow 6 bajtow 2 bajty 46 bajtow 4 bajty 20 + 64 bajty Maksymalna wielkosci ramki Ethernet Pole ramki Wielkosc pola interframe gap (9.6 µs) 12 bajtow preambula +SFD 8 bajtow adres MAC docelowy 6 bajtow adres MAC zrodla 6 bajtow Pole 'Typ ramki' 2 bajty Pole danych 1500 bajtow CRC 4 bajty Min. fizyczna wielkość ramki: 20 + 1518 bajtów Wielkość ramki Ethernet bez pola 'interframe gap' i preambuły wynosi: 64 bajty. Ramka mniejsza od 64 bajtów jest uznawana za fragment kolizji (collision fragment) lub małą ramkę, (ang.) runt frame i jest odrzucana przez odbiorcę. Ramka większa od 1518 bajtów odrzucana jako zbyt duŝa, (ang.) giant frame. 14
Struktura ramki ethernetowej Bajty 8 6 6 2 46-1500 4 Preambula Adres odbiorcy Adres nadawcy Typ ramki Dane Frame Check Sequence Struktura ramki Ethernet'ow ej Pole: Preambuła. 64 bity, zawiera ciąg bitów 1010.10 SłuŜy odbiorcy do synchronizacji zegara. Preambuła składa się z: 7 bajtów + 1 bajtu SFD, Start of Frame Delimiter, wartość 10101011. Pole: Adres odbiorcy. Wielkość: 48 bitów. Pole zawiera fizyczny adres MAC odbiorcy ramki. Pole: Adres nadawcy. Wielkość: 48 bitów. Pole zawiera fizyczny adres MAC nadawcy ramki. Pole: Typ ramki. Wielkosc:16 bitów. Pole: Dane. Wielkość: zmienna od 46 do 1500 bitów. Pole zawiera dane ramki. Pole: FCS, (Frame Check Sequence). Wielkość: 32 bity. Suma kontrolna (liczona metodą CRC). 15
Typy ramek Ethernet Przykładowe wartości pola 'Typ ramki': 0000-05DC - ramki IEEE LLC/SNAP 0800 - protokół Pv4 0805 - protokół CCIT X.25 6559 - Frame Relay 818D - Motorola FFFF - zastrzeŝony 16
Nagłówek LLC SNAP W celu zapewnienia jednolitej interpretacji typów ramek stowarzyszenie IEEE wprowadziło w standardzie IEEE 802.2 specyfikacje nagłówka 'LLC SNAP zawierającego pola: LLC, (ang.) Logical Link Control, 24 bity. SNAP, (ang.) Subnetwork Access Point, 40 bitów. Bajty 1 2 3 4 5 6 7 8 Pole LLC Pole SNAP AA AA 03 00 00 00 08 00 Naglowek LLC SNAP Bajty 8 6 6 2 8 46-1500 4 Preambula Adres odbiorcy Adres nadawcy Typ ramki LLC Dane FCS Ramka Ethernet'owa z LLC 17
Nagłówek LLC SNAP Nagłówek LLC SNAP Pole: LLC, 24 bity, poprzedza pole typu SNAP. pole DSAP (Destination Source Acces Point) pole SSAP (Source Service Acces Point) bajt sterujący (określa typ ramki LLC) Pole: SNAP, 40 bitów, składa sie z: pola OUI, (ang.) Organizationally Unique Identifier. Pole zawiera informacje o organizacji która standaryzuje budowę ramki (24 bity) pola typ, określającego typ ramki według tej organizacji (16 bitów). Przykład: datagram IP zakapsułkowany w ramkę ethernetowa. Pole LLC: stała wartość AA AA 03 Pole SNAP: pole OUI ma wartość 00 00 00 - oznacza ramkę Ethernetową pole typ: 08 00, oznacza protokół IPv4. Bajty 1 2 3 4 5 6 7 8 Pole LLC Pole SNAP AA AA 03 00 00 00 08 00 Naglowek LLC SNAP 18
Nagłówek LLC SNAP Podwarstwy warstwy Łącza Danych: LLC - Logical Link Control. MAC - Media Access Control. Dla sieci o transmisji 1000Mbs istnieje GIMII Gigabit Media Independent Interface, który składa się z następujących warstw: PCS (Physical Coding Sublayer), kodowanie danych 8B/10B, wykrywanie kolizji, obsługa autonegocjacji. PMA (Physical Medium Attachement), konwersja równoległa/szeregowa między PCS (125 MHz) i PMD (1250 MHz). PMD (Physical Medium Dependent), przesyłanie sygnałów do medium transmisyjnego. 19
Przykład ramki Ethernet: Telnet, TCP Connect Request # ----- Naglowek Ethernetowy ----- Packet 3 arrived at 17:37:23.94 Packet size = 58 bytes Destination = 0:e0:f7:26:3f:e9 Source = 8:0:20:86:35:4b Ethertype = 0800 (IP) # ----- Naglowek IP ----- Version = 4 Header length = 20 bytes Type of service = 0x00 Total length = 44 bytes Identification = 2232 Flags = 0x4.1..... = do not fragment..0.... = last fragment Fragment offset = 0 bytes Time to live = 255 seconds/hops Protocol = 6 (TCP) Header checksum = 9997 Source address = 150.168.217.110, client Destination address = 150.168.233.2, server.math.edu.pl No options # ----- Naglowek TCP ----- Source port = 36869 Destination port = 23 Sequence number = 1913975060 Acknowledgement number = 0 Data offset = 24 bytes Flags = 0x02..0.... = No urgent pointer...0... = No acknowledgement... 0... = No push....0.. = No reset.....1. = Syn......0 = No Fin Window = 8760 Checksum = 0xa92c Urgent pointer = 0 Options: (4 bytes) - Maximum segment size = 1460 bytes 20
Przepustowość sieci Ethernet Aby zwiększyć przepustowość sieci Ethenret moŝna: wykorzystać transmisję danych w trybie full duplex, podzielić sieć na segmenty (aby zmniejszyć domeny kolizyjne), zastosować szybszą metodę przełączania pakietów. W zaleŝności od urządzenia transmisyjnego zastosowanego do podziału sieci na segmenty moŝna uzyskać: zmniejszenie obciąŝenia sieci (pakiety są kierowane do konkretnych podsieci), zwiększenia szybkość transmisji poprzez zmniejszenie domeny kolizyjnej, szybsze odnajdywanie węzłów w sieci na podstawie tablic routingu, zwiększenie szybkość przełączania pakietów. 21
Rodzaje segmentacji sieci Segmentacja sieci za pomocą mostów Mosty dzielą siec na segmenty w warstwie Łącza Danych, tzn. podział jest dokonywany na podstawie adresów MAC kart sieciowych. Informacja o adresach MAC znajduje się w tablicy adresów mostu. Segmentacja sieci za pomocą przełączników. Przełączniki segmentują siec na podstawie adresów MAC. Przełącznik zbiera informacje o adresach MAC poprzez analizę ramek. Zebrane informacje zapisuje w pamięci CAM, (ang.) Content-Adressable-Memeory. Segmentacja sieci za pomocą ruterów: Routery dzielą siec na podstawie adresów IP i adresów MAC. Tablice routingu routerów zawierają adresy IP i adresy MAC węzłów sieci. 22
Sposoby przełączania pakietów Szybkość transmisji w sieciach zaleŝy do sposobu przełączania pakietów przez urządzenia transmisyjne. Routery wykorzystują metodę: store&forward (przechowaj i przekaz). Router kopiuje cala ramkę ethernetową do pamięci (bufora), następnie wylicza wartość CRC. JeŜeli CRC wartość jest niewłaściwa, router gubi ramkę. Czas przekierowania zaleŝy od wielkości ramki. Błąd CRC jest zwracany zawsze gdy: ramka jest mniejsza od 64 bajtów ramka jest większa niŝ 1518 bajtów. Przełączniki wykorzystują metodę przełączania 'cut-through': przełącznik kopiuje z ramki Ethernet'owej do pamięci tylko adres docelowy MAC (sześć bajtów po preambule), sprawdza adres docelowy w tabeli przełącznika, (ang.) switching table, przesyła cala ramkę (lub jej część) do węzła docelowego. Odmiany metody cut-throught: fast-forward, pakiety przekazywane są zaraz po odczytaniu przez switch adresu docelowego. fragment-free (przełączanie bez fragmentacji), filtrowane są pakiety powodujące kolizje (np. mniejsze od 64 bajtów). 23