ระบบชื่อโดเมนคืออะไร? มันทำงานอย่างไร?
เผยแพร่แล้ว: 2021-07-04DNS เป็นสมุดโทรศัพท์ของอินเทอร์เน็ต!
คอมพิวเตอร์เชื่อมต่อและสื่อสารกันเพื่อส่งและรับข้อมูลโดยใช้ หมายเลข (ที่อยู่ IP) อุปกรณ์แต่ละเครื่องที่เชื่อมต่อกับอินเทอร์เน็ตมีที่อยู่ที่ไม่ซ้ำกันเป็นข้อมูลประจำตัว ซึ่งอุปกรณ์อื่นๆ ใช้เพื่อระบุและสื่อสาร
ในทางตรงกันข้าม มนุษย์สื่อสารกันโดยใช้ ชื่อ ของพวกเขา ซึ่งจำง่ายกว่าที่จะโทรหาใครซักคนมากกว่าตัวเลข
ระบบชื่อโดเมน (DNS) ถูกนำมาใช้เพื่อลดช่องว่างในการสื่อสารระหว่างมนุษย์และคอมพิวเตอร์ DNS แก้ไขชื่อเป็นตัวเลข ใน ชื่อโดเมนที่เป็นมิตรกับมนุษย์ โดยตรง ไปยังที่อยู่ IP ที่เป็นมิตรกับคอมพิวเตอร์

ชื่อโดเมนคืออะไร?
ชื่อโดเมน เป็นสตริงเฉพาะที่รู้จักทรัพยากรเฉพาะบนอินเทอร์เน็ต ระบุว่าเว็บแอปพลิเคชันเซิร์ฟเวอร์ใดที่กำลังร้องขออยู่ แม้ว่าคุณจะไม่เคยได้ยินชื่อโดเมนมาก่อน แต่คุณอาจเคยใช้มาแล้วนับล้านชื่อ ใช่! google.com , yahoo.com , geekflare.com ฯลฯ เป็นชื่อโดเมนทั้งหมด

DNS คืออะไรและทำไมเราต้องการมัน
มนุษย์เข้าถึงข้อมูลออนไลน์โดยใช้ชื่อโดเมน เช่น amazon.com, geekflare.com ฯลฯ ผ่านเบราว์เซอร์ แต่เว็บเบราว์เซอร์สื่อสารกัน ทางอินเทอร์เน็ตโปรโตคอลแอดเดรส (ที่อยู่ IP) เท่านั้น
DNS ช่วยเราด้วยการแปลชื่อโดเมนที่ระบุเป็นที่อยู่ IP ที่เกี่ยวข้อง เพื่อให้เบราว์เซอร์โหลดทรัพยากรที่ร้องขอได้

ตอนนี้ เรามาเปรียบเทียบกันเพื่อแสดงความต้องการ DNS:
หากคุณต้องการโทรเข้าโทรศัพท์ของผู้อื่น คุณจะต้องรับโทรศัพท์ก่อน จากนั้นจึงเลื่อนหรือค้นหารายชื่อผู้ติดต่อที่บันทึกไว้ จากนั้นจึงโทรออก
แม้ว่าเราจะสามารถโทรหาใครสักคนได้โดยใช้หมายเลขโทรศัพท์เท่านั้น เป็นการยากที่จะจดจำพวกเขาสำหรับผู้ติดต่อทั้งหมดของเรา นี่คือเหตุผลหลักว่าทำไมเราจึงบันทึกหมายเลขโทรศัพท์มือถือโดยใช้ชื่อในสมุดโทรศัพท์ของเรา
DNS ใช้กลไกเดียวกัน สมมติว่ามีฐานข้อมูลที่มีรายการที่อยู่ IP ที่มีชื่อโดเมนที่ตรงกัน
ในโลกปัจจุบัน มีเว็บไซต์ประมาณ 1.5+ พันล้านเว็บไซต์บนเวิลด์ไวด์เว็บ เราใช้บางอย่างในชีวิตประจำวันของเรา เป็นไปไม่ได้ที่จะจำที่อยู่ IP ของเว็บไซต์ทั้งหมด DNS จดจำไว้เพื่อทำให้ชีวิตของเราง่ายขึ้น
มันทำงานอย่างไร?
เมื่อผู้ใช้พิมพ์ URL (โดเมน) ในเบราว์เซอร์ สมมติว่า geekflare.com เบราว์เซอร์ต้องค้นหาที่อยู่ IP ของ Google เพื่อเชื่อมต่อ ขั้นตอนการค้นหาที่อยู่ IP จากชื่อโดเมนที่กำหนดนี้เรียกว่า DNS Resolution

