IPV6理論詳解

IPV6理論詳解

IPv4侷限性:

1.地址短缺.

2.IP頭部比較複雜.

3.路由器和主機的配置比較複雜.

4.複雜的重編址.

5.路由表非常龐大.

5.IP安全,IP組播和移動IP部署困難.

IPv4解決方案:

1.NAT(PAT)

端到端的IP模型被破壞了,轉發速率慢,佔用資源多.

2.子網劃分(VLSM)

3.DHCP.

4.CIDR.

5.強制高效的地址管理.

IPv6特點:

1.龐大的地址空間

全球可達性和靈活性.

支持更好的地址聚合.

支持多宿主.

支持Stateless地址自動配置.

支持即插即用.

端到端之間不需要NAT.

支持更好的重編址機制.

2.更簡單的報頭

路由更有效.

性能和轉發速率可靠.

不存在廣播.

不存在校驗和.

支持擴展報頭.

流標籤.

3.支持移動性和安全性

遵循RFC的移動IP.使用擴展報頭(路由選擇報頭和目的地址報頭).

強制的IPsec(AH和ESP).

4.過渡方式豐富多彩

雙棧

6-to-4 Tunnel

NAT轉換

IPv4與IPv6對比

1.地址空間

IPv4地址是32bits,可提供2^32個地址.

IPv6地址是128bits,可提供3.4x10^38個地址.

2.報頭

IPv4報頭長度範圍是20 - 60字節,IPv6報頭為固定長度40字節.

Version(4bit) IPv4為0x0100,IPv6為0x0110.

Traffic Class(8bit) 與IPv4的ToS相對應,主要用於DiffServ.

Flow Label(20bit) IPv4中流使用5元素標記分別是源和目的IP地址,源和目的端口號以及上層協議.IPv6中流只使用源和目的IP地址以及流標籤.

Payload Length(16bit) IPv6數據包有效負載長度.

Hop Limit(8bit) IPv4中是TTL,每經過一條路由器將其減1.

Next Header(8bit) 逐跳選項報頭(0),目的選項報頭(60),路由報頭(43),分段報頭(44),AH報頭(51),ESP報頭(50)

IPv6編址

8個16bit的十六進制段用":"分隔,每個16bit段中值範圍是0x0000 - 0xFFFF.

IPv6地址簡寫規則

1.每個16bit段中如果起始為0,則可省略.

2.在連續的16bit段如果都為0,則可書寫為"::",但每個IPv6地址只能出現一個"::".

::/0是IPv6的缺省地址.

::/128是IPv6的未指定地址(Unsecified Address).

::1/128是IPv6的Loopback接口地址.

IPv6地址類型

1.單播

用於一個單獨的接口.

A.全局單播地址(Global Unicast Address)

範圍是2000-3FFF,2000被保留.

2001::/16 全球第一個商用IPv6地址.

2002::/16 6-to-4 Tunnel保留使用.

3FFF::/16 非商業化IPv6地址,教育和科研等使用.

注:每個接口上可以存在多個全局單播地址.

B.鏈路本地單播地址(Link Local Unicast Address)

範圍是FE80::/10.用於在本地鏈路上標識設備的唯一性.

EUI-64是在MAC地址第24位後插入FFFE從而形成了Interface-ID,接口MAC地址第7位置為1,表示是全局唯一的.

IPV6理論詳解

C.站點本地單播地址(Site Local Unicast Address)

範圍是FEC0::/10.類似於IPv4的私有IP地址.

2.組播

標識一組設備.

IPV6理論詳解

Flag 0表示是永久的, 1表示是臨時的.

Scope 1表示本地接口,2表示是鏈路本地,3表示本地子網,4表示本地管理,5表示是場點本地,8表示組織本地,E表示全球範圍.

FF02::1--本地鏈路上的所有節點.

FF02::2--本地鏈路上的所有路由器.

FF02::5--本地鏈路上的所有OSPFv3路由器.

FF02::6--本地鏈路上的所有OSPFv3 DR.

FF02::9--本地鏈路上的所有RIP路由器.

FF02::A--本地鏈路上的所有EIGRP路由器.

FF02::C--本地鏈路上的所有DHCP服務器.

FF02::D--本地鏈路上的所有PIM路由器.

FF02::1:FFXX.XXXX--請求節點地址.

FF05::101--場點本地上的所有NTP服務器.

3.任意播

一到最近.多個設備共享一個相同的地址.路由器會選擇最近的設備到達目的地.

Neighbor Discovery Protocol(NDP)

依靠ICMPv6實現的,IPv6協議號是58.

1.重複地址檢測DAD(Duplicate Address Detection)

IPV6理論詳解

使用ICMPv6類型135 NS和請求節點地址.

