Chceš se vypracovat až k výdělku 160.000 Kč/měsíc? Důležité je začít. Staň se programátorem díky rekvalifikačnímu kurzu! Začni dnes!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 10 - Sítě - Ethernet a rozbočovače

V minulé lekci, Sítě - Fyzický přenos, MAC adresy a protokoly, jsme si vysvětlili, jak se fyzicky přenáší bity a co jsou to síťové karty. Následně jsme se podívali na MAC adresy a základní síťově protokoly.

Ethernet a sítě mezi více počítači

Pojďme se podívat na posílání dat mezi dvěma (a více) počítači. Zodpovíme si, jak se sestavuje takový datový rámec, aby cílový PC věděl následující: jestli je pro něj, odkud je, jaký typ dat nese, a jestli nebyl po cestě poškozen.

Posílání dat

Ať už posíláme přes síť cokoliv (textový dokument, obrázek, nebo třeba to, co napíšeme do Skypu), nemůžeme to prostě začít odesílat jako souvislý proud bitů. Proč? Takový datový proud není snadné přenést z jednoho místa na druhé bez poškození (např. v důsledku elektromagnetického záření se signál přeruší, nebo se zamění některé bity). U malých souborů to není nic tragického, ale pokud byste takhle poslali třeba film, tak na cílovém PC jej velmi pravděpodobně nedáte dohromady.

Jednoduše řečeno, většina souborů se v praxi "rozkouskuje" na menší díly, každý z nich se zabalí do samostatného balíčku, a pošle nezávisle na ostatních. O tom, jak přesně to funguje, si povíme v příštích dílech.

Ethernet

Ethernet je jedním z internetových protokolů, který definuje způsob, jak posílat data na lokální síti (tzn. mezi počítači doma, nebo ve firmě). Pro adresování (komu, od koho) používá již zmíněné MAC adresy (adresy konkrétních zařízení).

Dle tohoto protokolu se tedy data posílají v Ethernetových rámcích (Ethernet frame):

Ethernet frame - Základy sítí

Rámec proto, že jsou v něm „zarámované“ veškeré další informace. Kromě rámce ještě uslyšíte o paketu a datagramu, ale to až později. Pojďme si nyní rozebrat rámec po částech:

Preambule

Pokud nikdo nic neposílá, na síti je „ticho“ – napětí na kabelu je nulové. Preambule (kromě jiného) slouží k tomu, aby informovala cílový počítač, že se začíná posílat Ethernetový rámec. Vypadá takto:

10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011

Preambule je tedy 64 bitů dlouhá, a prvních 62 bitů jsou střídající se jedničky a nuly. Poslední dva bity (dvě jedničky) jsou signálem pro cílovou NIC, že hned za nimi následuje Ethernetový rámec.

Občas se preambulí myslí jenom prvních sedm bytů, a poslední byte (ten se dvěma jedničkami na konci) se označuje jako SFD (Start of Frame Delimiter – oddělovač začátku rámce).

Cílová a zdrojová MAC

Tohle je snad jasné – cílová MAC označuje síťovou kartu PC, kterému je rámec určený, zdrojová značí odesílatele. Pole jsou stejně dlouhé jako MAC adresa - tedy 48 bitů.

Typ/délka

Dalších 16 bitů je použito buď pro typ paketu v poli "Data", a nebo (pokud je hodnota v tomot poli nižší než 1500) pro specifikaci délky pole "Data". Oba způsoby jsou dnes využívány.

Data

Pole dat má délku od 46 bytů do 1500 bytů. Podrobně bude rozebíráno v průběhu seriálu.

Kontrolní součet

Nebo také FCS (Frame Check Sequence). Díky němu můžeme odhalit poškození rámce. Algoritmus pro výpočet FCS je schopný pro každý ethernetový rámec vygenerovat unikátní 32 bitové číslo, i kdyby se rámce lišily třeba jen o jediný bit.

Probíhá to tak, že na odesílající NIC se sestaví rámec, spočítá se kontrolní součet, a připojí se na konec rámce. Jakmile paket dorazí na cílovou NIC, ta znovu spočítá kontrolní součet a porovná svůj FCS s tím, který dorazil. Pokud jsou si FCS rovny, rámec je přijat. Pokud ne, rámec je zahozen (tzn. PC si o něj musí znovu říct, jinak by nemohl soubor korektně seskládat)

Posílání více rámců za sebou

Aby NIC mohla snadno odlišit jednotlivé rámce, vloží se mezi ně mezery. U Ethernetu je to mezera, která by odpovídala 96 bitům. (např. u 100 Mb/s Ethernetu se 1 bit odešle za sto-miliontinu sekundy, což je 10 nanosekund. Mezera je tedy 960 ns dlouhá)

Síť mezi více počítači

