Trao đổi với tôi

http://www.buidao.com

12/10/09

[Net] TỔNG QUAN VỀ IPv6 (IPv6 Overview)

I- GIỚI THIỆU CHUNG

Hệ thống địa chỉ IPv4 hiện nay không có sự thay đổi về cơ bản kể từ RFC 791 phát hành 1981. Qua thời gian sử dụng cho đến nay đã phát sinh các yếu tố như :

- Sự phát triển mạnh mẽ của hệ thống Internet dẫn đến sự cạn kiệt về địa chỉ Ipv4

- Nhu cầu về phương thức cấu hình một cách đơn giản

- Nhu cầu về Security ở IP-Level

- Nhu cầu hỗ trợ về thông tin vận chuyển dữ liệu thơi gian thực (Real time Delivery of Data) còn gọi là Quality of Service (QoS)

- …

Dựa trên các nhược điểm bộc lộ kể trên, hệ thống IPv6 hay còn gọi là IPng (Next Generation : thế hệ kế tiếp) được xây dựng với các điểm chính như sau :

1- Đinh dạng phần Header của các gói tin theo dạng mới

Các gói tin sử dụng Ipv6 (Ipv6 Packet) có cấu trúc phần Header thay đổi nhằm tăng cương tính hiệu quả sử dụng thông qua việc dời các vùng (field) thông tin không cần thiết (non-essensial) và tùy chọn (Optional) vào vùng mở rộng (Extension Header Field)

2- Cung cấp không gian địa chỉ rộng lớn hơn

3- Cung cấp giải pháp định tuyến (Routing) và định vị địa chỉ (Addressing) hiệu quả hơn

-Phương thức cấu hình Host đơn giản và tự động ngay cả khi có hoặc không có DHCP Server

(stateful / stateless Host Configuration)

4- Cung cấp sẵn thành phần Security (Built-in Security)

5- Hỗ trợ giải pháp Chuyển giao Ưu tiên (Prioritized Delivery) trong Routing

6- Cung cấp Protocol mới trong việc tương tác giữa các Điểm kết nối (Nodes )

7- Có khả năng mở rộng dễ dàng thông qua việc cho phép tạo thêm Header ngay sau Ipv6 Packet Header

II- ĐỊA CHỈ IPv6

1- Không gian địa chỉ IPv6

Địa chỉ IPv6 (IPv6 Adddress) với 128 bits địa chỉ cung cấp khối lượng tương đương số thập phân là

2128 hoặc 340,282,366,920,938,463,463,374,607,431,768,211,456 địa chỉ

so với IPv4 với 32 bits địa chỉ cugn cấp khối lượng tương đương số thập phân là

232 hoặc 4,294,967,296 địa chỉ

2-Hình thức trình bày

IPv6 Address gồm 8 nhóm, mỗi nhóm 16 bits được biểu diển dạng số Thập lục phân (Hexa-Decimal)

Vd-1 : 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A

(1) (2) (3) (4) (5) (6) (7) (8)

Co thể đơn giản hóa với quy tắc sau :

- Cho phép bỏ các số không (0) nằm phía trước trong mỗi nhóm

- Thay bằng 1 số 0 cho nhóm có giá trị bằng không

- Thay bằng :: cho các nhóm liên tiếp có giá trị bằng không

Như vậy địa chỉ ở Vd-1 có thể viết lại như sau :

Vd-2 : 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A

Vd-3 : địa chỉ = FE80:0:0:0:2AA:FF:FE9A:4CA2

Có thể viết lại = FE80::2AA:FF:FE9A:4CA2

(*) Lưu ý : phần Giá trị đầu (Prefix) được xác định bởi Subnet Mask IPv6 tương tự IPv4

Vd-4 : 21DA:D3::/48 có Prefix = 21DA:D3:0 (48 bits)

hoặc 21DA:D3:0:2F3B::/64 có Prefix = 21DA:D3:0:2F3B ( 64 bits)

Chú thích :

