Politechnika Warszawska Wydział Elektryczny Laboratorium Teletechniki

Skrypt do ćwiczenia T.23 Sieć LAN. Protokół NetBEUI.

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

1. Wstęp Przed zagłębieniem się w szczegóły dotyczące łączenia komputerów w sieć należy powiedzieć kilka słów o pojęciach i terminach używanych do opisywania zjawisk, urządzeń, procedur oraz wszystkich innych elementów odpowiedzialnych za poprawną pracę sieci komputerowej. Wiele z nich przejęta jest z języka angielskiego i choć z reguły posiada polskie tłumaczenie lub odpowiednik to często używana jest w oryginalnej wersji językowej, dlatego też dla lepszej orientacji czytelnika w prezentowanych zagadnieniach w poniższym tekście pojawiać się będą oprócz polskich również nazwy angielskie.

1.1 Wiadomości podstawowe Najmniejszą jednostką informacji w świecie komputerów jest bit. Bity mogą przyjmować dwie wartości: jeden (1) lub zero (0). W komputerze dane w formie strumieni bitów są przesyłane po równoległych ścieżkach umieszczonych na płycie głównej. Takie równolegle ułożone ścieżki nazywa się magistralą danych (ang. data bus). Gdy procesor komputera potrzebuje odczytać jakieś dane znajdujące się na twardym dysku, dane te przepływają do niego po takiej magistrali, którą można sobie wyobrazić jako wielopasmową autostradę, umożliwiającą jednoczesny ruch kilku strumieni bitów. Aby móc w ogóle przesyłać dane między komputerami w sieci, potrzebne jest oczywiście jakieś medium, na przykład kabel miedziany. Sposób przepływu informacji poprzez medium sieciowe (miedziany kabel czy światłowód) różni się od wymiany danych między poszczególnymi elementami wewnątrz komputera. Niezależnie od wybranego medium dane w sieci i tak są przysyłane w postaci pojedynczego strumienia bitów. Taki sposób przesyłania informacji nazywa się transmisją szeregową. Istnieje zatem konieczność zastosowania urządzenia, które przekształca równolegle ułożone dane (przypominające wielopasmową autostradę) przychodzące z komputera do postaci szeregowej (którą można porównać do drogi jednopasmowej). Takie urządzenie jednocześnie stanowi fizyczne połączenie między komputerem a siecią. Urządzeniem, o którym tu mowa, jest karta interfejsu sieciowego (ang. Network Interface Card — NIC), zwana też krótko kartą sieciową. Karta ta stanowi nadbiornik, czyli połączenie nadajnika i odbiornika, umożliwiające przekształcanie danych z postaci równoległej do szeregowej i odwrotnie. Karty sieciowe zapewniają ponadto podstawowy system adresowania, umożliwiający poprawne przesłanie danych z jednego komputera do drugiego. Sprzętowy adres karty sieciowej, zwany też adresem MAC, jest trwale zapisany w pamięci ROM tej karty. Określenie MAC bierze się od angielskiej nazwy podwarstwy w warstwie łącza danych modelu OSI1 - (ang. Media Access Control) czyli kontrola dostępu do medium transmisyjnego. Sprzętowy adres karty sieciowej stanowi niepowtarzalną część adresu komputera w sieci. Każde urządzenie sieciowe ma nadawany przez producenta niepowtarzalny numer odróżniający dany egzemplarz od innych. Numery te są przyznawane przez IEEE2. Organizacja ta przypisuje poszczególnym producentom odpowiedni kod i zakres liczbowy. Dzięki temu nie powinno być na świecie dwóch kart sieciowych o takim samym numerze. Adres sprzętowy MAC składa się z 48 bitów. Pierwsze trzy bajty identyfikują producenta karty - jest to numer OUI (ang. Organizational Unique Identifier), pozostałe są numerem kolejnym egzemplarza. Przykładowo numery kart sieciowych firmy Sun Microsystems są w postaci 08:00:20:00:A1:3C Nowoczesne karty sieciowe posiadają możliwość zmiany numeru MAC przez zaawansowane opcje sterownika. Każde urządzenie zainstalowane w sieci (może to być zarówno komputer jak i drukarka czy koncentrator) nosi nazwę węzła sieci. 1 2

Model OSI (ang. Open Systems Interconnection) jest opisany w dalszej części instrukcji IEEE – największa międzynarodowa organizacja zrzeszająca inżynierów. Zajmuje się tworzeniem standardów.

2

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

Protokół to zbiór zasad i reguł określających sposób komunikacji między węzłami sieci. Grupy protokołów, które umożliwiają kompletne przygotowanie danych do komunikacji w sieci nazywa się stosem protokołów (ang. Protocol Stack). Różne protokoły używają dodatkowych adresów logicznych. W takiej sytuacji, aby dane mogły być poprawnie odebrane, adres logiczny musi zostać przetłumaczony na odpowiadający mu adres fizyczny. Siecią komputerową (ang. computer network ) nazywamy połączenie komputerów oraz wszystkie elementy niezbędne do jego utworzenia, zrealizowane w celu wymiany danych. Pojęcie to jest bardzo szerokie i obejmuje oprócz samych komputerów również urządzenia infrastruktury sieciowej takie jak karty sieciowe, koncentratory, przełączniki, rutery, bramy, okablowanie, czy zestawy nadajników i odbiorników radiowych.3 Komputery w sieci można podzielić na dwie grupy: klienty i serwery. Klient lub częściej stosowana nazwa stacja robocza (ang. workstation) odnosi się do komputerów które zapewniają użytkownikowi dostęp do sieci i korzystanie z jej zasobów. Zasobami sieciowymi lub inaczej udziałami (ang. share) nazywamy każde udostępnione urządzenie lub plik z którego mogą wspólnie korzystać użytkownicy sieci. Serwer to komputer udostępniający innym komputerom zasoby lub usługi sieciowe, oraz często przeznaczony do sterownia i zarządzania pracą sieci. Sieć LAN (ang. Local Area Network) to komputerowa sieć komunikacyjna o zasięgu ograniczonym obszarem geograficznym – nieprzekraczającym zazwyczaj kilkuset metrów, a często znacznie mniejszym. Sieć równorzędna (ang. peer-to-peer network), nazywana również siecią typu „każdy-z-każdym” jest prostym i tanim sposobem zapewnienia łatwej wymiany plików i wspólnego korzystania z innych zasobów, takich jak np. drukarki. Sieci tego typu nie wymagają obecności głównego serwera - oznacza to, że nie istnieje konieczność ponoszenia dodatkowych kosztów na zakup specjalizowanego, wydajnego komputera oraz sieciowego systemu operacyjnego w celu zbudowania niewielkiej sieci. W sieci typu „każdy z każdym" wszystkie komputery posiadają równe prawa. Można powiedzieć, że komputer równorzędny (ang. peer computer) zachowuje się jednocześnie jak klient i serwer. Komputery takie mogą zarówno korzystać z zasobów dostępnych w sieci, jak i same udostępniać swoje zasoby innym komputerom (jest to funkcja realizowana przez serwer w większych sieciach). Dla wygodniejszego korzystania z takich sieci utworzono klasyfikację w tzw. Grupy Robocze (ang. Workgroup). Grupa robocza to grupa komputerów równoważnych pracujących w tej samej sieci logicznej. Podstawowymi wielkościami opisującymi przepustowość sieci są: prędkość transmisji danych (ang. data transmission speed )mierzona jest w bitach na sekundę [b/s] lub częściej w megabitach [Mb/s] (ang. Mbps - megabit per second) oraz szerokość pasma (ang. bandwidth) która w odniesieniu do sieci komputerowej jest rozumiana jako liczba bitów które mogą być przesłane przez medium sieciowe w danej chwili. Mówiąc o sieciach komputerowych często używa się nazwy- topologia sieci- najprościej mówiąc określa ona sposób połączenia kabli. Istnieją trzy podstawowe topologie sieci. Topologia typu magistrala (rys.1 B) - charakteryzuje się ona istnieniem głównej linii do której co pewien odcinek podłącza się poszczególne komputery. Topologia typu gwiazda (rys.1 A) - w sieci tego typu komputery za pomocą oddzielnych kabli podłączone są do centralnego urządzenia nazywanego koncentratorem. Topologia typu pierścień (rys.1 C) - jak sama nazwa wskazuje komputery tej topologii połączone są jeden za drugim tworząc zamknięty okrąg.

3

Urządzenia o których tu mowa zostaną opisane dokładniej w skrypcie do ćwiczenia LAN2 i LAN4.

3

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

Rys. 1 Topologie sieci komputerowych

