IPv6 adres nədir?
Bütün oxucuları salamlayıram. Bu məqalədə İPv6 adreslər haqqında ümumi məlumat verəcəyəm. Çox güman ki, çoxlarınız İPv4 adreslər haqqında kifayət qədər məlumatlısınız. Çünki İPv6-nı izah edərkən mütləq İPv4-ə də müraciət edəcəyik. İlk öncə İPv6 nə olduğu və nə üçün ehtiyac duyulduğuna baxaq.
Bildiyimiz kimi İPv4 32 bit uzunluğunda olub, ümumilikdə 2^32 sayda (4,294,967,296) IP adres əmələ gətirir. Müxtəlif məqsədlər üçün istifadə olunan xüsusi adreslər çıxıldıqda, 3.7 milyard istifadə oluna bilən adres qalır. İlk dönəmlərdə bu adres sayı kifayət qədər çox idi. Lakin sürətlə inkişaf edən internet strukturu nəticəsində istifadəyə yararlı olan boş IPv4 adreslərinin sayı getdikcə azalmağa başladı. 31 Oktyabr 2012 tarixinə RIPE (Avropa Regional İnternet Registri) qurumunun məlumatlarına əsasən Avropa üçün 16,36 milyon boş İPv4 adres qalmışdır. Bu rəqəm çox görünsədə mövcud inkişafı nəzərə alsaq, bu çox kiçik rəqəmdir. Məlumat kimi demək istərdim ki, Asiya üçün artıq İPv4 adreslər tükənmişdir. Bununla da İPv6-ya keçidin necə yaxın olduğunu təsəvvür etmiş oldunuz.
90-cı illərin sonunda bu problemin həlli üçün İPv6 təqdim olundu. Hal-hazirda İPv6 dan istifadə o qədər də geniş yayılmamışdır. Bu qədər vaxt keçməsinə baxmayaraq hələ də İPv4-ün istifadə olunması sizdə sual doğura bilər. Bu günə kimi İPv4-ün istifadə olunması xüsusi İPv4 adreslərinin (Private İP addresses) və NAT (Network Address Translation) texnologiyalarının köməyi ilə mümkün olmuşdur.
İndi isə gəlin İPv6 adreslərinin quruluşuna nəzər salaq. İPv6 adreslər İPv4-dən fərqli olaraq 128 bit uzunluğundadır. Bu da ümumilikdə 2^128 (340,282,366,920,938,463,463,374,607,431,768,211,456) sayda İP adres deməkdir. İPv6 adresslər 16-lıq say sistemi rəqəmləri ilə yazılır.
İlk baxışdan bu adres çox kompleks görünür. Daha rahat yazılış forması üçün 2 üsul tətbiq olunur:
– Başlanğıc sıfırların götürülməsi
– Ardıcıl sıfırların götürülməsi
Bunları necə tətbiq edəcəyimizə baxaq.
Birinci üsulda başlanğıc sıfırları götürək. Həmin sıfırlar qırmızı rəngdə işarələnmişdir. Nəticə aşağıdakı kimi olacaqdır:
İkinci üsulda isə ardıcıl sıfırları götürürük.
Və nəticəmiz bu cür olacaqdır:
Xatırlatmaq istərdim ki, biz ardıcıl sıfırları götürmək üsulunu yalnız bir yerdə istifadə edə bilərik. Misal olaraq İPv6 adresimiz aşağıdakı kimi olsa, biz iki yerdə ardıcıl sıfırlar görürük:
Burda 2 yerdə də həmin prosesi tətbiq etsək, nəticə anlaşılmaz olacaq və tebii ki düzgün olmayacaq:
Düzgün yazılış formaları isə belə olacaqdır:
İPv6 adres prefikslərinin təsvir olunması İPv4 adreslərinin təsvir formasına oxşar olaraq CIDR (Classless İnter-Domain Routing) formasında olur:
ipv6 address/prefiks uzunluğu
Aşağıdakı adreslər 60-bitlik prefiksin düzgün yazılış formasıdır:
2001:0DB8:0000:CD30:0000:0000:0000:0000/60
2001:DB80:CD30:0:0:0:0/60
2001:DB8:0:CD30::/60
İnd isə İPv6 adres növlərinə baxaq:
Xatırladım ki, aşağıda göstərdiyim adres növlərinin anlaşıqlı olması üçün İPv4 adresləri ilə müqayisə etməyə çalışacağam. Lakin İPv4 adresslər haqqında dərin danışmayacağam. Əgər tələbat olarsa başqa bir məqalədə həmin adreslərə müraciət edərik.
–Unspecified address (naməlum adres) –0: 0: 0: 0: 0: 0: 0: 0/128 adres naməlum adres adlanır. Bu adres heç bir hosta təyin oluna bilməz. Bu adresin olmadığını bildirir. Bu adresin istifadəsinə misal olaraq, host tərəfdən adresin öyrənilməsindən öncə gondərilən İPv6 paketin mənbə (source address) adresi kimi istifadəsini göstərmək olar. Eyni ilə İPv4 DHCP Discover paketin mənbə (source address) adresi 0.0.0.0 kimi olur və hostun ip addressə malik olmadığını bildirir.
–Loopback address – 0: 0: 0: 0: 0: 0: 0: 1/128 adres loopback adres adlanır. Bu adres İPv6 paketin hostun özünə göndərilməsi üçün istifadə oluna bilər və heç bir fiziki interface-ə təyin olunmamalıdır. Müqayisə kimi İPv4 loopback address – 127.0.0.1 hesab edə bilərsiniz.
–Global unicast address – Bu adreslər global şəbəkəyə birbaşa çıxa bilən adreslərdir. Müqayisə kimi İPv4 public ip adresləri kimi hesab edə bilərsiniz. Bu adreslər 2000::/3 adres blokuna aiddir.
–Unique local unicast address – Bu adreslər global şəbəkəyə birbaşa çıxa bilməyən adreslərdir və şirkət daxilində istifadə olunur. Müqayisə kimi İPv4 private adresləri kimi hesab edə bilərsiniz. Bu adreslər FC00::/7 adres blokuna aiddir.
–Link-Local unicast address–Bu adreslər tək bir link üçün istifadə olunur. Link-local adresli paketlər router tərəfindən digər linklərə ötürülmür. Bu adreslər FE80::/10 ilə başlayır. Müqayisə kimi İPv6 FE80::/64 adreslərinə İPv4 169.254.0.0/16 adresləri götürülə bilər.
–Site-local unicast address –Bu adreslər global unicast adreslərə ehhtiyac duyulmadan şirkət filialı (site) daxilində istifadə üçün nəzərdə tutulub. Və global olaraq bir-biri ilə qoşulu olan site-lar arasında global adress kimi də istifadə olunur. Bu adresli paketlər routerlər tərəfindən site-dan kənara ötürülməməlidir. Yeni proektlərdə bu adreslər artıq istifadə olunmur.
–Anycast address – Bu adres bir neçə interface üçün identifikator rolunu oynayır. Yəni bir adres bir neçə interface-ə (adətən muxtəlif hostlara) təyin olunur. Müəyyən anycast adresə göndərilən paket routing məsafəsindən (routing distance) asılı olaraq, həmin İPv6 adresə malik “ən yaxın” interface-ə göndərilir. Anycast adreslər hər hansı bir unicast adres formatından istifadə edilərək, unicast adres blokundan təyin olunur.
–Multicast address –İPv6 multicast adres interface qruplarının identifikatoru kimi çıxış edir. Bir interface hər hansı bir multicast qrupa aid ola bilər. Bu adreslər FF00::/8 blokuna aiddir. Multicast adres hər hansı bir İPv6 paketin mənbə adresi (source address) kimi istifadə olunmamalıdır. Bu addresslər FF00:/8 blokundan təyin olunur. Müqayisə kimi İPv4 224.0.0.0/4 adresləri kimi hesab edə bilərsiniz.
İPv6 haqqında məlumat aldıqdan sonra, İPv6 adreslərin təyin olunma üsullarına nəzər salaq:
- Static configuration
- DHCPv6 Stateful
- SLAAC (Stateless autoconfig)
- Combination (static configuration with EUI-64)
Static configuration – adından göründüyü kimi İPv6 adres statik təyin olunur. Misal olaraq router-də 2001:DB80:CD30::1/60 adresin statik konfiqurasiyaya baxaq:
Stateful DHCPv6 configuration – bu üsulda host İPv6 adresi və/yaxud konfiqurasiya informasiyasını serverdən avtomatik olaraq alır. Bu üsul ən çox dəqiq adreslərinin avtomatik təyinin güclü idarə altında saxlanması zamanı istifadə olunur.
Stateles autoconfig– bu üsulda host İPv6 prefix və prefix-uzunluğunu router-dan alır. İPv6-nın host hissəsini isə avtomatik olaraq fiziki adres olan MAC adresin köməkliyi ilə alır. İPv6 host hissəsinin MAC adres-dən alınması EUİ-64 formati vasitəsilə mümkün olur. Gəlin bu prosesin necə baş verdiyinə baxaq. Bizim routerin göndərdiyi prefixin 2001:DB80:CD30::/64 olduğunu, hostumuzun MAC adresinin isə 0012.7FEB.6B40 olduğunu təsəvvür edək. Məqalənin əvvəlində qeyd etdiyim kimi İPv6 adresin uzunluğu 128 bit olmalidir. Amma MAC adresin uzunluğu 48 bit olur. Yəni bizim prefix (64 bit) və MAC adress (48 bit) cəmi 128 bit-dən az nəticə edir. Buna görə də aşağıdakı 2 üsulla arada qalan bit boşluğu doldurulur:
Birinci mərhələdə 48 bitlik MAC adres 64 bitə çevrilir. Bunun üçün MAC adresi iki 24 bit hissəyə bölünür və həmin iki hissə arasına 16 bitlik 0xFFFE daxil edilir. Və nəticədə 64 bitlik adres alınır:
İkinci mərhələdə isə həmin 64 bitlik adresin 7-ci biti 0-dan 1-ə əvəz olunur.
Bu 2 proses nəticəsində bizim 128 bitlik şəbəkədə vahid olan İPv6 adresimiz alınır. Bu çevrilməyə praktiki olaraq nəzər yetirək:
Aşağıda göstərdiyim router-lərdən R_SERVER server rolunu oynnayaraq R_HOST router-inə İPv6 prefix təyin edəcək və router R_HOST isə həmin prefix-ə uyğun MAC adresindən istifadə edərək FastEthernet 1/1 interface-i üçün İPv6 təyin edəcək.
Combination (static configuration with EUI-64)– bu üsulda İPv6 prefix və prefix uzunluğu static olaraq daxil edilir və host hissəsi isə EUİ-64 vasitəsilə MAC addresin köməyi ilə avtomatik təyin olunur.
Sonda vaxt ayırıb məqaləni oxuduğunuz üçün təşəkkürlər. Ümid edirəm yararlı olmuşdur.
P.S. Sizi maraqlandıran və doğma dildə görmək istədiyiniz mövzular barəsində http://forum.technet.az adresində bizi agah etməyi unutmayın.
Rizvan Bayramov
______________
IT Mütəxəssis
Şərhlər ( 8 )
TƏŞƏKKÜR!!!
Salam,
2001:DB8:0:CD30::/60 ipv6 60 prefiksli deyil, 64 prefikslidir.
Salam,
Yuxarıda qeyd edilən sazlamalar laboratoriya şəraitində istifadə olunub və misallarda fərqli prefixlər istifadə edilib.
Cox saqolun
Aşağıdakı adreslər 60-bitlik prefiksin düzgün yazılış formasıdır:
2001:0DB8:0000:CD30:0000:0000:0000:0000/60
2001:DB80:CD30:0:0:0:0/60
2001:DB8:0:CD30::/60
Salam bagishlayin ama men bir sheyi basha dushmedim. Burada qizmizi ile qeyd etdiyim sifirlar bir ardicilliq hesab edilerek hamisi silinir??
Yashilla qeyd etdiyim ikinci siradaki sifirlar weklide olduqda da onlar bir ardicilliq hesab olunu?
Salam,
Bəli yaşıl rəngdə qeyd etdiyiniz sıfırlar da ardıcıl sıfırlar sayılır. Qirmi qeyd olunan sıfırlardan fərqli cəhəti, biz artıq birinci sadələşdirmək metdounu (başlanğıc sıfırların götürülməsi) tətbiq etməyimizdir. Son nəticədə hər 3 İPv6 address eynidir.
Hörmətlə,
Rizvan Bayramov
salam bagışlayın Linc Local unicast adresinin ipv4 üzərində misal çəkmisiz. 169.254.0.0/16 Adətən apipa zamanı bu tip İp ilə qarşılaşırıq. deməli FE80::/10 da apipa adresidir ? düzmü başa düşdüm
Salam İbrahim bəy,
Bəli qeyd etyiviz kimi, FE80::/10 subneti İPv6 üçün İPv4 APİPA ünvanları kimi başa düşülə bilər. Ama tam olaraq APİPA ünvan demək də olmaz. Misal olaraq ipv4 APİPA ünvan yalnız, host üçün İPv4 ünvan təyin edilmədiyi halda avtomatik təyin olunur. Lakin FE80::/10 İPv6 ünvanlar, biz global unicast İPv6 ünvan təyin etyidimiz halda belə əlavə olaraq təyin olunur. Bu link local ünvanlar local olaraq istifadə olunur və local şəbəkədən kənara çixa bilmirlər.
Əlavə sualınız varsa buyurun.
Hörmətlə,