คอมพิวเตอร์รู้จักตำแหน่งของเว็บไซต์ด้วยที่อยู่ IP ไม่ใช่ชื่อโดเมน เมื่อคุณพิมพ์ geekflare.com เบราว์เซอร์จะทำการค้นหา DNS เพื่อดึงข้อมูลที่อยู่ IP ที่เกี่ยวข้อง จากนั้นส่งต่อคำขอของเราไปยังเซิร์ฟเวอร์ Geekflare ซึ่งจะส่งหน้า Landing Page ของ Geekflare กลับมา
การค้นหา DNS เกิดขึ้นในเว็บเบราว์เซอร์ เบื้องหลัง ซึ่งไม่ต้องการการโต้ตอบจากผู้ใช้ที่พิมพ์ geekflare.com
ในการรับที่อยู่ IP ของเว็บไซต์ ให้ลองใช้คำสั่งต่อไปนี้ในพร้อมท์คำสั่งหรือเทอร์มินัล:
nslookup www.example.comคุณสามารถพิมพ์ที่อยู่ IP ได้โดยตรงจากผลลัพธ์นี้ในเบราว์เซอร์ของคุณ แต่บางเว็บไซต์อาจบล็อกการเข้าถึง IP โดยตรง ซึ่งคุณจะไม่ได้รับผลลัพธ์ที่คาดหวัง
เวิร์กโฟลว์ DNS
ตอนนี้ เราทราบแล้วว่ามีการขอที่อยู่ IP ทุกครั้งที่เราพิมพ์ชื่อโดเมน มาดูกันว่ากระบวนการนี้เกิดขึ้นได้อย่างไร
เมื่อป้อนชื่อโดเมนในเบราว์เซอร์เพื่อรับที่อยู่ IP อันดับแรกจะค้นหาในแคชในเครื่อง ข้อมูลแคชในเครื่องนี้อาจมีอยู่ในสองที่ต่อไปนี้:
- แคชของเว็บเบราว์เซอร์
- แคชของระบบปฏิบัติการ

ในกระบวนการค้นหา DNS เพื่อค้นหา IP เมื่อ ไม่มี ข้อมูล แคช สำหรับชื่อโดเมนที่ร้องขอ ชุดของเซิร์ฟเวอร์ DNS จะทำงานร่วมกันเพื่อค้นหาที่อยู่ IP
การสื่อสารที่มากเกินไปกับเซิร์ฟเวอร์ DNS ระยะไกลเป็นกระบวนการที่ใช้เวลานานซึ่งส่งผลให้ประสิทธิภาพต่ำ เพื่อป้องกันสิ่งนี้ ที่อยู่ IP ที่เป็นผลลัพธ์จะถูกเก็บไว้ในแคช OS, แคชของเบราว์เซอร์, แคชตัวแก้ไข DNS
ประเภทของเซิร์ฟเวอร์ DNS
เซิร์ฟเวอร์ DNS มีสี่ประเภท:
- Recursive Resolver
- รูทเนมเซิร์ฟเวอร์
- โดเมนระดับบนสุด (TLD) เนมเซิร์ฟเวอร์
- เนมเซิร์ฟเวอร์ที่เชื่อถือได้
มาดูตัวอย่างว่าเซิร์ฟเวอร์ DNS เหล่านี้ทำงานอย่างไรโดยประสานงานกัน:
สมมติว่าคุณต้องการหนังสือ ดังนั้นคุณจึงไปซื้อจากร้านหนังสือในพื้นที่ จากนั้นติดต่อเจ้าของร้านโดยบอกหนังสือที่คุณต้องการให้เขาทราบ โดยที่คุณทำหน้าที่เป็น ลูกค้า และเจ้าของร้านเป็นผู้ แก้ไขแบบเรียกซ้ำ
จากนั้นเจ้าของก็ไปดูที่ดัชนีของร้านค้า ( root nameserver ) ที่ชี้ไปยังชุดของชั้นวางอื่น ( TLDs )

