ITN 11-13

IPv4编址

地址结构

IPv4 地址为32位分层地址,由网络部分和主机部分两个部分组成。
IPv4 地址 - 这是主机的唯一 IPv4 地址。
子网掩码 - 用于标识 IPv4 地址的网络部分/主机部分。

  • IPv4 主机地址 (例192.168.10.10) -主机的 IPv4 地址,采用点分十进制和二进制格式。除了根据掩码的主机位全0位(这将是网络地址)或全1位(这将是广播地址)之外,主机地址在主机部分可以有任何位的组合。IPv4 将 224.0.0.0 到 239.255.255.255 的地址保留为组播范围(不可作为主机地址)。
  • 子网掩码 (例255.255.255.0) -主机的子网掩码,采用点分十进制和二进制格式。
  • 网络地址 (例192.168.10.0) -IPv4地址和子网掩码之间的逻辑AND运算产生一个点分十进制和二进制格式的IPv4网络地址。
    例中,主机地址 192.168.10.10 与子网掩码 255.255.255.0 (/24) 之间的 AND运算会产生 IPv4 网络地址为192.168.10.0/24。
    子网掩码与IP地址相结合用于确定设备属于哪个子网

IPv4 单播、广播和组播

单播

单播传输是指在一对一通信中,一个设备向另一个设备发送消息。
IPv4 单播主机地址的地址范围是 1.1.1.1到 223.255.255.255。不过,此范围中的很多地址被留作特殊用途。这些特殊用途的地址将在本模块后续部分讨论。

广播

广播播传输是指设备在一对多通信中,向网络上的所有设备发送消息。
广播数据包以32个1位或主机部分全部为 1 的地址作为目的 IP地址。
除了 255.255.255.255 的广播地址外,每个网络还有一个广播 IPv4 地址。这个地址称为定向广播,它使用网络范围内的最大地址,即所有主机位全部为 1 的地址。例如,网络192.168.1.0/24的定向广播地址是192.168.1.255。

组播

主机通过组播传输可以向所属组播组中的选定主机组发送一个数据包,从而减少了流量。
组播数据包是一个目的IP地址为组播地址的数据包。IPv4 将 224.0.0.0 到 239.255.255.255 的地址保留为组播范围。
接收特定组播数据包的主机称为组播客户端。组播客户端使用客户端程序请求的服务来加入组播组。
每个组播组由一个 IPv4 组播目的地址代表。当 IPv4 主机加入组播组后,该主机既要处理目的地址为此组播地址的数据包,也要处理发往其唯一单播地址的数据包。

IPv4 地址的分类

公有 IPv4 地址是能在 ISP(互联网运营商)路由器之间全局路由的地址。但是,并非所有可用的 IPv4 地址都可用于互联网。大多数组织使用称为私有地址的地址块向内部主机分配 IPv4 地址。
由于 IPv4 地址空间耗尽,引入了私有 IPv4 地址。私有 IPv4 地址并不是唯一的,可以在任何网络内部使用它。
| 网络地址和前缀 | RFC 1918 私有地址范围 |
| — | — |
| 10.0.0.0/8 | 10.0.0.0 - 10.255.255.255 |
| 172.16.0.0/12 | 172.16.0.0 - 172.31.255.255 |
| 192.168.0.0/16 | 192.168.0.0 - 192.168.255.255 |

私有 IPv4 地址和网络地址转换 (NAT)

在 ISP(Internet Service Provider 互联网服务提供商)可以转发此数据包之前,它必须使用网络地址转换 (NAT) 将源 IPv4 地址(即私有地址)转换为公有 IPv4 地址。NAT用于转换私有和公有 IPv4 地址。这通常是在将内部网络连接到 ISP 网络的路由器上完成。在路由到互联网之前,组织内部网中的私有 IPv4 地址将被转换为公有 IPv4 地址。

专用 IPv4 地址

一些地址,比如网络地址和广播地址不能分配给主机。还有些特殊地址可以分配给主机,但这些主机在网络内的交互方式却受到限制。

环回地址

环回地址(127.0.0.0 /8 或 127.0.0.1 到 127.255.255.254)通常仅被标识为127.0.0.1,主机使用这些特殊地址将流量指向其自身。

本地链路地址

本地链路地址(169.254.0.0 /16 或 169.254.0.1 至 169.254.255.254)通常称为自动私有 IP 编址 (APIPA) 地址或自分配地址。 当没有可用的DHCP服务器时,Windows DHCP客户端使用它们进行自我配置。本地链路地址可以用于点对点连接,但通常不用于此目的。

IP 地址的分配

