1. díl - Sítě - Fyzický přenos, MAC adresy a protokoly

Sítě Sítě - Fyzický přenos, MAC adresy a protokoly

[* *]Tento seriál je určen začátečníkům, kteří chtějí pochopit, jak spolu počítače (a další zařízení) komunikují po síti. Nenajdete zde zbytečnou teorii a budu odkazovat na konkrétní věci a zařízení, která máte pravděpodobně všichni doma. Stejně tak tady nepokryji veškerou oblast síťové komunikace, pouze to nejběžnější a pokud možno to, s čím můžeme přímo pracovat.

Jak se vlastně přenášejí bity?

Předpokládám, že víte, co je to bit, a že veškeré operace, které provádí komponenty počítače, se reprezentují v digitální podobě – tedy v rozdílech napětí, které zapisujeme jako jedničky a nuly.

Při komunikaci mezi dvěma zařízeními se bity přenášejí většinou (alespoň co se týče interiérových sítí, pro přenos na veliké vzdálenosti se používají jiné technologie) po měděných kabelech, které mají na obou koncích konektor RJ-45 (nebo také Ethernetový konektor).

Ethernet cable

Tento konektor se zapojuje do síťových karet (viz dále), které se starají o vysílání a přijímání signálu. Podoba Ethernetového signálu znázorněného v grafu napětí je následující:

ethernet encoding

Jak je vidět, síťová karta vysílá signál tak, že mění napětí na vodiči ze záporného na kladné a opačně. Změna napětí ze záporného na kladné je interpretováno jako 1, a změna z kladného na záporné jako 0. Tyto změny se měří v pravidelných časových intervalech – na grafu jsou tato místa vyznačena červenými tečkami.

Pokud síťová karta přijímá signál rychlostí 10 megabitů za sekundu (Mb/s), tak se změna napětí započítává každou deseti-miliontinu sekundy, a rozmezí mezi tečkami v grafu výše by bylo tedy 100 nanosekund. Nyní můžeme signál dekódovat:

decoded ethernet signal

Tento úsek signálu lze tedy zapsat jako 1110 0110 0111 0001 000. K tomuto se vrátíme ještě u Ethernetové preambule, ale to až v dalším díle.

Signály se mohou tedy přenášet pomocí elektřiny, ale také např. opticky – bity jsou reprezentovány jako různé intenzity světla, které putuje skrz optické kabely.

Síťová karta

Alias NIC (Network Interface Controller – řadič síťového rozhraní) je zařízení, které přijímá a vysílá digitální signály. Je to v podstatě počítač v počítači, neboť má vlastní RAM, úložiště, CPU atd. Protože běžné počítačové CPU nedokáže zpracovávat informace z ethernetového signálu, musí síťová karta zpracovat informace do takové podoby, aby byly srozumitelné pro daný procesor.:

NIC principle

Síťová karta na obrázku je samostatná karta, který se zasouvá do základní desky. V dnešní době jsou však síťové karty přímo integrované na základních deskách (stejně jako zvukové karty), a jsou tedy jejich nedílnou součástí.

Vyrábějí se standardně s rychlostmi 10/100/1000 Mb/s. Pokud karta podporuje rychlost přenosu 1000 Mb/s, tak by měla podporovat i předchozí dvě rychlosti kvůli kompatibilitě (to samé platí pro 100 Mb/s karty). Nicméně čistě 10 Mb/s karty dneska nenajdete, jedná se o velmi zastaralou technologii, a prakticky nic nekomunikuje po síti takovou rychlostí.

MAC adresy

Aby mohly NIC posílat signály ostatním síťovým kartám, potřebují nějaký jedinečný identifikátor, kterým se od sebe vzájemně odliší – např. jednotlivé domy se identifikují státem, obcí, ulicí a popisným číslem. Síťové karty používají k rozlišení MAC adresy (někdy také nazývané fyzické adresy), což je 48 bitů dlouhé číslo, které se zapisuje jako 6 dvojic šestnáctkových čísel oddělených dvojtečkami či pomlčkami. Příklady MAC adres jsou tedy 8f:23:1a:87:ec:d4 nebo 90:0a:ee:65:7d:81.

