Ipv4 va ipv6 protokollari va ularning paket strukturalari (1)
IPv4 protokoli o‘tgan asrning 70-yillarida ishlab chiqilgan. 232 ta adreslarini taqdim eta olish imkoniga ega bo‘lgan bu protokol bir qancha kamchiliklarga ega. Eng asosiysi, adreslar soni barcha ehtiyojlarni qondirish uchun kamlik qiladi. Bundan tashqari, xavfsizlik masalalari ushbu protokolda ko‘rib chiqilmagan.
IPv4 paketlar formati 1-rasmda ko‘rsatilgan. Sarlavha maydonlarining funksional vazifasi quyidagilardan tashkil topgan: Versiya maydoni (Version) mazkur tarmoqlararo protokol versiyasini ko‘rsatadi. Hozirgi vaqtda protokolning 4-versiyasi bilan birgalikda (ya’ni 0100 maydonida) protokolning 6-versiyasidan (ya’ni 0110 maydonida) foydalanish boshlanadi. Sarlavha uzunligi maydoni (Header Length) tarmoqlararo diagramma sarlavhasining 32 razryadli so‘zlardagi uzunligini ko‘rsatadi. Eng kam (minimal) uzunlik — beshta so‘z, eng katta (maksimal) uzunlik — 32-razryadli so‘zlardan o‘n beshtasi. Servis turi maydoni (Type of Service) xizmat ko‘rsatishning talab etiladigan sifati parametrlarini ko‘rsatadi. Ustuvorlik esa, har bir deytagrammaga ustuvorlik kodini berish orqali paketlarni uzatilishida unga ustunliklar beradi. Bitlar: 12 — D (delay) — kechikish, 13 — T (throughput) — samaradorlik (o‘tkazish qobiliyati), 14 — R (reliability) — ishonchlilik, S (cost) — narxi.
Paketning to‘liq uzunligi maydoni (Total Length) deytagrammaning sarlavha va foydali ish yuki bilan birga, oktet(bayt)lardagi umumiy uzunligini belgilaydi. Paketning to‘liq uzunligi 65535 bayt (216-1 65 535)gacha yetishi mumkin. Umumiy identifikator maydoni (Identification) tarmoqlararo deytagrammalar fragmentlarini yig‘ish uchun mo‘ljallangan. Bayroq (Flag) maydoni deytagrammalarni fragmentatsiyalash imkoniyatini ta’minlaydi hamda fragmentatsiyadan foydalanishda deytagrammaning so‘nggi fragmentini identifikatsiyalash imkonini beradi. «Flaglar» maydonining 0 biti zahirada bo‘lib, 1 esa paketlarni fragmentatsiyasini boshqarish uchun xizmat qiladi (0 — fragmentatsiyalash ruxsat etiladi; 1 — taqiqlanadi), 2 biti mazkur fragment so‘nggisi yoki so‘nggisi emasligini aniqlaydi (0- so‘nggi fragment; 1 — davomini kutmoq lozim).
Fragmentli siljitish maydoni mazkur fragmentning tarmoqlararo deytagrammadagi o‘rnini ko‘rsatadi. Birinchi fragment nolga teng siljishga ega. Qandaydir sabablar natijasida ushlab (kechiktirib) qolingan paketlarni tarmoqdan bartaraf etish uchun sarlavhadagi yashash vaqti maydonida paket tarmoqda mavjud bo‘lishi lozim bo‘lgan vaqt ko‘rsatiladi. Ushbu vaqt qiymati paketning tarmoq bo‘ylab qurilmalardan o‘tishi sayin kamayib boradi. U tamom bo‘lganida, jo‘natuvchi tegishli ICMP-xabar bilan xabardor qilingan holda, paket yo‘q qilinadi. Bunday chora tarmoqni siklik marshrutlardan va haddan tashqari ish bilan yuklashdan himoya qiladi. «Yashash vaqti» soniyalarda — ko‘pi bilan 255 soniya (taxminan 4,3 daqiqa) etib beriladi [2].
Protokol turi (Protocol) maydoni foydalaniladigan yuqori sath (ICMP — 1, IGMP — 2, TCP — 6, UDP — 17) protokolini aniqlaydi. Sarlavhaning nazorat yig‘indisi maydoni (Header Checksum). Paketning adres (adres) qismi buzib ko‘rsatilish ehtimolini kamaytirish va uning natijasi — uning aynan adresga yuborilmasligi (va yo‘qolishi)ning oldini olish uchun, sarlavha paketi 2 bayt o‘rin egallaydigan va butun sarlavha bo‘ylab hisoblanadigan tekshirish ketma-ketligi — nazorat yig‘indisi bilan yuboriladi. Sarlavhada bo‘lgan IP-adreslar (jo‘natuvchining IP-adresi (Source Address) qabul qilib oluvchining IP-adresi (Destination Address) tarmoq obyektlari — so‘nggi ko‘rsatma va marshrutlashtiruvchilarning 32-bitlik identifikatorlari bo‘lib xizmat qiladi. IP ning yordamchi ko‘rsatkichlari maydoni (IP optsiyalari) (Options) — qo‘shimcha xizmatlar bor yoki yo‘qligini aniqlaydi. O‘zgaruvchan uzunlikka ega va tarmoqlararo deytagrammada bo‘lishi va bo‘lmasligi mumkin. To‘ldiruvchi maydon (Padding) sarlavhani 32-razryadli chegaraga moslashtirish (to‘g‘rilash) uchun qo‘llaniladi.
IPv4 protokolini adreslashdagi umumiy tamoyillar
IP-adreslash asoslari. IP-adres o‘nlik sonlarda ifoda etilgan, W.X.Y.Z shaklida nuqtalar bilan ajratilgan. Unda nuqtalar oktetlarni ajratish uchun foydalaniladigan (masalan, 10.0.0.1) noyob to‘rt oktetlik (32-bitlik) kattalikni o‘zida ifoda etadi. Adresning 32 biti ikki qismdan iborat: tarmoq yoki aloqa adresi (o‘zida adresning tarmoq qismini ifoda etuvchi) va xost adresi (tarmoq segmentida xostni identifikatsiyalovchi). Tarmoqlarni ulardagi xostlar soni bo‘yicha ajratish IP-adreslarni sinflarga ajratish asosida amalga oshiriladi. IP-adreslarning 5 ta: A, B, C, D va E sinflari mavjud. Faqatgina A, V va S sinflari adreslari noyob sifatida foydalanilishi mumkin. D sinfiga oid adreslar tugunlar to‘plamiga murojaat qilish uchun qo‘llaniladi, «E» sinfiga oid adreslar esa tadqiqot olib borish maqsadida zahiralashtirilgan va hozirgi vaqtda ulardan foydalanilmaydi. Bundan tashqari, barcha sinflardagi bir necha adreslar maxsus maqsadlar uchun zahiralashtirilgan.
«A» sinf adreslari. «A» sinf tarmoqlari adresdagi eng katta (chap) bitning 0 qiymati bilan aniqlanadi. Birinchi oktet (0 dan 7 gacha bitlar) adresdagi chap bitdan boshlanadi. Ushbu oktet tarmoqdagi tarmoqosti (tarmoqning ichidagi kichik tarmoq)lar sonini belgilaydi, ayni vaqtda, qolgan uchta oktet (8 dan 31 ga qadar bitlar) tarmoqdagi xostlar sonini ifoda etadi. Misol uchun, tarmoqdagi A 124.0.0.1 sinfi adresini olaylik. Bunda 124. — tarmoq adresini ifoda etadi, adres oxiridagi 0.0.1 esa, ushbu tarmoqdagi birinchi xostni anglatadi. «A» sinfi adreslari yordamida, har bir tarmoqda faqatgina 16 777 214 (224-2) ta xostlarni ifoda etish mumkin.
«B» sinf adreslari. «B» sinf tarmoqlari adresning katta bitlarida 1 va 0 qiymatlar bilan belgilanadi. Adresdagi birinchi ikkita oktet (0 dan 15 ga qadar bitlar) tarmoq adreslarini ifoda etish uchun xizmat qiladi, qolgan ikkita oktet esa, ushbu tarmoqlardagi xostlar raqamlarini ifoda etadi. Natijada biz 65534ta xostlarning har biridan 16384ta tarmoqlar adreslariga ega bo‘lamiz. Misol uchun, «B» sinfi adresidagi 172.16.0.1, tarmoq adresi — 172.16, xost raqami — 0.1.
«C» sinf adreslari. «C» sinf tarmoqlari adresdagi katta bitlar 1, 1 va 0 qiymatlari bilan aniqlanadi. Birinchi uchta oktet (bitlar 0 dan 23 ga qadar) tarmoqlar raqamlarini ifoda etish uchun foydalaniladi, so‘nggi oktet esa (bitlar 24 dan 31 ga qadar) tarmoqdagi xostlar raqamini o‘zida ifoda etadi. Shunday qilib, 2 097 152 ta tarmoqqa ega bo‘lamiz, ularning har birida 254ta xost bo‘ladi. Misol uchun, S 192.11.2.1 sinfi tarmog‘idagi adresni olaylik, undagi 192.11.2 tarmoq adresini o‘zida ifoda etadi, tarmoqdagi xostning raqami esa — 1.
«D» sinf adreslari. «D» sinf tarmoqlari IP — adresning birinchi to‘rtta bitlarida 1, 1, 1 va 0 qiymatlari bilan belgilanadi. «D» sinfining adres kengligi tugunlar to‘plamini adreslash uchun foydalanuvchi, guruhiy IP — adreslarni ifoda etish uchun zahiralashtirilgan. Bu mazkur paketning adres maydonida ko‘rsatilgan raqam bilan guruhni tashkil etuvchi bir nechta tugunlarga darhol yetkazilish lozimligini anglatadi.
«E» sinf adreslari. «E» sinf tarmoqlari IP — adresning katta to‘rtta bitlarida 1, 1, 1 va 1 qiymatlari bilan belgilanadi. Hozirgi vaqtda ushbu diapazon adreslaridan foydalanilmaydi. Ular tajriba maqsadlari uchun zahiralashtirilgan. Tarmoqostilarni adreslash. «A» sinfi, «V» sinfi va «S» sinfi tarmoqlaridagi xost-mashinalari raqamlari singari, tarmoqosti adreslari lokal ravishda beriladi. Boshqa IP — adreslari singari, tarmoqostining har bir adresi noyobdir.
IPv6 4-versiyaning vorisi bo‘lgan Internet protokolining yangi versiyasini ifoda etadi. IPv4 ga nisbatan IPv6 dagi o‘zgarishlarni quyidagi guruhlarga ajratish mumkin: Adreslashning kengayishi. IPv6 da adres uzunligi 128 bitgacha kengaytirilgan (IPv4 da 32 bit), bu esa adreslash iyerarxiyasining ko‘proq darajalarini ta’minlash, adreslashtiriladigan tugunlar sonini oshirish, avto-konfiguratsiyani soddalashtirish imkonini beradi. Multikasting-marshrutlashtirish imkoniyatlarini kengaytirish uchun adres maydoniga «scope» (adreslar guruhi) kiritilgan. Adresning yangi «anycast address» turi aniqlangan. U mijoz so‘rovlarini serverning istalgan guruhiga yuborish uchun foydalaniladi. Anycast adreslash o‘zaro harakat qiluvchi serverlar to‘plami bilan foydalanish uchun mo‘ljal-langan bo‘lib, ularning adreslari mijozga oldindan ma’lum bo‘lmaydi. Qo‘shimcha optsiyalar. IP-sarlavhalar optsiyalari kodlashtirilishining o‘zgartirilishi paketlarni qayta adreslashtirilishini yengillashtirish imkonini beradi. Optsiyalar uzunligiga bo‘lgan cheklovlarni kamaytiradi va kelajakda qo‘shimcha optsiyalar kiritilishini yanada ochiqroq qiladi. Ma’lumotlar oqimlariga belgilar qo‘yish imkoniyati. Muayyan transport oqimlariga tegishli bo‘lgan, ular uchun jo‘natuvchi qayta ishlashning muayyan tartibini so‘ragan paketlarga belgi qo‘yish imkoniyati, masalan, TOS (xizmatlar turi)ning nostandart turi yoki ma’lumotlarga vaqtning real tizimida qayta ishlash joriy qilindi. Xususiy almashishlarni identifikatsiyalash va himoyalash. IPv6 da ma’lumotlarning yaxlitligini va istalganda xususiy ma’lumotni himoyalash uchun tarmoq obyektlarida yoki subyektlarida identifikatsiyalash tasnifi joriy qilingan.
3.1. IPv6 paketlar formati 2-rasmda IPv6 sarlavhasining formati aks ettirilgan.
«Versiya» maydoni Internet protokoli versiyasining 4 bitlik kodi raqami. Ustuvorlikning 4 bitlik «Ustuvorlik» maydoni IPv6 sarlavhasida jo‘natuvchiga paketlarni yetkazishning nisbiy ustuvorligini identifikatsiyalash imkonini beradi. Ustuvorliklarning qiymatlari ikki diapazonga bo‘linadi. 0 dan 7 gacha kodlar trafik ustuvorligini berish uchun foydalaniladi. U uchun jo‘natuvchi ortiqcha yuklanish ustidan nazoratni amalga oshiradi (misol uchun, ortiqcha yuklanish signaliga javoban TSR oqimini pasaytiradi). 8 dan 15 gacha bo‘lgan qiymatlar trafik ustuvorligini aniqlash uchun foydalaniladi. U uchun ortiqcha yuklanish signaliga javoban oqimni pasaytirish amalga oshirilmaydi. Misol uchun, doimiy (turg‘un) chastota bilan yuboriladigan «real vaqt» paketlari holida.
«Oqim belgisi» — oqim belgisining 24 bitlik kod maydoni IPv6 sarlavhasida jo‘natuvchi tomonidan paketlarni ajratish uchun foydalanilishi mumkin. Ular uchun marshrutlashtiruvchida maxsus qayta ishlash talab etilmaydi. Misol uchun, nostandart QoS yoki «real-time» xizmati kabi. Ma’lumotlar o‘lchami — belgisiz 16 bitlik son. O‘zida ma’lumotlar maydonining oktetlardagi uzunlik kodini tashiydi va u paket sarlavhasidan so‘ng keladi. Agar kod 0 ga teng bo‘lsa, u holda ma’lumotlar maydoni uzunligi jumboq ma’lumotlar maydonida yozilgan bo‘ladi va u o‘z navbatida, optsiyalar zonasida saqlanadi. Keyingi sarlavha — 2 bitlik ajratuvchi. IPv6 sarlavhadan keyin bevosita keluvchi sarlavha turini identifikatsiyalaydi. IPv4 protokoli ishlatadigan qiymatlardan foydalanadi. Qadamlarning chegaralangan soni (paketning maksimal yashash vaqti) — 8 bitlik belgisiz butun son. Paket o‘tuvchi har bir tugunda bittaga kamayadi. Qadamlar nolga teng bo‘lganda paket yo‘q qilinadi. IPv4 dan farqli o‘laroq, IPv6 tugunlari paketlarning maksimal yashash vaqtini belgilanishini talab etmaydi. Shu sababli IPv4 «time to live» (TTL) maydoni IPv6 uchun «hop limit» — qadamlarning chegaralangan soni deb nomlangan. Amaliyotda unchalik ko‘p bo‘lmagan IPv4 ilovalar TTL bo‘yicha cheklovlardan foydalanadilar. «Jo‘natuvchi adresi» va «Qabul qilib oluvchining adresi» maydonlariga adres uzunligi IPv4 ga nisbatan uzun bo‘lganligi uchun 128 bit ajratilgan.
IPv6 versiyasida adreslash va adreslar yozuvlarini taqdim etilishi — arxitekturasi
Adreslarning uchta turi mavjud:
Unicast: Birlik interfeys identifikatori. unicast adresdan yuborilgan paket adresda ko‘rsatilgan interfeysga yetkaziladi. Anycast: turli tugunlarga tegishli bo‘lgan interfeyslar to‘plamini identifikatsiyalovchi. Anycast adresdan yuborilgan paket adresda ko‘rsatilgan interfeyslardan biriga yetkaziladi (marshrutlashtirish protokolida belgilanganlardan eng yaqini).
Multicast: Turli tugunlarga tegishli bo‘lgan interfeyslar to‘plamini identifikatsiyalovchi. Multicast adres bo‘yicha yuborilgan paket ushbu adres tomonidan berilgan barcha interfeyslarga yetkaziladi. IPv6 da keng ravishda oldindan xabar beruvchi adreslar mavjud emas. Ularning funksiyalari multikast adreslarga o‘tkazilgan.
IPv6 adreslarini matn satrlari ko‘rinishida ifoda etishning uchta standart shakllari mavjud:
1. Asosiy shakli x: x: x: x: x: x: x: x ko‘rinishiga ega. Bunda «x» — 16 bitlik — o‘n oltilik sonlar. Misollar:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200С:417А
E’tibor qiling, har bir muayyan maydonlarda boshlang‘ich nollarni yozishga hojat yo‘q, biroq har bir maydonda hech bo‘lmaganda bitta raqam bo‘lishi lozim (2-bandda bayon etilgan holatdan tashqari).
2. IPv6 adreslari ayrim turlarida ko‘pincha o‘zlarida nolli bitlarning uzun ketma-ketligini mujassamlashtiradi. Nol bitlik adreslar yozuvini qulayroq qilish uchun, ortiqcha nollarni olib tashlash uchun maxsus sintaksis nazarda tutilgan. « :: » yozuvidan foydalanish 16 ta nollik bitlardan iborat guruhlar borligiga ishora qiladi. « :: » kombinatsiyasi faqatgina adres yozilishida paydo bo‘lishi mumkin. « :: » ketma-ketligi, shuningdek, yozuvdan adresdagi boshlang‘ich va yakunlovchi nollarni olib tashlash uchun foydalanilishi mumkin. Masalan:
1080:0:0:0:8:800:200С:417А unicast adres
FF01:0:0:0:0:0:0:43 multicast adres
0:0:0:0:0:0:0:1 teskari aloqa adresi
quyidagi ko‘rinishda ifoda etilishi mumkin:
1080::8:800:200С:417А unicast adres
FF01::43 multicast adres
:: 1 teskari aloqa adresi
3. IPv4 va IPv6 larda ishlash uchun qulayroq bo‘lgan yozuvning muqobil shakli bo‘lib, x:x:x:x:x:x:d.d.d.d xizmat qiladi, bunda «x» — adresning o‘n oltinchilik 16 bitlik kodlari, «d» esa — adresning kichik qismini tashkil etuvchi o‘nlik 8 bitlik kodlari (standart IPv4 ifodasi), Misol uchun:
0:0:0:0:0:0:13.1.68.3 (siqilgan ko‘rinishda ::13.1.68.3)
0:0:0:0:0:FFFF:129.144.52.38 (siqilgan ko‘rinishda ::FFFF:129.144.52.38)