IPv4 va IPv6 protokollari
Internetda ma'lumot almashinuvi uchun asosiy protokollar IPv4 va IPv6 hisoblanadi. Assemblyda tarmoqli dasturlar yaratishda bu protokollarni tushunish va ularga mos socket sozlamalarini qo‘llash muhimdir.
IPv4 va IPv6 protokollari haqida umumiy tushuncha
IPv4 protokoli
IPv4 (Internet Protocol version 4) — eng ko‘p qo‘llaniladigan tarmoq protokoli bo‘lib, 32 bitli manzillardan foydalanadi. Bu 4 ta oktet (bayt) orqali ifodalanadi, masalan: 192.168.1.1
.
Manzil hajmi: 32 bit (taxminan 4,3 milliard manzil)
Manzil formati:
dotted decimal
(masalan,192.168.1.1
)Socket oilasi:
AF_INET
Qo‘llanishi: Ko‘plab eski tizimlar va qurilmalarda ishlatiladi.
IPv6 protokoli
IPv6 (Internet Protocol version 6) IPv4’ning o‘rnini bosish uchun ishlab chiqilgan va 128 bitli manzillardan foydalanadi. Bu manzillar sakkizta 16 bitli blok orqali ifodalanadi, masalan: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
.
Manzil hajmi: 128 bit (juda katta miqdordagi manzillar to‘plami)
Manzil formati:
colon-separated hexadecimal
(masalan,2001:db8::1
)Socket oilasi:
AF_INET6
Qo‘llanishi: Yangi texnologiyalar va tarmoqlarda ishlatiladi, IP manzillar yetishmovchiligini hal qiladi.
Assemblyda IPv4 va IPv6 socket yaratish
Assemblyda socket yaratish uchun sys_socketcall tizim chaqiruvini ishlatamiz. IPv4 va IPv6 socketlari uchun farq asosiy parametrlar, masalan, socket oilasi (AF_INET yoki AF_INET6) va manzil strukturasida ko‘rinadi.
Socket yaratish uchun umumiy tizim chaqiruvlari
socket()
sys_socketcall
Socket yaratish
bind()
sys_socketcall
Socketni lokal manzilga bog‘lash
connect()
sys_socketcall
Serverga ulanish (TCP)
send()
sys_socketcall
Ma'lumot yuborish
recv()
sys_socketcall
Ma'lumot qabul qilish
close()
sys_close
Socketni yopish
IPv4 socket yaratish va sozlash
IPv4 socket uchun AF_INET
oilasi va sockaddr_in
strukturasidan foydalaniladi.
IPv4 sockaddr_in
struktura formati:
IPv4 uchun socket yaratish jarayoni (Assemblyda):
IPv6 socket yaratish va sozlash
IPv6 socket uchun AF_INET6
oilasi va sockaddr_in6
strukturasidan foydalaniladi.
IPv6 sockaddr_in6
struktura formati:
IPv6 uchun socket yaratish jarayoni (Assemblyda):
IPv4 va IPv6 socketlarini taqqoslash
Socket oilasi
AF_INET
AF_INET6
Manzil uzunligi
32 bit
128 bit
Manzil formati
192.168.1.1
2001:db8::1
Struktura
sockaddr_in
sockaddr_in6
Qo‘llanishi
Eski tizimlar va qurilmalar
Yangi tizimlar va tarmoqlar
Qo‘shimcha eslatmalar
IPv6 IPv4 bilan mos ishlashi uchun ba'zan IPv4-mapped IPv6 manzillaridan foydalaniladi (
::ffff:192.168.1.1
formati).Socket oilasi va manzil strukturalarini to‘g‘ri sozlash juda muhim, aks holda tizim chaqiruvi muvaffaqiyatsiz bo‘lishi mumkin.
Assemblyda socket dasturlashda tizim chaqiruvlariga e'tibor qaratish va xatolarni qayta ishlash mexanizmlarini qo‘shish tavsiya etiladi.
Last updated