DNS คืออะไร? ข้อมูลเบื้องต้นเกี่ยวกับระบบชื่อโดเมน
เผยแพร่แล้ว: 2022-04-11เมื่อคุณนั่งอยู่หน้าคอมพิวเตอร์ อินเทอร์เน็ตก็ดูเรียบง่าย คุณเปิดเบราว์เซอร์ พิมพ์ชื่อโดเมน และดูเว็บไซต์บนหน้าจอของคุณ อย่างไรก็ตาม ภายใต้ Graphical User Interface (GUI) คือเครือข่ายซอฟต์แวร์และเซิร์ฟเวอร์ที่กว้างขวาง ซึ่งรู้จักกันในชื่อ Domain Name System (DNS) อย่างไรก็ตาม DNS คืออะไรและช่วยให้เราดูเว็บบนอุปกรณ์ของเราได้อย่างไร
คำตอบนี้ซับซ้อน เนื่องจากมีชิ้นส่วนเคลื่อนไหวที่เกี่ยวข้องจำนวนมาก คุณจะพบว่าเกือบทุกลิงก์ในเครือข่ายใช้เซิร์ฟเวอร์ ยิ่งไปกว่านั้น ยังมีเทคนิคต่างๆ ที่จะช่วยให้คุณลดปัญหาคอขวดที่อาจบั่นทอนความเร็วในการโหลดหน้าเว็บของคุณได้อย่างรวดเร็ว
สำหรับบทความนี้ เราจะช่วยให้คุณเข้าใจ DNS อย่างตรงไปตรงมาที่สุด มาสรุปกันว่าบทความนี้จะกล่าวถึงอะไร
สารบัญ
- วิธีที่อินเทอร์เน็ตรับหน้าเว็บจากเซิร์ฟเวอร์ไปยังเบราว์เซอร์ของคุณ
- 4 DNS Servers ที่ดึงและโหลดหน้าเว็บ
- ความแตกต่างระหว่าง DNS Recursor และ Nameserver ที่เชื่อถือได้
- การค้นหา DNS ทำงานอย่างไร
- แบบสอบถามที่คุณจะพบในการค้นหา DNS
- ไพรเมอร์บน DNS Caching
- การเปลี่ยนแปลงระเบียน DNS: 'การขยายพันธุ์'
- บทสรุป
วิธีที่อินเทอร์เน็ตรับหน้าเว็บจากเซิร์ฟเวอร์ไปยังเบราว์เซอร์ของคุณ
โดยสรุป DNS คือวิธีที่เราแปลงชื่อโดเมนที่อ่านได้ให้เป็นที่อยู่อินเทอร์เน็ตโปรโตคอล (IP) ที่เป็นผลลัพธ์ แม้ว่าจะดูเหมือนเป็นงานง่ายๆ บนพื้นผิว แต่ก็ห่างไกลจากกรณีนี้
แต่ละเว็บไซต์อาศัยอยู่บนเซิร์ฟเวอร์ และแต่ละเซิร์ฟเวอร์ (และที่จริงแล้วคอมพิวเตอร์) มีที่อยู่ IP DNS เป็นระบบที่จับคู่ที่อยู่ IP กับชื่อโดเมน ดังนั้นเราจึงเพลิดเพลินไปกับการท่องเว็บที่ใช้งานง่าย ในการเปรียบเทียบ ให้คิดว่าชื่อถนนและที่อยู่บ้านเป็นชุดของพิกัดแผนที่อย่างไร เราใช้ที่อยู่เพื่อลดความซับซ้อนของเส้นแวงและละติจูดของสถานที่