IPv4 和 IPv6 地址是通过互联网编号指派机构 (IANA) 管理的。IANA 管理并向地区性互联网注册机构 (RIR) 分配 IP 地址块。

  • AfriNIC (非洲网络信息中心) - 非洲地区
  • APNIC (亚太网络信息中心) - 亚太地区
  • ARIN (美洲互联网号码注册管理机构) - 北美地区
  • LACNIC (拉丁美洲及加勒比互联网地址注册管理机构) - 拉丁美洲和部分加勒比海岛屿
  • RIPE NCC (欧洲 IP 地址注册中心) - 欧洲、中东和中亚
    RIR 的职责是向 ISP 分配 IP 地址,而 ISP 将向组织和更小的 ISP 提供 IPv4 地址块。根据 RIR 的政策规定,组织也可直接从 RIR 获取地址。

网络分段

广播域和分段

在以太网局域网中,设备使用广播和地址解析协议 (ARP) 来定位其他设备。地址解析协议 (ARP)将第 2 层广播发送到本地网络上的已知 IPv4 地址,以发现相关 MAC 地址。以太网局域网上的设备还可以使用服务定位其他设备。主机通常需要使用动态主机配置协议 (DHCP) 来获取 IPv4 地址配置,这会发送本地网络上的广播来定位 DHCP 服务器。
交换机会将广播传播到所有接口,接收它的接口除外。
路由器不传播广播。
因此,每个路由器接口都连接了一个广播域,而广播只能在特定广播域内传播。

大型广播域存在的问题与子网划分

大型广播域是连接很多主机的网络。大型广播域的一个问题是这些主机会生成太多广播,这会对网络造成不良影响。在图中,局域网1 连接了 400 个用户,可能会产生过量的广播流量。这会导致网络操作速度缓慢,因为它会导致大量的流量,而设备操作变慢是因为设备必须接受和处理每个广播数据包。

解决方案是使用称为子网划分的过程缩减网络的规模以创建更小的广播域。这些较小的网络空间通常称为“子网”。
子网划分可以降低整体网络流量并改善网络性能。它也能让管理员实施安全策略,例如哪些子网允许或不允许进行通信。另一个原因是,它减少了由于错误配置、硬件/软件问题或恶意意图而受到异常广播流量影响的设备数量。

IPv4 网络的子网

创建 IPv4 子网时会将一个或多个主机位作为网络位。具体做法是延长子网掩码,从地址的主机部分借用若干位来增加网络位。借用的主机位越多,可以定义的子网也就越多。为了增加子网数量而借用的位越多,每个子网的主机数量就越少。

VLSM(Variable Length Subnetwork Mask 可变长子网掩码)

并不是您创建的每个子网都需要这么多主机,这会导致许多IPv4地址未被使用。也许您需要一个包含更多主机的子网。这就是开发可变长子网掩码 (VLSM) 的原因。

所有子网都使用相同的子网掩码。这意味着每个子网有相同数量的可用主机地址。如图左边所示,传统子网划分可以创建大小相等的子网。传统方案中每个子网都使用相同的子网掩码。如图右边所示,VLSM 使网络空间能够分为大小不等的部分。使用 VLSM,子网掩码将根据特定子网所借用的位数而变化,从而成为 VLSM 的“变量”部分。
使用 VLSM 子网,可以为 LAN 和路由器之间网段提供地址,而不产生不必要浪费。

提示


n=子网掩码-网络掩码
2^n=子网数
2^(32-网络掩码-n)-2=主机数
子网数*(主机数+2)=2^(32-网络掩码)
例:
网络管理员将 192.168.10.0/24 网络划分成带 /26 子网掩码的子网。会创建4个相同大小的子网,每个子网可有62台主机
2=子网掩码-网络掩码=26-24
2^2=子网数=4
2^(32-网络掩码-n)-2=2^(8-2)-2=主机数=62
子网数*(主机数+2)=4*(62+2)=2^(32-网络掩码)=2^(32-24)

减二因为最低位(后面全是0)用于表示主机号,最高位(后面全是1)用于表示广播地址

DMZ:Demilitarized Zone 隔离区

IPv6编址

IPv6 旨在接替 IPv4。IPv6 拥有更大的 128 位地址空间,提供 340 涧(即,340后面有36个0)个不确定地址。IETF 已经创建了各种协议和工具来协助网络管理员将网络迁移到 IPv6。迁移技术可分为三类:

  • 双堆栈-双堆栈允许 IPv4 和 IPv6 在同一网段上共存。双堆栈设备同时运行 IPv4 和 IPv6 协议栈。称为原生 IPv6
  • 隧道-隧道是一种通过 IPv4 网络传输 IPv6 数据包的方法。
  • 转换-网络地址转换 64 (NAT64) 允许支持 IPv6 的设备与支持 IPv4 的设备使用类似于 IPv4 中 NAT 的转换技术进行通信。IPv6 数据包被转换为 IPv4 数据包,IPv4 数据包被转换为 IPv6 数据包。

