1. 程式人生 > >02-IPv6地址配置

02-IPv6地址配置

配置信息 png 參數 for 目的 本地 方式 客戶端使用 info

(參考華為官網資料)

IPv6地址配置有兩種:

  • 無狀態地址自動配置
  • 有狀態地址自動配置協議 -- DHCPv6協議


無狀態地址自動配置的過程

  1. IPv6主機首先通過路由器發現功能來獲取地址前綴信息
  2. 通過向接口已有的48bitMAC地址中插入16bit的FFFE生成接口ID
  3. 在生成了IPv6地址後會通過重復地址檢測來確認地址是否唯一

無狀態地址自動配置

  • 主機可通過路由器獲取到IPv6前綴並自動生成接口ID。
  • 實現流程:
    • 網絡節點向相連的路由器發送RS,請求地址前綴信息。
    • 路由器通過發送路由器通告RA,回復地址前綴信息。

技術分享圖片

  • RA報文:
    • 每臺路由器為了讓二層網絡上的主機和其他路由器知道自己的存在,定期以組播方式發送攜帶網絡配置參數的RA報文。
    • RA報文的Type字段值為134.
  • RS報文:
    • 主機接入網絡後可以主動發送RS報文。
    • RA報文是由路由器定期發送的,但是如果主機希望能夠盡快收到RA報文,他可以立刻主動發送RS報文給路由器。
    • 網絡上的路由器收到該RS報文後會立即向相應的主機單播回應RA報文,告知主機該網段的默認路由器和相關配置參數。
    • RS報文的Type字段值為133.

無狀態地址DAD檢查

  • DAD:重復地址檢測
  • 試驗地址:一個IPv6單播地址在分配給一個接口之後,還未通過DAD的地址
  • Solicited-node組播組:由單播或任播地址的後24位加上地址前綴FF02:0:0:0:0:1:FF00::/104組成。
    • 例如本示例中配置的試驗地址為2000::1,該地址被加入Solicited-node組播組FF02::1:FF00:1。
  • 當為接口配置IPv6地址時,DAD在本地鏈路範圍內檢測將要使用的IPv6地址是否唯一。

技術分享圖片

  • 節點使用的自己的試驗地址,並向所在的Solicited-node組播組發送一個請求,該請求是以該試驗地址為目標地址的鄰居請求( NS) 報文。
  • 如果收到某個其它站點回應的鄰居通告( NA)報文, 就證明該地址已被網絡上使用, 節點將不能使用該試驗地址進行通信。
  • 這種情況下, 網絡管理員需要手動為該節點分配另外一個地址。



EUI-64規範

  • 獲取有效IPv6地址有三種方式可以用來配置IPv6地址的接口ID
    • 網絡管理員手動配置
    • 通過系統軟件生成
    • 采用擴展唯一標識符(EUI-64)格式生成,也是最常用的方式
  • IEEE EUI-64標準采用接口的MAC地址生成IPv6接口ID。
  • MAC地址只有48位,而接口ID卻要求64。
  • MAC地址的前24位代表廠商ID,後24位代表制造商分配的唯一擴展標識。
  • MAC地址的第七高位是一個U/L位
    • 值為1時表示MAC地址全局唯一
    • 值為0時表示MAC地址本地唯一
  • 接口ID和路由分配的網絡前綴一起組成IPv6地址。
  • MAC地址向EUI-64格式轉換過程
    • MAC地址的前24位和後24位之間插入了16bit的FFFE
    • 將U/L位的值從0變成了1
  • 這樣就成了一個64bit的接口ID,且接口ID的值全局唯一。
IPv6地址:
fe80::1c4b:b8ff:fe16:91c4

mac地址:
1e4b:b816:91c4 
--> 1e4b:b8ff:fe16:91c4 (在中間插入fffe)
--> 1c4b:b8ff:fe16:91c4 (更改第七位1為0)



有狀態地址自動配置協議 -- DHCPv6協議

  • 無狀態地址自動配置
    • 路由器並不記錄主機的IPv6地址信息, 可管理性差
    • IPv6主機無法獲取DNS服務器地址等網絡配置信息
  • 有狀態地址自動配置協議 -- DHCPv6協議
    • DHCPv6服務器為主機分配一個完整的IPv6地址
    • 並提供DNS服務器地址等其他配置信息
    • 對已經分配的IPv6地址和客戶端進行集中管理

