IPv4 admin için IPv6 intro [kapalı]


26

IPv4'ü çok iyi biliyorum, ancak IPv6'yı kullanmak zorunda kalmamıştım ve hiçbir zaman bir ders almadım ya da mantıklı olan belgeleri okumadım.

Birisi beni bir IPv4 yöneticisi için IPv6'ya (çevrimiçi ya da bir kitapta) iyi bir girişde gösterebilir. UNIX yerine çoğunlukla Windows'um, ancak çoğu UNIXy açıklamalarını takip edebiliyorum.


Mesleki eğitimle ilgili sorular , gözden geçirilmiş SSS uyarınca konu dışıdır .
sysadmin1138

Yanıtlar:



39

Bunu geçen yıl, IPv6 adreslerini DNS'ye koymak istediğinde bazı mühendislerimizin kafası karıştığında, dahili bir referans belgesi olarak yazdım. Özel olarak DNS’e değinmedim, ancak kaygının büyük kısmı adreslerin biçimindeydi ve nasıl çalıştıklarını “ele geçirmiyor” gibi görünüyordu. Belki başkaları için de faydalı olacaktır:


Bu nedenle, kabul edilmesi gereken ilk şey IPv6 addreslerinin çirkin görünmesidir. Onlar yapar.

Ancak bence bunun nedeni, onlarla başa çıkmaya alışkın olmadığımız ve IPv4 adresleri ile yaptığımız gibi ne demek istediklerini çok düşük seviyede anlamadık. Bence onlarla rahatlamak biraz zaman alacak ama bir yerden başlamalıyız.

Hatırlanması gereken bir diğer önemli şey, IPv4 adreslerinin 32 bit sayılar ve IPv6 adreslerinin 128 bit sayılar olmasıdır. Bir yönlendirici yönlendirdiğinde veya bir güvenlik duvarı filtrelerse, bu sayıyı temel alarak bunu yapar. Bir insanın bu sayıyı göstermeyi nasıl seçtiği tamamen keyfidir ve çoğunlukla sadece gelenektir. Yani tüm bu e-posta, insanların bu sayıları nasıl temsil ettiğini seçtiğini açıklıyor - makineler umursamıyor, hepsi bitiyor.

Bir IPv4 adresi 32 bit veya dört bayttır. "Gerçek" ip adresleri olarak düşündüğümüz şey, sadece bu bit dizesini temsil etmek, bitleri 4 bitlik bitlere ayırmak, her 8 bit'i ondalık sayı olarak temsil etmek ve bu ondalık sayıları ayırmak için standart hale gelen yöntemdir. bir dönem. Yani, rastgele IP adresi 172.30.154.249 atın. Bir yönlendirici bu IP adresi hakkında "düşündüğünde", gerçekten böyle düşünüyor:

10101100000111101001101011111001

Hangi kendi biçimimize çevirebiliriz:

10101100 = 172

00011110 = 30

10011010 = 154

11111001 = 249

Bazen bunları ayrıca saf bir ondalık sayı olarak da görebilirsiniz:

10101100000111101001101011111001 = 2,887,686,905

Neredeyse hiç kimse bu formu bilerek kullanmıyor (*), ancak IPv4 adresi yazmanın tarihsel olarak geçerli bir yolu. Aslında, bu form 1982’de SMTP’yi tanımlayan RFC821’de kullanılır. Postaları DNS kullanmak yerine belirli bir makineye manuel olarak yönlendirmek istiyorsanız, iki farklı hazır bilgi türü kullanabilirsiniz. İlki, parantez içindeki bilinen "noktalı dörtlü" formdu ("user @ [172.30.154.249]"). İkincisi, bir pound işaretiyle ("user @ # 2887686905") önceden eklenmiş IP'nin ondalık şeklini kullanıyordu.

Yukarıdakilerin hepsi sadece IPv4 adreslerinin nasıl çalıştığı hakkındaki bilgilerinizi IPv6 adreslerine çevirmek için bir çerçeve sağlamaktı. IPv4'ün 32 bitlik bir sayı olması gibi, IPv6 adresleri 128 bitlik sayıdır. ARIN MY AWESOME COMPANY (**) 2311: FD67 / 32 IP aralığına atandı. Çalışmak için bir örnek olması adına IP 2311: FD67 :: AC1E: 9AF9 kullanacağım.

Yani, işte bu ip6'yı temsil eden bit dizesi:

00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001

Bu bit dizelerini IPv4 bit dizelerini yaptığımız gibi gösterirsek (her bir 1 baytlık parçayı ondalık basamağa dönüştürün, her birini bir noktaya ayırın), aşağıdakileri alırız:

35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249

