Az interfészt leíró ajánlás, szabvány elemei:
Szolgálatok
A MAC alréteg fő funkciói a következőkben foglalhatók össze:
Az LLC alréteg a következő három szolgálatot nyújthatja a hálózati réteg felé:
Rokon adatkapcsolati protokollok:
ARP, BSC, FR, FDDI, GPRS, LAPB, LAPD, LCP, PPP, Spanning tree, SNAP, V5
Keretformátumok
Az alap keretet az idők folyamán sokféleképpen egészítették ki különféle alkalmazásokhoz.
bytes Ethernet +================|===============+ 6 | DA Destination address | pl: 000a5e-49ef33 MAC address: | network order: első byte msb | az első elküldött byte: 00 | | legfelsó bit: 0 - közönsßges cím | | 1 - csoportcím +--------------------------------+ 6 | SA Source address | pl: 000a5e-49f1ff +--------------------------------+ | | pl: 0500 < 0600- length 2 | PT Payload type (Length/Type) | pl: 0800 - IP frame | Frame type is: | | Ethernet II. frame if PT=Type | | 802.3 frame if PT=Length | | | +================================+ | | | pl: IP frame | | C-data MAC client data field | 46-1500| (IPv4 frame) | | +--------------------------------+ | | PAD | töltelék a rövid adatmező kiegészítésére +==============|=================+ FCS minimális kerethossz: a célcím kezdetétől az FCS végéig: 64 byte többes küldés: multicast üzenetszórás: broadcast -> cím: csupa egyesEgy példa, ahogy a protokollteszter látja:
DLC: ----- DLC Header ----- DLC: DLC: Frame 1 arrived at 13:33:50.8135; frame size is 1514 (05EA hex) bytes. DLC: Destination = Station 000A5E4D7A1C DLC: Source = Station 000A5E49EF33 DLC: Ethertype = 0800 (IP) DLC: ADDR HEX ASCII 0000: 00 0a 5e 4d 7a 1c | 00 0a 5e 49 ef 33 | 08 00 14 byte802.3/Ethernet tagged MAC frame (IEEE 802.3 section 3.5) (tagged frame)
VLAN kialakításakor ezt a kerettípust használjuk.
bytes Ethernet header +================|===============+ 6 | DA Destination address | pl: 000a5e-49ef33 MAC address: | network order: első byte msb | az első elküldött byte: 00 | | legfelsó bit: 0 - közönsßges cím | | 1 - csoportcím +--------------------------------+ 6 | SA Source address | pl: 000a5e-49f1ff +--------------------------------+ 4 | QTag Prefix | IEEE 802.1Q VLAN Tag +--------------------------------+ 2 | PT Lenght/Type | pl: 0800 - IP frame +================================+ | | | pl: IP frame | | C-data MAC client data field | 46-1500| (IP frame) | | +--------------------------------+ | | PAD | töltelék a rövid adatmező kiegészítésére +==============|=================+ FCSEgy példa, ahogy a protokollteszter látja:
DLC: ----- DLC Header ----- DLC: DLC: Frame 1 arrived at 17:24:04.5255; frame size is 77 (004D hex) bytes. DLC: Destination = Station 000E0CBBE136 DLC: Source = Station Fujtsu5AE149 DLC: 8021Q: ----- 802.1Q Packet ----- QTag prefix 8021Q: 8021Q: Tag Protocol Type = 8100 8021Q: Tag Control Information = 0002 8021Q: User Priority = 0 8021Q: Tunnel Type = 0 (Ethernet frame) 8021Q: VLAN ID = 2 8021Q: Ethertype = 0800 (IP) 8021Q: ADDR HEX ASCII 0000: 00 0e 0c bb e1 36 | 00 e0 00 5a e1 49 | 81 00 00 02 | ...ťá6.ŕ.ZáI... 0010: 08 00 | 45 00 00 3b 26 56 00 00 80 11 7a 9c 0a 0a | ..E..;&V...z.. 0020: 01 69 98 42 f6 0a 04 17 00 35 00 27 cd 03 6b e6 | .iBö....5.'Í.kć 0030: 01 00 00 01 00 00 00 00 00 00 03 77 77 77 06 67 | ...........www.g 0040: 6f 6f 67 6c 65 02 68 75 00 00 01 00 01 | oogle.hu.....A QTag prefix két paramétert tartalmaz VLAN-ok kialakításához:
A VLAN-ok világában három kerettípus létezik:
802.3/Ethernet frame with LLC header (Bridged Ethernet) (RFC 2684 old RFC 1483)
Ezt a kerettípust használják Ethernet keretek egységbe zárásához és ezután ATM AAL5 keretekben történő továbbításához.
bytes +================================+ ----- LLC header (8 byte) 1 | DSAP | AA +--------------------------------+ 802.2 LLC 1 | SSAP | AA +--------------------------------+ 1 | CONTROL | 03 +--------------------------------+ ----- 3 | org code | 00-80-C2 +--------------------------------+ 802.2 SNAP 2 | Type | 00-01 +================================+ ------ Ethernet payload 6 | DA Destination address | +--------------------------------+ 6 | SA Source address | +--------------------------------+ 2 | PT Type | | +--------------------------------+ | | | | | MAC client data field | 38-1500| | +--------------------------------+ | | PAD | töltelék a rövid adatmező kiegészítésére +--------------------------------+ | LAN FCS | +==============|=================+ AAL5 frame trailer SNAP - (Sub Network Access Protokoll)PPPoE Ethernet frame (IETF RFC 2516)
A PPP üzeneteinek továbbítására használt Ethernet keret.
(A method for encapsulating multi-protocol datagrams.)
bytes Ethernet +=================|==============+ 6 | DA Destination address | +--------------------------------+ 6 | SA Source address | +--------------------------------+ 2 | PT Type | 0x8863 (PPPoE Discovery) | | 0x8864 (PPPoE Session) +================================+ 1 | PPPoE VER/TYPE | 1/1 +--------------------------------+ 1 | PPPoE CODE | PADI, PADO, PADR, PADS (Discovery) | | DATA -> PPP +--------------------------------+ 2 | PPPoE SESSION_ID | +--------------------------------+ 2 | PPPoE LENGTH | +================================+ | | | | | MAC client data field | 46-1500| (PPPoE payload = PPP, IPCP, IP | | +--------------------------------+ | | PAD | +==============|=================+ FCSA PPPoE Discovery üzenetei (PPPoE Server keresése):
A PPPoE Session üzenetei:
Egy példa, ahogy a protokollteszter látja:
No. Time Source Destination Protocol Info 19 305.883184 ZyxelCom_a0:b4:cf Broadcast PPPoED Active Discovery Initiation (PADI) Frame 19 (64 bytes on wire, 64 bytes captured) Arrival Time: Jun 26, 2009 10:18:59.185764000 [Time delta from previous captured frame: 16.444866000 seconds] [Time delta from previous displayed frame: 16.444866000 seconds] [Time since reference or first frame: 305.883184000 seconds] Frame Number: 19 Frame Length: 64 bytes Capture Length: 64 bytes [Frame is marked: True] [Protocols in frame: eth:pppoed] [Coloring Rule Name: Broadcast] [Coloring Rule String: eth[0] & 1] Ethernet II, Src: ZyxelCom_a0:b4:cf (00:13:49:a0:b4:cf), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Destination: Broadcast (ff:ff:ff:ff:ff:ff) Address: Broadcast (ff:ff:ff:ff:ff:ff) .... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast) .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default) Source: ZyxelCom_a0:b4:cf (00:13:49:a0:b4:cf) Address: ZyxelCom_a0:b4:cf (00:13:49:a0:b4:cf) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type: PPPoE Discovery (0x8863) PPP-over-Ethernet Discovery 0001 .... = Version: 1 .... 0001 = Type: 1 Code: Active Discovery Initiation (PADI) (0x09) Session ID: 0x0000 Payload Length: 20 PPPoE Tags Service-Name: TVLPPPoE Host-Uniq: 31303032 0000 ff ff ff ff ff ff 00 13 49 a0 b4 cf 88 63 11 09 ........I....c.. 0010 00 00 00 14 01 01 00 08 54 56 4c 50 50 50 6f 45 ........TVLPPPoE 0020 01 03 00 04 31 30 30 32 01 1a 0d 2f 01 1a 0e 2f ....1002.../.../ 0030 01 1a 0f 2f 01 1a 10 2f 01 1a 11 2f 01 1a 12 2f .../.../.../.../PPP/HDLC frame: (IETF RFC 1662)
HDLC +--------------|-----------------+ | Address | 0xFF (Broadcast) +--------------------------------+ | Control | 0x03 (Unnumbered information) +--------------------------------+---- | PPP type | | +--------------------------------+ | | PPP Protocol | PPP frame +--------------------------------+ | | PPP information | | +--------------------------------+---- | PAD | +-----------|--------------------+ FCSA PPP (Point-to-Point Protocol) (IETF RFC 1661)
Két hálózati csomópont közti közvetlen kapcsolat felépítésére használható protokoll. Számos fizikai hálózaton: soros vonal, vezetékes és mobil telefon vonal és trönk, optikai link használható. Leggyakoribb alkalmazása: Internet szolgáltató és felhasználó összekapcsolása ADSL hálózaton.
Szolgálatok:
A protokoll részei
A PPP állapotai:
A PPP továbbítására használt keretek (encapsulation):
Az ARP (Address Resolution Protocol) (IETF RFC 826)
Az ARP az adatkapcsolati réteg egy protokollja. Elsődleges funkciója, hogy a hierarchikus kiosztású, hálózatfüggő IP-címet flat címzési struktúrájú, hordozható MAC-címre oldja fel, hiszen az Ethernet-frame-eket eszerint címezzük meg.
A hálózati interface-ek alapértelmezés szerint ugyanis csak azokat a kereteket dolgozzák fel és továbbítják a felsőbb rétegbe a benne található PDU-t, amelyben a cél MAC-címe megegyezik a sajátjukkal. Így nem elegendo tudnunk az adott hálózati csomópont IP-címét, hogy csomagot küldjünk neki, mert csak akkor fogja megkapni, ha a saját MAC-címét találja a keretben.
Egy ismeretlen MAC-cím megszerzésére szolgál az ARP. Ha a legegyszerubb esetet vesszük, ahol az A host csomagot szeretne küldeni a vele azonos alhálózaton lévo B hostnak, akkor a muködési módja a következo: 1. Az A host üzenetszórásban lekérdezést típusú ARP csomagot küld ki a hálózati interface-én. Az üzenetszóráshoz az FF:FF:FF:FF:FF:FF MAC-címet használja. Az ARP csomagban megadja a saját IP és MAC címeit, illetve beleteszi B IP-címét, B MAC-címének helye üres marad. Az Operation mezo értéke 1. 2. Az alhálózaton az összes hálózati interface veszi az elozo csomagot, de csak B lesz az, amelyik feldolgozza: ugyanabban a csomagstruktúrában válaszol, kitölti a rendelkezésre álló mezoben a saját MAC-címét. A válaszcsomag unicastban megy a kérdezonek. Az Operation mezo értéke 2. 3. A lekérdezo az eredményt az ún. ARP-táblában tárolja (ARP-cache). A tárolt információ az IP-cím, MAC-cím párok mellett egy TTL (Time-to-Live) mezo is, amelynek lejárta után törlodhet a bejegyzés. Ennek tipikus értéke 20 perc. Bonyolultabb helyzet, ha A és B más alhálózaton találhatóak. Ekkor a közöttük található R router közvetít kettejük között, vagyis a másik ha A-ból a B-be szeretnénk csomagot küldeni, akkor az Ethernet-cím az R routeré lesz, azonban a csomagban az IP-cím a B-é. Az R a csomag feldolgozása során érzékeli, hogy az IP-szám nem hozzá tartozik, tehát a routing táblához fordul feloldásért. Az ARP csomag szerkezete (ARP kérés vagy válasz esetén, Ethernet és IPv4 adatkapcsolati és hálózati protokoll) Ethernet transmission layer: 48 bit: Ethernet address of destination 48 bit: Ethernet address of sender 16 bit: Protocol type = 0x0806 Ethernet packet data: 16 bit: Hardware address space (e.g., Ethernet = 1) 16 bit: Protocol address space. IPv4 = 0x0800. 8 bit: Byte length of each hardware address (Ethernet esetén = 6). 8 bit: Byte length of each protocol address (IPv4 esetén = 4). 16 bit: Operation code (REQUEST = 1| REPLY = 2) 6 bytes: Hardware address of sender of this packet. 4 bytes: Protocol address of sender of this packet. 6 bytes: Hardware address of target of this packet (if known). 4 bytes: Protocol address of target. Az Inverse ARP (RFC 2390) arra szolgál, hogy egy másik node-nak a második rétegbeli címe ismeretében a harmadik rétegbeli címét megkapjuk. Elsosorban Frame Relay vagy ATM hálózatokban használatos. Az ARP kiegészítéseként muködik, a csomagstruktúrában az O peration mezo különbözik (kérés esetén 8, válasz esetén 9 az értéke). A Reverse ARP (RFC 903) arra szolgál, hogy egy csomópont a SAJÁT 3. rétegbeli címét megkapja a 2. rétegbeli cím ismeretében. Ugyanazzal a csomagstruktúrával muködött, mint az ARP, az Operation mezo értékei 3 illetve 4 (kérdés, illetve válasz esetén). Hasz nálatát elobb a BOOTP, majd a DHCP váltotta ki. Az ARP egyéb kiterjesztéseit itt most nem részletezzük, de érdekességként megjegyezzük, hogy például az IP-szám konfliktusok felderítésére is ezt használjuk (ld. RFC 5227).