路由器A發送NS,Source-IPv6為::,Destination-IPv6為其自己的請求節點地址.

路由器B也發送NS,如果出現重複地址的話,則只允許一方使用其配置的IPv6地址.

Router(config-if)#ipv6 nd daa attempt value--設置接口上DAD請求次數,設置為0表明不發送DAD請求.

2.代替ARP

IPV6理論詳解

使用ICMPv6類型135 NS和136 NA以及請求節點地址.

路由器A發送的NS中Source-IPv6為::,Destination-IPv6為路由器B的請求節點地址.Source-MAC為Y,Destination-MAC為路由器B的IPv6地址到組播MAC地址的映射.

路由器A發送的NS中Source-IPv6為W,Destination-IPv6為X.Source-MAC為Z,Destination-MAC為Y.

Router(config)#ipv6 neighbor ipv6-address/prefix-length interface mac-address--手工設置IPv6鄰居的MAC地址.

Router(config-if)#ipv6 nd ns-interval milliseconds--調整NS的發送間隔.

Router(config-if)#ipv6 nd reachable-time milliseconds--調整IPv6鄰居可達性的時間驗證間隔,默認為30分鐘.

Router#show ipv6 neighbors--查看IPv6的鄰居表(相當於IPv4的ARP表).

Router#clear ipv6 neighbors--清除IPv6的鄰居表.

3.無狀態的自動配置(Stateless autoconfiguration).

使用ICMPv6類型133 RS和134 RA.

1).前綴通告

IPV6理論詳解

使用ICMPv6類型134和組播地址FF02::1.

路由器A週期性發送RA,Source-IPv6為路由器A的本地鏈路地址,Destination-IPv6為FF02::1,RA消息中包含前綴,前綴長度以及接口MTU.

PC B發送RS,Source-IPv6為PC B的本地鏈路地址,Destination-IPv6為FF02::2.

Router(config-if)#ipv6 nd prefix ipv6-prefix/prefix-length [default valid-lifetime preferred-lifetime at valid-date preferred-date] off-link no-autoconfig no-advertise

ipv6-prefix/prefix-length RA中通告的前綴信息,無狀態自動配置的Prefix-length默認為64.

default 採用默認參數.

valid-lifetime 無狀態配置得到的IPv6地址的有效期.

preferred-lifetime IPv6地址保持首選項狀態的時間.

Router(config-if)#ipv6 nd suppress-ra--關閉接口上發送RA,通常用於連接路由器時.

Router#show ipv6 routers

4.MTU發現(PMTUD).

使用ICMPv6類型2,數據包超長錯誤信息.使用PMTUD發現的MTU值被源端緩存.

Router#show ipv6 mtu

5.ICMP重定向.

使用ICMPv6類型137.

Router(config-if)#ipv6 redirects

133 Router Solicitation(RS)前綴請求

RS由主機發送.源地址為鏈路本地單播地址,目的地址為FF02::2.每次啟動時只能發送3個RS.

134 Router Advertisement(RA)前綴通告

RA由路由器發送.源地址為鏈路本地單播地址,目的地址為FF02::1.每200s或收到RS時發送.

包含MAC地址,MTU以及prefix信息.

135 Neighbor Solicitation(NS)鄰居請求

NS數據包中的源地址為::(Local),目的地址為FF02::1:FFXX.XXX(XX.XXXX為鏈路本地單播地址的最後24bits),其中的target中包含本地鏈路單播地址.

136 Neighbor Advertisement(NA)鄰居通告

NA中宣告本地路由器使用的IPv6地址,其中源地址為其全局單播地址或鏈路本地單播地址,目的地址為FF02::1.

137 Redirect

IPV6理論詳解

配置命令

Router(config)#ipv6 unicast-routing--啟用IPv6路由.

Router(config-if)#ipv6 enable--在接口上自動配置鏈路本地單播地址.

Router(config-if)#ipv6 address FE80:x.x.x.x.x.x.x/n link-local--修改鏈路本地單播地址

Router(config-if)#ipv6 address x.x.x.x.x.x.x.x/n--直接配置IPv6全局單播地址.

Router(config-if)#ipv6 address x.x.x.x.x.x.x.x/n EUI-64--依據Interface-ID配置全局單播地址.

Router(config-if)#ipv6 address autoconfig--IPv6地址無狀態自動配置.

Router#show ipv6 interface slot/port

Router#show ipv6 neighbors

Router#show ipv6 route--查看IPv6路由表.

Router#show ipv6 protocols

IPv6路由協議

1.Static

Router(config)#ipv6 route ipv6-prefix/prefix-length {next-hop | interface} [distance]

Next-hop必須指定為下一跳的本地鏈路地址且要配置出站接口.

Router(config)#ipv6 route ipv6-prefix/prefix-length interface link-local-address--推薦IPv6靜態路由配置方式.