เมื่อคุณแปลงที่อยู่ IP เป็นชื่อโดเมน (และในทางกลับกัน) นี่คือ 'การแก้ไข DNS' มีส่วนประกอบฮาร์ดแวร์จำนวนมากในสายนี้ โดยเฉพาะเซิร์ฟเวอร์สี่ประเภทที่แตกต่างกัน เรามาพูดถึงสิ่งเหล่านี้กันต่อไป
4 DNS Servers ที่ดึงและโหลดหน้าเว็บ
ทุกคำขอ DNS และการแก้ปัญหาต้องผ่านสี่เซิร์ฟเวอร์ สรุปได้ดังนี้
- ตัวเปลี่ยน DNS นี่คือ 'ผู้ให้บริการน้ำ' สำหรับ DNS ทั้งหมด เมื่อคุณขอเว็บไซต์จากเบราว์เซอร์ของคุณ คุณจะต้องบอกให้ผู้ค้นหาค้นหา (หรือ 'ค้นหา') ไซต์ใน DNS
- เนมเซิร์ฟเวอร์รูท หากคุณพิจารณาเว็บเซิร์ฟเวอร์ที่มีไซต์จำนวนมาก เนมเซิร์ฟเวอร์รูทจะเป็นตัวแทนของทั้งหมด เป็นตำแหน่งทั่วไปของที่อยู่ IP
- เนมเซิร์ฟเวอร์ระดับบนสุดของโดเมน (TLD) เว็บไซต์จะอยู่ภายในรูทเนมเซิร์ฟเวอร์ แต่เนมเซิร์ฟเวอร์ TLD จะขุดส่วนสุดท้ายของที่อยู่ IP: ส่วนท้ายของชื่อโฮสต์ ซึ่งอาจเป็น .com, .net หรืออื่นๆ มากมาย
- เนมเซิร์ฟเวอร์ที่เชื่อถือได้ เพื่อให้เซิร์ฟเวอร์ที่ซับซ้อนนี้ง่ายขึ้น มันคือไลบรารีอ้างอิงสำหรับที่อยู่ IP เซิร์ฟเวอร์นี้จะส่งที่อยู่ IP ที่สมบูรณ์กลับไปที่ recursor ซึ่งจะแสดงเว็บไซต์ในเบราว์เซอร์ของคุณ
การสืบค้น DNS จะดำเนินการตามขั้นตอนเหล่านี้ทั้งหมด แม้กระทั่งหลายครั้ง ก่อนที่การสืบค้นข้อมูลจะได้รับการแก้ไข ด้วยเหตุนี้ มีจุดหลายจุดในสายโซ่ที่อาจทำให้การสืบค้นล้มเหลว – เหตุใดเราจึงมีข้อผิดพลาด HTTP
แม้ว่าจะคุ้มค่าที่จะเจาะลึกเข้าไปที่ด้านหน้าและด้านหลังของโซ่นี้ในรายละเอียดเพิ่มเติม ลองทำกันต่อไป
ความแตกต่างระหว่าง DNS Recursor และ Nameserver ที่เชื่อถือได้
คุณจะเข้าใจว่า recursor ดึงผลลัพธ์ของการสืบค้นข้อมูล และเป็นจุดเริ่มต้นของกระบวนการ DNS ทั้งหมด ในทางกลับกัน คุณจะรู้ด้วยว่าเนมเซิร์ฟเวอร์ที่เชื่อถือได้ส่งผลลัพธ์ของกระบวนการนี้กลับไปยังตัวเปลี่ยนเส้นทาง อย่างไรก็ตาม ทั้งสองมีข้อแตกต่างเพิ่มเติมที่คุณจำเป็นต้องรู้:
- ตัวเปลี่ยน DNS เซิร์ฟเวอร์นี้ตอบสนองต่อคำขอค้นหา DNS มีการใช้งานในการติดตามบันทึก DNS ตลอดสาย ในขณะที่วิธีการทั่วไปสำหรับ recursor คือการส่งคำขอหลายรายการไปยังเซิร์ฟเวอร์อื่น การแคชสามารถลดเวลานี้ได้ เราจะพูดถึงเรื่องนี้เพิ่มเติมในภายหลัง
- เนมเซิร์ฟเวอร์ที่เชื่อถือได้ เซิร์ฟเวอร์นี้มีระเบียน DNS ทั้งหมด หน้าที่คือตอบสนองต่อคำขอโดยอิงตามข้อมูลที่ได้รับจากเซิร์ฟเวอร์อื่นในเครือข่าย รวมถึงผู้อ้างอิง เป็นเซิร์ฟเวอร์ที่ช่วยให้เบราว์เซอร์แสดงเว็บไซต์ได้ เนื่องจากเป็นข้อมูลที่เชื่อถือได้ จึงไม่จำเป็นต้องปรึกษาแหล่งข้อมูลอื่นเพื่อตรวจสอบความถูกต้องของข้อความค้นหา เนื่องจากเป็นแหล่งข้อมูลความจริง
อย่างไรก็ตาม แม้ว่าเนมเซิร์ฟเวอร์ที่เชื่อถือได้จะเป็นปลายทางสำหรับคำขอ DNS แต่ก็จะไม่เป็นเช่นนี้เสมอไป คุณจะพบเนมเซิร์ฟเวอร์เพิ่มเติมหลังจากจุดนี้ขึ้นอยู่กับคำขอ
หากการสืบค้น DNS ใช้สำหรับโดเมนย่อย (เช่น shop.example.com) คุณจะพบว่ามีเนมเซิร์ฟเวอร์พิเศษต่อจากเนมเซิร์ฟเวอร์ที่เชื่อถือได้ ซึ่งจะเก็บ ระเบียน CNAME สำหรับโดเมนย่อยที่เป็นปัญหา

