[笔记]你必须得知道的关于ipv6的事

文章目录

  • 前言
  • 一、ipv6介绍
    • 1.1 背景
    • 1.2 对比ipv4
  • 二、IPv6
    • 2.1 地址格式
    • 2.2 单播 Unicast 地址
    • 2.3 可汇聚的全球地址
    • 2.4 Site-Local 地址
    • 2.5 Link-Local 地址
    • 2.6 与 IPv4 兼容的 IPv6 地址
    • 2.7 IPv6 地址类型: Anycast 地址
    • 2.8 IPv6 地址类型: 组播地址 Multicast
  • 常见问题
    • 1.ipv4 ping ipv6 不可通
    • 2.ssh 连接ipv6 连不上去
    • 3.ping本机ping不通
    • 4.windows ping命令和linux 命令不同
    • 5.ping6 ipv6 connect:network is unreachable
    • 6. 为什么ping ipv6+%网卡
  • 总结


前言

一、ipv6介绍

1.1 背景

IPv6 将网络地址位数从 32 位扩展到 128 位, 这代表着可以为地球上的任何需要联网的设备提供唯一确定的地址。正是因为有了全球范围内可确定的地址,IPv6 提供了全球范围内的地址可达,端到端的安全通信,以及对所有对地址有要求的应用和服务的支持。 除此之外,丰富的 IPv6 地址空间消除了网络中的 NAT(Network Address Translation)瓶颈,提高了网络效率。

1.2 对比ipv4

特点 优缺点
ipv4 1. 长度为32位,4段,每段8位 1.可分配ip有限为 2^32 -1
ipv6 1.长度为128位,8段,每段16位 1. 可分配ip数量为 2^128 - 1

二、IPv6

2.1 地址格式

由于 IPv6 的地址有 128 位长,比 32 位的 IPv4 地址表示起来复杂的多。目前,IPv6 的地址由一串 16 进制的数字表示,每 16 位之间用分号(:)隔开,格式如下:x:x:x:x:x:x:x:x.

下面是两个 IPv6 地址例子:

2001:0DB8:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A

通常情况下 IPv6 地址会包含连续的 0。为避免 IPv6 地址表示的复杂性,连续的 0 可缩写为两个冒号表示(::)。able1 lists IPv6 地址的缩写格式。

两个冒号可以用在 IPv6 地址的一部分。你可以在一个接口上配置多个地址,但只能一个 link-local 地址。注意两个冒号(::) 只能在 IPv6 地址中出现一次,只能代表最长的连续的 0。

2.2 单播 Unicast 地址

一个 IPv6 单播地址是用来标示一个网络节点的一个接口。一个数据包的目的地址是一个单播地址时,他将被送到以这个地址标示的网络接口。一个 IPv6 的路由器应支持下列单播地址类型:

Global aggregatable address:可汇聚的全球化地址。
Site-local address:区域内的地址 (proposal to remove by IETF)
Link-local address: 链路接口地址
IPv4-compatible IPv6 address: 兼容 IPv4 的地址

2.3 可汇聚的全球地址

一个可汇聚的全球地址是一个带有全球化的可汇聚的 IPv6 前缀的地址。 这种结构化的全球化的单播地址可以进行严格的路由前缀的汇聚,这样就可以大大减少整个路由表的路由条数,减少路由的复杂度。 可汇聚的全球 地址用来标示链路地址,可以进行多级的路由汇聚,一直到顶级的 Internet 服务提供商(ISPs).全球化的可汇聚的IPv6 地址被定义为全球化的路由前缀, 子网络号,和接口地址。除了以二进制 000 开始的地址, 所有的全球化的IPv6 单播地址都带有 64 位的接口地址。目前, 全球化的单播地址的分配范围从以二进制的 001 (2000::/3)开始。
IPv6基础知识详解IPv6基础知识详解

2.4 Site-Local 地址

一个 site-local 地址是一个带着前缀 FEC0::/10 和 16 位子网号加上 64 位的 EUI-64 格式的 IPv6 单播地址。Site-local 地址非常像 IPv4 中的私有地址空间 10.0.0.0/8;可以在一个区域内部进行路由的查找,而不需要全球化的唯一的地址前缀。 Site-local 地址可以被认为是私有地址,因为他只能在一个严格限制的区域内使用。
IPv6基础知识详解IPv6基础知识详解

