510 likes | 729 Views
第 13 章. 網際網路協定 第 6 版 (IPv6). 為什麼需要 IPv6. 位址不夠用 目前利用 CIDR (Classless Inter-Domain Routing) 和 NAT (Network Address Translation) 來協助我們延長位址用盡的大限 大限終將到來!. IPv6 的效益和用途. 128 位元的定址空間 大量的位址 更多的階層和更彈性的位址架構 讓遶送更有效率、而且也更具規模調整性 安全性功能- IPSec 行動性-允許裝置從一個網路漫遊到另一個網路 , 而不會遺失連線 效率-簡化標頭的設計
E N D
第 13 章 網際網路協定第 6 版 (IPv6)
為什麼需要 IPv6 • 位址不夠用 • 目前利用 CIDR (Classless Inter-Domain Routing) 和 NAT (Network Address Translation) 來協助我們延長位址用盡的大限 • 大限終將到來!
IPv6 的效益和用途 • 128位元的定址空間 • 大量的位址 • 更多的階層和更彈性的位址架構 • 讓遶送更有效率、而且也更具規模調整性 • 安全性功能-IPSec • 行動性-允許裝置從一個網路漫遊到另一個網路, 而不會遺失連線 • 效率-簡化標頭的設計 • Availability-允許主機和網路有多個位址 • 擴展多點傳播通訊的使用-廢除廣播﹐提升效率
IPv6 的定址和表示法 IPv6位址樣本: 在URL中輸入IPv6位址: 加中括號﹐免得與原先輸入埠號用的冒號混淆! 去掉每一區塊開頭的 0 縮寫表示法: 兩個為 0 的區塊移除, 並使用兩個冒號代替 這樣會造成混淆!不行! 最多只能省略一處!
位址類型 • 單點傳播 (unicast) • 遞送到單一界面。為了負載平衡, 多個界面可以使用相同的位址 • 全域單點傳播位址 (global unicast address) • 典型可公眾遶送的位址, 與 IPv4 中的相同 • 鏈路區域位址 (link-local address) • 類似 IPv4 中的私有位址;它們並不會被遶送 • 唯一的區域位址 (unique local address) • 也是為了非遶送目的, 但它們幾乎是全域唯一的, 所以您可能不會讓它們重疊。其設計是要用來取代網點區域位址 (site-local address), 所以它們的用途基本上跟 IPv4 的私有位址相同 - 讓通訊流經整個site, 同時也能遶送到多個本地網路。網點區域位址已經在 2004 年 9 月宣告廢止 • 多點傳播 (multicast) • 遞送到該位址所指定的所有界面。它們有時也被稱為一對多位址。在 IPv6 中一定是以 FF 開頭 • 任意點傳播 (anycast) • 會辨識多個界面, 但只會遞送給根據遶送距離所定義的第一個位址。這可在多個界面上應用單一的位址
特殊位址 • 0:0:0:0:0:0:0:0 相當於 ::。等同於 IPv4 的 0.0.0.0, 而且是您在使用狀態式組態時, 典型的主機來源位址 • 0:0:0:0:0:0:0:1 相當於 ::1。等同於 IPv4 的 127.0.0.1 • 0:0:0:0:0:0:192.168.100.1在 IPv6 / IPv4 混合的網路環境下, IPv4 位址的寫法 • 2000::/3全域的單點傳播位址範圍 • FC00::/7唯一的區域單點傳播位址範圍 • FE80::/10鏈路區域的單點傳播位址範圍 • FF00::/8多點傳播位址範圍 • 3FFF:FFFF::/32保留供範例和文件記錄用 • 2001:0DB8::/32同樣保留供範例和文件記錄用 • 2002::/16使用在 IPv6 轉 IPv4 的過渡系統中 - 它的結構可以讓 IPv6 的封包在 IPv4 的網路上傳送, 而不需設定額外的隧道
自動組態設定 • 自動組態設定讓網路上的裝置可以使用鏈路區域單點傳播位址來幫自己定址 • 這個流程首先會先從路由器找到址首 (prefix) 資訊, 然後把裝置自己的界面位址當作界面 ID 附加在後面 • 界面 ID就是48 位元的MAC 位址, 中間再使用 FFFE 來補足為64位元。例如假設有個裝置的 MAC 位址如下:0060.d673.1987。在補足之後, 它看起來會是:0260.d6FF.FE73.1987 • 改變位址中的第 7 個位元來指定這個位址是區域唯一或全域唯一;位元值為 1 表示全域唯一性, 位元值 0 則表示區域唯一性。前面就是全域唯一的例子
自動組態設定流程 以多點傳播的方式傳送給每台路由器的多點傳播位址 RS 訊息是類型為 133 的 ICMP RA 訊息也是個多點傳播封包, 會送往每個節點的多點傳播位址, 並且是類型為 134 的 ICMP
使用 IPv6 設定 Cisco 路由器 • 預設上IPv6 交通轉送功能是關閉的, 所以要使用如下的整體設定命令來開啟 IPv6: • IPv6 在任何界面上的預設也是不開啟的, 所以我們必須到每個界面去個別開啟這個功能 • 方法一:界面設定命令 ipv6 address <ipv6prefix> / <prefixlength> [eui-64] • 指定 128 位元的全域 IPv6 位址, 或使用 eui-64 選項,如 • 或 • 方法二:開啟界面的功能, 讓它能應用自動的鏈路區域位址
DHCPv6 • 使用 IPv4 開機時, 客戶端會送出 DHCP 發現訊息來尋找伺服器, 要求伺服器提供客戶端所需的資訊。但在 IPv6 中會先發生RS 和 RA 流程。如果網路上有 DHCPv6 伺服器, 則客戶端收到的 RA 會告訴它是否有 DHCP 可以使用。如果沒有找到路由器, 客戶端會送出DHCP solicit message。這其實就是多點傳播訊息, 且其來源為 ff02::1:2, 代表所有的 DHCP 代理人, 包括伺服器和中繼器 • Cisco IOS 對 DHCPv6 提供一些支援, 但是僅限於無狀態式的 DHCP 伺服器。表示它並不提供pool的位址管理, 而且設定address pool的可用選項也侷限在 DNS、網域名稱、跟 SIP 伺服器而已
DHCPv6組態設定(續) • 設定好儲備池之後要將它指定給某個界面 (這裡與 IPv4 不同): • 現在有一個完整設定的 DHCPv6 伺服器應用在 fa0 / 0 界面上了
ICMPv6 • ICMPv6 並不是實作為單獨的第 4 層協定。它是 IPv6 的一部分, 跟在基本 IPv6 標頭資訊後面的延伸標頭 • ICMPv6 新增了一項功能 - 透過path MTU discovery的程序, 讓 IPv6 不用分割封包。運作方式如下: • 連線的來源節點傳送長度相當於本地鏈路 MTU 的封包。當封包穿越路徑前往目的地時, 任何 MTU 小於目前封包長度的鏈路會迫使居間的路由器傳送「封包過長」的訊息給來源機器。這個訊息會告訴來源節點關於那條受限鏈路的 MTU, 並且要求來源機器傳送可以通過的較小封包。這個過程會持續到終於抵達目的地為止, 而來源節點則根據其結果來調整路徑的 MTU
ICMPv6(續) • ICMPv6 現在承擔了尋找本地鏈路上其他裝置位址的任務。IPv4 使用ARP來執行這項功能, 但在 ICMPv6 中則重新命名為Neighbor Discovery • 這個流程是使用稱為solicited node位址的多點傳播位址, 而所有主機在連到網路時就會加入這個多點傳播群組。它們的部份 IPv6 位址 (最右邊 24 個位元) 會加到這個多點傳播位址 FF02:0:0:0:0:1:FF / 104 的結尾。當有裝置查詢這個位址時, 對應的主機會送回它的第 2 層位址。裝置可以用幾乎相同的方式來找到並且記錄網路上其他的鄰居裝置 • 稍早提到 RA 和 RS 訊息時, 曾經說過它們使用多點傳播交通來請求和傳送位址資訊, 這也是 ICMPv6 的功能之一 - 更具體來說, 這就是Neighbor Discovery • IPv4 使用 IGMP 協定來讓主機裝置告訴區域路由器它加入了多點傳播群組, 並且想要接收該群組的交通。這項 IGMP 功能已經被 ICMPv6 取代, 而且也被重新命名為multicast listener discovery
IPv6 遶送協定 • RIP RIPng (下一代, next generation) • EIGRP EIGRPv6 • OSPFv2(for IPv4) OSPFv3(for IPv6)
RIPng • RIPng 的主要功能跟 RIPv2 完全相同 • 距離向量協定 • 最大中繼站數目 15 • 使用分割視野、逆向毒害、跟其他的迴圈避免機制 • 但使用UDP 埠號 521 • 還是使用多點傳播來傳送更新, 但使用的傳輸位址為 FF02::9。類似RIPv2的多點傳播位址224.0.0.9 • 路由器會為路徑表中的每個目的網路記錄下個中繼站位址 - 其鄰居路由器的位址。但在 RIPng 中, 路由器會使用鏈路區域位址、而不是全域位址來記錄下個中繼站位址
RIPng(續) • RIPng (以及所有 IPv6 遶送協定) 的最大改變可能是您得從界面設定模式來設定或開啟網路的宣傳, 而不是在路由器設定模式下使用 network 命令來進行。因此在 RIPng 中, 如果您直接在界面啟動它, 而沒有進入路由器設定模式並啟動 RIPng 程序, 仍然可以啟動一個新的 RIPng 程序: • 命令中的 1 是用來辨識目前執行中的 RIPng 程序的標籤, 這會啟動一個 RIPng 程序, 而您並不需要進入路由器設定模式 • 如果必須進入路由器設定模式來設定其他東西,您還是可以在此設定, 此時, 它在路由器上看起來如下: • RIPng 跟在 IPv4 的運作方式非常像, 而最大差異在於它是使用網路本身, 而不是使用過去的 network命令來開啟界面的遶送功能
EIGRPv6 • EIGRPv6 跟它在 IPv4 的前身還是非常相似 • 具有某些鏈路狀態功能的進階距離向量協定 • 在發現鄰居的流程中使用 Hello 封包 • 使用可靠的傳輸層協定來提供可靠的通訊 • 使用DUAL來提供無迴圈且快速的收斂 • Hello 封包和更新是使用多點傳播來傳輸, 而 EIGRPv6 的多點傳輸位址幾乎沒變。在 IPv4 中是 224.0.0.10;在 IPv6 中則是 FF02::A
EIGRPv6(續) • 不再使用 network命令, 而要宣傳的網路和界面則必須在界面設定模式下開啟 • 還是必須使用路由器設定模式來開啟 EIGRPv6 的遶送協定, 因為遶送程序必須像界面一樣使用 no shutdown命令來開啟: • 到界面上開啟 IPv6: 其他選項也可以在這個模式下設定 (例如重分送)
OSPFv3 • OSPF的基礎與IPv4 中的版本還是一樣 • OSPFv2中, RID是由指定給路由器的最高 IP 位址所決定 (或者您可以指定)。但在OSPFv3中, 您得指定 RID、區域 ID、和鏈路狀態 ID;這些都是 32 位元的值, 不能再使用 IP 位址, 因為現在 IPv6 的位址是 128 位元 • 緊鄰關係和下個中繼站屬性目前是使用鏈路區域位址 • OSPFv3 還是使用多點傳播交通來傳送它的更新和確認。OSPF 路由器是使用位址 FF02::5, 而 OSPF 委任路由器則是 FF02::6。這些新的位址分別用來取代 224.0.0.5 和 224.0.0.6
OSPFv3(續) • OSPFv2 無法在 OSPF 程序中指定特定的網路和界面。然而在 OSPFv3 中, 界面和連結的網路是直接在界面設定模式下設定: • 您必須在路由器設定模式下進行一些設定, 例如總結和重分送, 但是如果我們是從界面來設定 OSPFv3, 則甚至不必在這個提示列下設定 OSPFv3 • 當界面設定完成後, 路由器的設定程序會自動加入, 且界面的組態設定看起來如下: 只要到每個界面指定程序 ID 和區域就OK了
過渡到 IPv6 • 雙協定堆疊 • 讓裝置同時執行 IPv4 和 IPv6 的協定堆疊 • 6 轉 4 隧道技術 • 讓所有 IPv6 網路透過 IPv4 網路與另一個 IPv6 網路溝通 • NAT-PT • IPv4 主機只能與其他 IPv4 主機通訊, 而 IPv6 主機則和其他 IPv6 主機通訊 大多數情況下隧道法會運作的更好, 而且沒有組態設定和系統額外負擔的問題
雙協定堆疊 • 讓裝置可以使用 IPv4 或 IPv6 來通訊-這是最常見的過渡策略, 因為它最容易 • 雙堆疊讓您可以逐一升級網路上的裝置和應用。當網路上有越來越多主機和裝置升級之後, 大多數的通訊就會透過 IPv6 進行;等到所有東西都是執行 IPv6 之後, 您只要移除不再需要的 IPv4 協定堆疊即可 • 在 Cisco 路由器上設定雙堆疊其實非常容易 - 您只要開啟 IPv6 轉送, 並且在已經設定 IPv4 的界面上加入位址如下
6 轉 4 隧道 • 在 IPv4 網路上運送 IPv6 資料
6 轉 4 隧道的麻煩 • 如果所穿越的 IPv4 網路中有個 NAT 轉換點, 它可能會完全破壞我們剛才建立的隧道封裝! • 解決方法 • Teredo 讓所有的隧道交通放在 UDP 封包中。NAT 不會炸開 UDP 封包, 所以它們不會被破壞。因此, 利用 Teredo, 您的封包就可以在 UDP 的掩護下輕易地從 NAT 手下溜過而保持完好
NAT-PT • NAT protocol translation, NAT-PT • 靜態的 NAT-PT提供單一 IPv4 位址對單一 IPv6 位址的一對一對應 • 動態的 NAT-PT使用 IPv4 位址儲備池來提供與 IPv6 位址的一對一對應 • NAPT-PT提供多個 IPv6 位址對一個 IPv4 位址和埠號的多對一對應 • 在隧道技術中, 我們將 IPv6 偽裝為 IPv4 封包。但在 NAT-PT 中則沒有封裝 - 來源封包的資料會從一種 IP 類型中移出, 並重新封裝成新目的 IP 的類型 • 這並不真的是個很好的解決方案, 應該只有在逼不得已時才去用它。利用這個方法, IPv4 主機只能與其他 IPv4 主機通訊, 而 IPv6 主機則和其他 IPv6 主機通訊
在我們的互連網路上設定 IPv6 • 接下來要設定我們的互連網路範例 • 本來有 5 台相連的路由器, 但是為了保持簡單和容易瞭解, 我們不會在 871W 路由器上加入 IPv6, 或者應該說我們不會在連到 R1、R2、R3 路由器的 LAN 和 WLAN 網路上設定 IPv6 • 我們會新增 RIP 和 OSPF 遶送協定, 並且執行幾個確認命令作為結束
檢視Corp 路由器的路徑表 加入 FF:FE 以建立 eui-64 位址 我們在每個界面設定的 IPv6 位址 自動指定的鏈路區域位址
設定R1路由器 我們對 Corp 路由器到 R1路由器的鏈路兩邊各使用完全相同的 IPv6 子網路位址
設定與檢視R2路由器 我們對 Corp 路由器到 R2路由器的鏈路兩邊各使用完全相同的 IPv6 子網路位址
設定與檢視R3路由器 我們對 Corp 路由器到 R3路由器的鏈路兩邊各使用完全相同的 IPv6 子網路位址
設定 RIPng • 只需到每台路由器的每個界面輸入一個命令:
設定 RIPng(續) • 設定 R1 路由器: • 設定 R2 路由器: • 設定 R3:
確認 RIPng -- debug ipv6 rip 網路 / 子網路 12 是無法抵達的,因為 Corp 路由器的 s0 / 0 / 0 界面剛好在此時壞掉
設定 OSPFv3(續) IPv4 RID 被用在 OSPFv3 的緊鄰變更中