ในทางทฤษฎี ไม่มีการจำกัดจำนวนของเนมเซิร์ฟเวอร์พิเศษที่ร้องขอการสืบค้น อย่างไรก็ตาม ส่วนใหญ่แล้ว จะมีเนมเซิร์ฟเวอร์พิเศษเพียงตัวเดียวเท่านั้น
การค้นหา DNS ทำงานอย่างไร
แม้ว่าจะมีเซิร์ฟเวอร์สี่เครื่องที่ประมวลผลการค้นหาและการสืบค้น DNS มีขั้นตอนมากมายในสายโซ่ที่ส่งต่อการสืบค้นและดึงผลลัพธ์ นี่คือวิธีการทำงานของกระบวนการค้นหา:
- คุณจะต้องพิมพ์ชื่อโดเมนลงในเบราว์เซอร์ของคุณ เมื่อคุณคลิก Enter แบบสอบถามจะเปลี่ยนจากเบราว์เซอร์และระบบปฏิบัติการ (OS) ของคุณไปยังอินเทอร์เน็ตที่ DNS recursor ได้รับ
- เคอร์เซอร์ส่งผ่านแบบสอบถามนี้ไปยังเนมเซิร์ฟเวอร์รูท และดำเนินการค้นหาของตัวเอง
- ผลลัพธ์ของการค้นหานี้จะเป็นเนมเซิร์ฟเวอร์ TLD ซึ่งจะย้อนกลับไปยังเคอร์เซอร์
- คราวนี้ recursor จะสอบถามเซิร์ฟเวอร์ชื่อ TLD ซึ่งตอบสนองด้วยที่อยู่ IP ของเนมเซิร์ฟเวอร์ที่เชื่อถือได้ของโดเมน
- เคอร์เซอร์ส่งแบบสอบถามอื่นไปยังเนมเซิร์ฟเวอร์ที่เชื่อถือได้ ซึ่งจะตอบกลับด้วยที่อยู่ IP สำหรับคำขอโดเมนเริ่มต้น
จากที่นี่ recursor จะส่งผลงานกลับไปยังเว็บเบราว์เซอร์ กระบวนการ DNS เสร็จสมบูรณ์ และผู้ตั้งต้นสามารถพักได้สองสามมิลลิวินาที! เบราว์เซอร์จะประมวลผลคำขอ HTTP เพื่อแสดงไซต์ในเบราว์เซอร์

