DNS (Domain Name System) หรือ ระบบชื่อโดเมน
อินเทอร์เน็ต คือเครือข่ายคอมพิวเตอร์ขนาดใหญ่ ที่มีคอมพิวเตอร์ทั่วโลกจำนวนมากเชื่อมต่อกันโดยแต่ละเครื่องในระบบ อินเตอร์เน็ตมีระเบียบวิธีสื่อสารระหว่างกันได้ด้วย Internet Protocol (IP) และอ้างอิงถึงกันและกันจากชุดหมายเลข Internet Protocol (IP address) ซึ่งเป็นชุดหมายเลขที่จำเป็นต้องกำหนดให้มีประจำแต่ละเครื่องคอมพิวเตอร์ใน เครือข่ายอินเตอร์เน็ต มีลักษณะเป็นกลุ่มตัวเลข 4 กลุ่มประกอบกันที่คั่นด้วยดอท เช่น 203.151.17.31 และไม่ซ้ำกันในแต่ละเครื่องเพื่อให้การสื่อสารระหว่างคอมพิวเตอร์มีการ อ้างอิงไปยังแต่ละเครื่องได้อย่างถูกต้อง มีประสิทธิภาพ
เนื่องจากปริมาณคอมพิวเตอร์ในเครือข่ายมีแนว โน้มเพิ่มขึ้นมาก ทำให้การจะเข้าถึงเครื่องคอมพิวเตอร์ซึ่งเป็นแหล่งข้อมูลต่าง ๆ นั้นผ่าน ทางการจดจำหมายเลขเครื่องเป็นเรื่องที่ยากลำบากสำหรับผู้ใช้ (end user) จึงเกิดระบบโดเมนเนม (Domain Name System) หรือเรียกโดยย่อว่า ระบบ DNS ขึ้นมาเสริมระเบียบวีธีเดิมที่สื่อสารด้วย Internet Protocol โดยตรง เพื่อเอื้ออำนวยให้ผู้ใช้เข้าถึงเครื่องคอมพิวเตอร์ที่กระจายอยู่ในเครือ ข่ายอินเตอร์เน็ตผ่านทางการจำชื่อโดเมนที่เป็นชุดตัวอักษรแทน เช่น www.thnic.or.th
จากการที่มีระบบโดเมนเข้ามาเสริม กิจกรรมต่างๆที่จะเกิดขึ้นในเครือข่ายอินเทอร์เน็ตจึงต้องอิงอาศัยอยู่กับ การทำงานของระบบโดเมนเป็นลำดับแรกจึงอาจจกล่าวได้ว่าระบบโดเมนเป็นระบบที่ สำคัญมากต่อการดำเนินไปของกิจกรรมในเครือข่ายอินเตอร์เน็ต ซึ่งหากระบบโดเมนไม่ทำงานเว็บบราวเซอร์ซึ่งเป็นช่องทางเชื่อมต่อสู่โลก อินเตอร์เน็ตให้แก่ผู้ใช้นั้น จะไม่สามารถห้เว็บไซต์พบ และผู้ใช้จะไม่สามารถรับหรือส่งอีเมลได้
ลักษณะโครงสร้างข้อมูลและองค์ประกอบของระบบโดเมน
ในขณะที่เครือข่ายอินเทอร์เน็ตประกอบไปด้วย คอมพิวเตอร์จำนวนมากมายเชื่อมต่อกัน และ IP address สามารถทำให้เครื่องคอมพิวเตอร์ระบุตัวตนระหว่างกันในอินเตอร์เน็ตได้ ชื่อโดเมนก็ทำให้ IP address กลายสภาพไปเป็นตัวอักษรอีกทีหนึ่งเพื่อให้ผู้ใช้ง่ายต่อการจดจำ
ระบบโดเมนจึงเป็นที่อยู่ของข้อมูลเกี่ยวกับ ชื่อโดเมนและ IP address ที่เป็นคู่ของกันและกัน โดยการทำงานของระบบนี้คือสืบค้นชื่อโดเมนไปหาหมายเลขเครื่องคอมพิวเตอร์ หรือ IP address อันเป็นที่อยู่ของข้อมูลปลายทางอย่างมีขั้นตอนในขณะที่ชื่อโดเมนซึ่งเช่น เดียวกันกับ IP Address ซึ่งงทำหน้าที่ระบุที่อยู่ของข้อมูลปลายทางะต้องมีลักษณะเป็เอกลักษณ์ ไม่ซ้าซ้อนกันเพื่อประสิทิภาพในการเข้าถึงข้อมูลอย่างเป็นระบบระเบียบ
ในระบบโดเมนจึงประกอบด้วยชุดข้อมูลจำเพาะของ แต่ละโดเมนจำนวนมหาศาลที่ประกอบไปด้วยสิ่งที่จำเป็นต่อกระบวนการสืบค้น โดยชุดข้อมูลจำเพาะของแต่ละชื่อโดเมนซึ่งจะอยู่ในรูป text file เหล่านั้นถูกเรียกว่า Zone file
การจัดระเบียบ Zone file จำนวนมหาศาลเพื่อประสิทธิภาพในการสืบค้นของระบบโดเมนทำในลักษณะเป็นฐาน ข้อมูลแบบกระจาย โดยแบ่งจัดเก็บ Zone file ตามโครงส้รางเป็นแบบลำดับชั้น (Hierarchical) ไล่จากลำดับบนสุดซึ่งเป็นฐานข้อมูลร่วมของกระบวนการสืบค้นทั้งระบบมีชื่อ เฉพาะว่า root system ประกอบด้วย server จำนวน 13 ตัวโดยแต่ละตัวจะมีข้อมูลเหมือนกันเพื่อรองรับการทำงานของกันและกัน และเพื่อประสิทธิภาพให้แก่การทำงานถามตอบของ DNS เป็นไปได้อย่างรวดเร็วยิ่งขึ้น โดยเมื่อมีการถามหาข้อมูลมายัง root server ใน 13 ตัวนี้ที่อยู่ใกล้ผู้ถามที่สุดจะเป็นผู้ตอบ
ถัดจาก root system ไปจึงเริ่มจากหน่วยชื่อที่มีลักษณะทั่วไป ไปหาลำดับล่างสุดที่เป็นหน่วยชื่อที่มีลักษณะเฉพาะ เกิดรูปลักษณ์โครงสร้างฐานข้อมูลทั้งระบบคล้ายต้นไม้กลับหัว (tree) โดยเรียกทั้งโครงสร้างนี้ว่า Domain name space หรือ เรียกสั้นๆว่า Name space โดยโครงสร้างการจัดลำดับข้อมูลแบบนี้สะท้อนออกไปยังรูปแบบเดียวกันกับการ เขียนชื่อโดเมนซึ่งในแต่ละชื่อเป็นการไล่จากหน่วยชื่อทางขวาที่มีลักษณะ ทั่วไปคั่นไปหาหน่วยชื่อที่อยู่ทางซ้ายที่มีลักษณะเฉพาะขึ้นเรื่อย โดยชื่อแต่ละหน่วยจะคั่นด้วยดอท (.)
ภาพตัวอย่าง >>>>> www.thnic.or.th
การแตกลำดับชั้นลงไปตามโครงสร้างนี้สามารถมี ได้สูงสุด 127 ชั้น และแต่ละชั้นมีตัวอักษร (character) ได้มากสุด 63 ตัวอักษรโดยชั้นที่อยู่ล่างสุดซึ่งอาจเป็นชั้นที่สองไปจนถึงชั้นที่ 127 จะเป็นชื่อที่เจาะจงถึงเครื่องนั้นๆ ในขณะที่ชั้นอื่นๆก่อนถึงชั้นล่างสุดจะเป็นชื่อรากในแต่ละลำดับ
การแตกลำดับชั้นลงไปมากมายเช่นนี้ทำให้ ชื่อโดเมนผันแปรต่างๆกันออกไปได้มากมายยิ่งขึ้น
______root
/\ ____Top Level Domain
/ \ ____2nd Level Domain
/ \ / \___3rd Level Domain
…
/\ /\ /\ /\ /\ /\ …126th Level Domain
ในแต่ละลำดับชั้นที่ถัดจาก root system จะประกอบไปด้วย node (จุดแตกย่อย) ซึ่งเป็นชื่อโดเมนหน่วยขวาสุด(โดเมนระดับบนสุด) จะเป็นชื่อที่รวมของ Zone file ของชื่อโดเมนที่อยู่ภายใต้ node ชื่อโดเมนนั้น ๆ เช่น node .com จะเป็นศูนย์รวมของ Zone file ของชื่อโดเมนต่างๆที่อยู่ภายใต้ .com เช่น amazon.com, ebay.com
การเป็นที่รวมของ Zone files ใน node หนึ่งๆนี้เรียกว่า Zone ซึ่งในแต่ละ Zone จะมี Name Server แบบ Authority Name Server ประจำการอยู่ทำหน้าที่คอยตอบคำถาม ให้แก่ Resolver หรือ Name Server ที่เป็น recursive name server
ผู้ดูแลการทำงานของ Name Server รวมทั้ง ฐานข้อมูลที่ประกอบไปด้วย Zone file ของName Server ต่างๆคือ Registry (ผู้ดูแลฐานข้อมูลโดเมน) ซึ่งสามารถบริหารฐานข้อมูลนั้นได้อย่างอิสระภายใต้การกำดูแลของ ICANN ทำให้ node ของ Zone นั้น ๆ สามารถแตกย่อยโครงสร้างข้อมูลภายใน node นั้น ๆ เพื่อจัดเก็บ Zone file ออกไปได้อีก เป็นหลายๆสาขา (node ย่อย หรือ leaf)
ภาพตัวอย่าง >>> .th >>> .co.th
ลักษณะโครงสร้างต้นไม้เช่นนี้ช่วยให้โดเมนใน หน่วยงานหรือองค์กรใดๆไม่จำเป็นต้องเก็บรักษาสำเนาข้อมูลชื่อโดเมนที่มีอยู่ ทั้งหมด หากแต่ระบบสามารถเชื่อมถึงกันทางเครือข่ายเพื่อสืบค้นและแลกเปลี่ยนข้อมูล รวมทั้งใช้ฐานข้อมูลของแต่ละลำดับชั้นร่วมกันโดยอัตโนมัติ
การทำงานของระบบโดเมน
งานหลักของ ระบบโดเมน คือเก็บข้อมูลของ DNS และตอบคำถามเมื่อได้รับคำร้องจากระบบ โดยบริการสืบค้นชื่อกระทำในหลายแบบโดยมีบริการส่วนใหญ่คือ
- Standard Name Resolution คือกระบวนการใช้ชื่อโดเมนสืบค้น IP Address
- Reverse Name Resolution คือกระบวนการใช้ IP Address สืบค้นชื่อโดเมน
- Electronic Mail Resolution กระบวนการกำหนดจุดหมายในการส่ง E-mail จาก Email ที่จะใช้ในการส่ง
ขั้นตอนในการสืบค้นที่อยู่ของแหล่งข้อมูล ดำเนินไปในลักษณะของ Client – Serverในกระบวนการทำงานของระบบโดเมนแบบมาตรฐาน (Standard Name Resolution ) ภายในโครงสร้างต้นไม้ของระบบโดเมน เป็นการทำงานประสานกันระหว่าง Authority Name Server ซึ่งเป็น Name Server ที่ประจำอยู่แต่ละ Zone รวมไปถึง Name Server ที่ถูกมอบหมาย (delegate) ให้ตอบคำถามเกี่ยวกับชื่อโดเมนภายใต้ชื่อ Node นั้นๆ และ Resolver ซึ่งเป็นโปรแกรมสืบค้นชื่อที่ประจำอยู่ในเครื่องของผู้ใช้ (end user)
กระบวนการสืบค้นชื่อจะเริ่มต้นจากการทำงานของ Resolver ซึ่งได้รับคำสั่งค้นหามาจาก end user โดย resolver จะเริ่มต้นสืบค้นจากภายใน cache ซึ่งเป็นที่เก็บข้อมูลของชื่อที่อยู่ของแหล่งข้อมูลชั่วคราวที่อาศัยอยู่ใน เครื่องของผู้ใช้เอง ซึ่งหากค้นเจอจะทำให้ resolver ทำเวลาในการค้นหาแหล่งที่อยู่ได้ดี
กรณี Resolver ค้นข้อมูลใน cache แล้วไม่พบ Resolver จะมีปกติตั้งต้นถามไปยัง Authority Name Server ที่ประจำอยู่ ณ Root System ซึ่งเป็นฐานข้อมูลร่วมระดับบนสุดที่อย่างน้อยที่สุดสามารถแนะนำเส้นทางให้ แก่ resolver ได้ (Referral Answer) เพื่อให้ Resolver ได้ถามไปยัง Name Server อื่นๆต่อไปกรณีที่ Authority Name Server ที่ประจำอยู่ ณ Root System ไม่รู้คำตอบ
Resolver จะสืบค้นตามคำแนะนำของ Authority Name Server ในระบบปเรื่อยๆ จนกว่าจะพบ Name Server ที่เป็นของแหล่งข้อมูลเป้าหมาย ซึ่งจะให้คำตอบสุดท้ายเป็นหมายเลขประจำเครื่องอันเป็นแหล่งข้อมูลที่ ผู้ใช้ต้องการเข้าถึง ยังผลให้เครื่องผู้ใช้สามารถติดต่อกับเครื่องแหล่งข้อมูลได้ในที่สุด
การถามจะตั้งต้นที่โดเมนระดับกว้าง ได้แก่ root แล้วจึงเป็น โดเมนระดับบนสุดที่สุดก่อนแล้วไล่ความเฉพาะลงมาเรื่อยๆ
กระบวนการ ทำงานแบบนี้ที่ resolver ทำการค้นหาคำตอบเองเป็นหลักด้วยการติดต่อกับ Name Server เรื่อยๆจนกว่าจะเจอ Name Server ที่เป็นปลายทางเรียกว่า Iterative resolution
อย่างไรก็ตามยังมีลักษณะการสืบค้นแบบ Recursive resolution ซึ่งเป็นกระบวนการที่ Resolver พึ่งพาการทำงานของ Name Server เป็นหลักโดย ในการทำงาน resolver ทำการส่งคำถามไปยัง Name Server เพียงครั้งเดียว หากกรณี Authority Name Server ตัวนั้นไม่รู้คำตอบก็จะทำการสืบค้นต่อให้แก่ resolverโดย Authority Name Server นั้นจะต้องมีคุณสมบัติเป็นผู้ค้นหาคำตอบ (resolve) ได้ด้วย เรียกว่า Recursive Name Server ในขณะที่ Resolver ในกระบวนการสืบค้นแบบนี้ก็จะต้องเป็นแบบ Stub resolver ซึ่งมีลักษณะที่ Recursive Name Server ยอมรับ จึงจะทำให้กระบวนการสืบค้นชื่อแบบ Recursive resolution นี้ดำเนินไปได้
ในทำงานในรูปแบบ Recursive resolution มักเป็นกระบวนการที่ใช้กันแบบภายในองค์กรที่อาจให้มี local Name Server ช่วย อำนวยความสะดวกให้ Resolver ภายในเครื่องของผู้ใช้งานในองค์กร
อย่างไร ก็ตามเมื่อ Local Name Server นั้น ๆ ต้องเข้าสู่โครงสร้างข้อมูลระบบโดเมนภายนอก ก็มักจะเป็นกระบวนการสืบค้นแบบ Iterative resolution ปรกติ จึงกล่าวได้ว่าในกระบวนการแบบ Standard Name Resolution อาจมีทั้งลักษณะการทำงานแบบ Iterative resolution และ Recursive resolution ประกอบกัน