หลังจากพบชั้นวางที่ถูกต้อง เขาไปที่ชั้นวางเฉพาะนั้น ( TLD ) และพยายามค้นหาชั้นวางที่สมบูรณ์แบบซึ่งมีหนังสืออยู่ (เนม เซิร์ฟเวอร์ที่เชื่อถือได้ ) และค้นหาหนังสือที่เหมาะสมตามที่ลูกค้าร้องขอ
DNS Recursive Resolver
หากไม่มี IP ในข้อมูลแคชในเครื่อง ระบบจะส่งต่อคำขอไปยัง DNS Recursive Resolver หรือที่เรียกว่า DNS Recursor วิธีการส่งคำขอไปยัง DNS Recursor เพื่อค้นหา IP นี้เรียกว่า DNS Query
DNS recursor เป็นเซิร์ฟเวอร์พิเศษที่ออกแบบมาเพื่อรับคำขอสืบค้น DNS ของไคลเอ็นต์ และทำการร้องขอเพิ่มเติม หากจำเป็น เพื่อตอบสนองไคลเอ็นต์ที่ร้องขอ
โดยปกติแล้วจะเป็นเซิร์ฟเวอร์ DNS ของ ผู้ให้บริการอินเทอร์เน็ต (ISP) ของคุณ

เซิร์ฟเวอร์ DNS เหล่านี้จัดทำโดย ISP ของคุณจะมีแคชในฐานข้อมูลด้วย หาก IP ที่คาดไว้สำหรับโดเมนที่ระบุอยู่ในหน่วยความจำแคช ก็จะส่งไปยังไคลเอนต์ที่ร้องขอ
มิฉะนั้น ขั้นตอนต่อไปนี้จะเกิดขึ้นในการค้นหา IP:
- DNS Recursor จะส่งคำขอไปยังเซิร์ฟเวอร์ชื่อรูท ( DNS Recursor → รูทเนมเซิร์ฟเวอร์ )
- รูทเนมเซิร์ฟเวอร์จะไม่มีข้อมูล IP ของชื่อโดเมน แต่จะให้ข้อมูลของเซิร์ฟเวอร์ TLD ที่เกี่ยวข้อง ซึ่งสามารถช่วยให้เราค้นหาได้ ( รูทเนมเซิร์ฟเวอร์ → ตัวเปลี่ยน DNS )
- ตอนนี้ recursor จะถามเซิร์ฟเวอร์ TLD สำหรับ IP ของโดเมนที่ระบุ ( DNS Recursor → เซิร์ฟเวอร์ TLD )
- เซิร์ฟเวอร์ TLD จะให้ข้อมูลของเนม เซิร์ฟเวอร์ ที่ เชื่อถือ ได้ซึ่งมี IP และเป็นจุดหยุดสุดท้ายในการสืบค้น DNS ( เซิร์ฟเวอร์ TLD → ตัวเปลี่ยน DNS )
- ในเวลานี้ ผู้เปลี่ยนเส้นทางจะขอที่อยู่ IP ของชื่อโดเมนจากเซิร์ฟเวอร์ที่เชื่อถือได้ ( DNS Recursor → เนมเซิร์ฟเวอร์ที่เชื่อถือได้ )
- สุดท้าย เนมเซิร์ฟเวอร์ที่เชื่อถือได้จะค้นหาที่อยู่ IP ของชื่อโดเมนที่ระบุและส่งไปยังผู้อ้างอิง ( เนม เซิร์ฟเวอร์ที่เชื่อถือได้ → ตัวเปลี่ยน DNS )
- ในที่สุด ตัวย้อนกลับจะเก็บผลลัพธ์ไว้ในฐานข้อมูลแคชและส่งที่อยู่ IP กลับไปยังไคลเอนต์ที่ร้องขอ ( DNS Recursor → ไคลเอนต์ )
รูท NameServer
เนมเซิร์ฟเวอร์รูท (aka, '.' nameserver ) เป็นขั้นตอนแรกในกระบวนการแปลโดเมน สมมติว่าคำขอที่ได้รับคือ www.google.com ตอนนี้ root nameserver จะค้นหาเซิร์ฟเวอร์ .com TLD ที่เหมาะสม และส่ง IP ของเซิร์ฟเวอร์ TLD นั้นไปยัง recursor
เนมเซิร์ฟเวอร์รูทอยู่ที่ด้านบนสุดของลำดับชั้นโดเมน ตัวแก้ไขแบบเรียกซ้ำไม่ทราบวิธีส่งคำขอไปยังเซิร์ฟเวอร์รูท
ด้วยเหตุนี้ ตัวแก้ไขแบบเรียกซ้ำทุกตัวจึงมีรายการที่อยู่เซิร์ฟเวอร์รูท IP 13 รายการซึ่งกำหนดค่าไว้ เมื่อใดก็ตามที่มีการค้นหา DNS การสื่อสารครั้งแรกของตัวแก้ไขแบบเรียกซ้ำจะอยู่กับหนึ่งใน 13 ที่อยู่เหล่านั้น

