Transportní
rámec Ethernetu
Datové přenosy jsou dnes prakticky součástí každé firmy či
organizace. Velmi často se setkáváme s problémy, které nelze často
detekovat a jsou svalovány na špatný hardware, nekvalitní aktivní
prvky či síťové adaptéry. Výsledkem je degradace přenosové
rychlosti sítě, chybný přenos s častými výpadky nebo prakticky
nepoužitelná počítačová síť.

Tvorba paketu a princip datového přenosu
V tomto článku se zaměříme na teorii datového přenosu na standardu
Ethernet. Vysvětlíme si nejdůležitější parametry přenosových rámců
a složení datových paketů. A v závěru se podíváme na možnost
jejich reálné analýzy. Zaměříme se pouze za globální - standardní
velikosti rámců, nikoli na jumbo frames, které je nutné optimalizovat
pro jednotlivé přenosové cesty samostatně.
|
preamble
|
adresa
určení (DA)
|
zdrojová
adresa (SA)
|
typ
paketu
|
data
|
CRC
|
|
8
bytes
|
6
bytes
|
6
bytes
|
2
bytes
|
od
46 až 1500 bytes
|
4
bytes
|
Preamble (preamble)
je velká a 64-bit (8 byte) která slouží k synchronizaci vysílající
stanice a přijímajících stanic. Toto synchronizační pole poskytuje signál, který umožní zasynchronizování generátoru
hodin přijímací strany. Nenese žádnou informaci a je k rámci připojeno ve vysílacích obvodech.
Do celkové délky rámce se nezahrnuje.
Destination Address (cílová adresa MAC)
je velká 48-bit (6 byte) obsahuje adresu nastavenou na desce adaptéru sítě stanice,
které je rámec určen. Může být individuální fyzická nebo skupinová. Zvláštní postavení má
všeobecná adresa (broadcast). Na ní vyslané rámce jsou přijaty na všech
stanicích v síti (například vysílání detekce serveru).
Source Address (zdrojová adresa MAC)
je velká 48-bit (6 byte) a uvádí fyzickou individuální adresu desky připojení sítě, která
rámec vyslala.
Type field (typ)
je velký 16-bit (2 byte) a typ zprávy je na této úrovni v podstatě nevyužit, jediný definovaný typ je určen pro diagnostické
testování.
Data Field (vlastní data)
mají délku od 46 do 1500 bytes. Minimální délka je stanovena proto, aby byl zaručen čas vysílání potřebný pro bezpečnou detekci případné kolize.
Poznámka: Ve starších sítích a internetu je považován za standard
Data Field = 576 bytes. Tato hodnota je ovšem v dnešních sítích na
standardu Fast Ethernet a Gigabit Ethernet neefektivní. Zpomaluje
komunikaci v síti přibližně o 15 až 20% proti hodnotě 1500 bytes.
CRC Field (FCS pole)
má velikost 32-bit error checking field (4 byte). Kontrolní pole rámce FCS (Frame Check Status) je kódové označení obsahu rámce hodnotou CRC
(Cyclic Redundancy Check). Při příjmu je hodnota CRC kontrolována a rámce, u kterých je zjištěn
nesouhlas, jsou označeny za chybné.
Formát
paketu (MTU)
Základní částí paketu je hlavička linkové vrstvy, která je následována
daty (včetně hlaviček vyšších vrstev). Hlavičky jsou principielně
4 typů a jsou vzájemně nekompatibilní. Tyto typy jsou :
- Ethernet_II
- pro Novell IPX/SPX, TCP/IP, a AppleTalk Phase 1 protocols. Ethernet
II rámce nepoužívá LLC hlavičku v oddílu pro data.
- Ethernet_802.3
- pro Novell IPX/SPX.
- Ethernet_802.2
- pro Novell IPX/SPX s podporou Logical Link Control (LLC) a FTAM (File
Transfer, Access, and Management.
- Ethernet_SNAP
- Sub-Network Access Protocol (SNAP) je modernější podobou rámce
Ethernet_802.2 s podporou IPX/SPX,
TCP/IP,
AppleTalk Phase 2 protocol a LLC.
Minimální velikost rámce: 64 bytes
Maximální velikost rámce: 1518 bytes (nezahrnuje 8 bytes preamble)
Protokol TCP/IP a IPX na datovém rámci Ethernet II
Je nejednodušším typem přenosu datových paketů protokolu TCP/IP nebo IPX na rámci Ethernet II.
|
preamble
|
adresa
určení (DA)
|
zdrojová
adresa (SA)
|
typ
paketu
|
data
|
CRC
|
|
8
bytes
|
6
bytes
|
6
bytes
|
2
bytes
|
od
46 až 1500 bytes
|
4
bytes
|
| |
celkem
14 bytes |
hlavička
TCP/IP - 20/20 bytes
IPX - 30 bytes |
vlastní
data
data - hlavička |
|
Hlavička
pro TCP / IP je 20 / 20 bytes (celkem 40 bytes). Maximální velikost
paketu uživatelských dat je 1460 bytes.
Hlavička
pro IPX protokol je 30 bytes. Maximální velikost paketu uživatelských
dat je 1470 bytes.
Pokud využijete rámec Ethernet_802.2
nebo Ethernet_SNAP
je oblast dat ještě z části obsazena údaji pro LLC.
Jak to vypadá v praxi pro TCP/IP na rámci Ethernet II (data nastavena na
1500 bytes)?
Pro analýzu lze využít celou řadu aplikací, my jsme využili BillSniff.
Nezapomeňte si napřed nainstalovat WinPcap.

Jak
to vypadá v praxi pro pakety IPX na rámci Ethernet II (ukázkově nastaveno
na 1486 bytes, doporučujeme 1500 bytes)?

Závěr?
Dodejme již pouze to, že hodnoty lze upravit v registru Windows.
Pro IPX protokol:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters\Adapters\kód
adaptéru, například: {16D5B8DC-180D-49B6-940C-645AB9E20E12}
Hodnota: MaxPktSize (standardně 0, autodetekce podle síťovky)
- hodnota definuje velikost oblasti data a hlavičky rámce (celkem 1500 +
14 bytes).
Pro TCP/IP protokol:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
Hodnota: MTU - hodnota definuje pouze velikost oblasti data (celkem
1500 bytes). Právě tato hodnota je určující pro definici tzv. MSS
(1500 - 40), která má kritický význam při optimalizaci TCP/IP
protokolu. Nejvyššího výkonu obecně dosáhneme sudým násobkem MSS.
Nám se nejvíc osvědčilo dlouhodobě 6 x MSS = 8760. Celý článek o
problematice IP sítí si můžete přečíst zde.
A co taková síť pak dokáže?
|