2. Referencyjny model OSI Ze względu na korzyść jaką daje nam możliwość odniesienia się do pewnej struktury, do której można przypisać skróty i terminy, na początek zostanie wprowadzone pojęcie modelu OSI opracowanego przez ISO (ang. International Standards Organization) - Międzynarodową Organizację Normalizacyjną z siedzibą w Genewie która zajmuje się tworzeniem standardów. Na początku lat siedemdziesiątych organizacja ISO opracowała standardowy model systemów komunikacji danych i nazwała go modelem Współdziałania Systemów Otwartych (ang. Open Systems Interconnection) – OSI. Model OSI składa się z warstw, opisujących procesy zachodzące podczas połączenia terminala z komputerem lub komputera z innym komputerem. Model ten został opracowany z myślą o ułatwieniu budowy systemów, w których mogłyby ze sobą współpracować urządzenia pochodzące od różnych producentów. Model OSI nie odnosi się do jakiegokolwiek sprzętu lub oprogramowania. Zapewnia po prostu strukturę i terminologię potrzebną do omawiania różnych właściwości sieci. Jest on ogólnym modelem koncepcyjnym, skomponowanym z siedmiu warstw, z których każda opisuje określone funkcje sieciowe. Model OSI nie określa szczegółowych metod komunikacji. Mechanizmy rzeczywistej komunikacji są określone w formie protokołów komunikacyjnych. Dzieli on zadanie przesyłania informacji między stacjami sieciowymi na siedem mniejszych zadań składających się na poszczególne warstwy. Zadanie przypisane każdej warstwie ma charakter autonomiczny i może być interpretowane niezależnie. Warstwy referencyjnego modelu OSI: • warstwa 7 – Aplikacji. Jest bramą, przez którą procesy aplikacji dostają się do usług sieciowych. Ta warstwa prezentuje usługi, które są realizowane przez aplikacje (przesyłanie plików, dostęp do baz danych, poczta elektroniczna itp.) • warstwa 6 - Prezentacji danych. Odpowiada za format używany do wymiany danych pomiędzy komputerami w sieci. Na przykład kodowanie i dekodowanie danych odbywa się w tej warstwie. Większość protokołów sieciowych nie zawiera jednak tej warstwy. • warstwa 5 – Sesji. Pozwala aplikacjom z różnych komputerów nawiązywać, wykorzystywać i kończyć połączenie (zwane sesją). Warstwa ta tłumaczy nazwy systemów na właściwe adresy (na przykład na adresy IP w sieci TCP/IP). • warstwa 4 – Transportu. Jest odpowiedzialna za dostawę wiadomości, które pochodzą z warstwy aplikacyjnej. U nadawcy warstwa transportu dzieli długie wiadomości na kilka pakietów, natomiast u odbiorcy odtwarza je i wysyła potwierdzenie odbioru. Sprawdza także, czy dane zostały przekazane we właściwej kolejności i na czas. W przypadku pojawienia się błędów warstwa żąda powtórzenia transmisji danych. • warstwa 3 – Sieciowa. Kojarzy logiczne adresy sieciowe i ma możliwość zamiany adresów logicznych na fizyczne. U nadawcy warstwa sieciowa zamienia duże pakiety logiczne w małe fizyczne ramki danych, zaś u odbiorcy składa ramki danych w pierwotną logiczną strukturę danych. 4

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

• warstwa 2 - Łącza transmisyjnego (danych). Zajmuje się pakietami logicznymi (lub ramkami) danych. Pakuje nieprzetworzone bity danych z warstwy fizycznej w ramki, których format zależy od typu sieci: Ethernet lub Token Ring. Ramki używane przez tą warstwę zawierają fizyczne adresy nadawcy i odbiorcy danych. • warstwa 1 – Fizyczna. Przesyła nieprzetworzone bity danych przez fizyczny nośnik (kabel sieciowy lub fale elektromagnetyczne w przypadku sieci radiowych). Ta warstwa przenosi dane generowane przez wszystkie wyższe poziomy. Ważnym aspektem modelu OSI jest fakt, że każda warstwa zapewnia wykonywanie usługi dla warstwy znajdującej się bezpośrednio nad nią. Jedynie najwyższa warstwa, warstwa aplikacji, nie musi zapewniać żadnych usług innej warstwie. Proces przesyłania danych w dół stosu OSI w węźle wysyłającym jest nazywany enkapsulacją (ang. encapsulation). Z kolei proces przesyłania nieobrobionych, odebranych przez węzeł, danych w górę stosu OSI nazywa się deenkapsulacją (ang. deencapsulation). Enkapsulacja oznacza zamykanie lub otaczanie i to właśnie dzieje się z danymi wygenerowanymi w warstwie aplikacji i przesyłanymi w dół, poprzez poszczególne warstwy modelu OSI. W każdej warstwie, z wyjątkiem ostatniej warstwy fizycznej, do początkowej części porcji danych jest dodawana pewna porcja informacji, zwana nagłówkiem (ang. header). Oznacza to, że właściwe dane są otaczane kolejnymi nagłówkami: najpierw pochodzącym od warstwy aplikacji, później nagłówek warstwy prezentacji i tak dalej. Gdy dane znajdą się w węźle odbierającym, są przesyłane w górę stosu OSI, a na każdej warstwie jest usuwany jeden nagłówek. Najpierw jest zdejmowany nagłówek warstwy łącza danych, później warstwy sieci i tak dalej. Dodawanie i usuwanie nagłówków w procesie enkapsulacji i deenkapsulacji pokazano na rysunku 2. W każdej warstwie następuje odczytanie informacji zawartych w nagłówku które następnie są wykorzystywane do określenia przeznaczenia odebranych danych. Dzięki obecności nagłówków węzeł wysyłający dane może komunikować się z węzłem odbierającym i albo przesłać do niego jakieś informacje, lub wydać konkretne instrukcje dotyczące sposobu traktowania danych na poszczególnych warstwach modelu OSI.

Rys. 2 Proces enkapsulacji i deenkapsulacji danych w modelu OSI; opracowano wg [1]

Koncepcja umieszczania wiadomości lub informacji w nagłówkach pochodzących od różnych warstw OSI i późniejszym usuwaniu ich przez komputer odbierający jest znana jako komunikacja równorzędna (ang. peer communication). Informacja umieszczona w nagłówku pochodzącym od konkretnej warstwy przez protokół w niej pracujący jest później odbierana przez protokół działający na tej samej warstwie w komputerze odbierającym. 5

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

Bez względu na to, jaki system operacyjny jest wykorzystywany w komputerach tworzących sieć równorzędną, we wszystkich maszynach trzeba skonfigurować przynajmniej jeden wspólny protokół sieciowy.

3. Wprowadzenie do sieci Ethernet Ethernet, stworzony jako prowizoryczny mechanizm pomagający naukowcom odkrywać nowe technologie, okazał się jedną z najbardziej wartościowych i trwałych technologii informatycznych. Pierwszy system Ethernet zbudowany został przez PARC (ang. Paolo Alto Research Center) firmy Xerox w 1972 roku. Mógł łączyć ponad 100 komputerów i osiągał prędkość 2,94 Mbitów/s. To rozwiązanie sieciowe było wielkim sukcesem i szybko wprowadzono je na rynek (jeszcze pod koniec lat 70). Standard ten zapewniał wysoką prędkość transmisji przy zachowaniu korzystnej ceny i oferował szeroką obsługę różnych zastosowań w sieciach LAN i w systemach łączących minikomputery z systemami mainframe. Chociaż prędkość transmisji współczesnych systemów urosła do kilku Gb/s, a kabel koncentryczny wyparła skrętka UTP i światłowody, ograniczenie zasięgu, schemat kodowania i sterowanie dostępem do nośnika są wciąż takie same, a Ethernet do dzisiaj jest najlepszym standardem sieci. Od strony bardziej praktycznej Ethernet to specyfikacja opisująca metodę łączenia komputerów i wykorzystywania wspólnego okablowania do transmisji danych. Ethernet dotyczy komunikacji danych na poziomach określanych przez ISO, OSI jako warstwa fizyczna i warstwa łącza danych (rys. 2).

