Ethernet, MAC adresleri, switch ve ARP
Ethernet çerçevesinin alanları, minimum ve maksimum boy, 48 bitlik MAC adresinin yapısı, switch'in öğrenme tablosu, ARP ile IP'den MAC'e geçiş ve bunlara karşı ARP spoofing, MAC flooding gibi saldırılar.
Önceki sayfada paylaşımlı kanalda kimin konuşacağını gördün. Bugün kablolu LAN’ların neredeyse tamamı Ethernet, ve modern Ethernet’te hostlar bir switch’e tek tek bağlı. Bu sayfa link katmanının “adres” tarafını anlatır: MAC adresleri, switch’in nasıl öğrendiği ve IP adresinden MAC adresine nasıl geçildiği (ARP). Dersin güvenlik yarısında çok kez geri döneceğin bir sayfa, çünkü bu katmandaki protokoller kimlik doğrulama yapmaz.
Altın kurallar:
- Ethernet çerçevesi 64 ile 1518 byte (preamble hariç). Payload en az 46 byte; eksikse doldurulur.
- Switch kaynak adresi öğrenir, hedef adrese göre iletir.
- ARP isteği broadcast, cevabı unicast.
- IP adresi uçtan uca aynı kalır, MAC adresi her linkte değişir.
Ethernet çerçevesi
+----------+---------+---------+------+--------------+-----+
| Preamble | Dst MAC | Src MAC | Type | Payload | FCS |
| 8 byte | 6 byte | 6 byte | 2 B | 46-1500 byte | 4 B |
+----------+---------+---------+------+--------------+-----+
| Alan | Görev |
|---|---|
| Preamble | 7 byte 10101010 + 1 byte 10101011 (SFD). Alıcı saatini senkronlar. Çerçeve boyuna sayılmaz. |
| Dst / Src MAC | Hedef ve kaynak arayüz adresi |
| Type (EtherType) | Payload’daki protokol: 0x0800 IPv4, 0x0806 ARP, 0x86DD IPv6 |
| Payload | Genelde bir IP datagramı. MTU = 1500 byte |
| FCS | CRC-32 (3. hafta). Hatalı çerçeve sessizce atılır |
Ethernet bağlantısızdır (connectionless) ve güvenilmezdir (unreliable): el sıkışma yok, ACK yok. CRC tutmayan çerçeve atılır; kaybı fark etmek üst katmanın (TCP) işi.
Boylar ve padding
Minimum: byte. Bu sınır önceki sayfadaki CSMA/CD minimum çerçeve kuralından gelir (512 bit). 20 byte’lık bir datagram için byte doldurma (padding) eklenir.
Maksimum: byte.
Verim
Kabloda her çerçeveden önce 8 byte preamble ve sonra 12 byte’lık çerçeveler arası boşluk (inter-frame gap) vardır.
Max payload (1500) : 1500 / (1518 + 8 + 12) = 1500 / 1538 = %97.53
Min payload (46) : 46 / (64 + 8 + 12) = 46 / 84 = %54.76
1518 B @100 Mbps : 12,144 bit / 10^8 = 121.44 us
MAC adresleri
MAC (LAN, fiziksel) adresi 48 bittir ve onaltılık yazılır: 3C:22:FB:10:A4:7E. Ağ kartına (NIC) üretimde yazılır, ama yazılımla değiştirilebilir (bu bir güvenlik konusu).
| Kısım | Bit | Anlam |
|---|---|---|
| OUI | ilk 24 | IEEE’nin üreticiye verdiği önek |
| NIC’e özgü | son 24 | üreticinin atadığı seri |
| I/G biti | ilk byte’ın en düşük biti | 0 unicast, 1 grup (multicast) |
| U/L biti | ilk byte’ın ikinci düşük biti | 0 global (üreticiden), 1 yerel atanmış |
ilk byte ikili I/G U/L tür
0x00 00000000 0 0 unicast, global
0x01 00000001 1 0 multicast (01:00:5E -> IPv4 multicast)
0x3A 00111010 0 1 unicast, yerel atanmış (rastgele MAC)
0xFF 11111111 1 1 FF:FF:FF:FF:FF:FF = broadcast
MAC ile IP farkı. MAC adresi sosyal güvenlik numarası gibi düz bir kimliktir, yer bilgisi taşımaz; laptop hangi ağa girerse girsin aynı kalır. IP adresi posta adresi gibi hiyerarşiktir ve bağlandığın ağa göre değişir. Yönlendirme IP ile yapılır, son linkteki teslimat MAC ile.
İPUCU · rastgele MAC. Telefonlar her Wi-Fi ağına farklı, yerel atanmış (U/L = 1) bir MAC ile bağlanır. Amaç kullanıcıyı farklı ağlarda MAC’ten takip etmeyi zorlaştırmak: bir mahremiyet önlemi.
Switch: kendi kendine öğrenen köprü
Hub sadece bitleri tüm portlara kopyalayan fiziksel katman cihazıdır; bağlı herkes tek bir çarpışma alanında kalır. Switch ise link katmanı cihazıdır: çerçeveyi okur ve sadece gereken porta gönderir. Hostlar switch’in varlığından haberdar değildir (transparent).
Switch’in bir iletim tablosu (forwarding table, CAM) vardır: MAC → port, zaman. Tabloyu kimse elle doldurmaz; switch kendisi öğrenir (self-learning):
- Çerçeve port ‘ten geldi. Kaynak MAC’i tabloya “port ” olarak yaz (ya da süresini yenile).
- Hedef MAC’i tabloda ara:
- Yoksa: çerçeveyi geldiği port hariç tüm portlara gönder (flooding).
- Varsa ve port ise: at (filtering), hedef zaten aynı segmentte.
- Varsa ve başka port ise: sadece ‘ye ilet (forwarding).
- Kayıtlar belli bir süre (aging time, tipik 300 s) kullanılmazsa silinir.
Çözümlü örnek: öğrenme izi
Çerçeve (kaynak -> hedef, giriş portu) Karar Tablo sonrası
A -> B, port 1 flood A=1
B -> A, port 2 port 1 A=1 B=2
C -> A, port 3 port 1 A=1 B=2 C=3
A -> C, port 1 port 3 A=1 B=2 C=3
D -> B, port 4 port 2 A=1 B=2 C=3 D=4
Dikkat: ilk çerçevede B öğrenilmez. Switch sadece kaynak adresten öğrenir; B ancak kendisi bir çerçeve gönderince tabloya girer.
Çarpışma alanı ve broadcast alanı
| Cihaz | Katman | Çarpışma alanı | Broadcast alanı |
|---|---|---|---|
| Hub | 1 | Tüm portlar tek alan | Tek |
| Switch | 2 | Her port ayrı alan | Tek (broadcast her porta gider) |
| Router | 3 | Her arayüz ayrı | Her arayüz ayrı |
Full-duplex switch bağlantısında (host ile switch arası ayrı gönderme ve alma telleri) çarpışma hiç olmaz; CSMA/CD pratikte devre dışı kalır.
VLAN (sanal LAN), tek bir fiziksel switch’i mantıksal olarak birden fazla switch’e böler. Farklı VLAN’lar farklı broadcast alanlarıdır; aralarındaki trafik router’dan geçmek zorundadır. Kurumlarda misafir, öğrenci ve yönetim ağlarını ayırmak için kullanılır: bir güvenlik sınırı.
ARP: IP adresinden MAC adresine
Host bir IP datagramını aynı alt ağdaki bir hosta göndermek istiyor. Çerçeveye hedef MAC yazması lazım ama sadece IP’yi biliyor. ARP (Address Resolution Protocol) bu eşleştirmeyi yapar.
- Host ARP cache’ine bakar. Kayıt varsa kullanır.
- Yoksa bir ARP isteği yayınlar: hedef MAC
FF:FF:FF:FF:FF:FF, içerik “10.0.0.9 kimde? Ben 10.0.0.5, MAC’im şu.” - LAN’daki herkes isteği alır, sadece 10.0.0.9 cevap verir. ARP cevabı doğrudan isteyene unicast gider.
- İsteyen eşleştirmeyi cache’e TTL ile (dakikalar) yazar.
ARP “tak-çalıştır”dır (plug-and-play): yönetici bir şey ayarlamaz.
Başka bir alt ağa göndermek
H1 (192.168.1.10/24) bir web sunucusuna (93.184.216.34) yazıyor. Hedef farklı alt ağda olduğu için:
1. H1, maskesine bakar: hedef alt ağımda değil -> default gateway'e gönder
2. H1, gateway IP'si (192.168.1.1) için ARP yapar, router arayüzünün MAC'ini öğrenir
3. Çerçeve: dst MAC = router arayüzü, dst IP = 93.184.216.34
4. Router çerçeveyi söker, IP'ye bakar, bir sonraki link için YENİ çerçeve kurar
(yeni src MAC = router'ın çıkış arayüzü, dst MAC = bir sonraki düğüm)
TUZAK · uzak sunucu için ARP yapılmaz. ARP sadece aynı alt ağda çalışır, broadcast router’dan geçmez. Sınavda “dst MAC nedir?” sorusunun cevabı sunucunun değil, gateway’in MAC’idir. IP başlığındaki adresler ise yol boyunca değişmez (NAT hariç, 5. hafta).
Link katmanı saldırıları
Ethernet ve ARP, yerel ağdaki herkesin dürüst olduğunu varsayar. Bu varsayım çökerse:
| Saldırı | Nasıl çalışır | Etkisi | Savunma |
|---|---|---|---|
| ARP spoofing (poisoning) | Saldırgan istenmemiş ARP cevaplarıyla “gateway’in IP’si benim MAC’imde” der | Trafik saldırgandan geçer: MITM | Dynamic ARP Inspection, statik ARP, TLS |
| MAC flooding | Binlerce sahte kaynak MAC’li çerçeve CAM tablosunu doldurur | Switch tanımadığı hedefleri flood eder, saldırgan her şeyi görür | Port security (port başına MAC sınırı) |
| MAC spoofing | Kart MAC’i başka birininkine değiştirilir | MAC tabanlı erişim kontrolü atlatılır | 802.1X kimlik doğrulama |
| Rogue DHCP | Sahte DHCP sunucusu kendini gateway olarak verir | MITM | DHCP snooping |
Hepsinin ortak dersi: link katmanında kimlik iddia edilir, doğrulanmaz. Bu yüzden gizlilik ve bütünlük için uçtan uca şifrelemeye (12. hafta, TLS) güvenilir.
Sık yapılan hatalar
| Yanlış düşünce | Doğrusu |
|---|---|
| Ethernet min çerçeve 46 byte | 46 byte payload; çerçeve 64 byte. |
| Preamble çerçeve boyuna dahil | 64 ve 1518 sınırlarına preamble dahil değil. |
| Switch hedef adresi öğrenir | Kaynak adresi öğrenir, hedefi arar. |
| Tabloda olmayan hedefe çerçeve atılır | Flood edilir. Atılan, aynı porttaki hedef. |
| ARP cevabı da broadcast | Cevap unicast. |
| Uzak sunucunun MAC’i için ARP yapılır | Gateway için yapılır. |
| Switch broadcast alanını böler | Bölmez; router ya da VLAN böler. |
| MAC adresi değiştirilemez | Yazılımla kolayca değişir; kimlik kanıtı değildir. |
Kendini test et
Sınavdaki gibi İngilizce sorular. Önce kâğıt kalemle çöz, sonra cevabı aç.
An IP datagram of only 20 bytes is sent inside an Ethernet frame. How many bytes of padding must be added to the payload?
Cevabı göster
Ethernet payload'u en az 46 byte olmalı (çerçeve 6 + 6 + 2 + 46 + 4 = 64 byte). byte dolgu.
Alıcı dolguyu IP başlığındaki toplam uzunluk alanından anlayıp atar.
Which Ethernet header field tells the receiver which network-layer protocol is carried in the payload?
- Preamble
- Destination MAC address
- EtherType
- FCS (CRC)
Cevabı göster
EtherType: 0x0800 IPv4, 0x0806 ARP, 0x86DD IPv6. Alıcı payload'u hangi protokole vereceğini buradan bilir (demultiplexing).
FCS hata tespiti içindir, preamble saat senkronizasyonu için.
How many bits are in a MAC address, and how many bits form the OUI (vendor prefix)?
- 32 and 16
- 48 and 24
- 48 and 16
- 64 and 32
Cevabı göster
MAC 48 bit (6 byte), örnek 3C:22:FB:10:A4:7E. İlk 24 bit IEEE'nin üreticiye verdiği OUI, son 24 bit üreticinin seri numarası.
Adres uzayı .
A frame's destination MAC address begins with the byte 0x01. What kind of address is it?
- Unicast, globally administered
- Unicast, locally administered
- Multicast (group) address
- Invalid address
Cevabı göster
İlk byte'ın en düşük biti I/G bitidir: 1 ise grup (multicast/broadcast), 0 ise tek bir arayüz (unicast).0x01 = 00000001, en düşük bit 1: multicast. İkinci düşük bit (U/L) 0: global. IPv4 multicast'in MAC karşılığı 01:00:5E ile başlar.
A switch with an empty table receives these frames in order (source, destination, incoming port): (A, B, 1), (B, A, 2), (C, A, 3), (A, C, 1). What does the switch do with each frame?
Cevabı göster
Switch her çerçevenin kaynak adresini geldiği portla tabloya yazar, hedefi tabloda arar.
1) A→B: A=1 öğrenilir, B bilinmiyor → flood (1 hariç tüm portlar).
2) B→A: B=2 öğrenilir, A tabloda port 1 → sadece port 1.
3) C→A: C=3 öğrenilir, A port 1 → port 1.
4) A→C: C port 3 → port 3.
A switch receives a frame on port 4 whose destination MAC is already in the table, mapped to port 4. What does it do?
- Floods it to all ports
- Forwards it back out port 4
- Discards it (filtering)
- Sends an ARP request
Cevabı göster
Hedef, çerçevenin geldiği segmentte. Hedef çerçeveyi zaten görmüştür (aynı segment), switch'in iletmesine gerek yok: çerçeveyi atar. Buna filtering denir.
Host H1 (IP 10.0.0.5) wants to send an IP datagram to 10.0.0.9 on the same LAN but does not know its MAC address. Which statement about ARP is correct?
- The ARP request is unicast to 10.0.0.9 and the reply is broadcast
- The ARP request is broadcast to FF:FF:FF:FF:FF:FF and the reply is unicast to H1
- Both request and reply are broadcast
- ARP queries a DNS server for the MAC address
Cevabı göster
H1 MAC'i bilmediği için soruyu herkese yayınlar: "10.0.0.9 kimde? Söyle 10.0.0.5'e."
Sadece 10.0.0.9 cevap verir, ve isteği soranın MAC'i istekte olduğu için cevabı doğrudan H1'e (unicast) yollar. H1 sonucu ARP cache'ine TTL ile yazar.
Host H1 (subnet 192.168.1.0/24) sends a datagram to a web server at 93.184.216.34. In the Ethernet frame that leaves H1, what are the destination IP and the destination MAC?
- IP of the server; MAC of the server
- IP of the router; MAC of the router
- IP of the server; MAC of H1's default gateway (router interface)
- IP of the router; MAC of the server
Cevabı göster
Hedef başka bir alt ağda. H1 ARP'yi sunucu için değil, default gateway için yapar.
IP başlığı uçtan uca aynı kalır (hedef sunucu). MAC başlığı her linkte yeniden yazılır; bu linkte hedef router arayüzünün MAC'i.
Counting the 8-byte preamble and the 12-byte inter-frame gap as overhead, what fraction of the wire time carries payload for a maximum-size frame (1500-byte payload)?
Cevabı göster
Çerçeve: byte. Kabloda ayrıca 8 byte preamble ve 12 byte boşluk..
Minimum payload'da (46 byte) 'ya düşer.
How long does it take to transmit a maximum-size 1518-byte Ethernet frame (excluding preamble) at 100 Mbps?
Cevabı göster
bit. s .
An attacker on the LAN keeps sending unsolicited ARP replies saying 'IP 192.168.1.1 is at the attacker's MAC'. What is the attack and a suitable defense?
- MAC flooding; increase the switch table size
- ARP spoofing (poisoning) enabling man-in-the-middle; Dynamic ARP Inspection or static ARP entries for the gateway
- DNS spoofing; use DNSSEC
- SYN flood; use SYN cookies
Cevabı göster
ARP'de kimlik doğrulama yok ve hostlar istemedikleri cevapları bile cache'e yazar. Kurbanlar gateway'e gidecek trafiği saldırgana yollar: araya girme (MITM), dinleme ya da değiştirme.
Savunma: switch'te Dynamic ARP Inspection (DHCP kayıtlarıyla eşleşmeyen ARP'yi düşür), kritik adresler için statik ARP, ve en önemlisi uçtan uca şifreleme (TLS), çünkü araya girse de okuyamaz.
A network has 3 hubs, each with 4 hosts, all connected to one 3-port switch. How many collision domains and how many broadcast domains are there?
Cevabı göster
Hub tüm portlarını tek bir çarpışma alanında birleştirir. Switch'in her portu ayrı bir çarpışma alanıdır: 3 port → 3 çarpışma alanı (her hub ve hostları bir alan).
Switch broadcast'i bütün portlara iletir, yani hepsi tek broadcast alanı. Broadcast alanını bölen router (ya da VLAN).
Doğrulama: Çerçeve boyları, padding, verim, iletim süresi, MAC bit alanları (I/G, U/L) ve switch öğrenme izi node ile hesaplandı (verify/SEN2008/04.mjs). ARP ve çarpışma alanı soruları kavramsal; protokol tanımına göre kontrol edildi.