The zone ID is used to distinguish ambiguous link-local and site-local addresses.

Unique local IPv6 unicast addresses are another way to address the problem of ambiguous IPv6 addresses.

In the last post of this IPv6 tutorial, I introduced link-local and site-local IPv6 addresses.

The problem with local-use unicast addresses is that they are not unique because they can be reused.

Everything is fine as long as duplicate addresses are in networks of different organizations (sites).

However, within in an organization, local-use addresses can also be assigned multiple times.

IPv6 zone ID

Nic is short for Network Interface Card 网卡

The purpose of zone IDs is to distinguish these addresses.

For instance, if host A has two NICs that are connected to two different links (subnets),

the same local-link address could have been used for NIC 1 on host A and on host B

that[the same local-link address] is on the link of host A’s NIC 2.

To distinguish this ambiguous link-local address, host A uses the interface index of NIC 1 as the zone ID for the local IP address.

For site-local addresses, the operating system uses the site ID (also called the scope ID).

If a host is only connected to one site, this ID is always 1.

You can display the interface indexes on a host with the command “netsh interface ipv6 show address level=verbose”.

If you launch the ipconfig command, you can see the local-link and site-local addresses with their zone IDs.

The syntax for identifying the zone is address%zone_ID.

This is an example of a link-local IP address with zone ID 11: fe80::bd0f:a8bc:6480:238b%11.

Note that the zone ID is only known at the local host that assigned it.

I think in practice you will seldom be bothered with zone IDs as you don’t have to configure them manually.

Unique local IPv6 unicast address

Even with the use of zone IDs, you should probably avoid having ambiguous IP addresses in your network.

Instead of site-local addresses, you can work with unique local IPv6 unicast addresses.

These local-use addresses are also not routed across the Internet; however, like global IPv6 addresses, they are unique. Well, more or less, as you will soon see.

The prefix of unique local IPv6 unicast addresses is FC00::/7.

The eighth bit is the Local flag and is set to 1 for local addresses.

A Local flag with 0 has not yet been defined.

Perhaps this could be a way to make local IPv6 addresses global?

Anyway, until IPv6, creators have made up their mind, the prefix of unique local IPv6 unicast addresses is FD00::/8.

Don’t worry if you don’t really understand this; all you really have to know about unique local IPv6 unicast addresses is this:

The next 40 bits are for the global ID and are randomly set.

The following 16 bits are the subnet ID, which you can use for hierarchical addresses within your organization. As usual, the last 64 bits are the interface ID.

The trick with the random global ID is that it makes it somewhat unlikely for duplicate local addresses to occur on a site or even in the networks of two merging organizations.

Actually, the probability that two organizations use the same global ID for their unique local IPv6 addresses is 1/240=9.1 10-13.

Winning the Lotto jackpot is a few magnitudes more likely.

However, what the IPv6 creators didn’t take into account is that Murphy’s Law rules墨菲定律 in all networks.

Hence, “relatively unique local IPv6 unicast addresses” would probably have been a better name.

In the next post in this IPv6 tutorial, I will discuss the special IPv6 addresses: unspecified address, IPv4-mapped address, 6to4 addresses, IPv6 multicast address, and solicited-node address.

IPv6 tutorial – Part 7: Zone ID and unique local IPv6 unicast addresses的更多相关文章

  1. IPv6 tutorial – Part 6: Site-local addresses and link-local addresses

    https://4sysops.com/archives/ipv6-tutorial-part-6-site-local-addresses-and-link-local-addresses/ In ...

  2. IPv6 tutorial – Part 8: Special addresses

    https://4sysops.com/archives/ipv6-tutorial-part-8-special-addresses/ The special IPv6 addresses disc ...

  3. IPv6 tutorial – Part 5: Address types and global unicast addresses

    https://4sysops.com/archives/ipv6-tutorial-part-5-address-types-and-global-unicast-addresses/ In my ...

  4. IPv6 tutorial 4 IPv6 address syntax

    https://4sysops.com/archives/ipv6-tutorial-part-4-ipv6-address-syntax/ Now that you know about the n ...

  5. IPv6 tutorial 3 New features: IPsec and LAN features

    https://4sysops.com/archives/ipv6-tutorial-part-3-new-features-ipsec-and-lan-features/ In the last p ...

  6. IPv6 tutorial 1 Get started now

    https://4sysops.com/archives/ipv6-part-1-get-started-now/ You’ve probably heard the news that the In ...

  7. STM32唯一ID(Unique Device ID)的读取方法

    每一个STM32微控制器都自带一个96位的唯一ID,也就是Unique Device ID或称为UID,这个唯一ID在任何情况下都是唯一的且不允许修改.    在开发过程中,可能需要用到这个UID,比 ...

  8. IPv6 tutorial 2 New features: Routing

    https://4sysops.com/archives/ipv6-part-2-new-features-routing/ Routing路由选择 In the last post of my IP ...

  9. IPv6技术详解:基本概念、应用现状、技术实践(下篇)

    本文来自微信技术架构部的原创技术分享. 1.前言 在上篇<IPv6技术详解:基本概念.应用现状.技术实践(上篇)>,我们讲解了IPV6的基本概念. 本篇将继续从以下方面展开对IPV6的讲解 ...

随机推荐

  1. iOS 隔离导航控制器

    题外话:最近这两个月一直很闲,项目上基本没有啥大的需求.对于程序员来说,如果没有需求其实是一件很难受的事情,之前好多次在项目中没事找事,该优化的优化,该整理的整理.可能好多程序员都遇到过与我类似的情况 ...

  2. 12天学好C语言——记录我的C语言学习之路(Day 3)

    12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...

  3. ugui自制摇杆。

    珍爱生命,远离插件. 以上8个字,好好理解. 反正我是这么觉得. 我说的是unity,不是魔兽世界. 总有一天,我会一句一句写出属于自己的东西. 可以开始主题了.         如图所示,建立一个画 ...

  4. Java实现HTML代码生成PDF文档

    1.IText实现html2pdf,速度快,纠错能力差,支持中文(要求HTML使用unicode编码),但中支持一种中文字体,开源. 2.Flying Sauser实现html2pdf,纠错能力差,支 ...

  5. 11_Servlet的一些细节知识点

    [Servlet的细节知识点1-----一个Servlet映射到多个URL] 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servl ...

  6. tomcat服务器启动错误

    有的时候,启动tomcat,显示的他已经启动了,但是就是没有加载任何工程,最后页面报404错误. 这时候,可以试着把服务器Clean一下

  7. 计算序列中第k小的数

    作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4046399.html 使用分治算法,首先选择随机选择轴值pivot,并使的序列中比pivot ...

  8. Yii 通过widget小物件生成添加表单

    通过widget小物件创建添加商品的表单 视图里,表单以endWidget();?>结束 最终效果: 把表单提交过来的信息保存到数据库中去. 补充要点: 密码表单: <?php echo ...

  9. matlab2014在mac Yosemite下出现java空指针情况

    恢复方法为 使用xcode打开 /System/Library/CoreServices/SystemVersion.plist 将 ProductVersion 下的10.10或10.10.1改为1 ...

  10. codeforces 630K - Indivisibility

    K. Indivisibility 题意:给一个n(1 <= n <= 10^18)的区间,问区间中有多少个数不能被2~10这些数整除: 整除只需要看素数即可,只有2,3,5,7四个素数: ...