IPv6基础介绍

这篇具有很好参考价值的文章主要介绍了IPv6基础介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.IPv6简介

        随着互联网的快速发展,IPv4地址变的越来越紧缺,即使有NAT技术来进行缓解,但是也只能缓解燃眉之急。同时,IPv4的报文头部设计的不合理,导致IPv4转发不具有安全性,头部字段太多且头部长度可变,导致转发效率低下。

IPv6有128个比特,几乎地球上的每一粒沙子都可以分配一个IPv6的地址,解决了IPv4地址不够用的问题。IPv6针对于报文头部也进行了调整优化,分为了基本头部和扩展头部。基本头部保留转发需要的必要信息,所以长度是固定的,为40个字节。剩余其他信息使用扩展头部来进行封装,提高了转发效率。

2.IPv6报文格式

IPv6基础介绍

        IPv6头部字段只保留了转发需要的必要信息,同时增加了一个next header字段,通过此字段来判断是否有下一个扩展头部信息。数据在进行转发的时候,只需要读取基本包头即可。

        version:版本信息

        traffic class:流分类

        flow label:流标签

        payload lenth:长度

        next header:下一个头部标识

        hop limit:相当于IPv4中的TTL

        sourece address:源IP

        destination address:目的IP

        extension header:扩展头部

3.IPv6地址的表示

        IPv6地址共有共16个字节,也就是128比特。由于位数比较长,因此是用冒号分十六进制来表示的。128个比特分为了8段,每段16个比特,每段都用十六进制来表示,各段之间用冒号分开。例如:2001:0FCE:3F00:4C02:0000:0000:0001:0002,每段的最前面的0可以省略,可以缩写为:2001:FCE:3F:4C02:0:0:1:2,连续的段为0的时候,可以缩写为::,因此这个IPv6地址最简化的表示为2001:FCE:3F:4C02::1:2。双冒号在一个地址中只能出现一次。

4.IPv6地址分类

        IPv6地址分为三大类,分别是单播、组播和任播。

        4.1 单播地址

                IPv6的单播地址又可以分为全球单播地址、链路本地地址、唯一本地地址、特殊地址等几大类,单播地址由网络前缀和接口标识组成,常见单播地址要求网络前缀和接口标识都是64位,其中::1/128为本地回环地址,::/128表示未分配地址。

                接口标识生成的方式有三种,可以手工分配、自动获取、EUI-64生成。

                EUI-64规范是指将MAC地址中间插入FFFE,并且将MAC地址的第7位即LG位变为1,例如:

        MAC地址为:00e0-fc31-6f8e

        插入FFFE:00e0-fcff-fe31-6f8e

        LG位置为1:02e0-fcff-fe31-6f8e

                全球单播地址

                全球单播地址网段是2000::/3,范围2000——3FFF。全球单播地址用来标识唯一一台终端或者接口,它的地址格式如下:

IPv6基础介绍

                唯一本地地址 

                 唯一本地地址是私网地址,地址段是FC00::/7,目前只是用了FD00::/8,唯一本地地址只在内网中有效,不能跨越公网,公网中没有私网的路由。地址格式如下:

IPv6基础介绍

                链路本地地址 

                链路本地地址的有效范围是本链路生效,不能跨越路由器,前缀为:FE80::/10。链路本地地址可用于邻居发现,自动获取等场景。这个地址可以手工配置或者系统根据EUI-64自动生成。它的地址格式如下:

IPv6基础介绍

        4.2 组播地址

        IPv6的组播地址可用于标识多个接口,只可用作目的地址来使用。地址格式如下:

IPv6基础介绍

        前8个比特固定全为1,后32比特是组播的组ID。 

        Flags:为0标识永久,为1表示临时。

        Scope:  为0是预留

                        为1表示节点

                        为2表示链路本地

                        为5表示站点本地

                        为8表示组织本地

                        为E表示全球范围

                        为F是预留

        组播中比较重要的一种是被请求节点组播地址,主要用于地址检测或者邻居发现。每个单播地址都会自动生成对应的被请求节点组播地址,并加入这个组播组。被请求节点组播地址格式如下:

IPv6基础介绍

        被请求节点组播地址的前104个比特是固定的,后24位根据单播地址的后24来进行填充。

        例如:全球单播地址:2001:172:16:12::1

        对应被请求节点组播地址为:FF02::1:FF00:01 

        组播中FF02::1表示所有主机,FF02::2表示所有路由器。

        4.3 任播地址

        在IPv6中没有广播的概念,但是有任播地址,它的范围和全球单播地址一致,只不过可以重复配置,用于用户访问最近的业务节点,任播地址也是只能作为目的地址使用。

IPv6基础介绍

5.NDP协议

        IPv6中没有ARP地址解析协议,IPv6是通过NDP邻居发现协议来进行地址冲突检测和MAC地址解析的。IPv6通过新增ICMPv6报文来承载NDP协议,ICMPv6协议通过不同type类型来区别不同的承载协议。

ICMPv6 type类型 代表协议
type=133 RS报文:路由请求
type=134 RA报文:路由通告
type=135 NS报文:邻居请求
type=136 NA报文:邻居通告
type=136 重定向

        5.1 IPv6的DAD(地址冲突检测) 

        IPv4是通过免费ARP来进行地址冲突检测的,IPv6根据NS报文来进行DAD检测,如果没有收到NA的应答,则表示地址没有冲突,收到NA的回复,则表示地址冲突,不可用。

        DAD的原理:当接口第一次获取到IPv6单播地址时,会发送一个NS报文,NS的格式如下:

        ICMPv6头部 IPv6头部 以太帧头部
target address:要检测的IPv6地址

源:::

目的:检测IP的被请求节点地址

源:本端MAC

目的:组播MAC

IPv6基础介绍

组播MAC地址前16为固定为33-33,后32为取被请求节点地址的后32位组成。

例如:被请求节点地址为FF02::1:FF00:1

          组播MAC地址为:33-33-FF-00-00-01

        没有收到NA的应答,则表示地址不冲突,一旦地址冲突,收到的NA应答报文格式如下: 

        ICMPv6头部 IPv6头部 以太帧头部

target address:冲突的IPv6地址

link-layer address:本端MAC地址

源:本端接口IPv6地址

目的:FF02::1

源:本端MAC

目的:组播MAC

IPv6基础介绍

         5.2 IPv6的ping通原理

IPv6基础介绍

        R1 ping R2

        1.R1查看路由表,没有则不发包。

        2.R1有R2的路由,进行ICMPv6的封装,封装到二层,不知道目的MAC地址。

        3.查看IPv6邻居表项,有邻居则拿出邻居的MAC进行封装,没有,则发送NS请求。

        ICMPv6头部 IPv6头部 以太帧头部
target addres:2001::2

源:2001::1

目的:FF02::1:FF00:2

源:本端MAC

目的:33-33-FF-00-00-02

        4.R2收到R1的NS报文,侦听目的组播MAC地址,接收解封装,产看目的IP是自己,则回复NA报文,同时把R1的MAC地址和IP加入自己的IPv6邻居表。

        ICMPv6头部 IPv6头部 以太帧头部

target addres:2001::2

link-layer address:本端MAC地址

源:2001::2

目的:2001::1

源:本端MAC

目的:R1的MAC

         5.R1收到R2的NA响应,把R2的MAC地址和IP加入自己的IPv6邻居表,完成ICMPv6的封装,按路由表转发数据。

6.自动获取

        IPv6支持有状态自动获取和无状态自动获取两种,IPv4只有有状态的自动获取。

        6.1 无状态自动获取

                IPv6地址具有即插即用的快捷方便性,此机制通过无状态获取来实现。服务端开启RA功能,周期性的向所有主机发送RA报文,发送的周期在600秒和200秒之间随机,但是一旦收到客户端发来的RS请求,则会立即响应一次RA。RA报文中包含本端接口地址的前缀信息,客户端根据服务端的前缀加上自己的EUI-64组成自己的接口地址。

服务端开启RA功能命令:接口下undo ipv6 nd ra halt

客户端获取命令:接口下ipv add auto global default------获取地址的同时产生默认路由

        RS报文格式如下:

        ICMPv6头部 IPv6头部 以太帧头部

link-layer address:本端MAC地址

源:本端的连接本地地址

目的:FF02::1

源:本端MAC

