Do vậy sẽ được xử lý tại mọi bộ định tuyến router trên đường truyền dẫn gói tin Destination Đích: được sử dụng để xác định các tham số truyền tải gói tại đích tiếp theo hoặc đích cuối
Trang 1MỤC LỤC
MỤC LỤC I DANH MỤC TỪ VIẾT TẮT III DANH MỤC HÌNH ẢNH V DANH MỤC BẢNG VII
MỞ ĐẦU VIII
CHƯƠNG 1: 1
TỔNG QUAN VỀ ĐỊA CHỈ IPV6 1
1.1.NHỮNG GIỚI HẠN CỦA IPV4 2
1.2.VẤN ĐỀ QUẢN LÝ ĐỊA CHỈ IPV4 2
1.3.NGUYÊN NHÂN PHÁT TRIỂN IPV6 2
1.4.KIẾN TRÚC CỦA IPV6 3
1.4.1 Tăng kích thước của tầm địa chỉ 4
1.4.2 Sự phân cấp địa chỉ toàn cầu 5
1.5.CÁCH BIỂU DIỄN IPV6: 6
1.6.MỘT SỐ TÍNH NĂNG MỚI NỔI TRỘI HƠN SO VỚI IPV4 7
1.7.SO SÁNH HEADER CỦA IPV4 VÀ IPV6 9
1.8.PHÂN LOẠI ĐỊA CHỈ 13
1.8.1 Unicast Address 13
1.8.2 Multicast Address 15
1.8.3 Anycast Address 18
1.9.CÁC LOẠI ĐỊA CHỈ IPV6 ĐẶC BIỆT: 19
1.9.1 Địa chỉ không định danh và địa chỉ loopback 19
1.9.2 Địa chỉ IPv4-Compatible IPv6 19
1.9.3 Địa chỉ IPv4-Mapped IPv6 20
1.9.4 Địa chỉ 6to4 20
1.10.THỐNG KÊ CÁC DẠNG ĐỊA CHỈ IPV6 21
CHƯƠNG 2: 22
THỦ TỤC VÀ QUY TRÌNH HOẠT ĐỘNG CỦA IPV6 22
2.1.CÁC PHƯƠNG PHÁP TRIỂN KHAI IPV6 23
2.1.1 Định dạng EUI-64 23
2.1.2 Tự động cấu hình phi trạng thái 24
2.1.3 DHCPv6 25
2.2.THỦ TỤC ICMPV6 27
2.2.1 Tổng quát vai trò của thủ tục ICMPv6 trong hoạt động của IPv6 27
2.2.2 Phân loại thông điệp ICMPv6 27
2.3.THỦ TỤC NEIGHBOR DISCOVERY (ND) 30
2.3.1 Tổng quát thủ tục ND 30
2.3.2 Cấu trúc gói tin ND 30
2.3.3 Những quy trình ND cung cấp: 32
2.4.THỦ TỤC MULTICAST LISTENER DISCOVERY 33
2.5.ĐỊNH TUYẾN CHO LIÊN MẠNG IPV6 33
Trang 22.5.1 Bảng định tuyến IPv6 33
2.5.2 Định tuyến tĩnh 35
2.5.3 Giao thức định tuyến OSPFV3 .37
CHƯƠNG 3: 42
CÁC PHƯƠNG THỨC CHUYỂN ĐỔI IPV4-IPV6 .42
3.1.GIỚI THIỆU CÁC CƠ CHẾ CHUYỂN ĐỔI GIỮA IPV4 VÀ IPV6 43
3.1.1 Dual Stack 43
3.1.2 Tunnel 44
3.1.3 NAT-PT 47
3.2.TRIỂN KHAI MỘT SỐ DỊCH VỤ MẠNG 48
3.2.1 DNS server 48
3.2.2 Web server 54
3.2.3 DHCP Server 57
CHƯƠNG 4: 62
MÔ PHỎNG HỆ THỐNG MẠNG IPV6 62
4.1.CÀI ĐẶT VÀ CẤU HÌNH TRÊN PACKET TRACER : 63
4.2.KỊCH BẢN 1– TRIỂN KHAI EUI-64 VÀ CẤU HÌNH OSPFV3 CHO IPV6 65
4.3.KỊCH BẢN 2–MANUAL IPV6 TUNNEL 72
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
Trang 3EIGRP Enhanced Interrior
Gateway Routing Protocol
Là giao thức định tuyến mở rộng
của IGRP IGRP Interrior Gateway Routing
Protocol
Là giao thức định tuyến vector khoảng cách IANA Internet Assigned Numbers
Authority
Tổ chức quản lý tài nguyên số
Quốc tế ICMP Internet Control Message
Protocol
Giao thức tạo thông điệp điều khiển của Internet IETF Internet Engineering Task
Force
Tổ chức tiêu chuẩn hóa Phục vụ internet toàn cầu IPv4 Internet Protocol
version 4
Giao thức Internet thế hệ thứ tư IPv6 Internet Protocol
version 6
Giao thức Internet thế hệ thứ sáu ISP Internet Service Provider Nhà Cung cấp dịch vụ Internet MTU Maximum Tranmission
Unit
Đơn vị truyền dẫn cực đại
OSPFv3 Open Shortest Path First
Trang 4DANH MỤC HÌNH ẢNH
HÌNH 1.1 SỰ CẠN KIỆT IPV4 QUA CÁC NĂM 3
HÌNH 1.2 IPV6 ĐANG CÓ NHỮNG BƯỚC PHÁT TRIỂN RÕ RỆT 3
HÌNH 1.3 SỐ BIT TRONG IPV4 SO VỚI IPV6 4
HÌNH 1.4 KHÁC NHAU CƠ BẢN GIỮA IPV4 VÀ IPV6 4
HÌNH 1.5 KIẾN TRÚC QUẢN LÝ VIỆC CẤP PHÁT ĐỊA CHỈ IPV6 LÚC ĐẦU 5
HÌNH 1.7 CÁCH BIỂU DIỄN IPV6 6
HÌNH 1.8 BIỂU DIỄN ĐỊA CHỈ IPV6 6
HÌNH 1.9 TỔNG HỢP ĐỊA CHỈ CHO ĐỊNH TUYẾN 8
HÌNH 1.10 IPV4 HEADER VÀ IPV6 HEADER 9
HÌNH 1.11 CHI TIẾT IPV6 HEADER 10
HÌNH 1.12 THỨ TỰ HEADER TRONG GÓI TIN IPV6 .11
HÌNH 1.13 MÀO ĐẦU MỞ RỘNG CỦA ĐỊA CHỈ IPV6 11
HÌNH 1.14 PHÂN CẤP ĐỊNH TUYẾN ĐỊA CHỈ TOÀN CẦU 13
HÌNH 1.15 CẤU TRÚC ĐỊA CHỈ LINK-LOCAL .14
HÌNH 1.16 XEM ĐỊA CHỈ LINK-LOCAL CỦA MÁY TÍNH .14
HÌNH 1.17 CẤU TRÚC ĐỊA CHỈ SITE-LOCAL .15
HÌNH 1.18 CẤU TRÚC ĐỊA CHỈ MULTICAST ADDRESS 16
HÌNH 1.19 MULTICAST TRONG PHẠM VI ĐƯỜNG KẾT NỐI .18
HÌNH 1.20 CẤU TRÚC ĐỊA CHỈ IPV4-COMPATIBLE IPV6 19
HÌNH 1.21 CẤU TRÚC ĐỊA CHỈ IPV4-MAPPED IPV6 20
HÌNH 2.1 ĐỊNH DẠNG EUI-64 CHO IPV6 23
HÌNH 2.2 MÔ TẢ ĐỊNH DẠNG EUI-64 .23
HÌNH 2.3 MÔ TẢ ĐỊNH DẠNG EUI-64 (TT) .23
HÌNH 2.4 STATELES AUTOCONFIGURATION 24
HÌNH 2.5 BƯỚC 1 CỦA STATELESS AUTOCONFIGURATION .25
HÌNH 2.6 BƯỚC 2 CỦA STATELESS AUTOCONFIGURATION .25
HÌNH 2.7 HOẠT ĐỘNG CỦA DHCPV6 26
HÌNH 2.8 CẤU TRÚC GÓI TIN ICMPV6 28
HÌNH 2.9 CẤU TRÚC GÓI TIN ND .30
HÌNH 2.10 BẢNG ĐỊNH TUYẾN IPV6 TRÊN WINDOWS .35
HÌNH 2.11 CẤU TRÚC PHÂN CẤP TRONG OSPFV3 .37
HÌNH 2.12 OSPFV3 LSA HEADER VÀ OSPFV2 LSA HEADER .39
HÌNH 2.13 OSPFV3 LSA HEADER .40
HÌNH 3.1 SỰ CHUYỂN ĐỔI GIỮA MẠNG IPV4 VÀ IPV6 43
HÌNH 3.2 DUAL-STACK TRONG WINDOWS .44
HÌNH 3.3 DUAL-STACK TRONG CISCO .44
HÌNH 3.4 CÔNG NGHỆ TUNNEL 6TO4 45
HÌNH 3.5 MÔ HÌNH 6TO4 TUNNEL .46
HÌNH 3.6 CẤU TRÚC ĐỊA CHỈ IPV6 6TO4 .46
HÌNH 3.7 MÔ HÌNH TUNNEL BROKER 46
HÌNH 3.8 CÔNG NGHỆ NAT-PT 47
HÌNH 3.9 CÁC DANH MỤC TRONG DNS SERVER 49
HÌNH 3.10 ĐẶT TÊN CHO ZONE .50
HÌNH 3.11 TẠO FILE LƯU TRỮ TRONG ZONE .50
Trang 5HÌNH 3.12 CLICK CHỌN IPV6 REVERSE LOOKUP ZONE .51
HÌNH 3.13 ĐẶT ĐỊA CHỈ MẠNG NETID 51
HÌNH 3.14 TẠO FILE LƯU TRỮ CHO ZONE NGƯỢC .51
HÌNH 3.15 RECORD VỚI CÁC THÔNG TIN CHƯA ĐẦY ĐỦ .52
HÌNH 3.16 THÔNG TIN CỤ THỂ CỦA RECORD .52
HÌNH 3.17 RECORD NTNSERVER ĐƯỢC TẠO MỚI .52
HÌNH 3.18 TẠO RECORD NGHỊCH .53
HÌNH 3.19 THIẾT LẬP THÔNG SỐ CHO PRT .53
HÌNH 3.20 ĐỊA CHỈ DNS SERVER 53
HÌNH 3.21 KIỂM TRA KẾT QUẢ CẤU HÌNH DNS 54
HÌNH 3.22 CÁC DANH MỤC TRONG WEB SERVER .55
HÌNH 3.23 CÁC THAO TÁC TẠO LẬP MỘT SITE .55
HÌNH 3.24 SITE ĐƯỢC TẠO TỪ WEBSERVER .56
HÌNH 3.25 KIỂM TRA HOẠT ĐỘNG WEBSERVER TẠI MÁY CLIENT .56
HÌNH 3.26 CHỌN ĐỊA CHỈ DHCP DÙNG ĐỂ PHỤC VỤ CHO MÁY TRẠM 57
HÌNH 3.27 TẠO MỘT SOCPE MỚI TRONG DHCP SERVER .58
HÌNH 3.28 ĐIỀN TÊN CHO SCOPE 58
HÌNH 3.29 ĐIỀN THÔNG SỐ PREFIX .58
HÌNH 3.30 HOÀN TẤT TIẾN TRÌNH TẠO SCOPE MỚI .59
HÌNH 3.31 CHỌN CHẾ ĐỘ CẤP IP TỰ ĐỘNG .59
HÌNH 3.32 CẤU HÌNH THÀNH CÔNG DHCP TẠI CLIENT .60
HÌNH 3.33 THÔNG TIN MÁY CLIENT SAU KHI ĐƯỢC CẤP IP TỰ ĐỘNG .60
HÌNH 3.34 THÔNG TIN CLIENT IPV6 CỦA SERVER DHCP 61
HÌNH 4.1 GIAO DIỆN CHÍNH CỦA PHẦN MỀM PACKET TRACER .63
HÌNH 4.2.CÁC KHU LÀM VIỆC CHÍNH CỦA CHƯƠNG TRÌNH .64
HÌNH 4.3 MÔ HÌNH TRIỂN KHAI 1 – OSPFV3 65
HÌNH 4.4 PING THÀNH CÔNG TỪ R1 ĐẾN R2 .68
HÌNH 4.5 PING THÀNH CÔNG TỪ R2 ĐẾN R1 .68
HÌNH 4.6 THÔNG TIN ĐỊA CHỈ IPV6 EUI-64 TRÊN R2 .69
HÌNH 4.7 THÔNG TIN ĐỊA CHỈ IPV6 EUI-64 TRÊN R1 .69
HÌNH 4.8 THÔNG TIN OSPFV3 TRÊN R1 .71
HÌNH 4.9 THÔNG TIN OSPFV3 TRÊN R2 .71
HÌNH 4.10 THÔNG TIN OSPFV3 TRÊN R3 71
HÌNH 4.11 MÔ HÌNH KỊCH BẢN 2 – MANUAL IPV6 TUNNEL .72
HÌNH 4.12 KẾT NỐI THÀNH CÔNG GIỮA R1 VÀ R3 .74
Trang 6DANH MỤC BẢNG
Bảng 1.1 Bảng đặc tả cấp phát địa chỉ IPv6 trên toàn cầu 5
Bảng 1.2 Giá trị trường phần mào đầu tiếp theo 12
Bảng 1.3 Địa chỉ Multicast mọi router 17
Bảng 1.4 Địa chỉ Multicast mọi node 17
Bảng 1.5 Thống kê các dạng địa chỉ IPv6 21
Bảng 2.1 Thông điệp lỗi 28
Bảng 2.2 Thông điệp thông tin mở rộng 29
Bảng 2.3 Các dạng tùy chọn ND 31
Bảng 2.4 Quy trình thủ tục ND cung cấp 32
Bảng 2.5 Chức năng gói LSA 40
Bảng 2.6 Lệnh cấu hình OSPFv3 toàn cục 41
Bảng 2.7 Lệnh cấu hình OSPFv3 interface 41
Trang 72 Mục tiêu
Mục tiêu đạt được sau khi hoàn thành đồ án:
Hiểu rõ đặc điểm và cấu trúc của IPv6.
Nắm vững những tính năng mới của IPv6 so với IPv4.
Nắm được các cách thức để triển khai IPv6.
Triển khai được các dịch vụ mạng trên nền IPv6.
3 Phạm vi nghiên cứu
Phạm vi của IPv6 rất rộng, từ cơ sở hạ tầng cho đến các dịch vụ mạng Đồ án tập trung nghiên cứu tổng quan về địa chỉ IPv6, các cách thức triển khai trên cơ sở hạ tầng mạng lớp 3 - lớp Network mà cụ thể là vấn đề triển khai các dịch vụ mạng trên IPv6 và chuyển đổi qua lại giữa môi trường IPv4 và IPv6
4 Bố cục
Nội dung của đồ án chia thành 4 chương:
Chương 1: Tổng quan về IPv6
Chương 2: Thủ tục và quy trình hoạt động cơ bản của địa chỉ IPv6
Chương 3: Chuyển đổi ipv4-ipv6 và triển khai các dịch vụ trên IPv6
Chương 4: Mô phỏng hệ thống mạng IPv6
Trang 8CHƯƠNG 1:
TỔNG QUAN VỀ ĐỊA CHỈ IPv6
Ngày 03-02-2011, nguồn cung địa chỉ Internet IPv4 đã chính thức cạn kiệt sau
30 năm sử dụng Tổ chức quản lý địa chỉ Internet toàn cầu (IANA) đã phân bổ những khối địa chỉ IPv4 cuối cùng cho các nhà cấp phát địa chỉ Internet khu vực (RIR) Điều
đó không có nghĩa mọi thứ trên thế giới đã chấm dứt, cũng không có nghĩa Internet
đã đến ngày tận thế Địa chỉ IPv6 là sẽ là phiên bản thế hệ tiếp theo Internet Đây là phiên bản thiết kế nhằm khác phục những hạn chế của giao thức IPv4 và bổ sung những tính năng mới cần thiết trong hoạt động và dịch vụ mạng thế hệ sau
Chương 1 của đồ án gồm những nội dung chính sau:
Các giới hạn của địa chỉ IPv4 và nguyên nhân phát triển địa chỉ IPv6.
Cách biểu diễn địa chỉ IPv6.
Cấu trúc của địa chỉ IPv6.
Các dạng địa chỉ của IPv6.
Trang 91.1 Những giới hạn của IPv4
IPv4 hỗ trợ trường địa chỉ 32 bit, IPv4 ngày nay không còn đáp ứng được nhu cầu sử dụng của mạng Internet Các vấn đề lớn mà IPv4 đang phải đối mặt là việc thiếu hụt các địa chỉ, đặc biệt là các không gian địa chỉ tầm trung (lớp B), độ bảo mật thông tin thấp cùng với việc xử lý gói tin gây trễ
Thêm vào đó, nhu cầu tự động cấu hình (Auto-config) ngày càng trở nên cần thiết Địa chỉ IPv4 trong thời kỳ đầu được phân loại dựa vào dung lượng của địa chỉ
đó (số lượng địa chỉ IPv4) Địa chỉ IPv4 được chia thành 5 lớp A, B, C, D 3 lớp đầu tiên được sử dụng phổ biến nhất Các lớp địa chỉ này khác nhau ở số lượng các bit dùng để định nghĩa Network ID
Ví dụ: Địa chỉ lớp B có 16 bit đầu dành để định nghĩa Network ID và 16 bit cuối cùng dành cho Host ID Trong khi địa chỉ lớp C có 21 bit dành để định nghĩa Network ID và 8 bit còn lại dành cho Host ID… Do đó, dung lượng của các lớp địa chỉ này khác nhau
1.2 Vấn đề quản lý địa chỉ IPv4
Bên cạnh những giới hạn đã nêu ở trên, mô hình này còn có một hạn chế nữa chính là sự thất thoát địa chỉ nếu sử dụng các lớp địa chỉ không hiệu quả
Ví dụ: một tổ chức có nhu cầu triển khai mạng với số lượng Host khoảng 300
Để phân địa chỉ IPv4 cho tổ chức này, người ta dùng địa chỉ lớp B Tuy nhiên, địa chỉ lớp B có thể dùng để gán cho 65536 Host Dùng địa chỉ lớp B cho tổ chức này làm thừa hơn 65000 địa chỉ Các tổ chức khác sẽ không thể nào sử dụng khoảng địa chỉ này Đây là điều hết sức lãng phí
Mặc dù có thêm nhiều công cụ ra đời như kỹ thuật Subnetting, VLSM và CIDR, các kỹ thuật trên cũng không thể giúp IPv4 tránh khỏi sự cạn kiệt tài nguyên
Một vài giải pháp ngắn hạn, chẳng hạn như ứng dụng RFC 1918 (Address Allocation for Private Internets) trong đó dùng một phần không gian địa chỉ làm các địa chỉ dành
riêng và NAT là một công cụ cho phép hàng ngàn Host truy cập vào Internet chỉ với một vài IP hợp lệ Mặc dù tiết kiệm được lượng lớn địa chỉ IP nhưng NAT vẫn còn nhiều nhược điểm như gây trễ và khó thực hiện kết nối điểm điểm và việc cang thiệp vào gói tin trên đường truyền gây ra những lỗ hổng trong hệ thống bảo mật
1.3 Nguyên nhân phát triển IPv6
Mạng Internet hiện nay đang kết nối hàng trăm ngàn Site với nhau, với hàng trăm triệu máy tính Trong tương lai không xa, những con số này không chỉ dừng lại
ở đó Sự phát triển nhanh chóng này đòi hỏi phải kèm theo sự mở rộng, nâng cấp không ngừng của cơ sở hạ tầng mạng và công nghệ sử dụng
Trang 10Hình 1.1. Sự cạn kiệt IPv4 qua các năm
Tình hình cạn kiệt IPv4 đã và đang xảy ra trên toàn thế giới Việc phát triển về
cơ sở hạ tầng cũng như nhân lực không phải là một khó khăn lớn, vấn đề ở đây là địa chỉ IP, không gian địa chỉ IP đã cạn kiệt, địa chỉ IP (IPv4) không thể đáp ứng nhu cầu mở rộng mạng đó Bước tiến quan trọng mang tính chiến lược đối với kế hoạch
mở rộng này là việc nghiên cứu cho ra đời một thế hệ sau của giao thức IP, đó chính
là IP version 6
Hình 1.2. IPv6 đang có những bước phát triển rõ rệt
1.4 Kiến trúc của IPv6
Khi phát triển phiên bản địa chỉ mới IPv6 hầu hết những chức năng của IPv4 đều được tích hợp vào IPv6 Tuy nhiên, IPv6 đã lượt bỏ một số chức năng cũ và thêm vào những chức năng mới tốt hơn Ngoài ra IPv6 còn có nhiều đặc điểm hoàn toàn mới
Trang 111.4.1 Tăng kích thước của tầm địa chỉ
Hình 1.3. Số bit trong IPv4 so với IPv6
IPv6 sử dụng 128 bit địa chỉ, tăng gấp 4 lần số bit so với IPv4 (32bit) Nghĩa
là trong khi IPv4 chỉ có 232 ~ 4,3 tỷ địa chỉ, thì IPv6 có tới 2128 ~ 3,4 * 1038 địa chỉ
IP Gấp 296 lần so với địa chỉ IPv4 Với số địa chỉ của IPv6 nếu rãi đều trên bề mặt trái đất (diện tích bề mặt trái đất là 511263 tỷ mét vuông) thì mỗi mét vuông có khoảng 665.570 tỷ tỷ địa chỉ
Hình 1.4. Khác nhau cơ bản giữa IPv4 và IPv6
Địa chỉ IPv6 được biểu diễn bởi ký tự Hexa với tổng cộng 8 Octet Mỗi Octet chứa 4 ký tự Hexa tương ứng với 16 bit nhị phân Dấu hai chấm ngăn cách giữa các octet
Giao thức IPv4 hiện tại được duy trì bởi kỹ thuật NAT và cấp phát địa chỉ tạm thời Tuy nhiên vì vậy mà việc thao tác dữ liệu trên payload của các thiết bị trung gian là một bất lợi cho các lợi ích về truyền thông, bảo mật đầu cuối và chất lượng dịch vụ (QoS) Với số lượng cực kỳ lớn địa chỉ IPv6 thì sẽ không cần đến kỹ thuật NAT hay cấp phát địa chỉ tạm thời nữa Vì lúc đó, mỗi thiết bị (Máy tính, điện thoại, tivi, robot, thiết bị dân dụng…) đều sẽ có một địa chỉ IP toàn cầu
Trang 121.4.2 Sự phân cấp địa chỉ toàn cầu
1.4.2.1 Phân cấp địa chỉ lúc ban đầu
Hình 1.5. Kiến trúc quản lý việc cấp phát địa chỉ IPv6 lúc đầu
Trong đó:
FP – Format Prefix: 3 bit 001 để nhận dạng là địa chỉ toàn cầu
TLA ID – Top Level Aggregate ID : là ID của các nhà cung cấp dịch
vụ hàng đầu(ARIN, NCC, APNIC)
Res – Reserved: Dự phòng cho tương lai
NLA ID – Next Level Aggregator ID: Nhận dạng tổng hợp cấp tiếp theo
SLA ID – Site Level Aggregator ID: Nhận dạng tổng hợp cấp vùng
Interface ID: Địa chỉ định danh interface của 1 node trong 1 mạng con
1.4.2.2 Phân cấp địa chỉ hiện nay
Địa chỉ IPv6 sử dụng một giải pháp gọi là prefix (tiền tố) để phân cấp một địa
chỉ thành các khối xác định Địa chỉ IPv6 hiện nay do tổ chức cấp phát địa chỉ Internet
quốc tế IANA cấp phát Bảng dưới đây mô tả chi tiết việc cấp phát địa chỉ IPv6 theo
prefix
Bảng 1.1 Bảng đặc tả cấp phát địa chỉ IPv6 trên toàn cầu
/3 3 bit Luôn là 001 được dành cho các địa chỉ định tuyến toàn cầu /23 20 bit
Xác định cấp cao nhất là tổ chức IANA IANA phân phối tiếp cho 5 RIR (AfriNIC, ARIN, APNIC )
/32 9 bit
Xác định cấp khu vực hoặc quốc gia Được các RIR cấp cho các ISP cao nhất trong hệ thống các nhà cung cấp dịch
vụ của mỗi quốc gia
/48 16 bit Xác định cấp vùng Là các nhà cung cấp dịch vụ ở mỗi
vùng của mỗi quốc gia hoặc các tổ chức lớn
/64 16 bit Xác định cấp thấp nhất Được các ISP cấp phát đến khách
hàng
Trang 131.5 Cách biểu diễn IPv6:
Địa chỉ IPv6 được viết hoặc theo 128 bit nhị phân, hoặc thành một dãy chữ số hexa Tuy nhiên, nếu viết một dãy số 128 bit nhị phân thì không thuận tiện nên địa chỉ IPv6 thường được biểu diễn dưới dạng một dãy chữ số hexa Đầu tiên, 128 bit nhị phân của địa chỉ IPv6 được biểu diễn thành dãy chữ số hexadecimal Sau đó, nhóm
128 bit này thành các nhóm 4 bit Tiếp đến, chuyển đổi từng nhóm 4 bit thành số hexa tương ứng và nhóm 4 số hexa thành một nhóm phân cách bởi dấu “:” Kết quả, một địa chỉ IPv6 được biểu diễn thành một dãy số gồm 8 nhóm số hexa cách nhau bằng dấu “:”, mỗi nhóm gồm 4 chữ số hexa
Hình 1.6. Cách biểu diễn IPv6
Mặc dù là địa chỉ IP ngay cả khi ở trong định dạnh hệ số đếm 16, vẫn rất dài, nhiều chữ số 0 trong một địa chỉ
Do đó cơ chế rút gọn địa chỉ được dùng để biểu diễn dễ dàng hơn các loại địa chỉ dạng này Có hai quy tắc rút gọn sau:
Quy tắc 1: Trong 1 nhóm 4 số có thể bỏ bớt những số 0 bên trái Ví dụ như
“0000” thì viết thành “0” , “09C0” thì viết thành “9C0”
Quy tắc 2: Trong cả địa chỉ một nhóm số liền nhau chứa toàn số 0 có thể viết
thành “ :: ” Tuy nhiên chỉ được thay thế mộ lần như vậy trong toàn bộ một địa chỉ IPv6
Hình 1.7. Biểu diễn địa chỉ IPv6
Trang 141.6 Một số tính năng mới nổi trội hơn so với IPv4
Đơn giản hóa việc đặt địa chỉ Host
IPv6 sử dụng 64 bit sau cho địa chỉ Host Một kỹ thuật gọi là EUI-64 làm đơn giản việc đặt địa chỉ host rất nhiều so với IPv4 Kỹ thuật này tận dụng 48 bit địa chỉ MAC để làm địa chi host Và chèn thêm chuỗi “FFFE” vào giữa mỗi 16 bit của địa chỉ MAC để hoàn chỉnh 64 bit phần địa chỉ host Bằng cách này, mọi Host sẽ có một Host ID duy nhất trong mạng Phần này sẽ được nói rõ hơn ở Chương 2
Tự động cấu hình địa chỉ.
Để đơn giản cho việc cấu hình các trạm, IPv6 hỗ trợ cả việc tự cấu hình địa chỉ Stateful như khả năng cấu hình DHCP server hoặc tự cấu hình Stateless (phi trạng thái) Với khả năng cấu hình phi trạng thái, các máy trạm trong mạng tự động liên kết với Router và nhận về địa chỉ prefix của phần mạng Thậm chí nếu không có Router, các máy trạm trên cùng một liên kết có thể tự cấu hình và giao tiếp với nhau mà không cần bất kỳ một thiết lập thủ công nào khác
Hiệu suất cao hơn.
Với IPv4 có sử dụng private address để tránh hết địa chỉ Do đó, xuất hiện kỹ thuật NAT để chuyển đổi địa chỉ, dẫn đến tăng Overhead cho gói tin Trong IPv6 do không thiếu địa chỉ nên không cần đến private address, do đó NAT được loại bỏ Giảm được thời gian xử lý Header, giảm Overhead vì chuyển dịch địa chỉ
Giảm được thời gian xử lý định tuyến: nhiều khối địa chỉ IPv4 được phân phát cho các user nhưng lại không tóm tắt được, nên phải cần các entry trong bảng định tuyến làm tăng kích thước của bảng định tuyến và thêm Overhead cho quá trình định tuyến Ngược lại, các địa chỉ IPv6 được cấp phát qua các ISP theo một kiểu phân cấp địa chỉ giúp giảm được Overhead
Trong IPv4 sử dụng nhiều Broadcast như ARP Request, trong khi IPv6 sử dụng Neighbor Discovery Protocol để thực hiện chức năng tương tự trong quá trình tự cấu hình mà không cần sử dụng Broadcast Bên cạnh đó, Multicast có giới hạn trong IPv6, một địa chỉ Multicast có chứa một trường scope (phạm vi) có thể hạn chế các gói tin Multicast trong các node, trong các link, hay trong một tổ chức
Hỗ trợ tốt tính năng di động
Tính di động (Mobility) là một tính năng rất quan trọng trong hệ thống mạng ngày nay Mobile IP là một tiêu chuẩn của IETF cho cả IPv4 và IPv6 Mobile IP cho phép thiết bị di chuyển mà không bị đứt kết nối, vẫn duy trì được kết nối hiện tại Trong IPv4, mobile IP là một tính năng mới cần phải được thêm vào nếu cần sử dụng Ngược lại với IPv6, tính di động được tích hợp sẵn, có nghĩa là bất kỳ node IPv6 nào cũng có thể sử dụng được khi cần thiết
Trang 15Thêm vào đó phần header của định tuyến trong IPv6 làm cho Mobile IPv6 hoạt động hiệu quả hơn Mobile IPv4 Chính vì vậy, trong tương lai các thiết bị di động như laptop, máy tính bảng, smartphone… sẽ dùng địa chỉ IPv6 tích hợp sử dụng trên cơ
sở hạ tầng của mạng viễn thông
Bảo mật cao.
IPSec (IP Security) là một tiêu chuẩn do IETF đưa ra cho lĩnh vực an ninh mạng IP, được sử dụng cho cả IPv4 và IPv6 Mặc dù các chức năng cơ bản là giống hệt nhau trong cả hai môi trường, nhưng với IPv6 thì IPSec là tính năng bắt buộc IPsec được kích hoạt trên tất cả các node IPv6 và sẵn sàng để sử dụng Tính sẵn sàng của IPsec trên tất cả các node làm cho IPv6 Internet an toàn hơn
Header đơn giản hơn.
Header của IPv6 đơn giản và hợp lý hơn IPv4 IPv6 chỉ có 6 trường và 2 địa chỉ, trong khi IPv4 chứa 10 trường và 2 địa chỉ Do vậy các gói tin IPv6 di chuyển nhanh hơn trong mạng Dẫn đến tốc độ mạng sẽ được cải thiện
Tổng hợp địa chỉ (Addresss Aggregation)
Hình 1.8. Tổng hợp địa chỉ cho định tuyến
Addresss Aggregation là kỹ thuật tương tự với kỹ thuật Address Summarize trong IPv4 Một ISP sẽ tổng hợp tất cả các prefix của các khách hàng thành một tiền
tố duy nhất và thông báo tiền tố này với cấp cao hơn
Việc tổng hợp địa chỉ sẽ làm cho bảng định tuyến gọn hơn và khả năng mở rộng định tuyến nhiều hơn trên các Router Dẫn đến sự mở rộng hơn các chức năng mạng như tối ưu hóa băng thông và tăng thông lượng sử dụng để kết nối được tới nhiều hơn các thiết bị và dịch vụ trên mạng như: VoIP, tryền hình theo yêu cầu, Video
độ nét cao, ứng dụng thời gian thực, game-online, học tập hay hội thảo qua mạng…
Đánh số lại thiết bị IPv6 (Renumbering)
Đánh số lại mạng IPv4 là điều những nhà quản trị rất quan ngại Nó ảnh hưởng tới hoạt động mạng lưới và tiêu tốn nhân lực cấu hình lại thông tin cho thiết bị trên mạng
Trang 16Địa chỉ IPv6 được thiết kế có một cách thức đánh số lại mạng một cách dễ dàng hơn Một địa chỉ IPv6 gán cho node sẽ có hai trạng thái, đó là “còn được sử dụng-preferred” và “loại bỏ - deprecated” tùy theo thời gian sống của địa chỉ đó Máy tính luôn cố gắng sử dụng các địa chỉ có trạng thái “còn được sử dụng” Thời gian sống của địa chỉ được thiết lập từ thông tin quảng bá của router Do vậy, các máy tính trên mạng IPv6 có thể được đánh số lại nhờ thông báo của router đặt thời gian hết hạn có thể sử dụng cho một prefix Sau đó, router thông báo prefix mới để các máy tính tạo lại địa chỉ IP Trên thực tế, các máy tính có thể duy trì sử dụng địa chỉ cũ trong một khoảng thời gian nhất định trước khi xóa bỏ hoàn toàn
1.7 So sánh Header của IPv4 và IPv6
Hình 1.9. IPv4 Header và IPv6 Header
Header của IPv6 có 40 octet (hay độ lớn 40 byte) nhiều hơn với 20 octet trong IPv4 Trường địa chỉ lớn hơn 4 lần so với IPv4 tuy nhiên IPv6 có một số lượng các trường ít hơn, nên giảm được thời gian xử lý Header, tăng độ linh hoạt
Không có Header checksum: Trường checksum của IPv4 được bỏ đi vì các liên kết ngày nay nhanh hơn và có độ tin cậy cao hơn vì vậy chỉ cần các Host tính checksum còn Router thì không cần Ngoài ra Header checksum là 1 tham số sử dụng
để kiểm tra lỗi trong thông tin header, được tính toán ra dựa trên những con số của header
Tuy nhiên, có một vấn đề nảy sinh là header chứa trường TTL (Time to Live), giá trị trường này thay đổi mỗi khi gói tin được truyền qua 1 router Do vậy, header checksum cần phải được tính toán lại mỗi khi gói tin đi qua 1 router Nếu giải phóng router khỏi công việc này, chúng ta có thể giảm được trễ
Trang 17Không có sự phân mảnh theo từng hop Trong IPv4, khi các packet quá lớn thì Router có thể phân mảnh nó Tuy nhiên, việc này sẽ làm tăng thêm tổng phí cho gói tin Trong IPv6 chỉ có Host nguồn mới có thể phân đoạn một packet theo các giá trị thích hợp dựa vào một MTU path mà nó tìm được Do đó, để hỗ trợ Host thì IPv6 chứa một hàm giúp tìm ra MTU từ nguồn đến đích
Hình 1.10. Chi tiết IPv6 Header
Các trường có trong IPv6 Header:
Version: Trường chứa 4 bit 0110 ứng với số 6 chỉ phiên bản của IP
Traffic Class (Phân dạng lưu lượng): Trường 8 bit tương ứng với trường
Type of Service (ToS) trong IPv4 Trường này được sử dụng để biểu diễn mức ưu tiên của gói tin
Flow Label (Nhãn dòng): Trường hoàn toàn mới trong IPv6, có 20 bit chiều
dài “Nhãn dòng” cho phép bộ định tuyến (router) định dạng và cung cấp cách thức
xử lý đặc biệt những gói tin thuộc một dòng nhất định giữa nguồn và đích Bằng cách
sử dụng trường này, nơi gửi gói tin hoặc thiết bị hiện thời có thể xác định một chuỗi các gói tin Ngay cả trong IPv4, một số các thiết bị giao tiếp cũng được trang bị khả năng nhận dạng dòng lưu lượng và gắn mức ưu tiên nhất định cho mỗi dòng Tuy nhiên, những thiết bị này không những kiểm tra thông tin tầng IP ví dụ địa chỉ nơi gửi và nơi nhận, mà còn phải kiểm tra cả số port là thông tin thuộc về tầng cao hơn Trường Flow Label trong IPv6 cố gắng đặt tất cả những thông tin cần thiết vào cùng nhau và cung cấp chúng tại tầng IP
Payload Length (Chiều dài tải dữ liệu ): Trường 16 bit Tương tự trường
Toal Length trong IPv4, xác định tổng kích thước của gói tin IPv6 (không chứa header)
Trang 18 Next Header (Mào đầu tiếp theo): Trường 8 bit Trường này sẽ xác định
xem extension header có tồn tại hay không, nếu không được sử dụng, header cơ bản chứa mọi thông tin tầng IP Nó sẽ được theo sau bởi header của tầng cao hơn, tức là header của TCP hay UDP, và trường Next Header chỉ ra loại header nào sẽ theo sau
Hop Limit (Giới hạn bước): Trường 8 bit Trường này tương tự trường
Time to live của IPv4 Nó có tác dụng chỉ ra số hop tối đa mà gói tin IP được đi qua Qua mỗi hop hay router, giá trị của trường sẽ giảm đi 1
Source Address (Địa chỉ nguồn): Trường này gồm 16 octet (hay 128 bit),
định danh địa chỉ nguồn của gói tin
Destination Address (Địa chỉ đích): Trường này gồm 16 octet (hay 128
bit), định danh địa chỉ đích của gói tin
Ngoài ra IPv6 Header còn có thêm Extension Headers, là phần Header mở rộng IPv6 ứng dụng một hệ thống tách biệt các dịch vụ gia tăng khỏi các dịch vụ cơ bản và đặt chúng trong header mở rộng (extension header), phân loại các header mở rộng theo chức năng của chúng
Hình 1.11. Thứ tự header trong gói tin IPv6
Extension Headers bao gồm 6 loại, khi sử dụng cùng lúc nhiều extension header, thường có một khuyến nghị là đặt chúng theo thứ tự sau: Hop-by-Hop, Destination, Routing, Fragment, Authentication Header, Encapsulating Security Payload
Hình 1.12. Mào đầu mở rộng của địa chỉ IPv6
Trang 19Bảng 1.2 Giá trị trường phần mào đầu tiếp theo
Giá trị Dạng Phần đầu mở rộng tương ứng
Hop-by-Hop options header(Từng bước): Là phần mào đầu mở rộng được
đặt đầu tiên ngay sau mào đầu cơ bản,được sử dụng để xác định những tham số nhất định tại mỗi bước (hop) trên đường truyền dẫn gói tin từ nguồn tới đích Do vậy sẽ được xử lý tại mọi bộ định tuyến (router) trên đường truyền dẫn gói tin
Destination (Đích): được sử dụng để xác định các tham số truyền tải gói tại
đích tiếp theo hoặc đích cuối cùng trên đường đi của gói tin Nếu trong gói tin có Phần đầu mở rộng "Định tuyến" thì Phần đầu mở rộng "Đích" mang thông tin tham
số xử lý tại mỗi đích tới tiếp theo Ngược lại, nếu trong gói tin không có Phần đầu mở rộng "Định tuyến" thì thông tin trong Phần đầu mở rộng "Đích" là tham số xử lý tại đích cuối cùng
Routing (Định tuyến): đảm nhiệm xác định đường dẫn định tuyến của gói
tin Nếu muốn gói tin được truyền đi theo một đường xác định (không lựa chọn đường
đi của các thuật toán định tuyến), nút mạng IPv6 nguồn có thể sử dụng phần mào đầu
mở rộng Routing để xác định đường đi, bằng cách liệt kê địa chỉ của các bộ định tuyến (router) mà gói tin phải đi qua Các địa chỉ thuộc danh sách này sẽ được lần lượt dùng làm địa chỉ đích của gói tin IPv6 theo thứ tự được liệt kê và gói tin sẽ được gửi từ bộ định tuyến này đến bộ định tuyến khác, theo danh sách liệt kê trong mào đầu Routing
Fragment( Phân mảnh): Phần đầu mở rộng “Phân mảnh” mang thông tin
hỗ trợ cho quá trình phân mảnh và tái tạo gói tin IPv6, được sử dụng khi nguồn IPv6 gửi đi gói tin lớn hơn giá trị MTU (Maximum Transmission Unit) nhỏ nhất trong toàn
bộ đường dẫn từ nguồn tới đích
Authentication, Encapsulating Security Payload( Xác thực, Mã hóa ):
Authentication header (giá trị = 51) và ESP header (giá trị = 50) được sử dụng trong IPSec để xác thực, đảm bảo tính toàn vẹn và tính bảo mật của 1 gói tin, được sử dụng
để xác định những thông tin liên quan đến mã hoá dữ liệu
Trang 201.8 Phân loại địa chỉ
Địa chỉ IPv6 được chia ra thành 3 loại chính sau đây:
Unicast Address: Unicast Address dùng để xác định 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
Anycast Address: Anycast Address dùng để xác định nhiều Interface Tuy
vậy, packet có đích đến là Anycast Address sẽ thông qua Routing để chuyển đến một interface trong số các interface có cùng Anycast Address, thông thường là interface
gần nhất Chữ “gần nhất” ở đây được xác định thông qua giao thức định tuyến đang
sử dụng
Multicast Address: Multicast Address dùng để xác định nhiều interfaces
Packet có đích đến là Multicast Address sẽ thông qua Routing để chuyển đến tất cả các interface có cùng Multicast Address
Trong IPv6 địa chỉ Broadcast đã bị loại bỏ
1.8.1 Unicast Address
1.8.1.1 Global Unicast Address:
Địa chỉ này được các ISP cấp cho người sử dụng có nhu cầu kết nối Internet Global Unicast Address giống như địa chỉ Public của IPv4 Cấu trúc của địa chỉ
Global Unicast Address đã được trình bày chi tiết ở mục 1.4.2
Địa chỉ định danh toàn cầu được phân cấp như sau:
Hình 1.13 Phân cấp định tuyến địa chỉ toàn cầu
Phần cố định: 3 bit đầu tiên 001 xác định dạng địa chỉ là dạng unicast
Global- Phần định tuyến toàn cầu: 45 bit tiếp theo các tổ chức quản lý sẽ phân cấp vùng này và chuyển giao cho các tổ chức khác Kích thước vùng địa chỉ nhỏ nhất quảng bá ra ngoài phạm vi một mạng của một tổ chức thông thường theo cấu trúc này
là /48.(kích thước phân bổ cho 1 ISP là /32 và sau đó ISP cấp xuống các mạng nhỏ hơn với kích thước /48)
Vùng định tuyến trong mạng: 15 bit tiếp theo là không gian địa chỉ mà
tổ chức có thể tự mình quản lý, phân bổ bên trong mạng của mình
Trang 211.8.1.2 Link-local Addresses:
Đây là loại địa chỉ dùng cho các node khi chúng muốn giao tiếp với các node khác trong cùng mạng LAN Địa chỉ link local luôn được IPv6 cấu hình tự động, khi bắt đầu hoạt động ngay cả khi không có sự tồn tại của mọi dạng địa chỉ unicast khác.Địa chỉ link local sử dụng trong các quy trình mà thủ tục Neighbor Discovery đảm nhiệm
Hình 1.14. Cấu trúc địa chỉ Link-local
Theo hình 1.14:
10 bit đầu là giá trị cố định 1111 1110 10 (Prefix FE80::/10)
54 bit kế tiếp có giá trị bằng 0
64 bit cuối: là địa chỉ của interface
Kết luận: Trong Link Local Address: 64 bit đầu là giá trị cố định không
thay đổi tương ứng với prefix là FE80::/10
Vào cmd, gõ lệnh “ netsh interface IPv6 show addresses ” để xem
giá trị Link-Local Address
Hình 1.15. Xem địa chỉ Link-local của máy tính
Có một lưu ý là 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
Trang 221.8.1.3 Site-local Addresses:
Site-Local Addresses có ý nghĩa giống địa chỉ IPv4 Private, địa chỉ IPv6 được thiết kế với mục đích sử dụng trong phạm vi một mạng Khi đó bộ định tuyến IPv6 không chuyển tiếp gói tin có địa chỉ site-local ra khỏi phạm vi mạng riêng Do vậy, một vùng địa chỉ site-local có thể được dùng trùng lặp cho nhiều mạng cơ quan, tổ chức mà không gây xung đột định tuyến IPv6 toàn cầu
Hình 1.16. Cấu trúc địa chỉ Site-local
Theo hình 1.15:
10 bit đầu là giá trị cố định 1111 1110 11 (Prefix FEC0::/10)
38 bit kế tiếp toàn bộ là bit 0
16 bit kế tiếp là giá trị Subnet ID
64 bit cuối là địa chỉ của interface
Kết luận: Trong Site-local Address: 10 bit đầu là giá trị cố định không thay
đổi tương ứng với prefix là FEC0::/10 Hiện nay do địa chỉ IPv6 có không gian quá
lớn nên địa chỉ site-local không còn được sử dụng nữa
1.8.2 Multicast Address
Địa chỉ truyền thông nhóm ( Multicast Address ) định danh một nhóm nhiều giao diện Gói tin có địa chỉ đích là địa chỉ truyền thông nhóm sẽ được gửi tới tất cả các giao diện trong nhóm được gắn địa chỉ đó Loại địa chỉ IP này được sử dụng trong giao tiếp một – nhiều
Multicast Address được thiết kế để thực hiện cả chức năng quảng bá và truyền thông nhóm Mỗi dạng địa chỉ này lại có phạm vi hoạt động nhất định Lưu lượng của địa chỉ truyền thông nhóm sẽ được chuyển tới toàn bộ các nút mạng trong một phạm
vi nào đó hay chỉ được chuyển tới nhóm các nút mạng trong phạm vi là tùy thuộc vào dạng của các địa chỉ này
Trong đị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
Trang 23Dưới đây là cấu trúc của một địa chỉ Multicast:
Hình 1.17 Cấu trúc địa chỉ Multicast Address
Địa chỉ IPv6 Multicast được định nghĩa với prefix là FF::/8
Từ FF00:: đến FF0F:: là địa chỉ dành riêng được quy định bởi IANA để sử
Flag = 0: Địa chỉ multilcast vĩnh viễn.Địa chỉ được IANA quy định
Flag = 1: Địa chỉ multilcast tạm thời Với trường hợp này địa chỉ sẽ
không có ý nghĩa khi ra khỏi phạm vi mà người dùng cấu hình
Phạm vi (scope)4 bit:
Scope chỉ ra phạm vi hoạt động của địa chỉ Hiện tại có 5 giá trị Scope:
1: Phạm vi trong một thiết bị (phạm vi node )
3: Phạm vi trong một đường kết nối(phạm vi link )
5: Phạm vi một mạng (phạm vi site )
8: Phạm vi tổ chức (Phạm vi Organization)
E: Phạm vi toàn cầu (phạm vi global)
32 bit định danh nhóm (Group ID): trường này thực hiện chức năng định
danh các nhóm truyền thông nhóm Trong một phạm vi, có nhiều nhóm truyền thông nhóm Giá trị các bit định danh nhóm sẽ xác định các nhóm truyền thông nhóm.Trong một phạm vi, số định danh này là duy nhất
Trang 24Ngoài ra, còn có một số địa chỉ mặc định vĩnh viễn mà mọi node IPv6 đều phải
có Bảng dưới đây liệt kê các địa chỉ Multicast IPv6 thuộc mọi router Nhóm này hiện
có giá trị Group ID là 2
Bảng 1.3 Địa chỉ Multicast mọi router
Bảng 1.4 Địa chỉ multicast mọi node
Nhóm Multicast mọi node hiện nay được gắn giá trị Group ID là 1
Trang 25Hình 1.18. Multicast trong phạm vi đường kết nố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 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 duy nhất, tự động họ sẽ được kết nối tới Server thông qua Router gần nhất
Trang 26Hiện nay, địa chỉ Anycast được sử dụng rất hạn chế, rất ít tài liệu nói về cách
sử dụng loại địa chỉ này Hầu như địa chỉ Anycast chỉ được dùng để đặt cho Router, không đặt cho Host
Địa chỉ Anycast không bao giờ được sử dụng như là địa chỉ nguồn của một gói tin
1.9 Các loại địa chỉ IPv6 đặc biệt:
1.9.1 Địa chỉ không định danh và địa chỉ loopback
IPv6 sử dụng hai địa chỉ đặc biệt sau trong giao tiếp:
0:0:0:0:0:0:0:0 hay được viết gọn thành “::” là loại địa chỉ không
định danh được node IPv6 sử dụng để thể hiện rằng hiện tại nó không có địa chỉ Địa chỉ “::” được sử dụng làm địa chỉ nguồn cho các gói tin trong quy trình hoạt động
của một node IPv6 khi tiến hành kiểm tra xem có một node nào khác trên cùng đường kết nối đã sử dụng địa chỉ IPv6 mà nó đang dự định dùng hay chưa Địa chỉ này không bao giờ được gán cho một interface hoặc được sử dụng làm địa chỉ đích
0:0:0:0:0:0:0:1 hay “: :1” được sử dụng làm địa chỉ xác định
interface loopback, tương đương với dãi địa chỉ 127.0.0.0 của IPv4 Địa chỉ này dùng
để kiểm tra xem một máy tính có hoạt động được IPv6 hay không Bên cạnh đó, với
các router thì địa chỉ “: :1 ” không bao giờ được gửi trên một đường kết nối hay
chuyển tới bởi router Phạm vi của dạng địa chỉ này là phạm vi node
1.9.2 Địa chỉ IPv4-Compatible IPv6
IPv4-Compatible IPv6 là địa chỉ tương thích của một IPv4 với một IPv6 Node Khi sử dụng IPv4-Compatible 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
Hình 1.19. Cấu trúc địa chỉ IPv4-Compatible IPv6
Trang 27 Format: 0:0:0:0:0:0:w.x.y.z
Trong đó w, x, y, z là các địa chỉ IPv4
Ví dụ: 0:0:0:0:0:0:0:192.168.1.2
Dạng địa chỉ IPv4-Compatible được sử dụng trong công nghệ tạo đường hầm
có tên gọi là tunnel tự động
Địa chỉ 6to4 là dạng địa chỉ IPv4-Compatible được sử dụng phổ biến hiện nay trong công nghệ tạo đường hầm - tunnel động
1.9.3 Địa chỉ IPv4-Mapped IPv6
IPv4-Mapped IPv6 được tạo nên từ 32 bit địa chỉ IPv4 theo cách thức gắn 80 bit 0 đầu tiên, tiếp theo là 16 bit có giá trị hexa FFFF với 32 bit địa chỉ IPv4Địa chỉ IPv4-mapped không bao giờ được dùng làm địa chỉ nguồn hay địa chỉ đích của một gói tin IPv6
Hình 1.20. Cấu trúc địa chỉ IPv4-Mapped IPv6
Địa chỉ 6to4 được sử dụng trong giao tiếp giữa hai nút mạng chạy đồng thời
cả hai thủ tục IPv4 và IPv6 trên mạng cơ sở hạ tầng định tuyến của IPv4.Địa chỉ 6to4 được hình thành như sau:
Trong vùng địa chỉ định danh toàn cầu, IANA đã cấp phát một dải địa chỉ dành riêng 2002::/16 để tạo nên địa chỉ 6to4
Trang 28 Địa chỉ 6to4 được tạo nên bằng cách gắn 16 bit tiền tố “2002” nói trên với 32 bit địa chỉ IPv4 viết dưới dạng hexa, từ đó tạo nên một vùng địa chỉ IPv6 kích thước /48 Vùng địa chỉ này sẽ được sử dụng để tạo nên mạng IPv6 6to4 Các mạng này sẽ kết nối với nhau trên cơ sở hạ tầng mạng Internet IPv4
1.10 Thống kê các dạng địa chỉ IPv6
Địa chỉ IPv6 được biểu diễn dưới dạng chữ số Hexa nên có phần khó nhớ hơn địa chỉ IPv4 Những mục trước đã đề cập và mô tả nhiều dạng địa chỉ IPv6, bây giờ chúng ta sẽ thống kê lại các tiền tố ( prefix ) và tổng kết lại những dạng địa chỉ mà để hoạt động được, host IPv6, router IPv6 cần được gán
Bảng dưới đây sẽ trình bày cụ thể các dạng địa chỉ IPv6
Bảng 1.5 Thống kê các dạng địa chỉ IPv6
:: Địa chỉ không định danh Thể hiện Node hiện tại
không có địa chỉ
FE80::/10 Địa chỉ Link-local
2000::/3 Địa chỉ định danh toàn cầu Được cấp phát bởi các tổ
Trang 29CHƯƠNG 2:
THỦ TỤC VÀ QUY TRÌNH HOẠT ĐỘNG CỦA IPV6
Chương 1 đã trình bày từ khái quát đến chi tiết về không gian địa chỉ và cấu trúc gói tin IPv6 cùng một số nội dung quan trọng khác Chúng ta biết rằng khi các node IPv6 trong mạng giao tiếp với nhau cần thiết phải có những giao thức và thủ tục vận hành Để hiểu sâu hơn về hoạt dộng cũng nhưng phương pháp vận hành của IPv6 trong chương 2 sẽ trình bày về một số phương thức hình thành một địa chỉ IPv6, cách node IPv6 giao tiếp với nhau và những thủ tục, giao thức quan trọng trong thế
hệ địa chỉ IPv6
Chương 2 của đồ án gồm những nội dung chính sau:
Một số công nghệ triển khai IPv6
Trang 302.1 Các phương pháp triển khai IPv6
Interface định danh được sử dụng trong địa chỉ global unicast và các loại địa chỉ IPv6 khác phải có 64 bit chiều dài và được xây dựng trong 1 định dạng do IEEE
đưa ra là Extended Universal Identifier (EUI) - 64 EUI-64 định dạng ID interface
có nguồn gốc từ 48 bit của địa chỉ MAC trên interface Do địa chỉ MAC mang tính
duy nhất nên chỉ cần chèn thêm chuỗi Hexa là FFFE vào giữa 3 byte của địa chỉ
MAC để tạo ra 64 bit của phần interface ID
Hình 2.1. Định dạng EUI-64 cho IPv6
Để chắc rằng địa chỉ sinh ra từ địa chỉ Ethernet MAC là duy nhất, bit thứ 7 trong octet đầu tiên (bit U) là 1 hoặc 0 (thông thường có giá trị bằng 0 )ứng với giá trị duy nhất trong toàn thể hoặc giá trị duy nhất trong cục bộ Còn bit thứ 8 (bit G) là bit nhóm/cá nhân, với mục đích quản lý các nhóm
Ví dụ: Ban đầu ta có địa chỉ MAC Adderss 48 bit sau: 0090:2717:FC0F
Hình 2.2. Mô tả định dạng EUI-64
Bằng cách chèn thêm chuỗi FFFE vào giữa ta được phần địa chỉ Interface ID
hoàn thiện:
Mô tả định dạng EUI-64 (tt)
Trang 312.1.2 Tự động cấu hình phi trạng thái
Việc tự động cấu hình làm cho tính năng plug-and-play tối ưu hơn bao giờ hết Điều này đồng nghĩa với việc cho phép các thiết bị kết nối vào mạng mà không cần bất kỳ cấu hình nào và cũng không cần có bất kỳ máy chủ nào (như các máy chủ DHCP) Tính năng này cho phép triển khai các thiết bị mới trên Internet, chẳng hạn như điện thoại di động, các thiết bị không dây, thiết bị gia dụng, và mạng lưới giám sát gia đình
Trang 322.1.2.2 Mô tả cách làm việc của Stateless Autoconfiguration
Quá trình Stateless Autoconfiguration diễn ra theo 3 bước sau:
Bước 1: Thiết bị sẽ gửi một gói tin được gọi là router solicitation cho Router
để yêu cầu thông tin về mạng
Hình 2.5. Bước 1 của Stateless Autoconfiguration
Bước 2: Router phản hồi lại với gói tin router advertisement chứa các thông
tin cần thiết (bao gồm 64 bit prefix phần mạng và địa chỉ Default route.)
Hình 2.6. Bước 2 của Stateless Autoconfiguration
Bước 3: Thiết bị dùng 64 bit prefix phần mạng mà Router gửi kết hợp với kỹ
thuật EUI-64 để tạo ra 64 bit phần host, kết quả có được 128 bit địa chỉ IPv6
2.1.3 DHCPv6
Trong quá trình tự cấu hình phi trạng thái, mỗi node có trách nhiệm cấu hình địa chỉ của chính nó và lưu lại interface ID của nó và thông tin được cung cấp bởi giao
thức “neighbor discovery” Trong một mạng nhỏ, quá trình này có ích lợi là đơn
giản và dễ dùng Bất lợi của nó là quá phụ thuộc vào kỹ thuật multicast, sử dụng không hiệu quả tầm địa chỉ và thiếu bảo mật, thiếu sự kiểm soát chính sách và việc đăng nhập
Để hỗ trợ các giao tiếp giữa các mạng lớn hơn và phức tạp hơn thì ta phải sử dụng quá trình tự cấu hình stateful Để hiểu rõ hơn quá trình này, ta phải hiểu rõ các khái niệm sau: stateful autodiscovery, DHCPv6, DHCPv6 client, relay agent
Trang 33Stateful autoconfig dựa trên các server để cung cấp các thông tin cấu hình, những server này được gọi là các DHCPv6 server Stateful có khả năng mở rộng tốt hơn cho những mạng lớn Stateful có thể được sử dụng đồng thời với stateless Ví dụ: một node có thể theo các quá trình stateless trong quá trình khởi động để lấy địa chỉ liên kết cục bộ Sau đó, nó có thể sử dụng stateful để lấy thêm các thông tin từ DHCPv6 server
Hình 2.7. Hoạt động của DHCPv6.
Để lấy thông tin cấu hình thì Client phải xác định một DHCPv6 server bằng cách gửi ra một DHCP solicit message hay bằng cách lắng nghe một DHCP advertisement Client sau đó sẽ gửi một unicast DHCPv6 Request Nếu DHCPv6 server không ở chung subnet với Client thì một DHCP relay hay agent sẽ forward yêu cầu cho một server khác Server sẽ hồi âm bằng một DHCPv6 Reply chứa thông tin cấu hình cho Client
Việc sử dụng DHCPv6 có nhiều ích lợi như:
Kiểm soát: DHCPv6 kiểm soát việc phân phối và gán các địa chỉ từ một điểm kiểm soát tập trung
Tóm tắt: Do việc phân phối có thứ bậc nên có thể tóm tắt địa chỉ
Renumbering: Khi một ISP mới được chọn để thay thế cái cũ thì các địa chỉ mới có thể dễ dàng được phân phối hơn với dịch vụ DHCPv6
Bảo mật: Một hệ thống đăng ký host có thể được sử dụng trong một dịch vụ DHCPv6 Hệ thống đăng ký này có thể cung cấp một cách có chọn lựa các dịch vụ mạng cho các host đăng ký và từ chối truy cập cho các host không đăng ký
Trang 342.2 Thủ tục ICMPv6
2.2.1 Tổng quát vai trò của thủ tục ICMPv6 trong hoạt động của IPv6
Thủ tục ICMP trong hoạt động Internet phiên bản IPv4 được sử dụng để truyền tải những gói tin, được sử dụng với mục đích báo lỗi và điều khiển truyền tải IP, cũng như thực hiện những chức năng chẩn đoán mạng Phục vụ cho quá trình lái (redirect),
là quá trình bộ định tuyến thông báo cho máy tính về một đích tiếp theo tốt hơn để chuyển lưu lượng tới một đích nhất định Việc quản lý quan hệ thành viên nhóm truyền thông nhóm được đảm nhiệm bằng thủ tục IGMP, sử dụng tập hợp thông điệp riêng…Trong hoạt động Internet phiên bản 6, ICMPv6 được tổ hợp với IPv6 Mọi nút mạng hỗ trợ IPv6 phải thực thi hoàn toàn ICMPv6
Các quy trình trong IPv6 được thực hiện và điều khiển bằng thủ tục ICMPv6 như:
Quy chuẩn hoá các thông điệp phục vụ cho những quy trình hoạt động trong mạng nội bộ
Các quy trình được đảm nhiệm bằng thủ tục mới – ND (Neighbor Discovery) như RA, RS, NA, NS
Việc quản lý quan hệ thành viên nhóm truyền thông nhóm được đảm nhiệm bằng thủ tục MLD (Multicast Listener Discovery - thủ tục quản lý quan hệ thành viên multicast, phục vụ cho định tuyến multicast) nếu nút mạng IPv6 tham gia vào quá trình định tuyến multicast
Các quy trình giao tiếp cốt yếu giữa host với host, giữa host với bộ định tuyến IPv6 trên một đường kết nối, vốn là nền tảng cho hoạt động của nút mạng IPv6, đều dựa trên việc trao đổi các thông điệp ICMPv6
2.2.2 Phân loại thông điệp ICMPv6
2.2.2.1 Gói tin ICMPv6
Gói tin ICMPv6 bắt đầu sau phần đầu cơ bản hoặc một phần đầu mở rộng của IPv6 và được xác định bởi giá trị 58 của trường “mào đầu tiếp theo”(Next Header) trong phần đầu cơ bản hoặc phần đầu mở rộng phía trước Gói tin ICMPv6 bao gồm phần phần đầu của ICMPv6 (ICMPv6 phần đầu) và phần thông điệp (ICMPv6 message)
ICMPv6 phần đầu bao gồm ba trường: "Dạng" (Type) 8 bit, "Mã" (Code) 8 bit
và "Kiểm tra" (Checksum) 16 bit Trường “Dạng” với giá trị của bit đầu tiên sẽ xác định đây là thông điệp lỗi hay thông điệp thông tin ("0" - lỗi; "1"- thông tin) Ở trường
"Mã" sẽ thông báo đây là gói tin gì trong từng loại thông điệp ICMPv6 Ở trường
“Kiểm tra” sẽ cung cấp giá trị sử dụng để kiểm tra lỗi cho toàn bộ gói tin ICMPv6
Trang 35Hình 2.8. Cấu trúc gói tin ICMPv6
Phần thông điệp ICMPv6 được chia làm hai loại: thông điệp lỗi và thông điệp thông tin
2.2.2.2 Thông điệp lỗi
Được sử dụng để báo lỗi trong quá trình chuyển tiếp và phân phối gói tin IPv6, thực hiện bởi nút mạng đích hoặc router đang xử lý gói tin Các thông điệp này có giá trị của 8 bit trường "Dạng" từ 0 đến 127 (bit đầu tiên là “0”) Các thông điệp lỗi bao gồm: Destination Unreachable (Không tới được đích), Packet Too Big (Gói tin quá lớn), Time Exceeded (Quá thời gian cho phép), và Parameter Problem (vấn đề về tham số)
Bảng 2.1 Thông điệp lỗi
1
DestinationUnreachable
(Không tới được đích)
0 - Không có tuyến tới đích 1 - Giao tiếp tới đích bị cấm 2 - Chưa gán
3 - Địa chỉ không kết nối được
4 - Port không kết nối tới được
phép)
0 - Vượt quá giới hạn bước(hop Limit) 1
- Thời gian tạo lại gói tin vượt quá giới hạn cho phép
Trang 362.2.2.3 Thông điệp thông tin
Thông điệp thông tin ICMPv6 chia thành hai nhóm: thông điệp thông tin cơ bản và thông điệp thông tin mở rộng Trường “Dạng” (Type) của gói tin thông điệp thông tin ICMPv6 có giá trị trong khoảng 128 - 255 (bit đầu tiên được thiết lập giá trị 1)
Thông điệp thông tin cơ bản: bao gồm “Echo request (Yêu cầu phản hồi)”
và “Echo reply (Phản hồi)” Hai dạng thông điệp này được sử dụng trong các chương trình dò tìm như ping, trace route, thực hiện chức năng chẩn đoán mạng Hai dạng thông điệp này có trường mã đều bằng 0 và trường dạng lần lượt là 128,129
Thông điệp thông tin mở rộng: là những thông điệp ICMPv6 phục vụ cho
các thủ tục thực hiện chức năng giao tiếp giữa các nút mạng lân cận trong một đường kết nối, sử dụng cho các quy trình hoạt động cốt yếu của IPv6
Bảng 2.2 Thông điệp thông tin mở rộng
(Truy vấn đối tượng nghe lưu lượng
Multicast)
0
(Báo cáo đối tượng nghe lưu lượng Multicast)
0
(Kết thúc nghe lưu lượng multicast)
Trang 37ND sử dụng tập hợp 5 thông điệp ICMPv6 sau đây:
Quảng bá của router RA (Router Advertisement);
Dò tìm router RS (Router Solicitation);
Dò tìm nút mạng lân cận NS (Neighbor Solicitation);
Quảng bá của nút mạng lân cận NA (Neighbor Advertisement);
Lái (Redirect)
Những thông điệp này được trao đổi giữa các nút mạng lân cận trên một đường kết nối trong quy trình hoạt động cần thiết của địa chỉ IPv6
2.3.2 Cấu trúc gói tin ND
Thông điệp ND bao gồm một phần đầu ND và có hoặc không có các tuỳ chọn
ND Tùy chọn ND sử dụng để chứa đựng các thông tin mà thông điệp ND cần truyền tải: địa chỉ MAC, tiền tố mạng (prefix) của đường kết nối, thông tin đơn vị truyền dẫn cực đại (MTU) của đường kết nối, các tham số hoạt động, dữ liệu phục vụ cho việc lái (redirect)…
Hình 2.9. Cấu trúc gói tin ND
Một tùy chọn ND được cấu thành từ ba trường: Dạng (Type), Chiều dài (Lengh), Giá trị (Value) Trường Dạng chỉ định dạng của Tùy chọn ND, hiện nay trong RFC2461 (Neighbor Discovery for IP Version 6 ), có các dạng trong bảng sau:
Trang 38Dạng 1: chỉ định địa chỉ lớp 2 của nơi gửi thông điệp ND Tùy chọn này có
trong các thông điệp Dò tìm nút mạng lân cận (NS), Dò tìm bộ định tuyến (RS), và Quảng bá của bộ định tuyến (RA) Các quy trình sử dụng những thông điệp trên cần
có tùy chọn này để thông báo địa chỉ lớp 2 của nơi gửi thông điệp ND
Dạng 2: chỉ định địa chỉ lớp 2 của nút mạng mà gói tin IPv6 nên được gửi tới
Tùy chọn này có trong thông điệp Quảng bá của nút mạng lân cận (NA) và Lái (Redirect)
Dạng 3: Tùy chọn “Tiền tố mạng ” có trong thông điệp Quảng bá của bộ định
tuyến (RA) để chỉ định tiền tố mạng (prefix) trên đường kết nối với bộ định tuyến, đồng thời cũng mang thông tin chỉ định về tự động cấu hình địa chỉ Trong một thông điệp RA, có thể có đồng thời nhiều tùy chọn “Tiền tố mạng” để thông báo cùng lúc nhiều prefix địa chỉ trên một đường kết nối
Trong thông điệp có chứa tùy chọn “Tiền tố mạng”, phần “Giá trị ” sẽ là N nhóm 8 bit, trong đó chứa các thông tin về chiều dài tiền tố mạng, thông tin về thời gian tồn tại hợp lệ của tiền tố mạng, cờ để xác định xem tiền tố mạng có được sử dụng
để cấu hình địa chỉ tự động hay không, và một số các thông tin khác nữa
Dạng 4: tùy chọn này có trong thông điệp Lái (Redirect) để xác định gói tin
IPv6, điều khiển bộ định tuyến phải gửi thông điệp Lái Nó có thể bao gồm một phần hoặc tất cả gói tin IPv6, tùy thuộc vào kích cỡ gói tin đã được gửi ban đầu
Dạng 5: tùy chọn này có trong thông điệp Quảng bá của bộ định tuyến (RA)
để chỉ định giá trị MTU trên đường kết nối Giá trị của MTU này sẽ được dùng thay cho giá trị MTU cung cấp bởi giao diện phần cứng
Trang 39Tìm kiếm tiền tố mạng
(Prefix discovery)
Giúp thiết bị tìm thấy tiền tố mạng (network prefix) trên đường kết nối của mình
Tìm kiếm thông số
(Parameter discovery)
Giúp thiết bị tìm được những tham số hoạt động như giá trị pathMTU, hop limit
Tự động cấu hình địa chỉ
(Address autoconfiguration)
Giúp nút mạng cấu hình thông tin địa chỉ IP cho các giao diện, theo phương thức có hoặc không có sự hiện diện của máy chủ DHCPv6
Quyết định đích tiếp theo
(Next – hop determination)
Giúp nút mạng quyết định địa chỉ
IPv6 của đích tiếp theo gói tin sẽ được chuyển tiếp tới, dựa trên địa chỉ đích
Khám phá khả năng có thể kết nối tới
được của nút mạng lân cận
(Neighbor unreachability detection)
Giúp nút mạng quyết định được một nút mạng lân cận có thể còn nhận được gói tin hay không
Kiểm tra trùng lặp địa chỉ
(Duplicate address detection)
Giúp nút mạng xác định tính duy nhất của địa chỉ IPv6 nó sắp sử dụng
Chức năng Lái (Redirect function )
Thông báo cho node địa chỉ IPv6 đích tiếp theo (next hop) tốt hơn có thể sử dụng để tới được đích cuối cùng
Trang 402.4 Thủ tục Multicast Listener Discovery
Multicast Listener Discovery là một thủ tục sử dụng các thông điệp ICMPv6, cho phép các bộ định tuyến khám phá ra những địa chỉ IPv6 multicast nào đang được nghe lưu lượng trên một đường kết nối Trong hoạt động của thế hệ địa chỉ IPv6, Multicast đảm nhiệm cả nhiệm vụ của broadcast và là thủ tục bắt buộc
Thủ tục MLD hiện hành khi multicast IPv6 vượt qua ngoài phạm vi 1 đường kết nối MLD cũng thay thế nhiệm vụ của IGMP trong IPv4 Thủ tục này sử dụng 3 thông điệp ICMPv6 đó là:
Truy vấn đối tượng nghe lưu lượng multicast: Được router dùng để
truy vấn những node đang nghe lưu lượng multicast trên đường kết nối
Báo cáo đối tượng nghe lưu lượng multicast: Được node đang nghe
lưu lượng tại một địa chỉn multicast sử dụng để báo cáo rằng mình đã sẵn sàng nhận lưu lượng Thông điệp này dùng để đáp trả thông điệp truy vấn ở trên
Kết thúc nghe lưu lượng multicast: Được node đang nghe sử dụng để
thông báo nó không còn muốn nhận lưu lượng multicast ( của địa chỉ cụ thể nào đó ) nữa Các thông điệp này có giá trị trường dạng ICMPv6 lần lượt là 130,131,132
2.5 Định tuyến cho liên mạng IPv6
Các IPv6 node sử dụng một bảng định tuyến IPv6 cục bộ để quyết định cách
để truyền packet đi Các entry trong bảng định tuyến được tạo một cách mặc định khi IPv6 khởi tạo và các entry khác sẽ được thêm vào khi nhận được các gói tin Router Advertisement chứa các prefix và các route, hay qua việc cấu hình tĩnh bằng tay
2.5.1 Bảng định tuyến IPv6
2.5.1.1 Các đặc tính
Một bảng định tuyến sẽ có mặt trên tất cả các node chạy giao thức IPv6 Bảng định tuyến lưu những thông tin về các subnet (mạng con) của mạng và một next hop (điểm tiếp theo) để có thể đến được subnet đó Trước khi bảng định tuyến được kiểm tra, thì bộ nhớ đích đến sẽ được kiểm tra xem có những entry nào trong đó khớp với địa chỉ đích có trong IPv6 header của gói tin hay không Nếu không có thì bảng định tuyến sẽ được sử dụng để quyết định
Interface được sử dụng để truyền gói tin (next hop interface) Interface được xác định là interface vật lý hoặc interface luận lý được sử dụng để truyền gói tin đến đích của nó hay router tiếp theo
Địa chỉ next hop: với những đích nằm trên cùng một liên kết cục bộ thì địa chỉ next hop chính là địa chỉ đích của gói tin Với những đích không nằm cùng subnet thì địa chỉ next hop chính là địa chỉ của một router