Internationalize DNS .. ทำลายข้อจำกัดของ DNS ภาษาอังกฤษ

iDNS คืออะไร ?

ก่อนอื่นคงต้องทำความเข้าใจในเรื่องของ DNS กันก่อนนะครับ อันนี้ขอยกมาจากบทความเดิมที่เคยเขียนไว้ในตอน ขโมย Domain …การติดต่อกันระหว่างเครื่องคอมพิวเตอร์ในอินเทอร์เน็ตจะติดต่อกันได้โดย การใช้แอดเดรสที่เราเรียกกันว่าไอพีแอดเดรส ซึ่งเป็นตัวเลข แต่เนื่องจากความไม่สะดวกในการจำตัวเลขก็เลยมีการคิดเรื่อง domain name มาใช้โดยเป็นตัว map ระหว่างไอพีแอดเดรสกับชื่อที่ตั้งขึ้นมาเพื่อจำง่ายๆ อีกทั้งมีการจัดระเบียบและว่ารูปแบบการทำงานไว้เรียบร้อย ซึ่งก็คือระบบ Domain Name (Domain Name System) นั่นเอง การจะมี domain name ในเครือข่ายอินเทอร์เน็ตต้องจดทะเบียนกับผู้ดูแลเครือข่าย แต่เดิมมีอยู่ที่เดียวในโลกคือ InterNIC ซึ่งเป็นผู้มีสิทธิในการแจกจ่ายชื่อ domain name ให้กับผู้ขอ ทีนี้เมื่อ Internet ขยายกว้างขึ้น InterNIC เลยแบ่งการทำงานลงไปให้ดูแลเป็นโซนอย่างของประเทศไทยเราจะอยู่โซน Asia-Pacific ผู้ดูแล domain name ในโซนนี้คือ APNIC (Asia-Pacific Network Information Center) ในไทยเองก็มีผู้ดูแลในประเทศชื่อ THNIC (Thailand Network Information Center) เป็นผู้ดูแลการจะ domain name ที่ลงท้ายด้วย .th ทั้งหมด การจดทะเบียนจริงๆ กับ THNIC เสียค่าธรรมเนียมเพียงเล็กน้อยเท่านั้นครับ อย่างไรก็ตามการจด domain name จะจดเป็นภาษาอังกฤษได้อย่างเดียวเท่านั้น (ก็คนคิดเป็นฝรั่งนี่ครับ) และสิ่งนี้เองที่เป็นข้อจำกัดของระบบ DNS ในปัจจุบัน

ทีนี้มาถึงตัว iDNS บ้าง … Internationalized DNS หรือ iDNS เป็นความพยายามที่จะขจัดข้อจำกัดเรื่องภาษาออกไปจาก DNS ที่ใช้กันในปัจจุบันโดยเพิ่มให้ระบบสามารถรองรับการ domain name ภาษาอื่นๆ นอกจากภาษาอังกฤษได้ อย่างเช่น ภาษาจีน ญี่ปุ่น เกาหลี อินเดีย หรือแม้แต่ภาษาไทยจุดหลักที่ iDNS เน้นคือการใช้ภาษาท้องถิ่นในการใช้งาน Internet ได้ ทุกวันนี้เรามี webpage, e-mail, chat, etc. เป็นภาษาท้องถิ่นได้หมดแล้วจะเหลือก็แต่ domain name ที่ยังเป็นภาษาอังกฤษ .. iDNS จึงมุ่งที่จะแก้ปัญหาที่จุดนี้เพื่อเปิดโอกาสให้ผู้ที่ไม่รู้ภาษาอังกฤษใน แต่ละท้องถิ่นสามารถใช้ Internet ได้ ความคิดนี้เกิดขึ้นในกลุ่มนักวิจัยมานาน 5 ปีแล้วครับ แต่เริ่มเป็นรูปเป็นร่างหลังจากที่ National University of Singapore ทำวิจัยในส่วน iDNS ได้เป็นผลสำเร็จและสร้างระบบ iDNS ออกมาในปี 1998 นี่เอง สิ่งที่ได้จาก iDNS ก็คือเราสามารถใช้ภาษาอื่นๆ นอกจากภาษาอังกฤษในการกำหนดชื่อที่แทนไอพีแอดเดรส และเรียกใช้งานชื่อเหล่านั้นได้จากโปรแกรมต่างๆ โดยไม่ต้องเปลี่ยนแปลงอะไรที่ตัวโปรแกรมเลย browser, telnet, ftp, mail ก็ยังใช้โปรแกรมที่เราใช้กันทุกๆ วันนี้เหมือนเดิม ที่เพิ่มขึ้นมาคือพวกชื่อเซิร์ฟเวอร์ต่างๆ เราจะสามารถใช้ภาษาอื่นได้ที่ไม่ใช่ภาษาอังกฤษ อย่างเช่น

  • เข้า web ที่ http://คอมพิวเตอร์.วิศวกรรมศาสตร์.ขอนแก่น.มหาวิทยาลัย.ไทย
  • finger @παράδειγμα.δοκιμή
  • rlogin 例子.測試
  • ftp 실례.테스트
  • telnet เคเอฟซี.พาณิชย์.ไทย
  • mail [email protected]例え.テスト