3.1. Standardy Ethernet Obecnie istnieje wiele różnych odmian Ethernetu, jego rodzina zawiera przynajmniej pięć różnych struktur szkieletowych, trzy różne techniki arbitrażu dostępu do medium oraz wciąż powiększającą się grupę interfejsów zależnych od nośnika MDI (ang. Medium Dependent Interface). MDI jest najbardziej widocznym aspektem fizycznej warstwy 802.3, definiuje i opisuje zarówno oczekiwany typ nośnika transmisyjnego, jak i charakterystyki transmisyjne i impedancyjne. Aby sieć LAN działała prawidłowo, właściwy nośnik transmisyjny musi być podłączony do odpowiadającej jemu karty sieciowej, która zawiera logikę MDI. Istnieje wiele interfejsów opartych na specyfikacji IEEE, a każdy z nich opisuje mechanizmy potrzebne do obsługi transmisji poprzez różne nośniki. Zatem pojęcie Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy dwie podstawowe specyfikacje, które są obecnie najczęściej używane do tworzenia małych sieci lokalnych. Są to: 10BaseT - specyfikacja Ethernet o paśmie podstawowym 10Mbps korzystająca z dwóch par skrętki UTP (ang. Unsheilded Twisted Pair) kategorii 3,4 lub 5.4 Jedna para transmituje dane, druga odbiera dane. Jest częścią specyfikacji IEEE 802.3. 100BaseT - szerokopasmowa specyfikacja Fast Ethernet 100 Mbps korzystająca z kabla UTP. Podobnie jak 10BaseT wysyła impulsy, gdy w sieci nie ma ruchu. Jednak impulsy niosą więcej informacji niż w 10BaseT. Specyfikacja ta opiera się na standardzie 802.3. Sieć zbudowana w standardzie Ethernet 10/100 BaseT najczęściej posiada topologię gwiazdy(rys 1).

4

Popularne określenie skrętka odnosi się do kabla zbudowanego ze skręconych parami przewodów. Przewody skręca się celem ograniczenia zakłóceń. Kategorie 3,4,5 odnoszą się do maksymalnej przepustowości takiego kabla. Odpowiednio jest to 10,16,100 Mb/s.

6

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

Rys. 3 Schemat sieci komputerowej typu Ethernet 10/100 BaseT

Na rysunku 3 pokazano schemat przykładowej sieci komputerowej opartej na standardzie Ethernet 10BaseT. Zgodnie z topologia typu gwiazda poszczególne komputery przyłączone są do koncentratorów za pomocą kabli sieciowych tworząc podsieci LAN1, LAN2, LAN3. Koncentratory te mogą być łączone do bezpośrednio ruterów lub pośrednio przez inne koncentratory jak ma to miejsce w przypadku podsieci LAN3. Rutery zapewniają możliwość łączenia ze sobą podsieci (LAN1 i LAN2) w spójną sieć lokalną oraz tworzenia sieci rozległych WAN poprzez komunikację nawet na duże odległości z innymi ruterami. Połączone koncentratory i rutery tworzą szkielet sieci. W jednej podsieci komputery mogą pracować w ramach jednej grupy roboczej jak to pokazano w przypadku podsieci LAN1 lub mogą mieć wiele grup roboczych - podsieć LAN2. W podsieci LAN3 wszystkie komputery pracują w ramach jednej grupy roboczej mimo połączenia ich do dwóch koncentratorów. Jest to przykład że połączenie fizyczne komputerów nie zawsze odpowiada ich połączeniu logicznemu.

7

Skrypt do ćwiczenia LAN1 – Sieć LAN, protokół NetBEUI.

4. Warstwa fizyczna Warstwa fizyczna zapewnia transmisję danych między węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Określa między innymi sposób połączenia mechanicznego (wtyczki, złącza), elektrycznego (poziomy napięć, prądów) i standard fizycznej transmisji danych.

4.1 Media komunikacyjne sieci Ethernet 10/100 Base-T Karta interfejsu sieciowego jest chyba najważniejszym urządzeniem związanym z budową sieci. Zawiera ona układy logiczne warstwy łącza sieciowego oraz warstwy fizycznej. Każdy komputer w sieci, zarówno serwer, jak i maszyna kliencka, musi posiadać taką kartę, ponieważ zapewnia mu ona fizyczne połączenie z medium stosowanym w danej sieci. W standardzie Ethernet Base10-T karta posiada gniazdo RJ-45 (rys. 5) umożliwiające podłączenie komputera do koncentratora lub przełącznika za pomocą skrętki UTP. Dla połączenia bezpośrednio dwóch komputerów konieczna jest taka zamiana par przewodów, aby sygnał nadawany z jednej strony mógł być odbierany z drugiej. Ten kabel nosi nazwę kabla krosowego (ang. cross-over cable) i charakteryzuje się tym, że jeden koniec podłączony jest wg standardu 568A zaś drugi 568B. Schemat połączenia kabla krosowego pokazano na rysunku 4 Kolejność przewodów wg standardu: EIA/TIA 568A 1. biało-zielony 2. zielony 3. biało-pomarańczowy 4. niebieski 5. biało-niebieski 6. pomarańczowy

EIA/TIA 568B 1. biało-pomarańczowy 2. pomarańczowy 3. biało-zielony 4. niebieski 5. biało-niebieski 6. zielony 7. biało-brązowy

7. BIAŁO-BRĄZOWY

8. BRĄZOW

8. brązowy Rys. 4 Budowa kabla krzyżowego

8

Kabel krzyżowy zamienia miejscami najważniejszą parę przewodów w celu prawidłowego dopasowania transmisji i odbioru sygnałów na urządzeniach o podobnych połączeniach. Konkretnie w przypadku kabla krzyżowego, sygnał TX+ jest kierowany do RX+, TX- do RX-. Na rys. 4 przedstawiono sposób zamiany par przewodów w kablu krzyżowym. Fizycznie pin nr 1 złącza RJ-45 na jednym końcu kabla powinien być połączony z pinem nr 3 złącza RJ-45 na drugim końcu a pin nr 2 powinien z pinem nr 6. Pin pierwszy jest po stronie lewej jeśli złącze RJ-45 trzymamy zapinką w dół (rys. 5). Do łączenia komputerów z innymi urządzeniami sieciowymi zazwyczaj stosuje się kabel prosty w którym obydwa złącza są jednego typu (np. A-A lub B-B). Krzyżowanie sygnałów RX/TX wykonuje wtedy urządzenie do którego podłączone są komputery.

Rys. 5 Gniazdo i wtyczka RJ-45

4.2 Kodowanie strumienia bitów Celem kodowania jest zamiana ciągów danych na sygnały, które można wytransmitować w łącza. Zamiana taka nosi nazwę kodowania. Najprostszym sposobem kodowania jest zamiana bitów na impulsy elektryczne, świetlne lub inne na zasadzie: jedynka - impuls, zero - brak impulsu. Ten system kodowania jest niewystarczający. Odbiornik nie potrafi odróżnić braku sygnału od przerwy w transmisji (awarii) i nie ma możliwości oceny stopy błędów. Powstają także kłopoty z synchronizacją. Ethernet 10BaseT wykorzystuje kodowanie Manchester. W kodzie Manchester okres każdego bitu jest dzielony na dwie części. Binarna "1" jest przesyłana przez ustawienie niskiego napięcia w pierwszej połówce i wysokiego w drugiej. Zero jest odwrotnością: najpierw poziom wysoki a potem niski (rys. 6). Kod Manchester pozwala odbiornikom w sposób jednoznaczny określić początek, koniec lub środek każdego bitu bez odwoływania się do zewnętrznego zegara. Gwarantuje, że okres bitu ma w środku przejście między poziomami ułatwiające synchronizację odbiornika z nadajnikiem.

Rys. 6 Kodowanie Manchester a- dane binarne; b- sygnał w kodzie Manchester;

Wadą kodowania Manchester jest to, że wymaga dwukrotnie większego pasma niż proste kodowanie binarne (aby wysyłać dane z prędkością równa 10Mb/s sygnał musi się zmieniać 20 milionów razy na sekundę).

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Rys. 7 Kodowanie różnicowe Manchester a- dane binarne; b- sygnał w kodzie Manchester;

Na rysunku 7 przedstawiono inną wersję kodu Manchester tzw. kod różnicowy, gdzie bit o wartości 0 kodowany jest dwiema zmianami, na początku i w środku odcinka czasowego (nie istotne w jakim kierunku). Bit o wartości 1 cechowany jest jedną zmianą, w środku odcinka czasowego, natomiast bit o wartości 0 kodowany jest dwiema zmianami, na początku i w środku odcinka czasowego. Ponadto bit zero zawiera taką samą konfigurację zmian co bit poprzedzający, gdy bit jeden zawiera zmiany przeciwne od bitu poprzedzającego. Kodowanie w systemach 100Mbps opiera się na kodowaniu blokowym, np. 4 bitowy blok danych kodowany jest za pomocą 5 bitowego symbolu (4B/5B). Dodatkowe symbole kodowe używane są do celów kontrolnych, np. sygnalizacja startu ramki, sygnalizacja błędów. W wyniku kodowania blokowego transmisja ma rzeczywistą szybkość 125Mbodów. Ponadto symbole transmitowane są przy pomocy systemu zwanego wielopoziomowym progiem-3 (MTL-3). Oznacza to, że przy każdej zmianie sygnał będzie miał jeden z trzech poziomów. Podczas każdego taktu zegara zmiana poziomu sygnału oznacza logiczną jedynkę, a brak zmiany zero.

