zoukankan      html  css  js  c++  java
  • 网络协议之ipv6

    1. 地址分类

    比較重要的主要有以下几种:

    本地链路地址:用于链路之间相互通信

    本地网站地址:用于子网内互相通信,类似于ipv4中的私有地址

    全球单播地址:类似于ipv4中的公网地址

    组播地址


    2. 地址获取

    主要有两种方式:无状态。有状态

    无状态。通过路由通告(RA)。得到网络前缀(prefix),结合本机MAC地址组成128bit的ipv6地址

    有状态,通过dhcpv6 server分配ip

    无状态方式能够单独使用。可是这样的方式仅仅能得到ip。其他网络參数。比方dns就无法通过这样的方式得到

    有状态方式既能够获取ip,也能获取dns等数据,可是它必须和无状态方式一起使用,原因例如以下:

    路由通告中的M和O位用于通知clientip以及dns从哪里获取

    M: Managed Address Configuration这个bit假设是1,代表要请电脑另外再去跟DHCPv6要IPv6 Prefix

    O: Other Configuration这个bit假设是1,代表请电脑去跟DHCPv6要DNS等等信息。

    我们常听到的stateful DHCPv6与stateless DHCPv6,就是由M bit与O bit的组合不同而来的。

    M=1,O=0 or 1:全部信息(包含Prefix、DNS等等信息)都请电脑使用DHCPv6取得。

    (Stateful DHCPv6)

    M=0,O=1:使用RA里面的Prefix。可是DNS等等信息请电脑使用DHCPv6取得。(Stateless DHCPv6)

    M=0。O=0:电脑将仅仅得到Prefix,无法取得DNS等信息

    下图是抓取的一个路由通告包,红框框起来的就各自是M位和O位



    3.地址解析

    相应于ipv4的arp。ipv6使用NS(Neighbor Solicitation)和NA(Neighbor Advertisement)来完毕ipv6地址到mac地址的映射。

    下图两图分别为NS与NA的抓包数据。NS中的红框框起来的target address,就是要查询的地址,当对端回应NA的时候,会在link-layer address填充自己的mac地址。当发送NS的主机接收到NA后。就能够完毕MAC地址到ipv6地址的映射

    NS



    NA



    4. 几种比較重要的icmpv6数据

    RS(Router Solicitation)
    RA(Router Advertisement):用于无状态地址分配
    NS(Neighbor Solicitation)
    NA(Neighbor Advertisement):用于地址解析
    Redirect:用于路由重定向



  • 相关阅读:
    Python中如何取字典中的键值
    Python中random模块的用法案例
    Python中模块import的使用案例
    Python中模块的定义及案例
    Python中from … import …语句
    Python中模块调用说明
    Python中模块、类、函数、实例调用案例
    Python中读写文件三部曲
    Python中特殊函数__str__()
    Python--网络编程-----基于UDP协议的套接字不会发生粘包
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6745296.html
Copyright © 2011-2022 走看看