ipv6基础

  • 地址

    • 前缀+子网+主机位

    • PI法则=3.14

      • 前缀:3个16位

      • 子网:1个16位

      • 接口ID:4个16位

  • 地址分类

    • 未指定地址

      • ::/128 ,类似于0.0.0.0

    • 本地回环地址

      • ::1/128 ,用于本地测试,类似于127.0.0.1

    • 本地链路地址(lionk-local address ,LLA)

      • FE80::/10 (1111 1110 10) 局限于本地链路,使运行了IPV6协议的链路两端,天生具有三层通讯能力,无需像ipv4接口一样必须配置ipv4地址才可以。

        • 产生方式:

          • 1.动态产生,接口使能ipv6后,用eui-64产生

          • 2.接口上手动配置:ipv6 address fe80::2 link-local

        • 用途:

          • ripng、ospfv3使用该地址作为协议报文的源地址,路由表的下一条也是该地址。

    • 可聚合全球地址

      • 2000::/3 ~ 3FFF:FF... 前3位是001

      • 2001::/16 IANA开始分配的

      • 2002::/16 6to4隧道

      • 3FFE::/16 公共ipv6研究所,已被废除

    • 本地站点地址

      • FEC0::/10 已被废除!

    • 唯一本地地址

      • FC00::/7 相当于ipv4的私网地址,只能在本地网络内部转发

    • 组播地址

      • FF00::/8

      • 预定义组播地址

        • Node-local

          • FF01::1所有节点的组播地址

          • FF01::2所有路由器的组播地址

        • Link-local 保留了一部分ipv4的味道

          • FF02::1 所有节点的组播地址 224.0.0.1

          • FF02::2 所有路由器的组播地址 224.0.0.2

          • FF02::1:FFXX:XXXX Solicited-Node组播地址 被请求节点的组播地址

          • FF02::5 所有ospf路由器地址 224.0.0.5

          • FF02::6 所有ospf的DR路由器地址 224.0.0.5

          • FF02::D 所有PIM路由器组播地址

      • 组播地址与mac地址的映射

        • 33-33-组播ipv6地址的后32bit

      • 当一个接口配置了一个ipv6单播地址后,会自动加入到一个被请求节点的组播地址中,该地址主要用于邻居发现和重复地址检测。

        • FF02::1:FF00:0/104 前104位固定,后24位复制单播地址的后24位

        • 用人话解释一下什么叫做被请求节点的组播地址:

          • ipv6取消了ARP报文和广播,要想拿到目的主机的mac地址,只有到处发送组播报文了。只有和目的主机后24位相同的才能收到这个组播报文,其他设备收到这个组播帧时在网卡层面就被丢弃。

    • 任播地址

      • 纸上谈兵阶段,可以把单播地址配置成任播地址,允许多台服务器配置相同的ip地址,提供相同的服务,以就近访问。

  • 邻居发现协议NDP 使用icmpv6报文

    • RS路由器请求 133类型的icmpv6报文

      • 请求ipv6地址

    • RA路由器通告 134类型的icmpv6报文

      • 周期发送ipv6地址

      • 发送间隔由最大发送间隔和最小发送间隔同时控制。

        • 最小发送间隔默认200s,最大发送间隔默认600s

      • RA消息的flag字段

        • M:Managed address configuration 默认为0,表示用SLAAC配置ip地址。如果为1,用DHCPv6配置ip地址

        • O:Other-Config-Flag,默认为0,表示除了ip地址,不用DHCPv6配置其他参数。如果为1,需用DHCPv6配置其他信息。

        • P:Default Router Preference,产生默认路由的优先级,默认为00,medium。

        • 前缀Option里的flag字段

          • L:On-Link Flag,默认为1,当前缀option中on-link=1时,接收主机除了产生ipv6地址之外,还会产生一条该前缀的直连路由。置0时只会根据前缀产生ipv6地址。

          • A:Autonomous Addr-conf FLag,默认为1,表示可以用该前缀进行无状态自动配置

    • NS 邻居请求 135类型的icmpv6报文 类似于ARP请求

      • 目的mac地址是组播mac地址

      • 目的ip是被请求节点的组播地址

      • 地址解析在三层完成,可以使用三层安全机制(如ipsec)避免地址解析攻击。

    • NA 邻居通告 136类型的icmpv6报文 类似于ARP响应

    • Redirect 重定向 137类型的icmpv6报文

  • ipv6邻居表

    • display ipv6 neighbors

    • 相当于ipv4的arp表

    • win用命令 netsh interface ipv6 show neighbors

  • 邻居状态追踪,邻居不可达检测(Neighbor Unreachable Detection,NUD)

    • 邻居状态

      • Empty,空,没有通讯之前

      • Incomplete,正在进行地址请求,已发送NS,还没收到NA

      • reachable,已收到NA报文,认为这个地址可达。如果NA报文没有指定Reachable Time,默认可达30s

      • stale,陈旧,无法确定到邻居的可达性。陈旧状态默认停留1200s

        • 1.Reachable Time这段时间内没有流量通过

        • 2.收到了邻居发来的非请求NA报文(这个NA报文不是我问了邻居之后邻居给我的,如链路层地址改变,ipv6地址改变),这时邻居可以到达本机,但本机不一定能到达邻居

      • delay,延迟,当设备访问stale节点时,在这个状态停留5秒

        • 如果5秒内收到邻居可达性的确认,进入Reachable状态

          • 邻居可达性的确认:一去一回的证明

            • 1.针对NS收到NA

            • 2.收到上层协议的hints,如tcp的ack

        • 如果5秒未收到确认,进入probe状态

      • probe,探查,delay的5s后,每隔1s发送单播NS,发送MAX_Unicast_Solicit(3次)个请求后,再等1s

        • 有应答,reachable

        • 无应答,empty,删除表项

    • ipv6邻居关系优于ipv4的arp,ipv6可以确保双向可达,但ipv4只能等老化

  • DAD 重复地址检测

    • 一个地址在通过DAD检测前,叫做试验性地址(tentative地址),接口还不能用这个地址来正常通讯,但会加入被请求节点的组播地址组(FF02::1::FF00:FFFF)

    • 加入被请求节点的组播地址后,发送一个NS报文。如果组中有地址相同的,会响应一个NA,就证明该地址已被使用,节点将不能用。

    • 所有单播ipv6地址都要进行DAD,包括LLA

    • 类似于ipv4的免费arp

  • DHCPv6 有状态地址自动配置

  • SLAAC (StateLess Address Auto Configuration)无状态地址自动配置

    • 什么是无状态:如dhcp服务器,分配ipv4地址后,产生租约信息,这是有状态。无状态是无需保存客户端和ip地址直接的映射关系。

    • 无需服务器,更加轻量

    • 配置

      • AR1 [AR1-GigabitEthernet0/0/0]undo ipv6 nd ra halt //关掉抑制ipv6路由通告,周期发送ra消息

      • AR3

    • 如果配置多个全球单播地址,发送的RA消息就会有多个前缀,收到RA消息的也会配置多个全球单播地址

    • 存在以下情况时忽略RA发送的前缀:

      • RA报文中的“auto”(地址自动配置位)未置位

      • 前缀与已有地址前缀重复(包括LLA)

      • RA报文的优选生存期(preferred lifetime)> 有效生存期(valid lifetime)

      • 前缀长度与接口id长度之和不等于128位

    • 相关时间参数

      • preferred lifetime 发起新通讯的有效时间

      • valid lifetime 原有通讯的有效时间

    • 主机周期性收到RA报文,并据此报文来更新自己的时间参数。

    • 生存时间

      • DAD→preferred lifetime(7天,优选生存期)→deprecated(不优选生存期)→无效

      • preferred lifetime + deprecated = valid lifetime (30天)

  • 重定向

    • Redirect报文告知主机,更好的转发路径。

  • PMTU发现

    • PMTU路径上接口的最小接口MTU。

    • 探测路径上最小的MTU,按这个MTU分片。优化整体传输效率。

    • PMTU最小为1280B

    • MTU = 源主机路径上MTU

    • while(没到目的主机){

      MTU构建一个报文,发送给下一跳..直到有更小MTU的路径,回送给主机icmp错误消息packet too bigMTU = 更小的MTU}
  • ipv6过渡技术

    • 双栈Dual Stack

      • 设备支持双栈,同时配置ipv4和ipv6地址。优先ipv6。

    • 6 over 4 手动隧道

      • 解决ipv6孤岛:站点是v6,网络是v4

    • 6 over 4 GRE隧道

      • 可以开启gre对隧道存活的检测,或者一些基本认证

    • 6 to 4 隧道

      • 采用6to4专用地址 2002:ipv4::/48

    • ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)隧道

      • 6 over 4 自动隧道的一种,采用ISATAP专用地址

      • 人话:将ISATAP路由器配置成网关,所有ipv6访问都走这里。

    • NAT64

      • 转换网关连接ipv4网络和ipv6网络,互相转换ip包头

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用GNSS IMU集成提高车道级定位精度

