Ipv6 tutorial addressing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 107

IPv6 Tutorial - Addressing PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

IPv6 Tutorial - Addressing. 紀廷運 Louk Chi [email protected] Executive Secretary in IPv6 R&D division of the NICI Taiwan HSnetwork lab , NTHU. Outline. 1.1 IPv6 歷史沿革 1.2 IPv6 協定架構及其定址方式 1.3 Prefix Length. 1.1 IPv6 歷史沿革. 1990 年 IETF(Internet Engineering task Force) 進行新一代網際網路通訊協定的選擇作業

Download Presentation

IPv6 Tutorial - Addressing

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


IPv6 Tutorial - Addressing

紀廷運 Louk Chi

[email protected]

Executive Secretary in IPv6 R&D division of the NICI Taiwan

HSnetwork lab , NTHU


Outline

  • 1.1 IPv6歷史沿革

  • 1.2 IPv6協定架構及其定址方式

  • 1.3 Prefix Length


1.1 IPv6歷史沿革

  • 1990年IETF(Internet Engineering task Force) 進行新一代網際網路通訊協定的選擇作業

  • 1993年成立IPng Area (IPng:IP The Next Generation)來評估各項建議和技術的可行性以加速協定的制定。

  • 1994年CATNIP、SIPP、TUBA這三份IPng建議書最為人所支持。而在1995年RFC1752文件中,比較這三份建議書,經過多方討論廣納意見之後,決定採用SIPP,再加上128位元的位址以及自動設定等功能

  • 此時,新一代網路通訊協定(IPv6)的雛形就此誕生。在這之後,陸陸續續又有許多RFC被提出用來規範IPv6相關規格、位址架構、控制協定等標準,讓IPv6更臻完整也造就其蓬勃發展。


Outline

  • 1.1 IPv6歷史沿革

  • 1.2 IPv6協定架構及其定址方式

  • 1.3 Prefix Length


IPv6 address

  • 定址方式

  • Unicast address

  • Multicast

  • anycast


IPv6 定址方式

  • 傳統IPv4位址32位元的表示方式是將其以8個位元為單位分成四個段落,每一個段落以十進位表示,其最大數值為255。例如:

    • 95.135.44.23。

  • 在IPv6的128位元位址中,是以16個位元為單位分成八個段落,而每一段落均以四位數的十六進位表示,型態為x:x:x:x:x:x:x:x,其中x為四位數的十六進位。例如:

    • FFEE:BBAA:1234:C988:0000:0000:0987:1210


位址簡化規則

  • 為簡化IPv6的位址的表示方式,我們可將位址中位元為0的部份加以省略。

  • 主要原則為:

    • 在每一段落中前導(Leading)連續為0的位元可省略;

    • 另外若有連續段落均為0時,則可以”::”符號來表示。依此原則:FFEE:BBAA:1234:C988:0000:0000:0987:1210可簡化表示成FFEE:BBAA:1234:C988::987:1210

    • 需要注意的是”0987”中的0為該段落的前導,故可省略,但”1210”中的0就不能省略,因為若省略成”121”將被視為”0121”。


位址簡化原則(cont.)

  • 除此之外,”::”也可以用來表示整個IPv6位址中前導段式連續為0的情況,下面是其他幾個IPv6位址的表示範例:

    • 12FF:0:0:0:8:600:100A:2AFF → 12FE::8:600:100A:2AFF

    • 0:0:0:0:0:012A:12A0:1 → ::12A:12A0:1

    • 0:0:0:0:0:0:0:0 (unspecified address) → ::


嵌入式IPv4位址(IPv6 Address with Embedded IPv4 Address)

  • 在某些IPv4與IPv6並存的環境中,為方便起見,往往將既有的IPv4的32位元位址直接置於IPv6位址的最後32位元中,此種方式稱為嵌入式IPv4位址(IPv6 Address with Embedded IPv4 Address),而且IPv4位址保留其原本之表示方式,上述之原則仍然適用,如下所示:

    • 0:0:0:0:0:0: 95.135.44.23 → :: 95.135.44.23

    • 0:0:0:0:0:FFFF:129.145.88.43 → ::FFFF: 129.145.88.43


