IPv4 nedir sorusunun kısa cevabı şudur: Internet Protocol'ün dördüncü sürümü, ağa bağlı cihazların arayüzlerini 32 bitlik adreslerle tanımlar ve paketlerin nereye gideceğini bu adrese bakarak belirler. Protokol 1981'de RFC 791 ile tanımlandı; kırk yılı aşkın süredir kullanılıyor ve bugün IPv6 ile yan yana çalışıyor.
Bir proxy paketinde “30 IP” ya da “/24 blok” gibi ifadeler gördüğünüzde bunları doğru okuyabilmek için adresin içini bilmek işe yarar. Bu yazıda adresin dört oktete nasıl bölündüğünü, 2^32 sayısının ne anlama geldiğini, A, B ve C sınıflarının neden terk edildiğini ve hangi aralıkların internette hiç görünmediğini örneklerle inceleyeceksiniz.
IPv4 adresi nasıl okunur: dört oktet, 32 bit
IPv4 adresi 32 bit uzunluğunda bir ikili sayıdır. 32 haneli bir 0 ve 1 dizisini okumak zor olduğundan adres 8'er bitlik dört gruba bölünür. Her gruba oktet denir, çünkü sekiz bitten oluşur. Oktetler ondalık sayıya çevrilip aralarına nokta konur; buna noktalı ondalık gösterim denir, örneğin 203.0.113.42.
Bir oktet 8 bit olduğundan 2^8 = 256 farklı değer alır ve bu değerler 0 ile 255 arasında sayılır. Bu yüzden 203.0.113.300 ya da 256.0.113.1 geçerli bir IPv4 adresi değildir. Dört oktet birleşince 4 × 8 = 32 bit ortaya çıkar.
Bit ağırlıkları soldan sağa 128, 64, 32, 16, 8, 4, 2 ve 1'dir; bir oktetin değeri, 1 olan bitlerin ağırlıklarının toplamıdır. Aşağıdaki tabloda 203.0.113.42 adresi oktet oktet ikiliye çevriliyor.
| Oktet | Ondalık | İkili | Ağırlıkların toplamı |
|---|---|---|---|
| 1. oktet | 203 | 11001011 | 128 + 64 + 8 + 2 + 1 |
| 2. oktet | 0 | 00000000 | hiçbir bit açık değil |
| 3. oktet | 113 | 01110001 | 64 + 32 + 16 + 1 |
| 4. oktet | 42 | 00101010 | 32 + 8 + 2 |
203.0.113.42
11001011.00000000.01110001.00101010Adres tek bir sayı olarak da yazılabilir: 203.0.113.42 adresinin tamsayı karşılığı 3405803818, onaltılık karşılığı 0xCB00712A değeridir. Bu dört gösterimi (noktalı, ikili, onaltılık ve tamsayı) tek adımda görmek için IPv4 dönüştürücü aracını kullanabilirsiniz.
32 bit kaç adres eder? IPv4 adres uzayı
Her bit iki değer alabildiğinden 32 bit, 2^32 yani 4.294.967.296 farklı adres tanımlar. Bu sayıya IPv4 adres uzayı denir. Rakam büyük görünse de dünya nüfusundan azdır ve adreslerin hepsi sıradan cihazlara dağıtılamaz.
Bir blokta ağ kısmına ayrılmayan bitler ana makine bitleridir ve blok boyutu 2 üzeri ana makine biti sayısı kadardır. Aşağıdaki tablo, ana makine biti eklendikçe adres sayısının nasıl katlandığını gösteriyor.
| Ana makine biti | Hesap | Adres sayısı | Önek |
|---|---|---|---|
| 8 | 2^8 | 256 | /24 |
| 16 | 2^16 | 65.536 | /16 |
| 24 | 2^24 | 16.777.216 | /8 |
| 32 | 2^32 | 4.294.967.296 | /0 (uzayın tamamı) |
Uzayın tamamı genel internet için kullanılamaz. 224.0.0.0 ile 255.255.255.255 arası, yani adres uzayının sekizde biri, çoklu yayın (multicast) ve ayrılmış kullanım içindir. Özel ağlar, loopback ve dokümantasyon gibi amaçlarla ayrılan bloklar da eklenince genel internette kullanılabilen adres sayısı 4,3 milyarın altında kalır.
Adresler sınırlı olduğundan IANA'nın merkezi boş havuzu 2011'de tükendi. Bölgesel internet kayıtları (RIR) o tarihten sonra ellerindeki bloklarla çalıştı ve kuruluşlar arasında adres devri yaygınlaştı. Açığı iki yol hafifletiyor: bir genel adresi birçok cihaza paylaştıran NAT ve 128 bitlik IPv6. İkisinin karşılaştırmasını IPv4 ve IPv6 farkı yazısında bulabilirsiniz.
A, B ve C sınıfları: sınıflı adreslemeden CIDR'a
İlk tasarımda adresin en soldaki bitleri, ağ kısmının kaç oktet olduğunu belirliyordu. Bu düzene sınıflı adresleme denir. Üç temel sınıfın yanında çoklu yayın için D, ayrılmış kullanım için E sınıfı vardı; A sınıfındaki 0 ve 127 ağları ise ayrıca özel amaçlara ayrılmıştı.
| Sınıf | İlk bitler | İlk oktet | Ağ + ana makine biti | Ağ başına adres |
|---|---|---|---|---|
| A | 0 | 0–127 | 8 + 24 | 16.777.216 |
| B | 10 | 128–191 | 16 + 16 | 65.536 |
| C | 110 | 192–223 | 24 + 8 | 256 |
| D | 1110 | 224–239 | çoklu yayın | uygulanmaz |
| E | 1111 | 240–255 | ayrılmış | uygulanmaz |
Sorun, bu basamakların çok kaba olmasıydı. 300 adrese ihtiyacı olan bir kuruluş ya iki C sınıfı blok alıp yönlendirme tablosunu büyütecek ya da bir B sınıfı alıp 65.000'den fazla adresi boşa harcayacaktı. Adres kaybı ve yönlendirme tablosunun şişmesi 1990'ların başında ciddi bir sorun haline geldi.
Çözüm, 1993'te RFC 1518 ve RFC 1519 ile tanımlanan CIDR oldu (Classless Inter-Domain Routing, yani sınıfsız alanlar arası yönlendirme); güncel tanım RFC 4632 belgesindedir. CIDR'da ağ kısmının uzunluğu adresin ilk bitlerinden değil, adresin yanına yazılan önek uzunluğundan gelir. Örneğin 203.0.113.0/24, ilk 24 bitin ağ, kalan 8 bitin ana makine kısmı olduğunu söyler.
Böylece her blok, 2'nin bir kuvveti kadar adres içerecek biçimde istenen boyutta kesilebildi ve komşu bloklar tek satırda özetlenebildi. Sınıflar bugün yönlendirmede kullanılmaz; “C sınıfı” gibi ifadeler yalnızca 256 adetlik bir /24 bloğunu anlatan günlük konuşma diline kaldı. Önek ve maske hesabını CIDR ve alt ağ maskesi yazısında adım adım görebilir, kendi bloğunuzu IPv4 alt ağ hesaplayıcı ile doğrulayabilirsiniz.
Her adres internette görünmez: özel ve ayrılmış aralıklar
Bazı IPv4 blokları genel internette yönlendirilmeyecek biçimde ayrılmıştır. Evdeki modemin dağıttığı 192.168.x.x adresleri bunun tipik örneğidir: aynı adresi dünyada sayısız ev ağı kullanır, çünkü bu adresler yalnızca kendi ağınızın içinde anlam taşır.
| Blok | Adres sayısı | Amaç |
|---|---|---|
10.0.0.0/8 | 16.777.216 | Özel ağlar (RFC 1918) |
172.16.0.0/12 | 1.048.576 | Özel ağlar (RFC 1918) |
192.168.0.0/16 | 65.536 | Özel ağlar (RFC 1918) |
100.64.0.0/10 | 4.194.304 | Operatör düzeyi NAT (CGNAT) için paylaşımlı alan (RFC 6598) |
127.0.0.0/8 | 16.777.216 | Loopback: cihazın kendisi |
169.254.0.0/16 | 65.536 | Otomatik yerel bağlantı adresleri (link-local) |
224.0.0.0/4 | 268.435.456 | Çoklu yayın (multicast) |
192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | 256 (her biri) | Dokümantasyon ve örnekler (RFC 5737) |
Bu yazıdaki örnek adresler hep 203.0.113.x gibi dokümantasyon bloklarından seçildi. Bu aralıklar genel internette kullanılmamak üzere ayrılmıştır; bu yüzden belgelerde ve yapılandırma örneklerinde gerçek bir ağı işaret etmeden kullanılabilir. Özel ve genel adres ayrımını, CGNAT'ın ne yaptığını özel, genel ve CGNAT IP adresleri yazısında ayrıca ele alıyoruz.
IPv4 adresi ve proxy: hedef sitenin gördüğü adres
Bir proxy üzerinden bağlandığınızda hedef site sizin adresinizi değil, proxy'nin çıkış adresini görür. Hedef yalnızca IPv4 üzerinden yayın yapıyorsa IPv6 çıkışı işe yaramaz; bu yüzden genel amaçlı işlerde IPv4 çıkışı daha öngörülebilir bir seçimdir. IPv4 adres paketi olarak sunulan iki ürün ailesi şunlardır:
- ISP proxy: mağazanın ürün sayfasında belirtildiği üzere tüketici ISP ağına kayıtlı statik IPv4 adresleri. Türkiye paketleri 3 ile 1.500 IP arasında kademelerle sunulur; protokol (HTTP ya da SOCKS5) sipariş sırasında seçilir.
- IPv4 datacenter proxy: 30, 100, 250 ve 1.000 IP'lik 30 günlük paketler. Sipariş formunda lokasyon seçilemez.
Teslim aldığınız bir proxy'nin çıkış adresini kendiniz doğrulayabilirsiniz. Proxy üzerinden IP Adresim sayfasını açtığınızda görünen adres, hedef sitelerin göreceği adrestir. Bu adresin hangi ağa ve kuruluşa kayıtlı olduğunu IPv4 / IPv6 bilgisi aracındaki kayıt bilgisi (RDAP), ASN ve ters DNS alanlarından okuyabilirsiniz.
Adres sayısı ve protokol ihtiyacınız netleştiyse ISP proxy paketlerini ya da datacenter proxy paketlerini inceleyebilirsiniz.