准确的定位对于很多不同的事情都是至关重要的。导航系统可以引导我们去某个地方,自动驾驶汽车可以利用这些数据在道路上安全行驶。尽管全球导航卫星系统(GNSS)在定位方面非常出色,但它们可能并不总是提供最准确的车道水平事实。解决这个问题的一个有希望…

如何矢将量数据转换为栅格数据

在我们分析GIS数据时,有时候也可能需要将矢量数据转换为栅格数据来使用,例如:使用AI图像识别技术进行GIS数据分析或导航的时候!矢量数据就可能不满足需求了! GIS数据转换器-矢量V5.0具有矢量数据转换为栅格数据的功能…

Python魔法之旅-魔法方法(07)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

linux部署运维1——centos7.9离线安装部署涛思taos2.6时序数据库TDengine

在实际项目开发过程中,并非一直都使用关系型数据库,对于工业互联网类型的项目来说,时序型数据库也是很重要的一种,因此掌握时序数据库的安装配置也是必要的技能,不过对于有关系型数据库使用的开发工作者来说&#xff0…

如何获取SSL证书,消除网站不安全警告

获取SSL证书通常涉及以下几个步骤: 选择证书颁发机构(CA): 你需要从受信任的SSL证书颁发机构中选择一个,比如DigiCert、GlobalSign、JoySSL等。部分云服务商如阿里云、腾讯云也提供免费或付费的SSL证书服务。 生成证…