不分級跨範圍路由(CIDR)

  • 在IPv4位址架構中為表示位址有效的前導位元數所採用的不分級跨範圍路由(Classless Inter Domain Routing,簡稱CIDR)方式也可應用在IPv6位址的表示中,其主要的格式為IPv6-address/prefix-lingth

  • 其中IPv6-address可為上述任一種IPv6位址的表示方式,而prefix-length則為位址前綴的長度(以十進位表示)。例如,假設位址前綴為”AABB000000000C5”(十六進位,長度為60位元),則下列均為正確的表示方式

    • AABB:0000:0000:0C50:0000:0000:0000:0000/60

    • AABB::C50:0:0:0:0/60

    • AABB:0:0:C50::/60


IPv6位址架構

  • 典型的IPv6位址包含三個部份

    • 全球路由位址前綴(Global Routing Prefix)用來識別特殊位址,像是群體播送,或是指定一個網點(Site)的位址範圍。

    • 子網路識別碼(Subnet ID)用來識別網點中的鏈結 。

    • 介面識別碼(Interface ID) 用來識別一個鏈結上的介面,而且它在該鏈結上必須是唯一的。


單一播送位址(Unicast)

  • IPv6的單一播送位址主要包括子網路(Subnet)位址前綴與介面識別碼兩部份

  • 子網路位址前綴可為任意長度,在某些特殊情形下,我們可將128位元都視為節點位址,而沒有任何內在架構(Internal Structure)。

  • 一般而言,介面識別碼的長度大都為64位元。介面識別碼在單一播送位址架構中主要是用來區別鏈結中的介面;當子網路位址前綴加上介面識別碼所形成之位址必須是唯一的。

  • 在大部份狀況下,介面識別碼多直接由鏈結層(Link Layer)位址,例如,媒介存取控制(Medium Access Control, 簡稱MAC),直接轉換而來。


128

001 TLA RES NLA SLA Interface ID

001 0x1ffe NLA1 NLA2 SLA Interface ID

13

8

24

16

64

3FFE:3600:0000::/48 reserved

3FFE:3600:0001::/48 for NDHU 東華大學

3FFE:3600:0002::/48 for CCIT 中正理工學院

3FFE:3600:0003::/48 for NCKU 成功大學

3FFE:3600:0004::/48 for NCU-CSIE中央大學

3FFE:3600:0005::/48 for NCU-CC 中央大學

3FFE:3600:0006::/48 for NTU 臺灣大學

3FFE:3600:0007::/48 for 中正大學

3FFE:3600::/24 CHT-TL


2001::

  • IPv6網段名稱 IPv6網址範圍

  • 1HINET-TW-20000208 2001:0238::/32

  • 2TANET-TWNIC-TW-20001006 2001:0288::/32

  • 3ASNET-TWNIC-TW-20020711 2001:0C08::/32

  • 4TTN-TWNIC-TW-20020812 2001:0C50::/32

  • 5SIXREN-TWNIC-TW-20020827 2001:0C58::/32

  • 6CHTTL-TW-20021002 2001:0CA0::/32

  • 7SEEDNET-IPv6-TWNIC-TW-20021209 2001:0CD8::/32

  • 8TFN-TWNIC-TW-20030313 2001:0D20::/32

  • 9TWNIC-TW-v6-20030331 2001:0DC1::/32

  • 10TWNTT-NET-TWNIC-TW-20030519 2001:0D40::/32

  • 11NHRIv6-TWNIC-TW-20030523 2001:0D48::/32

  • 12GIGAMEDIA-TW-20030606 2001:0D58::/32


  • 在單一播送位址中又可分為

    • 鏈結區域位址

    • 網點區域位址

    • 全球位址


鏈結區域位址(Link local)

  • 鏈結區域位址是被設計用來當終端設備接單一鏈結網路上時,進行自動位址組態(Automatic Address Configuration)、及發現芳鄰(Neighbor Discovery)時使用;

  • 或在沒有路由器情況下,例如,多部終端設備經由一以太網路線互連,每一終端設備使用一鏈結區域位址就可使用。

  • 鏈結區域位址的主要特徵在不需判別子網路位址,故該欄位設定為0。

  • 若網路上有路由器,則路由器不該將發送端位址或目的端位址中任一為鏈結區域位址型態的封包轉送至另一鏈結上。


網點區域位址(Site local)

  • 網點區域位址的使用是在將封包的傳送侷限於某一網域內部,如此,一個連接外部網路的子網路閘道路由器不應將發送端位址或目的端位址中任一為網點區域位址型態的封包轉出此子網路外部。


