Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

ทำความเข้าใจระบบชื่อโดเมน:คู่มือฉบับสมบูรณ์

ทำความเข้าใจระบบชื่อโดเมน:คู่มือฉบับสมบูรณ์

โดย สุเมธ นิมการ์ด

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

ชื่อโฮสต์เพียงอย่างเดียวไม่สามารถบอกเราได้ว่าเครื่อง/ฮาร์ดแวร์ที่เราพยายามสื่อสารด้วยนั้นอยู่ที่ใดในโลก ดังนั้นการสื่อสารทั้งหมดจึงเสร็จสิ้นด้วยที่อยู่ IP

เซิร์ฟเวอร์ชื่อโดเมนคืออุปกรณ์ที่จับคู่ชื่อโฮสต์กับที่อยู่ IP ของเครื่อง/ฮาร์ดแวร์ที่ใช้บริการของคุณอยู่

ในโพสต์นี้ ฉันจะอธิบายโดยละเอียดเกี่ยวกับประเภทการสืบค้น DNS ประเภทของเซิร์ฟเวอร์ DNS และประเภทของบันทึก DNS

ตัวแก้ไข DNS

ตัวแก้ไข DNS คือคอมพิวเตอร์ที่ใช้โดยผู้ให้บริการอินเทอร์เน็ต (ISP) เพื่อค้นหาชื่อโฮสต์เฉพาะที่ผู้ใช้ร้องขอในฐานข้อมูล จากนั้นพวกเขาก็เปลี่ยนเส้นทางผู้ใช้นั้นไปยังที่อยู่ IP ที่แมปไว้ มีบทบาทสำคัญในการแก้ไข DNS

DNS Resolvers ยังแคชข้อมูลอีกด้วย ตัวอย่างเช่น เว็บไซต์ของฉัน08 ขณะนี้โฮสต์อยู่ในเครื่องที่มีที่อยู่ IP 18 . ดังนั้น แคชของ DNS Resolvers ทั่วโลกจึงได้แมปดังต่อไปนี้:

25 -&g39 230

พิจารณาในอนาคตว่าฉันต้องการโฮสต์เว็บไซต์ของฉันบนเซิร์ฟเวอร์อื่นทั่วโลกด้วย IP เช่น 47 หรือไม่ . แคช DNS ของ DNS Resolvers ทั้งหมดทั่วโลกจะยังคงมีที่อยู่ IP เก่าอยู่ระยะหนึ่ง สิ่งนี้อาจนำไปสู่การไม่สามารถใช้งานได้ผ่านวิธีการทั่วไปของเว็บไซต์จนกว่าการเผยแพร่ DNS จะเกิดขึ้นอย่างสมบูรณ์

บันทึกในแคช DNS Resolver จะยังคงอยู่เป็นระยะเวลาหนึ่ง ซึ่งเรียกว่า time to live (เรียกสั้นๆ ว่า TTL)

นี่คือเวลาที่บันทึกถูกแคชไว้ใน DNS Resolver สามารถตั้งค่านี้ได้ในแดชบอร์ดของผู้รับจดทะเบียนที่คุณซื้อโดเมน

หมายเหตุ:จากนี้ไป ฉันจะเรียก DNS Resolver ว่า Resolver ในบล็อกโพสต์นี้เท่านั้น

ประเภทของเซิร์ฟเวอร์ DNS

เซิร์ฟเวอร์ DNS รูท

เซิร์ฟเวอร์ Root DNS คือเซิร์ฟเวอร์ที่มีที่อยู่ของเซิร์ฟเวอร์โดเมน TLD ทั้งหมด คำขอจะพบเซิร์ฟเวอร์ Root DNS ก่อนในระหว่างการเดินทางเพื่อรับที่อยู่ IP จากชื่อโฮสต์

