Sieci komputerowe Wykład 2: Sieci LAN w technologii Ethernet Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 2 1 / 21
Sieci LAN LAN: Local Area Network sieć lokalna Zazwyczaj nieduża Na małym obszarze (do kilkuset metrów) Szybka Najbardziej popularna warstwa 2: Ethernet Ethernet opisuje zarówno warstwę 2 (łacza danych) jak i warstwę 1 (fizyczna). Zaimplementowany sprzętowo. Sieci komputerowe (II UWr) Wykład 2 2 / 21
Sieci LAN LAN: Local Area Network sieć lokalna Zazwyczaj nieduża Na małym obszarze (do kilkuset metrów) Szybka Najbardziej popularna warstwa 2: Ethernet Ethernet opisuje zarówno warstwę 2 (łacza danych) jak i warstwę 1 (fizyczna). Zaimplementowany sprzętowo. Sieci komputerowe (II UWr) Wykład 2 2 / 21
Cele warstwy łacza danych Umożliwianie warstwie trzeciej wysyłania danych pod określone fizyczne adresy znajdujace się w tej samej sieci lokalnej. Radzenie sobie z błędami transmisji. Sieci komputerowe (II UWr) Wykład 2 3 / 21
Dzisiaj 1 Warstwa fizyczna 2 Współdzielony kanał 3 Budowa ramki 4 Przełaczanie w warstwie łacza danych 5 Wykrywanie błędów transmisji Sieci komputerowe (II UWr) Wykład 2 4 / 21
Warstwa fizyczna Warstwa fizyczna 3 najczęściej spotykane warianty Ethernetu Ethernet (10 Mbit/sek, koncentryk lub skrętka min. kat. 3) Fast Ethernet (100 Mbit/sek, skrętka min. kat. 5 lub światłowód) Gigabit Ethernet (1 Gbit/sek, skrętka min. kat. 5e lub światłowód) Sieci komputerowe (II UWr) Wykład 2 5 / 21
Kolizje Warstwa fizyczna Sieć złożona z komputerów, wzmacniaków i koncentratorów. Uwagi: Jeśli jeden komputer wysyła bit, to słysza go wszystkie inne komputery. Jeśli dwa komputery nadaja jednocześnie, to pojawiaja się kolizje. Kolizje sa czymś zupełnie normalnym! Sama warstwa fizyczna nie umie sobie radzić z kolizjami; potrzebuje pomocy warstwy drugiej. Problem można obejść stosujac przełaczniki. Sieci komputerowe (II UWr) Wykład 2 6 / 21
Kolizje Warstwa fizyczna Sieć złożona z komputerów, wzmacniaków i koncentratorów. Uwagi: Jeśli jeden komputer wysyła bit, to słysza go wszystkie inne komputery. Jeśli dwa komputery nadaja jednocześnie, to pojawiaja się kolizje. Kolizje sa czymś zupełnie normalnym! Sama warstwa fizyczna nie umie sobie radzić z kolizjami; potrzebuje pomocy warstwy drugiej. Problem można obejść stosujac przełaczniki. Sieci komputerowe (II UWr) Wykład 2 6 / 21
Współdzielony kanał Współdzielony kanał (1) Założenia: n stacji, jeden współdzielony kanał. Wykrywanie nośnej (carrier sense): wszyscy wiedza kiedy ktoś inny nadaje. Wykrywanie kolizji: wiemy, że nastapiła. Nie ma dodatkowego kanału na komunikaty kontrolne. Przykład z życia: rozmowa w grupie Sieci komputerowe (II UWr) Wykład 2 7 / 21
Współdzielony kanał Współdzielony kanał (2) Najprostsze rozwiazanie: nadajemy po kolei (round-robin) Czas podzielony na rundy, runda wystarcza do nadania jednej ramki danych. W rundzie k nadaje stacja o numerze k mod n Problem: wymagana synchronizacja i znajomość n Problem: niskie wykorzystanie łacza (1/n) jeśli tylko jedna stacja nadaje. Sieci komputerowe (II UWr) Wykład 2 8 / 21
Współdzielony kanał Współdzielony kanał (3) Podejście losowe Rundy jak poprzednio. Jeśli stacja ma ramkę danych do wysłania, wysyła ja z prawdopodobieństwem p. Dla p = 1/n, jeśli wszystkie stacje usiłuja nadawać, udaje się to średnio co e 3 tury (dlaczego? ćwiczenie) Problem: wykorzystanie łacza nadal niskie ( 1/3). Jeśli mniej niż n wierzchołków nadaje, jest jeszcze gorzej. Problem: potrzebujemy znać n, żeby wybrać optymalne p. Sieci komputerowe (II UWr) Wykład 2 9 / 21
Współdzielony kanał Współdzielony kanał (4) Protokół CSMA/CD (Carrier Sense Multiple Access with Collision Detection) Pomysł: zaczynamy z p = 1, jeśli występuje kolizja, to zmniejszamy prawdopodobieństwo (np. 2 razy). Dostowuje się do liczby stacji, które chca nadawać. Desynchronizacja (nie ma rund) Wykorzystanie łacza bliskie 100%. Sieci komputerowe (II UWr) Wykład 2 10 / 21
Współdzielony kanał Współdzielony kanał (5) Algorytm CSMA/CD, wysyła pojedyncza ramkę 1 m 1 2 Poczekaj aż kanał będzie pusty i zacznij nadawać. 3 Podczas nadawania, nasłuchuj. Jeśli usłyszysz kolizję: skończ nadawać wyślij krótki sygnał kolizji wybierz K losowo ze zbioru {0, 1,..., 2 m 1} m m + 1 odczekaj K 512 jednostek bitowych wróć do kroku 2 Uwagi: CSMA/CD nazywa się algorytmem odczekiwania wykładniczego m nie jest zwiększane powyżej 10. po 16 próbach algorytm poddaje się. Sieci komputerowe (II UWr) Wykład 2 11 / 21
Współdzielony kanał Współdzielony kanał (5) Algorytm CSMA/CD, wysyła pojedyncza ramkę 1 m 1 2 Poczekaj aż kanał będzie pusty i zacznij nadawać. 3 Podczas nadawania, nasłuchuj. Jeśli usłyszysz kolizję: skończ nadawać wyślij krótki sygnał kolizji wybierz K losowo ze zbioru {0, 1,..., 2 m 1} m m + 1 odczekaj K 512 jednostek bitowych wróć do kroku 2 Uwagi: CSMA/CD nazywa się algorytmem odczekiwania wykładniczego m nie jest zwiększane powyżej 10. po 16 próbach algorytm poddaje się. Sieci komputerowe (II UWr) Wykład 2 11 / 21
Budowa ramki Budowa ramki ethernetowej 8 6 6 2 0 1500 0 46 4 Preambu la Adres docelowy Adres zrodlowy D lug. / typ Dane Wype lnienie Suma kontrolna Dane to pole, w którym jest zazwyczaj pakiet wygenerowany przez warstwę trzecia. Preambuła: ciag 101010... 101011, pozwala zsynchronizować zegar nadajnika z zegarem odbiornika. Sieci komputerowe (II UWr) Wykład 2 12 / 21
Budowa ramki Adresy ethernetowe (1) Adres MAC 6-bajtowy ciag, przykładowo: 00:14:2A:1F:F3:BA. Przypisany (teoretycznie) na stałe do karty sieciowej. W praktyce można go łatwo zmienić. Pierwsze trzy bajty przyznaje IEEE producentowi kart sieciowych, ostatnie trzy nadaje nadaje producent dowolnie. Teoretycznie unikatowy. Przypadki szczególne Jeśli adres odbiorcy jest równy FF:FF:FF:FF:FF:FF, to jest to adres broadcast. Niektóre adresy, np. 01:00:5E:xx:xx:xx sa zarezerwowane dla multicastu (rozgłaszania grupowego). Ta funkcja musi być obsługiwany przez infrastrukturę sieciowa. Sieci komputerowe (II UWr) Wykład 2 13 / 21
Budowa ramki Adresy ethernetowe (1) Adres MAC 6-bajtowy ciag, przykładowo: 00:14:2A:1F:F3:BA. Przypisany (teoretycznie) na stałe do karty sieciowej. W praktyce można go łatwo zmienić. Pierwsze trzy bajty przyznaje IEEE producentowi kart sieciowych, ostatnie trzy nadaje nadaje producent dowolnie. Teoretycznie unikatowy. Przypadki szczególne Jeśli adres odbiorcy jest równy FF:FF:FF:FF:FF:FF, to jest to adres broadcast. Niektóre adresy, np. 01:00:5E:xx:xx:xx sa zarezerwowane dla multicastu (rozgłaszania grupowego). Ta funkcja musi być obsługiwany przez infrastrukturę sieciowa. Sieci komputerowe (II UWr) Wykład 2 13 / 21
Budowa ramki Adresy ethernetowe (2) W normalnych warunkach karta wyrzuca ramki, które nie sa do niej skierowane. Tryb nasłuchu (promiscuous mode) Tryb, w którym karta udostępnia systemowi operacyjnemu wszystkie ramki, które słyszy. Sieci komputerowe (II UWr) Wykład 2 14 / 21
Długość ramki Budowa ramki Max długość danych = 1500 bajtów = max długość ramki = 1518 (+ preambuła). Względy historyczne: droga pamięć RAM. Małe ramki sa mniej podatne na uszkodzenia. Min długość danych = 46 bajtów (za mało danych = wypełnienie). Łatwiej odróżnić poprawna ramkę od śmieci. Wysyłanie powinno trwać minimalnie czas 2 τ (τ = czas propagacji sygnału przez cały kabel). Gwarancja, że nadawca dowie się o niepowodzeniu wysyłania. Sieci komputerowe (II UWr) Wykład 2 15 / 21
Długość ramki Budowa ramki Max długość danych = 1500 bajtów = max długość ramki = 1518 (+ preambuła). Względy historyczne: droga pamięć RAM. Małe ramki sa mniej podatne na uszkodzenia. Min długość danych = 46 bajtów (za mało danych = wypełnienie). Łatwiej odróżnić poprawna ramkę od śmieci. Wysyłanie powinno trwać minimalnie czas 2 τ (τ = czas propagacji sygnału przez cały kabel). Gwarancja, że nadawca dowie się o niepowodzeniu wysyłania. Sieci komputerowe (II UWr) Wykład 2 15 / 21
Mosty Przełaczanie w warstwie łacza danych Most łaczy dwie sieci lokalne. Rozumie protokoły warstwy drugiej. Uczy się w trakcie działania, które adresy MAC leża w której sieci lokalnej. Kolejne transmisje przechodza przez most tylko w razie konieczności: izolacja kolizji wewnatrz sieci lokalnych, ale komunikacja między sieciami możliwa większa prywatność. Sieci komputerowe (II UWr) Wykład 2 16 / 21
Przełaczanie w warstwie łacza danych Przełaczniki sieciowe Przełacznik (ang. switch) Wyglada jak koncentrator, ale działa w warstwie drugiej. Uogólnienie mostu: wiele złacz Do złacz można podpiać całe sieci jak i pojedyncze komputery. Sieci komputerowe (II UWr) Wykład 2 17 / 21
Przełaczanie w warstwie łacza danych Domena kolizyjna Domena kolizyjna: część sieci, w której jednoczesne nadawanie dwóch urzadzeń spowoduje kolizję. Przykładowo: S H Zamiennie używa się pojęcia segment sieci. Przełaczniki oddzielaja domeny kolizyjne, koncentratory nie. Sieci komputerowe (II UWr) Wykład 2 18 / 21
Przełaczanie w warstwie łacza danych Domena broadcast Domena broadcast Komputery osiagalne przez adres rozgłoszeniowy. Granice = routery i inne urzadzenia pracujace w warstwie trzeciej. Sieci komputerowe (II UWr) Wykład 2 19 / 21
Wykrywanie błędów transmisji Sumy kontrolne Ramka ethernetowa zawiera 4-bajtowe pole na sumę kontrolna. Najprostsza suma kontrolna: bit parzystości Do m-bitowej wiadomości dołaczamy 1 bit, tak żeby liczba bitów w (m + 1)-bitowym napisie była parzysta. Wykrywa wszystkie przekłamania pojedynczego bitu...... ale zmiana dwóch bitów przejdzie niezauważona W Ethernecie wykorzystywane sa sumy CRC (Cyclic Redundancy Check) Sieci komputerowe (II UWr) Wykład 2 20 / 21
Wykrywanie błędów transmisji Sumy kontrolne Ramka ethernetowa zawiera 4-bajtowe pole na sumę kontrolna. Najprostsza suma kontrolna: bit parzystości Do m-bitowej wiadomości dołaczamy 1 bit, tak żeby liczba bitów w (m + 1)-bitowym napisie była parzysta. Wykrywa wszystkie przekłamania pojedynczego bitu...... ale zmiana dwóch bitów przejdzie niezauważona W Ethernecie wykorzystywane sa sumy CRC (Cyclic Redundancy Check) Sieci komputerowe (II UWr) Wykład 2 20 / 21
Wykrywanie błędów transmisji Lektura dodatkowa Kurose, Ross: 5.1 5.6 Sieci komputerowe (II UWr) Wykład 2 21 / 21