任一播送位址(Anycast)

  • IPv6所規劃之任一播送位址基本上是將一個單一播送位址分配給多個屬於不同節點的介面,而傳送給此一位址之封包會依路由協定中的距離或花費(Cost)等條件,選擇一最近(少)之目的地。

  • IPv6任一播送位址的使用會有如下限制:

    • 任一播送位址不能做為IP封包之發送端位址

    • 任一播送位址目前只適合配置給IPv6網路中之路由器使用,而不分配給網路主機


群體播送位址 (Multicast)

  • 群體播送位址是指多個介面(通常屬於不同的節點)共同使用一相同位址,與任一播送位址不同的是封包傳送給此一位址時,網路需將此一封包送達每一個介面。而且一節點可同時屬於一個或一個以上之群體播送位址。


IPv6的優勢

  • 除了在定址上採用了128個位元來代表網路上裝置的識別碼,擴充了定址空間的容量之外,IPv6 簡化的表頭,可以加速網路處理的速度; 額外提供延伸表頭 (extension headers)及選擇欄位(option fields),使路由效能提昇。

  • 在服務品質(Qos, Quality of Service) 方面,IPv6 header 增加了流量等級(traffic class)和流向標籤(flow label)以提供網路的服務品質,在多媒體的應用上尤其重要。

  • IPv6 支援的隨插隨用功能:將之分為有狀態(Statefull)和無狀態(Stateless)兩種。一般IPv6使用的 Autoconfiguration 即屬於無狀態自動設定,­而DHCPv6則屬於有狀態自動設定。透過隨插隨用功能,可大大地減輕網管人員的負擔。


IPv6設計重點

  • 與目前IPv4協定堆疊中的流程相容

  • Protocol的單純化

  • 解決IPv4位址空間不足的問題

  • Mobile、Multicast

  • 運用更容易

  • Plug and Play

  • Security

  • 可應變後續的發展

  • 易於擴充新功能

  • 便於自IPv4移轉


Outline

  • 1.1 IPv6歷史沿革

  • 1.2 IPv6協定架構及其定址方式

  • 1.3 Prefix Length


Prefix Length

  • 位址前綴(Prefix)是位址的一部分,它表示具有固定值的位元或者是網路識別碼的位元。

  • 常見IPv6位址記成「位址/位址前綴長度」。例如,FE80::2AA:FF:FE9A:4CA2/64 表示位址的前 64 位元是網路位址前綴。位址前綴表示法也用於表示網路或子網路識別碼。例如,21DA:D3::/48 就是代表一個子網路。


Prefix Length

FP:可聚集的全球單一播送位址的前置碼(其值為001)

TLA ID:頂層聚集識別碼(Top-Level Aggregation Identifier)

RES:保留(Reserved)

NLA ID:下一層聚集識別碼(Next-Level Aggregation Identifier)

SLA ID:網點層聚集識別碼(Site-Level Aggregation Identifier)

Interface ID:介面識別碼


Prefix Length

  • 頂層聚集識別碼(Top-Level Aggregation Identifier)為最高層級的路由。

  • 保留(RES)為給TLA或NLA未來擴充所使用的。

  • 下一層聚集識別符(Next-Level Aggregation Identifier)是一個得到TLA識別碼的組織用來產生位址的層級和辨識不同的網點之用 。


Prefix Length

  • 每一個取得頂層聚集識別碼的組織也可利用其(24-n)位元的網點識別碼(Site ID)做更細部的規劃,分配第二層甚或第三層之NLA給它的下屬網路,讓下層的網路提供者可以自行規劃 。


Prefix Length

  • 網點層聚集識別碼(Site-Level Aggregation Identifier)是作為單一個組織產生本地層級位址和辨識子網路之用,網點層聚集識別碼也可以仿照上述的下一層聚集識別碼再分配的方式再分配下一層的網點層聚集識別碼給它的下屬網路。

  • 介面識別碼(Interface ID)是用來識別每一個連結的介面,而且介面識別碼的位址是由MAC層位址構成的64 位元 IEEE EUI-64格式來表示。


Prefix Length

  • 如果TLA ID分配太小的話,將會發生無法提供足夠路徑的問題,針對這樣的問題,解決的方法如下:

    • 借用RES欄位,使得TLA ID延伸到RES欄位,這樣可以增加到兩百萬個位址。

    • 再配置其他的FP前綴格式。


