Tag Archives: ipv6

Google on IPv6

ในที่สุด ก็มาซะที …

$ dig AAAA ipv6.google.com
...
;; QUESTION SECTION:
;ipv6.google.com.        IN    AAAA

;; ANSWER SECTION:
ipv6.google.com.    1588    IN    CNAME    ipv6.l.google.com.
ipv6.l.google.com.    87    IN    AAAA    2001:4860:c003::68
...

และ

ถ้าเข้าใช้งาน IPv6 ได้ สังเกต logo ของ google ดีๆ :)

/me – on openvpn tunneled to IPv6 network @ my office

Another Tech in Beijing 2008

ท่อง เว็บโอลิมปิก 2008 ก็เจอ ลิงก์ น่าสนใจเข้าให้

ใช่แล้ว …เว็บโอลิมปิก 2008 หน้านี้ วิ่งบน IPv6 .. และ ดูเหมือนจะเป็น IPv6-only ด้วยนะ :)

$ dig A ipv6.beijing2008.cn

; <<>> DiG 9.4.2-P1 <<>> A ipv6.beijing2008.cn
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43376
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ipv6.beijing2008.cn.        IN    A

;; AUTHORITY SECTION:
beijing2008.cn.        60    IN    SOA    ns2.beijing2008.cn.
dnsadmin.sohu-inc.com. 2008080901 28800 7200 1209600 60

;; Query time: 291 msec
;; SERVER: 2001:3c8:c108:ace:c0e::13#53(2001:3c8:c108:ace:c0e::13)
;; WHEN: Mon Aug 11 12:12:52 2008
$ dig AAAA ipv6.beijing2008.cn

; <<>> DiG 9.4.2-P1 <<>> AAAA ipv6.beijing2008.cn
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15447
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;ipv6.beijing2008.cn.        IN    AAAA

;; ANSWER SECTION:
ipv6.beijing2008.cn.    569    IN    AAAA    2001:252:0:1::2008:8
ipv6.beijing2008.cn.    569    IN    AAAA    2001:252:0:1::2008:6

;; AUTHORITY SECTION:
beijing2008.cn.        569    IN    NS    ns5.beijing2008.cn.
beijing2008.cn.        569    IN    NS    ns6.beijing2008.cn.
beijing2008.cn.        569    IN    NS    ns1.beijing2008.cn.
beijing2008.cn.        569    IN    NS    ns2.beijing2008.cn.
beijing2008.cn.        569    IN    NS    ns3.beijing2008.cn.
beijing2008.cn.        569    IN    NS    ns4.beijing2008.cn.

;; Query time: 1 msec
;; SERVER: 2001:3c8:c108:ace:c0e::13#53(2001:3c8:c108:ace:c0e::13)
;; WHEN: Mon Aug 11 12:13:19 2008
;; MSG SIZE  rcvd: 201

An IPv6-only network and DNS

ไม่นานมานี้ในการประชุม IETF ได้ปิด IPv4 network ในงานทั้งหมดแล้วให้วิ่งเฉพาะ IPv6 .. ดูเหมือนจะราบรื่นดี ก็ไม่แปลกใจเท่าไหร่ เขาคงเตรียมตัวไม่ให้เกิดเหตุหน้าแตก

เวลาไล่เลี่ยกัน ที่ทำงานข้าน้อยมีปัญหากับสายไฟเบอร์ที่ใช้งานอินเทอร์เน็ต (IPv4) โดนหนูกัดไปหลายสิบคอร์ เสาร์-อาทิตย์มีการซ่อมแซมสายทำให้ใช้อินเทอร์เน็ตไม่ได้ไป 2 วัน .. โชคยังดี (มั้ง) ที่เหลือเส้นสำรองที่วิ่งเป็น IPv6 เพียวๆ .. ตกอยู่ในสถานการณ์ IPv6-only เหมือนกันแบบไม่ตั้งใจ เลยลองใช้ IPv6 อย่างเดียวกันดู