ระบบ iDNS สามารถแยกบริการในแต่ละภาษาออกจากกันได้ด้วย ยกตัวอย่างเช่น เว็บเซิร์ฟเวอร์ของบริษัทแห่งนึงอาจจะจดทะเบียนทั้งภาษาไทยและภาษาอังกฤษ ถ้าผู้ใช้พิมพ์ URL เป็นภาษาไทยก็จะเข้าเว็พเพจที่เป็นภาษาไทย ถ้าพิมพ์เป็นภาษาอังกฤษก็จะเข้าเว็บเพจที่เป็นภาษาอังกฤษ

ข้อมูลทางเทคนิคเพิ่มเติมอีกหน่อย

สำหรับ admin หรือคนที่มีพื้นฐานอินเทอร์เน็ตสูงขึ้นมาอีกระดับนึง ผมอยากอธิบายระบบของ iDNS แยกเป็นสองส่วนคือส่วนของฐานข้อมูลที่เก็บ mapping ของ domain name กับไอพีแอดเดรส และส่วนของโปรแกรมที่เอาไว้เป็นตัวให้บริการ ..ในส่วนของฐานข้อมูลเราจำเป็นต้องใช้ตัวอักษรภาษาอังกฤษเท่านั้นเวลากำหนด ชื่อ ภาษาอื่นๆ ที่ไม่ได้ใช้ตัวอักษรภาษาอังกฤษไม่สามารถเอามาใส่ได้ วิธีการของ iDNS แก้ปัญหาจุดนี้โดยใช้การใช้รหัสอักษรแแบบ UTF-5 ซึ่งเป็นมาตรฐาน multibyte encoding แบบหนึ่ง

ในส่วนของโปรแกรมกัน บ้าง..แต่เดิมเราใช้ BIND (Berkeley Internet Name Domain) เป็นโปรแกรมที่ใช้ run เป็น daemon ชื่อ named ใช่มั้ยครับ อย่างปัจจุบันเราก็ใช้เป็น “bind8” (ใครยังไม่ไป patch เป็น 8.2.2 patch level 5 อย่าลืมไป download มา patch ซะนะครับ .. version ก่อนหน้านี้มี security bugs ครับ) สำหรับ iDNS ถ้าพูดง่ายๆ ก็คือเค้าเอา bind8 มาแก้ให้ใช้ภาษาหลายๆ ภาษาได้ สามารถค้นฐานข้อมูลที่เป็น UTF-5 ได้เท่านั้นเอง ฟังดูอาจจะง่าย แต่กว่าจะออกแบบได้ถึงตรงนี้มันก็ไม่ง่ายเท่าไหร่นะครับ ถ้าสนใจก็ลองดูที่ i-dns.org จะมี iDNS patch ของ bind8 ให้ดาวน์โหลดด้วย เมื่อโปรแกรมสามารถรับรู้หลายภาษาได้ผู้ใช้ก็จะใช้งาน domain name ภาษาอื่นๆ ได้

