อธิบายเรื่อง DNS: เบราว์เซอร์ของคุณถอดรหัสที่อยู่เว็บไซต์ได้อย่างไร

คุณพิมพ์ www.google.com แล้วกด Enter หน้าเว็บก็โหลดขึ้นมาทันที

เบราว์เซอร์ของคุณไม่รู้ว่า Google ตั้งอยู่ที่ไหน มันจึงต้องเอ่ยปากถาม กระบวนการค้นหาข้อมูลที่รวดเร็วเกิดขึ้นภายในเวลาเพียงเสี้ยววินาที ระบบนี้เรียกว่า Domain Name System (DNS)

ให้ลองนึกว่า DNS คือสมุดโทรศัพท์ของอินเทอร์เน็ต มันจะแปลงชื่ออย่าง www.google.com ให้เป็นหมายเลข IP เช่น 142.250.80.46 หากไม่มีระบบนี้ คุณคงต้องจดจำตัวเลขสำหรับทุกเว็บไซต์ที่ต้องการเข้าถึง

กระบวนการค้นหาทำงานอย่างไร:

โครงสร้างโดเมน:

  • Subdomain: ส่วนหนึ่งของเว็บไซต์ (เช่น www)
  • Second-Level Domain: ชื่อแบรนด์ (เช่น google)
  • Top-Level Domain (TLD): หมวดหมู่หรือประเทศ (เช่น .com)

ก่อนที่จะค้นหาบนเว็บ คอมพิวเตอร์ของคุณจะตรวจสอบจากสองแหล่ง:

  • Browser cache: หากคุณเพิ่งเข้าชมเว็บไซต์นั้นเมื่อไม่นานมานี้ หมายเลข IP จะถูกจัดเก็บไว้แล้ว
  • Hosts file: ไฟล์ในเครื่องคอมพิวเตอร์ของคุณที่ใช้สำหรับการจับคู่ที่อยู่ด้วยตนเอง

หากการตรวจสอบข้างต้นไม่พบข้อมูล Recursive Resolver จะเข้ามาทำหน้าที่แทน ซึ่งโดยปกติแล้วจะให้บริการโดย ISP ของคุณ คุณสามารถเลือกใช้ตัวเลือกที่เร็วกว่าได้ เช่น Google (8.8.8.8) หรือ Cloudflare (1.1.1.1)

Resolver จะทำงานตามลำดับขั้นดังนี้:

  • Root Server: ส่ง Resolver ไปยัง TLD server ที่ถูกต้อง
  • TLD Server: ส่ง Resolver ไปยัง Authoritative Name Server ที่ระบุ
  • Authoritative Name Server: เป็นผู้ถือหมายเลข IP จริงและส่งข้อมูลกลับมา

จากนั้น Resolver จะบันทึกคำตอบนี้ไว้ในช่วงเวลาหนึ่ง ซึ่งเรียกว่า TTL (Time To Live) ค่า TTL สูงหมายถึงการดึงข้อมูลซ้ำได้เร็วขึ้น ส่วนค่า TTL ต่ำจะมีประโยชน์เมื่อคุณมีการเปลี่ยนเซิร์ฟเวอร์อย่างรวดเร็ว

ประเภทของ DNS record ที่พบบ่อย:

  • A: จับคู่โดเมนกับหมายเลข IPv4
  • AAAA: จับคู่โดเมนกับหมายเลข IPv6
  • CNAME: สร้างชื่อนามแฝง (alias) ไปยังโดเมนอื่น
  • MX: กำหนดเส้นทางอีเมลไปยังเซิร์ฟเวอร์ที่ถูกต้อง
  • TXT: เก็บข้อความสำหรับการยืนยันตัวตนหรือความปลอดภัย

โดยปกติแล้วการสอบถาม DNS (DNS queries) จะเป็นข้อความธรรมดา (plain text) ซึ่งหมายความว่า ISP ของคุณสามารถมองเห็นข้อมูลเหล่านี้ได้ คุณสามารถใช้ DNS over HTTPS (DoH) หรือ DNS over TLS (DoT) เพื่อเข้ารหัสข้อมูลนี้เพื่อความเป็นส่วนตัวที่ดียิ่งขึ้น

DNS คือรากฐานที่มองไม่เห็นของเว็บ การทำความเข้าใจเรื่องนี้จะช่วยให้คุณสามารถแก้ไขปัญหาความล่าช้าในการ deploy และการย้ายเซิร์ฟเวอร์ (server migration) ได้

ที่มา: https://dev.to/jinkrish/dns-explained-how-your-browser-decodes-website-addresses-2bcm