Đề tài: Tìm hiểu về IP-V6
Trang 1MỤC LỤC
3
Trang 21 Tổng quan về IP-V6
1.1 Sự ra đời của IP-V6 – thế hệ mới của IP-V4
Với 32bit thì Ipv4 có 4,294,967,296 địa chỉ Nhưng chỉ dùng được 3.7 triệu địa chỉ vì nhiều Ipv4 dùng cho multicast, testing và các mục đích đặc biệt khác Theo số liệu của Cisco tới 2007 thì đã có 2.4 triệu được các ISP cấp cho user, còn 1.3 triệu chưa sử dụng Ipv4 ngày càng cạn kiệt vì vậy Ipv6 đang được thử nghiệm châu Âu, Nhật và vài vùng châu Á Thái Bình Dương và sẽ được thay thế trong tương lai
IP-V4 với 32 bit địa chỉ, có khả năng cung cấp 232 = 4 274 967 296 địa chỉ Tuy nhiên, con số này vẫn chưa đủ để có thể quản lý tất các các máy tính tham gia Internet Đó là nguyên nhân dẫn đến sự ra đời của IP-V6 – địa chỉ thế hệ mới của Internet IP-V6 được nhóm chuyên trách về kỹ thuật IETF (Internet Engineering Task Force) của Hiệp hội Internet đã đề xuất thực hiện trên cơ sở kế thừa cấu trúc
và cách tổ chưc của IP-V4 (đầu năm 1990) với mục đích thay thế cho IP-V4 về các mặt như sau:
- Đáp ứng nhu cầu cạn Ipv4
- Nâng cao khả năng xử lý gói tin vì có header đơn giản
- Cơ chế QoS nhờ vào khả năng Flow labeling
- Tăng khả năng mở rộng và không lo cạn kiệt IP
- Tích hợp bảo mật
Trang 3IPv6 sử dụng 128-bit để biểu diễn không gian địa chỉ Do đó, nó có thể biểu diễn 2128 = 0.282.366.920.938.463.463.374.607.431.768…địa chỉ IPv6 có thể định danh cho một giao diện cụ thể hoặc một tập các giao diện Không gian địa chỉ IPv6 được sử dụng cho Internet, hệ thống viễn thông, hệ thống điều khiển và thậm chí cho từng vật dụng trong gia đình Hiện tại, 15% không gian địa chỉ IPv6 đã sử dụng, còn 85% dự phòng cho tương lai
IPv6 được tích hợp trong Windows XP SP1 và Windows Server 2003 nhưng
bị ẩn Còn trên Windows Server 2008 và Windows Vista, mặc định IPv6 được mở
1.2 Sự phân bố địa chỉ IP-V6
Do IP-V6 dùng tới 128 bit địa chỉ nên có thể có tới 4x4tỷ không gian địa chỉ Đây là một không gian địa chỉ vô cùng lớn Theo ước tính trên lý thuyết thì có tới khoảng 665.570.793.348.866.943.898.599 địa chỉ trên một m2 bề mặt trái đất Tuy nhiên, do những yêu cầu trong thực tế về gán và định tuyến đã tạo một kiến trúc phân tầng làm cho số địa chỉ nêu trên không được sử dụng hết Theo thống kê thì địa chỉ 128 bit của IP-V6 có thể nằm trong khoảng 8x1017 – 2x1033 địa chỉ (chí có khoảng 1.564 địa chỉ trên 1 m2 trong thực tế)
Trong sự phân bố địa chỉ, có một phần dành cho địa chỉ NSAP, địa chỉ IPX
và địa chỉ cho các mạng Lan ảo VPN Phần còn lại là không gian địa chỉ chỉ chưa dùng ở hiện tại, được dùng trong tương lai (khoảng 85%) Trong bảng trên, địa chỉ Anycast không được chỉ ra bởi phân bố loại địa chỉ này được bao trùm bởi không gian địa chỉ Unicast
1.3 Cách viết địa chỉ IP-V6
5
Trang 4Địa chỉ IP-V6 có chiều dài 128 bit được chia thành 8 nhóm, mỗi nhóm chiếm
2 bytes, mõi bytes biểu diễn bằng 2 hệ số 16, mỗi nhám ngăn cách nhau bằng dấu hai chấm Sử dụng hệ hexa để biểu diễn các địa chỉ này
Ví dụ: FEDL:BA98:7654:FEDC:BA98:7654:3210:ABCD
Ngoài ra, có thể áp dụng các quy tắc viết tắt như sau:
- Bỏ những số 0 đứng trước mỗi thành phần hệ hexa
- Viết 0 thay cho 0000
- Thay nhóm liên tiếp các số 0 bằng hai dấu hai chấm
2 Cấu trúc của IP-V6
2.1 Cấu trúc chung của IP-V6
IP-V6 gồm 128 bit có cấu trúc 5 phần được chia như hình dưới đây:
Trong đó:
• Phần tiền tố (format prefix) trong địa chỉ IPv6 sẽ chỉ ra địa chỉ này thuộc dạng nào (unicast, multicast, …) Điều này cho phép hệ thống định tuyến làm việc hiệu quả hơn
Trang 5• TLA ID (Top Level Aggregation Identification) : xác định các nhà cung cấp dịch vụ cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ
• NLA ID (Next Level Aggregation Identification) : xác định nhà cung cấp dịch vụ bậc 2
• SLA ID (Site Level Aggregation Identification) : xác định các Site của khách hàng
• Interface ID: xác định các Interface của các Host kết nối trong một Site
2.2 Cấu trúc gói tin IP-V6 Header
Hình dưới đây mô tả cấu trúc gói tin của IP-V6 Header có nhiều phần kế thừa của IP-V4:
- Màu : phần được giữ lại của IP-V4
- Màu : phần không được giữ lại của IP-V4
- Màu : tên và vị trí được thay đổi trong IP-V6
- Màu : phần mới của IP-V6
7
Trang 6Các trường (field) trong header IPv6:
• Version (4 bit): xác định phiên bản của giao thức (mang giá trị 6)
• Traffic Class (8 bit): xác định loại lưu lượng
• Flow label (20 bit): cùng với traffic class cung cấp các kiểu QoS
• Payload Length (16 bit): unsigned integer Xác định kích thước phần dữ liệu (data) theo sau IPv6 Header
Trang 7• Next-Header (8 bit): giúp xác định Header tiếp theo (next header) trong gói
tin
• Hop Limited (8 bit): unsigned integer Qua mỗi Node, giá trị này giảm 1 đơn
vị (giảm đến 0 thì gói tin bị loại bỏ)
• Source Address (128 bit) : mang địa chỉ IPv6 nguồn của gói tin
• Destination Address (128 bit): mang địa chỉ IPv6 đích của gói tin
- Phần header của IPv6 đã được đơn giản hóa để tăng tốc độ xử lý và tăng hiệu quả cho router
• IPv6 header có kích thước cố định 40 byte và ít field hơn nên thời gian xử lý header nhanh hơn
• Không có header checksum: Hệ thống mạng trước đây có tốc độ kết nối chậm và không đảm bảo nên việc tính toán checksum tại mỗi hop là cần thiết
để đảm bảo tính toàn vẹn dữ liệu Các kết nối mạng ngày nay nhanh và có tính tin cậy cao hơn, do đó chỉ cần các host tính checksum, không cần trên router
• Bỏ các header: header lenghth, Identification, Flags, Fragment offset, header checksum
- Field Header Length loại bỏ vì kích thước của IPv6 header là cố định Trong IPv4 header có kích thước thay đổi từ 20 - 60 byte
- Các field Identification, Flags và Fragment Offset được sử dụng trong việc
fragment một packet trong IPv4 header Fragment xảy ra khi một packet có kích thước lớn (large packet) được gửi qua môi trường mạng chỉ hỗ trợ packet có kích thước nhỏ hơn Trong trường hợp này, router sẽ chia packet ra thành nhiều phần có kích thước nhỏ hơn để chuyển chúng đi Host đích (destination host) sẽ tập hợp các
9
Trang 8packet này và lắp ráp chúng lại (reassemble) Trong quá trình truyền, nếu một gói trong chúng bị lỗi (error) hoặc không đến được đích thì toàn bộ phải được gửi lại
-Trong IPv6, host sẽ học một MTU size Nếy host trong quá trình gửi muốn
fragment packet, nó sẽ dùng Extension Header để làm việc này Các router IPv6
dọc theo đường đi của packet không fragment packet
- Field Checksum loại bỏđể tăng tốc độ xử lý
2.3 Cơ chế định dạng tiền tố FP
Địa chỉ của IP-V4 được chia làm 5 lớp là A, B, C, D, E Còn địa chỉ trong IP-V6 được phân làm 3 loại là
- Unicast Address: Địa chỉ đơn hướng;
- Anycast Address: địa chỉ bất kỳ hướng nào;
- Multicast Address: địa chỉ định hướng
Đây là cơ chế cho phép xác định các loại địa chỉ của IP-V6 bằng cách dựa vào các bit đầu tiên của địa chỉ đó Cụ thể như sau:
Trang 10Theo sự phân bố ở trên, có một phần dành cho địa chỉ NSAP, địa chỉ IPX và địa chỉ cho các mạng Lan ảo VPN Phần còn lại là không gian địa chỉ chỉ chưa dùng ở hiện tại, được dùng trong tương lai (khoảng 85%)
Cơ chế phân bố địa chỉ của IP-V6
IP-V6 có một cơ chế phân bố địa chỉ hoàn toàn mới và khắc phục được hạn chế của cơ chế cấp phát đối với IP-V4 Đó là cơ chế cấp phát không phụ thuộc vào giai đoạn đầu của quá trình cấp phát mà nó có thể thày đổi tùy thuộc vào những biến động trong tương lai đối với các dịch vụ, các vùng khác nhau Việc phân loại địa chỉ của IP-V6 theo các dạng tiền tố cho phép các host nhận ra các loại địa chỉ
và ứng với mỗi loại địa chỉ cho các ứng xử khác nhau
Bảng cấp phát địa chỉ ở trên cho thấy địa chỉ quan trọng nhất của IP-V6 là Global Unicast Dạng địa chỉ này cho phép định danh một giao diện trên mạng Internet IP-V6 có tính toàn cầu duy nhất trên thế giới hiện nay Có bốn tổ chức cấp phát địa chỉ IP-V6: NIC (tổ chức Internet Bắc Mỹ), NCC (hiệp hội mạng chấu Âu), APINC (tổ chức mạng chấu Á và Thái Bình Dương), IANA (tổ chức chung cho các khu vực khác nhau)
3 Cấu trúc các loại địa chỉ trong IP-V6
Trang 11Loại địa chỉ này được phần làm 4 nhóm: Global Local Address, Link-Local Address, Site-Local Address và Unique Local Address Sau đây là cấu trúc của từng loại địa chỉ nêu trên:
3.1.1 Global Local Address:
Địa chỉ này được sử dụng để hỗ trợ cho các ISP Nói một cách cho dễ hiểu
là đây giống như địa chỉ Public của IPv4 Cấu trúc như sau:
Trong đó:
• 001: 3 bits đầu luôn luôn có giá trị = 001
• TLA ID( Top Level Aggregation): Xác định nhà cung cấp cao nhất
trong hệ thống các nhà cung cấp dịch vụ
• Res: chưa sử dụng
• NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo trong hệ thống các nhà cung cấp dịch vụ
• SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet
• Interface ID: Là địa chỉ của Interface trong subnet
Global Unicast Address được phân cấp như hình dưới đây:
13
Trang 123.1.2 Link-local Addresses:
Đây là loại địa chỉ dùng cho các host khi chúng muốn giao tiếp với các host khác trong cùng mạng Tất cả IPv6 của các interface đều có địa chỉ link local 128 bit được chia thành 3 phần như sau:
Trang 1310 bits đầu tiên luôn là: 1111 1110
54 bits kế tiếp có giá trị bằng 0
+ 64 bits cuối cùng là địa chỉ của Interface
-> Như vậy, trong Link Local Address: 64 bit đầu là giá trị cố định không
thay đổi (prefix : fe80::/64)
Một lưu ý rằng: Một router không thể chuyển bất kỳ gói tin nào có địa chỉ nguồn hoặc địa chỉ đích là Link Local Address Với một máy kết nối Internet dùng địa chỉ của IP-V6, chúng ta có thể xem thử giá trị Link-Local Address bằng cách vào cmd, gõ lệnh ipconfig /all
Hình dưới đây mô tả kết nối trực tiếp dùng Link-Local
15
Trang 143.1.3 Site-Local Addresses:
Site-Local Addresses được sử dụng trong hệ thống nội bộ (Intranet) tương tự các địa chỉ Private IPv4 (10.X.X.X, 172.16.X.X, 192.168.X.X) Phạm vi sử dụng Site-Local Addresses là trong cùng Site
Khác với Link-Local, Ste-Local Address có cấu trúc 4 phần:
10 bits đầu tiên luôn là: 1111 1110 11 (Prefix FEC0::/10)
54 bits kế tiếp : là giá trị Subnet ID được chia làm 2 phần
38 bit đầu luôn có giá trị là 0
16 bit sau là SubnetID
64 bits cuối cùng là địa chỉ của Interface
3.1.4 Unique Local Address:
Trang 15Unique Local Address là địa chỉ định tuyến giữa các subnet trên một private network
1111 1101 : 8 bits đầu là giá trị cố định FD00:: /8
40 bits kế tiếp là Global ID : địa chỉ Site (Site ID) Có thể gán tùy ý
16 bits kế tiếp là Subnet ID : địa chỉ Subnet trong Site, có thể tạo ra 65.536 subnet trong một site
64 bits cuối cùng là địa chỉ của Interface
* Địa chỉ Unicast theo chuẩn JPX:
Địa chỉ của IP-V6 theo chuẩn JPX có định dạng như sau:
Chi tiết về loại địa chỉ JPX theo chuẩn IP-V6 còn chưa xác dịnh được vì còn trong giai đoạn nghiên cứu
3.2 Anycast Address
Anycast Address là địa chỉ đặc biệt có thể gán cho nhiều interface, 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, địa chỉ Anycast được sử dụng rất hạn chế, rất ít tài
17
Trang 16liệu nói về cách sử dụng loại địa chỉ này Hầu như Anycast addresss chỉ được dùng
để đặt cho Router, không đặt cho Host, lý do là bởi vì hiện nay địa chỉ này chỉ được
sử dụng vào mục đích cân bằng tải
Ví dụ : khi một nhà cung cấp dịch vụ mạng có rất nhiều khách hàng muốn truy cập dịch vụ từ nhiều nơi khác nhau, nhà cung cấp muốn tiết kiệm nên chỉ để một Server trung tâm phục vụ tất cả, họ xây dựng nhiều Router kết nối khách hàng với Server trung tâm, khi đó mỗi khách hàng có thể có nhiều con đường để truy cập dịch vụ Nhà cung cấp dịch vụ đặt địa chỉ Anycast cho các Interfaces là các Router kết nối đến Server trung tâm, bây giờ mỗi khách hàng chỉ việc ghi nhớ và truy cập vào một địa chỉ Anycast thôi, tự động họ sẽ được kết nối tới Server thông qua Router gần nhất Đây thật sự là một cách xử lý đơn giản và hiệu quả
Khi tìm hiểu về địa chỉ Anycast thường hay lẫn vì nó thực sự không rõ ràng Nếu như bạn gán địa chỉ này cho một Interface thì nó y như là địa chỉ Unicast, nhưng khi bạn gán cho nhiều Interfaces thì nó lại có vẻ như là địa chỉ Multicast (sẽ trình bày ở dưới)
Có một địa chỉ Anycast đặc biệt được dùng để định danh cho một subnet gọi
là Subnet-Router Anycast Cấu trúc của loại địa chỉ này như sau:
Phần Subnet prefix xác định một liên kết cụ thể Loại địa chỉ này gán cho các giao diện trong đó phần định danh giao diện được dặt là 0 Sử dụng Subnet-Router Anycast cho những node cần giao tiếp đồng thời với một tập Router trên mạng
3.3 Multicast Address
Trang 17Trong địa chỉ IPv6 không còn tồn tại khái niệm địa chỉ Broadcast Mọi chức năng của địa chỉ Broadcast trong IPv4 được đảm nhiệm thay thế bởi địa chỉ IPv6 Multicast
Địa chỉ Multicast giống địa chỉ Broadcast ở chỗ điểm đích của gói tin là một nhóm các máy trong một mạng, song không phải tất cả các máy Trong khi Broadcast gửi trực tiếp tới mọi host trong một subnet thì Multicast chỉ gửi trực tiếp cho một nhóm xác định các host, các host này lại có thể thuộc các subnet khác nhau Host có thể lựa chọn có tham gia vào một nhóm Multicast cụ thể nào đó hay không (thường được thực hiện với thủ tục quản lý nhóm internet - Internet Group Management Protocol), trong khi đó với Broadcast, mọi host là thành viên của nhóm Broadcast bất kể nó có muốn hay không
8 bit đàu tiên là prefix với giá trị cố định không đổi là 11111111, 4 bit tiếp theo là các cờ, 4 bit tiếp là các bit phạm vi, phần còn lại là bộ nhận dạng 112 bit
19
Trang 18Trong 4 bit cờ, bit thứ tư dùng cho IP-V6 còn lại 3 bit đầu tiên chưa được định nghĩa mạng giá trị bằng 0 Ở hình mô tả dưới đây, bit thứ tư viết tắ bằng ký hiệu T.
Phần phạm vi (scope): có tác dụng giới hạn phạm vi nhóm địa chỉ Multicast Các giá trị của scope được liệt kê trong bnagr sau:
Các giá trị này cho phép xác định phạm vi chính xác của vùng địa chỉ Multicast Qua đó, các router sẽ định tuyến các gói tin trong mạng với phạm vi giới hạn đó
3.4 Các dạng địa chỉ IP-V6 khác
Trang 19Định dạng: 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
3.4.2 IPv4-mapped address (IPv4MA)
Định dạng: 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
3.4.3 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
3.5 Phương thức gán địa chỉ
21
Trang 20Theo đặc tả của giao thức IPv6, tất cả các loại địa chỉ IPv6 được gán cho các Interface, không gán cho các Node Mỗi địa chỉ IPv6 loại Unicast (gọi tắt là địa chỉ Unicast) được gán cho một Interface đơn Vì mỗi Interface thuộc về một Node đơn,
do vậy mỗi địa chỉ Unicast định danh một Interface sẽ định danh cho Node đó
Mỗi Interface đơn có thể được gán nhiều loại địa chỉ IPv6 (Cho phép cả 3 dạng địa chỉ đồng thời Unicast, Anycast, Multicast) Nhưng bắt buộc mỗi Interface phải được gán một địa chỉ Unicast Link-local nhằm phục vụ cho các kết nối Point-to-point
Theo thiết kế của IPv6, một Host có thể được định danh bởi các địa chỉ sau:
- Một địa chỉ Link-local cho mỗi Interface gắn với Host đó
- Một địa chỉ Unicast được cung cấp bởi các nhà cung cấp dịch vụ
- Một địa chỉ Loopback
- Một địa chỉ Multicast, mà Host đó là thành viên
Một Router nếu hỗ trợ IPv6 sẽ nhận biết được tất cả các loại địa chỉ mà Host chấp nhận kể trên, ngoài ra nó còn được gán các loại địa chỉ sau:
- Tất cả các địa chỉ Multicast được gán trên Router
- Tất cả các địa chỉ Anycast được cấu hình trên Router
- Tất cả các địa chỉ Multicast của các nhóm thuộc Router quản lý
4 Các vấn đề cơ bản về giao tiếp trong IP-V6