วันพฤหัสบดีที่ 25 กรกฎาคม พ.ศ. 2556

ความรู้เบื้องต้นเรื่องระบบชื่อโดเมน


ความรู้เบื้องต้นเรื่องระบบชื่อโดเมน


ระบบชื่อโดเมน (Domain Name System) หรือ ดีเอ็นเอส (DNS)  เป็นระบบการตั้งชื่อให้กับ "ทรัพยากรเครือข่ายแต่ที่พบโดยทั่วไปคือการตั้งชื่อโฮสต์เพื่อใช้แทนไอพีแอดเดรส ดีเอ็นเอสเป็นระบบชื่อที่มีฐานข้อมูลแบบกระจาย โดยไม่มีหน่วยงานหรือสถาบันใดควบคุมหรือมีฐานข้อมูลเดี่ยวครอบคลุมทั้งอินเทอร์เน็ต แต่ละเครือข่ายในอินเทอร์เน็ตจะมีดีเอ็นเอสเซอร์ฟเวอร์เก็บรักษาฐานข้อมูลและบริหารข้อมูลอย่างอิสระ เพื่อให้ไคลเอ็นต์ขอบริการสอบถามข้อมูลตามแบบโปรโตคอลที่กำหนด ดีเอ็นเอสจึงเป็นทั้งระบบการตั้งชื่อและโปรโตคอลรวมอยู่ด้วยกัน
การติดต่อกับผู้ใช้งานประจำเครื่องใดๆ เช่นการส่งอิเล็กทรอนิกส์เมลอาจใช้ไอพีแอดเดรสระบุถึงคอมพิวเตอร์ปลายทางได้เช่น somchai@176.16.0.1 หรือใช้เบราเซอร์เปิดอ่านเว็บเพจโดยใช้ http://192.0.34.65 แต่การใช้ไอพีแอดเดรสดังตัวอย่างที่กล่าวมานั้นไม่อำนวยสะดวกต่อการจดจำ ในอินเทอร์เน็ตจึงใช้วิธีตั้งชื่อให้กับเครื่องเพื่อให้ผู้ใช้จดจำได้ง่ายกว่าตัวอย่างเช่นอีเมลแอดเดรสข้างต้นอาจเขียนแทนด้วย somchai@ku.ac.th หรือการเปิดอ่านเว็บเพจโดยใช้ http://www.isoc.org
เมื่อใช้ชื่อแทนไอพีแอดเดรสสำหรับเรียกใช้บริการหนึ่งๆ โปรแกรมประยุกต์ที่เกี่ยวข้องกับบริการนั้นจะใช้กลไกของระบบเพื่อแปลงชื่อไปเป็นไอพีแอดเดรส และนำไอพีแอดเดรสนั้นติดต่อไปยังคอมพิวเตอร์ปลายทางต่อไป
การใช้งานในยุคต้น
ในยุคแรกเริ่มของการใช้ชื่อทดแทนแอดเดรส ระบบฐานข้อมูลซึ่งเก็บชื่อเครื่องที่สมนัยกับไอพีแอดเดรสเป็นฐานข้อมูลเดี่ยว ฐานข้อมูลนี้ดูแลโดยศูนย์สารสนเทศเครือข่ายสถาบันวิจัยสแตนฟอร์ด (Stanford Research Institute's Network Information Center หรือ SRI-NIC) เครือข่ายใดที่ต้องการใช้ฐานข้อมูลจะต้องใช้โปรโตคอลถ่ายโอนแฟ้ม หรือ เอฟทีพี (FTP : File Transfer Protocol) เพื่อนำรายชื่อและแอดเดรสไปใช้งาน ฐานข้อมูลกลางจะปรับปรุงใหม่อยู่ตลอดเวลาเพื่อให้แต่ละเครือข่ายถ่ายโอนข้อมูลล่าสุดไปใช้ รูปแบบเช่นนี้เป็นวิธีปฏิบัติที่ไม่เป็นปัญหาในยุคต้นเนื่องจากจำนวนเครือข่ายและคอมพิวเตอร์จำกัดอยู่ในหน่วยงานราชการและสถาบันการศึกษา แต่เมื่อจำนวนเครือข่ายและคอมพิวเตอร์ขยายตัวเพิ่มมากขึ้น กระบวนการถ่ายโอนเริ่มพบปัญหาอุปสรรคได้แก่
·การปรับปรุงฐานข้อมูลแบบรวมศูนย์ไม่ตอบสนองกับอัตราการเพิ่มของคอมพิวเตอร์ได้อย่างทันท่วงที
·ฐานข้อมูลมีขนาดใหญ่มากขึ้น การถ่ายโอนใช้เวลาและใช้ช่องสัญญาณมากทำให้กระทบต่อการใช้งานอื่น
·ฐานข้อมูลเดิมเก็บชื่อเป็นระดับเดียวกัน ทำให้เกิดปัญหาการจัดการเมื่อมีผู้ขอตั้งชื่อเหมือนกัน
ด้วยเหตุนี้จึงมีแนวคิดในการปรับปรุงระบบให้บริการชื่อเครื่องใหม่ ระบบการแปลงชื่อปรับเปลี่ยนไปสู่ระบบอัตโนมัติที่ใช้วิธีการกระจายฐานข้อมูล มีโปรโตคอลสำหรับเชื่อมต่อฐานข้อมูลนั้นและปรับปรุงข้อมูลโดยอัตโนมัติ รูปแบบการตั้งชื่อมีโครงสร้างแบบลำดับชั้นป้องกันการตั้งชื่อซ้ำซ้อน ระบบดังกล่าวนี้อยู่ภายใต้ข้อกำหนดของโปรโตคอล ดีเอ็นเอส (DNS : Domain Name System) หรือเรียกว่า ระบบชื่อโดเมน
ระบบชื่อโดเมนเป็นบริการที่มีความสำคัญอย่างมากในอินเทอร์เน็ต หากระบบชื่อโดเมนไม่สามารถให้บริการได้อาจกล่าวได้ว่าบริการอื่นในอินเทอร์เน็ตจะหยุดชะงักลง ระบบชื่อโดเมนมีฐานข้อมูลแบบกระจายโดยไม่มีหน่วยงานหนึ่งหน่วยงานใดควบคุมฐานข้อมูลเดี่ยวทั้งหมด แต่ละเครือข่ายจะมีเซิร์ฟเวอร์เก็บรักษาฐานข้อมูลและบริหารข้อมูลอย่างอิสระ แต่ละเซิร์ฟเวอร์จะสื่อสารกันด้วยโปรโตคอลดีเอ็นเอสและให้ไคลเอ็นต์ในอินเทอร์เน็ตขอบริการสอบถามข้อมูล ดีเอ็นเอสจึงเป็นทั้งระบบการตั้งชื่อและโปรโตคอลรวมอยู่ด้วยกัน
รูปแบบการเขียน
การเขียนชื่อคอมพิวเตอร์ประจำโดเมนใดๆจะเริ่มต้นจากชื่อเครื่องตามด้วยชื่อโดเมนย่อยที่คั่นด้วยจุดและปิดท้ายด้วยจุดซึ่งแสดงถึงจุดบนสุดหรือเรียกว่า ราก  (root)
เครื่องหมายจุดเป็นสัญลักษณ์ที่ใช้ระบุว่าชื่อได้สิ้นสุดโดยไม่มีชื่อต่อท้ายอีก และเรียกชื่อชื่อนั้นว่าเป็นชื่อสัมบูรณ์ (absolute name) ทั้งนี้เพื่อป้องกันความสับสนกับชื่อที่เขียนแบบสัมพัทธ์ ตัวอย่างเช่นชื่อ www.moe.go.th. มีความหมายดังต่อไปนี้
· www           ชื่อเครื่อง (host name)
· moe             ชื่อโดเมนกระทรวงศึกษาธิการ
· go               ชื่อโดเมนในหมวดหน่วยงานราชการ
· th                ชื่อโดเมนสัญชาติไทย
·  .                  สัญลักษณ์แทนราก
รูปแบบการเขียนชื่อคอมพิวเตอร์ที่ระบุทั้งชื่อเครื่องและชื่อโดเมนที่สังกัดเต็มรูปแบบโดยปิดท้ายด้วยเครื่องหมายจุดเป็นรูปแบบการเขียนที่สมบูรณ์ และเรียกชื่อที่เขียนในลักษณะนี้ว่า FQDN (Fully Qualified Domain Name)
ประโยชน์จากการใช้ชื่อตามโครงสร้างแบบนี้คือทำให้ชื่อในโดเมนหนึ่งจะมีได้เพียงชื่อเดียวโดยไม่ซ้ำซ้อนกันไม่ว่าอินเทอร์เน็ตจะมีขนาดใหญ่เพียงใดหรือมีจำนวนโดเมนย่อยเท่าใด เพราะเครื่องที่อยู่ต่างโดเมนถึงแม้จะมีชื่อเครื่องหรือชื่อโดเมนย่อยเหมือนกัน หากแต่การสังกัดอยู่ในชื่อโดเมนระดับบนที่ต่างกันย่อมมี FQDN ที่แตกต่างกันและถือว่ามีชื่อต่างกัน ตัวอย่างเช่น www.name.co.th ถือว่ามีชื่อโดเมนต่างจาก www.name.com ในอีกแง่มุมหนึ่งแล้วประโยชน์ของชื่อโดเมนแบบโครงสร้างคือช่วยให้สามารถตั้งชื่อเครื่องได้หลากหลายในหมวดชื่อโดเมนต่างๆ

ระบบชื่อโดเมนในอินเทอร์เน็ตมีการจัดแบ่งตามโครงสร้างลำดับชั้น (Hierarchical) และใช้ฐานข้อมูลแบบกระจาย (Distributed) ระบบฐานข้อมูลแบบกระจายช่วยให้บริการชื่อโดเมนใน องค์กรใดๆที่เป็นส่วนหนึ่งของระบบชื่อโดเมนไม่จำเป็นต้องเก็บรักษาสำเนาข้อมูลชื่อโดเมนที่มีอยู่ทั้งหมด หากแต่ระบบสามารถเชื่อมถึงกันทางเครือข่ายเพื่อสืบค้นและแลกเปลี่ยนข้อมูลรวมทั้งใช้ฐานข้อมูลร่วมกันโดยอัตโนมัติ โครงสร้างตามลำดับชั้นของระบบชื่อโดเมนเปรียบเทียบได้กับการแบ่งองค์กรเช่นภายในบริษัทอาจแบ่งออกเป็นแผนกย่อย แต่ละแผนกอาจแบ่งย่อยเป็นฝ่าย หรืออาจเปรียบเทียบกับการแบ่งพื้นที่ทางภูมิศาสตร์ออกเป็นประเทศ จังหวัด อำเภอ ตำบล เป็นต้น
อินเทอร์เน็ตดีเอ็นเอสมีโครงสร้างตามลำดับชั้นแบบโครงสร้างต้นไม้กลับหัวดังรูปที่ 1 โครงสร้างอยู่ภายใต้ต้นไม้รากเดี่ยวและแตกกิ่งก้านมาเป็นลำดับ ส่วนปลายสุดเป็นจุดที่ไม่สามารถแตกกิ่งออกไปได้อีกจะเป็นชื่อเครื่อง ตัวอย่างเช่น tpt.nectec.or.th หมายถึงเครื่อง tpt ของโดเมน nectec.or.th หรือ cc.usu.edu คือเครื่อง cc ของโดเมน usu.edu
โครงสร้างต้นไม้ทั้งโครงสร้างเรียกโดยทั่วไปว่า โดเมนเนมสเปซ (domain name space) หรือเรียกสั้นๆว่า เนมสเปซ หรือหากต้องการกล่าวเจาะจงถึงอินเทอร์เน็ตก็เรียกว่า อินเทอร์เน็ตเนมสเปซ หากพิจารณารูปที่ 1 อินเทอร์เน็ตเนมสเปซมี 3 กลุ่มใหญ่ ความหมายของแต่ละกลุ่มจะกล่าวโดยละเอียดภายหลัง
รูปที่ 1 โครงสร้างลำดับชั้นของดีเอ็นเอส

ชื่อโดเมน
แต่ละโหนดในเนมสเปซมีชื่อกำกับเพื่อใช้เรียกยกเว้น ราก (root)  ซึ่งอยู่บนสุดไม่ต้องมีชื่อกำกับ โหนดหนึ่งๆอาจแตกออกเป็นโหนดย่อยระดับล่างลงไปได้หลายชั้น ชื่อโดเมน (domain name) คือชื่อที่กำกับประจำโหนดและเรียกชื่อโดยไล่ลำดับจากโหนดนั้นตามเส้นทางขึ้นไปยังราก   ในโดเมนหนึ่งหนึ่งอาจมี โดเมนย่อย (sub domain) ลงไปได้หลายระดับชั้น เช่น ac.th หรือ or.th เรียกได้ว่าเป็นโดเมนย่อยของโดเมน .th หรือหากพิจารณาในระดับองค์กรเช่นตัวอย่างในรูปที่ 2 แสดงถึงโดเมนย่อยของ ku.ac.th ซึ่งได้แก่ agr.ku.ac.th, eng.ku.ac.th และ sci.ku.ac.th รวมทั้งโดเมนย่อยของ exam.com ได้แก่ engr.exam.com และ sales.exam.com

รูปที่ 2 โดเมนย่อย

จำนวนโดเมนย่อยหรือระดับชั้นในโดเมนหนึ่งๆขึ้นอยู่กับผู้ดูแลระบบจะกำหนด จำนวนระดับชั้นของชื่อโดเมนไม่มีความสัมพันธ์กับไอพีแอดเดรสแต่อย่างใด ชื่อโดเมนทางซ้ายจะบ่งบอกชื่อเครื่องที่เจาะจงมากขึ้น  ชื่อโดเมนทางขวาจึงบ่งถึงโดเมนที่ใหญ่ขึ้นเป็นลำดับ ลักษณะนี้ต่างจากไอพีแอดเดรสที่ตัวเลขทางขวาบ่งบอกโฮสต์ที่เฉพาะเจาะจงมากกว่าทางซ้าย ตัวอย่างต่อไปนี้เป็นชื่อโดเมนที่มีจำนวนโดเมนย่อยแตกต่างกัน
·  www.ee.eng.chula.ac.th  n    เครื่อง www ของภาควิชาวิศวกรรมไฟฟ้า จุฬาฯ
·  www.tu-muenchen.de           เครื่อง www ที่มหาวิทยาลัยมิวนิค ประเทศเยอรมัน
· ftp.mci.com                               เครื่อง ftp ของบริษัท MCI
· hp.com                                       เครื่อง hp ของบริษัทฮิวเล็ต-แพคการ์ต

โดเมนสัมบูรณ์และโดเมนสัมพัทธ์
ชื่อโดเมนที่เขียนตามเส้นทางจากโหนดหนึ่งๆไปสิ้นสุดที่ราก เรียกว่า ชื่อโดเมนสัมบูรณ์ (Absolute domain name) ชื่อโดเมนที่เขียนเพียงบางส่วนเรียกว่า ชื่อโดเมนสัมพัทธ์   (Relative domain name)
ชื่อโดเมนสัมบูรณ์โดยปกติแล้วจะปิดท้ายด้วยจุดเพื่อแสดงว่าสิ้นสุดที่ราก และเพื่อให้แยกแยะความแตกต่างจากโดเมนสัมพัทธ์ได้ เช่น tpt.nectec.or.th. แต่ในทางปฏิบัติมักละเครื่องหมายจุดไว้เพราะชื่อโดเมนมักแสดงถึงโดเมนสัมบูรณ์อยู่ในตัวเอง บางโปรแกรมประยุกต์เช่นโปรแกรมไปรษณีย์อิเล็กทรอนิกส์ไม่ใช้จุดปิดท้ายโดเมนแม้ว่าจะใช้ชื่อนั้นในฐานะของโดเมนสัมบูรณ์ก็ตาม
ดีเอ็นเอสมีชื่อโดเมนสัมพัทธ์เพื่อความสะดวกในการอ้างอิง ดีเอ็นเอสถือว่าชื่อโดเมนที่ไม่ลงท้ายด้วยจุดคือโดเมนสัมพัทธ์และจะสร้างชื่อโดเมนสัมบูรณ์ให้ เช่นผู้ใช้อาจพิมพ์เพียง tpt และให้ดีเอ็นเอสเติมชื่อโดเมน nectec.or.th. ต่อท้าย ก่อนดำเนินการเช่นนี้ได้ดีเอ็นเอสจำเป็นต้องทราบถึงชื่อโดเมนประจำเครือข่ายก่อน วิธีการกำหนดชื่อโดเมนประจำเครือข่ายจะขึ้นอยู่กับระบบปฏิบัติการที่ใช้ ตัวอย่างเช่นในระบบปฏิบัติการยูนิกซ์กำหนดชื่อโดเมนประจำเครือข่ายและข้อมูลอื่นไว้ในแฟ้ม /etc/resolv.conf
โดเมนระดับบนสุด (Top-Level Domains) หรือเขียนย่อว่า TLDs หมายถึงชื่อโดเมนที่ระบุถึงกลุ่มโดเมนระดับบน กลุ่มโดเมนเหล่านี้ไม่อยู่ภายใต้สังกัดใด โดเมนระดับบนสุดในปัจจุบันจัดแบ่งออกเป็นสามประเภทใหญ่ (ดูรูปที่ 1) คือ
·   โดเมนทั่วไป (generic domain) เป็นชื่อโดเมนที่จัดตามกลุ่มองค์กร
·   โดเมนรหัสประเทศ (country code domain)  ชื่อโดเมนจากรหัสประเทศ
·   โดเมนอาร์พา ชื่อโดเมนสำหรับใช้แปลงไอพีแอดเดรสไปหาชื่อเครื่อง

โดเมนทั่วไป
โดเมนประเภทนี้เป็นชื่อโดเมนระดับบนสุดและมักเรียกว่าโดเมนระดับบนสุดแบบทั่วไป (Generic Top Level Domains : gTLDs) ชื่อโดเมนประเภทนี้เป็นกลุ่มโดเมนขององค์กร ซึ่งในระยะแรกเริ่มมี 7 หมวดได้แก่ .com, .edu, .gov, .int, .mil, .net และ .org ความหมายและตัวอย่างของแต่ละชื่อโดเมนแสดงได้ดังตารางที่ 1
โดเมนทั้ง 7 หมวดนี้มีขอบเขตการใช้งานแตกต่างกัน โดยโดเมน .gov และ .mil จำกัดการใช้อยู่เฉพาะในสหรัฐอเมริกาเนื่องจากเป็นประเทศต้นกำเนิดของอินเทอร์เน็ต l ส่วนชื่อโดเมนอื่นอนุญาตให้ใช้โดยไม่จำกัดโดยเฉพาะอย่างยิ่งในหมวด   .com, .net และ .org  มีผู้นิยมจดทะเบียนอย่างแพร่หลายทั่วโลก สำหรับการจดทะเบียนชื่อโดเมน .edu ส่วนใหญ่จะเป็นสถาบันการศึกษาในประเทศสหรัฐอเมริกา ส่วนชื่อโดเมน .int จดทะเบียนได้เฉพาะหน่วยงานภายใต้สนธิสัญญาหรือมีพันธกิจนานาชาติเท่านั้น

ตารางที่ 1 โดเมนระดับบนสุดแบบทั่วไปดั้งเดิมในอินเทอร์เน็ต

โดเมน
กลุ่ม
ตัวอย่าง
.com
องค์กรธุรกิจการค้า (Commercial organizations)
sun.com, microsoft.com
.edu
สถาบันการศึกษา (Educational organizations)
mit.edu, standford.edu
.gov
หน่วยงานรัฐบาลของสหรัฐ (Government organizations)
nasa.gov, doc.gov
.int
องค์กรนานาชาติ (International organizations)
nato.int, sadc.int
.mil
หน่วยงานทางทหารของสหรัฐ (Military organizations)
army.mil, navy.mil
.net
หน่วยงานเครือข่าย (Networking organizations)
nyser.net, sura.net
.org
องค์กรจัดตั้ง (Organizations) เช่นองค์กรที่ไม่แสวงผลกำไร หรือหน่วยงานที่ไม่เข้ากลุ่มอื่น
mitre.org, acm.org

จากความต้องการใช้ชื่อโดเมนที่มีเพิ่มมากขึ้น เมื่อเดือนกันยายน 2543 ไอแคนซึ่งเป็นองค์กรบริหารระบบชื่อโดเมนในอินเทอร์เน็ตได้ประกาศใช้ชื่อโดเมนระดับบนสุดแบบทั่วไปใหม่อีก 7 หมวด ได้แก่ .aero, .biz, .coop, .info, .museum,  .name และ .pro  รายละเอียดการใช้แต่ละชื่อโดเมนแสดงไว้ในตารางที่ 2 

ตารางที่  2 ชื่อโดเมนระดับบนสุดใหม่ที่ไอแคนประกาศเพิ่ม
โดเมน
กลุ่ม
ตัวอย่าง
.aero
การอากาศยาน
ชื่อโดเมนเฉพาะองค์กรด้านการขนส่งทางอากาศยาน โดยสมาคมการขนส่งทางอากาศยานนานาชาติ หรือSociete Internationale de Telecommunications Aeronautiques (SITA) เป็นผู้บริหารนโยบาย
.biz
องค์กรธุรกิจ
ชื่อโดเมนสำหรับการธุรกิจ แต่ต่างจาก .com ในแง่ที่ผู้จดทะเบียนต้องประกอบการธุรกิจจดทะเบียนเท่านั้น โดเมนนี้จึงไม่อนุญาตให้จดทะเบียนโดยบุคคลหรือองค์กรที่ไม่ได้ประกอบธุรกิจ
.coop
สหกรณ์
ชื่อโดเมนเฉพาะสำหรับผู้ประกอบการสหกรณ์ โดยสหพันธ์สหกรณ์นานาชาติ หรือ International Cooperative Alliance (ICA) เป็นผู้บริหารนโยบาย
.info
ข้อมูลข่าวสาร
ชื่อโดเมนสำหรับจดทะเบียนทั่วไป ถึงแม้ว่าชื่อโดเมนจะสื่อถึง บริการข้อมูลข่าวสาร” แต่ในทางปฏิบัติแล้วจะเปิดให้จดทะเบียนโดยไม่มีข้อจำกัด ทั้งนี้เพื่อเป็นการแข่งขันกับโดเมนในกลุ่ม .com, .net และ.org
.museum
พิพิธภัณฑ์
ชื่อโดเมนสำหรับพิพิธภัณฑ์ การจดทะเบียนจะอนุญาตเฉพาะพิพิธภัณฑ์ที่อยู่ภายใต้ข้อกำหนดของสภาพิพิธภัณฑ์นานาชาติ หรือ International Council of Museums (ICOM)
.name
บุคคล

ชื่อโดเมนสำหรับบุคคลทั่วไป การจดทะเบียนจะต้องจดชื่อระดับที่สามในรูปแบบ firstname.lastnameตัวอย่างเช่น john.smith.name การจดทะเบียนจะไม่มีการครอบครองชื่อโดเมนระดับที่สอง และให้บริการจดทะเบียนตามลำดับการร้องขอ
.pro
ผู้ประกอบ
วิชาชีพ
ชื่อโดเมนผู้ประกอบวิชาชีพ (professionals) เช่น แพทย์ วิศวกร ทนายความ ทั้งนี้เพื่อสร้างความมั่นใจให้ผู้บริโภคว่าผู้จดทะเบียนอยู่ในสายวิชาชีพนั้นอย่างแท้จริง นโยบายการบริหารชื่อโดเมนจะดำเนินการโดยสมาคมหรือสหพันธ์ที่เกี่ยวข้องกับวิชาชีพ
 

โดเมนรหัสประเทศ
ชื่อโดเมนในกลุ่มนี้จะใช้รหัสประเทศที่ประกอบด้วยอักขระสองตัวตามมาตรฐาน ISO 3166-1 เช่น .jp, .br, .au หรือ .ca เป็นต้น ชื่อโดเมนประเภทนี้จึงเรียกว่า ชื่อโดเมนระดับบนสุดตามรหัสประเทศ (Country Code Top Level Domains) หรือเขียนโดยย่อว่า ccTLDs  ในปัจจุบันมี ccTLDs รวมทั้งสิ้น 244 ชื่อ ในจำนวนนี้มีเพียงสหราชอาณาจักรที่มิได้ใช้ชื่อย่อตามมาตรฐาน ISO 3166-1 กล่าวคือในมาตรฐาน ISO 3166-1 ใช้ gb แต่ชื่อโดเมนที่ใช้คือ .uk                  ตารางที่ 3 แสดงตัวอย่างชื่อโดเมนระดับบนสุดประจำประเทศ 
โดเมน
ชื่อประเทศ
โดเมน
ชื่อประเทศ
.at
ออสเตรีย
.es
สเปน
.au
ออสเตรเลีย
.fr
ฝรั่งเศส
.ca
แคนาดา
.jp
ญี่ปุ่น
.ch
สวิตเซอร์แลนด์
.kr
เกาหลี
.de
เยอรมัน
.uk
สหราชอาณาจักร


ชื่อโดเมนหนึ่งๆไม่ได้มีส่วนสัมพันธ์กับที่ตั้งทางภูมิศาสตร์ของคอมพิวเตอร์ ชื่อโดเมนระดับบนสุดเช่น .th ถึงแม้จะบ่งบอกถึงประเทศไทย แต่เครื่องที่ใช้ชื่อโดเมน .th อาจตั้งอยู่ในประเทศใดๆก็ได้ นอกจากนี้เครื่องหนึ่งๆยังสามารถจดทะเบียนได้มากกว่าหนึ่งชื่อ ชื่อโดเมนจึงบอกเพียงว่าเครื่องนั้นจดทะเบียนในสังกัดของชื่อโดเมนที่ระบุเท่านั้น

โดเมนอาร์พา
โปรแกรมประยุกต์บางโปรแกรมต้องการตรวจสอบว่าไอพีที่ใช้งานมีชื่อใดหรือผู้ใช้อาจต้องการทราบชื่อโฮสต์จากไอพีแอดเดรสที่มีอยู่ การแปลงไอพีแอดเดรสกลับไปเป็นชื่อจึงเป็นอีกบริการหนึ่งที่ดีเอ็นเอสต้องจัดเตรียมไว้
ในเนมสเปซที่ได้ศึกษามาตั้งแต่ต้น เราทราบว่าแต่ละโหนดมีชื่อกำกับเพื่อใช้ค้นหาไอพีแอดเดรสหรือใช้ชื่อเป็นดรรชนีค้นหาไอพีแอดเดรส แต่หากต้องสืบค้นชื่อในเนมสเปซโดยไม่มีดรรชนีย่อมเป็นสิ่งที่ทำได้ยาก เพราะจะต้องเริ่มค้นจากรากเข้าไปในทุกจุดจนกว่าจะพบชื่อที่ตรงกับไอพีแอดเดรสที่ต้องการ วิธีช่วยค้นจึงต้องจำเป็นต้องจัดให้มีดรรชนีไอพีแอดเดรสในทำนองเดียวกับดรรชนีโดเมน วิธีการนี้ทำได้โดยการปรับแปลงไอพีแอดเดรสที่มีอยู่ทั้งหมดให้เป็นเสมือนชื่อโดเมนตามลำดับชั้นและวางตำแหน่งของไอพีแอดเดรสนี้ให้อยู่ภายใต้โดเมนที่จัดขึ้นมาโดยเฉพาะซึ่งได้แก่โดเมน .in-addr.arpa
เนื่องจากไอพีแอดเดรสแบ่งออกเป็น 4 หลัก แต่ละหลักมีได้ 256 ค่า จาก 0 ถึง 255 โดเมนที่อยู่ภายใต้โดเมน .in-addr.arpa จึงจัดให้มีได้ 256 โดเมนย่อยจาก 0 ถึง 255  โดเมนย่อยระดับแรกจะสมนัยกับอ็อกเท็ต  แรกของไอพีแอดเดรส แต่ละโดเมนที่เป็นตัวเลขต่างก็มีโดเมนย่อยลงไปอีก 256 โดเมนย่อยและสมนัยกับอ็อกเท็ตที่สองของไอพีแอดเดรส จนกระทั่งถึงโดเมนย่อยสุดท้ายที่สมนัยกับอ็อกเท็ตที่สี่ของไอพีแอดเดรสและมีตัวชี้ไปยังชื่อโดเมนที่ต้องการ
ชื่อโดเมนจากซ้ายไปขวาแสดงความเจาะจงมากไปสู่ความเจาะจงน้อย ซึ่งกลับทิศทางกับไอพีแอดเดรสที่เขียนแสดงความเจาะจงจากน้อยไปมาก การเขียนโดเมนของไอพีแอดเดรสจึงสลับลำดับกันเพื่อให้เข้ากับหลักการของชื่อโดเมน เช่น 158.108.2.71 เป็นไอพีแอดเดรสของเครื่อง nontri.ku.ac.th จะมีชื่อโดเมนประจำคือ 71.2.108.158.in-addr.arpa การสืบค้นชื่อจากแอดเดรส 158.108.2.71 จะต้องเริ่มจาก .arpa, .in-addr และ .158, .108, .2 และ .71 ตามลำดับ แอดเดรสลักษณะนี้จึงเรียกว่า แอดเดรสผกผัน (Reverse address) ซึ่งสื่อถึงแอดเดรสที่เขียนกลับทิศกับไอพีแอดเดรสตามแบบปกติ (Forward address) โครงสร้างชื่อโดเมน .in-addr.arpa มีลักษณะดังรูปที่ 3
โครงสร้างต้นไม้กลับหัวที่แสดงถึงระบบชื่อโดเมนเช่นในรูปที่ 3 เป็นเพียงรูปเชิงนามธรรมที่อธิบายถึงภาพโดยรวมของดีเอ็นเอสในอินเทอร์เน็ตเท่านั้น ตามที่กล่าวไว้แล้วว่าไม่มีหน่วยงานใดที่มีฐานข้อมูลคลุมทั้งโครงสร้าง หากแต่ใช้การ มอบอำนาจการดูแลโดเมน (domain delegation)
                            
รูปที่ 3 แอดเดรส 71.2.108.158.in-addr.arpa ในโครงสร้างแอดเดรสผกผัน

ความหมายของการมอบอำนาจการดูแลโดเมนคือ ผู้ดูแลโดเมนระดับบนไม่จัดการโดเมนระดับล่างโดยตรง หากแต่ให้ผู้ดูแลโดเมนระดับล่างมีสิทธิ์ขาดในการดำเนินการทุกอย่างในโดเมนระดับล่างนั้น ผู้ดูแลโดเมนย่อยอาจเพิ่มชื่อเครื่องในฐานข้อมูลหรือสร้างโดเมนย่อยได้ตามต้องการ ในโดเมนย่อยหนึ่งๆหากมีโดเมนย่อยลงไปอีกก็อาจจะใช้วิธีมอบอำนาจเพื่อลดภาระการดูแลได้ในทำนองเดียวกัน ลักษณะเช่นนี้อาจเปรียบเทียบกับระบบงานในบริษัทที่ผู้จัดการฝ่ายอาจมอบหมายงานให้หัวหน้าแผนกรับผิดชอบงานเป็นส่วนๆ
ในโดเมนหนึ่งๆจะมีการมอบอำนาจการดูแลหรือไม่นั้นเป็นนโยบายของผู้บริหารโดเมนโดยตรง บางโดเมนอาจมีการสร้างโดเมนย่อยแต่ไม่มีการมอบอำนาจใดๆเลย หรืออาจมีการมอบอำนาจเฉพาะบางโดเมนย่อยเท่านั้น วิธีสร้างและมอบอำนาจดูแลโดเมนย่อยในดีเอ็นเอสมีกรรมวิธีเทคนิคเฉพาะซึ่งอยู่นอกเหนือขอบเขตของรายงานฉบับนี้ ในที่นี้จะอธิบายเพียงหลักการมอบอำนาจซึ่งเกี่ยวพันกับความเข้าใจพื้นฐานในเรื่องโดเมนและโซนที่จะกล่าวในหัวข้อถัดไป
โดเมนและโซน
ความหมายของ โซน (zone) คือโดเมนย่อยในดีเอ็นเอสที่มีการมอบอำนาจหน้าที่ให้มีผู้ดูแลเฉพาะ ภายในโซนอาจแบ่งให้มีโซนย่อยออกไปอีกได้ตามคณะหรือหน่วยงาน แต่ละโซนจะมีเนมเซิร์ฟเวอร์ทำหน้าที่เก็บรักษาข้อมูลประจำโซน
เมื่อผู้ดูแลระบบได้รับมอบอำนาจจัดการโซน ผู้ดูแลระบบจะติดตั้งเนมเซิร์ฟเวอร์ประจำโซนและสร้างฐานข้อมูลเพื่อเก็บชื่อเครื่องกับไอพีแอดเดรสในโซนด้วยตนเอง การจัดการโดยผู้ดูแลระบบคือความหมายของการได้รับมอบอำนาจ เนมเซิร์ฟเวอร์ที่เก็บข้อมูลในโซนใดๆจะมี อำนาจหน้าที่ (authority) ในโซนนั้น ตัวอย่างของการได้รับมอบอำนาจดูแลโดเมนระดับบนสุดมีดังเช่น .com, .net และ .org ดูแลโดยบริษัทเวริไซน์   .mil ดูแลโดยกระทรวงกลาโหมของสหรัฐฯ และโดเมนระดับประเทศจะดูแลโดยผู้ได้รับมอบอำนาจให้เป็นนายทะเบียนชื่อโดเมนของประเทศนั้นๆ เป็นต้น

เนมเซิร์ฟเวอร์
ผู้ดูแลโซนจะติดตั้งมาสเตอร์เนมเซิร์ฟเวอร์ (master name server) และ สเลฟเนมเซิร์ฟเวอร์(slave name server) ประจำโซนมาสเตอร์เนมเซิร์ฟเวอร์และสเลฟเนมเซิร์ฟเวอร์ต้องเป็นเครื่องต่างเครื่องกัน มาสเตอร์เนมเซิร์ฟเวอร์เป็นเนมเซิร์ฟเวอร์ที่อ่านข้อมูลประจำโซนจากแฟ้มข้อมูลที่เก็บในระบบข้อมูล (เช่นฮาร์ดดิสค์) โซนๆหนึ่งจะมีมาสเตอร์เนมเซิร์ฟเวอร์เพียงเครื่องเดียว ส่วนสเลฟเนมเซิร์ฟเวอร์จะสำเนาข้อมูลมาจากมาสเตอร์เนมเซิร์ฟเวอร์มาเก็บไว้โดยถ่ายโอนผ่านเครือข่าย สเลฟเนมเซิร์ฟเวอร์มีได้หลายเครื่องเพื่อทำหน้าที่เป็นเนมเซิร์ฟเวอร์สำรองเมื่อมาสเตอร์เนมเซิร์ฟเวอร์ไม่สามารถให้บริการได้ การจดทะเบียนชื่อโดเมนจึงต้องระบุชื่อเนมเซิร์ฟเวอร์อย่างน้อยสองชื่อ โดยที่ชื่อแรกคือชื่อมาสเตอร์เนมเซิร์ฟเวอร์ และอีกชื่อหนึ่งคือสเลฟเนมเซิร์ฟเวอร์
มาสเตอร์เนมเซิร์ฟเวอร์จะบรรจุข้อมูลประจำโซน ผู้ดูแลดีเอ็นเอสจะเพิ่มหรือลบชื่อโฮสต์หรือเปลี่ยนแปลงข้อมูลที่มาสเตอร์เนมเซิร์ฟเวอร์เท่านั้น เมื่อถึงเวลาที่กำหนดสเลฟเนมเซิร์ฟเวอร์จะถ่ายโอนข้อมูลจากมาสเตอร์เนมเซิร์ฟเวอร์มาโดยอัตโนมัติเพื่อให้ข้อมูลตรงกัน การถ่ายโอนนี้เรียกว่า การถ่ายโอนโซน (zone transfer)

กระบวนการทำงานของดีเอ็นเอสประกอบด้วย รีโซลเวอร์ (resolver) ซึ่งเป็นโปรแกรมในเครื่องไคลเอ็นต์ที่ขอบริการดีเอ็นเอสที่กำหนดว่าเครื่องนั้นอยู่ในโดเมนใด และต้องติดต่อกับเนมเซิร์ฟเวอร์ใด
กระบวนการเรโซลูชัน
เนมเซิร์ฟเวอร์ไม่ได้เพียงให้บริการข้อมูลในโซนที่อยู่ภายใต้อำนาจหน้าที่เท่านั้น หากแต่ต้องให้บริการสืบค้นข้อมูลอื่นทั่วทั้งเนมสเปซให้กับเนมเซิร์ฟเวอร์อื่นที่ขอบริการ ตัวอย่างเช่น เนมเซิร์ฟเวอร์ในสังกัด ku.ac.th อาจขอบริการถามหาชื่อโฮสต์ในสังกัด nectec.or.th โดยอาศัยเนมเซิร์ฟเวอร์ของ nectec.or.th กระบวนการสืบค้นชื่อโดยเนมเซิร์ฟเวอร์นี้เรียกว่า เนมเรโซลูชัน (name resolution) หรือเรียกสั้นๆ ว่า เรโซลูชัน(resolution)
  เรโซลูชันของดีเอ็นเอสมีหลักการทำงานแบบไคลเอ็นต์เซิร์ฟเวอร์ รีโซลเวอร์ทำหน้าที่เป็นไคลเอ็นต์และเนมเซิร์ฟเวอร์ทำหน้าที่เป็นเซิร์ฟเวอร์ ดังรูปที่ 4 ทั้งรีโซลเวอร์และเนมเซิร์ฟเวอร์จะเก็บรักษาข้อมูลที่สืบค้นได้ไว้ในแคช เนมเซิร์ฟเวอร์จะสืบค้นข้อมูลในแคชก่อนเพื่อเพิ่มประสิทธิภาพการทำงาน หากพบก็จะใช้ข้อมูลในแคชตอบกลับไป ปกติแล้วเนมเซิร์ฟเวอร์จะเก็บข้อมูลในแคชเพียงระยะเวลาหนึ่งแล้วจึงลบทิ้งไปเพราะข้อมูลอาจเปลี่ยนแปลงได้ตลอดเวลา

รูทเนมเซิร์ฟเวอร์
เนมเซิร์ฟเวอร์แต่ละเครื่องต่างมีข้อมูลเฉพาะโซนที่ดูแลอยู่เท่านั้น หากรีโซลเวอร์ร้องขอการสอบถามข้อมูลโซนตนเอง เนมเซิร์ฟเวอร์จะช่วยค้นข้อมูลนอกโซนของตนเองให้
อินเทอร์เน็ตจัดให้มี รูทเนมเซิร์ฟเวอร์ (root name server) เพื่อใช้เป็นจุดเริ่มต้นการหาข้อมูลในเนมสเปซ เนมเซิร์ฟเวอร์สามารถสืบค้นข้อมูลทุกจุดของเนมสเปซโดยติดต่อกับรูทเนมเซิร์ฟเวอร์ รูทเนมเซิร์ฟเวอร์มีความสำคัญอย่างยิ่ง เพราะหากรูทเนมเซิร์ฟเวอร์ไม่สามารถให้บริการได้แล้วกระบวนการเรโซลูชันทั้งอินเทอร์เน็ตจะหยุดชะงัก อินเทอร์เน็ตจึงจัดให้มีรูทเนมเซิร์ฟเวอร์กระจายตัวในต่างพื้นที่กันจำนวน 13 รูทเนมเซิร์ฟเวอร์ได้แก่ a.root-servers.net, b.root-servers.net, c.root-servers.net, … , m.root-servers.net  ดังตารางที่ 4 ทั้งนี้ a.root-servers.net ทำหน้าที่เป็นรูทเนมเซิร์ฟเวอร์หลักและที่เหลืออีก 12 ตัวเป็นรูทเนมเซิร์ฟเวอร์รองที่จะทำสำเนาข้อมูลจาก a.root-servers.net เป็นระยะๆ
ตารางที่ 4 รูทเนมเซิร์ฟเวอร์
ชื่อ
ไอพีแอดเดรส
a.root-servers.net
198.41.0.4
b.root-servers.net
128.9.0.107
c.root-servers.net
192.230.4.12
d.root-servers.net
128.8.10.90
e.root-servers.net
192.203.230.10
f.root-servers.net.
192.5.5.241
g.root-servers.net
192.112.36.4
h.root-servers.net
128.63.2.53
i.root-servers.net
192.36.148.17
j.root-servers.net
192.58.128.30
k.root-servers.net
193.0.14.129
l.root-servers.net
198.32.64.12
m.root-servers.net
202.12.27.33
ที่มา  : ftp://ftp.rs.internic.net/domain/named.root
รูปที่ 5 แสดงที่ตั้งของรูทเนมเซิร์ฟเวอร์ทั้ง 13 เครื่อง โดยที่ 10 เครื่องกระจายตัวในอยู่ในสหรัฐอเมริกา อีก 3 เครื่องอยู่ในลอนดอน สต็อกโฮล์ม และโตเกียว รูทเนมเซิร์ฟเวอร์ทั้ง 13 เครื่องมิได้รับภาระการถามหาชื่อโดยตรงให้กับไคลเอ็นต์ทุกครั้ง หากแต่เป็นจุดทางเข้าระดับบนสุดโดยมีเนมเซิร์ฟเวอร์ระดับที่สองของผู้ให้บริการอินเทอร์เน็ตและองค์กรต่างๆและเนมเซิร์ฟเวอร์สำรองอีกจำนวนมาก ขณะที่เนมเซิร์ฟเวอร์ระดับถัดไปคือเนมเซิร์ฟเวอร์ ccTLDs นั้นเมื่อไคลเอ็นต์ถามหาไอพีแอดเดรสจากชื่อโดเมน ไคลเอ็นต์จะติดต่อกับเนมเซิร์ฟเวอร์ประจำโดเมนนั้นเพื่อสืบค้นข้อมูล หากเนมเซิร์ฟเวอร์ไม่สามารถหาชื่อได้ก็จะติดต่อกับรูทเนมเซิร์ฟเวอร์ และรูทเนมเซิร์ฟเวอร์จะส่งรายชื่อของเนมเซิร์ฟเวอร์ที่มีอำนาจหน้าที่ต่อไป
ในระยะแรกนั้นรูทเนมเซิร์ฟเวอร์จะเก็บฐานข้อมูลของโดเมน gTLDs บางโดเมนได้แก่ .com, .net., และ .org แต่เพื่อให้ระบบชื่อโดเมนมีเสถียรภาพและสามารถขยายภาระงานได้ จึงมีการจัดตั้งเนมเซิร์ฟเวอร์อีกหนึ่งชุดภายใต้ชื่อโดเมน gtld-servers.net  และย้ายข้อมูลในหมวด .com, .net., และ .org ออกจากรูทเนมเซิร์ฟเวอร์มาไว้ในเนมเซิร์ฟเวอร์ชุดใหม่ และใช้ชื่อเทียบเคียงกับรูทเนมเซิร์ฟเวอร์คือ a.gtld-servers.net ถึง m.gtld-servers.net  รูทเนมเซิร์ฟเวอร์ในปัจจุบันจึงดูแลเพียงฐานข้อมูลกลุ่ม ccTLDs และบางหมวดของ gTLDs ได้แก่ .edu  และบางส่วนของ in-addr.arpa

ที่มา  : http://caffeine.ieee.org/spectrum/dec01/departments/websf1.html

รูปที่ 5 รูทเนมเซิร์ฟเวอร์และตำแหน่งที่ตั้ง

ตัวอย่างการทำงานของรีโซลเวอร์
เพื่อให้เห็นขั้นตอนการทำงานของดีเอ็นเอสที่สัมพันธ์กับรูทเนมเซิร์ฟเวอร์ ขอให้พิจารณารูปที่ 6  ซึ่งแสดงกระบวนการเรโซลูชันทีละขั้นตอน ในที่นี้สมมติให้ไคลเอ็นต์ pc.name.co.th ต้องการหาไอพีแอดเดรสของ www.name.com โดยที่ ns.name.co.th คือเนมเซิร์ฟเวอร์ของ name.co.th ขั้นตอนที่เกิดขึ้นจะเป็นดังต่อไปนี้
1. ไคลเอ็นต์ pc.name.co.th สอบถามหาไอพีแอดเดรสของ www.name.com โดยส่งคำถามให้ ns.name.co.th ตามขั้นตอนที่ 
2. ในตัวอย่างนี้ ns.name.co.th ไม่มีไอพีแอดเดรสของ www.name.com อยู่ในแคช จึงต้องติดต่อกับรูทเนมเซิร์ฟเวอร์ตามขั้นที่ ‚ เพื่อถามหาแอดเดรสของ www.name.com
3. เมื่อรูทเนมเซิร์ฟเวอร์ได้รับคำถาม แต่ไม่สามารถตอบได้โดยตรงเนื่องจากรูทเนมเซิร์ฟเวอร์ไม่ได้เก็บไอพีแอดเดรสของ www.name.com   หน้าที่ของรูทเนมเซิร์ฟเวอร์คือส่งรายชื่อเนมเซอร์เวอร์ที่ดูแลฐานข้อมูลโดเมน .com กลับมาให้ ns.name.co.th ตามขั้นที่ ƒ   การตอบกลับในลักษณะนี้เรียกว่าเป็นการตอบแบบอ้างอิง (Referal answer) คำตอบที่ส่งไปมักเป็นเนมเซิร์ฟเวอร์ระดับรอง ซึ่งในที่นี้คือเนมเซิร์ฟเวอร์ในชุด gtld-servers.net
4. รายชื่อเนมเซิร์ฟเวอร์ที่ได้รับอาจมีหลายชื่อ ซึ่ง ns.name.co.th จะต้องหาคำตอบต่อไป โดยเลือกชื่อเนมเซิร์ฟเวอร์ที่ได้รับเพียงหนึ่งชื่อเพื่อถามแอดเดรสของ www.name.com ใหม่อีกครั้ง ในที่นี้ให้ ns.name.co.th เลือกและส่งคำถามไปยัง f.gtld-servers.net ตามขั้นที่ „
5. f.gtld-servers.net ตอบกลับโดยรายชื่อเนมเซิร์ฟเวอร์ของโดเมน name.com ซึ่งในที่นี้คือ twinkle.generation.net และ sparkle.generation.net กลับไปตามขั้นที่ …
6. ns.name.co.th เลือกติดต่อกับ twinkle.generation.net เพื่อสอบถามไอพีของ www.name.com ดังขั้นที่ †
7. เนื่องจาก twinkle.generation.net เก็บฐานข้อมูลของโดเมน name.com ดังนั้นจึงสามารถตอบไอพีแอดเดรสของ www.name.com  กลับมาตามขั้นที่ ‡ ซึ่งค่าที่ได้คือ  205.205.119.75
8. ขั้นที่ ˆ เมื่อ ns.name.co.th ได้รับไอพีแอดเดรสของ www.name.com ก็จะส่งไอพีแอดเดรสที่ได้นี้ไปให้ pc.name.co.th

รูปที่ 6 ตัวอย่างกระบวนการเรโซลูชัน

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