Prozatím jsme pro jednoduchost mluvili pouze o případech se dvěma PC (dvě NIC), které jsou přímo propojené, a mohou komunikovat pouze mezi sebou. Tato situace je však velmi neobvyklá. V typické domácí nebo firemní síti je několik počítačů (případně tiskárna), které jsou mezi sebou navzájem propojené, každý z nich může komunikovat se všemi ostatními. Všechny bývají ještě připojeny k routeru, který zajistí připojení k Internetu.

Samozřejmě nemůžeme propojit každý PC s každým, protože síťové karty mají jen jeden port, a i kdyby to šlo, představte si, že máte 20 zařízení – to dělá dohromady 190 kabelů! Řešením jsou zařízení zvané rozbočovače (hub) nebo přepínač (switch):

princip rozbocovace - Základy sítí

Uvnitř takového zařízení je každý jeho port (takže každé zařízení) propojen se všemi ostatními.

Rozbočovač - hub

Dnes se již nepoužívá. Jeho chování je velice primitivní – cokoliv do něj přijde, to rozešle na všechny ostatní porty. To znamená, že každá NIC, která je připojená do Hubu, přijme tento signál a každá se podívá do hlavičky Ethernetového rámce na cílovou MAC. Pokud je rámec pro ni, přijme jej. Pokud ne, zahodí jej. Nevýhody jsou tedy jasné (jedinou výhodou hubu je nižší cena):

  1. Zbytečně se zatěžují síťové karty (když máte síť s 5 PC a tiskárnou, tak jakmile jeden z nich chce tisknout, tak příkazy na tisk obdrží ostatní 4 PC a tiskárna, ale jenom tiskárna je přijme, zbytek je musí zahodit)
  2. Často dochází ke kolizím – 2 zařízení nemohou posílat signál zároveň po stejném kabelu (na kabelu vznikne přepětí a signál přestane dávat smysl). Příklad: PC 1 chce tisknout, ale v tu chvíli se PC 2 snaží připojit k routeru a dostat se na internet – na PC 1 tedy dojdou signály z PC 2, které musí zahazovat, a nemůže v tuto chvíli vysílat. Pokud PC 1 a PC 2 vyšlou signály v naprosto stejný moment, tak se signály „srazí“.

Přepínač - switch

Inteligentní nástupce Hubu. Switch a hub od sebe na první pohled nepoznáte, liší se tím, že switch místo bezhlavého rozesílání rámců na všechny porty dokáže rámec odeslat přesně na ten port, kde se nachází cílový PC. Switch ma v paměti uloženou tabulku, kam si zapisuje, která NIC je připojená na který port. Pomocí ní také rámce přeposílá. Tato tabulka se jmenuje MAC Address Table:

MAC address table - Základy sítí
Jak si switch zapisuje MAC adresy do tabulky?

Když si pořídíte switch, jeho MAC Address Table bude prázdná. Jak tam tedy ty záznamy dostane?

Když do switche připojíte zařízení, nic se neděje do doby, než začne některý počítač vysílat. Vysvětlím na příkladu: Do switche zapojíme dva PC a router (ten zajistí připojení k Internetu). PC 1 se nyní chce připojit na server facebook.com (což znamená, že požadavek půjde do routeru). Vyšle tedy rámec s žádostí. Rámec přijde na switch (která má momentálně prázdnou MAC Address Table), a v tu chvíli se switch podívá na zdrojovou MAC adresu v rámci, a na port, kterým do ní rámec přišel. Má tedy port a MAC, které může zapsat do tabulky. Switch se právě naučila, že na portu 1 se nachází PC 1.

Ale co má udělat se samotným rámcem? Protože v její MAC Address Table nemá MAC adresu a port routeru, musí se zachovat jako hub, a odeslat rámec na všechny ostatní porty. Router rámec přijme, a odešle požadavek na facebook.com.

O několik milisekund později přijde na router odpověď od serveru facebook.com s webovou stránkou. Router ví, že o tuto stránku si požádal PC 1. Přepošle tedy rámec s webovou stránkou na switch. A proces učení se opakuje – switch se podívá do zdrojové MAC v rámci, a naučí se, že router je na portu 3. A protože už ví, že PC 1 je připojený na portu 1, nemusí rámec posílat všem, ale přepošle jej pouze na port 1.

Tady je ilustrace takové komunikace (MAC adresy jsou pro jednoduchost zkrácené):

princip switch - Základy sítí

V příští lekci, Sítě - Address Resolution Protocol, si řekneme co je to IP adresa a jaký je její vztah s MAC adresou. Poté si ukážeme jak za pomoci ARP protokolu zjistit z IP adresy danou MAC adresu.


 

Předchozí článek
Sítě - Fyzický přenos, MAC adresy a protokoly
Všechny články v sekci
Základy sítí
Přeskočit článek
(nedoporučujeme)
Sítě - Address Resolution Protocol
Článek pro vás napsal Neaktivní uživatel
Avatar
Uživatelské hodnocení:
302 hlasů
Tento uživatelský účet již není aktivní na základě žádosti jeho majitele.
Aktivity