ในปี 2559 มีเนมเซิร์ฟเวอร์รูทโดเมน 13 แห่งทั่วโลก ซึ่งไม่ได้หมายความว่ามีเพียง 13 เครื่องที่จัดการโหลดคำขอที่มาจากทั่วทุกมุมโลก — มีเซิร์ฟเวอร์หลายเครื่องในระดับภาคพื้นดินที่จัดการโหลด

องค์กรต่างๆ จัดการเซิร์ฟเวอร์ Root DNS:

ทำความเข้าใจระบบชื่อโดเมน:คู่มือฉบับสมบูรณ์ เครดิต:https://iana.org

เซิร์ฟเวอร์โดเมน TLD

สิ่งเหล่านี้คือสิ่งที่จำแนกตามโดเมนระดับบนสุด โดยปกติแล้วจะเป็นรายการถัดไปที่แบบสอบถามแบบวนซ้ำเกิดขึ้นหลังจากเซิร์ฟเวอร์ Root DNS พวกเขาจัดเก็บบันทึกเฉพาะ TLD สำหรับชื่อโฮสต์

สมมติว่าเราขอที่อยู่ IP เป็น 56 จากนั้นเซิร์ฟเวอร์โดเมน TLD สำหรับ “.com” TLD จะถูกสอบถาม เซิร์ฟเวอร์โดเมน TLD ส่งคืนที่อยู่ของเซิร์ฟเวอร์ DNS ที่มีสิทธิ์ไปยัง Resolver

ทำความเข้าใจระบบชื่อโดเมน:คู่มือฉบับสมบูรณ์ รูปที่ เนมเซิร์ฟเวอร์ TLD ที่ชี้ไปยังเซิร์ฟเวอร์ชื่อที่มีสิทธิ์

ตอนนี้คำถามเกิดขึ้น:เนมเซิร์ฟเวอร์ TLD รู้ที่อยู่ของเซิร์ฟเวอร์ชื่อที่มีสิทธิ์ได้อย่างไร คำตอบนั้นง่ายมาก:เมื่อคุณซื้อโดเมนใดๆ กับผู้รับจดทะเบียน เช่น Godaddy หรือ Namecheap นายจดทะเบียนจะสื่อสารโดเมนไปยังเนมเซิร์ฟเวอร์ TLD ด้วย ดังนั้นจึงสามารถติดต่อเซิร์ฟเวอร์ชื่อที่มีสิทธิ์ได้

ปัจจุบันผู้รับจดทะเบียนบางรายให้ความสามารถในการใช้เซิร์ฟเวอร์ชื่อที่มีสิทธิ์ของบุคคลที่สามได้ ดังที่แสดงในรูปด้านบน คุณสามารถตั้งค่าเนมเซิร์ฟเวอร์ที่มีสิทธิ์ได้ในแดชบอร์ดของผู้รับจดทะเบียน

เซิร์ฟเวอร์ DNS ที่ได้รับอนุญาต

สิ่งเหล่านี้จะถูกสอบถามซ้ำๆ ในตอนท้ายโดยตัวแก้ไข พวกเขาจัดเก็บบันทึกจริงสำหรับประเภท A, NS, CNAME, TXT ฯลฯ

ดังนั้นพวกเขาจะส่งคืนที่อยู่ IP ของชื่อโฮสต์หากมี หากไม่สามารถใช้งานได้แม้ในเซิร์ฟเวอร์ DNS ที่มีสิทธิ์ ก็จะเกิดข้อผิดพลาดกับข้อความเฉพาะและกระบวนการค้นหาที่อยู่ IP ข้าม Nameserver จะสิ้นสุดลง

ประเภทของการสืบค้น DNS

การสืบค้น DNS มีสามประเภท:

แบบเรียกซ้ำ :การสอบถามแบบเรียกซ้ำจะทำโดยผู้ใช้ไปยัง Resolver จริงๆ แล้วมันเป็นแบบสอบถามแรกที่เกิดขึ้นขณะทำการค้นหา DNS

Resolvers อาจเป็น ISP ของคุณหรือผู้ดูแลระบบเครือข่ายของคุณ แต่โดยปกติแล้วจะเป็น ISP ในเกือบทุกกรณี

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