IPv6 地址表示方法

书写 IPv6 地址的首选格式为 x:x:x:x:x:x:x:x,每个“x”均包括四个十六进制值。

  • 第一条有助于缩短 IPv6 地址记法的规则是省略十六进制数中的所有前导 0(零)
  • 第二条有助于缩短 IPv6 地址记法的规则是使用双冒号 (::) 替换任何由一个或多个全由 0 组成的16 位十六进制数组成的连续字符串
  • 双冒号 (::) 仅可在每个地址中使用一次,否则可能会得出一个以上的地址。

IPv6 地址类型

IPv6 地址三大类

  • 单播 - IPv6 单播地址用于唯一标识支持 IPv6 的设备上的接口。
  • 组播 - IPv6 组播地址用于将单个 IPv6 数据包发送到多个目的地。
  • 任播 -IPv6 任播地址是可分配到多个设备的 IPv6 任播地址。发送至任播地址的数据包会被路由到最近的拥有该地址的设备。
    与 IPv4 不同,IPv6 没有广播地址。但是,IPv6 具有 IPv6 全节点组播地址,这在本质上与广播地址的效果相同。

IPv6 前缀长度

在 IPv4 中,/24 称为前缀。在 IPv6 中,它被称为前缀长度。IPv6 不使用点分十进制子网掩码记法(如255.255.255.0)。与IPv4一样,前缀长度以斜线记法表示,用于表示 IPv6 地址的网络部分。
强烈建议对大多数网络使用 64 位接口 ID。这是因为无状态地址自动配置(SLAAC)使用64位作为接口ID。它还使子网划分更易于创建和管理。

IPv6 单播地址


IPv6地址通常有两个单播地址:

  • 全局单播地址(GUA) - 这类似于公有 IPv4 地址。这些地址具有全局唯一性,是互联网可路由的地址。GUA可静态配置或动态分配
  • 链路本地地址 (LLA) -这对于每个支持ipv6的设备都是必需的。LLA用于与同一链路中的其他设备通信。在 IPv6 中,术语“链路”是指子网。LLA仅限于单个链路。它们的唯一性仅在该链路上得到保证,因为它们在该链路之外不具有可路由性。换句话说,路由器不会转发具有本地链路源地址或目的地址的数据包。

唯一本地地址

(范围 fc00:: /7 到 fdff:: /7)
IPv6 唯一本地地址与 IPv4 的 RFC 1918 私有地址具有相似之处,但是也有着重大差异。

  • 唯一本地地址用于一个站点内或数量有限的站点之间的本地编址。
  • 唯一本地地址可用于从来不需要访问其他网络的设备。
  • 唯一本地地址不会全局路由或转换为全局 IPv6 地址。

IPv6 全局单播地址 (GUA)

IPv6 全局单播地址 (GUA) 具有全局唯一性,可在 IPv6互联网上路由。这些地址相当于公有 IPv4 地址。互联网名称与数字地址分配机构 (ICANN),即 IANA 的运营商,将 IPv6 地址块分配给五家 RIR。目前分配的仅是前三位为 001 或 2000::/3 的全局单播地址(GUA)
注意: 2001:db8::/32已经留作备档之用,包括示例用途。
下图显示了 GUA 的结构和范围。

带有 /48 全局路由前缀和 /64 前缀的 IPv6 地址

GUA 有三个部分:

全局路由前缀

全局路由前缀为提供商(如 ISP)分配给客户或站点的地址的前缀或网络部分。例如,ISP 通常会为其客户分配 /48 全局路由前缀。
例如,IPv6 地址2001:db8:acad::/48 的全局路由前缀,该前缀表示ISP知道该前缀(网络)的方式是前48位(3个十六进制数)(2001:db8:acad)。/48 前缀长度后面的双冒号 (::) 表示地址的剩余部分全部为 0。全局路由前缀的大小决定子网 ID 的大小。

子网 ID

子网ID字段是全局路由前缀和接口ID之间的区域。与IPv4不同,在IPv4中您必须从主机部分借用位来创建子网,IPv6在设计时考虑到了子网。组织使用子网 ID 确定其站点的子网。子网 ID 越大,可用子网越多。
使用典型的/64前缀长度,前四个十六进制数是地址的网络部分,其中第四个十六进制数表示子网 ID。剩下的四个十六进制数用于接口 ID。