4.3 Sygnały elektryczne w skrętce Sygnały w skrętce dla 10Base-T mają poziomy napięć od -2,5V do +2,5V, a w przypadku standardu 100Base-T od -1V do +1V - dlatego sygnalizacja ta nie wymaga punktu zero.

Rys. 8 Schemat połączenia komputerów M- sygnał w kodzie Manchester; U – wartość napięcia pojawiającego się w linii

Na rysunku 8 przedstawiono schemat elektrycznego połączenia dwóch kart sieciowych za pomocą kabla krzyżowego. Numerami 1,2,3,6 oznaczono numery pinów w złączu RJ45.

10

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Rys. 9 Proces obróbki danych binarnych do przesłania w sieci a - dane binarne; b – sygnał w kodzie Manchester; c - napięcie w linii

Interfejs ignoruje (ze względu na poziom tłumienia) sygnały niższe niż 300mV. Typowy kabel Kategorii 5 ma tłumienie na poziomie 11,5dB na długości 152 metrów. Uwzględniając ok. 1,5dB na złączach, kablach krosowych itp. Istnieje możliwość osiągnięcia 150m długości segmentu, przy użyciu dobrej jakości elementów. Impedancja falowa skrętki wynosi 100Ω. Urządzenia standardu 10Base-T w przypadku braku transmisji co pewien czas wysyłają sygnał testu łącza, sprawdzając połączenie. Jeśli równocześnie świeci się dioda na przekaźnikach po obu stronach połączenia (po jednej stronie może być np. koncentrator) to połączenie jest wykonane dobrze i działa poprawnie. Należy pamiętać, że diody na niektórych kartach sieciowych świecą ciągle, niezależnie od podłączenia przewodu sieciowego. Przekaźniki skrętkowe wykrywają kolizję poprzez równoczesne pojawienie się sygnału na obu parach - nadawczej i odbiorczej.

11

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

5. Warstwa łącza danych. Warstwa łącza danych jest odpowiedzialna za formowanie danych w odpowiednie pakiety zwane ramkami, kompresowanie i przesyłanie ich przez sieć oraz sprawdzenie poprawności przesłanych danych.

5.1 Protokół dostępu do medium w sieci Ethernet (CSMA/CD) Ethernet jest technologią współdzielonego medium, co oznacza, że wszystkie urządzenia w sieci nasłuchują transmisji wysyłanych z innych urządzeń i sprawdzają lub negocjują szanse i prawa transmisji. Oznacza to, że w danym czasie może odbywać się tylko jedna transmisja. Aby móc używać technologii współdzielonego medium, Ethernet stosuje mechanizm nazwany „Wielodostępem do łącza z badaniem stanu kanału i wykrywaniem kolizji” CSMA/CD (ang. Carier Sense Multiple Access/Collision Detection) umożliwiający negocjowanie praw urządzeń do transmisji danych w sieci. CSMA/CD jest metodą dostępu, która zezwala tylko jednej stacji na transmisję danych we wspólnie użytkowanym medium. Nie wszystkie urządzenia mogą mieć te same prawa transmisji danych, gdyż powoduje to kolizje. Standard Ethernet korzystający z metody CSMA/CD, bierze pod uwagę wszystkie żądania transmisji i decyduje, które urządzenia i w jakim czasie mogą korzystać z łącza. Stacje używające CSMA/CD mogą mieć dostęp do sieci w dowolnym czasie. Przed wysłaniem danych, stacja nasłuchuje medium, aby stwierdzić, czy sieć jest używana. Jeśli medium jest zajęte, stacja czeka i nie rozpoczyna transmisji. Jeśli jednak jest wolne, stacja transmituje dane. Może zdarzyć się, że dwie stacje nasłuchujące nie wykrywają żadnych transmisji i rozpoczynają nadawanie w tym samym czasie, co doprowadza do kolizji. Dane przesyłane przez te stacje ulegają przekłamaniu i powinny być powtórnie wysłane w późniejszym czasie. Aby wykryć kolizję i uruchomić odpowiednią procedurę, podczas transmisji ramki interfejs sieciowy zawsze monitoruje aktualny sygnał w kablu. Jeśli sygnały transmitowany i monitorowany różnią się, to zakłada się wystąpienie kolizji w sieci. Aby zapewnić wykrycie kolizji również przez drugi transmitujący w tym momencie komputer, transmisja nie jest przerywana, lecz wysyłany jest, przez pewien określony czas, przypadkowy ciąg bitów nazwany sekwencją zagłuszającą (ang. jam sequence). Kiedy wszystkie komputery zaangażowane w kolizję zauważyły już jej zaistnienie i przerwały transmisję, to będą one próbowały uzyskać dostęp do medium i wytransmitować swoje dane. Ilość takich prób jest ograniczona przez parametr ograniczenia (ang. attempt limit). Czas pomiędzy kolejnymi próbami transmisji ramki jest kontrolowany przez specjalny proces, który opóźnia próbę transmisji o przypadkową, lecz ograniczoną z góry przez parametr nazwany czasem oczekiwania (ang. backoff limit) wielokrotność szczelin czasowych (ang. slot time). Szczelina czasowa jest umowną wielkością równą podwojonemu czasowi propagacji sygnału, powiększoną o czas potrzebny do wykrycia kolizji i podtrzymania kolizji. Szczelina czasowa określa równocześnie minimalną długość ramki. Ważniejszym powodem dla minimalnej długości ramki jest zapobieganie przed ukończeniem transmisji krótkiej ramki przez stację. Może się bowiem zdarzyć, że zanim pierwszy bit w ogóle dotrze do końca kabla może się zderzyć z inną ramką. Jeśli stacja będzie próbowała wysłać bardzo krótką ramkę, to może się zdarzyć, że wystąpi kolizja, lecz transmisja zostanie ukończona przed powrotem impulsu zakłócającego w chwili 2T (T - czas propagacji). Nadajnik dojdzie wówczas do błędnego wniosku, że ramka została wysłana pomyślnie. Aby zapobiec takim sytuacjom, wysyłanie każdej ramki musi trwać dłużej niż 2T, aby transmisja jeszcze trwała, gdy impuls zakłócający powróci do nadajnika.

12

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Dla sieci LAN 10Mbps o maksymalnej długości 2500m z czterema wzmacniakami czas podróży został ustalony na 50 mikrosekund. Przy 10Mbps bit zajmuje 100 nanosekund, więc najmniejsza ramka, która będzie na pewno działać ma 500 bitów. Aby dodać pewien margines bezpieczeństwa, wielkość ramki została zaokrąglona do 512 bitów = 64 bajtów. Ze wzrostem szybkości sieci musi proporcjonalnie rosnąć minimalna długość ramki lub musi maleć maksymalna długość kabla. Jeśli węzeł wysyłający dane rozpozna kolizję wysyła zgłoszenie, które umożliwi jej wykrycie przez pozostałe stacje w sieci. Blokada trwa tak długo, aż wszystkie stacje w sieci będą mogły się dowiedzieć o kolizji. Wszystkie węzły zatrzymują wysyłanie ramek na czas zwany czasem odczekiwania, który jest wyznaczony w sposób losowy. Jeśli kolejne próby przesłania danych również prowadzą do kolizji, stacja ponownie wysyła dane. Maksymalna liczba takich prób może dojść do 16. Czasy odczekiwania danej stacji są wyznaczane przez posiadane zegary węzłów, jeśli czasy są dostatecznie różne jedna ze stacji połączy się przy kolejnej próbie. Czasy te są podwajane przy każdej kolejnej próbie, aż do próby o numerze 10, zmniejszając prawdopodobieństwo kolizji. Dla prób o numerach od 10 do 16 czasy pozostają te same.