ทำซ้ำ :การสืบค้นแบบวนซ้ำเกิดขึ้นเมื่อ Resolver ไม่สามารถส่งคืนผลลัพธ์ได้เนื่องจากอาจไม่ได้แคชไว้ ดังนั้นจึงทำการร้องขอไปยังเซิร์ฟเวอร์ Root DNS และเซิร์ฟเวอร์ Root DNS จะรู้ว่าจะหาเซิร์ฟเวอร์โดเมน TLD เฉพาะได้จากที่ไหน

ตัวอย่างเช่น หากเราพยายามรับที่อยู่ IP สำหรับ 68 จากนั้นเซิร์ฟเวอร์โดเมนรากจะมีที่อยู่ของ 70 เซิร์ฟเวอร์ TLD ที่จัดเก็บไว้ในนั้นแล้วจะส่งกลับไปยัง Resolver จากนั้น Resolver จะขอที่อยู่ IP จากเซิร์ฟเวอร์ TLD เซิร์ฟเวอร์โดเมน TLD อาจไม่ทราบ แต่ทราบที่อยู่ของเซิร์ฟเวอร์ DNS ที่มีสิทธิ์สำหรับ 87 .

เอาล่ะ ทฤษฎีนี้เพียงพอแล้ว มาทำความเข้าใจกันโดยใช้แผนภาพการไหล:

ทำความเข้าใจระบบชื่อโดเมน:คู่มือฉบับสมบูรณ์ รูปที่ ความละเอียด DNS

มาแยกย่อยแผนภาพด้านบนเป็นขั้นตอน:

  1. ผู้ใช้ส่งคำขอไปยัง Resolver ด้วยชื่อโฮสต์ที่ต้องการที่อยู่ IP นี่เป็นแบบสอบถามแบบเรียกซ้ำ
  2. ตัวแก้ไขจะทำการค้นหาในแคชเพื่อดูว่ามีอยู่ในแคชหรือไม่
  3. หากเป็นเช่นนั้น ก็จะส่งคืนให้กับผู้ใช้
  4. หากไม่มีการแคชไว้ ระบบจะทำการร้องขอซ้ำไปยังเซิร์ฟเวอร์ Root DNS ที่มีอยู่ทั่วโลก ในปี 2559 มีเซิร์ฟเวอร์ Root DNS 13 เซิร์ฟเวอร์ที่ตั้งชื่อจาก A - M ตอนนี้เซิร์ฟเวอร์ Root DNS จะค้นหา TLD ของโดเมนที่ร้องขอ ตัวอย่างเช่น หากชื่อโฮสต์คือ 97 จากนั้น TLD จะกลายเป็น “.com” และเซิร์ฟเวอร์ Root DNS มีรายการสำหรับเซิร์ฟเวอร์โดเมน “.com” และจะส่งผลลัพธ์กลับไปยัง Resolver ตัวแก้ไขต้องมีที่อยู่ของเนมเซิร์ฟเวอร์โดเมนรากทั้งหมด หากไม่เป็นเช่นนั้น การค้นหา DNS อาจล้มเหลวตั้งแต่แรก
  5. ตอนนี้ Resolver จะส่งคำขอซ้ำไปยังเซิร์ฟเวอร์โดเมน TLD เพื่อขอที่อยู่ IP ของโดเมน จากนั้นเซิร์ฟเวอร์โดเมน TLD จะส่งคืนที่อยู่ของเซิร์ฟเวอร์ที่มีสิทธิ์สำหรับโดเมนที่ร้องขอ
  6. ณ ตอนนี้ ฉันเชื่อว่าคุณอาจเข้าใจว่าเซิร์ฟเวอร์ DNS ที่มีสิทธิ์คืออะไร ประกอบด้วยบันทึกจริงที่มีการแมปชื่อโฮสต์กับที่อยู่ IP และด้วยเหตุนี้ที่อยู่ IP จึงถูกส่งกลับไปยัง Resolver (ซึ่งจะส่งคืนกลับไปยังผู้ใช้)
  7. หากไม่พบบันทึกที่ตรงกันในเซิร์ฟเวอร์ชื่อที่มีสิทธิ์ ข้อผิดพลาดพร้อมข้อความแจ้งว่า "DNS_PROBE_FINISHED_NXDOMAIN" จะถูกส่งออกไป โดยระบุว่าไม่มีบันทึกสำหรับชื่อโฮสต์ที่ร้องขอ
  8. ในเนมเซิร์ฟเวอร์ทั้งหมดที่คำขอส่งผ่าน ผลลัพธ์สำหรับชื่อโฮสต์ที่ร้องขอจะถูกแคชไว้ ดังนั้นเมื่อผู้ใช้รายอื่นร้องขอโดเมนเดียวกัน บันทึกจะปรากฏในแคช DNS แล้ว
  9. โดยรวมแล้ว การค้นหา DNS จะใช้เวลาในการสืบค้นสูงสุดสี่ครั้ง แต่การค้นหาใช้เวลาเพียงไม่กี่วินาทีเท่านั้น