มีขั้นตอนที่ซับซ้อนและใช้แรงงานจำนวนมาก (เทียบกับสิ่งที่เซิร์ฟเวอร์สามารถทำได้) และสิ่งนี้เกิดขึ้นหลายพันล้านครั้งต่อวินาทีทั่วโลก ถึงกระนั้นก็มีเพียงสามคำค้นหาที่เกิดขึ้นในการค้นหา
แบบสอบถามที่คุณจะพบในการค้นหา DNS
มีความสัมพันธ์ภายในแต่ละคำถามเหล่านี้ระหว่างไคลเอ็นต์ DNS และเซิร์ฟเวอร์ แม้ว่าคำเหล่านี้เป็นคำทั่วไป แต่เราจะสังเกตข้อมูลเฉพาะใดๆ ในคำอธิบายของเรา:
- แบบสอบถามแบบเรียกซ้ำ ในแบบสอบถามนี้ ไคลเอ็นต์จะขอให้ DNS recursor ตอบสนองด้วยระเบียน DNS ที่ร้องขอ หรือข้อความแสดงข้อผิดพลาด
- แบบสอบถามซ้ำ แบบสอบถามนี้ให้สิทธิ์การใช้งานฟรีเคอร์เซอร์เพื่อให้ 'คาดเดาได้ดีที่สุด' กับสิ่งที่ส่งคืน หากไม่มีการค้นหาที่ตรงกัน ผลลัพธ์จะเป็นการอ้างอิงไปยังเซิร์ฟเวอร์ที่เชื่อถือได้ระดับล่าง จนกว่า 'เส้นทาง' นี้จะหมดลง
- แบบสอบถามแบบไม่เรียกซ้ำ คุณจะพบว่าการสืบค้นข้อมูลนี้จะเกิดขึ้นหากมีบันทึก DNS ในแคช หรือตัวกำหนดเส้นทางมีสิทธิ์เข้าถึงระเบียน เราจะพูดถึงการแคชในช่วงท้ายบทความ
ในหลายกรณี คุณจะพบว่าการสืบค้นแบบเรียกซ้ำและแบบไม่เรียกซ้ำเป็นคำถามที่พบบ่อยที่สุด นี่คือสาเหตุที่คุณจะเห็นข้อความแสดงข้อผิดพลาด และทำไมขั้นตอนการค้นหาจึงซับซ้อน
ไพรเมอร์บน DNS Caching
เมื่อคุณจัดการกับการสืบค้นแบบไม่เรียกซ้ำ ระเบียนมีโอกาสที่จะอยู่ในแคชเฉพาะสำหรับระเบียน DNS หากคุณรู้เกี่ยวกับการแคช คุณจะเข้าใจว่าในแคชนั้นจะมีไฟล์ที่คุณเข้าถึงอยู่เป็นประจำ แอปในพื้นที่สามารถทำได้ แต่แคชของไซต์เป็นตัวอย่างที่ดีที่สุด:

การดำเนินการนี้จะเก็บบันทึกสำหรับไฟล์ในไซต์ของคุณ เพื่อให้คุณลดจำนวนคำขอ HTTP ลงได้ เช่นเดียวกับระเบียน DNS วิธีนี้ช่วยให้บันทึกที่เกี่ยวข้องใกล้กับตำแหน่งของคอมพิวเตอร์ของคุณมากขึ้น เพื่อให้คุณสามารถดึงที่อยู่ IP ได้เร็วกว่าปกติ
สำหรับนักพัฒนาเว็บ คำขอ GET
คือสิ่งที่เบราว์เซอร์มีปัญหา ด้วยแคช ตัวเปลี่ยนเคอร์เซอร์จะตัดเซิร์ฟเวอร์อื่นในสายโซ่ออก และไปที่เนมเซิร์ฟเวอร์ที่เชื่อถือได้โดยตรง หรือเรียกคืนโดยไม่จำเป็นต้องมีการสืบค้นเพิ่มเติม เป็นข้อความค้นหาที่ไม่เรียกซ้ำทั่วไปที่สุดที่คุณสามารถทำได้
ที่จริงแล้ว คุณจะพบแคช DNS ในหลายเทคโนโลยี เช่น ผู้ให้บริการอินเทอร์เน็ต (ISP) เราเตอร์ และคอมพิวเตอร์ในพื้นที่ของคุณ