Prefix Length

  • 分配TLA ID和NLA ID時的規則共識:

    • TLA的數目限制在可以管理的範圍內。

    • TLA只配置給網際網路提供商或網際網路交換商,而不配置給末端用戶者,即使用戶者有多重連接的需求。

    • TLA只配置給打算在三個月內提供IPv6轉運服務的組織,以免造成位址的的浪費。

    • 配有TLA的組織,必須將所分配到的位址提供公開存取,方便做故障的排除。


Prefix Length

  • 位址前綴格式(Prefix)位址的分配不要超過48位元,這樣可以促進網點(Site)轉換到其他服務提供者或是multi-homing轉換到多個服務提供者位址的速度。

  • 想要在網際網路註冊使用TLA ID或是Sub-TLA ID者,必須付費給IANA(Internet Assigned Numbers Authority)

  • 已取得TLA ID或是Sub-TLA ID者,必須提供NLA ID位址空間註冊服務。

  • 定期提供已註冊的統計資料進行更新。

  • 組織要求配置其它新增的TLA ID或是Sub-TLA ID位址時,必須證明目前的NLA ID位址分配使用率超過90%。


Prefix Length

  • 調整後的TLA和NLA位址格式

    • FP(Format Prefix):設定001,可聚集的全球單一播送位址。

    • TLA ID(Top-Level Aggregation Identifier):設定為0x0001,由IANA配置。

    • Sub-TLA ID(Sub-TLA Identifier):可以由註冊者配置給組織或是IANA直接配置給組織,Sub-TLA ID配置時,不一定是連續的區域。

    • NLA ID(Next-Level Aggregation Identifier):由組織來分配成一些子網路給需求者,可以使用類似IPv4 CIDR的配置方式。


Prefix Length


Prefix Length

  • 浮動位址

  • RFC3513

  • RFC3177


Outline

  • IPv6 Header

  • Extention Header

  • ICMPv6

  • Neighbor Discovery


Outline

  • IPv6 Header

  • Extention Header

  • ICMPv6

  • Neighbor Discovery


認識IPv6標頭


  • Version (4bit)這個欄位代表IP版本,IPv6以二進位表示即為0110

  • Traffic Class (8bit)表示封包的類別或優先度,可評估封包傳送的先後次序,透過這個欄位,在流量壅塞的時候可以讓較重要的封包優先通過。 ․

  • Flow Label (20bit)流向標記顯示封包所屬的Flow編號。此欄位常用於需要即時服務或沒有預設品質要求的服務,來源將此欄位設定之後,傳輸的網路及路由便可根據此欄位所帶的值,發出RSVP或優先控制等要求,flow是從來源位址發送一連串的封包傳送至目的端,中途的路由器會提供特別處理,在相同流向下所有封包,其來源位址、目的位址、優先權和流向標記都會相同。由於此欄位的使用還在實驗階段,若經過沒有支援此欄位的主機或路由器,則會使用其預設值0。


  • Payload Length (16bit)表示IPv6標頭後帶有多少個封包,以Byte為單位來計算。此欄位16bit最多可表示至65535Bytes,而IPv6延伸標頭也包含在計算中。若Payload長度大於65535Bytes時,這個欄位便會被設為0,且IPv6表頭後帶著Hop By Hop Option延伸標頭內的Jumbo Payload Option。這個選項在MTU小於65535的環境以及封包有Fragment Header時均無法使用。

  • Next Header (8bit)此欄位可以辨識表頭型態,類似IPv4中的Protocol欄位,IPv6基本標頭之後可以接續一或多個延伸標頭,若沒有IPv6延伸標頭時,此欄位就顯示上層的協定代碼;當IPv6延伸標頭被附加時,此欄位就會顯示IPv6基本標頭後接續的第一個被分配之延伸標頭的種類,下表僅列出一些常用之欄位值。


  • Hop Limit (8bit)用來辨識封包是否繼續往下傳送,封包每傳遞一個節點,此欄位便會減1,當Hop Limit為0卻還沒有到達目的位址時,此封包就會被丟棄,該節點也會發送ICMP回應訊息通知來源端。

  • Source Address (128bit)顯示封包的來源位址

  • Destination Address封包的目的位址,一般而言都是設為最終目的的位址,但如果延伸標頭中有Routing Header存在的時候,就不設為最終目的,而是設定成Source Routing List中所紀錄下一個Route Interface的位址。