5.2 Full-duplex Dodatek do standardu Ethernet - IEEE 802.3x definiuje jeszcze jeden tryb transmisji dla Ethernetu, nazywany full-duplex, który omija protokół CSMA/CD. Protokół CSMA/CD definiuje tzw. half-duplex, co oznacza, że stacje nie mogą transmitować danych w tym samym czasie. Full-duplex umożliwia dwóm stacjom równoczesną wymianę danych poprzez łącze typu punkt-do-punktu (ang. point-to-point). Muszą one jednak posiadać niezależne ścieżki nadawania i odbioru. W tym przypadku medium kabla koncentrycznego nie spełnia tego warunku, jest tam jedynie jedna ścieżka i nie ma możliwości transmisji full-duplex poprzez kabel koncentryczny. Ponadto w tym trybie można połączyć jedynie dwie stacje i obie muszą mieć interfejsy sieciowe skonfigurowane do pracy w trybie full-duplex. Stacja o prędkości 10Mbit w trybie full-duplex uzyskuje szerokość pasma równą 20Mbit. Dodatkowo, zaletą trybu full-duplex jest brak ograniczeń długości segmentu wynikających z wymagań czasowych (szczelina czasowa S - rozpiętość sieci). W tym trybie pracy długość segmentu ograniczają jedynie parametry medium, np. w skrętce CAT5 charakterystyki elektryczne kabla ograniczają jego długość do 100 metrów. Jednak dużą zaletę tego trybu pracy widzimy po rozmiarze maksymalnym segmentów światłowodowych. W transmisji full-duplex nie ma możliwości wykrywania kolizji, co w niektórych przypadkach może stwarzać problemy. W przypadku gdy jeden komputer w sieci ma ustawioną transmisję typu full-duplex i zostanie podłączony do koncentratora, wystąpi zjawisko wielokrotnych kolizji, ponieważ przy takim połączeniu komputer ten uznaje, że ma dostępną całą szerokość pasma i nie sprawdza czy może nadawać.

5.3 MAC Control Przy transmisji w trybie full-duplex może wystąpić sytuacja, w której komputer odbierający dane nie będzie w stanie zawiadomić nadawcy o wystąpieniu błędów w transmisji. Dlatego w załączniku IEEE 802.3x został zdefiniowany protokół kontroli MAC (ang. MAC Control Protocol). Jeśli stacja odbierze ramkę z wartością (szesnastkową) 0x8808 w polu o nazwie „Typ” (rys 6.1), to odczytuje kod operacji (ang. opcode) umieszczony w polu „Dane”. Kod operacji umieszczony jest w pierwszych 2 bajtach pola danych. Podczas transmisji full-duplex, protokół kontroli MAC przenosi polecenia PAUSE. Wartość kodu operacji dla PAUSE to 0x0001 (hex). Tylko stacje skonfigurowane do pracy w trybie full-duplex mogą odbierać ramki typu „PAUSE”. Poza kodem w ramce znajduje się czas przez jaki należy wstrzymać wysyłanie kolejnych ramek z danymi do danej stacji. W taki sposób został zapewniony mechanizm sterowania przepływem danych w czasie rzeczywistym. Ramka taka wysyłana jest na z góry zdefiniowany adres grupowy 01-80-C200-00-01. Dzięki temu stacja wysyłająca ramkę nie musi zapamiętywać adresu drugiej stacji 13

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

w połączeniu full-duplex. Ponadto adres ten jest wygodny przy połączeniu dwóch przełączników pracujących w trybie full-duplex, ponieważ mogą do siebie wysyłać takie ramki sterując transmisją i nie będą one rozgłaszane w całej domenie rozgłoszeniowej (mechanizm ten został opisany w standardzie IEEE 802.1D opisującym pracę przełączników w sieci). Protokół MAC Control obsługuje sytuacje związane z zagubieniem ramki w sieci, odrzuceniem tego typu ramki, jej uszkodzeniem lub opóźnieniem. Rozmiar tego typu ramki jest minimalnym rozmiarem ramki w sieci czyli wynosi 64 bajty.

5.4 Automatyczne negocjowanie W wyniku szybkiego rozwoju technologii Ethernet i jej ewolucji na wiele różnych rozwiązań sprzętowych jak i szybkości transmisji powstała potrzeba utworzenia protokołu umożliwiającego automatyczne dostosowywanie parametrów pracy nowo podłączonych do sieci urządzeń. Tak zrodził się Protokół Automatycznej Negocjacji (ang. Auto-Negotiation). Wykorzystuje on do przesyłania informacji system sygnalizacji zwany FLP (ang. Fast Link Pulse). Sygnały te są zmodyfikowaną wersją sygnałów NLP (ang. Normal Link Pulse) wykorzystywanych do weryfikacji integralności łącza w standardzie 10Base-T. Wyjątek stanowi system Gigabit Ethernet pracujący z wykorzystaniem światłowodu ponieważ nie ma standardów auto-negocjacji IEEE dla tego medium transmisyjnego. Każdy impuls NLP trwa 100ns. Podobnie każdy impuls FLP trwa 100ns ale składa się z 33 krótkich impulsów. Czas przerwy jest taki sam w przypadku NLP i FLP. To sprawia, ze interfejsy wykorzystujące FLP są zgodne ze starszymi interfejsami 10Base-T nie obsługującymi protokołu AutoNegotiation. Pierwsze 17 z 33 impulsów stanowi podstawę czasu (koduje zegar). Kolejne 5 bitów stanowi pole selektora identyfikujące technologię LAN. Dla Ethernetu ciąg ma postać: 10000. Następne 8 bitów opisuje technologie sieciowe z jakimi może pracować interfejs, kolejne bity oznaczają: 10Base-T, 10Base-T full-duplex, 100Base-TX, 100Base-T fullduplex, 100Base-T4, PAUSE, zarezerwowany. Jeśli pojawia się jedynka, tzn. że interfejs obsługuje daną technologię. Następny bit jest wskaźnikiem błędu, oznacza, że zostało wykryte jakieś uszkodzenie (np. kabla). Piętnasty bit stanowi sygnał ACK i jest potwierdzeniem przyjętej wcześniej wiadomości. Komunikaty systemu automatycznego negocjowania są wysyłane do czasu aż druga strona nie odpowie wiadomością z ustawionym bitem potwierdzenia. Interfejs wysyła potwierdzenie po odebraniu trzech identycznych, kolejnych wiadomości. Ostatni szesnasty bit sygnalizuje pojawienie się następnej wiadomości, kontynuującej opisywanie możliwości interfejsu wysyłającego. Kiedy stacje zakończą procedurę auto negocjacji, przez łącze nie może być przesłany żaden dodatkowy impuls FLP. System cały czas monitoruje pracę łącza i np. po chwilowym zerwaniu łącza (przepięcie wtyczki) renegocjuje parametry pracy. Standard autonegocjacji w przypadku kontaktu z urządzeniem nie obsługującym tego protokołu, stara się rozpoznać urządzenie i automatycznie ustalić parametry pracy.

14

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

6. Ramka danych Ethernet Pierwszej definicji ramki ethernetowej dokonało konsorcjum Dell-Intel-Xerox przez co ramka tego typu określana jest skrótem od pierwszych liter nazw tych firm – DIX: z czasem ramka ta określona została mianem Ethernet II. Na rysunku 10 przedstawiono ten typ ramki. Adres pocz. Dł. pola w bajtach

1

Nazwa pola

9

15

21

23

8

6

6

2

46 - 1500

Preambuła

Adres docelowy

Adres źródłowy

Typ

Dane

4 PAD

FCS

Rys. 10 Format pakietu ethernetowego DIX (Ethernet II) IEEE 802.2

W 1985 roku został przyjęty standard IEEE 802.3 (rys. 11), w którym zmieniło się głównie pole o nazwie „Typ”. Według standardu 802.3 pakiet ethernetowy składa się z ramki, która jest poprzedzona preambułą i bajtem zwanym znacznikiem początku ramki. Adres pocz. Dł. pola w bajtach Nazwa pola

1

8

9

15

21

23

7

1

6

6

2

Preambuła

SFD

Adres docelowy

Adres źródłowy

Długość

46 - 1500 Dane

4 PAD

FCS

Rys. 11 Format pakietu ethernetowego IEEE 802.3