接口 ID

IPv6 接口 ID 相当于 IPv4 地址的主机部分。使用术语“接口 ID”是因为单个主机可能有多个接口,而每个接口又有一个或多个 IPv6 地址。
/64 子网或前缀(全局路由前缀 + 子网 ID)为接口 ID 留下 64 位。建议允许启用 SLAAC 的设备创建自己的 64 位接口 ID。它还使得 IPv6 编址计划的开发变得简单而有效。

IPv6 链路本地地址 (LLA)

IPv6 链路本地地址(LLA)允许设备与同一链路上支持 IPv6 的其他设备通信,并且只能在该链路(子网)上通信。具有源或目的LLA的数据包不能在数据包的源链路之外进行路由。
GUA 不是一项要求。但是,每个启用 IPv6 的网络接口都必须有 LLA。
如果没有手动为接口配置LLA,设备会在不与 DHCP 服务器通信的情况下自动创建自己的地址。支持 IPv6 的主机会创建 IPv6 LLA,即使没有为该设备分配 IPv6 全局单播地址。这允许支持 IPv6 的设备与同一子网中的其他支持 IPv6 的设备通信。这包括与默认网关(路由器)的通信。
IPv6 LLAs在fe80::/10范围内。/10 表示前 10 位是 1111 1110 10xx xxxx。第一个十六进制数的范围是 1111 1110 1000 0000 (fe80) 到 1111 1110 1011 1111 (febf)。
设备可以通过两种方式获取 LLA:

  • 静态 -这意味着设备已手动配置。
  • 动态 -这意味着设备通过使用随机生成的值或使用扩展唯一标识符 (EUI) 方法创建自己的接口 ID,该方法使用客户端 MAC 地址和其他位。

注意: 通常情况下,用作链路上其他设备的默认网关的是路由器的LLA而不是GUA。

GUA 和 LLA 静态配置

在 思科IOS 中,大多数 IPv6 的配置和验证命令与 IPv4 的相似。在多数情况下,唯一区别是命令中使用“ipv6”取代“ip”

1
2
3
4
5
6
7
8
9
10
11
12
13
使用以下地址在千兆以太网 0/0/0 接口上配置并激活 IPv6:
R1(config)#interface g0/0/0
将 g0/0/0 作为接口名称
R1(config-if)#ipv6 address fe80::1:1 link-local
设置LLA为fe80::1:1注意加“link-local”
R1(config-if)#ipv6 address 2001:db8:acad:1::1/64
设置GUA为2001:db8:acad:1::1/64
R1(config-if)#no shutdown
激活接口
%LINK-3-UPDOWN: Interface GigabitEthernet0/0/0, changed state to up
显示已开启
R1(config-if)#exit
退出接口配置模式
1
2
3
4
5
6
7
8
9
10
11
12
13
使用以下地址在串行 0/1/0 接口上配置并激活 IPv6:
R1(config)#interface s0/1/0
将 s0/1/0 作为接口名称
R1(config-if)#ipv6 address fe80::3:1 link-local
设置LLA为fe80::3:1注意加“link-local”
R1(config-if)#ipv6 address 2001:db8:acad:3::1/64
设置GUA为2001:db8:acad:3::1/64
R1(config-if)#no shutdown
激活接口
%LINK-3-UPDOWN: Interface Serial0/1/0, changed state to up
显示已开启
R1(config-if)#exit
退出接口配置模式

GUA动态编址

RS and RA 消息

大多数设备会动态获取其 IPv6 GUA。
对于 GUA,设备通过 Internet 控制消息协议版本 6 (ICMPv6) 消息动态获取地址。IPv6 路由器每 200 秒定期将 ICMPv6 RA 消息发送到网络上所有支持 IPv6 的设备。在响应发送 ICMPv6 路由器请求 (RS) 消息的主机时,也会发送 RA 消息,RS消息是对RA消息的请求。

为路由器启用 IPv6 路由,这在默认情况下是不启用的。若要将路由器启用为 IPv6 路由器,必须使用 ipv6 unicast-routing 全局配置命令。
ICMPv6 RA 消息提示设备获取 IPv6 GUA的方式。最终决定取决于设备的操作系统。ICMPv6 RA 消息包括以下:

  • 网络前缀和前缀长度 – 这会告知设备其所属的网络。
  • 默认网关 – IPv6 LLA,RA 消息的源 IPv6 地址。
  • DNS 地址和域名 – 这些是DNS 服务器的地址和域名。
    RA 消息有三种方法:

方法 1:SLAAC(Stateless address auto-configuration,无状态地址自动配置)