MAC adresa je při výrobě zapsána do paměti síťové karty, a je neměnná (což není pravda, MAC adresu lze sice změnit, ale to není záležitost základů)

Teoreticky vzato by každá NIC na světě měla mít jedinečnou MAC adresu. O jedinečnost se stará organizace IEEE, která každému výrobci síťových karet na světě přiřadí první polovinu MAC adresy – tato první část je pro každou síťovou kartu od daného výrobce stejná, takže slouží jako identifikátor výrobce. Druhou polovinu si určuje výrobce sám a slouží tedy jako ID samotné karty.

Př.: v MAC adrese 88:99:aa:11:22:01 je 88:99:aa ID výrobce, a 11:22:01 je ID samotné karty.

MAC adresu svého NIC můžete ve Windows zjistit například přes příkazový řádek pomocí příkazu ipconfig /all. V Linuxu použijte příkaz ifconfig.

ipconfig all

K některým údajům – konkrétně IPv4 adress, subnet mask, default gateway, DHCP a DNS se dostanu v průběhu seriálu.

Internetové protokoly

Výrobců síťového hardwaru je celá řada, a není možné, aby si každý definoval svoje technologie a způsoby komunikace – pak by síť postavená na technologiích jedné firmy mohla spojit pouze se sítěmi postavenými na téže technologii, a nikdy by se nepodařilo vytvořit globální Internet – tedy propojit všechny zařízení (PC, servery, síťové prvky).

Výrobci síťových zařízení se proto řídí doporučeními, které vydává IETF (ano, jsou to doporučení, ne standardy, nicméně ve vlastním zájmu se jimi řídí drtivá většina Internetu) – tyto doporučení se označují jako RFC dokumenty, a lze je najít na stránkách IETF: https://tools.ietf.org/, často na ně také odkazuje Wikipedie.

Jedná se tedy o dokumenty, které naprosto přesně popisují pravidla, jakým způsobem se mají posílat data, jak má vypadat infrastruktura sítí atd. (věci z tohoto článku jako MAC adresa, RJ-45 konektor nebo kabeláž jsou také popsané v RFC dokumentech). Výrobci konstruují svůj hardware přesně podle těchto doporučení, a to zajišťuje kompatibilitu.

Internetový protokol je potom souhrn pravidel pro nějakou část celkové komunikace internetu, a jeho popis může vydat na několik RFC dokumentů. Často je nějaký protokol vylepšen, ale RFC dokument, který popisuje jeho starou verzi, se nemaže! Vydá se nový dokument, který pouze odkazuje na ten starší.

Každý konkrétní protokol má samozřejmě svou specifikaci (většinou vydávaná skupinou IEEE nebo ISO), která popisuje jeho funkcionalitu a kterou musí výrobci dodržet, pokud chtějí o svém produktu prohlašovat, že daný protokol podporuje.

Jako příklad uvedu IP (Internet Protocol), ARP (Adress Resolution Protocol), TCP (Transmission Control Protocol), HTTP (Hypertext Transfer Protocol), nebo Ethernet – ten komunikuje právě za pomocí MAC adres, a bude rozebrán v následujícím díle.


 

  Aktivity (1)

Článek pro vás napsal Lukas C#
Avatar
Věnuji se IT spíše co se týče SW, baví mě programování v C#. Nejvíc mě však těší, když můžu pomáhat a učit ostatní :-)

Jak se ti líbí článek?
Celkem (37 hlasů) :
4.891894.891894.891894.891894.89189


 


Miniatura
Všechny články v sekci
Síťové technologie
Miniatura
Následující článek
Sítě - Ethernet a rozbočovače

 

 

Komentáře
Zobrazit starší komentáře (19)

Avatar
David Novák
Tým ITnetwork
Avatar
David Novák:

ISO/OSI je teoretický model, jak řešit celkovou komunikaci.

