IPv6 & URL 解析

new URL("http://2130706433").href => "http://127.0.0.1/"
// ipv4解析规范
ipv6 的用方括号扩起来,如:
http://[::1]:50080/

任何开头为"::"、"fc"、"fd"或者"fe"的地址都无法连通 IPv6 公共互联网。 // 他们为特殊地址

在很多场合,IPv6 地址由两个逻辑部分组成:一个 64 位的网络前缀和一个 64 位的主机地址,主机地址通常根据物理地址(网卡地址)自动生成,叫做 EUI-64(或者64-位扩展唯一标识)

每项数字前导的0可以省略,省略后前导数字仍是0则继续
以用双冒号"::"表示一组0或多组连续的0,但只能出现一次
::ffff:1.2.3.4 格式叫做IPv4映射地址 //双冒号之间90位全部是0

::/128-所有比特皆为零的地址称作未指定地址。这个地址不可指定给某个网络接口,并且只有在主机尚未知道其来源IP时,才会用于软件中。路由器不可转送包含未指定地址的数据包。
::1/128-是一种单播绕回地址。相当于IPv4中的127.0.0.1/8 // 后面的/是网络前缀所占比特数, CIDR 记法
// CIDR 采用各种长度的"网络前缀"来代替分类地址中的网络号和子网号,其格式为:IP地址 = {<网络前缀>,<主机号>}
// 192.168.24.0/22 对应地址段为192.168.24.1-192.168.27.254,共4个网段。 (10 位主机号)
fe80::/10-这些链路本地地址指明,这些地址只在区域连接中是合法的,这有点类似于 IPv4 中的 169.254.0.0/16。
fc00::/7-唯一区域地址(ULA,unique local address)只可在一群网站中绕送。这定义在RFC 4193中,是用来替换站点本地位域。
ff00::/8-这个前置表明定义在"IP Version 6 Addressing Architecture"(RFC 4291)中的多播地址[10]。其中,有些地址已用于指定特殊协议,如ff0X::101对应所有区域的NTP服务器(RFC 2375)。
2001::/32-用于Teredo tunneling。
2002::/16-用于6to4。
2001:db8::/32-这前置用于文件(RFC 3849)。这些地址应用于IPV6地址的示例中,或描述网络架构。

IPv6数据包由两个主要部分组成:头部和负载。包头是包的前64比特并且包含有源和目的地址,协议版本,通信类别(8位,包优先级),流标记(20比特,QoS服务质量控制),分组长度(16位),下一个头部(用于入栈解码,类似IPv4中的协议号),和跳段数限制(8位,生存时间,相当于IPv4中的TTL)。 后面是负载。MTU至少1280字节长,在常见的以太网环境中为1500字节。负载在标准模式下最大可为65535字节,如果扩展报头设置了"jumbo payload"选项,则长度值被置为0。

IPv6地址在域名系统中为执行正向解析表示为 AAAA 记录(所谓4A记录,类似的IPv4表示为A记录A records)