Outline

  • IPv6 Header

  • Extention Header

  • ICMPv6

  • Neighbor Discovery


Extension Header


Extension Header

  • IPv6 標頭由以下2項元件所構成的。

    • 固定40Byte之「IPv6基本標頭」

    • 除基本標頭之外,還可以有一個或多個的「IPv6延伸標頭」


Extension Header

IPv6 Datagram的一般形式:

  • - 當遇到沒有支援的延伸標頭時,回覆給對方ICMP Parameter Problem

  • Message (Type=1, Code=1),將封包捨棄。

  • - 有支援延伸標頭功能,但送來的延伸標頭Option不被支援時,對Option

  • 編號要求錯誤處理。


Extension Header


Extension Header

  • 當封包傳送在其傳輸路徑上時,這些延伸標頭都不會被處理與驗證,一直到此封包到達其IPv6標頭中Destination欄位所指定的端點。

  • 延伸標頭必須被嚴格地按他們在標頭中出現的順序來處理與分析。接收端不可以先掃描整個封包,然後只挑其中某些延伸標頭來處理而不管其前面的延伸標頭。

  • 唯一例外,一定會被檢查的延伸標頭就是Hop-by-Hop Options標頭,其攜帶的資訊必須在其傳送路徑上的每一個節點被處理與檢查。

  • 每個延伸標頭的長度都是8 Bytes的整數倍。


Extension Header

  • 當在同一個封包中有延伸標頭要被使用時,建議延伸標頭出現的順序如下所示:

    • 1.IPv6 Header

    • 2.Hop-by-Hop Options Header (RFC2460)

    • 3.Destination Options Header (RFC2460)

    • 4.Routing Header( Type 0 ) (RFC2460)

    • 5.Fragment Header (RFC2460)

    • 6.Authentication Header (RFC2402)

    • 7.Encapsulating Security Payload Header (RFC2406)

    • 8.Destination Options Header (RFC2460)

    • 9.Upper Layer Header


Extension Header

  • 延伸標頭中的Hop by Hop延伸標頭與目的地延伸標頭會用到的延伸標頭選項,使用ASN.1(Abstract Syntax Notation one)所制定之 TLV(Type-Length-Value)編碼格式來編碼。

  • Option的TLV編碼形式:


Extension Header

  • Option Type

  • 「Action Code」之2 Bit動作定義如下:

    • 00:此Option情報跳過,繼續處理下一個標頭。

    • 01:捨棄這個封包。

    • 10:不論封包的目的地位址是否為群播位址,捨棄這個封包,並回傳此封包的來源位址一個ICMP Parameter Problem, Code2, Message的封包,通知發送端Option Type無法被解讀。

    • 11:捨棄封包,並且除了封包的目的地位址是群播位址外(Unicast等),回傳此封包的來源位址一個ICMP Parameter Problem, Code2, Message的封包,通知發送端Option Type無法解讀。


Extension Header

  • 第3個Bit為「可否變更路由」,決定Option Data可否改變封包的路由。

    • 若為“0”時:Option Data不能在中途變更路由。

    • 若為”1”時:Option Data能在中途變更路由。

  • 剩餘的5的Bit,是填入表示實際Option Type之Operation Code。

  • Operation Code有如下的定義:

    • “0”:Pad1 Option

    • “1”:PadN Option


Hop by Hop Option Header

  • 當前一個標頭內的Next Header值為0時,指定接續的便是Hop by Hop Option標頭。Hop by Hop Option 標頭用來控制封包要經過哪些路由器。Hop by Hop延伸標頭可以用傳遞控制訊息(例如RSVP),來通知路徑上所有的路由器。Hop by Hop選項延伸標頭運載必須被封包所經路徑上的每個節點逐一檢查的選項資訊。


Routing Header

  • 當前一個標頭內的Next Header值為43時,指定接續的便是Routing標頭。此標頭是讓IPv6發送端去列舉一個或是多個,在封包到達其目的端之前,所需經過的中介節點(特殊路由設定,規範封包繞送路徑)。