Để không bị bỡ ngỡ, chúng ta nên lưu ý về một số khái niệm trước khi nói về địa chỉ của IPv6 Host

a) Link-Local : khái niệm chí về các Host kết nối cùng hệ thống thiết bị vật lý (tạm hiểu Hub, Switch)

b) Site-Local : khái niệm chỉ về các Host kết nối cùng Site

c) Node : điểm kết nối vào mạng (tạm hiểu là Network Adapter). Mỗi Node sẽ có nhiều IPv6 Address cần thiết (Interface Address) dùng cho các phạm vi (Scope), trạng thái (State), vận chuyển (Tunnel) khác nhau thay vì chỉ có 1 địa chỉ cần thiết như IPv4

d) Do vậy khi cài đặt IPv6 Protocol trên một Host, mỗi Network Adapter sẽ có nhiều IPv6 Address gán cho các Interface khác nhau

3-Các loại IPv6 Address

a- Unicast

Unicast Address dùng để định vị một Interface trong phạm vi các Unicast Address. Gói tin (Packet) có đích đến là Unicast Address sẽ thông qua Routing để chuyển đến 1 Interface duy nhất

b- Multicast

Multicast Address dùng để định vị nhiều Interfaces. Packet có đích đến là Multicast Address sẽ thông qua Routing để chuyển đến tất cả các Interfaces có cùng Multicast Address

c-Anycast

Anycast Address dùng để định vị nhiều Interfaces. Tuy vậy, Packet có đích đến là Anycast Address sẽ thông qua Routing để chuyển đến một Interfaces trong số các Interface có cùng Anycast Address, thông thường là Interface gần nhất (khái niệm Gần ở đây được tính theo khoảng cách Routing)

Trong các trường hợp nêu trên, IPv6 Address được cấp cho Interface chứ không phải Node, một Node có thể được định vị bởi một trong số các Interface Address

IPv6 không có dạng Broadcast, các dạng Broadcast trong IPv4 được xem như tương đương Multicast trong Ipv6

4-Các loại IPv6 - Unicast Address

IPv6 Unicast Address gồm các loại :

· Global unicast addresses

· Link-local addresses

· Site-local addresses

· Unique local IPv6 unicast addresses

· Special addresses

a-Global unicast addresses (GUA)

GUA là địa chỉ IPv6 Internet (tương tự Public IPv4 Address). Phạm vi định vị của GUA là tòan bộ hệ thống IPv6 Internet (RFC 3587)

clip_image002

001 : 3 bits đầu luôn có giá trị = 001 nhị phân (Binary – bin) (Prefix = 001 /3)

Global Routing Prefix : gồm 45 bits. Là địa chỉ được cấp cho một tổ chức, Công ty / Cơ quan ..(Organization) khi đăng ký IPv6 Internet Address (Public IP)

Subnet ID : gồm 16 bits. Là địa chỉ tự cấp trong tổ chức để tạo các Subnets

Interface ID : gồm 64 bits. Là địa chỉ của Interface trong Subnet

Có thể đơn giản hóa thành dạng như sau (Global Routing Prefix = 48 bits)

clip_image004

(*) Các địa chỉ Unicast trong nội bộ (Local Use Unicast Address) : gồm 2 loại :

Link-Local Addresses : gồm các địa chỉ dùng cho các Host trong cùng Link và Neighbor Discovery Process (quy trình xác định các Nodes trong cùng Link)

Site-Local Addresses : gồm các địa chỉ dùng để các Nodes trong cùng Site liên lạc với nhau

b-Link-local addresses (LLA)

LLA là địa chỉ IPv6 dùng cho các Nodes trong cùng Link liên lạc với nhau (tương tự các địa chỉ IPv4 = 169.254.X.X). Phạm vi sử dụng của LLA là trong cùng Link (do vậy có thể bị trùng lặp trong các Link)

Khi dùng HĐH Windows, LLA được cấp tự động với cấu trúc như sau :