目的:组播MAC

        RA报文格式如下:

        ICMPv6头部 IPv6头部 以太帧头部

link-layer address:本端MAC地址

IP前缀信息

源:本端的连接本地地址

目的:FF02::1

源:本端MAC

目的:组播MAC

        6.2 IPv6的有状态自动获取 

        IPv6的有状态获取是通过DHCPv6获取的,可分为4-way模式和2-way模式,默认是4-way模式,也就是有四种报文交互。

        4-way模式:

IPv6基础介绍

        1.首先由客户端发起solicit请求,寻找全网的DHCPv6服务端,包含本端MAC地址等信息,以组播的形式发送。

        2.服务端回复advertise回复给客户端,包含网络前缀,客户端MAC、服务端MAC等信息,以单播形式发送。

        3.客户端发起request请求地址是否可用,包含请求使用的IPv6地址,客户端MAC、服务端MAC等信息,以组播形式发送。

        4.服务端回复reply给客户端,包含对方请求使用的IPv6地址,客户端MAC、服务端MAC等信息,以单播形式发送。

        2-way模式:

IPv6基础介绍

        当网络中只有一个DHCPv6服务端时,可以配置快速分配模式。

        1.DHCPv6客户端在发送的Solicit报文中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址和网络配置参数。

        2.DHCPv6服务器接收到Solicit报文后,将进行如下处理:

          如果DHCPv6服务器支持快速分配地址,则直接返回Reply报文,为客户端分配IPv6地址和其他网络配置参数,Reply报文中也携带Rapid Commit选项。

         如果DHCPv6服务器不支持快速分配过程,则采用四步交互方式为客户端分配IPv6地址/前缀和其他网络配置参数。

        快速获取地址配置方式:

服务端:接口下dhcpv6 server A rapid-commit  

客户端:接口下ipv6 address auto dhcp rapid-commit

        无状态获取只能获取到IP前缀信息,获取不到其他一系列的参数,例如DNS等,当无状态需要向有状态迁移时,可以配置flag位中的M位和O位置为1。

服务端:ipv6 nd autoconfig managed-address-flag----M位置为1

              ipv6 nd autoconfig other-flag------O位置为1           

7.IPv6基础实验

拓扑:

IPv6基础介绍

 描述:R1和R2手动配置,R2作为DHCPv6服务器,R3采用有状态的获取方式,R4采用无状态的获取方式并都能生成缺省路由,在R1上配置静态路由,使能全网通。

基本信息:

设备 接口 IP地址 前缀
R1 G0/0/0 2001::1 64
R2 G0/0/0 2001::2 64
G0/0/1 2003::2 64
G0/0/2 2004::2 64
R3 G0/0/0 有状态获取
R4 G0/0/0 无状态获取

 R1配置:

#
ipv6 
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2001::1/64 
#
ipv6 route-static 2003:: 64 2001::2 
ipv6 route-static 2004:: 64 2001::2 

R2配置:

#
ipv6 
#
dhcp enable
#
dhcpv6 pool A
 address prefix 2003::/64
 excluded-address 2003::1 to 2003::2
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address 2001::2/64 
#
interface GigabitEthernet0/0/1
 ipv6 enable 
 ipv6 address 2003::2/64 
 undo ipv6 nd ra halt
 ipv6 nd autoconfig managed-address-flag
 ipv6 nd autoconfig other-flag
 dhcpv6 server A
#
interface GigabitEthernet0/0/2
 ipv6 enable 
 ipv6 address 2004::2/64 
 undo ipv6 nd ra halt

R3配置:

#
ipv6
#
dhcp enable
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address auto link-local
 ipv6 address auto global default
 ipv6 address auto dhcp

R4配置:

#
ipv6 
#
interface GigabitEthernet0/0/0
 ipv6 enable 
 ipv6 address auto global default

查看R1接口的DAD报文:

IPv6基础介绍

查看R1pingR2的NS和NA报文:

IPv6基础介绍

 查看R4无状态获取的报文信息:

IPv6基础介绍

 查看R3有状态获取的报文信息:

IPv6基础介绍

R1上ping测试 :

IPv6基础介绍

IPv6基础介绍

IPv6基础介绍

         文章来源地址https://www.toymoban.com/news/detail-405639.html