โชคดีที่ไคลเอนด์ทั้งของ DNS และ iDNS ไม่มีความแตกต่างกันเลย การเปลี่ยนแปลงจะอยู่ที่ฝั่งเซิร์ฟเวอร์เพียงอย่างเดียว หรือถ้าให้จำเพาะลงไปอีกก็คืออยู่ที่ bind4/bind8 กับฐานข้อมูลเท่านั้น อันนี้เองที่เป็นเหตุผลว่าทำไม โปรแกรมที่เราใช้ปกติถึงทำงานกับ iDNS ได้โดยไม่ต้องเปลี่ยนแปลงตัวโปรแกรมหรือเพิ่มเติมอะไรกันอีก

แนวโน้มและผลกระทบอื่นๆ

สิ่ง แรกที่ควรทำความเข้าใจคือ iDNS เป็น DNS หลายภาษา ไม่ใช่เป็น DNS ภาษาไทยเท่านั้น ดังนั้นภาษาอังกฤษก็ยังมีอยู่ได้เหมือนเดิม ภาษาอังกฤษก็ถือเป็นภาษานึงในมุมมองของ iDNS ซึ่งสามารถบรรจุไว้ในฐานข้อมูลได้เช่นเดียวกับภาษาอื่นๆ หากเอา iDNS ใช้งานแทน DNS ใครที่จดทะเบียนเป็นภาษาอังกฤษก็ยังใช้งานได้ปกติ .. สิ่งที่ iDNS ได้เพิ่มเติมขึ้นมาก็คือทำให้ใช้ภาษาอื่นได้เท่านั้นเอง ไม่ได้ไปแทนที่ ไม่ได้ยกเลิกการใช้ domain ภาษาอังกฤษ การใช้งานจึงพอจะเปรียบเทียบได้กับการใช้ภาษาทุกๆ วันนี้แหละครับ อยู่ในเมืองไทยเราก็พูดภาษาไทย ไปเมืองนอกเราเจอคนไทยก็พูดภาษาไทย เจอฝรั่งหรือชาติอื่นพูดไทยไม่ได้ก็ใช้ภาษาอังกฤษ หรือถ้าเราเก่งๆ หน่อยพูดภาษาอื่นๆ ได้อีกก็อาจจะใช้ภาษานั้นในการติดต่อแทนภาษาอังกฤษ คนในประเทศอื่นที่ใช้ภาษาต่างจากเราเค้าก็จะทำแบบนี้ได้โดยใช้ภาษาของเขาเอง ลองดูผลกระทบกันซักนิดถ้าเกิดมี domain name หลายภาษาขึ้นมาจริงๆ นะครับ..ในส่วนของผู้ใช้จะไม่ได้รับผลกระทบอะไรเลยเพราะไม่ต้องเปลี่ยนแปลง อะไรก็ใช้งาน domain name ภาษาอื่นๆ ได้ .. แต่สำหรับเจ้าของ domain หรือ ISP หรือผู้ที่ให้บริการบนอินเทอร์เน็ตจำเป็นต้องเปลี่ยนแปลงอยู่เหมือนกัน อย่างแรกคือตัว DNS server ซึ่งจำเป็นต้องติดตั้ง iDNS แทน DNS เดิมเพื่อให้ลูกค้าใช้งานได้ทุกภาษา ไม่ใช่เฉพาะภาษาอังกฤษหรือไทยนะครับ จะเป็นทุกภาษาที่ iDNS รองรับ แปลว่า นักธุรกิจชาวจีน ถือ notebook Win98/Chinese มาใช้งานในเมืองไทย ต่ออินเทอร์เน็ตกับ ISP บ้านเราก็จะใช้ domain name ภาษาจีนได้ เช่นเดียวกับเราหิ้ว Win98/Thai ไปใช้ที่ไหนก็จะใช้ domain name ภาษาไทยได้เหมือนกัน