SLAAC是一种允许设备在没有DHCPv6服务的情况下创建自己的GUA的方法。使用 SLAAC,设备根据本地路由器的 ICMPv6 路由器通告 (RA) 消息获取必要信息。
默认情况下,RA 消息会提示接收设备使用 RA 消息中的信息创建其自己的 IPv6 GUA及其他必要信息。DHCPv6 服务器的服务不是必需项。
SLAAC 是无状态的,也就是说没有中央服务器(例如有状态DHCPv6 服务器)来分配GUA和维持设备及其地址的清单。借助 SLAAC,客户端设备使用 RA 消息中的信息创建其自己的GUA。
地址的两部分生成如下:

  • 前缀 -这是在 RA 消息中通告的。
  • 接口 ID -使用 EUI-64 流程或通过生成一个随机 64 位数字产生,取决于设备的操作系统。
    enter description here

方法 2:SLAAC 和无状态 DHCPv6(Dynamic Host Configuration Protocol动态主机配置协议)

路由器的接口可配置为使用 SLAAC 和无状态 DHCPv6 或仅使用有状态 DHCPv6 发送路由器通告。
如图所示,使用此方法,RA 消息建议设备使用以下内容:

  • SLAAC创建自己的IPv6 GUA
  • 路由器LLA,是RA源IPv6地址,作为默认网关地址
  • 使用无状态 DHCPv6 服务器获取其他信息,例如 DNS 服务器地址和域名。
  • 注意*: 使用无状态 DHCPv6 服务器分配 DNS 服务器地址和域名。它不分配 GUA。
    enter description here

方法 3:有状态的DHCPv6

路由器接口可以配置为仅使用有状态的DHCPv6发送RA。
有状态 DHCPv6 与 IPv4 的 DHCP 相似。设备可以从有状态 DHCPv6 服务器自动接收编址信息,包括GUA、前缀长度和 DNS 服务器地址。
如图所示,使用此方法,RA 消息建议设备使用以下内容:

  • 路由器LLA,是RA源IPv6地址,作为默认网关地址。
  • 使用有状态 DHCPv6 服务器获取GUA、DNS 服务器地址、域名和其他必要信息。
    enter description here
    使用有状态 DHCPv6 服务器分配并维持哪台设备接收哪个 IPv6 地址的清单。IPv4 的 DHCP 是有状态的。
  • 注意:* 默认网关地址仅可从 RA 消息中动态获取。无状态或有状态 DHCPv6 服务器均不提供默认网关地址。

EUI-64 流程和随机生成

当 RA 消息为 SLAAC 或 SLAAC 和无状态 DHCPv6 时,客户端必须生成自己的接口 ID。客户端从 RA 消息中获知地址的前缀部分,但必须创建自己的接口 ID。如图所示,接口 ID 可使用 EUI-64 流程或随机生成的 64 位数字创建。

IEEE 定义了扩展唯一标识符 (Extended Unique Identifier) 或修改的 EUI-64 流程。该流程使用客户端的 48 位以太网 MAC 地址,并在该 48 位 MAC 地址的中间插入另外 16 位来创建 64 位接口 ID。
以太网 MAC 地址一般使用十六进制表示,由两部分组成:

  • **组织唯一标识符 (OUI) **- OUI 为 IEEE 分配的 24 位(6 个十六进制数字)厂商代码。
  • 设备标识符 - 设备标识符是通用 OUI 内的唯一 24 位(6 个十六进制数字)值。
    EUI-64 接口 ID 以二进制表示,共分三个部分:
  • 客户端 MAC 地址的 24 位 OUI,但是第 7 位(通用/本地 (U/L) 位)颠倒。这意味着,如果第 7 位是 0,则它会变为 1,反之亦然。U/L 位的用途和该位值的翻转原因会在 RFC 5342 中讨论。
  • 插入的 16 位值 fffe(十六进制)。
  • 客户端 MAC 地址的 24 位设备标识符。

    EUI-64 优势在于可以使用以太网 MAC 地址确定接口 ID。这也允许网络管理员使用唯一 MAC 地址轻松跟踪终端设备的 IPv6 地址。

然而,这引起了许多用户的隐私担忧,他们担心自己的数据包可能会被追踪到实际的物理计算机。出于这些顾虑,可以转而使用随机生成的接口 ID。
根据操作系统,设备可以使用随机生成的接口 ID,而不使用 MAC 地址和 EUI-64 流程。从 Windows Vista 开始,Windows 使用随机生成的接口 ID,而不是 EUI-64 创建的接口 ID。Windows XP 和之前的 Windows 操作系统均使用 EUI-64。
注意:为确保任何 IPv6 单播地址的唯一性,客户端可以使用重复地址检测 (DAD) 流程。这与 ARP 请求其地址的流程相似。如该请求没有响应,则地址是唯一的。

