जवाबों:
पहली बात यह है कि एक ग्राहक निर्धारित करता है कि कौन से प्रोटोकॉल उपलब्ध हैं। मान लेते हैं कि IPv4 और IPv6 दोनों उपलब्ध हैं (अन्यथा किस प्रोटोकॉल को चुनने का उत्तर तुच्छ है?) यह तब A (IPv4 पता) और AAAA (IPv6 पता) रिकॉर्ड दोनों के लिए DNS लुकअप करेगा। यदि केवल एक प्रकार वापस किया जाता है, तो वह इसका उपयोग करेगा। यदि IPv4 और IPv6 दोनों पते वापस किए गए हैं तो डिफ़ॉल्ट व्यवहार क्लाइंट सॉफ़्टवेयर पर थोड़ा निर्भर करता है। आमतौर पर RFC 3484 का उपयोग किया जाता है।
आधिकारिक मानकों के अनुसार इसे IPv6 को प्राथमिकता देनी चाहिए, लेकिन क्योंकि कुछ (0.01% या उससे कम) मशीनें हैं जिन्होंने IPv6 को गलत तरीके से बनाया है और ग्राहक अधिक स्मार्ट हो गए हैं। इन दिनों अधिकांश ब्राउज़र IPv6 से जुड़ने की कोशिश करेंगे, लेकिन अगर उन्हें 300 मिली सेकेंड के भीतर काम करने का कनेक्शन नहीं मिलता है, तो वे समानांतर में IPv4 से जुड़ने की कोशिश करेंगे। इसके बाद जो पहला कनेक्शन सफल होता है उसका उपयोग किया जाता है। यह हैप्पी आईबॉल आरएफसी में शामिल है ।
सेब ने इसे शेर में बदल दिया। ऑपरेटिंग सिस्टम वास्तव में सभी कनेक्शनों के प्रदर्शन पर नज़र रखता है, और यदि यह निर्धारित करता है कि IPv4 कनेक्शन में IPv6 कनेक्शन की तुलना में कम विलंबता है तो यह IPv4 को प्राथमिकता देना शुरू कर देगा। लेकिन अगर IPv4 कनेक्शन धीमा हो जाता है तो यह IPv6 पर वापस आ सकता है। इस फीचर की चर्चा के लिए इस मेलिंग लिस्ट थ्रेड पर एक नज़र डालें ।
उपयोगकर्ता के लिए यह तब तक मायने नहीं रखता जब तक कि आईपीवी 4 या आईपीवी 6 का उपयोग नहीं किया जाता है, जब तक यह काम करता है। IPv4 और IPv6 को समान रूप से प्रदान किया जाना चाहिए। वेबसाइट्स को IPv4 की तरह ही IPv6 पर काम करना चाहिए, आदि।
आने वाले कई वर्षों तक IPv4 का उपयोग होता रहेगा। एक बार नई सेवाएँ (वेबसाइट, गेम, आदि) IPv6 पर तैनात हो जाने के बाद यह अनुपयोगी हो जाएगा क्योंकि उपयोग करने के लिए अधिक नए IPv4 पते नहीं हैं। और कुछ बिंदु पर जो IPv4 पर काम करता है वह भी IPv6 पर काम करेगा। उस समय IPv4 को अक्षम करने से समय और धन की बचत होगी (एक पर्याप्त होने पर दो प्रोटोकॉल क्यों बनाए रखें?)।
apt-get update
उदाहरण के लिए, ipv6 होस्ट से कनेक्ट करने का प्रयास करता है, लेकिन मेजबान के पास अपने लिंक-लोकल से अलग एक IPv6 पता भी नहीं है।
अभी जो मध्यवर्ती कदम इस्तेमाल किया जा रहा है, उसे टनलिंग के रूप में जाना जाता है। अनिवार्य रूप से IPv6 पैकेट IPv4 पैकेट के अंदर यात्रा करते हैं जब तक कि वे एक बिंदु तक नहीं पहुंच जाते हैं जिस पर उन्हें IPv4 एनकैप्सुलेशन से छीन लिया जा सकता है और दूसरे पक्ष को पूर्ण IPv6 नेटवर्क पर भेजा जा सकता है। बेशक वहाँ की तुलना में बहुत अधिक जटिलता है, लेकिन बुनियादी अवधारणा में बड़े बोर्ड भर में एक ही है।
जैसे-जैसे अधिक से अधिक डिवाइस IPv6 सक्षम होते जाते हैं, और लोग पतों के उपयोग से अधिक परिचित होते जाते हैं, IPv6 का उपयोग बढ़ेगा। मुझे विश्वास नहीं है (व्यक्तिगत राय) कि आईपीवी 6 सही मायने में गले लगाया जाएगा और एसएमबी और निजी बाजार में बड़े पैमाने पर रोल-आउट देखेंगे जब तक कि आईपीवी 4 अंतरिक्ष एक महंगी वस्तु नहीं बन जाता।
काफी दूर के भविष्य के कुछ बिंदु पर जब IPv6 को भारी मात्रा में यातायात की शक्ति प्राप्त होती है, तो मैं IPv4 के लिए भाग्य का उलटफेर देख सकता था, जहां IPv4 यातायात को नियमित रूप से IPv6 पैकेट के अंदर कूटबद्ध किया जाना चाहिए और सुरंग ब्रो के समान (लेकिन उलट) भूमिका निभाते हैं। आईपीवी 4 रूटिंग / आईपी असाइनमेंट की कमी।
मुझे लगता है कि आप पूछ रहे हैं कि कोई ऐप कैसे चुनता है। कार्यक्रम की ओर से, यह आवेदन के कार्यान्वयन पर निर्भर करता है। यदि कोडर IPv6 को IPv4 से उच्च प्राथमिकता देता है, उदाहरण के लिए, यह पहले getipv6addr () का उपयोग करने का प्रयास करेगा। यदि वह अपुष्ट है या विफल रहता है, तो वह getaddr (), आदि का उपयोग करने की कोशिश करेगा। इसके आधार पर, ऐप पहले IPv6 के माध्यम से अनुरोध भेजेगा, या इसके विपरीत।