Routing Header

  • Next Header (8 Bits)

    • 顯示接在Routing Header之後的延伸標頭的種類。

  • Hdr Ext Len (Header Extension Length) (8 Bits)

    • 以無號數來表示Routing標頭的長度,以8 Bytes為單位。

  • Routing Type (8 Bits)

    • 表示特定的路由型態。

  • Segments Left (8 Bits)

    • 以無號數來表示來表示剩餘Segment數,也就是顯示出到達最終目的地必通過之路徑的Segment數。

  • Type-Specific Data (可變長度)

    • 此欄位的內容與型式由指定的Routing Type決定。


Routing Header

  • Routing Type = 0時之Routing Header


Routing Header

Packet自S傳送至I1時

來源Address:S 目的地Address:D

【Routing 標頭內欄位值】

延伸標頭長度:6 剩餘Segment數:3

Address(1):I2 Address(2):I3 Address(3):D


Routing Header

Packet自I1傳送至I2時

來源Address:S 目的地Address:I2

【Routing 標頭內欄位值】

延伸標頭長度:6 剩餘Segment數:2

Address(1):I1 Address(2):I3 Address(3):D


Routing Header

Packet自I2傳送至I3時

來源Address:S 目的地Address:D

【Routing 標頭內欄位值】

延伸標頭長度:6 剩餘Segment數:0

Address(1):I1 Address(2):I2 Address(3):I3


Routing Header

Packet自S傳送至I1時

來源Address:S 目的地Address:D

【Routing 標頭內欄位值】

延伸標頭長度:6 剩餘Segment數:3

Address(1):I2 Address(2):I3 Address(3):D


Fragment Header

  • 當前一個標頭內的Next Header值為44時,指定接續的便是Fragment標頭。在網路上,當傳送的封包大於路徑的最大傳輸單位時,就必須先被分段化,到達目的地後再組合。Fragment標頭便是為了將比通往目的地之Link MTU更大之封包分割後傳送所使用的。

  • Fragment Offset (13 Bit)

    • 無符號整數。相對於原始標頭之分割部分的起點,跟隨在此標頭之後的資料與原封包分割部分之間的偏移值,以8Bytes為單位。

  • M Flag (1 Bit)

    • M Flag = 1 尚有Fragment資料

    • M Flag = 0 已是最終的Fragment

  • Identification (32 Bits)

    • 原本附加於各Fragment之識別號碼,用於Packet重新組合時使用


Fragment Header

  • 分割後的封包結構

    • 不可被Fragment化的部分

      • 包括IPv6標頭,以及必須傳送至目的位址的路徑中所使用的到的延伸標頭,可能包括有Hop by Hop標頭與Routing標頭。

    • 可Fragment部分

      • 封包中其餘的部份,也就是只有在最終目的端才會被處理之延伸標頭與上層(Transport層以上)與Data等。


Destination Options Header

  • 當前一個標頭內的Next Header值為60時,指定接續的便是Destination Option標頭。目的地選項標頭被用來載送封包接收端所需要檢查的選擇性資訊。


Authentication Header

  • (RFC2402)

    • 當前一個標頭內的Next Header值為51時,指定接續的便是認證標頭。IP認證標頭 AH(IP Authentication Header)是用來保證IP Datagram之「正確性」與「完整性」。


Authentication Header

  • Next Header (8 Bits)

    • 顯示接在認證標頭之後的延伸標頭的種類。

  • Payload Length (8 Bits)

    • 認證標頭的長度。

  • Reserved (16 Bits)

    • 為被保留之欄位。傳送時初始化為0,接收時則忽略掉。


Authentication Header

  • Security Parameter Index(SPI) (32 Bits)

    • 這個欄位值(SPI值)以32 Bits的值將此Datagram之Security Association(SA)指定出來。

  • Sequence Number (32 Bits)

    • 這個欄位為無號數計數器,是用於防止SA Replay(anti-replay Protection)用的。

  • Authentication Data (32 Bits 倍數的可變長度)

    • 這個欄位值為以32 Bits的整數倍之可變長度,包含為了檢查此封包的安全性之Integrity Check Valve值(ICV)。


Authentication Header

  • 認證標頭分為Transport Mode或Tunnel Mode兩種模式。

    • Transport Mode AH只能實際安裝於兩端點的Host。

      • IPv6 AH Transport Mode

    • Tunnel Mode AH不管是Host或Security Gateway都可使用。AH被實際安裝於Security Gateway時,只能使用Tunnel Mode。

      • IPv6 AH Tunnel Mode


