ASP.NET Kütüphanesindeki (OOP) Tasarım Hataları

ASP.NET kütüphanesi geliştirilirken yapılmış olan bazı tasarım hataları gerek öğrenenler gerekse de benim gibi anlatanlar açısından bela niteliğindedir. Örneğin Control taban sınıfında yer alan EnableViewState ya da Controls gibi bazı üyeler bu sınıftan türeyen tüm alt sınıflara kalıtım yoluyla aktarılmakta ancak hepsinde kullanılamamaktadır.

Okumaya devam et

Reklamlar

IPv6 Nedir ?

Bu yazı Aykut Taşdelen’in “İleri ve Kurumsal Düzey .NET Uygulamaları” Kitabından Alıntıdır izinsiz kullanılamaz ve alıntı yapılamaz !

IP protokolü, network üzerinde tekil olarak belirlenmiş IP numaralarına sahip makineler arasındaki iletişimi öngörmektedir. IP numarası 4 byte’lık bir bilgidir. IP numaralarındaki her bir byte, 0-255 arasındaki bir sayı değeri içerebilen 8 bit’lik bir alandır. Terminolojide her bir 8 bit’lik alan, oktet olarak isimlendirilir. IP numaralarının yazımında, oktetler arasına birer nokta işareti eklenmektedir. Bu yazım biçiminin ismi “dotted decimal” notasyonudur.

4 byte’lık IP numaralarının yapısı Ancak IPv4 olarak isimlendirilen 4 byte’lık IP numaraları, internet üzerinde ve özellikle son yıllarda yetersiz kalmaya başlamıştır.

IPv4 ‘e İlişkin Temel Sorunlar

– Adres alanının tükenmesi : 1981 yılında kullanılmaya başlanılan IPv4 sistemi, internet kullanımının başlangıçta öngörülen miktarın çok ötesine geçmesi nedeni ile adres alanı açısından tükenme noktasına gelmiştir. 2002 yılı mayıs ayında toplam adres alanının üçte ikisi tükenmiştir, bu trend’e bakılarak bir içdeğer biçme işlemi yapılırsa, kısa zamanda adres alanının büyük kısmının tükeneceği rahatlıkla söylenebilir.

– Hiyerarşik destek noktasındaki yetersizlik.

– Karmaşık ağ konfigürasyonu.

– Güvenlik sorunları : IPSec desteği IPv4 ‘te opsiyoneldir. Bu nedenlerden ötürü IPv6 olarak isimlendirilen yeni bir yapı tasarlanmıştır. IPv6 ‘da 128 (8 * 16) bit’lik bir dizilim öngörülmüştür.

 

(1) Şekilde IPv6 sistemine uyumlu 128 bit’lik bir IP numarasının binary formdaki görünümü izlenmektedir.

(2) Bu dizilim içerisindeki her 16 bit’lik blok, aralarında (:) işareti bulunan, 4 basamaklı birer heksa desimal sayı ile gösterilir.

(3) IPv6 sisteminde istenilirse (görünümün basitleşmesi adına) sıfırlar kullanılmayabilir.

Dikkat : Ancak her blok en az bir basamaklı sayı içermek zorundadır. Bu nedenle üçüncü bloktaki sıfır yok edilememiştir ! IPv6, IP numaraları içerisinde tekrar eden sıfırların (::) işareti kullanılarak, sıkıştırılmasına da olanak sağlar.

Örneğin; IPv6 ‘da sıfırların sıkıştırılması Ancak bu yöntem 16 bit’lik blokların içerisinde bulunan sıfırlar üzerinde uygulanamaz ! Örneğin aşağıdaki gibi bir sıkıştırma işlemi geçersizdir;

Sıfırların sıkıştırılması sadece bir kez uygulanabilen bir yöntemdir. (::) nokta karakteri ile temsil edilen sıfır bit’lerinin sayısını bulmak için şu formülasyon kullanılmaktadır.

(8 – blok_sayısı) * 16

Örneğin, FF02::2 adresinde iki blok söz konusudur (FF02 ile 2). Bu durumda sıkıştılan sıfır bit’lerinin sayısı; (8-2) * 16 = 96 olacaktır. IPv6 ‘da önekler (prefix), IPv4 ‘te olduğu gibi yani Classless Inter-Domain Routing (CIDR) notasyonu ile kullanılmaktadır.

Örneğin; (21DA:D3::/48) route öneki ve (21DA:D3:0:2F3B::/64) subnet önekidir.

Dikkat : Subnet mask IPv6 ‘da kullanılmamaktadır !