Mauvzu: IPv4 va IPv6 soket manzillari tuzilmalari Reja:
Ikki qavatli rozetkani yaratish
Ikki qavatli rozetkani yaratish
Ikki qavatli rozetkadan foydalanishda yuzaga kelishi mumkin bo'lgan muammolar
Windows XP SP1 va Windows Server 2003 -da ipv4 va IPv6 -ni qo'llab -quvvatlash uchun, dastur ikkita rozetkani yaratishi kerak, bittasi IPv4 bilan, ikkinchisi esa IPv6 -dan foydalanish uchun. Ushbu ikkita rozetka ilova tomonidan alohida ishlov berilishi kerak.
Windows Vista va undan keyingi versiyalarda ham IPv6, ham IPv4 trafigini boshqaradigan yagona IPv6 soketini yaratish imkoniyati mavjud. Masalan, IPv6 uchun TCP tinglash rozetkasi yaratiladi, u er -xotin yig'ish rejimiga o'tkaziladi va 5001 portiga ulanadi. Bu ikki qavatli uya IPv6 TCP 5001 portiga ulangan TCP mijozlaridan, shuningdek, IPv4 TCP mijozlaridan ulanishni qabul qilishi mumkin. port 5001. Bu xususiyat dastur dizaynini sezilarli darajada soddalashtiradi va ikkita alohida rozetkada operatsiyalarni o'tkazish uchun zarur bo'lgan resurslar yukini kamaytiradi.
Ikki qavatli rozetkani yaratish
Odatiy bo'lib, Windows Vista -da yaratilgan va keyinchalik ipv6 uyasi faqat ipv6 protokoli orqali ishlaydi. IPv6 rozetkasini ikki qavatli uyaga o'rnatish uchun siz IPS6- V6ONLY soket opsiyasi bilan SetSOCCOPT funktsiyasini chaqirishingiz kerak, bu rozetka IP- manzilga ulanmasdan oldin 0 ga o'rnatiladi. Agar IPv6 _ V6ONLY soket opsiyasi 0 ga o'rnatilgan bo'lsa, AF _ INET6 manzillari oilasi uchun yaratilgan rozetkadan paketlarni IPv6 manziliga yoki xaritali IPv4 manziliga yuborish va qabul qilish uchun foydalanish mumkin.
Ikki qavatli rozetkani yaratish
Ikki qavatli uyalar har doim IPv6 manzillarini talab qiladi. IPv4 manzili bilan o'zaro ishlash uchun IPv6 bilan bog'langan IPv4 formatidan foydalanish kerak. Barcha IPv4 manzillari IPv6 manzil formatida bo'lishi kerak, bu faqat IPv6 ilovasi IPv4 xosti bilan aloqa o'rnatishga imkon beradi. IPv4 bilan bog'langan IPv6 manzil formati IPv4 xostining IPv4 manzilini IPv6 manzili sifatida ko'rsatishga imkon beradi. IPv4 manzili past darajadagi IPv6 manzilining 32 bitiga kodlangan va 96 ning yuqori tartibli bitlari 0: 0: 0: 0: 0: FFFF sobit prefiksini o'z ichiga oladi. IPv4 bilan bog'langan IPv6 manzil formati RFC 4291da ko'rsatilgan. Qo'shimcha ma'lumot uchun www.ietf.org/rfc/rfc4291.txt ga qarang . Ibratli IN6ADDR _ mstkpip -da SETV4MAPPED. hIPv4 manzilini IPv4 bilan bog'langan kerakli IPv6 manzil formatiga tarjima qilish uchun foydalanish mumkin.
Agar asosiy protokol aslida IPv4 bo'lsa, IPv4 manzili IPv4 bilan bog'langan IPv6 manzil formatiga mos keladi. SOCKADDR tarkibidagi bu Oila maydoni AF _ INET6 ni ko'rsatadi, lekin IPv4 bilan bog'langan IPv6 manzili IPv6 manzil tuzilmasida kodlangan. Ikki qavatli uyali tinglash uchun barcha qabul qilingan IPv4 ulanishlari IPv6 IPv6 manzilini qaytaradi. IPv4 manziliga ulanadigan ikki qavatli rozetka uchun Ulanish uchun uzatilgan SOCKADDR tuzilmasi IPv6
xaritali IPv4 manzili bo'lishi kerak. Ushbu IPv6 IPv6 manzillarini to'g'ri ishlatishda ilovalar ehtiyot bo'lishi kerak va ularni faqat ikki qavatli uyalar bilan ishlatish kerak. Agar IP -manzil oddiy IPv4 soketiga yuborilsa, IPv6 IPv6 manzili emas, balki oddiy IPv4 manzili bo'lishi kerak.
Do'stlaringiz bilan baham: |