กลุ่มของผู้ที่จดทะเบียน domain name ไว้ที่เป็นภาษาอังกฤษหากต้องการให้ลูกค้าหรือผู้ใช้สามารถเข้าถึงบริการที่ มีอยู่โดยใช้ domain name ภาษาไทยได้ ก็จำเป็นต้องจดทะเบียน domain name เพิ่มอีกหนึ่งอันเป็นภาษาไทย ถ้าจะจดภาษาอื่นด้วยก็ได้ครับ บริษัทบางแห่งอาจจะมีกลุ่มลูกค้าต่างประเทศหลายๆ ประเทศก็สามารถจดทะเบียนในภาษาอื่นๆ ได้อีก ปัญหาที่ตามมาคือ ใครจะเป็นผู้ดูแลเพื่อไม่ให้เกิดการจดทะเบียนซ้ำซ้อนหรือเกิดปัญหาเรื่องจอง domain name มาขายกันอีก ? ปัญหานี้ถือเป็นเรื่องใหญ่ทีเดียวแล้วก็คงต้องดูแลกันดีๆ เพื่อให้ยุติธรรมกับทุกฝ่าย หลายคนคงเห็นว่า THNIC น่าจะเป็นองค์กรที่เหมาะที่จะดูแลจุดนี้ หรือจะให้ดีกว่านั้นก็ถือเอาโอกาสนี้ตั้งองค์กรอิสระเป็นตัวแทนของประเทศ เพื่อกำหนดกฏเกณฑ์และดูแลอินเทอร์เน็ต ในระดับนโยบายภายในประเทศ มีคณะกรรมการมาจากหลายๆ ฝ่าย ทั้งรัฐ เอกชน สถานศึกษา ฯลฯ เพื่อให้มีกำลังในการส่งเสริม และกระตุ้นให้เกิดการใช้อินเทอร์เน็ต ในประเทศมากขึ้นและเป็นไปในทางที่เหมาะสม อาจจะดูเพ้อฝันไปซักหน่อยนะครับ พูดแบบนี้ถ้าไม่ถูกใจก็ถือซะว่าเป็นความคิดของผมคนเดียวก็แล้วกัน แต่ถ้าเห็นด้วยก็ช่วยกันผลักดันให้เกิดเร็วๆ นะครับ แหะๆๆ

พูดถึง เรื่องค่าจดทะเบียนสักนิดนึง ปัจจุบัน iDNS อยู่ภายใต้การดูแลของ iDNS international ซึ่งกำหนดนโยบายเรื่องค่าจดทะเบียนสำหรับ ISPs หรือ NICs ที่รับจดทะเบียน iDNS เอาไว้ว่าหาก ISPs หรือ NICs มีการเก็บค่าจดทะเบียน iDNS ก็จะหัก % จากรายได้ที่ได้จากการจดทะเบียนนั้นเพื่อไปใช้เป็นค่าดูแลรักษาระบบ iDNS ซึ่งทำหน้าที่เป็น root ของ iDNS จะได้มั่นใจได้ว่าระบบจะทำงานได้ตลอดเวลา .. iDNS international ไม่ได้กำหนดอัตราที่แน่นอน แต่ระบุว่าขึ้นอยู่กับการตกลงแต่และแห่งและจะคิดน้อยกว่า 50% ของค่าจดทะเบียน และไม่คิดค่าจดทะเบียนสำหรับองค์กรที่เป็นสถานศึกษาและองค์กรอื่นๆ ที่จัดตั้งขึ้นโดยไม่แสวงหาผลกำไร