clip_image006

64 bits đầu = FE80 là giá trị cố định (Prefix = FE80 :: / 64)

Interface ID = gồm 64 bits . Kết hợp với Physical Address của Netwoprk Adapter (nói ở phần sau)

c-Site-local addresses (SLA)

SLA tương tự các địa chỉ Private IPv4 (10.X.X.X, 172.16.X.X, 192.168.X.X) được sử dụng trong hệ thống nội bộ (Intranet). Phạm vi sử dụng SLA là trong cùng Site.

(*) Site : là khái niệm để chỉ một phần của hệ thống mạng tại các tọa độ địa lý khác nhau

clip_image008

1111 1110 11 = 10 bits đầu là giá trị cố định (Prefix = FEC0 /10)

Subnet ID : gồm 54 bits dùng để xác địng các Subnets trong cùng Site

Interface ID : gồm 64 bits. Là địa chỉ của Interfaces trong Subnet

(*) Chú thích

Với cấu trúc như trình bày ở phần trên, các Local Use Unicast Address (Link-local, Site Local) có thể bị trùng lặp (trong các Link khác, Site khác). Do vậy khi sử dụng các Local Use Unicast Addresss có 1 thông số định vị được thêm vào (Additional Identifier) gọi là Zone_ID với cú pháp :

Address%Zone_ID

Vd-5 : ping fe80::2b0:d0ff:fee9:4143%3 Zone_ID = %3. Trong đó :

Address = Local-Use Address (Link-Local / Site-Local)

Zone ID = giá trị nguyên, giá trị tương tương đối (so với Host) xác định Link hoặc Site.

Trong các Windows-Based IPv6 Host, Zone ID được xác định như sau :

+ Đối với Link-Local Address (LLA) : Zobe ID là số thứ tự của Interface (trong Host) kết nối với Link. Có thể xem bằng lệnh : netsh interface ipv6 show interface

+ Đối với Site-Local Address (SLA) : Zone ID là Site ID, được gán cho Site trong Organization. Đối với các Organization chỉ có 1 Site, Zone ID = Site ID = 1 và có thể xem bằng lệnh : netsh interface ipv6 show address level=verbose

d-Unique- local addresses (ULA)

Đối với các Organization có nhiều Sites, Prefix của SLA có thể bị trùng lặp. Có thể thay thể SLA bằng ULA (RFC 4193), ULA là địa chỉ duy nhất của một Host trong hệ thống có nhiều Sites với cấu trúc:

clip_image010

111 110 : 7 bits đầu là giá trị cố định FC00/7. L=0 : Local à Prefix =FC00 /8

Glocal ID : địa chỉ Site (Site ID). Có thể gán tùy ý

Subnet ID : địa chỉ Subnet trong Site

Với cấu trúc này, ULA sẽ tương tự GUA và khác nhau ở phần Prefix như sau :

clip_image012

e- Các địa chỉ đặc biệt (Special addresses)

Các địa chỉ đặc biệt trong IPv6 gồm :

0:0:0:0:0:0:0:0 : địa chỉ không xác định (Unspecified address)

0:0:0:0:0:0:0:1 : địa chỉ Loopback (tương đương IPv4 127.0.0.1)

IPv4-Cpompatible Address (IPv4CA) :

Format : 0:0:0:0:0:0:w.x.y.z Trong đó w,x,y,z là các IPv4 Address

Vd : 0:0:0:0:0:0:0:192.168.1.2

IPv4CA là địa chỉ tương thích của một IPv4/IPv6 Node. Khi sử dụng IPv4CA như một IPv6 Destination, gói tin sẽ được đóng gói (Packet) với IPv4 Header để truyền trong môi trường IPv4

IPv4-mapped address (IPv4MA)

Format : 0:0:0:0:0:FFFF:w.x.y.z (::FFFF:w.x.y.z) Trong đó w,x,y,z là các IPv4 Address

Vd : 0:0:0:0:0:FFFF:192.168.1.2