LLA动态编址

所有 IPv6 设备都必须有 IPv6 LLA。与 IPv6 GUA一样,您也可以动态创建 LLA。无论您如何创建LLA(和GUA),重要的是要验证所有IPv6地址配置。
使用fe80::/10 前缀和通过 EUI-64 流程或随机生成的 64 位数字创建的接口 ID 动态创建LLA。

Windows上的动态LLA

操作系统,如Windows,通常会对SLAAC创建的GUA和动态分配的LLA使用相同的方法(EUI-64 生成、随机生成)

思科路由器上的动态LLA

当为接口分配GUA时,思科路由器会自动创建 IPv6 LLA。默认情况下,思科 IOS 路由器使用 EUI-64 为 IPv6 接口上的所有LLA生成接口 ID。对于串行接口,路由器会使用以太网接口的 MAC 地址。回想一下,LLA在该链路或网络上必须具有唯一性。但是,使用动态分配的LLA的缺点在于其接口 ID 较长,因此很难识别并记住分配的地址。示例显示了路由器 R1 千兆以太网0/0/0 接口的 MAC 地址。该地址用于在同一接口上动态创建LLA,也用于串行0/1/0接口。
为了更容易在路由器上识别和记忆这些地址,通常要在路由器上静态配置 IPv6 LLA。

命令

show ipv6 interface brief 命令会显示以太网接口的 MAC 地址。EUI-64 使用此 MAC 地址生成LLA的接口 ID。此外,show ipv6 interface brief 命令用于显示各个接口的缩略输出。与接口位于同一行的 [up/up] 输出指示第 1 层/第 2 层接口状态。这与等效的 IPv4 命令的状态和协议列相同。
show ipv6 route 命令可用于检验 IPv6 网络和特定 IPv6 接口地址已添加到 IPv6 路由表中。该 show ipv6 route 命令将仅显示 IPv6 网络,而不显示 IPv4 网络。
IPv6 的 ping 命令和 IPv4 中这条命令的用法相同,只不过后接使用的是 IPv6 地址。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
输入显示 IPv6 接口状态摘要的 show 命令。
R1#show ipv6 interface brief
GigabitEthernet0/0/0 [up/up]
FE80::1:1
2001:DB8:ACAD:1::1
GigabitEthernet0/0/1 [up/up]
FE80::2:1
2001:DB8:ACAD:2::1
Serial0/1/0 [up/up]
FE80::3:1
2001:DB8:ACAD:3::1
Serial0/1/1 [down/down]
unassigned
GigabitEthernet0 [administratively down/down]
unassigned
验证从R1到PC2在2001:db8:acad:1::10的连接性。
R1#show ipv6 route
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP
H - NHRP, I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
IS - ISIS summary, D - EIGRP, EX - EIGRP external, NM - NEMO
ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2, la - LISP alt
lr - LISP site-registrations, ld - LISP dyn-eid, a - Application
C 2001:DB8:ACAD:1::/64 [0/0]
via GigabitEthernet0/0, directly connected
L 2001:DB8:ACAD:1::1/128 [0/0]
via GigabitEthernet0/0, receive
C 2001:DB8:ACAD:2::/64 [0/0]
via GigabitEthernet0/1, directly connected
L 2001:DB8:ACAD:2::1/128 [0/0]
via GigabitEthernet0/1, receive
C 2001:DB8:ACAD:3::/64 [0/0]
via Serial0/0/1, directly connected
L 2001:DB8:ACAD:3::1/128 [0/0]
via Serial0/0/1, receive
L FF00::/8 [0/0]
via Null0, receive

R1#ping 2001:db8:acad:1::10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:ACAD:1::10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
您已成功验证 IPv6 地址配置。

IPv6 组播地址

IPv6 组播地址类似于 IPv4 组播地址。回想一下,组播地址用于发送单个数据包到一个或多个目标(组播组)。IPv6 组播地址的前缀为ff00::/8。
IPv6 组播地址分为两种类型:

  • 知名组播地址
  • 请求节点组播地址

知名组播地址

已分配的知名IPv6 组播地址。分配的组播地址是为预先定义的设备组保留的组播地址。
这些是两种常见的 IPv6 分配组播组:

  • ff02::1全节点组播组 -这是一个包含所有支持 IPv6 的设备的组播组。发送到该组的数据包由该链路或网络上的所有 IPv6 接口接收和处理。这与 IPv4 中的广播地址具有相同的效果。
  • ff02::2:全路由器组播组 - 这是所有IPv6路由器加入的组播组。当在IPv6路由器全局模式下启用ipv6 unicast-routing命令后,该路由器即成为该组的成员。发送到该组的数据包由该链路或网络上的所有 IPv6 路由器接收和处理。