V praxi jsou ty horní tři vrstvy realizovány přímo danou aplikací (tj. http server si řídí navázání relace, podle protokolu čísluje jednotlivé balíčky dat apod.), proto se i v tom obrázku, co jsi dodal, spojují do jedné. ISO/OSI se ti ale hodí, pokud chceš vysvětlovat tu vyšší vrstvu dopodrobna, protože je tam ta funkcionalita rozdělená do tří vrstev.

Jinak technická - v obrázku máš 5 vrstev - fyzická, linková, síťová, transportní a aplikační ;)

Odpovědět  +1 16.9.2015 17:16
Chyba je mezi klávesnicí a židlí.
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na David Novák
Lukas C#:

ISO/OSI se ti ale hodí, pokud chceš vysvětlovat tu vyšší vrstvu dopodrobna

No tak to asi ne, protože o tom sotva něco vím :-) Ale rád se přiučím.

Fyzickou vrstvu nějak zapomínám počítat mezi vrstvy - vždyť je to jenom kabeláž a elektřina, ne?

Editováno 16.9.2015 17:32
 
Odpovědět 16.9.2015 17:31
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Lukas C#
Filip Šohajek:

Fyzická vrstva řeší celkový přenos signálu, modulace, multiplexování apod.

 
Odpovědět  +1 16.9.2015 18:04
Avatar
David Novák
Tým ITnetwork
Avatar
Odpovídá na Lukas C#
David Novák:

"Jenom" :D :D

A nezapomínej taky, že tam spadá například optika nebo bezdrátové sítě ;)

Odpovědět  +1 16.9.2015 19:46
Chyba je mezi klávesnicí a židlí.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Lukas C#
mkub:

ISO/OSI model patri tiez k zakladom a mal by sa spomenut hned na zaciatku, nie na konci

fyzicka vrstva je najnizsia zo vsetkych prenasa signal a na nom pracuje HUB, repeater a podobne,
na linkovej (co je vrstva hned nad fyzickej), tam zase funguje MAC a na tejto vrstve pracuje napr. switch
a TCP/IP model obe vrstvy spaja do jednej

 
Odpovědět 17.9.2015 2:11
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na mkub
Lukas C#:

JJ jasné. K čemu se vůbec tento (ať už ISO nebo TCP) model používá v praxi? (krom toho, že můžeme "škatulkovat" protokoly)

 
Odpovědět 17.9.2015 8:00
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na Lukas C#
Milan Křepelka:

V praxi se modely používají proto, že všichni zúčastnění přesně ví o čem mluví na nějaké obecné úrovni. Úroveň granurality nebo typu modelu je dána profesí.

Programátoři se můžou nimrat na úrovni protokolů, ale třeba někdo kdo se zabývá bezpečností, se může bavit nad tím, jak budou zabezpečeny jednotlivé elementy nižších vrstev.

 
Odpovědět  +1 17.9.2015 9:32
Avatar
Lako
Člen
Avatar
Lako:

Pěkný článek.
Jenom dodám:
Na získání mac adresy pod Windowsy je dobré použít příkaz getmac (není tam spoustu "balastu" který třeba zrovna nepotřebujete)

 
Odpovědět 5.10.2015 1:07
Avatar
Lukas C#
Redaktor
Avatar
Lukas C#:

Odpověď trošku pozdě, ale přece :-) Způsobů, jak přenést bity, je hromada. Podoba digitálního signálu není obecně daná - záleží na domluvě (standartu). To, co je v článku, je Manchester encoding, používané pro 10 Mb/s Ethernet (takže zastaralé). Viděl jsem to ve videolekci - přednášející rozpitval Ethernetový kabel, na vnitřní vodiče napojil přístroj na měření napětí, a prostě se připojil na nějaký web (poslal rámec na router) - a na displeji měříče se zobrazoval takovýto graf.

 
Odpovědět 10.10.2015 22:59
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:

Ty nejseš elektrotechnik viď? Tomu "přenosu" se říká kódování a tomu přístroji se říká osciloscop a napětí měří jen jako "bokovku"

 
Odpovědět 11.10.2015 8:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 29. Zobrazit vše