[[oktatas:hálózat:cisco_szerint_a_hálózat|< Cisco szerint a hálózat]] ====== Ethernet ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2018 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Fogalmak ===== ==== VLAN ==== A VLAN a Virtuális LAN rövidítése. Egy LAN hálózaton belül több virtuális hálózatot hozunk létre, amelyek úgy működnek, mintha valóban különálló hálózatok lennének. ===== Az Etherent működése ===== Az Ethernet a legelterjedtebb LAN technológia. A következő szabványok tartoznak ide: * IEEE 802.2 * IEEE 802.3 A csomagokat keretekbe ágyazzuk, ahol a következő funkciókat látjuk el: * keret határolás * A bitek határait jelölni kell a szinkronizálás miatt * címzés * A keretbe helyezzük el a MAC címet. * hibaelhárítás * A keret egy ciklikus redundancia ellenőrzést tartalmaz, CRC használatával. Az MAC al-réteg feladata a bitek fizikai közegre írása, illetve annak olvasása. Az Etherent logikailag sín (vagy busz) topológián alapszik. Ez azt jelenti, hogy az azonos hálózati szegmensen elhelyezkedő eszközök osztoznak a közegen. ===== MAC cím ===== A MAC cím elvileg az egész világon egyedi. A számok kiadását az IEEE végzi. Minden gyártó rendelkezik egy 3 bájtos azonosítóval. Ezt nevezzük OUI számnak. Az utolsó három bájt a NIC azonosító. ^ gyártó ^ interfész ^ | OUI | NIC | | 24 bit | 24 bit | | 00-8f-23 | 4a-fb-03 | ===== Keretek továbbítása ===== {{:oktatas:hálózat:cisco_szerint_a_hálózat:keret_tovabbitas.png?400|}} ===== Ethernet szabványok ===== | 1973 | Etherent | Dr. Robert Metcalf -- Xerox Corp. | | 1980 | DIX \\ Etherent II | Digital Equipment Corp. | | 1983 | IEEE 802.3 \\ 10 BASE-5 | 10 Mb/s Ethernet \\ vastag koaxiális kábel | | 1985 | IEEE 802.3a \\ 10 BASE-2 | 10 Mb/s Ethernet \\ vékony koaxiális lábel | | 1990 | IEEE 802.3i \\ 10 BASE-T | 10 Mb/s Ethernet \\ csavartérpár (TP) | | 1993 | IEEE 802.3j \\ 10 BASE-F | 10 Mb/s Ethernet \\ üvegszálas optikai | | 1995 | IEEE 802.3u \\ 100 BASE-xx | 100 Mb/s Ethernet \\ csavartérpár | | 1998 | IEEE 802.3z \\ 1000 BASE-X | Gigabit Ethernet \\ optikai üvegszálon | | 1999 | IEEE 802.3ab \\ 1000 BASE-T | Gigabit Ethernet \\ csavartérpáron | | 2003 | IEEE 802.3ae \\ 10G BASE-xx | 10 Gbit/s (1,250 MB/s) Ethernet fényvezető szálon | | 2006 | IEEE 802.3an \\ 10G BASE-T | 10 Gigabit Ethernet \\ csavartérpáron | ===== Mezőméretek bájtban ===== Kétféle keretezés létezik. Az egyik az IEEE 802.3-as, a másik a DIX -- Ethernet II. ^ IEEE 802.3 ^^^^^^^ | 7 | 1 | 6 | 6 | 2 | 46 -- 1500 | 4 | | előtag | start \\ bit | cél \\ cím | forrás \\ cím | hossz | 802.2 fej \\ adat | ellenőrző \\ összeg | ^ DIX -- Ethernet ^^^^^^^ | 8 | 6 | 6 | 2 | 46 -- 1500 | 4 | | előtag | cél \\ cím | forrás \\ cím | típus | 802.2 fej \\ adat | ellenőrző \\ összeg | Az Etherent II. és a IEEE 802.3 szabvány minimum és maximum értékei: * minimum 64 bájt * maximum 1518 bájt Az értékek magában foglalják az összes bájtot MAC-cím mezőtől az ellenőrző összegig. Az előtag és a keretező mező nincs a keret méretében. Ha egy keret 64 bájtnál kisebb ütközési keretnek tekintendő, amelyet az állomások automatikusan eldobnak. 1998-ban IEEE 802.3ac szabványban kiterjesztették a keret maximális méretét 1522-re. Ez plusz 4 bájt. Ennek segítségével a keret lehetővé teszi a virtuális helyi VLAN használatát. Lehetővé válik a QoS, azaz a felhasználói prioritás használata. 4 bájt QoS és VLAN számára. {{:oktatas:hálózat:cisco_szerint_a_hálózat:negy_bajt_qos_vlan_ieee_802_3ac.png?400|}} ===== A keret 5-dik mezője ===== A keret ötödik mezője most akkor hossz vagy típus? Valahogy meg kell különböztetni az IEEE 802.3 és az Ethertnet II keretet. A következő szabályt vehetjük figyelembe: * Ha az érték >= 1536, akkor típus * Ha az érték <= 1500, akkor hossz Az 1536 hexadecimálisan 0x0600, az 1500 pedig 0x05DC. ===== Az adatmező ===== ^ IEEE 802.3 ^^^^^^^ | 7 | 1 | 6 | 6 | 2 | 46 -- 1500 | 4 | | előtag | start \\ bit | cél \\ cím | forrás \\ cím | hossz | 802.2 fej \\ adat | ellenőrző \\ összeg | Az adatmező 45-1500 bájt között lehet. Tartalma a harmadik rétegből egy csomag, amely általában IPv4. A keret minimális mérete 64 bájt. Ha túl kicsi, a minimális méretre növeljük, kitöltővel (pad). ===== Az FCS mező ===== A CRC összeget kiszámolja a küldő, majd beteszi az FCS mezőbe. A fogadó is kiszámítja, majd összehasonlítja. ===== Ethernet MAC ===== ==== Windowson ==== ipconfig /all [...] Fizikai cím ..................: 08-00-27-1B-61-0C [...] [...] Physical Address ……….: 00-22-F2-83-F2-C4 [...] ==== Linuxon ==== ifconfig [...] HWaddr bc:5f:f4:7e:38:5d [...] ip address show [...] link/ether 00:25:22:f1:4e:07 [...] ==== Cisco IOS ==== R1#show interface GigabitEthernet 0/0 [...] 0007.ec3e.d501 [...] ==== Ethernet címzés ==== * egyedi címzés * szórásos címzés * csoportos címzés {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_unicast_servernek.png?400|}} A szórásos (broadcast) cím: FF-FF-FF-FF-FF-FF. Ezt használja a DHCP és az ARP is. Az IP cím ilyenkor csupa 1-es. {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_broadcast.png?400|}} A multicast IPv4 címtartomány a következő: 224.0.0.0 -- 239.255.255.255. Csak célként használható tartomány. Multicast esetén a MAC cím mindig így kezdődik: 01-00-5e. A végzdőése a csoportos IP cím alsó 23 bitjét átalakítjuk 6 hexadecimális karakterré. {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_multicast.png?400|}} ===== Az Ethernet MAC és az IP ===== A hálózaton az eszközök két címmel rendelkeznek: * fizikai cím, azaz MAC cím * logikai cím, azaz IP cím A helyi hálózatban használjuk a MAC címet, az egész Interneten az IP címet. A fizikai címet az IP cím alapján kapjuk meg. De hogyan kapjuk meg az IP címet? Az IP cím tartománynév alapján kerül meghatározásra. Ehhez a programok a DNS (Domain Name System) rendszert használják. A tartománynévből (domain név) derül ki, hogy hova kell küldeni. A tartománynevet általában a felhasználó adja meg. 208.110.105.22 zold.hu Egy adat, amely a hálózaton utazik tartalmaz MAC és IP címeket: | cél MAC \\ AA:AAA:AA:BB:BB:BB | forrás MAC \\ AA:AA:AA:AA:AA:AA | forrás IP \\ 196.198.22.87 | cél IP \\ 205.124.100.35 | adat | utótag | Melyik hálózati eszköz mit használ ebből? * PC, laptop stb. (végberendezések): MAC cím * Switch: MAC cím * Router: IP cím ===== ARP ===== ==== Az ARP ==== Az ARP az Address Resolution Protocol rövidítése. Címmeghatározó protokollnak nevezhetjük. A következő funkciókat biztosítja: * IPv4 cím és MAC cím összerendelés * táblázatban nyilvántartás vezetése A keretek továbbítás előtt ki kell deríteni mi a címzett MAC címe. Ezt az IP címből derítjük ki. Ezen a szinten (2. hálózati réteg) tudjuk mi az IP cím, csak meg kell kérdezni a hálózaton kinek van ilyen IP címe, és mi az ő MAC címe. ==== Példa 01 ==== A következő példában A gép szeretne C gépnek üzenetet küldeni. Az A gép ezért egy ARP szórást indít a hálózaton. Az ARP kérésben a cél MAC cím ilyenkor: **FFFF.FFFF.FFFF**. A forrás cím, természetesen saját MAC címe. {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_cim_felderites_01.png?400|}} Ez az üzenetet mindenki megkapj: {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_cim_felderites_02.png?400|}} Akinek nem szól az eldobja. A célgép megtartja és válaszol a forrásnak, elküldve saját MAC címét: {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_cim_felderites_03.png?400|}} Ha meg van a MAC cím A gép elindítja a tényleges üzenetet, eltárolja a MAC cím táblájában az IP cím MAC cím összerendelést, egy darabig. {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_cim_felderites_04.png?400|}} A MAC cím IP cím alapján történő felderítését nevezzük ARP protokollnak. A hálózati eszközök egy táblázatot tartanak fenn a kiderített MAC és IP cím összerendelések számára. Egy IP cím MAC cím összerendelés két módon kerülhet a táblázatba: * az eszköz mindig figyeli a forgalmat, ha kap egy összerendelést feljegyzi * ARP kérést küld Az ARP táblázatban minden bejegyzés időbélyeggel van ellátva. Ha egy címről nem jön keret adott ideig, a táblából törlésre kerül. ==== Nem válaszol a cél ==== Mi történik, ha egy ARP kérésre nem érkezik válasz? A csomag eldobásra kerül, a felsőbb rétegekbe egy értesítés indul. ==== Küldés más hálózatba ==== A cél IP cím nem a helyi hálózaton van, akkor az alapértelmezett átjáró felé kell küldeni az adatokat. Ez általában egy router. Az ARP protokollnak ekkor a router MAC címét kell kiderítenie. Az alábbi ábrán láthatjuk, hogy a router g0/0 nevű interfészen fogadja az adatokat. {{:oktatas:hálózat:cisco_szerint_a_hálózat:mac_cim_atjaroval.png?400|}} A router a s0/0/0 interfészen küldi tovább, de a keretben már az s0/0/0 interfész MAC címe szerepel majd. ==== ARP kezelése az egyes operációs rendszereken ==== === Windows === * egy MAC cím táblában tartásának ideje: 2 perc * ha használja bejegyzést, akkor kap még +10 percet ARP tábla megjelenítése: arp -a C:\Users\janos>arp -a Kapcsolat: 192.168.5.101 --- 0xb Internetcím Fizikai cím Típus 192.168.5.1 a0-f3-c1-d7-5c-7a dinamikus 192.168.5.5 bc-5f-f4-7e-38-5d dinamikus 192.168.5.255 ff-ff-ff-ff-ff-ff statikus 224.0.0.2 01-00-5e-00-00-02 statikus 224.0.0.22 01-00-5e-00-00-16 statikus 224.0.0.252 01-00-5e-00-00-fc statikus 239.0.0.1 01-00-5e-00-00-01 statikus 239.255.255.250 01-00-5e-7f-ff-fa statikus 255.255.255.255 ff-ff-ff-ff-ff-ff statikus C:\Users\janos> ARP bejegyzés törlése arp -d 192.168.5.5 Az egész ARP tábla törlése (csak rendszergazdai joggal): arp -d * === Linux === ARP tábla megjelenítése: arp root@mars:~# arp Address HWtype HWaddress Flags Mask Iface 192.168.5.101 ether 08:00:27:1e:10:79 C enp1s0 192.168.5.1 ether a0:f3:c1:d7:5c:7a C enp1s0 root@mars:~# ARP bejegyzés törlése: arp -d 192.168.5.101 === Cisco IOS === ARP tábla megjelenítése: R1#show ip arp ===== ARP problémák ===== * ARP kérések nagyon megterhelhetik a hálózatot, ha egyszerre nagyon sok érkezik. * Az ARP és IP cím összerendelések meghamisíthatók. Ezt nevezzük ARP-spoofingnak. Az ARP-spoofing kezelésében a swith használata már egy kezdetleges megoldást nyújt, mivel tanul. A swith első arp kérést még mindenhova továbbítja, de tanulás után már csak arra a portra küldi az ARP üzeneteket, ahol a cél és a forrás kommunikál. ===== A switch működése ===== A switchek a 2. hálózati réteben (Layer 2) dolgoznak. Az Ethernet ugyan sín topológia alapján működik, de a switchek minden egyes kapcsolatot külön kezelnek pont-pont alapon. A tanulási folyamat után a switch MAC cím alapján szűr, és csak azokra a portokra küldi ki az adatokat, ahol az adott eszköz található. A kapcsoló ehhez egy MAC címtáblát épít. A kapcsolók az egyes portokon kétféle üzemmódban képesek működni: * fél-duplex * duplex ===== Kétféle kapcsolás ===== * Tárol-és-továbbít (store-and-forward) * közvetlen kapcsolás (cut-through) ==== Tárol és továbbít ==== Pufferben tárolja a keretet, amíg az teljesen meg nem érkezik. Megérkezés után hibaellenőrzés következik. QoS esetén ez nélkülözhetetlen. A main kapcsolók csak ezt használják. ==== Közvetlen kapcsolás ==== A keretet részeit azonnal továbbítja, még az egész keret megérkezése előtt. Hátránya, hogy hibás keretek is továbbításra kerülnek így. A közvetlen kapcsolásnak két módja létezik: * gyors-kapcsolás * leggyorsabb, mivel legkisebb a késleltetés * töredékmentes kapcsolás * az első 64 bájt megvárja, amíg letöltődik * így van egy fajta hibaellenőrzés * a tárol és továbbít és a gyors-kapcsolás között Van olyan kapcsoló, amelyik alapból közvetlen kapcsolást használ, de ha túl sok hiba van, akkor átkapcsol tárol és továbbít módba. A hibák arányának csökkenése esetén vissza vált közvetlen továbbításra. ===== Layer 3 kapcsoló ===== A csomagtovábbítási döntésekhez IP címeket is használ. Azt is megtanulja melyik porthoz milyen IP cím tartozik. Képes forgalomirányításra is. {{:oktatas:hálózat:cisco_szerint_a_hálózat:layer_3_kapcsolo.png?400|}}