请求节点组播地址

请求节点组播地址类似于全节点组播地址(ff02)。请求节点组播地址的优势在于它被映射到特殊的以太网组播地址。这使得以太网网卡可以通过检查目的 MAC 地址过滤该帧,而不是将它发送给 IPv6 流程来判断该设备是否是 IPv6 数据包的既定目标。

IPv6 网络的子网划分

使用IPv4时,我们必须从主机部分借用位来创建子网。这是因为对IPv4来说,子网划分是事后才想到的。但是,IPv6 的设计考虑到了子网划分。IPv6 GUA中的一个单独的子网ID字段用于创建子网。如图所示,子网ID字段是全局路由前缀和接口ID之间的区域。

128 位地址的好处在是,它可以为每个网络支持足够多的子网并为每个子网支持足够多的主机。地址保留不是问题。

  • 16 位子网 ID -创建多达 65,536 个子网
  • 64 位接口 ID -每个子网支持多达 1800亿亿个主机 IPv6 地址(即 18,000,000,000,000,000,000)

配置命令

1
2
3
4
5
6
7
8
9
10
11
R1(config)# interface gigabitethernet 0/0/0
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface gigabitethernet 0/0/1
R1(config-if)# ipv6 address 2001:db8:acad:2::1/64
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# interface serial 0/1/0
R1(config-if)# ipv6 address 2001:db8:acad:3::1/64
R1(config-if)# no shutdown

命令ping ::1用于测试IPv6主机的内部配置
::1 是一个环回地址。成功地ping到这个地址意味着正确地安装了TCP/IP堆栈。

ICMP

ICMP 消息

虽然 IP 只是“尽最大努力”的协议,但在与另一个IP设备通信时,TCP/IP套件确实提供了错误消息和参考消息。这些消息使用 ICMP 服务发送。其用途是就特定情况下处理 IP 数据包的相关问题提供反馈,而并非是使 IP 可靠。ICMP 消息并非必需的,而且在网络内通常出于安全原因而被禁止。
ICMP 可同时用于 IPv4 和 IPv6。ICMPv4 是 IPv4 的消息协议。ICMPv6 为 IPv6 提供相同的服务,此外,还包括其他功能。在本课程中,涉及 ICMPv4 和 ICMPv6 时均会使用术语 ICMP。
ICMP 消息的类型及其发送原因非常多。ICMPv4 和 ICMPv6 通用的 ICMP 消息包括:

主机联通性

ICMP Echo消息可用于测试 IP 网络上主机的可达性。

目的地或服务不可达

当主机或网关收到无法传送的数据包时,它会使用 ICMP 目的地不可达消息通知源主机,目的地或服务无法到达。消息包括指示数据包为何无法传送的代码。
ICMPv4 的目的地不可达代码示例有:

  • 0 - 网络不可达。
  • 1 - 主机不可达。
  • 2 - 协议不可达。
  • 3 - 端口不可达。

ICMPv6 的目的地不可达代码示例有:

  • 0-没有通往目标的路由。
  • 1-管理上禁止与目的地通信(例如防火墙)
  • 2-超出源地址的范围
  • 3-地址无法访问
  • 4-端口不可达。
  • 注意*: ICMPv6 的目的地不可达消息代码与此类似,但稍有不同。

超时

路由器使用 ICMPv4 超时消息表明,因为数据包的生存时间 (TTL) 字段递减到 0 而不能转发该数据包。如果路由器接收数据包并且将 IPv4 数据包的 TTL 字段的值递减为零,则它会丢弃数据包并向源主机发送超时消息。
如果路由器因数据包过期而无法转发 IPv6 数据包,ICMPv6 也会发送超时消息。ICMPv6使用IPv6跳数限制字段来确定数据包是否已过期,而不是IPv4 TTL字段。

ICMPv6 (特有)消息