2.5 Link-Local 地址

个 link-local 地址是一个带有 link-local 前缀 FE80::/10(1111 1110 10)的 IPv6 单播地址,他采用修改的 EUI-64 地址格式自动产生。 Link-local 地址可用于邻居发现协议(neighbor discovery protocol)和无状态自动配置进程。 在同一个链路上的节点可使用 link-local 地址来通信; 不需要 site-local 地址或全球化的单播地址。
IPv6基础知识详解IPv6基础知识详解

2.6 与 IPv4 兼容的 IPv6 地址

一个 IPv4 兼容的 IPv6 地址是一个高 96 位全 0 的,低 32 位为 IPv4 地址的 IPv6 单播地址。这种 IPv4 兼容的IPv6 地址可表示为 0:0:0:0:0:0:A.B.C.D 或::A.B.C.D. 整个 128 位的 IPv4 兼容的 IPv6 地址是将网络节点的 IPv4地址直接植入 IPv6 地址的低 32 位。IPv4 兼容的 IPv6 地址用来在运行 IPv4 和 IPv6 双栈时使用自动的隧道技术(tunnels)。
IPv6基础知识详解IPv6基础知识详解

2.7 IPv6 地址类型: Anycast 地址

一个 anycast 地址是一个属于多个网络节点的接口的 IPv6 的地址。一个以 anycast 地址为目的地址的数据包将被转发到最近的网络接口;接口的远近由路由的计算结果来确定。Anycast 地址从地址的结构上来说同单播地址是不可分的,因为 anycast 地址存在于单播地址的地址空间。但一个单播地址可以被超过一个网络接口接收时,他就是一个 anycast 地址。Anycast 地址需要在网络节点上明确定义:这个地址是一个 anycast 地址。

2.8 IPv6 地址类型: 组播地址 Multicast

一个前缀 FF00::/8(1111 1111)的 IPv6 地址就代表它是一个 IPv6 组播地址。一个数据包的目的地址为组播地址时,他将被复制转发到多个网络的接收者。组播地址前缀的第二个八进制数代表组播地址的范围。这个八进制数被分为两部分:前四位为 0000 代表是一个永久性的组播地址,前四位为 0001 代表是暂时的组播 地址;后四位代表组播范围,目前定义了 1, 2, 5, 8, or E,分别代表不同的组播范围。如 Figure6 所示。比如:组播地址的前缀为 FF02::/16 代表是一个永久性的组播地址,在链路范围。

常见问题

1.ipv4 ping ipv6 不可通

PS C:\Users\Administrator> ping -6 ipv6.baidu.com
Ping request could not find host ipv6.baidu.com. Please check the name and try again.

2.ssh 连接ipv6 连不上去

sshd_config 配置 ListenAddress :: 或者 AdressFamily

3.ping本机ping不通

记得加网卡地址
形如:

ping6 fe80::20c:29ff:fe94:f265%eth0

4.windows ping命令和linux 命令不同

windows:

ping -6 ipv6.baidu.com

linux:

ping6 ipv6.baidu.com

5.ping6 ipv6 connect:network is unreachable

  1. link-local地址,需要转为由路由器动态分配的ipv6地址,ipv6地址才能互相访问。
  2. VMware Workstation启用IPv6支持

6. 为什么ping ipv6+%网卡

在使用 SSH 连接到 IPv6 地址时,需要指定网卡名称(interface name)是因为一个主机可能会有多个网络接口(network interface),每个网络接口都有一个唯一的 IPv6 地址。如果不指定网卡名称,SSH 将无法确定要使用哪个IPv6地址进行连接。

使用 SSH 连接时,使用以下命令指定网卡名称:

ssh -6 [IPv6地址]%[网卡名称]

其中,[IPv6地址] 是要连接的 IPv6 地址,% 是分隔符,[网卡名称] 是指定的网络接口的名称。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了ipv6相关的坑

参考:
IPv6基础知识详解
关于 IPv6 你需要知道的 10 件事


关于博主

wx/qq:binary-monster/1113673178
CSDN:https://blog.csdn.net/qq1113673178
码云:https://gitee.com/shiver
Github: https://github.com/ShiverZm
个人博客:www.shiver.fun

你可能感兴趣的:(Linux,网络)