ยุคที่ อินเทอร์เน็ต (Internet) เป็นส่วนสำคัญของชีวิตประจำวัน เทคโนโลยีที่ช่วยให้เราสามารถเข้าถึงเว็บไซต์ต่าง ๆ ได้อย่างสะดวก และรวดเร็ว ก็คือ Domain Name System (DNS) โดย DNS เปรียบเสมือนกับสมุดโทรศัพท์ของโลกอินเทอร์เน็ต ที่ช่วยแปลงชื่อ โดเมนเนม (Domain Name) ที่มนุษย์เข้าใจ และจดจำได้ง่าย เช่น thaiware.com ให้กลายเป็นหมายเลข IP ที่เครื่องคอมพิวเตอร์ใช้ในการเชื่อมต่อ
ในบทความนี้ เราจะมาอธิบายหลักการทำงานของ DNS ความสำคัญของมันที่มีต่อระบบเครือข่าย มาทำความรู้จักหนึ่งในโครงสร้างเบื้องหลังที่สำคัญของอินเทอร์เน็ตกัน
ระบบชื่อโดเมน หรือ Domain Name System (DNS) เป็นองค์ประกอบสำคัญของมาตรฐาน โปรโตคอล (Protocol) ของอินเทอร์เน็ต ที่ทำหน้าที่แปลงชื่อโดเมนที่เข้าใจง่ายสำหรับมนุษย์ให้เป็น หมายเลขไอพี (IP Address) ซึ่งเป็นเสมือนที่อยู่ที่คอมพิวเตอร์ใช้ในการระบุ และสื่อสารกันได้บน เครือข่าย (Network)
DNS มักถูกเรียกว่า "สมุดโทรศัพท์ของอินเทอร์เน็ต" แต่เด็กยุคนี้คงเกิดไม่ทันสมุดหน้าเหลืองแล้ว ถ้ามองในมุมมองแบบร่วมสมัย DNS สามารถเปรียบได้กับแอปพลิเคชันจัดการรายชื่อผู้ติดต่อบนสมาร์ทโฟน ที่ช่วยให้ผู้ใช้งานไม่จำเป็นต้องจดจำหมายเลขโทรศัพท์ เพราะแต่ละเบอร์จะถูกบันทึกไว้ในรายชื่อที่ค้นหาได้ง่าย
ในทำนองเดียวกัน DNS ช่วยให้ผู้ใช้สามารถเข้าถึงเว็บไซต์ได้โดยใช้ชื่อโดเมนแทนที่จะต้องจำหมายเลข IP ที่จดจำได้ยาก ตัวอย่างเช่น เว็บไซต์ thaiware.com แทนที่จะต้องจำว่าเซิร์ฟเวอร์เว็บไซต์อยู่ที่ "203.146.253.31" ผู้ใช้สามารถเข้าไปที่ "www.thaiware.com" เพื่อเข้าถึงเว็บไซต์ได้อย่างสะดวกสบาย
ภาพจาก: https://spsprashanth.blogspot.com/2016/09/domain-name-systemdns.html
DNS เป็นกลไกสำคัญที่ทำให้อินเทอร์เน็ตทำงานอย่างเป็นระบบ การท่องเว็บไซต์ และกิจกรรมออนไลน์ส่วนใหญ่ ต้องอาศัย DNS เข้ามาช่วยในการเชื่อมต่อผู้ใช้ กับเซิร์ฟเวอร์ปลายทาง ผ่าน DNS Mapping ที่ถูกจัดกระจายอยู่ทั่วอินเทอร์เน็ตภายใต้ "โครงสร้างลำดับชั้นของอำนาจ (Hierarchy of Authority)"
ผู้ให้บริการอินเทอร์เน็ต (ISP), องค์กรธุรกิจ, หน่วยงานรัฐบาล, มหาวิทยาลัย และองค์กรอื่น ๆ มักจะมีช่วงหมายเลข IP เฉพาะที่ได้รับมอบหมาย รวมถึงชื่อโดเมนที่กำหนดไว้ และมักจะทำหน้าที่บริหารจัดการเซิร์ฟเวอร์ DNS เพื่อควบคุมการจับคู่ระหว่างชื่อโดเมน กับหมายเลข IP ด้วย ส่วนใหญ่ Uniform Resource Locator (URL) จะถูกสร้างขึ้นโดยใช้ชื่อโดเมนของ เว็บเซิร์ฟเวอร์ (Web Server) ซึ่งทำหน้าที่รับ คำขอ (Request) จากผู้ใช้
เซิร์ฟเวอร์ DNS ทำหน้าที่แปลง URL และ ชื่อโดเมน (Domain Name) ให้เป็น หมายเลข IP ที่คอมพิวเตอร์สามารถเข้าใจ และใช้ได้ โดยจะแปลงสิ่งที่ผู้ใช้พิมพ์ลงในเบราว์เซอร์ให้กลายเป็นข้อมูลที่เครื่องสามารถใช้เพื่อค้นหาเว็บเพจ กระบวนการแปลงและค้นหานี้เรียกว่า DNS Resolution
ขั้นตอนพื้นฐานของ DNS Resolution ประกอบด้วย
กระบวนการค้นหาข้อมูลจากเซิร์ฟเวอร์ DNS ทั้งหมดที่ว่ามานี้จะใช้เวลาเพียงเสี้ยววินาทีเท่านั้น โดยที่ผู้ใช้แทบจะไม่สังเกตเห็นด้วยซ้ำ
ภาพจาก: https://frontend-digest.com/4-concreate-ways-to-optimize-dns-d889ce9df3a7
ชื่อโดเมน (Domain Name) มักจะอยู่ภายใน URL โดยชื่อโดเมนประกอบด้วยหลายส่วนที่เรียกว่า Label ซึ่งมีลำดับชั้นในการอ่านจากขวาไปซ้าย โดยแต่ละส่วนแสดงถึงระดับของการแบ่งย่อย
โดเมนระดับสูง (Top-Level Domain-TLD) จะอยู่หลังเครื่องหมายจุด (.) ในชื่อโดเมน ตัวอย่างของ TLD ได้แก่ .com, .org, .edu ฯลฯ บาง TLD ใช้แสดงรหัสประเทศหรือภูมิศาสตร์ เช่น .us สำหรับสหรัฐอเมริกา, .ca สำหรับแคนาดา หรือ .co.th สำหรับประเทศไทย
แต่ละ Label ที่อยู่ทางด้านซ้ายของ TLD คือ โดเมนย่อย (Subdomain) ของชื่อโดเมนที่อยู่ทางขวา ตัวอย่างเช่น ใน URL www.thaiware.com โดย "thaiware" เป็น Subdomain ของ .com และ "www." เป็น Subdomain ของ thaiware.com
ซึ่งเราสามารถมี Subdomain ได้สูงสุดถึง 127 ระดับ และแต่ละ Label สามารถมี ตัวอักษรได้สูงสุด 63 ตัว โดยชื่อโดเมนทั้งหมดสามารถมี ความยาวสูงสุด 253 ตัวอักษร นอกจากนี้ ยังมีกฎอื่น ๆ อีก ที่ทาง Internet Engineering Task Force (IETF) ได้กำหนดเอาไว้สำหรับการใช้ชื่อโดเมนไว้ใน RFC 1035 เพื่อให้เกิดมาตรฐานในการใช้งาน เช่น
มีเซิร์ฟเวอร์อยู่หลายประเภทที่ทำงานร่วมกันเพื่อดำเนินการ DNS Resolution ให้สมบูรณ์ ลองมาดูรายการเซิร์ฟเวอร์สี่ประเภทตามลำดับที่คำขอต้องเดินทางผ่าน โดยเซิร์ฟเวอร์เหล่านี้จะให้บริการข้อมูลเกี่ยวกับชื่อโดเมนที่ต้องการ หรือส่งต่อคำขอไปยังเซิร์ฟเวอร์อื่น
เซิร์ฟเวอร์แบบ Recursive เป็นเซิร์ฟเวอร์ที่รับคำขอ DNS จากแอปพลิเคชันต่าง ๆ เช่น เว็บเบราว์เซอร์ ซึ่งถือว่าเป็นทรัพยากรแรกที่ผู้ใช้เข้าถึง เมื่อได้รับคำขอ เซิร์ฟเวอร์จะตรวจสอบข้อมูลที่แคช (Cache) ไว้
Recursive Server อาจต้องทำการส่งคำขอหลายครั้ง ไปยังเซิร์ฟเวอร์ต่าง ๆ จนกว่าจะได้รับคำตอบที่ถูกต้อง ก่อนส่งกลับไปยัง ไคลเอนต์ (Client) เพื่อโหลดเว็บไซต์ที่ร้องขอ
Root Name Server เป็นเซิร์ฟเวอร์แรกที่ Recursive Server จะส่งคำขอไปหากไม่มีข้อมูลใน Cache โดย Root Name Server ทำหน้าที่เสมือนเป็น ดัชนี (Index) ของเซิร์ฟเวอร์ทั้งหมด ที่มีข้อมูลเกี่ยวกับชื่อโดเมนที่ถูกค้นหา
เซิร์ฟเวอร์เหล่านี้อยู่ภายใต้การดูแลของ Internet Corporation for Assigned Names and Numbers (ICANN) โดยมีหน่วยงานย่อยที่เรียกว่า Internet Assigned Numbers Authority (IANA) ซึ่งคอยรับผิดชอบในการกำหนดหมายเลขอินเทอร์เน็ต และจัดการระบบ DNS
TLD Server หรือ Top-Level Domain Name Server ทำหน้าที่รับคำขอที่ถูกส่งมาจาก Root Name Server โดยจะระบุโดเมนระดับสูง เช่น .co.th, .com, .edu, หรือ .org จาก URL
ขั้นตอนนี้เป็นการค้นหาที่เจาะจงมากขึ้น โดย TLD Server จะช่วยชี้ไปยังเซิร์ฟเวอร์ที่มีข้อมูลเกี่ยวกับโดเมนที่ต้องการค้นหา ทำให้ระบบสามารถระบุตำแหน่งของเว็บไซต์ได้อย่างแม่นยำ และรวดเร็ว
เซิร์ฟเวอร์ Authoritative Name เป็นจุดสิ้นสุดของกระบวนการค้นหา DNS ซึ่งมีข้อมูลครบถ้วนเกี่ยวกับโดเมนที่ร้องขอ รวมถึงส่วนของ Subdomain ด้วย เซิร์ฟเวอร์เหล่านี้เก็บ DNS Resource Records ที่มีข้อมูลเฉพาะเกี่ยวกับโดเมน เช่น A Record ซึ่งระบุหมายเลข IP ของเซิร์ฟเวอร์ เมื่อได้รับคำขอ Authoritative Name Server จะส่งข้อมูลที่จำเป็นกลับไปยัง Recursive Server เพื่อตอบกลับให้กับผู้ใช้ และ Cache ข้อมูลไว้ใกล้ตำแหน่งของผู้ใช้เพื่อให้การค้นหาในอนาคตรวดเร็วขึ้น
บันทึก DNS (DNS Record) เป็นข้อมูลที่ระบบใช้ในการตอบสนองคำขอจากผู้ใช้ โดยขึ้นอยู่กับลักษณะคำขอจาก แอปพลิเคชัน หรือไคลเอนต์ที่ร้องขอเข้ามา ข้อมูลแต่ละประเภทอาจแตกต่างกันไป บางบันทึกถือเป็นข้อบังคับ เช่น A Record ซึ่งใช้แปลงชื่อโดเมนเป็นหมายเลข IP
มีประเภทของ DNS Record อยู่หลายชนิด โดยแต่ละประเภทมีจุดประสงค์เฉพาะในการกำหนดวิธีจัดการคำขอ ตัวอย่าง DNS Record ที่พบได้บ่อย ได้แก่
A Record ย่อมาจาก Address Record เป็นบันทึก DNS ที่ใช้เก็บ หมายเลข IP ของชื่อโดเมน โดย A Record ใช้สำหรับ IPv4 Address เท่านั้น
สำหรับ IPv6 Address จะใช้ AAAA Record แทน ซึ่งรองรับรูปแบบหมายเลข IP ที่ยาวกว่า เว็บไซต์ส่วนใหญ่มี A Record เพียงหนึ่งรายการ แต่สำหรับเว็บไซต์ขนาดใหญ่ที่มีปริมาณการเข้าชมสูง อาจมี หลาย A Record เพื่อช่วยกระจายโหลด (Load Balancing) โดยแต่ละผู้ใช้จะได้รับหมายเลข IP ที่แตกต่างกันเพื่อกระจายทรัพยากรเซิร์ฟเวอร์ให้ทำงานได้อย่างมีประสิทธิภาพ
NS Record หรือ Name Server Record เป็น DNS Record ที่ใช้ระบุว่า Name Server ตัวไหนที่เป็นผู้รับผิดชอบข้อมูลทั้งหมดเกี่ยวกับโดเมนนั้น
โดยทั่วไป โดเมนจะมีเซิร์ฟเวอร์หลัก (Primary Name Server) และ เซิร์ฟเวอร์สำรอง (Backup Name Server) เพื่อเพิ่มความเสถียรของระบบ ทำให้มีหลาย NS Record เพื่อช่วยกระจายคำขอไปยังเซิร์ฟเวอร์ต่าง ๆ และรักษาการทำงานของ DNS ให้มีความน่าเชื่อถือมากขึ้น
TXT Record หรือ Text Record ช่วยให้ผู้ดูแลระบบสามารถป้อนข้อมูลข้อความลงใน DNS ได้ โดยแรกเริ่มเดิมที มันใช้สำหรับบันทึกข้อความที่มนุษย์สามารถอ่านได้ แต่ปัจจุบัน มักใช้เพื่อบันทึกข้อมูลที่เครื่องสามารถอ่าน และประมวลผลได้ TXT Record มีหลายหน้าที่ เช่น ยืนยันความเป็นเจ้าของโดเมน, กำหนดค่า SPF, DKIM และ DMARC เพื่อป้องกันการปลอมแปลงอีเมล และช่วยป้องกันอีเมลสแปม โดยทำให้ Email Server สามารถระบุ และป้องกันข้อความที่ไม่พึงประสงค์ได้
CNAME Record ย่อมาจาก Canonical Name Record ใช้แทน A Record เมื่อมีการตั้งค่าชื่อโดเมนแบบ Alias หรือชื่อแทน โดย CNAME Record ช่วยให้ระบบสามารถส่งคำขอไปยัง IP Address เดียวกัน แต่ใช้ชื่อโดเมนที่แตกต่างกัน ตัวอย่างเช่น ใน URL tips.thaiware.com.com ระบบจะใช้ CNAME Record เพื่อตรวจสอบชื่อโดเมน thaiware.com และใช้ข้อมูลที่ตรงกัน ทำให้สามารถเชื่อมโยงหลายชื่อโดเมน เข้ากับเซิร์ฟเวอร์เดียวกันได้ การจัดการโดเมนจึงมีประสิทธิภาพมากขึ้น
การทำ DNS Caching มีเป้าหมายหลักคือ ลดระยะเวลาในการตอบสนองคำขอจาก DNS โดยช่วยให้ระบบสามารถเก็บคำตอบจากการค้นหาก่อนหน้านี้ไว้ใกล้กับตำแหน่งของผู้ใช้ และนำข้อมูลเดิมมาใช้เมื่อมีการร้องขอซ้ำเพื่อเพิ่มความเร็วในการตอบสนอง
ข้อมูล DNS ที่สามารถเก็บ Cache ได้ มีหลายอย่าง เช่น
เว็บเบราว์เซอร์ส่วนใหญ่ เช่น Apple Safari, Google Chrome และ Mozilla Firefox จะเก็บข้อมูล DNS โดยอัตโนมัติเป็นระยะเวลาหนึ่ง เมื่อมีการร้องขอ DNS เว็บเบราว์เซอร์จะตรวจสอบ แคช (Cache) ก่อนที่จะส่งคำขอออกไปยังเซิร์ฟเวอร์ DNS Resolver
ระบบปฏิบัติการหลายตัวมี DNS Resolver อยู่ในตัวเรียกว่า Stub Resolver ซึ่งเป็นตัวจัดการ DNS ภายในที่ช่วยแคชข้อมูล และจัดการคำขอ ก่อนที่จะส่งไปยังเซิร์ฟเวอร์ภายนอก โดยทั่วไปแล้ว ระบบปฏิบัติการจะถูกเรียกใช้หลังจากเบราว์เซอร์ หรือแอปพลิเคชันที่ร้องขอ
คำตอบของคำขอ DNS (DNS Query) สามารถถูกแคชไว้ใน Recursive DNS Resolver ได้เช่นกัน Resolver อาจมีบางบันทึก DNS ที่จำเป็นในการตอบกลับ โดยไม่ต้องผ่านทุกขั้นตอนของกระบวนการ DNS Resolution ตัวอย่างเช่น หาก Resolver มี A Record แต่ไม่มี NS Record ก็สามารถข้าม Root Server และส่งคำขอไปยัง TLD Server ได้โดยตรง
ภาพจาก: https://www.techtarget.com/searchnetworking/definition/domain-name-system
ในช่วงทศวรรษ ค.ศ. 1970 (พ.ศ. 2513) ชื่อโฮสต์ทั้งหมด และหมายเลขที่อยู่ที่เกี่ยวข้อง จะถูกจัดเก็บไว้ในไฟล์เดียวที่เรียกว่า "HOSTS.TXT" ซึ่งถูกดูแลโดย Elizabeth Feinler จาก Stanford Research Institute ไฟล์นี้เป็นส่วนหนึ่งของ Advanced Research Projects Agency Network (ARPANET) ซึ่ง Feinler ต้องกำหนดหมายเลขที่อยู่ให้กับชื่อโดเมนด้วยตนเอง หากต้องการเพิ่มชื่อใหม่ในไดเรกทอรี ผู้ใช้ต้องโทรศัพท์ไปหา Feinler โดยตรง
ระบบดั้งเดิมที่ใช้กันมานี้ เริ่มไม่มีประสิทธิภาพในการจัดการข้อมูลที่เพิ่มสูงขึ้นขึ้นเรื่อย ๆ จนในปี ค.ศ. 1983 (พ.ศ. 2526) ระบบ Domain Name System (DNS) จึงถูกสร้างขึ้นมา เพื่อกระจายข้อมูลที่เคยอยู่ในไฟล์เดียวไปยังเซิร์ฟเวอร์หลากหลายแห่ง
ค.ศ. 1986 (พ.ศ. 2529) Internet Engineering Task Force (IETF) ได้กำหนดให้ DNS เป็นหนึ่งในมาตรฐานแรกเริ่มของอินเทอร์เน็ต และได้เผยแพร่เอกสาร RFC 1034 และ RFC 1035 ซึ่งใช้อธิบาย โปรโตคอล (Protocol) DNS และประเภทข้อมูลที่สามารถจัดเก็บได้
ตั้งแต่นั้นมา DNS ได้รับการปรับปรุง และขยายอย่างต่อเนื่อง เพื่อรองรับอินเทอร์เน็ตที่ซับซ้อนมากขึ้น ปัจจุบัน บริษัทเทคโนโลยีขนาดใหญ่ เช่น Microsoft และ Google ต่างก็ให้บริการ DNS Hosting ของตนเอง
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |
ความคิดเห็นที่ 1
11 มิถุนายน 2568 10:54:41
|
||||||||||||||||||||
GUEST |
![]() |
Luther
Rochester Concrete Products7200 N Broadway Ave, Rochester, MN 55906, United Ѕtates 18005352375 Rockwod retainig wall ⲣrice
|
||||||||||||||||||