Name resolution คืออะไรใน TCP/IP เป็นเครือข่ายที่นิยมใช้กันอย่างมากซึ่งผู้เรียนรู้ว่าใช้ระบบ IP Address และวิธีที่สะดวกในการติดต่อระหว่างกันที่ดีกว่าหมายเลข IP Address คือการใช้ระบบรายชื่อ ที่เรียกว่า hostnameในระบบแรกๆจะมีการใช้ไฟล์ Hosts ซึ่งจะมีการใช้ Hosts.txt ที่เก็บไว้ส่วนกลางร่วมกันผู้ออกแบบคือ SRI-NIC (Standford Research Institute Network Information Center)ชื่อที่ใช้ Fully Qualify Domain Name หรือ FQDN มีการใช้ชื่อ Hostname+Domain Nameในระบบของไฟล์ที่ดีรองรับหลายล้านโหนดต้องมีการแก้ปัญหาดังนี้- กระจายความรับผิดชอบใน DNS- และกำหนดในแก้ปัญหาชื่อใน Local กันเองสิ่งทั้งสองเรียกว่า Domain Name System (DNS) เป็นมาตรฐาน BIND (Bekeley Internet Name Daemon)เข้าดูรายละเอียดที่ http://www.isc.orgโครงสร้าง DNSสิ่งที่ต้องรู้มี- DNS Namespace เป็นรูปแบบชื่อโฮสต์ซึ่งจะเริ่มจาก Root คือ . แต่ต่อชื่อโดเมนจากหลังมาหน้าจนถึงชื่อโฮสต์- Domain Names เป็นชื่อที่ประกาศในกลุ่มใช้ - Internet Domain Namespace เป็นชื่อที่ขอจากผู้กำหนดชื่อเช่น ICANN หรือ thnic เราสามารถที่กำหนดในระดับชั้นบนสุด ซึ่งจัดการโดย ICANN และกำหนดต่อมาตามผู้ดูแล- โดเมนตามองค์กร ซึ่งจะมีโค้ดสามอักขระเช่น .com, .net- โดเมนตามภูมิประเทศ จะกำหนดตามประเทศเช่น .jp คือ Japan หรือ .th คือ Thailand เป็นต้น- การใช้โดเมน Reverse เป็นชื่อที่กำหนดย้อนกับหมายเลข IP Address ที่ใช้ โดยส่วนใหญ่เราจะใช้แก้ปัญหาจากชื่อโฮสต์เป็นหมายเลข IP Address แต่ถ้า Reverse จะนำ IP address ไปหาชื่อโฮสต์Private Domain Namespaceเป็นชื่อที่กำหนดขึ้นเองใช้ในองค์กร สามารถที่กำหนดอิสระจากชื่อในอินเตอร์เน็ต
ส่วนประกอบ DNSประกอบด้วยDNS Server เป็นเครื่องที่ดูแลระบบรายชื่อ DNS Clientsต้องระบุเรียกใช้ เราสามารถกำหนดใน Windows Server 2003 ได้เป็น - Active Directory Integrated
- Standard Primary
- Standard Secondary
DNS Zones เป็นชื่อที่กำหนดซึ่งมีรูปแบบต่อเนื่อง และเราสามารถที่กำหนดโดเมนย่อยๆลงมาได้DNS Resolvers เป็นเครื่องที่รองรับ DNS protocol ใช้ค้นหาข้อมูลจาก DNS Server ตัวอย่างเช่น DNS clientเรคคอร์ดที่กำหนด เป็นเรคอร์ดที่อยู่ใน DNS นิยมใช้มี Host address (A), alias (CNAME), Mail Exchange (MX) ดูข้อมูลเพิ่มจากเอกสาร Help ใน Windows Server 2003
เข้าใจเกี่ยวกับ DNS Query ทำงานอย่างไรเมื่อลูกข่ายส่งไปถาม DNS Server จะมีข้อมูลสามชุดดังนี้- DNS domain name พิจารณาจาก FQDN- ชนิดที่ค้นหา โดยดูที่เรคคอร์ด- คลาสที่รองรับสำหรับ DNS domain name (โดยส่วนใหญ่เป็น Internet คือ [IN])วิธีการแก้ปัญหาชื่อ DNSจะมีการส่งคำร้องจาก DNS Client ไปหาข้อมูลใน DNS Server ซึ่งจะมีการตรวจสอบในแคช และถ้ามีการติดต่อเครื่องอื่นๆจะต้องทำงานในรูปแบบ Recursionขั้นตอนการค้นหามีสองส่วน- ชื่อที่ค้นหาจะดูที่ลูกข่าย และส่งไปแก้ปัญหา- เมื่อแก้ปัญหาที่ลูกข่ายไม่ได้ก็จะส่งมายัง DNS Server
ลูกข่ายจะค้นหาที่เครื่องก่อนโดยดูในแคชที่มีอยู่ และส่งไปดูที่ไฟล์ Hosts ถ้าไม่มีจะหาใน Server ซึ่งจะมีแคชของ Server และชื่อใน Zones นั้นๆถ้าไม่มีก็จะเป็นการติดต่อระหว่าง Server กับ Server ขั้นตอนนี้เรียกว่า Recursion Local cache จะเก็บไว้อยู่สองที่คือในไฟล์ Hosts กับเรคคอร์ดที่ตอบมาก่อนหน้าการค้นหาจากเครื่องแม่ข่ายDNS client จะตรวจสอบในลำดับของ DNS Server แล้วถ้าพบว่าทำงานใน Preferred DNS server ก็จะค้นหาจากที่นั่น ถ้าไม่ทำงานก็จะค้นหาต่อมาที่ DNS ลำดับถัดไป เครื่อง DNS Server จะตอบรับอัตโนมัติกับลูกข่ายที่เข้ามาร้องขอ และจะดูเรคคอร์ดที่ส่งมาตรวจสอบ เปรียบเทียบกับฐานข้อมูล DNS ถ้าไม่มีใน Zone ก็จะส่งต่อไปยังเครื่องอื่นๆ ซึ่งเรียกกลไกนี้ว่า Recursion โดยจะไปสอบามกับ Root hints
เครื่องที่อยู่ที่ root และส่งต่อไปยัง Domain namespace tree อื่นๆ โดยค่า root hints นี้อยู่ที่ไฟล์ Windows\System32\dns เราสามารถแก้ไขให้กำหนดชื่อ Root hints กับเครื่องภายในได้ถ้า Recursion ถูกไม่อนุญาต ลูกข่ายจะติดต่อไปโดยตรงที่ root hint จาก DNS server แทน ซึ่งเรียกว่า Iteration และทำแบบนี้กับ DNS server ต่างๆตัวอย่างการค้นหา1. เมื่อมีการหาชื่อ FQDN จากแอพพลิเคชั่นบนเครื่องลูกข่าย และลูกข่ายกำหนดหาใน Preferred DNS server 2. ไม่มีอยู่ใน DNS Server ก็จะติดต่อไปยังเครื่องที่รับผิดชอบใน Root โดยไล่ที่ละลำดับจนเจอ DNS Server ที่รู้จักกับโดเมนที่ค้นหา3. เครื่องที่พบเรคคอร์ดจะส่งตรงไปยัง DNS server แรกและเครื่องที่เป็น Preferred DNS server ก็จะตอบกลับไปยังลูกข่ายชนิดของการตอบกลับจะมีหลักๆดังนี้- ตอบกลับเป็น Authoritative เป็นการตอบกลับเป็นบวก และส่งไปที่ลูกข่าย และส่งค่าบิต autority ที่กำหนดใน DNS message ซึ่งค่าที่ส่งไปนี้ถูกเก็บใน Server กับอำนาจตรงในการค้นหาชื่อ- ตอบกลับเป็นบวก ส่งตอบกลับค่าที่พบ- ตอบกลับสิ่งที่เกี่ยวข้อง บรรจุค่าอื่นๆเพิ่มนอกเหนือจากชื่อ หรือชนิดในการค้นหา เช่น www เป็นเพียง CNAME - ตอบกลับเป็นลบ ไม่พบชื่อที่ค้นหา โดยตอบจากไม่มีชื่อใน DNS หรือไม่มีเรคคอร์ดในชื่อที่ระบุเข้าใจเกี่ยวกับการทำงานของแคชทั้ง DNS Server และ Client มีแคชทั้งคู่แคชของ DNS Client จะเกิดขึ้นจากไฟล์ Hosts และชื่อที่เคยติดต่อก่อนหน้าแคชของ DNS Server ทำหน้าที่เป็นที่เก็บชั่วคราวของเรคคอร์ด ซึ่งจะเก็บข้อมูลเพื่อช่วยตอบให้กับลูกข่าย DNS Server cache เคลียร์เมื่อ DNS Server service ยุติ หรือเราจะเคลียร์ด้วยคำสั่ง Dnscmd /clearcacheค่า Time To live (TTL) เป็นค่าที่มีอยู่ในทุกเรคคอร์ดของทรัพยากร ซึ่งระบบ DNS resolver cache และ DNS server cache ใช้เป็นค่าที่จัดเก็บและพิจารณาการหมดอายุ เช่น TTL เป็น 3600 วินาที หรือหนึ่งชั่วโมงเราสามารถกำหนดแคชเพื่อช่วยในการแก้ปัญหาชื่อในอินเตอร์เน็ต โดยยิ่งกำหนดมาเท่าไรยิ่งทำให้ประสิทธิภาพในการทำงานดีขึ้น แต่การอัพเดตข้อมูลใหม่จะช้าลง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น