อย่างไรก็ตาม iDNS ได้ถูกจัดเข้าร่วมเป็น working group ของ IETF แล้วในชื่อของ Internationalized Domain Name System Requirement Working Group ซึ่งหลังจากนี้ก็จะพัฒนามาตรฐานที่เหมาะสมที่สุด แล้วก็ประกาศเป็น RFC กันต่อไป นั่นก็หมายความว่าในอนาคตหาก iDNS กลายเป็นมาตรฐานในอินเทอร์เน็๋ตแล้วมีการปรับระบบ DNS เดิมให้ใช้งาน iDNS ได้ ค่าใช้จ่ายเรื่องการดูแลก็ควรจะหมดไป การหัก % จาก ISPs หรือ NICs ก็ควรจะหายไปด้วย เพราะถ้า iDNS ตั้งขึ้นมาเป็นมาตรฐานที่ใช้ในอินเทอร์เน็ต โดยที่ iDNS international เก็บ % ค่าจดทะเบียนไปตลอดก็คงไม่มีใครยอมแน่ ท้ายที่สุดการใช้ iDNS ทั้งหมดตั้งแต่จดทะเบียน การติดตั้งเซิร์ฟเวอร์และการใช้งานของผู้ใช้ ควรจะเป็นเหมือนกับ DNS ในปัจจุบัน ซึ่งไม่มีใครแสวงหาผลประโยชน์ได้จากระบบ

ไหนๆ ก็พูดถึงเรื่องมาตรฐานในอินเทอร์เน็ตอธิบายซักนิดนะครับ คือ การวางมาตรฐานบนอินเทอร์เน็ตไม่ได้ทำได้ง่ายๆ หรือทำปีสองปีเสร็จ โดยเฉลี่ยแล้วมาตรฐานหนึ่งๆ ตั้งแต่เริ่มคิดจนถึงเวลาที่ตีพิมพ์เป็นมาตรฐาน RFC สำหรับอินเทอร์เน็ต ใช้เวลาโดยเฉลี่ยเกือบๆ สิบปีนี่ยังไม่นับเวลากว่าจะเอามาใช้งานกันจริงๆ อีก ในกรณีของ iDNS เพิ่งจะเริ่มตั้ง working group เมื่อเดือนพฤศจิกายน ปี 2542 ที่ผ่านมานี่เอง ยังคงต้องใช้เวลาอีกประมาณ 2-5 ปีทำงานร่วมกันระหว่าง IETF และหน่วยงานที่ร่วมร่างมาตรฐานอื่นๆ เพื่อพัฒนา Internet Draft หลังจากได้ Internet Draft ที่สมบูรณ์จึงจะนำ มาประกาศเป็น RFC ซึ่งเรายอมรับว่าเป็นตัวกำหนดมาตรฐาน.. เมื่อใดก็ตามที่มีมาตรฐานออกมาใช้ในอินเทอร์เน็ตแล้วมันจะเป็นเทคโนโลยีที่ ใช้งานได้ฟรีครับ ไม่มีใครเป็นเจ้าของ ลองเทียบกับ DNS & BIND ดูนะครับ เราไม่ได้เสียค่าใช้จ่ายอะไรในการติดตั้งเพื่อให้ใช้งานระบบ DNS ได้ สิ่งที่ต้องเสียก็คือค่าจดทะเบียนเพียงอย่างเดียว ซึ่งทุกวันนี้ค่าจดทะเบียนตามระบบก็ถูกแสนถูก ส่วนประเภทนอกระบบ เอาไปทำเป็นธุรกิจ หรือ ซื้อขาย domain กันอันนั้นเป็นอีกเรื่องนึง ถ้าดูแลกันดีพอก็จะไม่เกิดขึ้น อย่าง .co.th ผมไม่เห็นได้ยินว่ามีการซื้อขายกัน เห็นแต่ .com นั่นละครับที่ซื้อกันเป็นแสนเป็นล้าน (พูดแล้วก็อิจฉา หึๆๆๆ)

กลับมามองที่ตัวเรา: iDNS กับ Domain name ภาษาไทย

