ฉันจะส่งผู้เยี่ยมชมไปยังเซิร์ฟเวอร์ที่ใกล้เคียงที่สุดโดยใช้ DNS ได้อย่างไร


20

มีวิธีการ จำกัด การป้อนข้อมูล dns หรือไม่? หมายความว่าผู้ใช้จากเอเชียแก้ไข mydomain.com เป็น ip อื่นนอกเหนือจากผู้ใช้จากสหรัฐอเมริกาหรือยุโรป สิ่งนี้จะเป็นประโยชน์ในการมอบเซิร์ฟเวอร์แก่ผู้ใช้ในบริเวณใกล้เคียง DNS เป็นเทคนิคเดียวที่ใช้จนถึงตอนนี้หมายความว่าฉันไม่สามารถวางระบบ softwarerouting หรือระบบส่วนกลางแทนที่ dns เพื่อแก้ไขปัญหานี้ได้

คำตอบ:


20

ใช่ปัจจุบันมีวิธีแก้ไขปัญหายอดนิยมสองวิธีสำหรับปัญหานี้

อันแรกเรียกว่าAnycastซึ่งมีการใช้บล็อก IP เดียวกันในหลาย ๆ แห่งทั่วโลก กล่าวคือเซิร์ฟเวอร์ชื่อสำหรับโดเมนของคุณส่งคืนที่อยู่ IP เดียวกันเสมอ แต่ที่อยู่ IP นั้นกำหนดให้กับเซิร์ฟเวอร์ทางกายภาพมากกว่าหนึ่งชุด

คุณสามารถอ่านเพิ่มเติมได้ที่นี่http://en.wikipedia.org/wiki/Anycast

เทคนิคที่สองเกี่ยวข้องกับ AnyCast อีกครั้งอย่างไรก็ตามในเวลานี้ช่วงที่อยู่ IP ที่ถูกถ่ายทอดใด ๆ นั้นอ้างอิงถึงเซิร์ฟเวอร์ชื่อของเราเอง เนื่องจากเนมเซิร์ฟเวอร์จะร้องขอเฉพาะจากลูกค้าที่ใกล้เคียงที่สุดด้วย (ตามที่กำหนดโดยเวทมนตร์ของ BGP) พวกเขาสามารถส่งคืนที่อยู่ IP ที่เป็นโลจิคัลโลจิคัลให้กับไคลเอ็นต์

ตัวอย่างนี้เป็นโดเมน l.google.com ของ google

จากโฮสต์ในออสเตรเลีย

crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104

จากโฮสต์ในสหรัฐอเมริกา