技術分享圖片

  • DHCPv6服務器與客戶端之間使用UDP協議來交互DHCPv6報文
    • 客戶端使用的UDP端口號是546
    • 服務器使用的UDP端口號是547。



DHCPv6基本協議架構

  • DHCPv6客戶端
    • 通過與DHCPv6服務器進行交互,獲取IPv6地址前綴和網絡配置信息,完成自身的地址配置功能。
  • DHCPv6中繼
    • 負責轉發來自客戶端方向或服務器方向的DHCPv6報文
    • 協助DHCPv6客戶端和DHCPv6服務器完成地址配置功能。
    • 只有當DHCPv6客戶端和DHCPv6服務器不在同一鏈路範圍內,或者DHCPv6客戶端和DHCPv6服務器無法單播交互的情況下,才需要DHCPv6中繼的參與。
  • DHCPv6服務器
    • 負責處理來自客戶端或中繼的地址分配、地址續租、地址釋放等請求
    • 為客戶端分配IPv6地址/前綴和其他網絡配置信息。

技術分享圖片

  • 客戶端發送DHCPv6請求報文來獲取IPv6地址等網絡配置參數,使用的源地址為客戶端接口的鏈路本地地址,目的地址為ff02::1:2。
  • ff02::1:2表示的是所有DHCPv6服務器和中繼, 這個地址是鏈路範圍的。

DUID

  • DHCPv6 Unique Identifier
  • 標識一臺DHCPv6服務器或客戶端
  • DUID采用以下兩種方式生成:
    • 基於鏈路層地址(LL)--即采用鏈路層地址方式來生成DUID。
    • 基於鏈路層地址與時間組合(LLT)--即采用鏈路層地址和時間組合方式來生成DUID。

DHCPv6分配地址

  • DHCPv6有狀態自動分配
    • DHCPv6服務器為客戶端分配IPv6地址及其他網絡配置參數
  • DHCPv6無狀態自動分配
    • 主機的IPv6地址仍然通過路由通告方式自動生成,DHCPv6服務器只分配除IPv6地址以外的配置參數。
  • DHCPv6客戶端在向DHCPv6服務器發送請求報文之前,會發送RS報文,在同一鏈路範圍的路由器接收到此報文後會回復RA報文。
  • 在RA報文中包含管理地址配置標記M和有狀態配置標記O
    • 當M取值為1時,啟用DHCPv6有狀態地址配置,
    • 當M取值為0時,則啟用IPv6無狀態地址自動分配方案。
    • 當O取值為1時,用來定義客戶端需要通過有狀態的DHCPv6來獲取其它網絡配置參數,如DNS、NIS、SNTP服務器地址等,
    • 當O取值為0時,啟用IPv6無狀態地址自動分配方案。


DHCPv6有狀態自動分配

技術分享圖片
DHCPv6四步交互地址分配過程如下:

  1. DHCPv6客戶端發送Solicit報文,請求DHCPv6服務器為其分配IPv6地址和網絡配置參數。
  2. DHCPv6服務器回復Advertise報文,該報文中攜帶了為客戶端分配的IPv6地址以及其它網絡配置參數。
  3. DHCPv6客戶端如果接收到了多個服務器回復的Advertise報文,則會根據Advertise報文中的服務器優先級等參數來選擇優先級最高的一臺服務器,並向所有的服務器發送Request組播報文。
  4. 被選定的DHCPv6服務器回復Reply報文,確認將IPv6地址和網絡配置參數分配給客戶端使用。

DHCPv6無狀態自動分配

技術分享圖片
DHCPv6無狀態工作過程如下:

  1. DHCPv6客戶端以組播方式向 DHCPv6服務器發送 InformationRequest報文。該報文中攜帶 Option Request選項, 用來指定DHCPv6客戶端需要從DHCPv6服務器獲取的配置參數
  2. DHCPv6服務器收到Information-Request報文後, 為DHCPv6客戶端分配網絡配置參數,並單播發送Reply報文,將網絡配置參數返回給DHCPv6客戶端。
  3. DHCPv6客戶端根據收到的Reply報文中提供的參數,完成DHCPv6客戶端無狀態配置。



IPv6二進制轉換表

十進制 二進制 十進制 二進制
0 0000 8 1000
1 0001 9 1001
2 0010 a 1010
3 0011 b 1011
4 0100 c 1100
5 0101 d 1101
6 0110 e 1110
7 0111 f 1111

02-IPv6地址配置