Security Payload Capsule Header

  • 當前一個標頭內的Next Header值為50時,指定接續的便是Security Payload Capsule ESP (Encapsulating Security Payload)標頭也被稱為資料加密標頭,被使用在IP Datagram之加密。


Security Payload Capsule Header

  • SPI:Security Parameters Index (32 Bits)

    • 此識別子將Datagram之Security Association SA指示出來。

  • Sequence Number (32 Bit)

    • 這個欄位是用於防止SA Replay(Anti-Replay Protection)用的。

  • Payload Data (可變長度)

    • 這個欄位值為以32 Bits的整數倍之可變長,包含下一個標頭所顯示之Data。

  • Padding (可變長 0~255 Bytes)

    • 這個欄位是被加密所使用。


Security Payload Capsule Header

  • Padding Length (8 Bits)

    • 計算前一個Padding的長度,以Bytse為單位。

  • Next Header (8 Bits)

    • 顯示接在Security Payload Capsule Header之後的延伸標頭的種類。

  • Authentication Data (32 Bits 倍數的可變長度)

    • 這個欄位值為以32 Bits的整數倍之可變長度,包含為了檢查自此ESP Packet減去認證標頭後計算之Packet的安全性之Integrity Check Valve值(ICV)。此欄位的長度取決於被選擇的認證機能。


Security Payload Capsule Header

  • ESP 標頭如同認證標頭分為Transport Mode或Tunnel Mode。

    • Transport Mode ESP只能實際安裝於Host,並保護TCP、UDP及ICMP等上層協定。

    • Tunnel Mode ESP不管是Host或Security Gateway都可使用。ESP被實際安裝於Security Gateway時,只能使用Tunnel Mode。


No Next Header

  • IPv6基本標頭或者延伸標頭內的下一個標頭欄位值為59時,即表示沒有下一個延伸標頭的存在。


Outline

  • IPv6 Header

  • Extention Header

  • ICMPv6

  • Neighbor Discovery


ICMPv6 (Internet Control Message Protocol version 6)

  • 執行一些網路層的功能。

  • 提供用於疑難解答的報告傳輸或轉寄錯誤回應服務。


ICMPv6訊息格式

  • Type:訊息的類型,大致上分兩大類

    • 錯誤的訊息:Type0~Type127

    • 資訊的訊息:Type128~Type255

  • Code:依據類型欄位再將其細分為各類

  • Checksum:用來偵測ICMPv6訊息和部分的IPv6標頭是否有錯誤資料

  • Message Body:隨著訊息類型及代碼不同而異,是用來存放訊息的欄位。


Type

說明

1

Destination Unreachable

2

Packet Too Big

3

Time Exceeded

4

Parameter Problem

ICMPv6錯誤訊息


Destination Unreachable

  • 當封包再網際網路上傳送時,若是路由器無法轉送或是節點發生故障,都會發生目的地無法到達的情形。

    • Type:1

    • Code:

      • 0:no route to destination

      • 1:communication with destination administratively prohibited

      • 2:not assigned

      • 3:address unreachable

      • 4:port unreachable

    • Unused:須被傳送端設定為0,且會被接收端忽略。

    • Data:儘可能地填入原始資料,但不能超過最小的IPv6最大傳輸單位。


Packet Too Big

  • 此資訊用在路徑最大傳輸單位找尋(Path MTU Discovery)上。

    • Type:2

    • Code:被傳送端設定為0,且接收端會忽略。

    • MTU:為下一個轉送站連線的最大傳送單位資訊。

    • Data:回傳要丟棄的資料,但不能超過1280bit。


Time Exceeded

  • 在IPv6標頭有一個最大轉送數(Hop Limit)欄位,用來防止封包在網路中永無止盡地傳送,每經過一個路由器則減1,直到為0時,此時路由器會將封包丟棄,並且傳送此訊息給來源端。發生此訊息的原因不是發生路由迴圈的情形就是起始最大轉送數設定太小。

    • Type:3

    • Code:

      • 0:超過最大轉送數的限制(hop limit exceeded in transit)

      • 1:區段重組時間超過(fragment reassembly time exceeded)

    • Unused:須被傳送端設定為0,且會被接收端忽略。


