• IPv6地址基础理论讲解


    目录

    IPv4地址讲解

    IPv4地址分类

    IPv4地址书写格式

    VLSM可变长子网掩码(划分子网) 

    IPv4协议报文

    IPv6地址讲解

    IPv6地址书写格式

    IPv6单播地址

    EUI—64

    IPv6组播地址

    IPv6任播地址

    IPv6地址和IPv4地址的比较

    IPv6报文头部组成

    基本报文头

    扩展报文头及其作用

    Path MTU


    IPv4地址讲解

    IPv4地址分类

    IPv4地址根据网络号可分为A、B、C、 D、E  5大类(其中A、B、C、D为单播,D为组播、E为保留地址)

    A类地址

    网络号:0开头,第1位到第8位是网络号(00000000~01111111——0到127)

    具体的IPv4地址范围:0.0.0.0~127.255.255.255

    可用的IPv4地址范围:其中0.0.0.0~0.255.255.255和127.0.0.0~127.255.255.255保留

    B类地址

    网络号:10开头,第1位到第16位是网络号(10000000.00000000~10111111.11111111——128.0~191.255)

    具体的IPv4地址范围:128.0.0.0~191.255.255.255

    可用的IPv4地址范围:其中128.0.0.0~128.0.255.255和191.255.0.0~191.255.255.255保留

    C类地址

    网络号:110开头,第1位到第24位是网络号(11000000.00000000.00000000~11011111.11111111.11111111——192.0.0~223.255.255.255)

    具体的IPv4地址范围:192.0.0.0~223.255.255.255

    可用的IPv4地址范围:其中192.0.0.0~192.0.0.255和223.255.255.0~223.255.255.255保留

    D类地址

    网络号:1110开头,第1到32位为网络号,没有主机号(用于组播)224.0.0.0~239.255.255.255

    E类地址

    网络号:以11110开头,240.0.0.0~255.255.255.255

    其中255.255.255.255为广播地址

    IPv4单播地址按照地址使用范围分为公网和私网两大类

    公网地址(在互联网上使用)

    A: 1.0.0.0~9.255.255.255

            11.0.0.0~126.255.255.255

    B:  128.0.0.0~172.15.255.255

            172.32.0.0~191.255.255.255

    C: 192.0.0.0~192.167.255.255

            192.169.0.0~223.255.255.255

    私网地址(在局域网内使用)

    A:10.0.0.0~10.255.255.255

    B:172.16.0.0~172.31.255.255

    C:192.168.0.0~192.168.255.255

    按照通信的类型来分类
    单播地址
    针对A、B、C类地址:主机号不全为0的地址就是单播地址
    组播地址
    D类地址都是组播地址,没有主机号
    广播地址
    针对A、B、C类地址:主机号全为0的地址就是广播地址(E类地址的255.255.255.255也是一个广播地址)

    IPv4地址书写格式

    点分十进制写法

    分为4段,每段8bit二进制(每段最大255)

    192.168.100.100/24

    /24为掩码长度,用来确定网络号和主机号

    VLSM可变长子网掩码(划分子网) 

    为什么要划分子网
    如果直接使用A、B、C类地址,会造成IP地址资源浪费;因此可以把一个大的子网划分为多个小的子网,以此减少IP地址的浪费
    并且可以缩小广播域、减少广播范围(一般在进行网络规划的时候,一个子网为一个广播域)

    实现方式
    通过掩码来进行子网划分(具体实现方法是向主机位借位)

    具体的计算公式(如果一个子网原先的掩码是a,然后向主机借了m位)
          可划分的子网数量:2^m个子网
          每个子网可用的主机数量:2^(32-a-m) - 2

    子网划分举例

    要求

    一个公司分配了一个192.168.0.0/24网段,为以下部门分配

    生产部门100人          销售部50人         财务部 20人        客服部10人

    生产部100人

    100<128-2=2^7-2  因此主机位为7,网络号借1为25

    可划分的网段为(二选一)

    192.168.0.0/25(地址范围:192.168.0.0~192.168.0.127)

    192.168.0.128/25

    销售部50人

    50<64-2=2^6-2   因此主机位为6,网络号借2为26

    可划分的网段为(四选一)

    192.168.0.0/26      ×(生产部已占用)

    192.168.0.64/26    ×

    192.168.0.128/26(地址范围:192.168.0.128~192.168.0.191)

    192.168.0.192/26

    财务部20人

    20<32-2=2^5-2   因此主机位为5,网络号借3为27

    可划分的网段为(8选1)

    192.168.0.0/27      ×

    192.168.0.32/27    ×

    192.168.0.64/27    ×

    192.168.0.96/27    ×

    192.168.0.128/27  ×

    192.168.0.160/27  ×

    192.168.0.192/27(地址范围:192.168.0.192~192.168.0.223)

    192.168.0.224/27

    客服部10人

    10<16-2=2^4-2   因此主机位为4,网络号借4为28

    可划分的网段为(16选1)

    192.168.0.224之前不可选

    192.168.0.224/28(地址范围:192.168.0.224~192.168.0.239)

     192.168.0.240/28

    综上:生产部门100人         192.168.0.0/25(地址范围:192.168.0.0~192.168.0.127)        

               销售部50人               192.168.0.128/26(地址范围:192.168.0.128~192.168.0.191)

               财务部 20人              192.168.0.192/27(地址范围:192.168.0.192~192.168.0.223)   

               客服部10人               192.168.0.224/28(地址范围:192.168.0.224~192.168.0.239)

    IPv4协议报文

    TCP/IP网络参考模型(端口号、TCP滑动窗口、TCP拥塞控制、IP协议号、以太网帧)_tcp/ip参考模型-CSDN博客


    IPv6地址讲解

    IANA已经于2011年将IPv4地址分配完毕,以后获取可用的IPv4地址将非常困难

    现阶段IP网络新业务需要大量的IP地址,此时IPv6地址就提出来了(由32bit转为128bit)

    IPv6地址分为单播、组播、任播地址,没有广播地址的概念

    IPv6地址书写格式

    冒号分十六进制

    IPv6一共128bit

    书写时分为8段,每段16bit(4位十六进制)

    0101:FF01:0000:0000:0F00:0000:0F01:0001/64

    其中/64为前缀长度(掩码),用来确定前缀(网络号)和接口ID(主机号)

    一般写掩码时建议写为4的倍数,在判断是否为同一网段时比较方便

    简写规则

    1、每段前面的0可以省略

           101:FF01:0:0:F00:0:F01:1/64

    2、连续多段为0的可以使用::代替,不过::一个地址只可以出现一次

           101:FF01::F00:0:F01:1/64

    IPv6单播地址

    公网地址(全球单播地址)——2000::/3

    此处3指的是前3bit固定,即前3bit为001的就是全球单播地址

    即0010和0011开头,准确来说就是2/3开头的就是全球单播地址

    私网地址(唯一本地地址)——FC00::/7

    此处7指的是前7bit固定,即前7bit为1111 110的就是唯一本地地址

    即1111 1100和1111 1101开头,也就是FC/FD开头的就是唯一本地地址

    特殊地址

    全0地址  ::/128

    环回地址 ::1/128

    链路本地地址(Link-load) FE80::/10

    前10bit固定位1111 1110 10

    即1111 1110 1000、1111 1110 1001、1111 1110 1001、1111 1110 1011开头

    也就是FE8、FE9、FEA、FEB开头的为链路本地地址

    链路本地地址使用范围

    链路本地地址可使用的范围是本链路内的(即广播域内)

           只需要广播域不冲突就可以

           链路本地地址不需要掩码长度

    链路本地地址作用

    链路本地地址一般用来建立邻居关系

           通过链路本地地址建立邻居关系后,链路本地地址是ping不通的(因为链路本地地址只是本地有效)

           ospfv3、ISISv3建立邻居只能通过链路本地地址,BGPv3支持公网和私网建立邻居

    链路本地地址的生成方式

           自动生成——通过EUI-64生成或软件生成

              (在配置全球单播地址或者唯一本地地址时会通过EUI-64自动生成链路本地地址)

           手工配置

    相关配置命令

    ipv6 add 2001::  64 eui-64        根据地址前缀通过EUI-64生成全球单播地址地址

    ipv6 add 2001::1  64             配置全球单播地址/唯一本地地址

    ipv6 add auto link-local           自动生成链路本地地址(通过EUI-64生成)

    例如:mac地址为 00e0-fc57-5485    fe80::2e0:fcff:fe57:5485

    ipv6 add fe80::1 link-local         手动配置链路本地地址

    EUI—64

    此方式只能生成64bit

    生成规则

    将MAC地址前24位作为IPv6地址的24位(并将第7位由0变为1)

    将MAC地址后24位作为IPv6地址的后24位

    然后在前24位和后24位之间插入FFFE

    例子

    MAC地址:000E-0C82-C4D4;转换后:020E:0CFF:FE82:C4D4。

    IPv6组播地址

    地址格式

    FF+flag(4bit)+scope(4bit)+112bit

           flag(地址时效)

                  0代表永久地址

                  1代表临时地址

           scope(地址应用范围)

                  1代表节点

                  2代表广播域链路

    部分地址含义

    FF02::1——链路本地范围的所有节点

    FF02::2——链路本地范围的所有路由器

    FF02::5——OSPFv3路由器

    FF02::6——OSPVv3 DR&BDR

    FF02::1:FF+24bit——被请求组播地址(在ICMPv6中使用)

    被请求组播地址——在广播域内生效

    该地址主要应用于邻居发现和地址重复检测功能

    组播MAC

    3333+IPv6地址后32bit

    IPv6任播地址

    任播地址和单播地址使用相同的地址空间,为服务提供冗余功能,实现服务的负载分担

    可以理解为多台服务器配置为一样的全球单播地址,提供统一服务,用户访问时可靠性更高

    具体实现方式

    目的地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口

    配置命令

    IPv6 add 2222::2 anycast    配置任意地址


    IPv6地址和IPv4地址的比较


    IPv6报文头部组成

    IPv6主要由基本报头和扩展报头组成的

    基本报文头

    流标签

    IPv4是通过五元组来抓取流,现在可以自定义标签来抓取流,提高了QoS效率

    下一报头

    下一报头(十进制)下一报头(十六进制)跟随在基本报文头后的信息类型
    00IPv6逐条选项扩展报头
    66TCP
    88EGP(外部网关协议)
    1711UDP
    4129IPv6封装
    432b用于IPv6的路由扩展报头
    442c用于IPv6的分段报头
    462eRSVP
    472fGRE
    5032ESP
    5133AH
    5133ICMPv6
    593bIPv6无下一报头
    603cIPv6目的地址选项扩展报头

    扩展报文头及其作用

    逐跳选项报头——巨型帧负载(超大包)

    当载荷长度超过65535字节时,使用逐跳选项报头承载(由选项类型、选项长度、超大有效载荷长度组成),占32bit,能够表示4294967295

    具体实现方式

    当载荷长度超过65535字节时,IPv6基本报头种的有效载荷长度值将被置为0,数据包的真正有效载荷长度用超大有效载荷长度字段表示(只是承载载荷长度)

    其它用途

    RSVP资源预留、路由器错误提醒

    可以通过此扩展报文携带预留资源或路由器错误信息发送给每台路由器,让每个设备都收到此报文

    目的选项报头——移动的IPv6

    在Wlan三层漫游场景可用

    IPv4场景

    在AP1获得的IP地址时192.168.1.1,由于人员移动到了AP2,重新获取新的IP地址10.0.0.1,此种情况会导致手机向服务器重新申请服务,此时会中断应用(因为IP变了)

    IPv4的解决方案时使用家乡代理来解决,即移动到AP2后会使用原来的192.168.1.1的IP地址去访问服务器,不过会造成次优路径

    IPv6使用扩展目的选项报头解决

    发送时携带目的选项报头,将现在的IP地址与之前的IP地址联系起来

    路由报头——强制报文经过某台设备

    指定报文必须经过的中间节点,不再依靠IGP路由

    分段报头——进行数据分片

    当报文超过了MTU时就需要将报文分段发送,通过分段扩展头部来完成

    在进行分段传输前,会先通过Path MTU报文协商MTU

    中间路由器不再处理分片,只在产生数据的源节点进行分片

    省却中间路由器为处理分片而耗费的大量CPU资源

    认证报头——进行认证(AH技术)

    封装安全净载报头——进行认证和加密(ESP技术)

    IPv6提供了对IPSec的完美支持,上层协议可以省去许多安全选项


    Path MTU

    工作原理

    在IPv6中当设备收到报文后,发现报文长度比下一跳转发接口的MTU值大时,会将其丢弃

    并同时将转发接口的MTU值通过ICMPv6报文的“Packet Too Big”消息发送给源段主机

    源端主机以该值重新发送IPv6报文,减少由于重传带来的额外流量开销

    工作范围

    Path MTU发现协议可以动态发现整条传输路径上各链路的MTU值

    注意事项

    IPv6要求链路层所支持的最小MTU为1280

  • 相关阅读:
    【保姆级·创建对象】如何通过Supplier创建对象
    SQL常见问题之如何分析周活跃率?(每周的活跃率)——步骤具体且明确
    Qt (QInputDialog 、QMessageBox、QMessageBox)对话框实战
    区块链备案
    java学习笔记(十一)—— 异常机制
    辽宁CA与契约锁达成合作,携手推动辽宁省电子劳动合同订立及备案
    [360笔试]记录
    React学习--- 组件
    Shell基础练习2
    对几次通宵加班发版的复盘和思考
  • 原文地址:https://blog.csdn.net/m0_49864110/article/details/127694289