İçeriğe atla

ICMPv6

ICMPv6 paket yapısı

ICMPv6(Internet Control Message Protocol Version 6 )

Internet Control Message Protocol (ICMP) mesajları ağ iletişiminde yaşanan sorunların iletişime dahil olan ağ bileşenlerine iletilmesi amacıyla kullanılmaktadır. Bir paket hedefine ulaştırılamadığında, bir yönlendiricinin kendisine gelen bir paketi yönlendirecek kadar boş kapasitesi olmadığında ya da bir paket için belirlenen rotadan daha kısa bir rotanın varlığı keşfedildiğinde ICMP mesajları ile bu durum bildirilir. Ancak, IPv4 tabanlı iletişimde ICMP mesajlarının sınır yönlendiricilerinde engellenmesi sık rastlanan bir uygulamadır. Bunun temel nedeni ICMP’nin saldırganlar tarafından keşif aşamalarında kullanılmasıdır. RFC4443’te tanımlanmış olan ICMPv6, ICMP'nin IPv6 için olan versiyonudur. ICMPv6 mesajları hata mesajları ve bilgi mesajları olmak üzere iki kısma ayrılır. IPv6 paketinde nextheader (IPv4 paket başlığında protokole karşılık olan alan)'da ICMPv6 değeri 58’dir.

ICMPv6 paket yapısı

Tip(type) :8bitKod(Code): 8bitToplamsal Hata(Checksum): 16bit
Mesaj Gövdesi

Tip (type)

8 bitlik tip kısmı mesajın tipini gösterir.Eğer yüksek sıralı bit 0 ise((0-127 bitler arası)) bu bir hata mesajıdır.
Eğer 1 ise(128-255 arası bitler arası) bu bir bilgi mesajıdır.

Kod (Code)

8 bitlik kod alanı içeriği mesaj tipine bağlıdır ve ortalama mesaj boyu ekleme seviyesinin oluşturulmasını sağlar.

Toplamsal Hata (Checksum)

IPv6 mesaj kısmında ve ICMP’de hata mesajlarını bulmada kullanılır.Karar nodu IPv6 header’da kaynak ve hedef adreslerinin
checksum(toplamsal hata)'ı hesaplanmadan önce belirlenmesi için mesaj yollar.Eğer karar nodu birden fazla unicast(Bir istasyondan belirli bir istasyona gönderilen çerçeve. Bir unicast çerçevesi belirli kaynak ve hedef cihazların MAC adreslerini içerir.)
adresi içeriyorsa mesajın kaynak adresini aşağıdakiler gibi seçmelidir:

  • Eğer mesaj gönderilmiş bir unicast adresinin mesajına cevap ise cevabın kaynak adresi aynı olmalıdır.
  • Eğer mesaj gönderilmiş herhangi bir adresin mesajıysa(multicast grup adres,karar nodu ile gerçekleştirilen
    herhangi bir cast adresi veya karar noduna ait olmayan bir unicast adres gibi...)

ICMPv6 paketinin kaynak adresi karar noduna ait olan bir unicast adres olmalıdır.

Mesaj Cheksum Hesaplaması

Checksum ICMPv6 mesaj tipi alanıyla başlayan tüm ICMPv6 mesajının toplamının 16 bitlik 1’e tümleyenedir. ICMPv6'nın IPv6 paket başlığının nextheader(IPv4 paket başlığındaki protokole karşılık gelir.) kısmındaki değeri 58'dir. Checksum heplamasının yapılabilmesi için checksum alanı 0’lanır.

ICMPv6 Mesaj tipleri