Bunun birkaç sorunu var. Birincisi, eğlenceli olmayan bir IPv4 numarası gibi görünmesi, ki bu iyi değil, aralarında ayrım yapmak için sağlam bir yol istiyorum. Diğeri ise çok fazla bilgi, çok sayıda ve çok fazla boş yer olması. Bu yüzden, her iki problem de farklı bir ayırıcı kullanarak (nokta (.) Yerine iki nokta (:))) ve onluk yerine onaltılık olarak onaltılık sayıları tekrarlayarak çözülür. IPv4'ün 8 bitlik parçaları ayırdığı, ondalık aralıklarla, dönemler halinde temsil edilen IPv6, 16 bitlik parçaları birbirinden iki noktayla ayırır. İşte bizim IPv6 örneği IP’nizin dağılımı:

0010001100010001 = 2311

1111110101100111 = FD67

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

0000000000000000 = 0

1010110000011110 = AC1E

1001101011111001 = 9AF9



2311:FD67:0:0:0:0:AC1E:9AF9

Bunun içinde hala çok fazla beyaz boşluk var, bu yüzden en büyük sıfır dizisinin atlanıp çift kolonla gösterilebilmesi için bir izin var. Böylece, yukarıdaki IP yazılabilir:

2311:FD67::AC1E:9AF9

Bunu pek görmedim, fakat anladığım kadarıyla, son 32 bitin IPv4'ten IPv6'ya geçiş yaparken eski adreslerin kolayca tanınmasına olanak tanıyan son bir bitin ön ekli noktalı dörtlü olarak yazılmasına izin veren düzgün bir kural da var. . Bu nedenle, muhtemelen fark ettiğim gibi IPv6 örnek adresim, tamamen IPv4 örneğimi içeren aynı 32 bit ile bitiyor. Bu tarz yazarken özellikle yararlıdır. Bu durumda, IPv6 adresim aşağıdaki gibi görünür:

2311:FD67::172.30.145.249

IPv6 ile başladığım yere geri dönmek için 2311: FD67 / 32 atandığımızı belirttim. / 32, tıpkı IPv4 adreslerinde olduğu gibi bir bit maskesidir. Esasen, oluşturabileceğimiz bir IPv4 adresinde 128 bitin ilk 32'sini statik olarak atadığımız anlamına gelir. 2311: FD67 32 bit olduğundan, bu aralıkta oluşturduğumuz her IP adresinin bununla başlayacağı anlamına gelir.

Başka bir deyişle, 172.17 / 16 gibi, "172.17.0.0 ile 172.17.255.255 arasındaki her IP" olarak düşünülebilir, 2311: FD67 / 32, 2311: FD67: 0: 0: 0: 0: 0: 0 ve 2311: FD67: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF ".

IPv6'ya geçmeye başlamamızın uzun zaman alacağını düşünüyorum, ancak umarım bu açıklama onları kullanmakta ve bunlara atıfta bulunmak konusunda daha rahat hissetmenize yardımcı olur.

Yine, burada bahsettiğim tek şeyin gerçekten bir IPv6 adresini nasıl yazacağını anlamak gerçekten önemlidir. Yönlendirme için numaralandırma planına yerleştirilmiş çok fazla istihbarat var gibi gözüküyor, henüz henüz anlamadım, yani şu anda ele alabildiğim tek şey göründüğü gibi.

(*) Daha önce bazı yazılım hata ayıklamalarında ondalık IPv4 gösterimini gördüm, ancak neredeyse bir hata ya da tembellik olduğunu düşünüyorum, C kodunda 32bit tamsayıyı olduğundan daha hızlı yazdırmanın çok daha zor olduğunu düşünüyorum. yazdırmak için noktalı bir dörtlü biçimlendirin.

(**) Şirket adımı ve ön ekimi yazdım


2
SPAM bağlantılarının bir IP adresinin 2887686905 / bazı / bağlantı biçimini kullandığını gördüm , bu nedenle bağlantının nereye gittiğini söyleyemezsiniz.
Eddie

1
IPv6 ile düşünmedeki en büyük değişimlerden birinin dinamik adlandırma ve hizmet keşfi olacağını düşünüyorum. Çok sayıda karışık olmayan DNS yöneticisi, dinamik değişikliklerden hoşlanmaz ve hizmet keşfini anlamaz.
duffbeer703

"172.17 / 16", "172.0.0.17/16" anlamına gelir. "172.17.0.0/16" yazmalısınız.
Teddy

3
Size sormak istediğim bir şey: Genel IPv6 alanında nasıl HELL'i 32 bitlik bir alt ağ maskesi aldınız? Bu gülünç! IPv4'ü verdiğimiz oranda dağıtmak istiyorsak, IPv6 adres alanının amacı nedir?
Luke'un

Ürün yelpazesini talep etmekle ilgilenmedim, bu yüzden ayrıntıları bilmiyorum.
jj33



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.