คุณจะพบว่าแคชของเบราว์เซอร์เป็นพอร์ตแรกในการโทรสำหรับ recursor ที่กำลังมองหาระเบียน DNS ด้วยเหตุนี้ เบราว์เซอร์จึงมักจะบันทึกแคชเป็นการตั้งค่าเริ่มต้น ระบบปฏิบัติการของคุณจะมีตัวแก้ไข DNS และจะตรวจสอบแคชของตัวแก้ไข DNS ด้วย
อีกครั้ง หากระบบปฏิบัติการไม่มีบันทึกอยู่ในแคช ระบบปฏิบัติการจะส่งข้อความค้นหาไปยังตัวเปลี่ยน ISP ของคุณเพื่อดำเนินการ เรเคอร์เซอร์ทั้งสองนี้จะทำงานร่วมกับระเบียน A และ NS ของโดเมนของคุณเพื่อพยายามแก้ไขปัญหา ก่อนที่กระบวนการค้นหาทั้งหมดจะเกิดขึ้น
การเปลี่ยนแปลงระเบียน DNS: 'การขยายพันธุ์'
ในการนี้ คุณอาจทำการเปลี่ยนแปลงระเบียน A , NS หรือ CNAME กับผู้รับจดทะเบียนของคุณ ในหลายกรณี การดำเนินการนี้อาจใช้เวลานานถึง 72 ชั่วโมงก่อนที่การเปลี่ยนแปลงทั้งหมดจะลงทะเบียน
นี่คือการเผยแพร่ DNS และเวลาที่ใช้ในการดำเนินการให้เสร็จสิ้นขึ้นอยู่กับปัจจัยหลายประการ กล่าวคือ ค่า Time To Live (TTL) สำหรับบันทึกที่เกี่ยวข้อง:

กล่าวโดยย่อ จะเป็นตัวกำหนดว่าการเปลี่ยนแปลงจะมีผลเร็วเพียงใดสำหรับระเบียน DNS เฉพาะ TTL ทั่วไปจะอยู่ที่ประมาณสี่ชั่วโมง และยิ่งค่าสูงเท่าใด การแพร่กระจายนี้จะใช้เวลานานขึ้นเท่านั้น
ผู้รับจดทะเบียนมักจะตั้งค่า TTL สำหรับเนมเซิร์ฟเวอร์ของคุณ ดังนั้น คุณหรือใครก็ตามจะไม่สามารถเปลี่ยนแปลงได้ นี่คือสาเหตุว่าทำไมคุณมักจะต้องรอจนกว่าการแพร่กระจายจะเสร็จสิ้น และเหตุใดคุณจึงต้องตรวจสอบไซต์เช่น What's My DNS อยู่เสมอ เพื่อวัดความก้าวหน้า:

วิธีแก้ไขคือตั้งค่า TTL ให้มากที่สุดก่อนที่คุณจะตัดสินใจแก้ไขระเบียน DNS แน่นอน นายทะเบียนจะต้องรับผิดชอบเนมเซิร์ฟเวอร์ของคุณ แต่คุณจะต้องพยายามอย่างเต็มที่เพื่อลดเวลาในการเผยแพร่
บทสรุป
หากคุณคิดว่าการเข้าถึงหน้าเว็บเป็นเรื่องง่าย ให้คิดใหม่ สำหรับผู้ใช้ปลายทาง กระบวนการนี้เรียบง่ายเป็นแกนหลัก อย่างไรก็ตาม ภายใต้ประทุนนั้นซับซ้อนกว่ามาก และเกี่ยวข้องกับเซิร์ฟเวอร์เพิ่มเติมมากมายเหลือเฟือ
โพสต์นี้ได้ตรวจสอบ DNS – วิธีที่อินเทอร์เน็ตใช้ชื่อโดเมนและแก้ไขเป็นที่อยู่ IP จากนั้น ก็สามารถกลับไปที่เบราว์เซอร์และแสดงผลเป็นหน้าเว็บได้ อย่างไรก็ตาม คุณจะพบว่ามีกระบวนการอื่นๆ เกิดขึ้นมากมายเช่นกัน เช่น การขยายพันธุ์และการแคช เมื่อรวมกันแล้วจะทำให้เราเรียกดูได้อย่างรวดเร็วและ (ส่วนใหญ่) ปราศจากปัญหา
คุณคิดว่าบทความนี้ตอบคำถาม: “ DNS คืออะไร” และหากไม่ใช่ คุณมีคำถามเพิ่มเติมหรือไม่ ถ้าเป็นเช่นนั้นถามออกไปในส่วนความคิดเห็นด้านล่าง!