大数据之HIVE,一次HIVESQL执行的过程(四)

在hive中执行如下sql INSERT OVERWRITE TABLE XXX SELECT * from XXX 数据最终是怎么存储到hdfs上的过程 执行的过程当中,打印出如下的日志过程,本质上是一个在MapReduce中进行Shuffle的过程 所以下面就Shuffle的过程进行分析 Shuffle 描述的是数据从 Map 端到 Reduce 端的…

曾巩,散文的艺术与哲思

曾巩,字子固,世称南丰先生,南丰(今江西)人,生于北宋真宗天禧三年(公元1019年),卒于北宋元丰六年(公元1083年),享年64岁。他是中国北宋…

http协议及httpd安装组成

文章目录 一、http协议http协议通信过程http相关技术网站访问量HTTP工作机制HTTP协议版本HTTP请求访问的完整过程HTTP报文头部响应报文 二、httpd安装组成apache介绍和特点工作模式( MPM multi-processing module )Http相关文件Http编译安装httpd常见配置…

显示器与电脑如何分屏显示?

1.点击电脑屏幕右键--显示设置 2、然后找到屏幕---找到多显示器---选择扩展显示器

OpenAI 推出ChatGPT Edu,为高校定制版本

近日,OpenAI 宣布推出 ChatGPT Edu,这是一款专为高校打造的 ChatGPT 版本,旨在帮助学生、教师、研究人员和校园运营部门以负责任的方式部署和使用 AI。 ChatGPT Edu 由 GPT-4o 提供支持,具备强大的文本和图像推理能力,…

