Bu Yazıda IPv6 Başlığı, Solicited-Node Multicast Adresi, NDP (Neighbor Discovery Protocol), SLAAC (Stateless Address Auto-Configuration) ve IPv6 Statik Yönlendirme Hakkında Bilgi Edineceğiz.
Bu Yazıdan önce IPv6 Part 1 ve IPv6 Part 2 Yazılarını okumanızı tavsiye ederim.
IPv6 Başlığı (IPv6 Header)
IPv4 Başlık Boyutu 20 ile 60 Bayt Arasında Değişir.
IPv6 Başlık Boyutu Sabit olarak 40 Bayt Boyutundadır. IPv6 Başlığının Router'lar için İşlenmesi Daha Kolaydır, Bu Nedenle Performans Genellikle İyileştirilir.
Version
- Length: 4 Bit
- Kullanılan IP Sürümünü Belirtir.
- IPv6 olduğundan Bu Alanda Her Zaman 0110 olacaktır.
- Length: 8 Bit
- QoS (Quality of Service) için Kullanılır. Ses ve Video Akışı gibi Gecikmeye Duyarlı Trafiğe Öncelik Vermek için Kullanılır.
- Length: 20 Bit
- Kaynak ve Hedef Arasındaki Akışı (Flow) Tanımlamak için Kullanılır.
- Örneğin Server ve Dosya İndiren Client Arasındaki İletişim.
- Length: 16 Bit
- IPv6 Başlığında Kapsüllenen Layer 4 Segment Boyutunu Bayt Cinsinden Belirtir.
- Length: 8 Bit
- IPv4 Başlığındaki Protocol Alanı ile Aynı İşleve Sahiptir.
- Length: 8 Bit
- IPv4 Başlığındaki TTL Alanı ile Aynı İşleve Sahiptir.
• Length: Her Biri 128 Bit (16 Bayt).
Solicited-Node Multicast Address
Solicited-Node Multicast Adres, NDP (Neighbor Discovery Protocol) için Kullanılır. Önce adresin nasıl oluştuğunu görelim. Daha sonra NDP'den bahsettiğimde adresin nasıl kullanıldığını göreceksiniz.
IPv6 Solicited-Node Multicast Adres, ff02::1:ff Sabit Bir Önek ile Başlar ve Ardından Unicast Adresin Son 6 Hexadecimal Basamağı Eklenir.
Örnek
Örnek 2
Bir Önceki Yazıda (IPv6 Part 2) IPv6 Multicast Adreslerinden Bahsederken Aşağı Resimdeki Çıktıyı İncelemiştik.
Router'ın Otomatik olarak FF02::1 ve FF02::2 Multicast Gruplarına Katıldığını Söyledik.
R1'in Katıldığı Diğer Multicast Grubuna Dikkat Edin, FF02::1:FF36:8500 -> Solicited-Node Multicast Address.
FF02::1:FF ve Ardından 6 Hexadecimal Basamak Daha. Bu 6 Basamak, Portta Yapılandırılan Global Unicast Adresin Son 6 Hexadecimal Basamağı ile Aynıdır.
NDP (Neighbor Discovery Protocol)
- NDP, IPv6 ile Kullanılan bir Protokoldür.
- IPv6 Çalıştıran Tüm Cihazlar NDP Kullanır (Ör: Router, PC, vb).
- Çeşitli İşlevleri Vardır ve Bu İşlevlerden Biri Artık IPv6'da Kullanılmayan ARP'ın Yerini Almaktır.
- NDP, Diğer Hostların MAC Adresini Öğrenmek için ICMPv6 ve Solicited-Node Multicast Adres Kullanır.
- Bu Süreçte İki Mesaj Tipi Kullanılır:
- Neighbor Solicitation (NS) = ICMPv6 Type 135
- Neighbor Advertisement (NA) = ICMPv6 Type 136
Neighbor Solicitation (NS)
R1'den R2'ye Ping Atmak için ping 2001:db8::78:9abc Komutunu Kullandım.
R1'in Bu Ping Paketini bir Ethernet Frame ile Kapsüllemesi Gerekir. Bunun için R2'nin MAC Adresini Bilmek Zorundadır.
R1, R2'nin MAC Adresini İstemek için Neighbor Solicitation (NS) Mesajı Gönderecektir. Yani R1 Temelde 'Merhaba, MAC Adresiniz Nedir?' Diyor.
Neighbor Solicitation (NS) Mesajının ARP Request Mesajından Farklı olduğunu Göstermek için IP ve MAC Adreslerine Bakalım.
Aşağıda Wireshark Yakalamasından Alınan Neighbor Solicitation (NS) Mesajı Var.
Source IP, R1'in IP Adresidir.
Destination IP = R2'nin Solicited-Node Multicast Adresi (ff02::1:ff78:9abc).
R1, R2'nin Solicited-Node Multicast Adresini Nasıl Biliyor?
R1'de Ping Komutunu Yazdığım için R2'nin Unicast Adresini Biliyor. Bu Nedenle R1, Solicited-Node Multicast Adres Bilgisini Otomatik olarak Hesaplayabiliyor.
Source MAC, R1 G0/0 Portunun MAC Adresidir.
Destination MAC, R2'nin Solicited-Node Multicast Adres Bilgisine Dayalı Multicast MAC Adresidir. CCNA için Bilmeniz Gerekmiyor.
Not: ARP Request -> Broadcast, Neighbor Solicitation -> Multicast Kullanır. Bu Nedenle Neighbor Solicitation Ağdaki Tüm Hostlara Gönderilmediğinden Daha Verimlidir.
Neighbor Advertisement (NA)
R2, R1'den MAC Adresini Soran NS Mesajını aldı. Yanıt olarak R2, R1'e MAC Adresini Öğretir.
Neighbor Adversitement (NA) Mesajındaki IP ve MAC Adreslerini Görelim.
IPv6 Neighbor Table
- IPv6, ARP Kullanmadığı için ARP Tablosu Yoktur. Hostlar IPv6 Neighbor Tablosu Tutacaktır.
- IPv6 Neighbor Tablosu Görüntüleme Komutu: show ipv6 neighbor
R1'in IPv6 Neighbor Tablosunda R2'nin Global Unicast ve Link Local Adresleri için Giriş olduğuna Dikkat Edin. Link Local Adresi Otomatik olarak Öğrendi, Bu Adrese Ping Atmadım.
Age Sütunu, R1'in Bu Adreslerden Ne Kadar Süre Önce Trafik Aldığını Dakika Cinsinden Gösterir.
Link-layer Addr Sütunu, MAC Adres Bilgisini Gösterir. Interface Sütunu Girişin Öğrenildiği Portu Gösterir.
State Sütunundaki REACH State, Temel olarak Komşunun Erişilebilir olduğu Anlamına Gelir, Yani Bu İyi.
NDP'nin Bir Diğer İşlevini Daha Öğrenelim.
NDP, Host'ların Yerel Ağdaki Router'ları Otomatik olarak Keşfetmesine Olanak Tanır.
Bu İşlem için İki Mesaj Kullanılır:
- Router Solicitation (RS) = ICMPv6 Type 133
- FF02::2 (All Routers) Multicast Adresine Gönderilir.
- Bu Mesaj Yerel Ağdaki Router'lardan Kendilerini Tanımlamalarını İster.
- Bu Mesaj Port Etkinleştirildiğinde veya Host Ağa Bağlandığında Gönderilir.
- Router Advertisement (RA) = ICMPv6 Type 134
- FF02::1 (All Nodes) Multicast Adresine Gönderilir. Bu Mesaj Sadece Router'lar Tarafından Değil, Yerel Ağdaki Tüm Host'lar Tarafından Alınır.
- Router RA Mesajını Kullanarak Varlığını Duyurur ve Yerel Ağ Hakkında Başka Bilgiler de Sağlar.
- Bu Mesaj, RS Mesajına Yanıt olarak Gönderilir. Bir Router RS Alırsa, RA Gönderir.
- Router RS Almasa Bile Periyodik olarak RA Gönderir.
R2 G0/0 Portunu Etkinleştirdik. Ağda Herhangi bir Router olup olmadığını Soran Otomatik olarak bir RS Mesajı Gönderilir (Dst. IPv6 Address: FF02::2).
R1, RA Mesajı ile Kendini Tanıtarak Yanıt Verir (Dst. IPv6 Address: FF02::1).
Bu Durumun Kullanılabileceği Pek Çok Alan Olabilir. Örneğin Hostlar RA Mesajı ile Default Gateway Adresini Otomatik olarak Öğrenebilir.
SLAAC - Stateless Address Auto-Configuration
- IPv6 Adreslerini Yapılandırmanın Başka bir Yolu.
- SLAAC Kullanırken Host, Yerel Ağın IPv6 Ağ Adres (IPv6 Prefix) Bilgisini Öğrenmek için RS ve RA Mesajlarını Kullanır (Örnek IPv6 Ağ Adresi: 2001:db8::/64). Host Otomatik olarak bir IPv6 Adres Oluşturmak için Bu Ağ Adres Bilgisini Kullanır.
- Router Portunda IPv6 Yapılandırırken Şu Komutu Kullanabiliriz: ipv6 address network-address/prefix-length eui-64
- Bu Komutu Kullanırken network-address/prefix-length Bölümünü Manuel olarak Girmemiz Gerekir.
- SLAAC Yapılandırma Komutu (config-if): ipv6 address autoconfig
- SLAAC Yapılandırma Komutu, network-address/prefix-length Bilgisine İhtiyaç Duymaz.
- Hostlar Yerel Ağda Kullanılan network-address/prefix-length Bilgisini RS ve RA Mesajları Aracılığı ile Öğrenmek için NDP Kullanır.
- Host, Interface Identifier oluşturmak için EUI-64 Kullanabilir veya Cihaza / Üreticiye Bağlı olarak Rastgele oluşturulabilir.
Örnek
Birbirine Bağlanan İki Router olduğunu Düşünelim (R1 ve R2).
R1, IPv6 Adresi ile Yapılandırılmış Ancak R2'nin Henüz Bir Adresi Yok.
R2 G0/0 Portunda ipv6 address autoconfig Komutunu Kullanıyorum ve Otomatik olarak oluşturulan Global Unicast ve Link Local Adresleri Aşağıdaki Resimde Görebilirsiniz.
SLAAC, IPv6'nın Standart bir İşlevidir. PC gibi Hostlar da SLAAC Kullanabilir.
DAD (Duplicate Address Detection)
- NDP'nin Başka Bir İşlevi olan DAD, Host'ların Yerel Ağdaki Diğer Cihazlar ile Aynı IPv6 Adresini Kullanıp Kullanmadığını Kontrol Etmesine olanak Tanır.
- Host, Manuel olarak IPv6 Adresi veya SLAAC ile Yapılandırıldığında Başka bir Cihazın Aynı IPv6 Adresini Kullanıp Kullanmadığını Kontrol Etmek için DAD Kullanır.
- DAD, Daha Önce Öğrendiğiniz İki Mesajı Kullanır: NS ve NA
- Host Kendi IPv6 Solicited-Node Multicast Adresine bir NS Mesajı Gönderir. Bir Yanıt Alamazsa Adresin Benzersiz (Unique) olduğunu Bilir. Ancak Bir NA Mesajı Alırsa Ağdaki Başka Bir Hostun Adresi Kullandığı Anlamına Gelir.
IPv6 Statik Yönlendirme (IPv6 Static Routing)
- IPv6 Yönlendirme Mantığı, IPv4 ile Aynı Şekilde Çalışır. Router'ın Portlarından Birine Paket Geldiğinde Route Tablosunda Destination IP Adresi Aranır ve Ardından Paket, Route Tablosundaki En Özel (Longest Prefix Length) Eşleşmeye göre İletilir.
- Router'da IPv6 ve IPv4 için Tutulan Route Tabloları Ayrıdır.
- IPv6 Route Tablosu Görüntüleme Komutu: show ipv6 route
- IPv4 Yönlendirme Varsayılan olarak Cisco Router'da Etkindir. IPv6 Yönlendirme Varsayılan olarak Cisco Router'da Devre Dışıdır ve ipv6 unicast-routing Komutu ile Etkinleştirilmelidir.
- IPv6 Yönlendirme Devre Dışı Bırakılırsa Router IPv6 Trafiği Gönderip Alabilir, Ancak IPv6 Trafiğini Yönlendirmez. Yani Trafiği Ağlar Arasında İletmez. Her Zaman ipv6 unicast-routing Komutunu Kullandığınızdan Emin olun.
Topoloji
R1 - show ipv6 route
- Connected Route ve Local Route Otomatik oluşturulur (IPv4'de olduğu gibi).
- L FF00::/8 [0/0] -> IPv6 Multicast Adres Aralığı.
- Null0, Destination IPv6 Adresi Multicast Adres Aralığından olan Rota ile Eşleşen Trafiği Çöpe Atan Mantıksal / Sanal Interface Anlamına Gelir. Bu Rota Otomatik olarak Yapılandırıldı. CCNA Kapsamı Dışındadır.
- ipv6 route destination/prefix-length next hop
- ipv6 route destination/prefix-length exit-interface
- ipv6 route destination/prefix-length exit-interface next hop
Directly Attached Static Route
Recursive Static Route
Bu Rotanın Next Hop Adresi (2001:db8:0:12::2) Route Tablosunda Aranır ve Yukarıdaki Resimde Sarı Bölüm ile Belirtilen Rota ile Eşleşme Bulunur. Ping Paketi G0/0 Portundan R2'ye İletilecektir.
Fully Specified Static Route
Bu Komut İşe Yaramayacaktır. Router Komutu Girmenize İzin Verecek, Router Yapılandırmasının Bir Parçası olacak, Ancak Rota Çalışmayacaktır. Örneğin Seri Port olsaydı Çalışırdı, Fakat Ethernet Portunda Çalışmaz.
Bunu Doğrulamak için Packet Tracer Simulator Programında bir Topoloji oluşturdum. Ethernet Portunda Sırasıyla Directly Attached Static Route ve Recursive Static Route Yapılandırıp Test Ettim.
IPv4'de Böyle Bir Durum Yoktur.
Sınav Konuları Listesinde Gösterilen IPv6 Statik Rota Türlerinin Her Birinden Bir Örnek Yapalım. Yaptığımız Örnekler Recursive Static Route Türünde olacaktır.
Topolojiyi Hatırlayalım.
Network Route
R3'e Bağlı Subnet'e Giden Rota.
Host Route (/128)
Default Route (/0)
Floating Static Route
Topolojide İhtiyaç olmamasına Rağmen Nasıl Floating Static Route Yapılandırabiliriz? AD Değerini Yükselterek.
Örneğin Hedefe Giden Rota OSPF Aracılığı ile Öğrenildiyse OSPF AD değeri 110 olduğundan Floating Static Route AD Değerini 110'dan Daha Yükseğe Ayarlamanız Gerekir.
Not: IPv6 Statik Rota Yapılandırmasında Next-Hop, Link Local Adres ise Bu Durumda Fully Specified Static Route Kullanılmalıdır.
Yukarı Resimdeki Kırmızı Bölümde Next Hop Adresi Link Local Adres olan Recursive Static Route Yapılandırdım, Fakat Komut Router Tarafından Reddedildi. Sarı Bölümde ise Fully Specified Static Route Yapılandırdım ve Komut Kabul Edildi.
Next Hop olarak Link Local Adreslerin Kullanıldığı Durumda exit-interface Belirtilmesinin Nedeni, Router'ın IPv6 Link-Local Adresinin Hangi Porta Bağlı olduğunu Çözememesidir.
Not: Local Link, Local Network ve Local Subnet Terimleri Aynı Anlama Gelir.
Quizs
- b
- d
- c
- a, b
- c
LAB Çözümü
R1, R2, R3 - show ipv6 interface brief
1.
R2(config)#ipv6 unicast-routing
R3(config)#ipv6 unicast-routing
2.
PC1
PC1 FF02::2 Multicast adresine RS Mesajı Gönderdi. R1, FF02::1 Multicast Adresine RA Gönderdi.
RA Mesajı ile PC1, IPv6 Network Address/Prefix Length (IPv6 Prefix), Default Gateway (R1 G0/0 Link Local Address) Öğrendi.
PC1, IPv6 Ağ Adresini Öğrendikten Sonra EUI-64 Kullanarak Interface Identifier Bölümünü Otomatik olarak oluşturdu.
PC2
3.
ipv6 route 2001:db8:0:3::/64 2001:db8:0:13::2
R2
ipv6 route 2001:db8:0:1::/64 2001:db8:0:13::1
PC1
The path via R2 should be used only as a backup path.
R2(config)# ipv6 route 2001:db8:0:1::/64 s0/0/0 FE80::202:4AFF:FE23:E201 (R1 S0/0/0 Link Local Address)
R2(config)# ipv6 route 2001:db8:0:3::/64 s0/0/1 FE80::290:2BFF:FECC:A101 (R3 S0/0/0 Link Local Address)
R1(config)#ipv6 route 2001:db8:0:3::/64 s0/0/0 FE80::20B:BEFF:FED7:4901 5 (AD)
R3 - Floating Static Route
R3(config)#ipv6 route 2001:db8:0:1::/64 s0/0/0 FE80::20B:BEFF:FED7:4901 5 (AD)
R1, R3 - show ipv6 route
Floating Static Route, R1 / R3 Route Tablosunda Gözükmüyor.
R1 G0/1 Portunu Devre Dışı Bırakıyorum.
R1(config-if)# shutdown
R1, R3 - show ipv6 route
Floating Static Route, R1 / R3 Route Tablosuna Eklendi.
Traceroute, R2'de Sorun Yaşıyor. Bunun nedeni R2'nin Yalnızca Yönlendirilebilir olmayan Link Local Adreslere Sahip olmasıdır.
Ancak Biraz Beklersek R3'den ve Ardından Hedef PC2'den Bir Yanıt Görürüz. Bu Bir Sorun Değil, Sonuçta PC1 - PC2 İletişimi Var. PC1'in Hedefe Giden Yoldaki Her Router'a Ulaşamaması Sorun Değil.
C:\>ping 2001:DB8:0:1:20A:41FF:FE4D:1BBC (PC1) -> İletişim var.
Okuduğunuz için teşekkürler.
Yorum Gönder
Yorum Gönder