Na rysunku 11 widać że ramka z pominięciem preambuły i SFD może mieć rozmiar od 64 (6+6+2+46+4) do 1518 bajtów (6+6+2+1500+4). Pole „Preambuła” to naprzemienny ciąg bitów 1 i 0, informujący o nadchodzącej ramce. Jego funkcja to zapewnienie synchronizacji pomiędzy modułami MAC komputerów odbiorczych a modułem MAC komputera nadawczego. Pole to jest sekwencją siedmiu oktetów bitów (w IEEE 802.3 - w DIX 8 bajtów), z których każdy ma taki sam ustalony wzorzec w postaci 10101010. Od nadajnika i odbiornika wymaga się, by zachowały synchronizację aż do końca ramki, używając kodowania Manchester do rozpoznania granic bitów. Pole „SFD” (ang. Start of Frame Delimiter ) to bajt kończący preambułę o postaci: '10101011' - jest zakończony dwoma bitami 1. Standard DIX definiuje dokładnie taki sam ciąg bitów, jednak w inny sposób – uznaje całą preambułę za jedno pole nie wydzielając SFD. Pola „adres źródłowy” i „adres docelowy” zawierają liczby 6 bajtowe, będące adresami sprzętowymi komunikujących się interfejsów sieciowych. W standardzie DIX pierwszy transmitowany w medium bit służy do odróżniania adresu rozgłoszeniowego od adresu pojedynczego interfejsu. Jeśli bit jest ustawiony na 1, oznacza adres rozgłoszeniowy. W standardzie IEEE 802.3 została również zdefiniowana rola drugiego bitu adresu. Oznacza on, czy adres jest globalny (wartość 0), czy lokalny (wartość 1). Adresy lokalne są adresami przydzielonymi przez administratora. Sytuacja komplikuje się, gdy uwzględnimy sposób transmisji bajtów w Ethernecie. Adres 00:60:52:0A:A7:EF będzie miał postać binarną: 0000 0000 : 0110 0000 : 0101 0010 : 0000 1010 : 1010 0111 : 1110 1111 Kolejne bajty przesyłane są w takiej kolejności jak je zapisujemy. Jednak w rzeczywistości transmisja każdego bajtu rozpoczyna się od najmniej znaczącego bitu, kończąc na najbardziej znaczącym, więc ciąg przetransmitowany w medium będzie miał postać: 0000 0000 : 0000 0110 : 0100 1010 : 0101 0000 : 1110 0101 : 1111 0111 Pole o nazwie „Długość” określa w bajtach ilość danych, które nastąpią po tym polu. Wartość zawiera się w przedziale od 1 do 1500. 15

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

W standardzie DIX (Ethernet II) pole to nazywane było „Typ” i spełniało zupełnie inne zadanie. Wartość w tym polu była większa od 1536 dziesiętnie lub 0x600 szesnastkowo i określała numer protokołu warstwy wyższej, który odbierze dane po zakończeniu obróbki przez standard Ethernet. Przykładowo dla protokołu IP wartość ta wynosi 0x800. W polu „Dane” mieszczą się dane opatrzone nagłówkami pochodzącymi od wyższych warstw sieciowych. Jeśli ilość danych jest mniejsza od 46 bajtów, wprowadzane jest tzw. „PAD” (ang. padding) czyli uzupełnienie. Dane są dopełniane jedynkami, tak aby ramka nie była mniejsza niż 512 bitów spełniając tym samym wymagania szczeliny czasowej. Pole „FCS” (ang. Frame Check Sequence) zawiera 4 bajty kontrolne CRC (ang. cyclic redundancy check) wygenerowane przez interfejs nadający i sprawdzane przez odbierający. Stanowią one kontrolę poprawności przesyłanych danych.

6.1 Protokół LLC W standardzie DIX (Ethernet II) w polu Typ znajdował się numer protokołu odbierającego dane, w standardzie IEEE 802.3 nie mamy tej informacji. Aby zachować tę użyteczność stworzono dodatek, w którym zdefiniowany został protokół LLC (ang. Logical Link Control). Pola protokołu LLC wskazują na następujące po nich pola protokołu SNAP, które są wykorzystywane do przenoszenia typu protokołu warstw wyższych, do którego są skierowane transmitowane dane. Pole o nazwie „DANE” ramki Ethernet 802.3 ( 46-1500 ) Nagłówek

LLC

Długość

SNAP

1

1

DSAP

SSAP

Nazwa pola I/G

DA

C/R

1 lub 2

3

2

38 – 1492 lub 37 – 1491

CTRL

OUI

ET

Dane + PAD

SA

Rys. 12 Nagłówek IEEE 802.2

Nagłówek LCC składa się z trzech pól: Pierwszym z nich jest pole o nazwie „DSAP” (ang. Destination Service Access Point) ośmiobitowe pole punktu dostępu do usługi docelowej identyfikujące punkt dostępu do usługi LLC urządzenia docelowego oraz protokół warstwy wyższej, do którego mają być przekazane dane. W podobny sposób odbywa się to w polu typu w ramce Ethernetowej. Pierwszy bit tego pola nazywany jest „I/G” (ang. individual/group) i definiuje on rodzaj występującego po nim adresu – jeśli bit „I/G” ma wartość 0 to adres DA (ang. Destination Adres) - adres docelowy jest adresem indywidualnym, jeśli przyjmuje wartość 1 DA jest adresem grupowym. Drugie pole nagłówka nosi nazwę „SSAP” (ang. Source Service Access Point) – jest to ośmiobitowe pole punktu dostępu do usługi źródłowej identyfikujące punkt dostępu do usługi LLC urządzenia źródłowego identyfikuje protokół warstwy wyższej, z którego przekazywane są dane. Pierwszy bit tego pola oznaczony został jako „C/R” (ang. command/response) jeśli ma on wartość 0 to nadawca przesyła polecenie jeśli ma wartość 1 odpowiedź. Po bicie „C/R” występują bity „SA” (ang. source adres) - adres źródła - jest to zawsze adres indywidualny. Ostatnie pole nazwane „CTRL” – (ang. Controll) zawiera wartość kontrolną ramki LLC. W zależności od informacji przenoszonych w dwóch pierwszych polach nagłówka pole „CTRL” może być jedno lub dwubajtowe - ze względu na to w szczególnych przypadkach skracane jest pole o nazwie „Dane” tak aby ramka ethernetowa zachowała swoje minimalne i maksymalne granice. Nagłówek „SNAP” (ang. Sub-Network Access Protocol) - umożliwia identyfikację protokołów wyższego poziomu i zapewnia kompatybilność z wcześniejszymi wersjami Ethernetu. Zawiera on pole „OUI” – (ang. Organisational Unique Identifier) czyli 16

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

identyfikator protokołu; (dla ramek typu Ethernet przyjmuje wartość 00-00-00) oraz pole „ET” – EtherType np. dla protokołu IP pole to ma wartość 08-00.

7. Przesyłanie pakietów w Ethernecie Znając zasady na jakich nadajnik w sieci 10/100BaseT uzyskuje dostęp do medium transmisyjnego oraz formowania i kodowania pakietów danych prześledzimy teraz drogę jaką wędrują dane. Na rys. 8.1 przedstawiono prostą sieć, w której do switcha podłączono trzy karty sieciowe: NIC1, NIC2, NICn, o adresach A1, A2, An. W każdej z kart sieciowych oraz w każdym z portów switcha znajduje się nadajnik - TX i odbiornik - RX. We wszystkich przypadkach para przewodów (+ i -) z nadajnika trafia do odbiornika. Na uwagę zasługuje ostatnie gniazdo switcha. Jest to gniazdo oznaczane jako Up-Link. Zauważyć można, że nadajnik i odbiornik są umieszczone w innej kolejności niż w przypadku pozostałych gniazd. Zamiana taka jest celowa i służy do kaskadowego łączenia switchy.5

Rys. 13 Przesyłanie pakietów w przykładowej sieci 10BaseT

Zakładamy że w tak zbudowanej sieci komputer korzystając z karty sieciowej NIC1 o adresie A1 przesyła jeden pakiet danych D1 do komputera korzystającego z karty sieciowej NIC2 o adresie A2. Droga tego pakietu będzie wyglądała następująco: pojawia się sygnał na linii TX1-RX2 – do switcha przesyłana jest ramka zawierająca dane D1. Switch po otrzymaniu paczki sprawdzi adres odbiorcy a następnie utworzy w matrycy przełączającej kanał przesyłu danych (na rys. 13 zaznaczony pogrubioną linią) którym paczka zostanie przerzucona na linię TX3-RX4. Po otrzymaniu danych D1 odbiorca wysyła odpowiedź w postaci paczki D2 –zawiera ona informacje o tym czy odebrał on paczkę danych D1 poprawnie lub czy istnieje potrzeba powtórnego jej przetransmitowania. Pojawia się zatem nowy pakiet z danymi D2 na linii TX4-RX3 skierowany do switcha, a następnie na linii TX2-RX1 do karty NIC1. Jeśli D2 zawiera odpowiednie potwierdzenie komunikacja zostaje zakończona. Jeśli karty pracują w trybie Full-Duplex to karta może jednocześnie nadawać i odbierać dane. Ilustruje to pakiet z danymi D3 przesyłany na linii TX2-RX1 w czasie gdy karta nadaje 5

Dokładniej zagadnienie to zostanie omówione w ćwiczeniu LAN2.

17

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

na linii TX1-RX2. Na rysunku 13 pokazano dwa niezależne kanały przepływu danych utworzone przez switch w tym samym czasie.

8. Warstwa sieciowa i warstwa transportowa Warstwa sieciowa zapewnia metody ustawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy w komunikacji. Jest odpowiedzialna za trasowanie pakietów w sieci, czyli wyznaczeniem optymalnej trasy dla połączenia. Warstwa transportowa zapewnia przeźroczysty transfer danych typu punkt-punkt. Dba o kolejność pakietów otrzymywanych przez odbiorcę. Sprawdza poprawność pakietów i w razie potrzeby zapewnia ich retransmisję.