Type(TİP)Anlamı
ICMPv6 Hata Mesajları
1Destination Unreachable ( Gönderen ana makineye bir paketin teslim edilemediğini bildiren hata iletisi.)
2Packet Too Big ( Gönderen ana makineye, bir paketin iletilemeyecek kadar büyük olduğunu bildiren bir hata iletisi.)
3Time Exceeded ( Gönderen ana makineye, bir IPv6 paketinin Atlama Sınırı'nın bittiğini bildiren hata iletisi.)
4Parameter Problem ( Gönderen ana makineye, IPv6 üstbilgisini veya bir IPv6 uzantı üstbilgisini işlerken hatayla karşılaşıldığını bildiren hata iletisi.)
100Private experimentation( Özel Deneyleme)
101Private experimentation( Özel Deneyleme)
127Reserved for expansion of ICMPv6 error messages( ICMPv6 hata mesajlarını genişletmek için ayrılmıştır.)
ICMPv6 Bilgi Mesajları
128Echo Request ( IPv6 düğümünün ağ üzerinde kullanılabilir olup olmadığını belirlemek için kullanılan bir bilgi iletisi.)
129Echo Reply ( ICMPv6 Yankı İsteği iletisine yanıt vermek için kullanılan bilgi iletisi.)
133Yönlendirici Talebi (Router Solicitation (NDP))
134Yönlendirici İlanı (Router Advertisement (NDP))
135Komşu Talebi (Neighbor Solicitation (NDP))
136Komşu İlanı (Neighbor Advertisement (NDP))
200Private experimentation(Özel Deneyleme)
201Private experimentation( Özel Deneyleme)
255Reserved for expansion of ICMPv6 informational messages( ICMPv6 bilgi mesajlarını genişletmek için ayrılmıştır.)

ICMPv6 Yankı İsteği iletileri göndermek ve ICMPv6 Yankı Yanıtı iletilerinin alındığını kaydetmek için ping komutunu kullanabilirsiniz. Ping ile, ağ veya ana makine iletişim başarısızlıklarını saptayabilir ve sık karşılaşılan IPv6 bağlantı sorunlarını giderebilirsiniz. Atlama Sınırı alanında artan değerlere sahip ICMPv6 Yankı İsteği iletileri göndermek için tracert komutunu kullanabilirsiniz. Tracert, IPv6 paketlerinin kaynak ve hedef arasında kat ettiği yolu izleyip görüntüleyerek yaygın IPv6 yönlendirme sorunlarını gidermenize olanak verir.

ICMP6’nın tüm IPv6 düğümlerinin iletişimleri için temel bir protokol olarak tasarlanmıştır ve RFC 2463 ile bu düğümlerin ICMPv6’yı eksiksiz desteklemesi zorunluluğu ortaya konmuştur. IPv6 iletişiminin sağlıklı yapılabilmesi için engellenmemesi gereken ICMPv6 mesajı tipleri ve isimleri Tablo'da verilmiştir.

Mesaj TipiMesaj Adı
1Hedef erişilemez
2Paket çok büyük
3Zaman Aşımı
4Parametre Problemi
133Yönlendirici Talebi
134Yönlendirici İlanı
135Komşu Talebi
136Komşu İlanı

ICMPv6 ve Ağ Güvenliği Değerlendirmesi

  • Mevcut sınır güvenlik uygulamalarından (güvenlik duvarı, saldırı tespit sistemleri vb.) birçoğu ICMPv6 mesajlarının tipine göre filtrelenmesine imkân sağlamamaktadır. Örneğin güvenlik uygulamaları “ICMPv6 Tip 1 Hedef Erişilemez” mesajlarını geçirirken “ICMPv6 Tip 2 Paket Çok Büyük” mesajlarını filtreleyememektedir. Sunulun iki seçenek tüm ICMPv6 paketlerinin geçirilmesi ya da bu protokole ait tüm trafiğin filtrelenmesidir. Tüm ICMPv6 mesajlarının filtrelenmesi IPv6 tabanlı iletişim sağlıklı yürütülmesini engelleyeceğinden mevcut güvenlik uygulamalarında şu an için uygulanan seçenek tüm mesajlara izin verilmesidir. Bu durum saldırganların gerçek amaçlarını ICMPv6 protokolü içine gizlemelerine imkân sağlamaktadır.
  • Ağda verilmeyen servislere ait ICMPv6 mesaj tiplerinin ağa girmesine izin verilmesi güvenlik açıklarına neden olacaktır. Örneğin çoklu gönderim servisi verilmeyen ağı hedef olarak içeren bir “Tip 130 Çoklu Gönderim Dinleyici Sorgusu” ya da dolaşılabilirlik desteği olmayan bir ağı hedef olarak içeren “Tip 144 Ev Sunucusu Adres Çözümleme İsteği” mesajı muhtemel bir saldırgan aktivitesine işaret etmektedir.
  • IANA 155-199 arası ICMPv6 mesaj tipleri için henüz bir atama yapmamıştır. Ayrıca 200 ve 201 nolu mesaj tipleri de deneyler için ayrılmıştır. Bu tiplerdeki ICMPv6 mesajlarının filtrelenmesi gerekmektedir.
  • “Tip 138 Yönlendiricileri Yeniden Numaralandırma” ve “Tip 139,140 Düğüm Bilgisi Sorgusu” mesajlarına özel ilgi gösterilmeli ve bu mesaj tipleri ile ilgili ağda özel uygulamalar yapılmıyorsa bu mesaj tipleri sınır güvenlik cihazlarında engellenmelidir.

İç Bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">IPv4</span> İnternet Protokolünün 4. sürümü

İnternet Protokol Versiyon 4 (IPv4), İnternet Protokolü'nün (IP) dördüncü versiyonudur.

<span class="mw-page-title-main">UDP</span>

UDP, TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar.

Ağ katmanı veya 3. katman, veri paketinin farklı bir ağa gönderilmesi gerektiğinde, veri paketine yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP iletişim kuralı bu katmanda görev yapar.

<span class="mw-page-title-main">IPv6</span> İnternet protokolünün 6. versiyonu

Internet Protocol Version 6 kısaca IPv6, aslında 32 bitlik bir adres yapısına sahip olan IPv4'ün adreslemede artık yetersiz kalması ve ciddi sıkıntılar meydana getirmesi üzerine IETF tarafından geliştirilmiştir.

Network Address Translation (NAT), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

Internet Control Message Protocol (ICMP), hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. ICMP RFC 792'de tanımlanmış ve RFC 950'de revize edilmiştir. Hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür. Bu şekilde normal kullanımının yanında, uzak sistem hakkında bilgi toplamak için sıkça kullanıldığından çok önemlidir. Genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP ile aynı düzeyde olmasına karşın aslında kendisi de IP’yi kullanır. ICMP' nin hata raporlamak için kullanılması, IP'yi güvenli yaptığı anlamına gelmez. Datagram, yerine ulaşmayabilir ve bununla ilgili bir hata mesajı da gelmeyebilir. ICMP mesajlarındaki hataları raporlamak için ICMP kullanılmaz. ICMP, TCP/IP' nin işlemesine yardımcı olan bir protokoldür. Her hostta mutlaka ICMP protokolü çalışır. Hata durumunda host tarafından geri bilgilendirmeyi sağlar.

Adres Çözümleme Protokolü ağ katmanı adreslerinin veri bağlantısı katmanı adreslerine çözümlenmesini sağlayan bir telekomünikasyon protokolüdür. 1982 yılında RFC 826 aracılığıyla tanımlanmıştır. STD 37 kodlu bir internet standardıdır.

IP adresi, interneti ya da TCP/IP protokolünü kullanan diğer paket anahtarlamalı ağlara bağlı cihazların, ağ üzerinden birbirleri ile veri alışverişi yapmak için kullandıkları adres.

Traceroute ya da İzleme Yolu açık kaynak kodlu bir ağ analizi yazılımıdır.

Time to live (TTL) veya atlama sınırı bilgisayardaki veya ağdaki bir verinin ömrünü sınırlayan bir mekanizmadır. Ttl veriye eklenmiş veya gömülmüş bir sayaç veya zaman damgası olarak düşünülebilir. Öngörülen atlama sayısı veya zaman geçtikten sonra, veri düşürülür. Bilgisayar ağlarında, bir veri paketinin süresiz dolaşmasını önler. Bilgi işlemde, önbellek performansının arttırımını ve gizliliğini geliştirmek için kullanılır.

Gezici Ipv6, gezici IP' nin bir versiyonu. Paket anahtarlı ağlararası iletişimde, elektronik cihazların veri değişimi için kullandıkları, bir ağ katmanı IP standardıdır. Gezici Ipv6, Ipv6 ağındaki konumunu isteğe bağlı olarak değiştirmesi ve geçerli olan bağlantıların devamlılığını sağlaması ile Ipv6 düğümünün gezici hale gelmesine izin verir.

Ping6 İpv6'ya uygun bir ping sürümüdür. Ping, ICMP'yi kullanarak paketlerin ulaşıp ulaşmadığını söyleyen uygulamadır. Ping6'yı diğer pinglerden ayıran şey alan uzunluğunun 129 bit olmasıdır. Checksum alanı ping6da yeniden hesaplanır. Ping6, (echo) paketi gönderilen makinenin o anda çalışmakta olduğunu teyit eder. Ağın o anki paket kayıp oranı hakkında bir bilgi verebilir. Kaynak makine ile karşı makine arasındaki iletişimin süresini gösterebilir.

Komşu Keşfi Protokolü IPv6 ile kullanılan internet iletişim kuralları dizisinde bir protokoldur. Bağlantı katmanında çalışır ve bağlantıdaki diğer düğümleri bulmak, diğer düğümlerin ağ katmanı adreslerine karar vermek, uygun routerlar bulmak ve diğer aktif komşu düğümlere yollar hakkında erişilebilirlik bilgisi sağlamakla yükümlüdür(RFC 4861, 2007).

<span class="mw-page-title-main">NAT64</span>

NAT64, IPv6 makinaların IPv4 sunucular ile iletişim kurmasına olanak sağlayan bir mekanizmadır. NAT64 sunucusu en azından bir tane IPv4 adresinde ve bir tane 32 bitlik IPv6 ağ segmentinde olmalıdır. IPv6 istemcisi, iletişim kurmak istediği IPv4 adresini bu bitlerin içine yazar ve paketleri bu adrese gönderir. NAT64 sunucusu bu işlemden sonra IPv6 ve IPv4 adresleri arasında bir NAT-eşlemesi yaratarak bunların birbiriyle haberleşmesine izin verir.

Teredo [1] ; yönlendirici ile istemci arasında kurulan bir tüneli kullanan IPv6 Geçiş Yöntemi'dir. Bu yöntemin 6to4 ve ISATAP yöntemlerinin kullanılamadığı senaryolarda son çare olarak kullanılması önerilmektedir. Teredo yönteminin temel amacı NAT veya güvenlik duvarı arkasında kalan istemcilerin IPv6 ağına bağlanmalarını sağlamaktır.

<span class="mw-page-title-main">IPv6 Adres</span>

IPv6 Adres, IPv6 adres protokolü bir bilgisayarın ağ arayüzünü tanımlamak için kullanılan nümerik bir etiket veya bir IPv6 ile etiketlenmiş olan ve bilgisayar ağına katılan diğer bir ağ düğümüdür.

Yayın adresi, ağlar arası iletişimde, gönderilen bilgi paketinin çoklu erişime bağlı tüm cihazlar tarafından alınmasının istendiğini belirten özel bir adrestir. Bilgisayarların yayın adresine gönderilen mesaj spesifik olarak tek bir bilgisayar tarafından alınmaz, mesaj ağa bağlı tüm bilgisayarlar tarafından alınır.

İnternet Protokolü (IP), ağlar arası paket transferinde eğer paketin boyutu gönderilecek ağın taşıyabileceği maksimum taşıma birimi 'nden (MTU) daha büyük olması durumunda datagram parçalamasını uygularlar. Böylece daha büyük boyuttaki paketleri kabul edecek olan ağın MTU'na uygun şekilde küçük parçalara böler. Parçalama bir IP datagramının ağlar arasında dolaşırken MTU(Maksimum Transfer Unit) değeri daha düşük kapasitede bir ağa geldiginde yaşadıgı durumdur. Yani parçalama, bölünmedir. Örneğin; Ethernet ağlarının MTU değeri 1500 byte'dır. Bizim IP datagramımızın değeri 2400 byte olsun. Bu paket ethernet ağının girişindeki yönlendiriciye geldiğinde yönlendirici diğer tarafında ethernet ağı ve bunun MTU değerinin 1500 byte olduğunu bilir ve 2400 byte’lık gelen paketi Ethernet ağına parçalayarak gönderir. Paketimiz artık hedefine ilk parça 1500 byte, ikinci parçası 900 byte olmak üzere iki parça olarak ulaşır ve birleştirilir.

<span class="mw-page-title-main">Anycast</span>

Anycast ya da her yöne yayın, adreslerin birden fazla coğrafi konumdaki birden fazla sunucuya ya da cihaza atanması ile mevcut yönlendirme protokol isteklerinin hangi sunucuya ya da cihaza iletileceğine karar verildiği bir tekniktir.

Bir ICMP tüneli, ICMP yankı istekleri ve yanıt paketlerini kullanarak iki uzak bilgisayar arasında gizli bir bağlantı kurar. Bu tekniğin bir örneği ping istekleri ve yanıtları üzerinden tüm TCP trafiğini tünellemektir.