本文共 4133 字,大约阅读时间需要 13 分钟。
描述 | IPv4 | IPv6 |
---|---|---|
地址 | 长度为 32 位(4 个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D 或 E。IPv4 地址的总数为 4 294 967 296。IPv4 地址的文本格式为 nnn.nnn.nnn.nnn,其中 0<=nnn<=255,而每个 n 都是十进制数。可省略前导零。最大打印字符数为 15 个,不计掩码。 | 长度为 128 位(16 个字节)。基本体系结构的网络数字为 64 位,主机数字为 64 位。通常,IPv6 地址(或其部分)的主机部分将派生自 MAC 地址或其他接口标识。根据子网前缀,IPv6 的体系结构比 IPv4 的体系结构更复杂。IPv6 地址的数目比 IPv4 地址的数目大 1028(79 228 162 514 264 337 593 543 950 336)倍。IPv6 地址的文本格式为 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每个 x 都是十六进制数,表示 4 位。可省略前导零。可在地址的文本格式中使用一次双冒号(::),用于指定任意数目的 0 位。例如,::ffff:10.120.78.40 表示 IPv4 映射的 IPv6 地址。 |
地址分配 | 最初,按网络类分配地址。随着地址空间的消耗,使用“无类域间路由”(CIDR)进行更小的分配。没有在机构和国家或地区之间平均分配地址。(此说法不正确,美国拥有更多的IPV4地址) | 分配尚处于早期阶段。“因特网工程任务组织”(IETF )和“因特网体系结构委员会”(IAB)建议基本上为每个组织、家庭或实体分配一个 /48 子网前缀长度。它将保留 16 位供组织进行子网划分。地址空间是足够大的,可为世界上每个人提供一个其自己的 /48 子网前缀长度。(说的不清楚,实际上现在也不需要弄的很明白,各个应用场景不太一样) |
地址生存期 | 通常,除使用 DHCP 分配的地址之外,此概念不适用于 IPv4 地址。 | IPv6 地址有两个生存期:首选生存期和有效生存期,而首选的生存期总是小于等于有效的生存期。首选生存期到期后,如果有同样好的首选地址可用,那么该地址便不再用作新连接的源 IP 地址。 有效生存期到期后,该地址不再用作入局信息包的有效目标 IP 地址或源 IP 地址。根据定义,某些 IPv6 地址有无限多个首选生存期和有效生存期,如本地链路。(这个好像也没有多大用处) |
地址掩码 | 用于从主机部分指定网络。 | 未使用。 |
地址前缀 | 有时用于从主机部分指定网络。有时根据地址的表示格式写为 /nn 后缀。 | 用于指定地址的子网前缀。按照打印格式写为 /nnn(最多 3 位十进制数字,0 <= nnn <= 128)后缀。例如 fe80::982:2a5c/10,其中前 10 位组成子网前缀。 |
地址解析协议(ARP) | IPv4 使用 ARP 来查找与 IPv4 地址相关联的物理地址(如 MAC 或链路地址)。 | IPv6 使用因特网控制报文协议版本 6(ICMPv6)将这些功能嵌入到 IP 自身作为无状态自动配置和邻节点发现算法的一部分。因此,不存在类似于 ARP6 之类的东西。 |
地址作用域 | 此概念不适用于单点广播地址。有指定的专用地址范围和回送地址。将该范围之外的地址假设为全局地址。 | 在 IPv6 中,地址作用域是该体系结构的一部分。单点广播地址有两个已定义的作用域,包括本地链路和全局链路;而多点广播地址有 14 个作用域。为源和目标选择缺省地址时要考虑作用域。作用域区域是特定网络中作用域的实例。因此,有时必须输入 IPv6 地址或使它与区域标识相关联。语法是 %zid,其中 zid 是一个数字(通常较小)或名称。区域标识写在地址之后前缀之前。 例如,2ba::1:2:14e:9a9b:c%3/48。(这个问题需再仔细确认一下) |
地址类型 | IPv4 地址分为三种基本类型:单点广播地址、多点广播地址和广播地址。 | IPv6 地址分为三种基本类型:单点广播地址、多点广播地址和任意广播地址。有关描述。 |
通信跟踪 | 通信跟踪是一个收集进入和离开系统的 TCP/IP(及其他)信息包的详细跟踪资料的工具。 | 同样支持 IPv6。(没有用过) |
配置 | 新安装的系统必须在进行配置之后才能与其他系统通信;即,必须分配 IP 地址和路由。 | 根据所需的功能,配置是可选的。IPv6 可与任何以太网适配器配合使用并且可通过回送接口运行。IPv6 接口是使用 IPv6 无状态自动配置进行自我配置的。还可手工配置 IPv6 接口。这样,根据网络的类型以及是否存在 IPv6 路由器,系统将能与其他本地和远程的 IPv6 系统通信。 |
域名系统(DNS) | 应用程序使用套接字 API gethostbyname() 接受主机名,然后使用 DNS 来获得 IP 地址。 应用程序还接受 IP 地址,然后使用 DNS 和 gethostbyaddr() 获得主机名。 对于 IPv4,逆向查找域为 in-addr.arpa。 | 同样支持 IPv6。使用 AAAA(四个 A)记录类型和逆向查找(IP 到名称)支持 IPv6。应用程序可选择(是否)从 DNS 接受 IPv6 地址,然后(是否)使用 IPv6 进行通信。 套接字 API gethostbyname() 仅支持 IPv4。对于 IPv6,使用新的 getaddrinfo() API 以仅获取 IPv6 或获取 IPv4 和 IPv6 地址(在应用选择上)。 对于 IPv6,用于逆向查找的域为 ip6.arpa,如果找不到,那么会使用 ip6.int。 |
动态主机配置协议(DHCP) | DHCP 用于动态获取 IP 地址及其他配置信息。IBM i 支持对 IPv4 使用 DHCP 服务器。 | 通过 IBM i 实现的 DHCP 不支持 IPv6。但是,可以使用 实现。 |
文件传输协议(FTP) | FTP 允许通过网络发送和接收文件。 | 同样支持 IPv6。 |
片段 | 如果一个信息包对于要传送它的下一链路来说太大,那么可由发送方(主机或路由器)对其分段。 | 对于 IPv6,只能在源节点进行分段,且只能在目标节点完成重新装配。使用分段扩展报头。 |
主机表 | 将因特网地址与主机名关联的可配置表,例如,127.0.0.1 用于回送。在开始 DNS 查找之前或者 DNS 查找失败之后(由主机名搜索优先级确定),套接字名称解析器将使用此表。 | 同样支持 IPv6。 |
IBM Navigator for i支持 | IBM Navigator for i提供完整的 TCP/IP 配置解决方案。 | 同样支持 IPv6。 |
接口 | 概念性或逻辑实体,由 TCP/IP 用来发送和接收信息包,即使不以 IPv4 地址命名也始终与 IPv4 地址紧密关联。有时称为逻辑接口。 可使用 IBM Navigator for i以及使用 STRTCPIFC 和 ENDTCPIFC 命令彼此独立并独立于 TCP/IP 启动和停止 IPv4 接口。 | 同样支持 IPv6。 |
因特网控制报文协议(ICMP) | 由 IPv4 用来进行网络信息通信。 | 由 IPv6 的使用情况类似;然而,因特网控制报文协议版本 6(ICMPv6)提供一些新的属性。保留了基本错误类型,如目标不可到达、回传请求和应答。 添加了新的类型和代码以支持邻节点发现和相关的功能。 |
因特网组管理协议(IGMP) | IGMP 由 IPv4 路由器用来查找需要特定多点广播组通信的主机,并由 IPv4 主机用来向 IPv4 路由器通告(主机上)现有的多点广播组侦听器。 | IGMP 在 IPv6 中由 MLD(多播侦听器发现)协议取代。MLD 执行 IGMP 对 IPv4 所执行的必要操作,但通过添加一些特定于 MLD 的 ICMPv6 类型值来使用 ICMPv6。(这点非常重要,但是上面的话等于没说) |
IP 报头 | 根据提供的 IP 选项,有 20-60 个字节的可变长度。 | 40 个字节的固定长度。没有 IP 报头选项。通常,IPv6 报头比 IPv4 报头简单。 |
IP 报头选项 | IP 报头(在任何传输报头之前)可能附带各种选项。 | IPv6 报头没有选项。而 IPv6 添加了附加(可选)的扩展报头。扩展报头包括 AH 和 ESP(和 IPv4 的一样)、逐跳扩展、路由、分段和目标。目前,IPv6 支持一些扩展报头。 |
IP 报头协议字节 | 传输层或信息包有效负载的协议代码,例如,ICMP。 | 报头类型紧跟在 IPv6 报头后面。使用与 IPv4 协议字段相同的值。此结构的作用是允许以后的报头使用当前定义的范围并且易于扩展。下一个报头将是传输报头、扩展报头或 ICMPv6。 |
回送地址 | 回送地址是地址为 127.*.*.*(通常是 127.0.0.1)的接口,只能由节点用来向自身发送信息包。该物理接口(线路描述)被命名为 *LOOPBACK。 | 与 IPv4 的概念相同。单个回送地址为 0000:0000:0000:0000:0000:0000:0000:0001 或 ::1(简短版本)。虚拟物理接口被命名为 *LOOPBACK。 |
端口 | TCP 和 UDP 有独立的端口空间,分别由范围为 1-65535 之间的端口号标识。 | 对于 IPv6,端口的工作与 IPv4 相同。因为它们处于新地址系列,现在有四个独立的端口空间。 例如,有应用程序可绑定的两个 TCP 端口 80 空间,一个在 AF_INET 中,一个在 AF_INET6 中。(这个我做实验是不成功的) |
传输层 | TCP、UDP 和 RAW。 | IPv6 中存在相同的传输。 |
未指定地址 | 顾名思义,未定义的地址。套接字编程将 0.0.0.0 用作 INADDR_ANY。 | 定义为 ::/128(128 个 0 位)。 它在某些邻节点发现信息包和各种其他的上下文(如套接字)中用作源 IP。套接字编程将 ::/128 用作 in6addr_any。 |
转载地址:http://mzjof.baihongyu.com/