在 ICMPv6 中发现的信息和错误消息非常类似于 ICMPv4 的控制和错误消息。但是,ICMPv6 拥有 ICMPv4 中所没有的新特性和功能提升。ICMPv6 消息封装在 IPv6 中。
ICMPv6 在邻居发现协议(ND 或 NDP)中包括四个新协议。
IPv6 路由器和 IPv6 设备之间的消息传递,包括动态地址分配如下所示:

  • 路由器请求 (RS) 消息-RS消息是对RA消息的请求。一个IPv6主机启动后将发送一个RS。
  • 路由器通告 (RA) 消息-启用IPv6的路由器每200秒发送RA消息,向启用IPv6的主机提供编址信息。RA 消息中可以包含主机的编址信息,例如前缀、前缀长度、DNS 地址和域名。使用 SLAAC 的主机会将其默认网关设置为发送 RA 的路由器的本地链路地址。
    IPv6 设备之间的消息传递,包括重复的地址检测和地址解析如下所示:
  • 邻居请求 (NS) 消息-当设备分配有全局IPv6单播或本地链路单播地址时,则建议对地址执行 重复检测(DAD) 来确保IPv6地址的唯一性。如果网络中的其他设备具有该地址,则会使用 NA 消息进行响应。此 NA 消息通知发送方设备地址已在使用。如果回应的 NA 消息未在固定的一段时间返回,则单播地址是唯一的,可以使用。
  • 邻居通告 (NA) 消息-当 LAN 上的设备知道目的 IPv6 单播地址,但不知道其以太网 MAC 地址时,会使用地址解析。要确定目的 MAC 地址,设备会将 NS 消息发送到请求节点地址。该消息包括已知(目标)IPv6 地址。具有目标 IPv6 地址的设备会使用包含其以太网 MAC 地址的 NA 消息进行回应。
  • 注意*: ICMPv6 ND 还包括重定向消息,与 ICMPv4 中使用的重定向消息功能相似。

Ping 和 Traceroute 测试

Ping

Ping 是一种测试程序,它使用 ICMP Echo请求和Echo应答消息来测试主机之间的连接。
为了测试与网络上的另一台主机的连接,可使用 ping 命令将回应请求发送给该主机地址。若指定地址处的主机收到回应请求,便会使用Echo应答进行响应。每收到一个Echo应答,ping都会提供发出请求与收到应答的时间反馈。这可以作为网络性能的度量。
Ping 对响应规定了超时值。如果在超时前没有收到应答,ping 会提供一条消息,表示未收到响应。这可能表示存在问题,但是,还可能表示在网络上启用了阻止 ping 消息的安全功能。如果在发送ICMP Echo请求之前需要执行地址解析(ARP或ND),那么第一次ping通常会超时。
所有请求发送完毕后,ping实用程序会提供摘要,包括成功率和到达目的地的平均往返时间。

在路由器上输入 ping 命令时,最常见的指示符如下所示:

  • ! - 表示收到一个 ICMP Echo 应答消息
  • . - 表示超时,正在等待 ICMP Echo应答消息
  • U - 表示收到了一个 ICMP 无法到达的消息

使用ping进行的连通性测试的类型包括:

  • Ping 本地环回-从 127.0.0.1 接收的 IPv4 响应或从 ::1 接收的 IPv6 响应,表示主机上的 IP 安装正确。此响应来自网络层。但是,此响应并不代表地址、掩码或网关配置正确。它也不能说明有关网络协议栈下层的任何状态。它只测试 IP 网络层的 IP 连接。如果收到错误消息,则表示该主机上的 TCP/IP 无法正常运行。
  • 向默认网关发出 ping 命令-成功 ping通网关表示主机和充当网关的路由器接口在本地网络中均运行正常。
  • Ping 远程主机-如果 ping 成功,则说明网际网络大部分运行正常。在互联网络上成功 ping通即确认本地网络上的通信正常,充当网关的路由器运行正常,且可能位于本地网络和远程主机网络之间路径上的所有其他路由器运行正常。

Traceroute

Ping 用于测试两台主机之间的连接,但是不提供关于主机之间设备的详细信息。Traceroute tracert实用程序可以生成通信路径上成功到达的设备列表。此列表可以提供重要的验证和故障排除信息。如果数据到达目的地,则 Trace 就会列出主机之间的路径中每台路由器上的接口。如果数据在沿途的某一跳上失败,则回应 Trace 的最后一个路由器的地址可以提供指示,说明发现问题或有安全限制的地方。
往返时间
Traceroute 可提供沿路径每一跳的往返时间并指示是否有某一跳未响应。往返时间是数据包到达远程主机以及从该主机返回响应所花费的时间。星号 * 用于表示丢失的或无应答的数据包。
此信息可用于在路径中定位有问题的路由器,或表示路由器配置为不应答。如果显示器显示特定的某一跳响应时间长或数据丢失,这表示该路由器的资源或其连接可能压力过大。
IPv4 TTL 和 IPv6 跳数限制
Traceroute 使用第 3 层报头中的 IPv4 TTL 字段功能和 IPv6 跳数限制字段功能以及 ICMP 超时消息。

---------------THEEND---------------