到了这里,关于IPv6基础介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《元宇宙:互联网新未来》简介

    《元宇宙:互联网新未来》帮助您了解元宇宙新技术。彩色印刷! 云宇宙正在落地!每一位IT从业人员,每一位游戏、数字货币、数字藏品玩家,每一位IT新产品设计人员,每一位思考IT未来技术发展方向的领导者,都需要了解一下云宇宙技术。 一书读懂元宇宙,最新前沿科

    2024年02月13日
    浏览(38)
  • Web3技术简介:重新定义互联网的未来

    在21世纪的数字时代,互联网已成为我们日常生活的不可或缺的一部分。然而,随着区块链和加密技术的快速发展,一个全新的互联网模型——Web3,正逐渐崭露头角。Web3不仅仅是技术的进步,它更是对传统互联网模型的挑战和革新,旨在构建一个更去中心化、安全、透明和用

    2024年04月27日
    浏览(39)
  • 云计算基础——云计算与移动互联网、物联网

    移动互联网的发展概况 移动互联网 是指以宽带IP为技术核心,可同时提供语音、数据、多媒体等业务服务的开什么是移动互联网?放式基础电信网络,从用户行为角度来看,移动互联网广义上是指用户可以使用手机、笔记,通过无线移动网络和HTTP协议接入互联网:狭义上是指用

    2024年02月01日
    浏览(55)
  • IPv6基础介绍

            随着互联网的快速发展,IPv4地址变的越来越紧缺,即使有NAT技术来进行缓解,但是也只能缓解燃眉之急。同时,IPv4的报文头部设计的不合理,导致IPv4转发不具有安全性,头部字段太多且头部长度可变,导致转发效率低下。 IPv6有128个比特,几乎地球上的每一粒沙

    2023年04月09日
    浏览(37)
  • IPV6网络协议基础知识 IPV6地址和IPV6报文格式详细介绍

    由于互联网的快速发展与普及,原有的IPV4地址已不能满足网络用户的需求,虽然NAT可以缓解IPV4地址的耗尽,但NAT破坏了网络环境的开放、透明以及端到端的特性,因此IPV6地址协议应运而生。IPV6协议使用128位地址替代32位的IPV4地址,这样大约可以产生340万亿亿亿亿(3.4*1038)个

    2024年02月08日
    浏览(69)
  • 014集:python访问互联网:网络爬虫实例—python基础入门实例

    以pycharm环境为例: 首先需要安装各种库(urllib:requests:Openssl-python等) python爬虫中需要用到的库,大致可分为:1、实现 HTTP 请求操作的请求库;2、从网页中提取信息的解析库;3、Python与数据库交互的存储库;4、爬虫框架;5、Web框架库。 一、请求库 实现 HTTP 请求操作 1、

    2024年01月16日
    浏览(51)
  • 网络基础——IPV6地址及介绍

    1. IPV6 地址优势         无限”地址:地址长度为128 bit         地址层次化分配:相较于IPv4地址,IPv6地址的分配更加规范,利于路由聚合(缩减IPv6路由表规模)、路由快速查询。         即插即用:IPv6支持无状态地址自动配置(SLAAC),终端接入更简单      

    2024年04月11日
    浏览(38)
  • 2023年互联网Java面试复习大纲:ZK+Redis+MySQL+Java基础+架构

    多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。有些公司可能还会问几个实际的场景类的问题,这个环节阿里是必问的,这种问题通常是没有正确答案的,就看个人的理解,个人的积累了。剩下的就没啥了,都是

    2024年02月09日
    浏览(86)
  • 软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联网高效进阶)

    一般而言,软件测试方法分为黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动化测试和探索性测试等类型。 黑盒测试又称功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试方法验证被测对象使用质量及外部质量表现。 采用黑盒测试

    2024年02月06日
    浏览(47)
  • 产业互联网:补齐互联网的「短板」,重启互联网的「进化」

    尽管在互联网时代出现了诸多的乱象,但是,我们依然无法否认互联网时代给人们的生产和生活带来的影响和改变。即使如此,我们依然无法否认互联网本身其实是存在着诸多的问题和弊病的,这些问题和弊病所导致的一个最为直接的结果,便是互联网本身无法成为解决产业

    2024年02月02日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包