โครงสร้างของระบบ DNS
ระบบ DNS คืออะไร
DNS คือ Domain Name System และ DNS server คือ Domain Name System server เป็นเครื่องบริการแปลงชื่อเว็บเป็นหมายเลข IP ซึ่งการแปลงชื่อนี้อาจเกิดในเครื่อง local เอง จาก cache ในเครื่อง local หรือจากเครื่องบริการของผู้ให้บริการ เพราะ เบอร์ IP Address เป็นตัวเลขที่ใช้ไม่ค่อยสะดวกและจำยาก ด้วยเหตุนี้จึงมีการคิดระบบตั้งชื่อแบบที่เป็นตัวอักษร ให้มีความหมายเพื่อการจดจำได้ง่ายกว่ามาก เวลาเราอ้างถึงเครื่องใดบนอินเตอร์เน็ต เราก็จะใช้ชื่อ DNS เช่น www.kradarndum.com แต่ในการใช้งานจริงนั้นเครื่องคอมพิวเตอร์ที่เราใช้อยู่ เมื่อรับคำสั่งจากเราแล้ว เค้าจะขอ (request) เครื่องคอมพิวเตอร์ที่ทำหน้าที่บริการบอกเลขหมาย IP Address (ทำหน้าที่คล้ายสมุดโทรศัพท์ Yellow Pages) ซึ่งเรียกกันว่าเป็น DNS Server หรือ Name Server ตัว Name Server เมื่อได้รับ request ก็จะตอบเลขหมาย IP Address กลับมาให้เช่น สำหรับ www.kradarndum.com นั้นจะตอบกลับมาเป็น xxx.xxx.xxx.xxx จากนั้นเครื่องคอมพิวเตอร์ของเราจึงจะเริ่มทำการติดต่อ กับคอมพิวเตอร์เป้าหมาย ซึ่งมันก็จะผ่านกระบวนการแบบที่กล่าวไปข้างต้น คือแบ่งข้อมูลออกเป็น packet จ่าหัวด้วย IP จากนั้นส่ง packet ไปซึ่งก็จะวิ่งผ่าน gateway ต่างๆ มากมายไปยังเป้าหมาย
บางทีเราจะพบกรณีที่คอมพิวเตอร์ที่เป็น Name Server นั้นไม่ทำงาน เราจะไม่สามารถติดต่อเครื่องอื่นบนอินเตอร์เน็ตได้อีกต่อไปโดยใช้ชื่อ DNS Server หากเราทราบ IP Address เราสามารถใช้ IP Address ได้ตรงๆ ทำให้เราไม่จำเป็นต้องพึ่งสมุดโทรศัพท์ของ Name Server ด้วยเหตุนี้เราจึงทำการเก็บชื่อและ IP Address ไว้ในสมุดโทรศัพท์ส่วนตัวประจำเครื่อง เช่นบนระบบยูนิกซ์มีไฟล์ /etc/hosts เอาไว้เก็บชื่อ DNS ที่ใช้บ่อยๆ
บางทีเราจะพบกรณีที่คอมพิวเตอร์ที่เป็น Name Server นั้นไม่ทำงาน เราจะไม่สามารถติดต่อเครื่องอื่นบนอินเตอร์เน็ตได้อีกต่อไปโดยใช้ชื่อ DNS Server หากเราทราบ IP Address เราสามารถใช้ IP Address ได้ตรงๆ ทำให้เราไม่จำเป็นต้องพึ่งสมุดโทรศัพท์ของ Name Server ด้วยเหตุนี้เราจึงทำการเก็บชื่อและ IP Address ไว้ในสมุดโทรศัพท์ส่วนตัวประจำเครื่อง เช่นบนระบบยูนิกซ์มีไฟล์ /etc/hosts เอาไว้เก็บชื่อ DNS ที่ใช้บ่อยๆ
ระบบการตั้งชื่อโดเมน (Domain Name System) หรือ DNS
เราทราบแล้วว่าการติดต่อสื่อสารกันทางอินเตอร์เน็ตซึ่งใช้โพรโตคอล TCP/IP คุยกันโดยจะต้องมีหมายเลข IP ในการอ้างอิงเสมอ แต่หมายเลข IP นี้จัดแบ่งเป็นส่วน ๆ แล้วยังมีอุปสรรคในการจดจำ ถ้าเครื่องที่อยู่ในเครือข่ายมีจำนวนมากขึ้น การจดจำหมายเลข IP ก็จะเป็นเรื่องยากและอาจสับสนเข้าใจผิดได้ แนวทางในการแก้ปัญหาคือ การตั้งชื่อหรือตัวอักษรขึ้นมาแทน หมายเลข IP คือจากหมายเลข 203.154.220.7 มาเป็น wap.chandra.ac.th เป็นต้น เพราะผู้ใช้สามารถจดจำชื่อ ได้แม่นยำกว่า นอกจากนี้ในกรณีที่เกิดเครื่องเสียหรือทำการเปลี่ยนเครื่องคอมพิวเตอร์ที่ให้บริการ จากเครื่องหมายเลข IP 203.154.220.7 เป็น 203.154.220.254 ผู้ดูแลระบบจะจัดการแก้ไขข้อมูลในเครื่องใหม่ที่มีชื่อแทนที่เครื่องเดิมได้ทันโดยไม่ต้องโยกย้าย ฮาร์ดแวร์ใด ๆ ส่วนในมุมมองของผู้ใช้ก็ไม่ต้องแก้ไขอะไรทั้งสิ้น ยังคงความสามารถในการใช้งานดังเดิม
สำหรับเครือข่ายอินเตอร์เน็ต ได้มีการพัฒนากลไก การแทนที่ชื่อเครื่องคอมพิวเตอร์แทนที่ให้บริการกับเลขหมาย IP หรือ Name-to-IP Address ขึ้นมาใช้งานและเรียกกลไกนี้ว่า Domain Name System (DNS) โดยมีการเก็บฐานข้อมูลชื่อและหมายเลข IP เป็นลำดับชั้น (hierarchical structure) อยู่ในเครื่องคอมพิวเตอร์ทำหน้าที่พิเศษ ที่เรียกว่า Domain Name Server หรือ Name Server โครงสร้างฐานข้อมูล Domain Name นี้ ในระดับบนสุดจะมีความหมายบอกถึงประเภทขององค์กร หรือชื่อประเทศที่เครือข่ายนั้นตั้งอยู่
เราทราบแล้วว่าการติดต่อสื่อสารกันทางอินเตอร์เน็ตซึ่งใช้โพรโตคอล TCP/IP คุยกันโดยจะต้องมีหมายเลข IP ในการอ้างอิงเสมอ แต่หมายเลข IP นี้จัดแบ่งเป็นส่วน ๆ แล้วยังมีอุปสรรคในการจดจำ ถ้าเครื่องที่อยู่ในเครือข่ายมีจำนวนมากขึ้น การจดจำหมายเลข IP ก็จะเป็นเรื่องยากและอาจสับสนเข้าใจผิดได้ แนวทางในการแก้ปัญหาคือ การตั้งชื่อหรือตัวอักษรขึ้นมาแทน หมายเลข IP คือจากหมายเลข 203.154.220.7 มาเป็น wap.chandra.ac.th เป็นต้น เพราะผู้ใช้สามารถจดจำชื่อ ได้แม่นยำกว่า นอกจากนี้ในกรณีที่เกิดเครื่องเสียหรือทำการเปลี่ยนเครื่องคอมพิวเตอร์ที่ให้บริการ จากเครื่องหมายเลข IP 203.154.220.7 เป็น 203.154.220.254 ผู้ดูแลระบบจะจัดการแก้ไขข้อมูลในเครื่องใหม่ที่มีชื่อแทนที่เครื่องเดิมได้ทันโดยไม่ต้องโยกย้าย ฮาร์ดแวร์ใด ๆ ส่วนในมุมมองของผู้ใช้ก็ไม่ต้องแก้ไขอะไรทั้งสิ้น ยังคงความสามารถในการใช้งานดังเดิม
สำหรับเครือข่ายอินเตอร์เน็ต ได้มีการพัฒนากลไก การแทนที่ชื่อเครื่องคอมพิวเตอร์แทนที่ให้บริการกับเลขหมาย IP หรือ Name-to-IP Address ขึ้นมาใช้งานและเรียกกลไกนี้ว่า Domain Name System (DNS) โดยมีการเก็บฐานข้อมูลชื่อและหมายเลข IP เป็นลำดับชั้น (hierarchical structure) อยู่ในเครื่องคอมพิวเตอร์ทำหน้าที่พิเศษ ที่เรียกว่า Domain Name Server หรือ Name Server โครงสร้างฐานข้อมูล Domain Name นี้ ในระดับบนสุดจะมีความหมายบอกถึงประเภทขององค์กร หรือชื่อประเทศที่เครือข่ายนั้นตั้งอยู่
การทำงานของระบบ DNS
DNS ทำหน้าที่คล้ายสมุดโทรศัพท์คือ เมื่อมีคนต้องการจะโทรศัพท์หาใคร คนนั้นก็จะเปิดสมุดโทรศัพท์ดู เพื่อค้นหาหมายเลขโทรศัพท์ของคนที่ต้องการติดต่อ คอมพิวเตอร์ก็เช่นกัน เมื่อต้องการสื่อสารกับคอมพิวเตอร์เครื่องอื่น เครื่องนั้นก็จะทำการสอบถามหมายเลข IP ของเครื่องที่ต้องการสื่อสารด้วยกับ DNS server วึ่งจะทำการค้นหาหมายเลขดังกล่าวในฐานข้อมูลแล้วแจ้งให้โฮสต์ดังกล่าว ทราบ ระบบ DNS แบ่งออกเป็น 3 ส่วนคือ
1.Name Resolvers : ดังที่ได้กล่าวมาแล้วว่าจุดประสงค์หลักของ DNS คือการแปลงชื่อคอมพิวเตอร์ ให้เป็นหมายเลข IP ในเทอมของ DNS แล้วเครื่องไคลเอนท์ที่ต้องการสอบถามหมายเลข IP จะเรียกว่า "รีโซล์ฟเวอร์ (resolver)" วอฟแวร์ที่ทำหน้าที่เป็นรีโซล์ฟเวอร์นั้นจะถูกสร้างมากับแอพพลิเคชันหรืออาจจะเป็นไลบรารีที่มีอยู่ในเครื่องไคลเอนท์
2.Domain Name Space : ฐานข้อมูลระบบ DNS มีโครงสร้างเป็นต้นไม้ ซึ่งจะเรียกว่า "โดเมนเนมสเปซ (Domain Name Space)" แต่ละโดเมนจะมีชื่อและสามารถมีโดเมนย่อยหรือซับโดเมน (Subdomain) การเรียกชื่อจะใช้จุด ( .) เป็นตัวแบ่งแยกระหว่างโดเมนหลักและโดเมนย่อย
3.Name Servers : เนมเซิร์ฟเวอร์ คือเครื่องคอมพิวเตอร์ที่รันโปรแกรมที่จัดการฐานข้อมูลบางส่วนของระบบ DNS เนมเซิร์ฟเวอร์จะตอบกลับการร้องขอทันทีโดยการค้นหาข้อมูลในฐานของมูลตัวเอง หรือจะส่งต่อการร้องขอ ไปยังเนมเซิร์ฟเวอร์อื่น ถ้าเนมเซิร์ฟเวอร์มีเร็คคอร์ดของส่วนของโดเมน แสดงว่า เนมเซิร์ฟเวอร์นั้นเป็นเจ้าของโดเมนนั้น (Authoritative) ถ้าไม่มีก็จะเรียกว่า Non-Authoritative
DNS ทำหน้าที่คล้ายสมุดโทรศัพท์คือ เมื่อมีคนต้องการจะโทรศัพท์หาใคร คนนั้นก็จะเปิดสมุดโทรศัพท์ดู เพื่อค้นหาหมายเลขโทรศัพท์ของคนที่ต้องการติดต่อ คอมพิวเตอร์ก็เช่นกัน เมื่อต้องการสื่อสารกับคอมพิวเตอร์เครื่องอื่น เครื่องนั้นก็จะทำการสอบถามหมายเลข IP ของเครื่องที่ต้องการสื่อสารด้วยกับ DNS server วึ่งจะทำการค้นหาหมายเลขดังกล่าวในฐานข้อมูลแล้วแจ้งให้โฮสต์ดังกล่าว ทราบ ระบบ DNS แบ่งออกเป็น 3 ส่วนคือ
1.Name Resolvers : ดังที่ได้กล่าวมาแล้วว่าจุดประสงค์หลักของ DNS คือการแปลงชื่อคอมพิวเตอร์ ให้เป็นหมายเลข IP ในเทอมของ DNS แล้วเครื่องไคลเอนท์ที่ต้องการสอบถามหมายเลข IP จะเรียกว่า "รีโซล์ฟเวอร์ (resolver)" วอฟแวร์ที่ทำหน้าที่เป็นรีโซล์ฟเวอร์นั้นจะถูกสร้างมากับแอพพลิเคชันหรืออาจจะเป็นไลบรารีที่มีอยู่ในเครื่องไคลเอนท์
2.Domain Name Space : ฐานข้อมูลระบบ DNS มีโครงสร้างเป็นต้นไม้ ซึ่งจะเรียกว่า "โดเมนเนมสเปซ (Domain Name Space)" แต่ละโดเมนจะมีชื่อและสามารถมีโดเมนย่อยหรือซับโดเมน (Subdomain) การเรียกชื่อจะใช้จุด ( .) เป็นตัวแบ่งแยกระหว่างโดเมนหลักและโดเมนย่อย
3.Name Servers : เนมเซิร์ฟเวอร์ คือเครื่องคอมพิวเตอร์ที่รันโปรแกรมที่จัดการฐานข้อมูลบางส่วนของระบบ DNS เนมเซิร์ฟเวอร์จะตอบกลับการร้องขอทันทีโดยการค้นหาข้อมูลในฐานของมูลตัวเอง หรือจะส่งต่อการร้องขอ ไปยังเนมเซิร์ฟเวอร์อื่น ถ้าเนมเซิร์ฟเวอร์มีเร็คคอร์ดของส่วนของโดเมน แสดงว่า เนมเซิร์ฟเวอร์นั้นเป็นเจ้าของโดเมนนั้น (Authoritative) ถ้าไม่มีก็จะเรียกว่า Non-Authoritative
ข้อจำกัดของระบบ DNS รับรู้เฉพาะตัวอักษรละติน (ASCII character set) ใน RFC 1035 ระบุว่าสัญลักษณ์ที่ใช้ได้ในโดเมนเนม คือ
- ตัวอักษร a ถึง z (case insensitive)
- เลข 0 – 9
- เครื่องหมายยติภังค์ (-)
การนำไปประยุกต์ใช้งานเชิงสร้างสรรค์ มีการประยุกต์จากระบบ DNS มาเป็นระบบ DDNS โดยทีมงานThai -DDN คือ DDNS ( Dynamic Domain Name System )
จากข้อจำกัดของระบบDNS ได้กลายมาเป็นจุดกำเนิดในการประดิษฐ์คิดค้นเทคโนโลยีชื่อโดเมนภาษาไทยในปี 2542 โดยกลุ่มผู้ประดิษฐ์คิดค้นชาวไทย ที่เอื้ออำนวยให้ผู้ใช้อินเทอร์เน็ตสามารถเรียกดูเว็บไซต์ผ่านทางชื่อโดเมนภาษาไทยเต็มรูปแบบ และเปิดโอกาสให้เจ้าของเว็บไซต์ที่ประสบปัญหากับการมีชื่อโดเมนภาษาอังกฤษที่จดจำยาก หรือใช้สื่อสารกับกลุ่มเป้าหมายได้อย่างลำบาก สามารถจดทะเบียนชื่อโดเมนภาษาไทยให้กับเว็บไซต์ของตัวเอง โดยใช้ตัวแปลงรหัสภาษาท้องถิ่นเพื่อทำงานร่วมกับระบบ DNS
จากข้อจำกัดของระบบDNS ได้กลายมาเป็นจุดกำเนิดในการประดิษฐ์คิดค้นเทคโนโลยีชื่อโดเมนภาษาไทยในปี 2542 โดยกลุ่มผู้ประดิษฐ์คิดค้นชาวไทย ที่เอื้ออำนวยให้ผู้ใช้อินเทอร์เน็ตสามารถเรียกดูเว็บไซต์ผ่านทางชื่อโดเมนภาษาไทยเต็มรูปแบบ และเปิดโอกาสให้เจ้าของเว็บไซต์ที่ประสบปัญหากับการมีชื่อโดเมนภาษาอังกฤษที่จดจำยาก หรือใช้สื่อสารกับกลุ่มเป้าหมายได้อย่างลำบาก สามารถจดทะเบียนชื่อโดเมนภาษาไทยให้กับเว็บไซต์ของตัวเอง โดยใช้ตัวแปลงรหัสภาษาท้องถิ่นเพื่อทำงานร่วมกับระบบ DNS
ไม่มีความคิดเห็น:
แสดงความคิดเห็น