แนวคิดของการเผยแพร่ DNS

พิจารณาว่าคุณมีเว็บไซต์ของคุณที่โฮสต์กับผู้ให้บริการบางราย เช่น Digital Ocean บนเครื่องใดก็ตามที่มี IP “x” และคุณต้องการย้ายเว็บไซต์ที่โฮสต์ไปยังเครื่องอื่นที่มีที่อยู่ IP ต่างกันโดยพูดว่า “y” คุณจะต้องเปลี่ยนที่อยู่ IP ในบันทึกที่เชื่อถือได้เพื่อให้การรับส่งข้อมูลนำทางไปยังที่อยู่ IP ใหม่

แม้ว่าคุณจะอัปเดตบันทึกในแดชบอร์ดของผู้รับจดทะเบียน/เนมเซิร์ฟเวอร์ของคุณ แต่ก็ต้องใช้เวลาพอสมควรจึงจะสะท้อนถึงแคชของ Resolvers ทั้งหมดในโลก การเผยแพร่ DNS อาจใช้เวลา 24–72 ชั่วโมง แต่โดยปกติแล้วจะเกิดขึ้นเร็วกว่านั้น เนื่องจาก ISP ส่วนใหญ่ให้ TTL ต่ำ

แค่นั้นเอง!

ขอบคุณสำหรับการอ่านบทความ หากคุณมีคำถามใด ๆ โปรดอย่าลังเลที่จะถามพวกเขาในความคิดเห็นด้านล่างและแบ่งปันโพสต์นี้กับคนที่คุณต้องการ

เจอกันใหม่ตอนหน้าครับ ขอให้มีช่วงเวลาที่ดี ขอบคุณ.

คุณสามารถดูบทความอื่นของฉันเกี่ยวกับเครือข่ายคอมพิวเตอร์ ซึ่งจะอธิบายโดยละเอียด:

เครือข่ายคอมพิวเตอร์คืออะไร และจะเข้าใจเครือข่ายเหล่านั้นได้อย่างไร
_ไม่ว่าคุณจะยังใหม่ต่อโลกแห่งการพัฒนาหรือสร้างสิ่งต่าง ๆ มาเป็นเวลานาน — หรือแม้ว่าคุณจะเป็น…_medium.freecodecamp.org

ถ้าคุณชอบงานของฉัน คุณสามารถซื้อกาแฟให้ฉันได้ที่:

ซื้อกาแฟ Sumedh Nimkarde - BuyMeACoffee.com
_สวัสดี ฉันชื่อสุเมธ งานของฉันคือสร้าง ทำลาย และสร้างสิ่งต่างๆ ใหม่_buymeacoffee.com

โปรดติดต่อฉันทาง Twitter ได้ตามสบาย

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น