Forwarder และ Root hint

Forwarder&Root-hin กรณีที่ไคลเอนต์ต้องการทราบไอพีแอดเดรสของ www.bandhit.com ก็จะส่งการร้องขอผ่านกระบวนการ Resolver ไปยัง DNS Server บนโดเมนของตน (เป็นการร้องขอแบบ Recursive) แต่เครื่อง DNS Server ไม่มีข้อมูลเกี่ยวกับเว็บไซต์นี้ จึงส่งการร้องขอไปยัง Root Name Server (เป็นการร้องขอแบบ Iterative) ซึ่งเป็นเครื่อง Name Server ระดับบนสุดของอินเทอร์เน็ต กว่าจะได้คำตอบก็ใช้เวลานาน

เราสามารถแก้ปัญหานี้ได้โดยกำหนด DNS Forwarder ส่งการร้องขอ (Iterative Query) ไปยัง DNS Server ภายนอก คือ ผู้ให้บริการอินเทอร์เน็ตที่เราใช้บริการอยู่ให้ค้นหาแทน เมื่อได้คำตอบแล้วจะเก้บข้อมูลไว้ในแคช และส่งคำตอบกลับไปให้ไคลเอนต์ ซึ่งใช้เวลาน้อยกว่า

ระบบ DNS จะมี Name Server ที่มีอำนาจดูแลโดเมนนั้นอยู่ (Authoritative Name Server) และจัดการกับโดเมนนั้นได้อย่างเต็มที่ แต่ไม่มีความสามารถในการทำ Forwarder คำร้องขอบริการแมปชื่อโดเมนไปยัง Name Server เครื่องอื่นได้ จึงต้องมีการกำหนด Name Server ให้ทำหน้าที่เป็น Forwarder ขึ้น ซึ่งเครื่องที่เป็น Forwarder จะอยู่ในระดับสูงกว่า Name Server ปัจจุบัน

การทำงานเริ่มจากกรณีที่เครื่อง Name Server ภายในโดเมน ไม่สามารถค้นหาหรือแมปชื่อโฮสต์ต่างโดเมนได้ ก็จะส่งการร้องขอบริการไปยังเครื่องที่เป็น Forwarder เพื่อให้จัดการส่งคำตอบสุดท้ายกลับมา (ไม่ว่าจะแมปชื่อโฮสต์ได้หรือไม่ก็ตาม)

การทำงานของ Forwarder&Root-hin กล่าวคือ

เมื่อไคลเอนต์ส่งคำร้องขอเพื่อแมปชื่อโดเมน bandhit.com มายัง Name Server บนระบบ (การทำ Recursive) และไม่สามารถค้นหาชื่อโดเมนนั้นได้ ก็จะส่งคำร้องขอนั้นไปยัง Forwarder เพื่อให้ทำ iterative query ผ่านอินเทอร์เน็ตไปยัง Root Domain Name Server ซึ่งจะบรรจุรายชื่อ Root Name Server บนอินเทอร์เน็ตเอาไว้เรียกว่า “Root Hints” (Windows Server 2012 R2 ได้บรรจุรายชื่อและไอพีแอดเดรสของ Root Domain Name Server เอาไว้ในแท็บ Root Hints ซึ่งมีอยู่ 13 ตัวด้วยกัน)

กำหนด DNS Forwarder

Forwarder เป็นเสมือนการแบ่งเขตระหว่าง DNS Server ภายในองค์กรกับ DNS Server ภายนอกที่เชื่อมต่อกับอินเทอร์เน็ต เพื่อป้องกันอันตรายจากผู้บุกรุก เนื่องจาก DNS Server ภายในองค์กรเป็น Authoritative Name Server ที่มีอำนาจจัดการได้แต่ภายในโดเมนของตนเอง และจะเก็บเฉพาะเรคอร์ดที่รู้จักภานในโซนของโดเมน  หรือที่มีอยู่บนฐานข้อมูล DNS บนเครื่องเท่านั้น

เวลาที่ไคลเอนต์สอบถามการแมปชื่อโฮสต์ต่างโดเมนหรือบนอินเทอร์เน็ต เครื่อง DNS Server ภายในองค์กรจะส่งต่อการร้องขอนั้นไปยัง DNS Server ภายนอกที่เป็น Forwarder เพื่อทำ Iterative query ในการค้นหาต่อไป ซึ่งมีขั้นตอนในการกำหนด Forwarder ดังนี้