600 likes | 731 Views
IP V6. 林錦財 講解. 第六版網際網路協定的新特點. 增加位址空間,由 32 位元變成 128 位元 階層性位址,以減小核心路由器的路徑表 簡化標頭,使路由器及閘道器之處理與遶送變快 改進安全與資料整合性,包括認證與加密 自動組態措施,使主機不需人工即可自網路獲得 IP 位址 更嚴謹的服務品質保證,藉由優先順序處置 支援行動計算,藉由自動組態獲得 IP 位址. 為何位址要改成 128 位元. 網際網路用戶增加 行動用戶 行動電話 交通工具 車輛、飛機 消費性產品. 較大的位址空間. 提供全域到達性與彈性
E N D
IP V6 林錦財 講解
第六版網際網路協定的新特點 • 增加位址空間,由32位元變成128位元 • 階層性位址,以減小核心路由器的路徑表 • 簡化標頭,使路由器及閘道器之處理與遶送變快 • 改進安全與資料整合性,包括認證與加密 • 自動組態措施,使主機不需人工即可自網路獲得IP位址 • 更嚴謹的服務品質保證,藉由優先順序處置 • 支援行動計算,藉由自動組態獲得IP位址
為何位址要改成128位元 • 網際網路用戶增加 • 行動用戶 • 行動電話 • 交通工具 • 車輛、飛機 • 消費性產品
較大的位址空間 • 提供全域到達性與彈性 • 位址聚合(address aggregation) • 多重位址(multihoming) • 自動配置(autoconfiguration) • 隨插即用 • 不用NAT • 解決換位址問題
路由協定的對應改變 • OSPF v3: 只有位址變128位址 • RIPng • BGP: 階層性位址的交換
資料包格式 • 主要標頭 • 版本(version) • 交通類型(traffic type) • 流量標籤(flow label) • 負載長度(payload length) • 下一標頭(next header) • 跳數限制(hop limit) • 來源位址(source address) • 目標位址(destination address)
簡化的標頭 • 64-bit 對齊的欄位;較少的欄位 • 路由效率 • 無廣播 • 無檢查碼:由上層協定做 • 延伸標頭 • 流量標籤
交通類型 • 4位元優先等級(priority) • 值0~7:儘力式(best-effort) • 1: network news • 4: ftp • 值8~15:即時串流(real-time streams)
流量標籤 • 對於best-effort,設0 • 對於即時串流,使路由器識別屬同一通話(call)或議程(session)的個別封包 • 結合來源與目標位址,得以保留路徑上的資源
負載長度 • 表示資料包中,40位元組基本標頭之後的位元組數 • 最少長度是536位元組 • 最長長度是64 K 位元組 • 有別於IP第四版的總長度欄是包括標頭的
下一標頭 • 基本資料包基本標頭後,接著是傳輸層標頭,若此,則下一標頭指示傳輸協定種類 • 然而,必要時在主要標頭與傳輸層標頭之間,可以有延伸標頭(extension headers),若此,則下一標頭指示下一個延伸標頭之類型 • 目前有六種的延伸標頭 • 最後一個延伸標頭的下一標頭欄位則指示傳輸協定種類
延伸標頭 • 目前定義了6種延伸標頭(選項) • 逐跳選項(hop-by-hop options) • 目標選項(destination options)(若有使用路由選項) • 路由 (routing)選項 • 片段(fragment) • 認證(authentication) • 包裝安全負載(encapsulating security payload) • 目標選項(destination options) (若無使用路由選項) • 按照上列順序
選項格式 • 依照TLV格式 • 種類(Type) • 前2個位元決定當其無法被識別時的相對應動作 • 00: 忽略此選項,並繼續處理其他標頭選項 • 01: 丟棄整個封包 • 10: 丟棄封包,並回傳ICMP錯誤報告給來源 • 11: 類似10,但只有當目的位址不是群播位址才回報 • 長度(Length):該選項總長度-8 • 值(Value)
逐跳選項 • 此類標頭包含必須被路徑上每一部閘道器與路由器檢視的資訊,如RSVP、Multicast Listener Discovery v1的警示(alert) ,以及巨包。 • 前一標頭 (即主要標頭)中的「下一標頭」欄值為0 • 一個使用範例是載送超過64 K位元組的負載(所謂的巨包(jumbograms))於支援超大MTU的路徑上 • 長度欄位的長度不包含延伸標頭的前8個位元組
目標選項 • 目標選項 • 載送只供目標主機與路由選項中指定的拜訪位址(路由器)所需檢視的資訊;若此選項在ESP之後,則只供目標主機處理 • 前一標頭 中的「下一標頭」欄值為60 • 除了以TLV格式表示之選項外,為了確保標頭長度是8位元組的倍數,目前定義了兩個目標選項:Pad1 與 PadN • Pad1:填補單一位元組 • PadN:填補二個以上的位元組
路由選項 • 前一標頭中的「下一標頭」欄值為43 • 來源路徑(source routing): • 嚴格(strict),指定下一站位址 • 寬鬆(loose),指定下一個經由點位址
Example 6.7 • 延伸標頭初始內容 • Next header = TP • Header extension length = 2 x 4 = 8 • Routing type = 0 • Segments left = 0 • Strict/loose bit map = 11110000 00000000 00000000 • List of addresses = R1位址, R2位址, R3位址, B位址 嚴格路徑:A—R1—R2—R3—B
Example 6.7 (續) • 主要標頭內容 • 在來源:來源位址= A位址, 目標位址 = R1位址 Segments left = 0 • 在R1:來源位址= A位址, 目標位址 = R2位址 Segments left = 1 • 在R2:來源位址= A位址, 目標位址 = R3位址 Segments left = 2 • 在R3:來源位址= A位址, 目標位址 = B位址 Segments left = 3
片段選項 • 前一標頭中的「下一標頭」欄值為44 • 不同於IPv4 • 分段只有在來源端做;路由器與閘道器不做分段動作 • 無「不分段」(don’t fragment)位元 • 使用最小MTU長度(576位元組─此值不含主要標頭的40位元組)或使用路徑MTU發掘(path MTU discovery)程序以決定MTU • 負載長度欄 • 第一片段:整個訊息負載長度(包括選項) • 其他片段:該片段的負載長度(包括選項)
未分段 分成三段
認證與封裝安全負載 • 認證:確保訊息的確來自真正的來源,而不是偽冒者 • IPv6提供的認證標頭協定(Authentication Header, AH)也包含提供訊息的完整性(integrity),但不包括私密性(privacy) • 前一標頭中的「下一標頭」欄值為51 • 封裝安全負載(ESP) • 確保不洩漏資訊 • 傳輸模式加密(transport mode encryption) • 只保密TP部分 • 隧道模式加密(tunnel mode encryption) • 保密整個原來的封包 • 前一標頭中的「下一標頭」欄值為50
傳輸模式加密 加密 隧道模式加密 加密 原來封包 Figure 6.45Encapsulating security payload: (a) transport and tunnel modes; (b) example application of tunnel mode
位址結構 • 階層式(hierarchical)架構 • 方便位址聚合(address aggregation) • 減小路徑表 • 除了地理上的劃分(geographical breakdown),尚包括組織、用途的劃分 • 前置碼格式(prefix format)表
位址表示法 • 標準表示法:128位元的位址,每16位元以16進位法表示,以冒號(:)分隔 • 簡省表示 • 可省略每一段的起頭0 • 多段的全0,可以::代替,但至多只能一個:: • 例如:FEDC:BA98:7654:3210:0000:0000:0000:0089 • 可簡省為FEDC:BA98:7654:3210::89 • 嵌入的IPv4位址 • ::150.10.0.6 • ::FFFF:150.10.0.6
三種位址 • 單播(unicast) • 群播(multicast) • 廣播被群播所取代 • 任意播(anycast) • One-to-nearest • 多個設備共享一個位址,提供相同的服務 • 其格式與全域 unicast 位址並無區別
單播位址 • 鏈路局域單播位址(Link-local unicast address) • 傳送對象只限於同鏈結(直接相連網路)上的設備 (前置碼FE80::/64) • 唯一性局域位址(Unique localaddress ) • 原本定義Site local address (FEC0),但已廢除 • 相當於私有位址 (前置碼FC00::/7) • 全域單播位址(Global unicast address) • 可與間接相連網路上設備通訊 • 目前:前置碼2000::/3
全域單播位址(Global Unicast Address) extended universal identifier (EUI)-64格式
特殊單播位址 • 未指定位址 :: • 迴溯位址(loopback address) ::1 • 與IPv4相容的IPv6位址 ::IPv4 • 被IPv4映射的IPv6位址 ::FFFF:IPv4
任意播(Anycast) • 格式與全域單播位址相同 • 然而,一群的主機或是路由器可以都有相同的任意播位址。 • 提供相同功能的服務 • 因為無法與單播區別,主機或路由器必須特別由網管人員設定(告知)其為某任意播群組成員。 • 並設定前置碼之共同部份以決定所有成員的所在拓樸區域範圍 • 在此區域內所有路由器在路徑表中,為群組中的每個成員維護一條個別項目 • 目前只有少數用法,如router-subnet anycast 與 Mobile IPv6 home agent anycast
動態IPv6位址 • 全域單播位址:子網導碼+介面ID • 基本上,介面ID是根據MAC 48-bit位址得來的EUI-64 位址 • 例如轉換MAC位址00-0C-29-C2-52-FF 成 EUI-64 位址 00-0C-29-FF-FE-C2-52-FF • 若此ID用於局部單播位址,即為 000C:29FF:FEC2:52FF • 不過,若用於IPv6介面ID(RFC2373 and RFC3513),則須將第7 bit(稱為U/L位元)設為1 ,成為 020C:29FF:FEC2:52FF
鏈路局部位址 • 只限於與同鏈路上的其他設備通訊
自動組態 • 支援兩種自動組態 • 與局區路由器間的簡易(無狀態)要求回應協定 • ICMPv6的「路由器邀請」(router solicitation)與ICMPv6的「路由器廣告」(router advertisement)訊息 • 動態主機組態協定(Dynamic Host Configuation Protocol, DHCP) • 伺服器(Sever) • 中繼代理者(Relay agent )
動態主機組態協定 Figure 6.22The DHCP protocol: (a) example network topology
動態主機組態協定 廣播 廣播 單播 單播 租約期限 DHCP release Figure 6.22The DHCP protocol: (b) DHCP 訊息交換順序 區域網路 遠距 DHCP relay agent DHCP Server Dhcp client
無狀態自動組態 • 不需DHCP與DHCPv6伺服器 • 共有四個步驟 • 自動產生介面ID • 產生暫態位址 • 驗證在鏈路上位址的唯一性 • 利用ICMPv6的「鄰居邀請」(neighbor solicitation) • 若唯一,則用步驟2的位址;若不唯一,則需要人工設定 • 為避免被追蹤,也可能根據MAC位址來隨機產生介面ID
鄰居路由器發現協定 徵詢
群播位址 • 永久(permanent)位址:公認註冊的 • 暫時(temporary)位址:臨時私下使用的 • 視野(scope):決定是否再轉送,或丟棄 • 不需要TTL 例如FF05::/16為永久site-local群播位址
預定的群播位址 • FF00::至FF0F::是預定的(reserved)群播位址 • FF02::1 — 鏈路上的所有節點(link-local scope). • FF02::2 —鏈路上的所有路由器 • FF02::9 — 鏈路上的所有 IPv6 Routing Information Protocol (RIP) 路由器 • FF02::1:FFXX:XXXX — 鏈路上被徵詢節點(Solicited-node)群播,其中XX:XXXX是徵詢節點之單播或任意播位址(介面ID)的最右 24 bits • FF05::101 — 場區(site)中所有 Network Time Protocol (NTP) 伺服器 (site-local scope).
取代廣播 用於自動組態 用於位址解析 IPv6位址MAC位址 例如兩節點位址分別為 2001:DB8:200:300:400:500:AAAA:BBBB 2001:DB8:200:300:400:501:AAAA:BBBB 其中,鏈路導碼(prefix)為 2001:DB8:200:300::/64. 則被徵詢節點群播位址都是為FF02:0:0:0:0:1:FFAA:BBBB 被徵詢節點群播位址
IPv6群播位址轉MAC位址 IPv6 Multicast Address 32 bits FF02 0000 0000 0000 0000 0001 FF5C F038 Multicast Layer 2 Address 3333 FF5C F038 48 bits
IPv6 移動性(Mobility) • 移動性內建於 IPv6 中 • 不再需要「外地代理者」(foreign agents) • 對所有的移動節點,其關照位址(care-of address, CoA) 可以是全域性的 IPv6 可遶送位址(routable address) • 機制:選項標頭(option headers)、鄰居發現(neighbor discovery)、與自動組態(autoconfiguration) • 對許多情形,除去了三角遶送 (triangle routing) • 移動節點甚至可以無需安排地(transparently)與其他不支援移動性的節點一起運作 • 移動IPv6中的動態源地位址發現 (dynamic home agent address-discovery)機制只回傳單一的回應給移動節點
IPv6/IPv4相互運作 • 漸近地轉移至IPv6 • 使用的技術 • 雙重協定(dual protocols) • 雙重堆疊與隧道法 • 轉換器(NAT-PT)
雙重協定(Dual Protocols) • 如同時支援兩種協定 Figure 6.47IPv6/IPv4 interoperability using dual (IPv6/IPv4) protocols
雙重堆疊(Dual-Stack) • 可同時支援IPv4與IPv6的路由器