IPv6作为 IETF设计的用于替代 IPv4的下一代互联网协议,IPv6和 IPv4的对比具体见表 2-2。
表2-2 IPv6和IPv4协议对比表
描述 |
IPv4 |
IPv6 |
地址 |
长度为 32 位(4 个字节)。地址由网络和主机部分组成,这取决于地址类。根据地址的前几位,可定义各种地址类:A、B、C、D 或E。IPv4地址的总数为4 294 967 296 |
长度为 128 位(16 个字节)。基本体系结构的网络数字为 64 位,主机数字为 64 位。通常,IPv6 地址(或其部分) 的主机部分将派生自 MAC 地址或其他接口标识 |
IPv4 地 址 的 文 本 格 式 为 nnn.nnn.nnn.nnn, 其 中0≤ nnn ≤ 255,而每个 n 都是十进制数。可省略前导零。最大打印字符数为 15 个,不计掩码 |
根据子网前缀,IPv6 的体系结构比 IPv4 的体系结构更复杂 |
|
IPv6 地址的文本格式为 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx,其中每个 x 都是十六进制数,表示 4 位。可省略前导零。可在地址的文本格式中使用一次双冒号(::),用于指定任意数目的0位。例如,::ffff:10.120.78.40表示 IPv4 映射的 IPv6 地址 |
||
地址分配 |
最初,按网络类分配地址。随着地址空间的消耗,使用“无类别域间路由”(CIDR)进行更小的分配。没 有在机构和国家或地区之间平均分配地址 |
分配尚处于早期阶段。IETF 和 IAB 建议基本上为每个组织、家庭或实体分配一个 /48 子网前缀长度。它将保留16位供组织进行子网划分。地址空间是足够大的,可为世界上每个人提供一个自己的 /48 子网前缀长度 |
地址生存期 |
通常,除使用动态主机配置协议(DHCP)分配的地址之外,此概念不适用于 IPv4 地址 |
IPv6 地址有两个生存期:首选生存期和有效生存期,而首选生存期总是小于等于有效生存期。 首选生存期到期后,如果有同样好的首选地址可用,那么该地址便不再用作新连接的源 IP 地址。有效生存期到期后,该地址不再用作入局信息包的有效目标 IP 地址或源 IP 地址 |
地址掩码 |
用于从主机部分指定网络 |
未使用 |
地址前缀 |
有时用于从主机部分指定网络;有时根据地址的表示格式写为 /nn 后缀 |
用于指定地址的子网前缀。按照打印格式写为 /nnn(最多 3 位十进制数字,0 ≤ nnn ≤ 128) 后缀。 例如,fe80::982:2a5c/10,其中,前 10 位组成子网前缀 |
描述 |
IPv4 |
IPv6 |
地址解析协议(ARP) |
IPv4 使用ARP 来查找与IPv4 地址相关联的物理地址(如MAC 或链路地址) |
IPv6 使用互联网控制信息协议版本 6(ICMPv6)将这些功能嵌入到 IP 作为无状态自动配置和邻节点发现算法的一部分,因此,不存在类似于 ARP6 之类的东西 |
地址作用域 |
此概念不适用于单点广播地址。有指定的专用地址范围和回送地址,将该范围之外的地址假设为全局地址 |
在 IPv6 中,地址作用域是该体系结构的一部分。单点广播地址有两个已定义的作用域,包括本地链路和全局链路;而多点广播地址有 14 个作用域。为源和目标选择缺省地址时要考虑作用域 |
作用域区域是特定网络中作用域的实例。因此,有时必须输入IPv6 地址或使它与区域标识相关联。语法是%zid, 其中,zid 是一个数字(通常较小)或名称。区域标识写在地址之后前缀之前,例如,2ba::1:2:14e:9a9b:c%3/48 |
||
地址类型 |
IPv4 地址分为 3 种基本类型:单点广播地址、多点广播地址和广播地址 |
IPv6 地址分为 3 种基本类型:单点广播地址、多点广播地址和任意广播地址 |
通信跟踪 |
通信跟踪是一个收集进入和离开系统的 TCP/IP(及其他)信息包的详细跟踪资料的工具 |
同样支持 IPv6 |
配置 |
新安装的系统必须在进行配置之后才能与其他系统通信,即必须分配 IP 地址和路由 |
根据所需的功能,配置是可选的。IPv6 可与任何以太网适配器配合使用并且可通过回送接口运行。IPv6 接口是使用 IPv6 无状态自动配置进行自我配置的,还可手动配置 IPv6 接口。这样,根据网络的类型以及是否存在 IPv6 路由器,系统将能与其他本地和远程的 IPv6 系统通信 |
续表
描述 |
IPv4 |
IPv6 |
域名系统(DNS) |
应用程序使用套接字API gethostbyname()接受主机名,然后使用 DNS 来获得 IP 地址 |
同样支持 IPv6。使用 AAAA 记录类型和逆向查找(IP 的名称)支持 IPv6。应用程序可选择(是否)从 DNS 接受IPv6 地址,然后(是否)使用 IPv6 进行通信 |
应用程序还接受 IP 地址,然后使用 DNS 和 gethos- tbyaddr()获得主机名 |
套接字 API gethostbyname()仅支持 IPv4。对于 IPv6, 使用新的 getaddrinfo()API 以仅获取 IPv6 或获取 IPv4 和 IPv6 地址(在应用选择上) |
|
对于 IPv4,逆向查找域为 in-addr.arpa |
对于 IPv6,用于逆向查找的域为 ip6.arpa,如果找不到, 那么会使用 ip6.int(请参阅 API getnameinfo()-获取套接字地址的名称信息,以获取详细信息) |
|
动态主机配置协议(DHCP) |
DHCP 用于动态获取 IP 地址及其他配置信息。IBM i 支持对 IPv4 使用 DHCP 服务器 |
通过 IBM i 实现的 DHCP 不支持 IPv6,但是,可以通过ISC DHCP 服务器实现 |
文件传输协议(FTP) |
FTP 允许通过网络发送和接收文件 |
同样支持 IPv6 |
片段 |
如果一个信息包对于要传送它的下一链路来说太大,那么可由发送方(主机或路由器)对其分段 |
对于 IPv6,只能在源节点进行分段,且只能在目标节点完成重新装配;使用分段扩展报头 |
主机表 |
将因特网地址与主机名关联的可配置表,例如, 127.0.0.1 用于回送。在开始 DNS 查找之前或者 DNS 查找失败之后(由主机名搜索优先级确定),套接字名称解析器将使用此表 |
同样支持 IPv6 |
IBMNavigatorfor i 支持 |
IBM Navigator for i 提供完整的 TCP/IP 配置解决方案 |
同样支持 IPv6 |
接口 |
概念性或逻辑实体,由 TCP/IP 用来发送和接收信息包, 即使不以 IPv4 地址命名也始终与 IPv4 地址紧密关联,有时称为逻辑接口 |
同样支持 IPv6 |
可使用 IBM Navigator for i 以及 STRTCPIFC 和 ENDTCPIFC 命令彼此独立并独立于 TCP/IP 启动和停止 IPv4 接口 |
|
描述 |
IPv4 |
IPv6 |
互联网控制信息协议(ICMP) |
由 IPv4 用来进行网络信息通信 |
与 IPv6 的使用情况类似;然而,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 |
IP 报头“服务类型”字节 |
由 QoS 和差别服务指定通信类 |
但使用不同的代码来指定 IPv6 流量类。目前,IPv6 不支持 TOS |
LAN 连接 |
LAN 连接由 IP 接口到达物理网络,存在许多类型,例如,令牌环和以太网。有时,它被称为物理接口、链路或线路 |
IPv6 可与任何以太网适配器配合使用并且可通过虚拟以太网在逻辑分区间使用 |
第2 层隧道协议(L2TP) |
可将 L2TP 看作是虚拟 PPP,并通过任何支持的线路类型工作 |
同样支持 IPv6 |
描述 |
IPv4 |
IPv6 |
回送地址 |
回送地址是地址为127.*.*.*(通常是127.0.0.1)的接口,只能由节点向自身发送信息包。该物理接口(线路描述) 被命名为 *LOOPBACK |
与 IPv4 的概念相同。单个回送地址为 0000:0000:0000:00 00:0000:0000:0000:0001 或 ::1(简短版本)。虚拟物理接口被命名为 *LOOPBACK |
MTU |
链路的MTU 是特定链路类型(如以太网或调制解调器) 支持的最大字节数。对于 IPv4,最小值一般为 576 |
IPv6 的 MTU 下限为 1280 个字节,也就是说,IPv6不会在低于此极限时对信息包分段。要通过字节数小于 1280 的 MTU 链路发送 IPv6,链路层必须以透明的方式对 IPv6 信息包进行分段及合并 |
Netstat |
Netstat 是一个用于查看 TCP/IP 连接、接口或路由状态的工具。在使用 IBM Navigator for i 和字符界面时可用 |
同样支持 IPv6 |
网络地址转换(NAT) |
集成到 TCP/IP 中的基本防火墙功能,是使用 IBMNavigator for i 配置的 |
目前,NAT 不支持 IPv6。通常,IPv6 不需要 NAT。IPv6 扩展了地址空间,解决了地址短缺问题并使重新编号变得更加容易 |
网络表 |
IBM Navigator for i 上一个将网络名称与无掩码的 IP地址相关联的可配置表。例如,主机网络 14 与 IP 地址1.2.3.4 |
对于 IPv6,目前此表不变 |
节点信息查询 |
不存在 |
一种简易的网络工具,其工作方式应类似于 Ping,只是内容不同:IPv6 节点可查询目标 DNS 名称的另一个 IPv6 节点、IPv6 单点广播地址或 IPv4 地址。目前不支持 |
开放式最短路径优先协议 (OSPF) |
OSPF 是在优先于 RIP 的较大型自治系统网络中使用的路由器协议 |
同样支持 IPv6 |
信息包过滤 |
信息包过滤是集成到 TCP/IP 中的基本防火墙功能。它是通过 IBM Navigator for i 配置的 |
信息包过滤不支持 IPv6 |
描述 |
IPv4 |
IPv6 |
信息包转发 |
可将 IBM i TCP/IP 堆栈配置为转发其接收到的非本地IP 地址的 IP 信息包。通常,入站接口和出站接口各自连接到不同的 LAN |
信息包转发对 IPv6 的支持有限。IBM i TCP/IP 堆栈不支持作为路由器而执行的邻节点发现 |
Ping |
Ping 是测试可达性的基本 TCP/IP 工具。在使用 IBM Navigator for i 和字符界面时可用 |
同样支持 IPv6 |
点到点协议(PPP) |
PPP 支持基于各种调制解调器和线路类型的拨号接口 |
同样支持 IPv6 |
端口限制 |
IBM Navigator for i 允许用户配置已选择的 TCP 或用户数据报协议(UDP)端口号或端口号范围,以便只对特定概要文件可用 |
IPv6 的端口限制与 IPv4 的端口限制完全相同 |
端口 |
TCP 和 UDP 有 独 立 的 端 口 空 间, 分 别 由 范 围 为1~65 535 的端口号标识 |
对于 IPv6,端口的工作与 IPv4 相同。因为它们处于新地址系列,现在有 4 个独立的端口空间。例如,有应用程序可绑定的两个TCP 端口 80 空间,一个在 AF_INET中,另一个在 AF_INET6 中 |
专用地址和公用地址 |
除由IETF RFC1918 指定为专用的 3 个地址范围 10.*.*.* (10/8)、172.16.0.0 至 172.31.255.255(172.16/12) 和 192.168.*.*(192.168/16) 之外, 所有 IPv4 地址都是公用的。专用地址域通常在组织内部使用。专用地址不能通过因特网路由 |
IPv6 有类似的概念,但还有重要差别 |
地址是公用的或临时的,先前称为匿名地址。请参阅RFC3041。与 IPv4 专用地址不同,临时地址可进行全局路由。动机也不一样:IPv6 临时地址要在它开始通信时屏蔽其客户机的身份(涉及隐私)。临时地址的生存期有限,且不包含是链路(MAC)地址的接口标识。它们通常与公用地址没有区别 |
||
IPv6 具有受限地址作用域的概念,它由设计的作用域指定(请参阅地址作用域) |
描述 |
IPv4 |
IPv6 |
协议表 |
在 IBM Navigator for i 中,协议表是将协议名称与其分配的协议号关联(例如,将UDP 与17 关联)的可配置表。随系统交付的只有少量的项:IP、TCP、UDP 和 ICMP |
该表可与 IPv6 直接配合使用而不需要更改 |
QoS |
QoS 允许为 TCP/IP 应用程序请求信息包优先级和带宽 |
目前,通过 IBM i 实现的 QoS 不支持 IPv6 |
重新编号 |
重新编号通过手工重新配置完成,可能存在 DHCP的例外情况。通常,对于站点或组织,重新编号是应尽可能避免复杂且烦琐的过程 |
重新编号是 IPv6 的一个重要结构元素,特别是在 /48 前缀中已很大限度上实现自动化 |
路由 |
从逻辑上讲,是一组 IP 地址(可能只包含 1 个)的映射,这些 IP 地址映射为物理接口和单个下一中继段 IP地址。使用该线路将其目标地址定义为该组的一部分的 IP 信息包转发至下一中继段。IPv4 路由与 IPv4 接口关联,因此,它是一个 IPv4 地址 |
从概念上讲,与 IPv4 类似。一个重要的差别是:IPv6路由与物理接口(链路,如 ETH03)而不是接口相关联(绑定)。路由与物理接口相关联的一个原因是 IPv6与 IPv4 的源地址选择功能不同,具体请参阅源地址选择 |
缺省路由为 *DFTROUTE |
||
路由信息协议(RIP) |
RIP 是路由守护程序支持的路由协议 |
目前,RIP 不支持 IPv6 |
服务表 |
IBM i 上的一个可配置表,它将服务名称与端口和协议关联(例如,将服务名称 FTP 与端口 21、TCP及用户数据报协议(UDP)关联) |
对于 IPv6,此表不变 |
服务表中列出了大量众所周知的服务。许多应用程序使用此表来确定要使用哪个端口 |
||
简单网络管理协议(SNMP) |
SNMP 是一个用于系统管理的协议 |
同样支持 IPv6 |
描述 |
IPv4 |
IPv6 |
套接字API |
应用程序通过 API 来使用 TCP/IP。不需要 IPv6 的应用程序不受为支持 IPv6 所做的套接字更改的影响 |
IPv6 使用新的地址系列:AF_INET6 增强了套接字以便应用程序现在可使用 IPv6 |
设计了这些增强以便现有的 IPv4 应用程序完全不受IPv6 和 API 更改的影响。希望支持并发 IPv4 和 IPv6 通信或纯 IPv6 通信的应用程序可以容易地适应使用 IPv4 映射的 IPv6 地址格式 ::ffff:a.b.c.d,其中,a.b.c.d 是客户机的IPv4 地址 |
||
新的 API 还支持从文本至二进制及从二进制至文本的IPv6 地址转换 |
||
有关 IPv6 的套接字增强的更多信息, 请参阅使用 AF_ INET6 地址系列 |
||
源地址选择 |
应用程序可指定源 IP[通常,使用套接字bind()]。如果它绑定至 INADDR_ANY,就根据路由来选择源 IP |
与 IPv4 一样, 应用程序可使用 bind() 指定源 IPv6地址。和 IPv4 类似,它可通过使用 in6addr_any 让系统选择IPv6 源地址。但是,因为IPv6 线路有许多IPv6地址,所以选择源 IP 的内部方法不同 |
启动和停止 |
请使用 STRTCP 或 ENDTCP 命令来启动或结束 IPv4。当运行 STRTCP 命令来启动 TCP/IP 时,IPv4始终处于启动状态 |
请使用 STRTCP 或 ENDTCP 命令的 STRIP6 参数来启动或结束 IPv6。当 TCP/IP 已启动时,IPv6 可能未启动。稍后,可独立启动 IPv6 |
如果 AUTOSTART 参数设置为 *YES(缺省值),那么任何 IPv6 接口都会自动启动。IPv6 必须与 IPv4 配合使用或配置。当启动 IPv6 时,会自动定义并激活 IPv6回送接口 ::1 |
描述 |
IPv4 |
IPv6 |
Telnet |
Telnet 允许登录并使用远程计算机,就好像直接与其连接一样 |
同样支持 IPv6 |
跟踪路由 |
跟踪路由是进行路径确定的基本 TCP/IP 工具。在使用IBM Navigator for i 和字符界面时可用 |
同样支持 IPv6 |
传输层 |
TCP、UDP 和 RAW |
IPv6 中存在相同的传输 |
未指定地址 |
顾名思义,未定义的地址。套接字编程将 0.0.0.0 用作INADDR_ANY |
定义为 ::/128(128 个 0 位)。它在某些邻节点发现信息包和各种其他的上下文(如套接字)中用作源 IP。套接字编程将 ::/128 用作 IN6ADDR_ANY |
虚拟专用网络(VPN) |
VPN(使用 IPSec)允许在现有的公用网络上扩展安全的专用网络 |
同样支持 IPv6 |