มีเซิร์ฟเวอร์รูทมากกว่า 1300 รายการทั่วโลก ซึ่งดำเนินการโดยองค์กรต่างๆ 12 แห่ง แต่สามารถเข้าถึงได้โดยที่อยู่ตัวเลข 13 เหล่านี้เท่านั้น
เนื่องจากมีที่อยู่ IP ของเซิร์ฟเวอร์รูทเพียง 13 ตัว จึงสามารถเห็นเนมเซิร์ฟเวอร์รูทเพียง 13 ตัวจากที่ใดก็ได้ในเวลาใดก็ตาม
TLD เนมเซิร์ฟเวอร์
เซิร์ฟเวอร์ชื่อโดเมนระดับบนสุดจะรักษาข้อมูลของชื่อโดเมนทั้งหมดที่ใช้นามสกุลร่วมกัน เป็นขั้นตอนที่สองในการค้นหาที่อยู่ IP
ต่อจากนั้น เซิร์ฟเวอร์ TLD จะตรวจสอบชื่อโดเมนที่ได้รับ ( google.com ) จาก DNS recursor และค้นหาเนม เซิร์ฟเวอร์ที่เชื่อถือได้
หลังจากค้นหาเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับ google.com แล้ว เซิร์ฟเวอร์ดังกล่าวจะส่งที่อยู่ IP กลับไปให้ DNS recursor

TLD มีหลายประเภท ได้แก่:
- gTLD – TLD ทั่วไป (.com, .net, .org เป็นต้น)
- ccTLD – รหัสประเทศ TLD (.in, .us, .uk ฯลฯ)
- sTLD – สนับสนุน TLD (.edu, .gov เป็นต้น)
เนมเซิร์ฟเวอร์ที่เชื่อถือได้
เนมเซิร์ฟเวอร์ที่เชื่อถือได้มีข้อมูลเฉพาะสำหรับโดเมนเฉพาะ และเป็นจุดสุดท้ายในการเดินทางค้นหา DNS
ขอเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับ ระเบียน A (หมายถึง ระเบียน 'ที่อยู่') ของโดเมน ซึ่งประกอบด้วยที่อยู่ IP ของเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์
หากมีข้อมูลของเรคคอร์ดโดเมนที่ร้องขอ มันจะส่งคืนที่อยู่ IP ของมันไปยัง recursor ซึ่งจะส่งคืนไปยังไคลเอนต์ที่ร้องขอต่อไป
บทสรุป
ระบบชื่อโดเมนเป็นส่วนสำคัญของอินเทอร์เน็ต เป็นขั้นตอนแรกในการเชื่อมต่อกับอินเทอร์เน็ต ช่วยให้มั่นใจได้ว่าอินเทอร์เน็ตไม่เพียง แต่เป็นมิตรกับผู้ใช้ แต่ยังช่วยในการโหลดเนื้อหาที่ร้องขอได้อย่างมีประสิทธิภาพ
หากไม่มี DNS มันจะเป็นภาระหนักสำหรับพวกเราทุกคน ในขณะที่เราอาศัยอยู่ในโลกอินเทอร์เน็ตที่มีเว็บไซต์มากมาย
