เซิร์ฟเวอร์ / คอมพิวเตอร์ / ผู้ใช้ / แอปพลิเคชันรู้ได้อย่างไรว่าต้องการขอทรัพยากรผ่านอินเทอร์เน็ตด้วยที่อยู่ IPv6 กับและที่อยู่ IPv4
เซิร์ฟเวอร์ / คอมพิวเตอร์ / ผู้ใช้ / แอปพลิเคชันรู้ได้อย่างไรว่าต้องการขอทรัพยากรผ่านอินเทอร์เน็ตด้วยที่อยู่ IPv6 กับและที่อยู่ IPv4
คำตอบ:
สิ่งแรกที่ลูกค้ากำหนดคือโปรโตคอลใดที่พร้อมใช้งาน สมมติว่าทั้ง IPv4 และ IPv6 พร้อมใช้งาน (ไม่เช่นนั้นคำตอบที่โปรโตคอลจะเลือกใช้มีความสำคัญ;) จากนั้นจะทำการค้นหา DNS สำหรับระเบียน A (ที่อยู่ IPv4) และ AAAA (ที่อยู่ IPv6) หากส่งคืนเพียงประเภทเดียวก็จะใช้มัน หากที่อยู่ทั้ง IPv4 และ IPv6 ถูกส่งคืนพฤติกรรมเริ่มต้นจะขึ้นอยู่กับซอฟต์แวร์ไคลเอนต์ โดยปกติRFC 3484ถูกนำมาใช้
ตามมาตรฐานอย่างเป็นทางการมันควรจะชอบ IPv6 แต่เนื่องจากมีบางเครื่อง (0.01% หรือน้อยกว่า) ที่มีการกำหนดค่า IPv6 ผิดพลาดไคลเอนต์จึงกลายเป็นฉลาดขึ้น เบราว์เซอร์ส่วนใหญ่ในปัจจุบันจะพยายามเชื่อมต่อผ่าน IPv6 แต่หากไม่ได้รับการเชื่อมต่อที่ใช้งานได้ภายใน 300 มิลลิวินาทีพวกเขาจะพยายามเชื่อมต่อผ่าน IPv4 แบบขนาน การเชื่อมต่อครั้งแรกที่ประสบความสำเร็จนั้นจะถูกนำมาใช้ นี้ได้รับการคุ้มครองในความสุขสายตา RFC
Apple เปลี่ยนสิ่งนี้ใน Lion ที่นั่นระบบปฏิบัติการจะติดตามประสิทธิภาพของการเชื่อมต่อทั้งหมดและหากพิจารณาว่าการเชื่อมต่อ IPv4 มีเวลาแฝงที่ต่ำกว่าการเชื่อมต่อ IPv6 ระบบจะเริ่มต้นเลือกใช้ IPv4 แต่ถ้าการเชื่อมต่อ IPv4 ช้าลงอาจเปลี่ยนกลับเป็น IPv6 ลองดูที่หัวข้อรายชื่อผู้รับจดหมายนี้เพื่อการอภิปรายเกี่ยวกับคุณสมบัตินี้
สำหรับผู้ใช้มันไม่สำคัญว่าจะใช้ IPv4 หรือ IPv6 ตราบใดที่ใช้งานได้ IPv4 และ IPv6 ควรให้เท่าเทียมกัน เว็บไซต์ควรทำงานเหมือนกับ IPv4 เหมือนกันมากกว่า IPv6 เป็นต้น
IPv4 จะยังคงใช้อยู่เป็นเวลาหลายปี จะไม่สามารถใช้งานได้เมื่อมีการปรับใช้บริการใหม่ (เว็บไซต์เกม ฯลฯ ) เฉพาะผ่าน IPv6 เนื่องจากไม่มีที่อยู่ IPv4 ใหม่ที่จะใช้อีกต่อไป และในบางจุดทุกอย่างที่ทำงานผ่าน IPv4 จะทำงานผ่าน IPv6 ด้วย ณ เวลานั้นการปิดใช้งาน IPv4 จะช่วยประหยัดเวลาและเงิน (ทำไมต้องคงไว้ซึ่งโปรโตคอลทั้งสองเมื่อมีเพียงพอ)
apt-get update
ตัวอย่างพยายามเชื่อมต่อกับโฮสต์ ipv6 แต่โฮสต์นั้นไม่มีแม้แต่ที่อยู่ IPv6 นอกเหนือจากลิงค์ท้องถิ่น
ขั้นตอนกลางที่ใช้ตอนนี้เรียกว่าการขุดอุโมงค์ โดยพื้นฐานแล้วแพ็คเก็ต IPv6 เดินทางภายในแพ็คเก็ต IPv4 จนกว่าจะถึงจุดที่พวกเขาสามารถถอดการห่อหุ้ม IPv4 และส่งออกไปอีกด้านหนึ่งในเครือข่าย IPv6 เต็มรูปแบบ แน่นอนว่ามีความซับซ้อนมากกว่านั้นมาก แต่แนวคิดพื้นฐานโดยทั่วไปนั้นเหมือนกันทั่วทั้งกระดาน
เมื่ออุปกรณ์จำนวนมากขึ้นสามารถใช้งาน IPv6 ได้และผู้คนคุ้นเคยกับการใช้ที่อยู่ IPv6 จะเห็นการใช้งานที่เพิ่มขึ้น ฉันไม่เชื่อ (ความเห็นส่วนตัว) ว่า IPv6 จะได้รับการยอมรับอย่างแท้จริงและเห็นการเปิดตัวขนาดใหญ่ใน SMB และตลาดส่วนบุคคลจนกว่าพื้นที่ IPv4 จะกลายเป็นสินค้าราคาแพง
เมื่อถึงจุดหนึ่งในอนาคตที่ค่อนข้างไกลเมื่อ IPv6 ให้อำนาจกับปริมาณการใช้งานส่วนใหญ่ฉันสามารถเห็นการพลิกกลับของโชคชะตาสำหรับ IPv4 โดยที่ปริมาณการใช้งาน IPv4 จะต้องถูกห่อหุ้มภายในแพ็คเก็ต IPv6 ปกติและโบรกเกอร์อุโมงค์ทำหน้าที่คล้ายกัน การขาดการกำหนดเส้นทาง IPv4 / IP แบบกว้าง
ฉันคิดว่าคุณกำลังถามว่าแอพตัดสินใจเลือกอย่างไร จากด้านโปรแกรมขึ้นอยู่กับการใช้งานแอปพลิเคชัน หาก coder ทำให้ IPv6 มีลำดับความสำคัญสูงกว่า IPv4 ตัวอย่างเช่นมันจะลองใช้ getipv6addr () ก่อน หากไม่ได้กำหนดค่าหรือล้มเหลวก็จะลองใช้ getaddr () ฯลฯ ตามนี้แอปจะส่งคำขอผ่าน IPv6 ก่อนหรือในทางกลับกัน