จริงๆ ได้เซ็ตเครือข่าย IPv6 ไว้ที่ทำงานนานแล้ว ใครจะใช้งานก็ง่ายมาก ถ้าระบบปฏิบัติการที่ใช้สนับสนุน IPv6 แค่เชื่อมเข้าเครือข่ายที่จัดไว้ให้ได้ ที่เหลือก็เข้ากลไก stateless address autoconfig. ก็ใช้งานได้ .. สำหรับวันที่ทดสอบ ระบบก็ทำงานได้ราบรื่นดี จนกระทั่งมาตายที่ DNS .. ลอง dig +trace ดูก็พบกว่าถ้า query ผ่าน DNS server มักไม่ค่อยจะได้คำตอบกลับมา หรืออาจจะไม่ได้คำตอบเลย .. สาเหตุเข้าใจว่า root servers ปัจจุบันยังไม่สนับสนุน IPv6 ทุกตัว ข้อมูลล่าสุดที่ ftp://ftp.internic.net/domain/named.root วันที่ 4 ก.พ. 51 (2008020400) มีแค่เซิร์ฟเวอร์ A, F, H, J, K, และ M เท่านั้นที่มีเรคคอร์ด AAAA .. ถ้าเจอตัวที่มี IPv6 address ก็ dig ต่อได้ ถ้าไม่เจอก็จอดเลย .. และถึงจะ dig ต่อได้ ก็ใช่ว่าจะได้คำตอบ เดี๋ยวนี้ root servers มันไม่ได้เก็บ gTLD แล้ว แต่จะกระจาย gTLD ลงมาอีกชั้นที่ gtld-servers.net อีกสิบสามตัว (A – M) เท่าที่ query ดูมีแค่ gtld-servers A กับ M เท่านั้นที่มีเรคคอร์ด AAAA .. จะใช้ IPv6 กับ gTLD ตอนนี้ก็ต้องรอไปก่อนแหละ ฝั่ง ccTLD ก็ลำบากพอๆ กัน ยังไม่นับว่าบางโซนมีเรคคอร์ด AAAA ไว้แล้ว แต่เซิร์ฟเวอร์กลับไม่ได้รัน IPv6 ก็มี .. (- -)a

DNS สำหรับ IPv6 ยังมีอีกปัญหาใหญ่ คือ RFC1035 (STD13) กำหนดไว้ว่าขนาดของ DNS query/reply UDP payload จำกัดไว้ที่ 512 octets ซึ่งทำให้ root zone มี A record ได้ไม่เกิน 13 records ..ถ้ายัด AAAA ไปอีกทุกตัวก็เกินข้อกำหนดแน่ๆ .. ทางออกของปัญหานี้มีแล้ว คือใช้ EDNS(0) ซึ่ง BIND ก็มีให้ใช้ ลองกันหน่อยก็ได้

$ dig NS .
...
;; MSG SIZE  rcvd: 500

เทียบกับ

$ dig +edns=0 NS .
...
;; MSG SIZE  rcvd: 615

หรือ

$dig +bufsize=1024 NS .
...
;; MSG SIZE  rcvd: 615

จะเห็นว่าสองกรณีหลัง MSG SIZE ขนาดเกิน 512 octets … แต่การใช้งานแบบนี้ยังไม่แพร่หลาย เครือข่ายบางแห่งบางที่ก็กรองไว้ แถมทำอะไรกับ buffer บน BIND นี่มันเสียวๆ อยู่แฮะ .. เอาเป็นว่าทำเท่าที่ทำได้ละกัน ไอ้ที่อยู่เหนือการควบคุม ก็ได้แต่หวังให้มันมีความก้าวหน้าไวๆ

แถมท้าย .. root zone มี A 13 records ไม่ได้หมายความว่าจะมี root servers แค่ 13 เครื่องนะ .. root servers เขาใช้ anycast กันหลายตัวแล้ว .. และที่หลายคนอาจจะยังไม่รู้คือ i.root-servers.net หนึ่งใน 13 root servers อยู่ในประเทศไทยตั้งแต่ปี 2004 โน่น .. และถ้าอยากเห็นว่า root servers กระจายอยู่ที่ไหนบ้าง สามารถ ดูบน Google Maps ได้ด้วย :)