Parameter Problem

  • 如果IPv6的節點對於IPv6標頭或是延伸標頭的欄位識別有問題時,會將此封包丟棄,且送出此訊息給來源端。

    • Type:4

    • Code:

      • 0: 遭遇到錯誤的標頭欄位(erroneous header field encountered)

      • 1: 遭遇到無法辨識下一標頭的類型(unrecognized Next Header type encountered)

      • 2:遭遇到無法辨識IPv6選項(unrecognized IPv6 option encountered)

    • Pointer:用來指出被偵測出錯誤的是在原始封包中的哪一個位元組。

    • Data:儘可能地填入原始資料,但不能超過最小的IPv6最大傳輸單位。


ICMPv6資訊訊息

PING

ND


Echo Request PING

  • 每個節點皆必須實作ICMPv6 Echo應答功能,以接收Echo要求或發送Echo回應的訊息。

    • Type:128

    • Code: 0

    • Identifier:用來比對要求與回應訊息是否符合的欄位

    • Sequence:用來比對要求與回應訊息是否符合的號碼。

    • Data:可以為零個或是多個位元組的任意資料。


Echo Reply PING

  • 收到一個單一播送位址的Echo要求訊息,回應訊息之來源位址為此要求訊息之目的地位址。若收到一個群體播送位址的Echo要求訊息,回應訊息必須被傳送,且其來源位址為接收到Echo要求訊息介面之單一播送位址。

    • Type:129

    • Code: 0

    • Identifier:與Echo要求訊息識別符相同的欄位值。

    • Sequence Number:與Echo要求訊息序號相同的欄位值。

    • Data:從Echo要求訊息的資料複製到此欄位。


Outline

  • IPv6 Header

  • Extention Header

  • ICMPv6

  • Neighbor Discovery


ND資料結構

  • 芳鄰快取(Neighbor Cache)

  • 目的地快取(Destination Cache)

  • 前置清單(Prefix List)

  • 預設路由器清單(Default Router List)


Address Resolution


Address Resolution

Neighbor Solicitation


Address Resolution

Neighbor Advertisement


Router Discovery


Router Discovery

Router Solicitation


Router Discovery

Router Advertisement


Neighbor Unreachability Detection

  • Neighbor Cache Entry States

No Entry Exists

INCOMPLETE

REACHABLE

STALE

DELAY

PROBE


REDIRECT FUNCTION

(1)Send a Unicast packet


REDIRECT FUNCTION

(2)轉寄單點傳播封包


REDIRECT FUNCTION

(3)Redirect


ND 訊息

  • Router Solicitation

  • Router Advertisement

  • Neighbor Solicitation

  • Neighbor Advertisement

  • Redirect


Router Solicitation

  • Type:133

  • Code:0。

  • Checksum:用來偵測ICMPv6訊息和部分的IPv6標頭是否有錯誤資料

  • Reserved:未使用的欄位。由傳送端初始為0,且會被接收端忽略。

  • Options:

    • Source link-layer address

Back


Router Advertisement

  • Type:134

  • Code:0

  • Options

    • Target link-layer address

    • MTU

    • Prefix Information

Back


Neighbor Solicitation

  • Type:135

  • Code:0

  • Target Address:佔128位元。

  • Options:

    • Source link-layer address

Back


Neighbor Advertisement

  • Type:136

  • Code:0

  • Options

    • Target link-layer address

Back


Redirect Message

  • Type:137

  • Code:0

  • Target Address:佔128位元。

  • Destination Address:佔128位元。

  • Options:

    • Target link-layer address

    • Redirect Header

Back


ND選項格式

  • 芳鄰找尋訊息包含零個或多個選項。

    • 類別:佔8位元。用來辨識選項的類型。

    • 長度:佔8位元。以8個位元組為單位來表示選項(包含類型及長度欄位)的長度。


Source/ Target Link-Layer Address

  • Source Link-Layer Address

    • Neighbor Solicitation

    • Router Solicitation

    • Router Advertisement

    • :: 時,不包含 Source Link-Layer Address 選項。

  • Target Link-Layer Address

    • Neighbor Advertisement

    • Redirect

  • Type:

    • 1表來源鏈結層位址

    • 2表目標鏈結層位址


Prefix Information

  • Prefix Information

    • Router Advertisement

  • Type:3


MTU

  • MTU 選項在

    • Router Advertisement

  • Type:5

    • Length:1

    • Reserved:此欄位尚未使用。

    • MTU:佔32個位元的整數值。


Redirected Header

  • Redirect Header

    • Redirected Message


end


  • Login