การทำงานของ DNS Server
การทำงานของ DNS Server
ก่อนอื่นต้องให้เครดิตให้กับแหล่งที่อ้างอิงก่อน https://www.youtube.com/@PowerCertAnimatedVideos เนื้อหาทั้งหมดดูแล้วเอามาเขียนบทความจากที่อ้างอิงนั้นแหละ เพราะเขาอธิบายดีมาก มีผู้ติดตามล้านกว่าคน
Table of Contents
DNS SERVER คืออะไร
DNS มันย่อมาจากคำว่า Domain Name Syetem มันคือระบบจัดการโดเมนเนม ทำไมต้องจัดการโดเมนเนม ให้เรานึกอ่านง่ายๆๆ แบบนี้ สิ่งที่ใกล้ตัวเราที่สุดถือทุกวัน นั้นคือมือถือ ในมือถือของเราในการใช้งานเรามักจะบันทึกชื่อเบอร์มือถือไว้พร้อมกับรายชื่อที่เราต้องการติดต่อ อาจจะเป็นชื่อเล่นชื่อจริง
หรือในสมัยก่อน มีเบอร์บ้านที่ใช้เป็นหลัก สิ่งที่เราต้องการหาเบอร์บ้านคือสมุดโทรศัพท์ โดยหาชื่อร้านค้าหรือชื่อเจ้าของก่อน เหตุที่มีระบบบันทึกชื่อไว้ในมือถือ เพราะบางทีเราจำเบอร์มันจากกว่าจำชื่อ เช่นเดียวกัน
ในระบบอินเตอร์เน็ต เว็บไซต์ต่างๆๆ ที่เราเข้าไปเยี่ยมชมนั้นในการจัดสร้างเว็บไซต์นั้น จะเอาไปติดตั้งไว้ใน Web Server และ Web Server นั้น หากไม่ได้กำหนดโดเมนเนม เพื่อผูกมันกับ Ip Address แต่จะเป็นหมายเลข IP Address อย่างเดียว ในการใช้งานเว็บไซต์แต่ละครั้ง ต้องเข้าผ่านหมายเลข Ip Address แน่นอนมันจำยากมาก
ทางแก้คือ สร้าง Domain Name ขึ้นมาแล้วเอาไปผูกหรือจับคู่กับ Ip Address ของ Web server เมื่อเราจะเข้าเว็บไซต์ไหนก็ตาม เราไม่จำเป็นต้องพิมพ์ Ip Adress แล้ว แต่เปลี่ยนเป็นพิมพ์ชื่อ Domain Name แทน จะเห็นว่ามันง่ายกว่ามาก
คำสั่ง nslookup
ในกรณีที่เราใช้โปรแกรมวินโดว์ มีวิธีการที่จะตรวจสอบว่า โดเมนเนมนั้นมีหมายเลข Ip Address อะไร แต่เป็นแค่คำสั่งพื้นฐาน และบางครั้ง Ip ที่ได้มาอาจจะเป็น Ip ที่ใช้ร่วมกัน แค่ยกตัวอย่างให้ดูว่า Domain กับ Ip Adress มันจับคู่กัน
หากเเราไม่จดโดเมน เมื่อจะเข้าเว็บไซต์ ต้องพิมพ์หมายเลข Ip Address แต่หากเราจดโดเมน เราเข้าเว็บไซต์โดยพิมพ์ Ip Address หรือ พิมพ์โดเมน แทนได้ทั้งสองอย่าง
สำหรับใครที่สนใจ ลองค้นคำว่า nslookup หรือไม่เดี่ยวจะเขียนสรุปจากหลายๆๆที่ ให้เป็นบทความให้
DNS Server
ในการจัดการเกี่ยวกับชื่อของโดเมนเนม กับ Ip Address ปกติในคอมพิวเตอร์ของเรามันมีบ้างแล้ว เพราะจะมีคำแนะนำให้ Clear cache & cookies อย่างในกรณีของ Chrome
- On your computer, open Chrome .
- At the top right, click More Settings .
- Click Privacy and security Cookies and other site data.
- Click See all site data and permissions Clear all data.
- To confirm, click Clear.
นั้นแสดงว่า หากมีเคช เก็บเยอะๆๆ มันอาจจะสร้างปัญหาในการเข้าเว็บไซต์ได้ อย่างเช่นเว็บไซต์หนึ่งมีการเปลี่ยน โดเมนเนม แต่ในเครื่องของเรายังเก็บค่า โดเมนเดิมคู่กับ Ip Address เดิม ทั้งๆ ที่เว็บไซต์นั้นได้เปลี่ยนไปใช้ Domain ใหม่แล้ว
DNS Server
จึงถูกสร้างขึ้นเพื่อให้บริการเกี่ยวกับการจัดการระบบโดเมนเนม เพื่อให้สะดวกและรวดเร็วในการเข้าถึงอินเตอร์เน้ตได้อย่างถูกต้องและปลอดภัย
คำวา ปลอยภัยนั้น ให้เราลองนึกดูง่าย สมมุติว่าเราไม่เข้าใจว่า DNS Server มีความสำคัญอย่างไร ไม่เคยสนใจ แล้ววันหนึ่งมีคนเข้ามาเปลี่ยนหมายเลข DNS Server ในเครื่องของเรา แล้วเขาสร้างกำหนดค่าขึ้นมาใหม่อย่างเช่น
เดิม โดเมน ชื่อ ABC.com เมื่อพิมพ์ชื่อโดเมนดังกล่าวแล้ว หาก DNS Server ของเราไม่ถูกเปลี่ยน มันจะวิ่งตรงไปยัง IP Address (สมมุตินะครับ) 1.1.1.1
แต่พอ DNS Server ในคอมพิวเตอร์ของเรา ถึงเปลี่ยนไปใช้ Dns server ที่มีคนอื่นเปลี่ยนให้ เมื่อเราพิมพ์ ABC.com แทนที่มันจะวิ่งไปยัง Ip Address เดิมคือ 1.1.1.1 มันกลับวิ่งไปยัง IP Address อื่นที่เขาสร้างหลอกขึ้นมาเพื่อให้เราเข้าไปแทน
นั้นคือสิ่งที่เกี่ยวกับความปลอดภัยของระบบ DNS Server
เพื่อแก้ปัญหาทั้งหมดและอำนวยความสะดวกในการเข้าถึงเว็บไซต์ต่างๆๆ จึงมีการสร้าง Sever ขึ้นมาเพื่อบริการเกี่ยวกับการจัดการระบบ DNS เลยเรียกว่า DNS Server
หลักการทำงาน DNS Server
หลักการคร่าวๆๆ นะครับ ไม่ได้ลงลึกอะไรมากแค่ให้รู้พอ ไว้สำหรับแก้ปัญหาหรือเข้าใจปัญหาว่ามันเกิดอะไรขึ้น อย่างเช่น จดโดเมนใหม่ แล้วทำไมพิมพ์แล้วไม่พบเว็บไซต์ หรือเปลี่ยนแปลงค่าบางส่วนเช่น โดเมนเดิมแต่ย้ายที่เก็บเว็บไซต์หรือเปลี่ยนที่เช่าพื้นที่ใหม่ แล้วเจอปัญหาเปิดหน้าไม่ได้บ้างหรือไม่เพี้ยนบ้าง หากเราเข้าใจหลักการทำงานของ DNS Server มันจะช่วยให้เราใจเย็นขึ้นและรู้วิธีการแก้ไข รวมทั้งกรณีเราเป็นผู้ใช้ บางทีคนอื่นเข้าอินเตอร์เน็ตได้แต่ของเราเข้าไม่ได้ จะได้แก้ไขถูก
สมมุติว่าเราต้องการเข้า yahoo.com (ไม่ต้องสงสัยนะครับ ว่าบทความที่เอามาอธิบายเป็นบทความเก่า เพราะสมัยนั้น ในการค้นหาส่วนมาก ตัวหลักคือ yahoo.com ส่วน Google ยังไม่ดัง แต่ ยังเสียดายของไทย มีตัวหนึ่งชื่อ siamguru.com ตอนหลังหายไปเลย)
หลังจากพิมพ์ yahoo.com มันจะหาค่าก่อนว่า yahoo.com มีหมายเลข Ip address อะไร เพื่อเข้าหน้าเว็บไซต์ของ Yahoo.com โดยจะค้นหาในคอมพิวเตอร์ของเราว่ามีไหม หากเราเคยเข้ามาแล้วมันจะเก็บไว้เป็นค่า cache
จุดนี้แหละคนที่พัฒนาเว็บไซต์หรือดูแล ระบบต้องระวังเพราะหากเราคอนฟิกค่าอะไรไปแล้ว บางทีเจอปัญหาเรียกกลับเหมือนเดิมไม่ได้ อาจจะต้องใช้วิธี เคลียร์แคช บ่อยๆๆ หรือไม่กด F5
เมื่อไม่พบว่า Yahoo.com มีหมายเลข Ip Address อะไร คอมพิวเตอร์จะส่งค่าไปยัง Resolver เพื่อถามค่าเช่นเดิมอีก ว่า Ip Address ของ Yahoo.com หมายเลขอะไร หากพบจะส่งกลับมายังคอมพิวเตอร์เพื่อเข้าหน้าเว็บไซต๋ต่อไป
DNS Server ตัวนี้ Resolver คือตัวที่ให้บริการเกี่ยวกับการจัดการระบบโดเมนเนม ของผู้ให้บริการอินเตอร์เน็ต ที่เก็บข้อมูลของ DNS ไว้ใน Record
หากค้นหาไม่เจอว่า หมายเลข Ip Addres ของ yahoo.com คือหมายเลขอะไร Resolver จะส่งต่อไปยัง Root Server เพื่อสอบถาม หากเจอใน Resolver ว่า Ip Address ของ yahoo.com หมายเลขอะไร จะส่งกลับมาให้ Resolver เพื่อเข้าเว็บไซต์ต่อไป
แต่หากหาไม่เจอ จะส่งกลับมายัง Sesolver เช่นกัน แต่จะบอกว่าไม่รู้ เพื่อตัว Resolver จะได้ถามตัวอื่นต่อไป
เมื่อ Root Server ไม่ทราบหมายเลข Ip Address แล้วส่งค่ากลับมาว่าไม่ทราบ เพื่อให้ Resolver ถามไปยัง LTD Server ต่อ
TOP Level Domanin Server (TLD Server) จะค้นหาข้อมูลเช่นกันหากเจอจะส่งให้ Resolver แต่หากไม่เจอ จะส่งกลับมาและแจ้งว่าไม่เจอ
สำหรับรายละเอียดของ DNS server แต่ละตัวจะอธิบายแยกอีกที
หากค้นหาข้อมูลเพื่อทราบหมายเลข Ip Address ของ yahoo.com แล้วไม่เจอใน TLD Server
TLD server จะแจ้งว่าไม่พบ แล้วจะส่งกลับไปยัง Resolver เพื่อให้ถามตรงไปยัง Name Server
เหมือนเดิม ตัว Resolver จะถาม Name Server
ใน Name Server เมื่อเจอข้อมูลว่า เว็บไซต์ของ yahoo.com มีหมายเลขอะไร จะส่งกลับมายัง Resolver
Resolver เมื่อได้ข้อมูลมาจะเก็บข้อมูลไว้ในตัว Resolver เพื่อจะได้ไม่ต้องถามไปยัง DNS Server ตามที่กล่าวมาแล้ว
หลังจากนี้ เมื่อเราต้องการจะเข้า เว็บไซต์ yahoo.com จะสามารถเข้าได้เร็วขึ้นแล้วเพราะกลไกต่างมันลดสั้นลง
หากพิมพ์ชื่อ Url แล้วไม่พบเครื่องว่าเคยท่องเว็บดังกล่าว เมื่อไปถาม Resolver แค่ขั้นตอนเดียว จะสามารถเข้าเว็บไซต์ของ yahoo.com
สรุป
เป็นอันว่าน่าจะเข้าใจเกี่ยวกับ DNS แล้วว่าคืออะไร ในส่วนของ DNS Server คืออะไร
สิ่งที่น่าต้องศึกษาเพิ่มในกรณีที่เราอยากเรียนรู้เพิ่มคือ
- ต้องทำความเข้าใจคำว่า Domain Name
- รูปแบบการบันทึกของ DNS
- ลักษณะการทำงของของ DNS server แต่ละตัว ว่าทำไม่ต้องไล่ลำดับการหาข้อมูลแบบนั้น
แต่หากใครไม่มีเวลาหรือไม่ใช่ผู้ดูแลระบบ แค่ทำความเข้าใจว่า DNS มันทำงานอย่างไร แค่นี้ น่าจะพอแล้ว เผื่อไว้แก้ปัญหาว่า ทำไมเข้าอินเตอร์เน็ต หรือเข้าเว็บไซต์ไม่ได้ แต่พอเราใช้คำสั่ง Ping ไปยัง Ip address ของบางเว็บไซต์ เจอแต่เข้าหน้าเว็บไม่ได้
นั้นแหละคือคอมพิวเตอร์ของเรามีปัญหาเกี่ยวกับ DNS Server