ข่าวใหญ่ช่วงนี้คือผู้เชี่ยวชาญด้าน DNS ออกมาให้ข่าวว่าการที่ Vista สนับสนุนทั้ง IPv4 และ IPv6 ทำให้ต้องเรียก DNS สองรอบ ซึ่งจะส่งผลให้ DNS ของบรรดา ISP ได้รับปริมาณข้อมูลเพิ่มขึ้นมาก อาจทำให้อินเทอร์เน็ตใช้งานไม่ได้ในที่สุด
ไมโครซอฟท์ออกมาตอบโต้ข่าวนี้โดยบอกว่าระบบเรียกข้อมูลจาก DNS ของ Vista ได้รับการออกแบบมาอย่างดี และมีกรณีน้อยมากที่จะเรียก 2 ครั้ง
นักวิเคราะห์และผู้เชี่ยวชาญคนอื่นๆ ก็มีความเห็นแตกต่างกันออกไป บางคนก็เห็นด้วยว่า Vista จะทำให้ปริมาณข้อมูลผ่าน DNS มีมากขึ้น แต่ขนาดจะทำให้อินเทอร์เน็ตพังก็ออกจะเวอร์เกินไปนิด
Comments
นึกว่าจะเป็นเพราะ vista จะทำให้มีหนอนออกมาวิ่งจนล่ม
iPAtS
ยังไงซะ traffic DNS มันคงไม่มากเว่อขนาดนั้นหรอกมั้ง...
แล้ว Linux ไม่เป็นรึไง มันก็ใช้ได้ทั้ง IPv4, IPv6 เหมือนกันไม่ใช่เรอะ เซอร์เวอร์สมัยนี้มันไม่ได้ช้าเหมือนเมือ 20 ปีที่แล้วนะลุง :P
ผมกำลังนึกถึงช่วงที่ตอนนั้น ดาราเป็นข่าวเบน... เน็ตล่มผมโทรไปถาม isp เขาบอกว่าเครือข่ายล่ม ไม่แน่นะครับอาจเป็นจริงได้
หากล่มขึ้นมาจริง ๆ จะทำไงดีครับ ?
----------------- Yokey My Blog
yokey - อันนั้นมัน peak traffic ครับ การใช้งานเพิ่มขึ้นสิบเท่าในชั่วโมงเดียวมันก็ล่มกันทั้งนั้น
ประเทศไทยคงไม่เปลี่ยนไปใช้ vista กันในชั่วโมงเดียวมังครับ ------ LewCPE
lewcpe.com, @wasonliw
ไม่ควรกลัวในสิ่งที่ไม่สมควร แต่น่าจะถือว่าเรื่องนี้เป็นสัญญาณเตือนให้ network admin เตรียมตัว และเป็นคำเตือนจากผู้ที่ประดิษฐ์ DNS ขึ้นมา
Paul Mockapetris พูดว่าวิสต้าจะ lookup แอดเดรสของ IPv6 แล้วจึง lookup แอดเดรสของ IPv4 เมื่อคิดว่าเป็นอย่างนี้ก็น่ากลัวเพราะโหลดของ DNS จะเพิ่มขึ้นสองเท่าแล้วทำให้อินเทอร์เน็ตทั้งหมดช้าลงมากเพราะว่าทุกอย่างของ"อินเทอร์เน็ตมาตรฐาน"อิงอยู่กับ DNS แต่นั่นไม่ใช่ประเด็นใหญ่ที่ Mockapetris เตือน เขาเตือนว่า DNS ทั้งหลายกำลังทำงานใกล้เต็ม capacity แล้ว ถ้าโหลดเพิ่มมันจะไปไม่ไหว
ส่วนไมโครซอฟท์ตอบว่าโหลดไม่ได้เพิ่มขึ้นสองเท่า และอธิบายว่าวิสต้าไม่ได้ query IPv6 หากเครื่องนั้นไม่มีแอดเดรสเป็น IPv6 แล้วเมื่อจะ lookup IPv6 ก็จะทำไปยัง DNS server ที่เคยตอบ lookup query ของ IPv4 ก่อนเท่านั้น หากมี error ใดๆเกิดขึ้น วิสต้าจะไม่ติดต่อกับ DNS server ตัวนั้นอีก -- ดังนั้น "the Net traffic will less than double,"
สิ่งที่สรุปได้จากสองย่อหน้าข้างบนคือ (1) วิสต้า lookup IPv4 ก่อน IPv6 และ (2) วิสต้าไม่ใช่แพะรับบาป แต่ทุกระบบที่สนับสนุน IPv6 มีส่วนทั้งนั้น เรื่องนี้ก็ไม่ใช่ว่า IPv6 ไม่ดี แต่ว่าในการเปลี่ยนแปลงใดๆนั้น ขืนทุกอย่างเหมือนเดิม จะเรียกว่าเปลี่ยนแปลงได้อย่างไร (3) DNS load เพิ่มขึ้นแน่นอนถึงจะไม่ได้เพิ่มขึ้นสองเท่าตามที่กลัวกันในตอนแรก แต่แม้ว่าเพิ่มขึ้นร้อยละสิบ ก็อาจเป็นเรื่องที่น่ากลัวมากสำหรับ DNS server ที่มีกำลังไม่พอ เช่นมีโหลดสูงเนื่องจากใช้ทำงานอื่นด้วย จำนวน socket ไม่พอ dynamic memory pool ไม่พอ หรือตั้งอยู่บนเน็ตเวิร์คความเร็วต่ำ; root server น่ากลัวที่สุดเพราะอยู่ยอดปิรามิด ต่อมาก็เป็นพวก DNS server ของผู้บริการโทรคมนาคม ต่อมาเป็นพวกไอเอสพี แล้วก็เป็น DNS server ขององค์กรต่างๆ
เพื่อกระจายโหลดของ root DNS ออกไป VeriSign จะติดตั้ง J root server เพิ่มขึ้นอีกใน 200 data center ทั่วโลก ส่วนในเมืองไทยก็มี root name server อยู่ห่างจากไอเอสพีของผมไป 2.2ms ทาง traceroute เท่านั้นเอง
ชัดแจ้งแจ่มแจ๋ว
onedd.net
ISP มาเองเลย เยี่ยมๆ :D
ลุงเขาตั้งใจออกแบบตั้งแต่แรกให้ DNS เป็นแบบ distribution system เพื่อมาแก้ปัญหาเดิม DNS ของเหล่า ISP จะเข้าไป resolve ที่ root DNS จึงมีน้อย (ทุก 1 ชั่วโมง) ดังนั้นสาเหตุที่ต้องตั้ง root server กระจายไปทั่วโลกจึงเป็นเพื่อเพิ่ม reliability มากกว่า throughput ครับ
กระจ่าง
จะเชื่อหรือไม่ก็ตาม DNS ไม่ได้ถูกออกแบบมาให้เป็นอย่างที่เราใช้อยู่นี้ตั้งแต่แรก
ก่อนจะมี DNS การใช้งานอินเทอร์เน็ตพึ่งพา host table ซึ่งจะต้องระบุชื่อโฮสและไอพีแอดเดรสใน hosts.txt (/etc/hosts) อีเมลมีรูปแบบเป็น username@host ไม่มีโดเมน อินเทอร์เน็ตในสมัยดึกดำบรรพ์เป็นเครือข่ายทางการทหาร เริ่มต้นมีเพียง 16 โหนด จึงไม่ได้มีความจำเป็นจะต้องรองรับจำนวนโฮสมากมาย
ต่อมาเมื่อโยกจาก DARPA ไปเป็น ARPA (ตัด D = Defense ออก) ก็เป็นเครือข่ายเพื่อการวิจัย และมีใช้กันเฉพาะมหาวิทยาลัยที่ทำงานวิจัยเกี่ยวกับความมั่นคงของสหรัฐเท่านั้น ตอนเป็น NFSnet ที่ีใช้ IPv4 การเชื่อมต่อก็ไม่ใช่ว่ามีเงินแล้วจะเข้าได้ ต้องทำวิจัยร่วมกับเขาแล้วให้เขารับรองด้วย
DNS เริ่มมีความจำเป็น เพราะรูปแบบ username@host ซ้ำกันเยอะ นักวิจัยสำคัญสองคนของ Information Science Institute (ISI ของ U of Southern California) คือ Jon Postel และ Paul Mockapetris เขียน RFC881 (เขียนโดย Postel) RFC882 และ RFC883 (สองอันหลังโดย Mockapetris) ในเดือนพฤศจิกายน 1983 เป็นโครงสร้างสำคัญของ DNS
ตอนนั้น RFC882 ออกมานั้น ยังไม่มีโดเมน .arpa .gov .edu .com .mil .org และ .th Top-level Domain เหล่านี้เกิดขึ้นใน RFC920 ในเดือนตุลาคมปีถัดมา ซึ่งแม้ในปี 1984 ก็ยังไม่มี IETF และไม่มีโดเมน .net
CNAME SerialNumber และ reverse mapping (in-addr) เกิดขึ้นมาใน RFC973 ในเดือนมกราคม 1986
คำว่า root และ zone ในบริบทของ DNS แบบที่คุ้นเคยกัน ปรากฏขึ้นเป็นครั้งแรกใน RFC1034 และ RFC1035 ในเดือนพฤศจิกายน 1987 ตรงนี้ถือเป็นจุดเริ่มต้น DNS ของ IPv4 แบบที่เราใช้กันอยู่ในปัจจุบัน
ส่วนโดเมน root-servers.net และบรรดา root DNS server ที่อยู่ใต้โดเมนนี้เกิดขึ้นเมื่อไหร่ผมไม่ได้ตาม แต่เป็นผลงานของ ICANN (และแน่ใจว่าไม่ใช่ Iannnnn)
ไหนๆก็ไหนๆแล้ว ขอรำลึกความหลังหน่อย....
อินเทอร์เน็ตเมลฉบับแรกที่ส่งข้ามพรมแดนประเทศไทยคืออีเมลที่ส่งจากมหาวิทยาลัยสงขลานครินทร์ไปยังมหาวิทยาลัยเมลเบิร์นในออสเตรเลีย ตอนนั้นไม่ใช่ TCP/IP แต่เป็นโปรโตคอลพิเศษคล้ายๆ full-duplex UUCP เรียกว่า MHSnet เมื่อวันที่ 2 มิถุนายน 1988 (ดูเอกสารหน้า 10) เมลที่ส่งออกไป ส่งจากโฮสที่ชื่อ sritrang.psu.th ส่วน .ac นี่มาเริ่มในอีก 7 ปีต่อมาตอนที่มีบริการในเชิงพาณิชย์
วงจรอินเทอร์เน็ตที่ใช้ TCP/IP และเป็นวงจรเช่าวงจรแรกคือ CUnet/Thainet ของจุฬา ในปี 1992 วงจรขนาด 9.6kbps นี้มีราคาปีละสามล้านบาท (เอกสารเดียวกันหน้า 14) ก่อนหน้านั้นเล็กน้อย มี BBS หลายแห่งที่สามารถเชื่อมต่อไปยังอินเทอร์เน็ตเพื่อรับส่งอีเมลกับร่วมใน USENET news ได้ (อ่านในเอกสารเดียวกัน)
เว็บ production ตัวแรกของประเทศ คือเว็บของเนคเทค ตั้งขึ้นประมาณปี 1993 ลงทะเบียนกับ CERN เป็นเว็บประมาณตัวที่ 250 ของโลก ก่อนมหาวิทยาลัยแห่งชาติของสิงคโปร์ประมาณ 1-2 ปี ในเวลานั้นยังไม่แน่ว่า web หรือ gopher จะมา ก็แล้วแต่ใครชอบอะไร ส่วน gopher server ตัว production ตัวแรกนั้นน่าจะเป็นของมหาวิทยาลัยเชียงใหม่ เนื่องจากมีความช่วยเหลือจาก St.Olaf College มหาวิทยาลัยมินนิโซตา ซึ่งเป็นแหล่งกำเนิดของ gopher (เนคเทคมี gopher แต่ไม่ได้ใช้อย่างจริงจัง ส่วน มช.ก็มีเว็บแต่ไม่ได้ใช้อย่างจริงจัง)
ใบอนุญาตการให้บริการอินเทอร์เน็ตในเชิงพาณิชย์อันแรกให้แก่ศูนย์บริการอินเทอร์เน็ตประเทศไทย (ITSC) ในเดือนมีนาคม 2538 บนวงจรขนาด 512kbps ปีถัดมาประเทศไทยเป็นเจ้าภาพจัดประชุม ASEM ITSC เป็นผู้ให้บริการในงานนี้ จึงเพิ่มวงจรเป็น 2Mbps ในปีนั้นราชบัณฑิตยสถานได้กำหนดคำว่าอินเทอร์เน็ตเป็นศัพท์มาตรฐาน และต่อมาได้ตีพิมพ์คำนี้ในหนังสือศัพท์คอมพิวเตอร์ฉบับราชบัณฑิตยสถาน พิมพ์ครั้งที่ 5 ปี 2540
^ ไม่น่ามาอยู่ในคอมเม้นเลยครับ ^^
ช่ายๆ ย้ายไปลง in-deep ดีกว่า :P คุณ Conductor เล่นย้อนไปซะไกลเลย เพราะถ้าพูดถึง DNS ของอินเทอร์เน็ตตอนนี้ ก็ต้องเป็น RFC1034,1035 เพราะทั้งคู่ได้ไปทำให้ RFC882,883,973 ถูก obsolete ไปแล้วครับ
ที่จริงแล้ว มาตรฐาน DNS ปัจจุบันยาวเหยียดเลยครับ
ที่มาอยู่ใน comment เพราะมันเป็น comment (พิมพ์ใส่ตรงช่อง Post new comment) ที่ต้องย้อนไปไกลเพื่อให้เห็นพัฒนาการ และให้เห็นข้อเท็จจริงที่ว่าแม้แต่สิ่งที่เป็นมาตรฐานก็สามารถเปลี่ยนแปลงปรับปรุงได้เพื่อให้ตอบสนองประชาคมผู้ใช้
มาตรฐาน DNS ปัจจุบันเรื่อง Concepts and facilities ใช้ RFC1034 บวกกับ RFC1101, RFC1183, RFC1348, RFC1876, RFC1982, RFC2065, RFC2181, RFC2308, RFC2535, RFC4033, RFC4034, RFC4035, RFC4343, RFC4592
ส่วนเรื่อง Implementation and specification ใช้ RFC1035 บวกกับ RFC1101, RFC1183, RFC1348, RFC1876, RFC1982, RFC1995, RFC1996, RFC2065, RFC2136, RFC2181, RFC2137, RFC2308, RFC2535, RFC2845, RFC3425, RFC3658, RFC4033, RFC4034, RFC4035, RFC4343
ที่บวกอะไรกันเยอะๆนี่เพราะมีการแก้ไขปรับเปลี่ยนเรื่อยมาเกือบยี่สิบปีนับตั้งแต่ RFC1034/1035 ออกมาในปี 1987; พวกที่บวกเพิ่มมานี้ ยังไม่รวม IPv6 extension ซึ่งเดิมเป็น RFC1886 แต่ revise ใหม่เป็น RFC3596 ในปี 2003 แต่ยังมีสถานะเป็น DRAFT STANDARD อยู่เลย (จึงไม่สามารถนำไปรวมกับ RFC1034/1035 ได้) แต่ RFC1886/3596 ก็ต้องใช้เพราะมันพูดถึง AAAA record ซึ่งเป็นทางเดียวที่จะขอ IPv6 address จาก DNS ได้
มีเรื่องน่าแปลกใจอีกอย่างหนึ่งคือ IPv6 ไม่ได้มีสถานะเป็น STANDARD แต่เป็น PROPOSED STANDARD เมื่อ IPv6 เลื่อนสถานะไปเป็น STANDARD น่าจะมีการ update RFC ที่เกี่ยวข้องกันอีกรอบหนึ่ง
ใช่ครับ มันคือการปรับปรุงมาตรฐาน (ซึ่ง WG ที่ดีควรจะทำเป็นประจำอยู่แล้ว) แต่มันก็ไม่ได้ไปทำให้ RFC1034,1035 ถูก obsolute นะครับ เพียงแค่เสริมความสามารถใหม่ๆ (ที่คนส่วนใหญ่อาจจะไม่ได้ใช้เลย) เช่น DNSSEC ซึ่ง DNS server ก็ไม่จำเป็นต้องสนับสนุนทั้งหมด บาง RFC ก็แค่กำหนดคำจำกัดความเพิ่มเติม แล้วพวกที่เป็นแค่ extension ของ IPv6 (RFC3596) มันก็ไม่มีทางที่จะไปรวมกับ RFC 1034 จนทำให้ RFC เดิม obsolute ได้ (ไม่งั้น 1034 คงโดนเหล่าสารพัด extension จับรวมจนโดนทำให้ obsolute ไปนานแล้ว)
คุณ Kerberos เข้าใจคำว่า obsolete ของอินเทอร์เน็ตต่างกับผม สำหรับผมคำว่ามาตรฐานของอินเทอร์เน็ตไม่ได้เป็นการมากำหนดกะเกณฑ์บังคับให้ใครทำอะไร มันเป็นเรื่องของหลักการอยู่ร่วมกันที่สมาชิกของอินเทอร์เน็ตจะทำให้สังคมอินเทอร์เน็ตมีระเบียบและอยู่ร่วมกันได้โดยระบบที่พื้นฐานต่างกัน สามารถทำงานร่วมกันแลกเปลี่ยนข้อมูลกัน เข้าใจตรงกันทั้งในกระบวนการและผลลัพท์ระหว่างผู้ส่งและผู้รับ
มาตรฐานของอินเทอร์เน็ตไม่ใช่กฎหมาย RFC ไม่ใช่ศาสนา-ไม่ต้องการการเชื่อฟัง/ศรัทธา IETF ไม่ใช่สภา AD ไม่ใช่ประธานสภา WG ไม่ใช่ ส.ส. (และยิ่งไม่ได้มีหน้าที่ออกหรือแก้ไข RFC ใดๆเลย เขามีหน้าที่ร่วมกับ RFC editor ช่วยกันเก็บ comment จาก user contribution ที่เกี่ยวกับ internet-draft ทำให้มันมีประโยชน์ ใช้งานได้กว้างขวาง เข้ากันได้กับสิ่งต่างๆที่เป็นอยู่)
RFC เพียงแต่เป็นข้อกำหนดกลางเพื่อใช้งานร่วมกันในสังคมของผู้ใช้ อะไร obsolete หรือถูก supercede ไม่ได้มีความหมายอะไรเลยตราบใดที่มีประชากรอินเทอร์เน็ตใช้งานอยู่ -- บนอินเทอร์เน็ต ผมรับส่งอะไรก็ได้ เขียนโปรโตคอลได้เองโดยไม่ต้องอิงกับ RFC หรือมาตรฐานใดๆเลยด้วยซ้ำ แต่มันก็คงไม่สนุกเพราะไม่รู้จะทำงานร่วมกับใครเพราะคงไม่มีใครเข้าใจโปรโตคอลที่ผมเขียนขึ้นมาแล้วไม่ได้บอกใคร
ถ้าจำไม่ผิด ประมาณต้น '90s ตอนที่ National Science Foundation จะเลิกให้เงินสนับสนุนอินเทอร์เน็ต (ซึ่งสมัยนั้นยังเรียกว่า NFSnet) backbone ข้ามทวีปอเมริกามีความเร็วเพียง 155 Mbps -- ในยุคที่ไม่มี ISP -- ตอนนั้นก็มีการต่อต้านกันมากในวงวิชาการทั่วโลกเพราะทัศนคติของบรรดาตัวจริงที่พัฒนาอินเทอร์เน็ตมาอย่างต่อเนื่องกับฝ่าย commercial ที่ถือว่าเงินซื้อได้ทุกอย่าง ไม่ต้องรู้อะไรมาก ให้ใช้ได้ก็พอ แบบนี้มันเป็นคนละขั้วเลย
กระบวนการพัฒนาของอินเทอร์เน็ตอยู่บน internet-draft เป็นกระบวนการเปิดซึ่งเปลี่ยนแปลงอยู่ตลอดเวลา ไม่ได้อยู่นิ่งๆตาม RFC (ซึ่งย่อมาจาก request for comment) เมื่อเราพัฒนาโปรโตคอลขึ้นมาอันหนึ่งและคิดว่าสังคมอินเทอร์เน็ตจะได้ประโยชน์ ก็จะส่งไปยัง mailing list เพื่อขอความเห็นเพื่อปรับปรุงให้ได้ประโยชน์สูงสุดเข้ากับระบบต่างๆได้ตาม RFC3978/3979 ใครก็สามารถจะ contribute ได้ ถ้ามีคนเห็นด้วยมากพอก็จะไปเข้ากระบวนการ internet-draft และจะต่อไปเป็น RFC -- นวัตกรรมบนอินเทอร์เน็ตเกิดขึ้นจาก user contribution เป็นประชาธิปไตยแบบกรีก ไม่ใช่การควบคุมจัดการจากศูนย์กลางซึ่งเป็นแบบโรมัน กระบวนการที่เคลื่อนไหวอยู่ตลอดเวลาเพื่อประโยชน์ของสังคม -- RFC เป็นเพียงภาพ snapshot ที่ดีที่สุดในเวลาตีพิมพ์เท่านั้น -- แก่นแท้ของอินเทอร์เน็ตคือความก้าวหน้า คืออิสระที่จะปรับปรุง เป็นสิ่งที่เปลี่ยนแปลงไม่หยุดนิ่ง
RFC3596 ไม่ใช่"เป็นแค่ extension ของ IPv6" ที่จริงแล้วมันเป็น extension ของ RFC1034/1035 เพื่อให้ DNS สนับสนุน IPv6 และเป็นประเด็นที่สำคัญที่สุดของเรื่องนี้ทีเดียว มันเป็นทางเดียวที่จะสนับสนุน IPv6 แต่จะทำหรือไม่่-ต่างคนต่างเลือกกันเอง-ไม่มีใครมาบังคับ
ถ้าไม่ใช้ RFC3596 DNS server ตัวนั้นก็ resolve IPv6 ไม่ได้ แต่เพราะว่ามีความเป็นไปได้สูงที่ DNS server ส่วนใหญ่จะสนับสนุน RFC3596 (RFC1886 ออกปี 1995 สิบกว่าปีแล้ว ทำให้มี DNS software สนับสนุน IPv6 มากมาย และ RFC3596 เปลี่ยนจาก RFC1886 นิดเดียว ซึ่งไม่ต้องแก้ซอฟต์แวร์แต่ไปแก้ที่ DNS zone file) ประกอบกับวิสต้าจะมี dual protocol stack นี่แหละที่คนระดับ Mockapetris ซึ่งเงียบมาเป็นสิบปีต้องออกมาเตือน คนระดับนี้จะเสียเวลากับเรื่องไร้สาระหรือครับ