8.1 NetBEUI NetBEUI (ang. NetBIOS Extended User Interface) - Rozszerzony Interfejs Użytkownika Protokołu NetBIOS jest prostym i szybkim protokołem przeznaczonym dla małych sieci lokalnych. Został opracowany jako rozszerzenie NetBIOS — wspólnego protokołu firm Microsoft oraz IBM. Mimo że NetBEUI jest znakomitym protokołem transportowym, który nie obciąża zbyt mocno komputera ani sieci swoimi wymaganiami, jednak jest to protokół nierutowalny (lub inaczej — nietrasowalny). Oznacza to, że nie może być on wykorzystywany w dużych sieciach, w których stosuje się rutery6 do przesyłania danych pomiędzy różnymi segmentami czy podsieciami. W porównaniu do teoretycznego modelu OSI protokół NetBEUI działa w warstwie transportowej i warstwie sieci co zostało pokazane na rysunku 14. Z faktu działania protokołu NetBEUI jedynie w warstwach transportowej i sieci modelu OSI wynika, że do zapewnienia innych, potrzebnych w komunikacji sieciowej zadań, wymaga się działania składników pomocniczych. Przykładowo, takim wymaganym składnikiem jest NetBIOS, który działa w warstwie sesji modelu OSI. To NetBIOS odpowiada za ustanowienie sesji komunikacyjnej między dwoma komputerami w sieci. Trzeba przy tym pamiętać, że każdy komputer musi mieć niepowtarzalną nazwę NetBIOS, ponieważ nazwa ta ma być wykorzystywana do jego identyfikacji w sieci. Tak więc, w przypadku gdy istnieje potrzeba połączenia komputerów, które wcześniej pracowały jako samodzielne jednostki i którym nadano jednakowe nazwy, trzeba te nazwy zmienić na inne przed uruchomieniem sieci. Nadawanie indywidualnych nazw komputerom ma pewne konsekwencje także przy nadawaniu nazw grupom roboczym i udostępnianym folderom. Wszystkie komputery, grupy robocze, drukarki i udostępnione foldery wykorzystywane w sieci równorzędnej muszą mieć nadane oddzielne, różne od siebie nazwy, aby cały system mógł pracować poprawnie. Dwa kolejne komponenty sieciowe, które wspomagają pracę NetBEUI, to SMB (ang. Server Message Block )- Blok Komunikatów Serwera i rozdzielacz (ang. redirector). SMB zapewnia równorzędną komunikację między rozdzielaczami w kliencie i w serwerze sieciowym. Ten składnik pracuje w warstwie prezentacji modelu OSI. Rozdzielacz działa w warstwie aplikacji, zajmuje się odpowiednim zmienianiem adresowania udziałów co powoduje, że komputer-klient traktuje wszystkie zasoby sieciowe, tak jakby były dostępne lokalnie.

6

Ruter jest urządzeniem sieciowym kierującym ruchem pakietów w sieci. Rutery oraz inne urządzenia infrastruktury sieciowej zostaną szczegółowo opisane w instrukcji do ćwiczenia LAN4

18

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Schemat relacji poszczególnych składników sieci firmy Microsoft, takich jak NetBIOS, NetBEUI i innych, z referencyjnym modelem OSI pokazuje poniższa tabela. Model OSI

Stos NetBIOS/NetBEUI

Aplikacja

Rozdzielacz

Prezentacja

SMB

Sesja

NetBIOS

Transport Sieć

NetBEUI

Łącze danych

Ethernet

Połączenie fizyczne

Skrętka UTP

Rys. 14 Porównanie struktury modelu OSI oraz stosu NetBIOS/NetBEUI

NetBEUI wydaje się być idealnym rozwiązaniem dla sieci stacji równorzędnych, o ile sieć ta nie ma mieć dostępu do Internetu. Jest to rozwiązanie idealne w tym znaczeniu, że po zainstalowaniu tego protokołu w systemie żadna dalsza konfiguracja nie jest wymagana.

9. Warstwa sesji NetBIOS (ang. Network Basic Input Output System) - Podstawowy System WejściaWyjścia w Sieci - identyfikuje komputery w sieci dzięki nazwie nadawanej przez użytkownika. Każdy, kto instalował wcześniejszą niż 2000 wersję systemu Windows, określał tą nazwę w trakcie tego procesu. Nadając nazwę NetBIOS komputerowi z systemem Windows użytkownik jest ograniczony do maksymalnie piętnastu znaków. W konwencji nazewnictwa NetBIOS dozwolonych jest 16 znaków w nazwie NetBIOS. Firma Microsoft ograniczyła jednak długość nazw NetBIOS do 15 znaków i wykorzystuje szesnasty znak jako sufiks nazwy NetBIOS - oznacza on rodzaj uruchomionego na danym komputerze serwisu. NetBIOS spełnia następujące założenia: - wszystkie stacje w sieci są traktowane tak samo, - aplikacje nie zajmują się szczegółami działania transportu, - usługi nie zależą od sprzętowej realizacji sieci, - istnieje wsparcie dla nazw przyjaznych dla człowieka – nie ma potrzeby posługiwania się jakimikolwiek adresami. Procesy w NetBIOS mogą komunikować się, wykorzystując dwie metody. Pierwsza z nich to bezpołączeniowa – dane przekazywane są w formie datagramów bez potwierdzenia ich dotarcia na miejsce i bez gwarancji odebrania przez stacje docelową. Metoda najczęściej jest wykorzystywana do pracy w trybie rozgłaszania (ang. broadcast); jeśli stacja nie oczekiwała na datagram, to zostanie on zignorowany. Limit przesyłanej informacji w pojedynczym datagramie wynosi 512 bajtów. Metoda druga połączeniowa – polega na nawiązaniu sesji, w ramach której transmisja odbywa się niezawodnie (z potwierdzeniem). Stacja nadawcza jest informowana o zaistniałych podczas komunikacji błędach. Pojedyncza wiadomość przekazywana tą metodą może mieć do 64kB długości. Jednym z zadań NetBIOS-u jest rozwiązywanie i rejestrowanie nazw netbiosowych hostów w sieci. Każdy host musi mieć swoją unikalną nazwę, która jest mapowana przez NetBIOS na adres MAC. Nazwy te używane są m.in. do identyfikowania zasobów sieci. Wyróżniamy 4 metody rozwiązywania nazw NetBIOS:

19

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

B-Node (ang. Broadcast Node) – metoda oparta na rozsyłaniu zapytań rozgłoszeniowych (tzw. broadcastów). P-Node (ang. Point to Point Node) – metoda oparta na wykorzystywaniu NBNS (ang. Netbios Name Server) do rozwiązania nazwy. Wszystkie stacje w sieci muszą mieć skonfigurowany adres IP NBNS. M-Node (ang. Mixed Node) – w metodzie P-Node w przypadku awarii NBNS system rozwiązywania nazw netbiosowych przestaje działać. W trybie M-Node najpierw jest używana metoda B-Node, a następnie P-Node, dzięki czemu metoda ta jest odporna na awarie serwera NBNS. H-Node (ang. Hybrid Node) - wadą metody m-Node była zwiększona ilość transmisji rozgłoszeniowych w sieci. Tryb H-Node rozwiązuje ten problem. Jako pierwsza jest wykorzystywana metoda P-Node, a jeśli serwer NBNS nie odpowie prawidłowo, to użyta zostaje dopiero metoda M-Node, która generalizuje transmisje rozgłoszeniowe. Nazwy NetBIOS dzielimy na: - Niepowtarzalne (ang. Unie) – np. nazwa komputera, - grupowe (ang. group) – np. nazwa domeny, - wieloadresowe (ang. multihomed) – np. Niepowtarzalna nazwa jednego komputera z kilkoma interfejsami sieciowymi.

