DNS คืออะไร ? หลักการทำงานเป็นอย่างไร

   By: Withoutcoffee Icantbedev

   อัปเดตล่าสุด May 10, 2023

DNS คืออะไร ? หลักการทำงานเป็นอย่างไร

A: เฮ้ยเพื่อน นายเข้าเว็บ 192.0.0.128 ให้เราหน่อยสิ

B: ได้เลยเพื่อนเดี๋ยวเราเข้าให้ แต่ว่าเว็บ 8.8.8.8 ก็น่าสนใจนะ

ลองเทียบกับบทสนทนาด้านล่าง

A: เฮ้ยเพื่อน เข้าเว็บ devhub.in.th ให้เราหน่อยสิ

B: ได้เลยเพื่อน แต่ว่าเว็บ google.com ก็น่าสนใจนะ


บทสนทนาแรกของ A และ B เป็นการบอกชื่อเว็บด้วยหมายเลข IP Address ส่วนบทสนทนาที่สองบอกด้วยชื่อ Domain Name เพื่อน ๆ คิดว่าบทสนทนาไหนดูน่าเข้าใจมากกว่ากันครับ แน่นอนครับว่าต้องเป็นอันหลัง เพราะถ้าเป็นอันแรกคงปวดหัวและมึนตึบแน่ ๆ สิ่งที่ A และ B กำลังพูดถึงในบทสนทนาทั้งสองนี้ มีความเกี่ยวข้องกับ DNS  ที่เราจะมาไขความกระจ่างในบทความนี้แบบเนื้อ ๆ เน้น ๆ ครับ


DNS คืออะไร?

DNS (Domain Name System) คือ ระบบที่อนุญาตให้แปลงชื่อโดเมนที่มนุษย์อ่านได้ให้เป็นที่อยู่ Internet Protocol (IP Address) ที่คอมพิวเตอร์สามารถเข้าใจได้ (โดยปกติอะไรก็ตามที่ต้องเชื่อมต่อเข้ากับอินเทอร์เน็ตล้วนต้องมีหมายเลขไอพีเป็นของตัวเอง) และหากไม่มี DNS การเข้าถึงเว็บไซต์โดยใช้ชื่อโดเมนจะไม่สามารถทำได้

  • IP Address → คอมพิวเตอร์เข้าใจ
  • Domain Name  →  มนุษย์เข้าใจ


ประเภทของ DNS

DNS มีอยู่ 3 ประเภทดังต่อไปนี้

  1. Recursive DNS Server (เซิร์ฟเวอร์ DNS แบบเรียกซ้ำ) - เซิร์ฟเวอร์เหล่านี้มีหน้าที่แก้ไขชื่อโดเมนเป็นที่อยู่ IP โดยทำตามขั้นตอนที่อธิบายไว้ข้างต้น เซิร์ฟเวอร์ DNS ของผู้ให้บริการอินเทอร์เน็ต หรือ ISP (Internet Service Provider) ของเราเป็นตัวอย่างของเซิร์ฟเวอร์ DNS แบบเรียกซ้ำ
  2. Root DNS Server (เซิร์ฟเวอร์ DNS รูท) - มีเซิร์ฟเวอร์ DNS รูท 13 แห่งทั่วโลก ที่รับผิดชอบในการแก้ไขชื่อโดเมนระดับบนสุด (TLD: Top Level Domain) เช่น .com, .org และ .net หรือถ้าของไทย เช่น .co.th, .in.th, .th เป็นต้น
  3. Trusted DNS Server (เซิร์ฟเวอร์ DNS ที่เชื่อถือได้) - เซิร์ฟเวอร์เหล่านี้มีหน้าที่รับผิดชอบในการดูแลบันทึก DNS สำหรับชื่อโดเมนเฉพาะ เมื่อเซิร์ฟเวอร์ DNS แบบเรียกซ้ำ (Recursive DNS Server) จำเป็นต้องแก้ไขชื่อโดเมน เซิร์ฟเวอร์จะติดต่อเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับชื่อโดเมนนั้น


หลายคนคงจะเคยได้ยินกับคำว่า "การจดโดเมนเนม" ซึ่งอันที่จริงแล้วเว็บไซต์แต่ละเว็บสามารถเข้าถึงได้ด้วยหมายเลข IP ได้เลย เช่น 192.0.0.123 ... เป็นต้น แต่อย่างที่กล่าวไปข้างต้นครับว่า คงไม่มีใครที่จะจดจำชื่อเว็บด้วยหมายเลขไอพีของเราได้ (และคงไม่มีใครทำกัน) ดังนั้นโดยทั่วไปแล้วแทบทุกเว็บจึงจำเป็นต้องจดชื่อโดเมนเพื่อให้เป็นที่จดจำได้ง่าย เช่น devhub.in.th, djangoproject.com อะไรแบบนี้เป็นต้น


สรุป

DNS คือ ตัวกลางหรือระบบที่เป็นตัวเชื่อมหมายเลข IP ที่คอมพิวเตอร์เข้าใจได้ เข้ากันกับ Domain Name หรือชื่อเว็บไซต์ที่มนุษย์เราเข้าใจได้ง่าย เพื่อทำงานร่วมกันได้ ถ้าไม่มี DNS จะทำให้เป็นการยากต่อการจดจำชื่อเว็บไซต์ด้วยหมายเลข IP Address โดย DNS มีอยู่ 3 ประเภทคือ Recursive DNS Server, Root DNS Server และ Trusted DNS Server


เปิดโลกการเขียนโปรแกรมและ Software Development ด้วย online courses ที่จะพาคุณอัพสกิลและพัฒนาสู่การเป็นมืออาชีพ เรียนออนไลน์ เรียนจากที่ไหนก็ได้ พร้อมซัพพอร์ตหลังเรียน

เรียนเขียนโปรแกรม