IPv6 表示法的包袱

IPv6 address 表示法的確有不少問題,說「包袱」是因為應該是很難改了。

在「The IPv6 Numeric IP Format is a Serious Usability Problem」這篇文章裡作者討論 IPv6 address 表示法的問題,像是因為用 colon 切割造會跟 url 裡的 port 混淆,於是引入了 bracket 的 workaround:

An IPv4 URL of the form http://127.0.0.1:1234/ indicates that HTTP should be used to access a service at 127.0.0.1 port 1234. But what does http://dead:beef::1:1234/ mean? To fix the ambiguity, brackets were introduced. Now you have to type http://[dead:beef::1]:1234/.

Address Shortening Obfuscation 這邊講的就有點過火了,不過的確是不好讀,一眼看過去不是很容易切開一個 colon 與兩個 colon 的部份。

作者有提出一些建議方法,不過看起來只是 murmuring... XD

2 thoughts on “IPv6 表示法的包袱”

  1. I guess the best and only way to do IPV6 address right by given it a TLD - .ipv6.

    deadbeef000000000000000000000001.ipv6 should be resolved to [dead:beef::1]
    dead.beef.0.0.0.0.0.1.ipv6 should be resolved to [dead:beef::1]

    Can be slowly migrated if hack the logic into DNS (all apps will just work), then we can update the parser.

  2. I have an idea before: use "http://127.0.0.1:1234" for ipv4,
    and use "http://dead:beef::1.1234" for ipv6.
    This format is easy identification for human,
    but may need more procedures for parsing url in code.

Leave a Reply

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