Router(config)#ipv6 ::/0 interface next-hop--配置IPv6缺省路由.

2.RIPng

DV路由協議,最大跳數為15跳,RIP的防環機制仍然保留.使用組播地址FF02::9.使用UDP端口號521.

下一跳地址為鏈路本地單播地址,更新源地址也是本地鏈路地址.

Router(config)#ipv6 router rip tag--啟用RIPng進程,tag只標識進程本地有效.

Router(config-if)#ipv6 rip tag enable--接口上啟用RIPng進程.

Router(config-if)#ipv6 rip tag default-information {only | originate}--宣告RIPng缺省路由,only表示只宣告缺省路由抑制其他明細路由.originate表示既宣告缺省也宣告明細.

Router(config-if)#ipv6 rip tag summary-address ipv6-prefix/prefix-length--配置RIPng路由彙總.

Router(config-if)#ipv6 rip tag metric-offset number--配置RIPng偏移列表.

Router#debug ipv6 rip

Router#clear ipv6 rip tag

3.OSPFv3

與IPv4具有相同機制.

攜帶IPv6地址,鏈路本地單播地址用於源.

Link-ID取消了.OSPFv3 Router-ID必須手工指定.

OSPFv3 LSA

0x2001 LSA 只包含ADV Router以及鄰居的Router-ID

0x2009 LSA(鏈路) 包含鏈路本地單播地址以及接口地址.

0x2009 LSA(區域內前綴) 包含前綴信息.

以上三個LSA 相當於將OSPFv2 Router LSA進行了拆分.

0x2003 LSA(區域內前綴LSA)

0X2004 LSA(區域間前綴LSA)

0x2005 LSA 攜帶外部網絡的前綴信息.

Router(config)#ipv6 router ospf process-id

Router(config-rtr)#router-id x.x.x.x--必須手工設置Router-id.

4.IS-IS

Router(config)#router isis [tag]

Router(config-router)#net network-entiy-title

Router(config-if)#ipv6 router isis

5.MP-BGPv4

Router(config)#router bgp autonomous-system

Router(config-router)#no bgp default ipv6-unicast

Router(config-router)#bgp router-id x.x.x.x--IPv6中仍然使用一個32bit的點分十進制表示的Router-ID.

Router(config-router)#neighbor ipv6-address remote-as autonomous-sysytem

Router(config-router)#address-family ipv6 unicast

Router(config-router-af)#neighbor ipv6-address activate

Router(config-router-af)#network ipv6-prefix/prefix-length

Router#show bgp ipv6 [summary]

6.EIGRPv3

IPv4與IPv6的轉換

1.雙棧

IPv4以太網幀的協議ID為0x0800,IPv6以太網幀的協議ID為0x86DD.

在Cisco路由器接口上同時配置了IPv4和IPv6地址就是啟用了雙棧.

2.Tunnel

路由器必須支持雙棧.將IPv6數據包封裝到IPv4數據包中.【IPv4報頭 IPv6報頭 有效載荷】

IPv6有效載荷減少了20字節(IPv4報頭).封裝在IPv4的IPv6數據包使用IP協議號41.

1).IPv6 over IPv6

Router(config)#interface tunnel number

Router(config-if)#ipv6 address ipv6-prefix/prefix-length--推薦使用/64前綴.

Router(config-if)#tunnel source ipv4-address

Router(config-if)#tunnel destination ipv6-address

Router(config-if)#tunnel mode ipv6ip

Router(config)#ipv6 route ipv6-prefix/prefix-length tunnel number

2).6-to-4 Tunnel

使用2002::/16的地址空間,IPv4地址轉換為IPv6地址的形式是2002:IPv4-address::/48.

Router(config)#interface loopback number

Router(config-if)#ip address ipv4-address netmask

Router(config)#interface interface-type interface-number

Router(config-if)#ipv6 address ipv6-prefix/prefix-length

Router(config)#interface tunnel number

Router(config-if)#ipv6 unnumbered interface-type interface-number

Router(config-if)#tunnel source interface-type interface-number

Router(config-if)#tunnel mode ipv6ip 6to4

Router(config)#ipv6 route 2002::/16 tunnel number

3).6-to-4 Tunnel 中繼

在6-to-4 Tunnel上增加一條缺省路由.

Router(config)#ipv6 route ::/0 2002:IPv4-address::xx

3.NAT-PT

Router(config-if)#ipv6 nat

Router(config-if)#ipv6 nat prefix ipv6-prefix/96

Router(config)#ipv6 nat v6v4 source ipv6-address ipv4-address

Router(config)#ipv6 nat v4v6 source ipv4-address ipv6-address

Router#show ipv6 nat translations


分享到:


相關文章: