โดเมนเนม และ Name Server

ก่อนที่จะจัดการกับ VPS ของเราต่อไป ผมขอแทรกความรู้เล็กๆน้อยๆเกี่ยวกับเรื่องของโดเมนเนมก่อนนะครับ

เรื่องโดเมนเนม เป็นเรื่องสำคัญที่สุดของเว็บเลยครับ แล้วก็เป็นเรื่องที่ปวดหัวที่สุดด้วยครับ เนื่องจากถ้าทำผิดทีล่ะต้องรอเป็นวัน บางท่านไปซนเปลี่ยนอะไรเกี่ยวกับ Name Server นิดเดียว ทำเอาเว็บเข้าไม่ได้ไปหลายวันเลย

ความสำคัญของโดเมนเนม

ความสำคัญของโดเมนเนม ก็คือช่วยให้คุณสามารถใช้คำภาษาอังกฤษ เช่น www.hellomaffia.com แทนชื่อเครื่อง Server ของคุณได้ครับ และนอกจากนั้น ก็จะช่วยให้ Server เครื่องเดียว สามารถบรรจุเว็บไซต์เข้าไปได้หลายๆเว็บครับ อย่าง Server ของผมเครื่องเดียวกันนี้ ก็จะมีทั้งเว็บ www.hellomaffia.com ที่คุณกำลังอ่านอยู่นี้ และ www.jlatte.com และเว็บอื่นๆอีกมากมาย

ขั้นตอนการค้นหาชื่อเครื่อง

ก่อนที่จะงงว่าทำไมถึงเป็นอย่างนั้นได้ ผมจะลองอธิบายขั้นตอนคร่าวๆ เวลาที่คุณพิมพ์คำว่า www.hellomaffia.com ลงไปใน Browser นะครับ

1. เมื่อคุณพิมพ์ www.hellomaffia.com ลงไปใน Browser แล้วกด Enter .. ตัว Browser ก็จะวิ่งไปถาม Name Server ของผู้ให้บริการอินเตอร์เน็ตของคุณว่า ไอ้ชื่อ www.hellomaffia.com เนี่ย จริงๆแล้วมันมี IP Address ว่าอะไรกันแน่

2. เจ้า Name Server ของผู้ให้บริการอินเตอร์เน็ตของคุณก็จะมีหน้าที่รับผิดชอบ ไปหา IP Address ของ www.hellomaffia.com มาให้ได้ ซึ่งเป็นไปได้สองแบบ

แบบแรก คือถ้ามันจำได้ว่า เคยหามาแล้วนี่ มันก็จะส่งกลับไปบอกคุณทันทีว่า IP อะไร จากข้อมูลที่เคยค้นมาให้

แบบที่สอง ถ้ามันไม่เคยค้นมาก่อน หรือค้นมานานจนลืมไปแล้ว มันก็จะไปค้นหา IP ที่แท้จริงดังนี้ครับ

– ขั้นแรก มันจะไปถาม Name Server หลักของโลก ว่า Name Server ของพวก .com เนี่ย มันอยู่ที่ไหนบ้าง

– ขั้นที่สอง พอทราบที่อยู่ของ Name Server ของ .com แล้ว มันก็จะถาม Name Server ของ .com ถึงที่อยู่ของ Name Server ของ hellomaffia.com ว่าอยู่ไหนบ้าง (ซึ่งค่าพวกนี้ มันก็คือค่า Name Server ที่เรามักจะต้องไปใส่กันเวลาจัดการโดเมนน่ะครับ พอจะคุ้นๆไหมครับ พวกชื่อประมาณนี้ ns1.hellomaffia.com ns2.hellomaffia.com)

– ขั้นสุดท้าย มันก็จะวิ่งไปถาม Name Server ของโดเมนของเราเนี่ยแหละครับ ว่าไอ้เครื่องที่ชื่อ www.hellomaffia.com เนี่ย มันอยู่ที่ไหน (มี IP Address ว่าอะไร) กันแน่ (ค่าพวกนี้จะเป็นค่าที่เรากำหนดในส่วนของ A Record ซึ่งหมายความว่า เราระบุตรงๆไปเลยว่าเครื่อง www.hellomaffia.com มันมี IP Address ว่ายังไง แต่ก็ยังมีอีกวิธี คือเราสามารถระบุบอกอ้อมๆว่า เครื่อง www.hellomaffia.com นั้น ใช้ IP Address เดียวกับเครื่อง hellomaffia.com แต่ก็จะทำให้ Name Server ต้องไปค้นอีกทีว่าเครื่อง hellomaffia.com มันมี IP Address อะไร ซึ่งจะทำให้เสียเวลาอีก การระบุอ้อมๆแบบนี้ เรียกว่าเป็นการกำหนด CName Record)

3. พอได้ข้อมูลแล้ว ว่า www.hellomaffia.com มันมี IP address อะไร เจ้า Name Server ของผู้ให้บริการอินเตอร์เน็ต ก็จะรีบตอบเจ้า Browser ของคุณทันที

4. เจ้า Browser ของคุณ ก็จะเชื่อมต่อไปยัง IP Address ที่ได้มานั่นแหละ โดยติดต่อไปยัง Web Server แล้วก็จะมีการบอกไปในคำขอว่า ฉันต้องการเว็บ www.hellomaffia.com นะ ไม่เอาเว็บอื่น

5. Web Server ก็จะส่งหน้าเว็บ www.hellomaffia.com มาให้อย่างถูกต้อง

นี่คือขั้นตอนคร่าวๆนะครับ เอาให้เห็นภาพว่าทำไมเราต้องตั้งค่านู่น ตั้งค่านี่ให้วุ่นวายหลังจากจดโดเมนและตั้ง Web Server

ทำไมแก้ไขค่าแล้ว ต้องรออีกตั้งหลายชั่วโมงกว่าจะใช้ได้

วันๆหนึ่ง มีคนเข้าเว็บเป็นหลายๆล้านครั้ง ดังนั้นถ้าจะต้องให้ Name Server ทุกๆตัว มานั่งถามกันทุกรอบว่า Name Server ของ .com อยู่ไหน Name Server ของ hellomaffia.com อยู่ไหน และ www.hellomaffia.com มันคือเครื่องไหน ก็คงจะช้าน่าดู ดังนั้นพวก Name Server ในระบบส่วนใหญ่ ก็จะมีการจำข้อมูลล่าสุดไว้ว่า Name Server ของโดเมนไหนอยู่ที่ไหน ชื่อเครื่องไหนอยู่ที่ไหน เวลามีคนมาร้องขอ ก็จะได้รีบตอบกลับไปได้อย่างทันใจ ไม่ต้องรอนานครับ

การจำค่าต่างๆ มันมีระยะเวลาของมันเหมือนกันครับ เช่นเราสามารถกำหนดได้ว่า ค่าสำหรับพวก A Record (ที่เราระบุว่า www.hellomaffia.com มันคือเครื่องไหน) จะให้จำไว้นานสักกี่นาที ดังนั้นถ้าเรากำหนดไว้น้อยๆ เวลามีการย้าย Server ซึ่งจะต้องเปลี่ยน IP Address ของเว็บ ก็จะทำได้รวดเร็ว ถ้ากำหนดไว้ยาวๆ เวลาเปลี่ยน IP Address ก็ต้องรอนานกว่าคนทั่วโลกจะรู้ว่า www.hellomaffia.com มันย้ายไปที่ใหม่แล้ว

อาจจะดูเหมือนว่า ยังงี้ก็กำหนดน้อยๆไว้สิดี แต่ปัญหาคือ ถ้าน้อยไป ตัว Name Server ของคุณก็จะถูกเรียกใช้งานบ่อยๆ และเว็บของคุณก็จะเข้าได้ช้า เพราะผู้ชมจะต้องเสียเวลารอให้ Name Server มันค้นหาก่อนว่าเครื่อง www.hellomaffia.com มันอยู่ที่ไหนบ่อยๆ

แต่ก็มีบางค่าที่เรากำหนดไม่ได้ เช่น การกำหนดว่า Name Server ของ hellomaffia.com มันอยู่ที่ไหน ซึ่งค่านี้แหละครับ มักเป็นตัวการสำคัญที่ทำให้เวลาตั้งค่าผิด ต้องรอเป็นวันๆ เพราะค่านี้มักจะตั้งไว้ประมาณ 48 ชั่วโมง ดังนั้นจึงไม่ควรเปลี่ยน Name Server ของโดเมนบ่อยๆครับ แล้วเวลาจะเปลี่ยน ก็ควรตั้งสติดีๆ เพราะถ้าตั้งผิด ก็อาจต้องรอสักสองสามวันครับ กว่าจะกลับมาเป็นปกติ

คำแนะนำ

แต่ก่อน ถ้าจะมีเว็บเอง นอกจากจะจดโดเมน เช่า Server แล้ว ก็ต้องมานั่งตั้งค่า Name Server แล้วก็ต้องไปตั้งพวก A Record ให้ถูกต้องอีก

แต่เดี๋ยวนี้ ผู้ให้บริการจดโดเมนส่วนใหญ่ เขาจะให้บริการ Domain Name Server ให้ฟรีๆแล้วครับ นั่นคือเราไม่ต้องมาตั้ง Name Server ของเราเอง แค่ล็อกอินเข้าไปตั้งว่า www.hellomaffia.com มี IP Address ว่าอะไร แค่นี้ก็เสร็จแล้วครับ แถมยังเสถียรกว่าการตั้ง Name Server เองด้วย เพราะส่วนใหญ่จะมีหลายๆเครื่องช่วยกันทำงาน ซึ่งผมแนะนำว่าให้คุณใช้วิธีนี้จะสะดวกที่สุดครับ

แต่ถ้าอยากจะมี Name Server เป็นของตัวเอง ก็รออ่านบทความของผมต่อไปนะครับ ในตอนต่อๆไป ผมจะกลับมาอธิบายเกี่ยวกับการตั้งค่าใน BIND Name Server ผ่าน Webmin ครับ

13 thoughts on “โดเมนเนม และ Name Server

  1. อธิบายได้เห็นภาพชัดเจนค่ะ

  2. สวัสดีครับ

    คือว่าผมมีปํยหามากกับการใช้งาน webmin ผมไม่รุ้จะปรึกษาใครดีหลัก ๆ ที่ผมต้องการใช้งานคือ
    จดโดเมนที่ name.com เพิ่ม domain เข้าสู่ vps โดยใช้ webmin เพื่อให้ใช้งานเว็บไซต์ได้ พอได้มาอ่านบทความที่นี่ก็พอเข้าใจครับแต่ยังไม่สามารถทำได้ตามที่ต้องการ คือผมอยากจะขอคำปรึกษาจากเว็บมาสเตอร์หน่อยครับ จะทาง msn หรืออะไรก็ได้ครับ พอจะได้ไหมครับผม หรือจ้างก็ได้ครับ สอนการใช้งาน webmin ตามที่ผมกล่าวข้างต้นครับ ยังไงรบกวนตอบกลับอีเมล์ผมด้วยรน่ะครับ

    ขอบคุณมาก ๆ ครับผม :)

  3. ถ้าเช่าแต่โดเมน แล้วจะใช้โฮสของที่อื่น

    ตั้งค่า Name Server แล้วต้องตั้งค่า URL Forwarding ไหมครับ
    (อันนี้สงสัยมานานแล้ว หาดูก็ยังไม่เจอครับ) ที่จริงก็ลองแล้ว แต่ยังไม่เข้าใจ และไม่มั่นใจ
    คือไอ้ Name Server มันจะเป็นการชี้ไปโอสที่เราต้องการ(ใช่ไหมครับ แต่มันจะยังไม่รู้ว่าไฟล์ที่เราต้องการใช้อยู่ในโฟลเดอร์ไหน ดังนั้นเราจึงต้องทำการ URL Forwarding เพื่อบอกให้เขารู้ว่าไฟล์ของเราอยู่ที่ไหน มันจริงหรือเปล่าครับ

    หรือว่าถ้าตั้งค่า Name Server แล้วเราไม่ต้องไปตั้งค่า URL Forwarding…….

  4. Name Server มีแค่เอาไว้แปลงชื่อโดเมนเป็น IP เช่น http://www.hellomaffia.com เป็น 27.254.36.36 แค่นี้เองครับ ไม่เกี่ยวกับว่าไฟล์อยู่ไหน

    การที่จะทำให้รู้ว่า URL ต่างๆ เช่น http://www.hellomaffia.com นั้น ไฟล์มันอยู่ที่ไหน อันนั้นเป็นเรื่องของ Web Server ที่จะเข้ามาจัดการครับ อย่างเว็บนี้ ผมก็ต้องกำหนดที่ web server ว่า http://www.hellomaffia.com ให้ไปหาไฟล์ที่ /var/www/html/hellomaffia.com/www แค่นั้นครับ

    ตัวอย่างขั้นตอนการทำงานของเว็บโดยปกติ
    1. คนดูพิมพ์ http://www.hellomaffia.com/category/vps/ ลงในบราวเซอร์
    2. บราวเซอร์จะวิ่งหา DNS Server ถามว่า http://www.hellomaffia.com มันอยู่ที่ IP อะไร
    3. DNS Server ตอบกลับมาว่า 27.254.36.36
    4. บราวเซอร์จะเชื่อมต่อไปยัง web server ของเครื่อง 27.254.36.36 แล้วแจ้งว่า อยากได้หน้า http://www.hellomaffia.com/category/vps/
    5. web server จะพิจารณาว่า http://www.hellomaffia.com/category/vps/ ควรจะไปหาไฟล์ที่ไหน แล้วก็ส่งหน้า HTML กลับไปที่บราวเซอร์
    6. บราวเซอร์ประมวลผลหน้า HTML แล้วแสดงให้คนดูเห็น

    บางคน มีเงินจดโดเมน แต่ไม่มีโฮสท์ ก็เลยอาจจะต้องไปหาโฮสท์ฟรีๆ ซึ่งอาจจะกำหนดให้ใช้โดเมนเราไม่ได้ ผู้ให้บริการจดโดเมนบางที่ก็จะมี URL Forwarding ให้เลือกสำหรับลูกค้าประเภทนี้ เช่น จดโดเมน http://www.thairbt.com ไว้ แล้วตั้งไว้ว่า ถ้าผู้ชมเข้ามาดู http://www.thairbt.com ก็แจ้งให้วิ่งไปดูที่ http://www.facebook.com/thairbt แทน ขั้นตอนจะเป็นอย่างนี้ครับ

    ตัวอย่างขั้นตอนการทำงานของ URL Forwarding สมมติผมไม่มีโฮสท์ของตัวเอง ต้องไปวางไว้ที่ http://www.geocities.com/hellomafia แทน

    1. คนดูพิมพ์ http://www.hellomaffia.com/category/vps/ ลงในบราวเซอร์
    2. บราวเซอร์จะวิ่งหา DNS Server ถามว่า http://www.hellomaffia.com มันอยู่ที่ IP อะไร
    3. DNS Server ตอบกลับมาว่า 123.12.15.23 (ตรงนี้ปกติจะเป็น IP ของผู้ให้บริการจดโดเมนที่ยอมให้เราทำ URL Forwarding)
    4. บราวเซอร์จะเชื่อมต่อไปยัง web server ของเครื่อง 123.12.15.23 แล้วแจ้งว่า อยากได้หน้า http://www.hellomaffia.com/category/vps/
    5. web server จะบอกว่า ให้ไปดูที่ http://www.geocities.com/hellomafia/category/vps/ แทนนะ
    6. บราวเซอร์จะวิ่งหา DNS Server ถามว่า http://www.geocities.com มันอยู่ที่ IP อะไร
    7. DNS Server ตอบกลับมาว่า 123.32.115.63 (ตรงนี้ปกติจะเป็น IP ของโฮสท์ที่เราใช้อยู่)
    8. บราวเซอร์จะเชื่อมต่อไปยัง web server ของเครื่อง 123.32.115.63 แล้วแจ้งว่า อยากได้หน้า http://www.geocities.com/hellomafia/category/vps/
    9. web server จะพิจารณาว่า http://www.geocities.com/hellomafia/category/vps/ ควรจะไปหาไฟล์ที่ไหน แล้วก็ส่งหน้า HTML กลับไปที่บราวเซอร์
    10. บราวเซอร์ประมวลผลหน้า HTML แล้วแสดงให้คนดูเห็น

  5. ขอบคุณมากครับ ผมงงมานานแล้วครับ ไอ้เรื่อง name server เนี่ย พอมาอ่านดู เข้าใจเลยครับ!

    เยี่ยมมากๆ ครับ

  6. I loved this post – had no idea about the lack of “v” – interesting…. definitely cracked up at Mrs. Kindabutter’s post. I definitely like the button idea in restaurants. I’ve seen some where you can pay at the table, but that’s it!

  7. Both parties in the US are corrupt the Dems passed NAFTA for example a disaster for American jobs for example. The cities they run are in ruins. America’s schools fail big time especially in the cities. In major US Cities over half of the students in grade 9 don’t finish grade12. They don’t have a future.

  8. Pero si que se pone peliagudo esto, de nuevo aparece la raiz cuadrada que encierra la mètrica inducida en la ecuaciòn, no se si esto dificultarà la soluciòn al final, como en los otros casos, ya veremos.

Leave a Reply

Your email address will not be published. Required fields are marked *