IPv4MA là địa chỉ của một IPv4 Only Node đối với một IPv6 Node, IPv4MA chỉ có tác dụng thông báo và không được dùng như Resource hoặc Destination Address

6to4 Address

Là địa chỉ sử dụng trong liên lạc giữa các IPv4/IPv6 nodes trong hệ thống hạ tầng IPv4 (IPv4 Routing Infrastructure). 6to4 được tạo bởi Prefix gồm 64 bits như sau :

Prefix = 2002/16 + 32 bits IPv4 Address =64 bits

6to4 Address là địa chỉ của Tunnel (Tulneling Address) định nghĩa bởi RFC 3056

5-Các loại IPv6 - Multicast Address

Multicast Address của IPv6 Node có họat động tương tự Maulticast trong IPv4. Một IPv6 Node có thể tiếp nhận tín hiệu của nhiều Multicast Address cùng lúc. IPv6 Node có thể tham gia hoặc rời khỏi một IPv6 Multicast Address bất kỳ lúc nào

Ví dụ về một số IPv65 Multicast Address được sử dụng :

FF01::1 (interface-local scope all-nodes multicast address)

FF02::1 (link-local scope all-nodes multicast address)

FF01::2 (interface-local scope all-routers multicast address)

FF02::2 (link-local scope all-routers multicast address)

FF05::2 (site-local scope all-routers multicast address)

Solicited-Node Address (SNA)

Là địa chỉ sủ dụng trong quy trình phân giải để cấp địa chỉ LLA (Link-Local Address) tự động cho các Node (tương tự quy trình tự cấp địa chỉ 169.254.X.X trong IPv4)

SNA có dạng : FF02:0:0:0:0:1:FF / 104 + 24 bits địa chỉ MAC

6-Các loại IPv6 - Anycast Address

Anycast Address có thể gán cho nhiều Interfaces, gói tin chuyển đến Anycast Address sẻ được vận chuyển bởi hệ thống Routing đến Interface gần nhất. Hiện nay, Anycast Address chỉ được dùng như Destination Address và gán cho các Router

IPv6 - Interface ID

Trong tất cả các loại địa chỉ nói trên đều có giá trị Interface ID dùng để xác định Interface. Giá trị Interface ID được xem xét và tạo nên theo các yếu tố sau :

- Xác định bởi Extended Unique Identifier (EUI)-64 Address (*) . EUI-64 Address có thể do gán hoặc kết hợp với MAC (physical) Address của Network Adapter (Window XP / Windows 2k3)

- Được gán tạm thời với giá trị ngẫu nhiên (**) (RFC 3041)

- Được tạo thành bởi Link-layer address hoặc Serial Number khi cấu hình Point-to-Point Protocol (PPP)

- Tự cấp (manual address configuration)

- Là một giá trị phát sinh ngẫu nhiên và gán thường trực cho Interface (Windows Vista / LogHorn)

Extended Unique Identifier (EUI)-64 Address (*)

EUI-64 Address xác định phưong thức tạo 64 bits Interface ID bằng cách kết hợp Mac Address của Network Adapter (48 bits) theo quy tắc như sau :

clip_image014

Mac Address = 6 nhóm 8 bits = 48 bits. Trong đó 24 bits là mã nhà sản xuất, 24 bits là mã số Adapter

Bước 1 : Tách đôi MAC Address làm 2 nhóm (mổi nhóm 24 bits), chèn vào giữa 16 bits giá trị FFFE

Bước 2 : Đảo ngược giá trị bit thứ 7 của nhóm đầu

Ví dụ : Network Adapter có MAC address = 00-AA-00-3F-2A-1C

Bước 1 à 00-AA-00-FF:FE-3F-2A-1C

Bước 2 à 02-AA-00-FF-FE-3F-2A-1C à Interface ID = 02AA:00FF:FE3F:2A1C (64 bits)

Link: http://daoduyhieu.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3dNETWORK%2520-%2520SECURITY