[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103

ดังนั้น CNAME สำหรับการwww.google.comแก้ปัญหาwww.l.google.comแต่เมื่อคุณแก้ไขแล้วลูกค้าของคุณจะได้รับที่อยู่ IP ชุดอื่น นี่เป็นเพราะเซิร์ฟเวอร์ชื่อที่ได้รับการร้องขอwww.l.google.comเป็นเซิร์ฟเวอร์ท้องถิ่นที่เกี่ยวข้องกับลูกค้า


5
คำตอบนี้ใช้คำถามทางเทคนิค แต่ฉันคิดว่ามันค่อนข้างไร้ประโยชน์ในแง่ของการเป็นคำตอบที่แท้จริงสำหรับปัญหาที่เกิดขึ้นจริง: ฝ่ายส่วนใหญ่ไม่มีการออกอากาศใด ๆ ดังนั้นคำตอบของคุณจึงไม่สามารถเข้าถึงได้สำหรับทุกฝ่าย
cnst

ดังนั้นผู้ลงทะเบียนรายใดเสนอโซลูชันนี้
ไดนามิก

นอกจากนี้ยังควรสังเกตว่า DNS มีคุณสมบัตินี้โดยกำเนิด วางเซิร์ฟเวอร์ DNS ในพื้นที่ที่มีระเบียนที่ชี้ไปยังเว็บเซิร์ฟเวอร์ในพื้นที่นั้น ทำซ้ำในภูมิภาคอื่น ๆ กำไร.
dmourati

@dmourati: นี่จะไม่เผยแพร่และอัปเดตเซิร์ฟเวอร์ DNS อื่น ๆ หรือไม่ ฉันมักจะสันนิษฐานว่าเซิร์ฟเวอร์ DNS มักเผยแพร่ข้อมูลจนกว่าพวกเขาทั้งหมดจะซิงค์
ปราชญ์ Prasad

@GuruPrasad โฮสต์หลาย ๆ แห่ง (โดยปกติจะอยู่ในพื้นที่ทางภูมิศาสตร์ที่แตกต่างกัน) จะได้รับที่อยู่ IP เดียวและเส้นทางที่แตกต่างกันไปยังที่อยู่จะถูกประกาศผ่าน BGP เราเตอร์ถือว่าเส้นทางเหล่านี้เป็นเส้นทางทางเลือกไปยังปลายทางเดียวกันแม้ว่าพวกเขาจะเป็นเส้นทางไปยังจุดหมายปลายทางอื่นด้วยที่อยู่เดียวกัน ตามปกติเราเตอร์จะเลือกเส้นทางด้วยการวัดระยะทางใดก็ตามที่ใช้งานอยู่ (ค่าใช้จ่ายที่น้อยที่สุดแออัดน้อยที่สุดสั้นที่สุด) การเลือกเส้นทางในจำนวนการตั้งค่านี้เพื่อเลือกปลายทาง == wikipedia / anycast ---- แต่มันทำงานได้ดีกว่าใน IPv6 มากกว่าคำอธิบายนี้
Garet Claborn

2

หากคุณต้องการ จำกัด เซิร์ฟเวอร์สำหรับเอเชียอเมริกาเหนือและยุโรปเท่านั้นคุณสามารถตัดสินใจใช้งานทั้ง webapp และ DNS ของคุณเอง

ด้วย DNS คุณสามารถใช้วิธีแบ่ง DNS แบบแยกส่วนซึ่งสามารถทำได้ผ่านการทำงานแบบรวมของเซิร์ฟเวอร์ DNS ของคุณ (พวกเขาอาจเรียกมันว่าGeoDNS ) หรือผ่านไฟร์วอลล์ที่จะเปลี่ยนเส้นทางช่วงที่อยู่ IP ที่แตกต่างไปสู่การทำงานที่แตกต่างกัน อินสแตนซ์ของเซิร์ฟเวอร์ DNS ของคุณ (คุณสามารถเรียกใช้สำเนาเซิร์ฟเวอร์ที่แตกต่างกันหลายชุดในเครื่องท้องถิ่นของคุณซึ่งจะรับฟังที่อยู่ IP ท้องถิ่นที่แตกต่างกัน)

คุณอาจได้ผลลัพธ์ที่คาดหวังใน≈90% ของคดีโดยตอบกลับคำขอ DNS จากที่อยู่ IP ของRIPEและ AfriNIC พร้อมAบันทึกโฮสต์ของคุณในยุโรปคำขอจากAPNIC - โฮสต์ในเอเชียและคำขอจากที่อยู่ IP จาก/ 8บล็อกบริหารงานโดยARIN , LACNIC และส่วนที่เหลือของพื้นที่ที่อยู่ / 8 พร้อมAบันทึกเซิร์ฟเวอร์ของคุณในอเมริกาเหนือ นี่จะมีผลลัพธ์ที่ไม่ถูกต้องในบางสถานการณ์ (บางช่วง / 8 บล็อกมีการใช้ร่วมกันระหว่างยุโรปและอเมริกาเหนือบางพื้นที่ที่อยู่เป็น anycast ฯลฯ ) แต่สิ่งที่แย่ที่สุดที่จะเกิดขึ้นคือเวลาแฝงพิเศษสำหรับบุคคลที่ได้รับผลกระทบ เป็นเรื่องใหญ่

(และใช่ควรมีวิธีที่จะทำให้สิ่งเหล่านี้ง่ายขึ้น แต่จนถึงตอนนี้ดูเหมือนว่าไม่มีเลย)


2

ฉันมีปัญหาเดียวกัน บริษัท ของเรามีลูกค้าในรัสเซียและจีนและพวกเขาต้องการการเชื่อมต่อที่รวดเร็วกับบริการของเรา เราใช้ Amazon Route 53 Geo dns และเพิ่งสร้างสองเร็กคอร์ดหนึ่งจะกำหนดเส้นทางลูกค้าจากประเทศจีนไปยังกลุ่มภูมิภาคโตเกียวของเราและลูกค้าจากรัสเซียไปยังลอนดอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.