ปัญหา ที่ดูเหมือนจะเป็นที่ถกเถียงกันอย่างมากคือ ทำไมต้องมี domain ภาษาไทยด้วย ? คนที่ใช้ Computer/Internet ก็รู้ภาษาอังกฤษกันทั้งนั้น ? ประโยชน์อยู่ที่ใคร ใครได้ ใครเสีย ใครกำลังเอาเปรียบเราหรือเปล่า ? คนไทยเป็นเจ้าของ domain ภาษาไทยหรือเปล่า ? ..อื้อหือ..เรื่องพวกนี้เถียงกันไม่จบแน่เลยครับ ผมให้ข้อมูลในส่วนที่รู้ดีกว่าแล้วลองตัดสินกันดูนะครับ .. เรื่องนี้คงต้องแยกกันระหว่าง iDNS กับ Domain name ภาษาไทยนะครับ ปัจจุบันมีความพยายามที่จะตั้งให้ iDNS เป็นมาตรฐานที่จะใช้งานในอินเทอร์เน็ตกันต่อไป ซึ่งก็มีแนวโน้มที่จะเป็นอย่างนั้น หากในอนาคต iDNS กลายเป็นมาตรฐานที่นำมาใช้แทน DNS ปัจจุบัน ก็คงไม่ต้องห่วงเรื่องการผูกขาด เพราะไม่มีใครผูกขาด standard service ได้หรอกครับ ไม่มีใครยอมรับแน่นอน และก็มั่นใจได้ว่าเจ้าของภาษาก็ควรจะเป็นผู้ดูแล domain name ของภาษานั้นๆ เพราะคงไม่มีประเทศไหนยอมเหมือนกัน (อย่าลืมว่าไม่ได้มีแต่ประเทศไทยนะครับ) ตอนนี้บ้านเรายังไม่ได้ใช้งาน iDNS หรือแม้แต่มีแผนว่าจะใช้งาน iDNS จะมีก็เพียง Testbed ทดลองใช้กับภาษาไทยเท่านั้นครับ เราทุกคนก็คงอยากเลือกเทคโนโลยีที่เหมาะสมที่สุดสำหรับเรา iDNS เป็นแค่ทางเลือกหนึ่งเท่านั้นเองหากเราจะตั้ง domain name ภาษาไทย ถ้าเกิดพรุ่งนี้ทีมพัฒนา BIND ของ Internet Software Consortium ออก bind9 ที่สามารถตั้ง domain name เป็นภาษาอื่นๆ ได้ เราอาจจะ happy กับ bind9 ในฝันของเราก็ได้

สิ่งที่น่าจะกลับมาคิดคือเรื่องของการจัดการ domain name ภาษาไทย ว่าใครจะเป็นผู้ดูแล domain สูงสุดของภาษาไทยอันนี้ไม่ใช่เฉพาะ “.ไทย” เท่านั้นนะครับ คงต้องรวมไปถึง “.พาณิชย์”, “.องค์กร”, “.เครือข่าย”, “.ศึกษา”, “.รัฐ” (ขอใช้ที่ THNIC เสนอไปก่อนนะครับ) หรืออื่นๆ ที่เป็นภาษาไทยด้วย คำเหล่านี้เหมาะสมหรือยัง ? จะจัดการอย่างไรไม่ให้เกิดปัญหาเรื่องชื่อ domain ซ้ำ อย่างเช่น “มข.ศึกษา” กับ “มข.ศึกษา.ไทย” จะให้เป็น domain เดียวกันหรือไม่ ? จะตัด “.ไทย” ออกไปรึเปล่าเพราะยังไงก็พิมพ์เป็นภาษาไทยอยู่แล้ว ? “.ศึกษา” ควรจะแยกเป็น “.มหาวิทยาลัย”, “.โรงเรียน”, “.วิทยาลัย” หรือเปล่า ? ฯลฯ นอกจากนี้ก็คงต้องมาคิดถึงนโยบายว่าจะกำหนดออกมาอย่างใรให้มีประโยชน์กับผู้ ใช้ให้มากที่สุด สิ่งเหล่านี้น่าจะเป็นเรื่องที่ต้องหารือกันต่อไปๆ เพื่อให้ได้คำตอบที่น่าพอใจสำหรับทุกคน