Instrukcja - Politechnika Warszawska

Transkrypt

Instrukcja - Politechnika Warszawska
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 „\\<nazwa komputera>\<nazwa zasobu>”. Jest on widziany
jako zwykły katalog systemu Windows. <nazwa komputera> 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

Podobne dokumenty