10. Warstwa prezentacji i aplikacji 10.1 SMB Protokół SMB (ang. Server Message Block) czyli blok komunikatów serwera, jest protokołem warstwy prezentacji, który służy do implementowania sterowania sesjami sieciowymi, sieciowym systemem plików, dostępem do sieciowych drukarek i przekazywaniem komunikatów. Początki protokołu sięgają połowy lat 80-tych kiedy to w firmie IBM opracowano jego wczesną wersję (ang. IBM PC Network SMB Protocol). W kolejnych latach protokół był nadal rozwijany głównie przez firmę Microsoft. W późniejszych latach SMB stał się podstawą Otoczenia Sieciowego w systemach Windows. Każda wersja począwszy od Windows 3.11 for Workgroups zawiera implementację SMB. Do dziś rozwinęło się wiele „dialektów” SMB z implementacjami dla różnych platform systemowych i oferujących rożne systemy dostępu i bezpieczeństwa. SMB jest protokołem używanym przez systemy Windows do współdzielenia plików, drukarek, portów szeregowych oraz do komunikacji między komputerami z wykorzystaniem potoków nazwanych oraz gniazd pocztowych. W środowisku sieciowym, serwery udostępniają systemy plików i zasoby dla klientów. Klienci wysyłają żądania SMB zasobów do serwerów, a te z kolei wysyłają odpowiedzi SMB. Taki sposób komunikacji został nazwany protokołem „żądania-odpowiedzi” klienta i serwera. Nie mniej jednak chociaż sam protokół ma charakter klient-serwer to z racji tego, że najczęściej maszyny klienckie dysponują także funkcjami serwerowymi (udostępnianie plików) to sieci SMB nabierają charakteru sieci peer-to-peer. Protokół SMB wykorzystuje do działania dwa protokoły niższych rzędów - protokół warstwy sesji NetBIOS i NetBEUI będący protokołem warstw sieci transportu i sesji. Identyfikacja komputerów w sieciach SMB odbywa się za pomocą ich nazw NetBIOS będących ciągiem znaków lub za pomocą mechanizmów protokołów "podległych" SMB np: poprzez adres IP7 czy nazw DNS gdy SMB wykorzystuje protokół TCP do transportu danych.

7

Wiadomości na temat protokołu TCP/IP oraz nazw DNS opisane zostaną w następnych ćwiczeniach.

20

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

W sieci SMB/CIFS mamy do czynienia z dwoma typami przeglądania: - przeglądanie listy komputerów (ze współdzielonymi zasobami) - przeglądanie współdzielonych zasobów konkretnego komputera Komputer odpowiedzialny za utrzymywanie listy komputerów dostępnych w sieci nazywamy główną przeglądarką lokalną a zarządzaną przez niego listę -listą przeglądania. Dla każdej domeny i grupy roboczej wybierana jest jedna przeglądarka główna spośród stacji będących jej członkami, oraz na każde 32 stacje jedna przeglądarka zapasowa. Jeśli w sieci pojawi się więcej niż jedna przeglądarka zapasowa główna przeglądarka nie odpowiada bezpośrednio na pytania klientów ale przekazuje im listę przeglądarek z których powinni skorzystać. Zapasowe przeglądarki otrzymują aktualne listy zasobów co 5-15minut. W efekcie może się zdarzyć, że jeszcze przez 15 minut od włączenia komputera nie będziemy widzieli jego zasobów w otoczeniu sieciowym. Komputer podczas prawidłowego wyłączenia systemu wyrejestrowuje swoje zasoby u przeglądarki głównej. Jeśli system zostanie np. zresetowany, niedziałający komputer może być obecny na liście przeglądania w szczególnych wypadkach nawet przez godzinę. Typowa sesja między klientem a serwerem przebiega następująco: - klient nawiązuje połączenie wirtualne, rozpoczyna się negocjacja dialektu SMB oraz ustawienie parametrów sesji (np. kodowanie haseł). - jeśli klient i serwer ustalą parametry połączenia dochodzi do nawiązania połączenia z zasobem. W przypadku systemów Windows uzyskujemy dostęp do udostępnionego udziału poprzez wywołanie o postaci „\\\”. Jest on widziany jako zwykły katalog systemu Windows. może być nazwą NetBios, ale może być także jego nazwą DNS’ową czy choćby po prostu adresem IP np. „\\komp1\dokumenty” lub „\\10.5.205.46\dokumenty”. SMB oferuje dwa poziomy bezpieczeństwa: poziom zasobów (ang. share level) polegający na zabezpieczeniu hasłem zasobu i plików znajdujących się w nim. Znajomość hasła jest warunkiem wystarczającym do uzyskania dostępu. Drugim z poziomów jest poziom użytkownika (ang. user level) oparty na zabezpieczaniu konkretnych plików poprzez prawa dostępu. Komunikaty SMB składają się z nagłówka (ang. heder) pokazanego na rysunku 15 oraz łańcucha (ang. String) pokazanego na rysunku 16. Przykładowy komunikat wygląda następująco: Bajtów: Nr pola:

1 1 1 1 1 2 3 4

14 2 2 2 2 7 8 9 10 11 Rys. 15 Nagłówek komunikatu SMB 1 - identyfikator -0xFF534D42 (0xFF’SMB’); 2 - kod polecenia (COM) -od 0x00 do 0xFF; 3 - klasa błędu (RCLS); 4 - zarezerwowane (REH); 5- kod błędu (ERR); 6- zarezerwowane (REB); 7- zarezerwowane (RES); 8 - identyfikator drzewa (TID); 9- identyfikator wywołującego procesu (PID); 10- identyfikator użytkownika (UID); 11- identyfikator multipleksowy (MID); Bajtów: Nr pola:

2 5

1 6

zmienna 1

1 zmienna 2 2 3 4 Rys. 16 Łańcuch komunikatu SMB

zamienna 5

1 - parametry polecenia lub odpowiedź; 2 - liczba słów (WTC); 3 - słowa parametrów (VWV); 4 - liczba bajtów danych (BCC); 5 - dane (DATA);

21

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Spis treści: 1. WSTĘP................................................................................................................................. 2 1.1 WIADOMOŚCI PODSTAWOWE............................................................................................ 2 2. REFERENCYJNY MODEL OSI...................................................................................... 4 3. WPROWADZENIE DO SIECI ETHERNET.................................................................. 6 3.1. STANDARDY ETHERNET .................................................................................................. 6 4. WARSTWA FIZYCZNA ................................................................................................... 8 4.1 MEDIA KOMUNIKACYJNE SIECI ETHERNET 10/100 BASE-T.............................................. 8 4.2 KODOWANIE STRUMIENIA BITÓW ..................................................................................... 9 4.3 SYGNAŁY ELEKTRYCZNE W SKRĘTCE ............................................................................. 10 5. WARSTWA ŁĄCZA DANYCH. .................................................................................... 12 5.1 PROTOKÓŁ DOSTĘPU DO MEDIUM W SIECI ETHERNET (CSMA/CD) ............................... 12 5.2 FULL-DUPLEX ................................................................................................................ 13 5.3 MAC CONTROL ............................................................................................................. 13 5.4 AUTOMATYCZNE NEGOCJOWANIE .................................................................................. 14 6. RAMKA DANYCH ETHERNET ................................................................................... 15 6.1 PROTOKÓŁ LLC............................................................................................................. 16 7. PRZESYŁANIE PAKIETÓW W ETHERNECIE ........................................................ 17 8. WARSTWA SIECIOWA I WARSTWA TRANSPORTOWA .................................... 18 8.1 NETBEUI....................................................................................................................... 18 9. WARSTWA SESJI ........................................................................................................... 19 10. WARSTWA PREZENTACJI I APLIKACJI .............................................................. 20 10.1 SMB ............................................................................................................................ 20

22

Instrukcja do ćwiczenia nr.1 Połączenie dwóch komputerów kablem krzyżowym.

Spis rysunków: Rys. 1 Topologie sieci komputerowych..................................................................................... 4 Rys. 2 Proces enkapsulacji i deenkapsulacji danych w modelu OSI; opracowano wg [1] ...... 5 Rys. 3 Schemat sieci komputerowej typu Ethernet 10/100 BaseT ............................................ 7 Rys. 5 Gniazdo i wtyczka RJ-45................................................................................................ 9 Rys. 6 Kodowanie Manchester.................................................................................................. 9 Rys. 7 Kodowanie różnicowe Manchester .............................................................................. 10 Rys. 8 Schemat połączenia komputerów ................................................................................. 10 M- sygnał w kodzie Manchester; U – wartość napięcia pojawiającego się w linii................ 10 Rys. 9 Proces obróbki danych binarnych do przesłania w sieci............................................. 11 Rys. 10 Format pakietu ethernetowego DIX (Ethernet II) IEEE 802.2 .................................. 15 Rys. 11 Format pakietu ethernetowego IEEE 802.3............................................................... 15 Rys. 12 Nagłówek IEEE 802.2 ................................................................................................ 16 Rys. 13 Przesyłanie pakietów w przykładowej sieci 10BaseT ................................................ 17 Rys. 14 Porównanie struktury modelu OSI oraz stosu NetBIOS/NetBEUI ............................ 19 Rys. 15 Nagłówek komunikatu SMB ....................................................................................... 21 8 - identyfikator drzewa (TID); 9- identyfikator wywołującego procesu (PID); 10identyfikator użytkownika (UID); 11- identyfikator multipleksowy (MID); ........................... 21 Rys. 16 Łańcuch komunikatu SMB.......................................................................................... 21

23