Java18新版本特性!

Java 18引入了多项新特性,主要包括默认UTF-8字符集、简单的Web服务器、栈步进API等。Java 18是Oracle在2022年发布的版本,其旨在通过一系列创新特性来提升开发效率与性能。下面将逐一探讨Java 18的主要新特性以及它们对开发者的具体影响: 默认…

7、css3实现边框不停地跑动效果

效果例图&#xff1a; 1、上html代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><meta …

文明互鉴促发展——2024“国际山地旅游日”主题活动在法国启幕

5月29日&#xff0c;2024“国际山地旅游日”主题活动在法国尼斯市成功举办。中国驻法国使领馆、法国文化旅游部门、地方政府、国际组织、国际山地旅游联盟会员代表、旅游机构、企业、专家、媒体等围绕“文明互鉴的山地旅游”大会主题和“气候变化与山地旅游应对之策”论坛主题展…

GNU Radio实现OFDM Radar

文章目录 前言一、GNU Radio Radar Toolbox编译及安装二、ofdm radar 原理讲解三、GNU Radio 实现 OFDM Radar1、官方提供的 grc①、grc 图②、运行结果 2、修改后的便于后续可实现探测和通信的 grc①、grc 图②、运行结果 四、资源自取 前言 本文使用 GNU Radio 搭建 OFDM Ra…

项目3 构建移动电商服务器集群

项目引入 经过前期加班加点地忙碌&#xff0c;我们的网站顺利上线了&#xff01;年中促销活动也如约而至&#xff0c;虽然公司全体对这次活动进行多方面地准备和“布防”&#xff0c;可是意外还是发生了。就在促销优惠购物活动的当天&#xff0c;猛然增加的用户访问量直接导致浏…

java线程状态介绍

1.新建&#xff08;New&#xff09;: 线程对象已创建&#xff0c;但还没有调用 start() 方法。 2.可运行&#xff08;Runnable&#xff09;: 线程已启动&#xff0c;处于就绪状态&#xff0c;等待 JVM 的线程调度器分配CPU时间。 3.阻塞&#xff08;Blocked&#xff09;: 线程…

利用博弈论改进大模型性能:MIT最新研究解读

引言 在人工智能和大模型的发展过程中&#xff0c;我们常常遇到一个有趣的现象&#xff1a;同一个问题在不同形式下可能得到不同的答案。这种不一致性不仅降低了大模型的可信度&#xff0c;也限制了其在实际应用中的效果。为了应对这一问题&#xff0c;来自MIT的研究人员提出了…

Element快速入门

Vue组件库Element 1 Element介绍 vue是侧重于VM开发的&#xff0c;主要用于数据绑定到视图的&#xff0c;ElementUI就是一款侧重于V开发的前端框架&#xff0c;主要用于开发美观的页面的。 Element&#xff1a;是饿了么公司前端开发团队提供的一套基于 Vue 的网站组件库&…

深入理解 Go 语言中的字符串不可变性与底层实现

文章目录 前言1 字符串类型的数据结构组成2 为什么要这么设计数据结构&#xff1f;3 为什么说字符串类型不可修改&#xff1f;4 如何实现字符串的修改&#xff1f;5 为什么字符串修改的字面量用单引号&#xff1f;6 如何判断字符串的修改新建了一个字符串&#xff1f;7 字符串的…

c基础 - 输入输出

目录 一.scanf() 和 printf() 函数 1.printf 2.scanf 二 . getchar() & putchar() 函数 1.int getchar(void) 2.int putchar(int c) 三. gets() & puts() 函数 一.scanf() 和 printf() 函数 #include <stdio.h> 需要引入头文件,stdio.h 1.printf print…