IPv4 adresleri 32 bit genişliğindedir ve bu nedenle adres alanının boyutu 2 32 veya 4.294.967.296'dır. Ancak, bu sadece teorik bir üst sınırdır. Genel internette kullanılabilecek tüm adreslerin doğru bir temsili değildir.
Bu zorluğun amaçları doğrultusunda, tüm adreslemenin klasik olduğu varsayılmaktadır . Gerçekte, adres alanının sınıfsal alt bölümünün yerini CIDR (Sınıfsız Alanlar Arası Yönlendirme ve VLSM (Değişken Uzunluk Alt Ağ Maskelemesi) almıştır , ancak bu sorun için bu yok sayılır.
Sınıfsal adres şemasına göre 3 sınıf vardır:
- Sınıf A -
0.0.0.0
için127.255.255.255
olan/8
maskesi uzunluk - Sınıf B -
128.0.0.0
için191.255.255.255
olan/16
maskesi uzunluk - C Sınıfı -
192.0.0.0
için223.255.255.255
olan/24
maskesi uzunluk
Sınıf D (çoklu yayın) ve E (ayrılmış) da tanımlanır, ancak bunlar genel tek noktaya yayın adresleri için kullanılmaz.
Her sınıf, o sınıfın ağ maskesine göre ağlara bölünür.
Böylece 3.0.0.0
A Sınıfı ağın bir örneğidir. Bu ağ için tam adres alanı yani Sınıf A için ağ maskesi uzunluğu 8'dir 3.0.0.0
için 3.255.255.255
. Ancak, ilk adres ( 3.0.0.0
) ağ adresi olarak ve son adres ( 3.255.255.255
) o ağ için yayın adresi olarak ayrılmıştır. Böylece kullanılabilir adreslerden gerçek aralığı 3.0.0.1
için 3.255.255.254
2 olduğu 24 - 2 (= 16.777.214) toplam adresleri.
Benzer şekilde, 200.20.30.0
C Sınıfı bir ağ örneğidir. Bu ağ için tam adres alanı yani Sınıf C için ağ maskesi uzunluğu, 24 olduğunu 200.20.30.0
için 200.20.30.255
. Ağ ve yayın adresleri yaprakları kullanılabilir adreslerden gerçek dizi kaldırma olduğu 200.20.30.1
için 200.20.30.254
olan 2'dir 8 2 (X = 254) toplam adresleri -.
Genel tek noktaya yayın için kullanılabilecek adres aralıklarıyla ilgili başka sınırlamalar da vardır. RFC 6890'a göre izin verilmeyen aralıklar:
0.0.0.0/8
- Yerel ağ oluşturma10.0.0.0/8
- Özel kullanım100.64.0.0/10
- Paylaşılan Adres Alanı127.0.0.0/8
- Geri döngü169.254.0.0/16
- Yerel Bağlantı172.16.0.0/12
- Özel kullanım192.0.0.0/24
- IETF Protokolü Atamaları192.0.2.0/24
- Dokümantasyonda kullanılmak üzere ayrılmıştır192.88.99.0/24
- 6to4 Geçiş Anycast192.168.0.0/16
- Özel kullanım198.18.0.0/15
- Kıyaslama198.51.100.0/24
- Dokümantasyonda kullanılmak üzere ayrılmıştır203.0.113.0/24
- Dokümantasyonda kullanılmak üzere ayrılmıştır
Yukarıdaki listenin, bir aralığı verimli bir şekilde belirlemek için VLSR ağ maskeleri kullandığını unutmayın. Bir durum dışındaki tüm durumlarda, verilen maske uzunluğunun, aralığın başlangıcı için normal klasik maske uzunluğundan daha az veya ona eşit olduğu özgüllüğü vardır. Dolayısıyla, bu VLSR aralıklarının her biri bir veya daha fazla klas ağa eşdeğerdir. Örneğin 172.16.0.0/12
B sınıfı ağları eşdeğerdir 172.16.0.0
için 172.31.0.0
veya adres aralığına 172.16.0.0
kadar 172.31.255.255
.
Bu kuralın istisnası 100.64.0.0/10
, 100.0.0.0
A Sınıfı aralığından daha spesifik olan VLSR aralığıdır. Böylece 100.0.0.0
, ortasında 4.194.304 adresli bir delik olması haricinde, diğer Sınıf A aralıkları gibi ele alınacaktır. Bu sınıfı aralığında geçerli adresler olacak 100.0.0.0
kadar 100.63.255.255
ve 100.128.0.0
hiç 100.255.255.254
2 olmak üzere toplam 24 2 - 22 - 2 (= 12.582.910) toplam adresleri.
Bu zorluğun amacı, halka açık bir internet ana bilgisayarına geçerli olarak atanabilecek tüm Sınıf A, B ve C tek noktaya yayın IPv4 adreslerini vermektir (yani, yukarıda ayrıntıları verilenler hariç).
Hiçbir girdi verilmeyecektir ve beklenmemelidir.
Çıktı dilinize uygun herhangi bir biçimde olabilir, örneğin dizi, liste, sınırlandırılmış dize. Adresler standart noktalı ondalık biçimde yazılmalıdır.
Çıktı sırası önemli değil.
Özellikle gerekli adres aralığını veren yapılara izin verilmez. Benzer şekilde , genel internet için bir BGP (veya başka bir protokol) yönlendirme tablosunu dinamik olarak inceleme yöntemlerine izin verilmez.
Sayısal olarak en düşük adres 1.0.0.1
ve sayısal olarak en yüksek adres olacaktır 223.255.255.254
.
Bu zorluk Tüm IPv6 adreslerini yazdır ile benzerdir , ancak kısıtlamalar nedeniyle önemsiz derecede farklı bir uygulama gerektirir.
@echo off
, hem de.