Thực tế, số địa chỉ mà IPv4 có thể được sử dụng có thể gán được cho các thiết bị sử dụng Internet là thấp hơn so với con số trên, nguyên nhân là do một số địa chỉ đặc biệt được dùng làm
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI
TÌM HIỂU VỀ ĐỊA CHỈ IPv6
MÔN HỌC
CÔNG NGHỆ MẠNG VÀ TRUYỀN THÔNG HIỆN ĐẠI
GVHD: TS Lê Trung Quân Học viên: Dương Phương Vũ
Mã học viên: CH1602016
Hồ Chí Minh - 09/2016
Trang 21.1 Không gian địa chỉ IPv4 1
1.1.1 Địa chỉ lớp A 1
1.1.2 Địa chỉ lớp B 2
1.1.3 Địa chỉ lớp C 2
1.1.4 Nhận xét 3
1.2 Ưu điểm của IPv6 3
1.2.1 Không gian địa chỉ lớn 3
1.2.2 Địa chỉ phân cấp, hạ tầng định tuyến hiệu quả 4
1.2.3 Header đơn giản hơn 4
1.2.4 Tự cấu hình địa chỉ 4
1.2.5 Khả năng xác thực và bảo mật thông tin 5
1.2.6 Hỗ trợ tốt hơn về chất lượng dịch vụ QoS 5
1.2.7 Hỗ trợ tốt hơn tính năng di động 5
1.2.8 Khả năng mở rộng 5
1.3 So sánh IPv4 và IPv6 5
2 GIỚI THIỆU ĐỊA CHỈ IPv6 7
2.1 Cách biểu diễn địa chỉ IPv6 7
2.2 Phân loại địa chỉ IPv6 8
2.2.1 Địa chỉ Unicast 8
2.2.2 Địa chỉ Multicast 9
2.2.3 Địa chỉ Anycast 10
2.3 Vấn đề tóm tắt địa chỉ 11
2.4 Phương pháp đánh địa chỉ IPv6 Global Unicast 11
2.4.1 Gán thủ công (Manual Interface ID Assignment) 11
2.4.2 Gán theo quy tắc EUI-64 (EUI-64 Interface ID Assignment) 11
2.4.3 Stateless Auto-Configuration 13
2.4.4 DHCPv6 (Stateful) 13
2.5 Các giao thức định tuyến 14
2.5.1 RIPng 14
Trang 32.5.3 BGP4+ 15
2.6 Phương pháp chuyển đổi IPv4 sang IPv6 15
2.6.1 Dual stack 15
2.6.2 Tunneling 16
2.6.3 NAT-PT 16
3 BẮT GÓI TIN TUNNEL IPv6-IN-IPv4 BẰNG WIRESHARK VÀ PHÂN TÍCH MÃ NGUỒN CỦA KERNEL LINUX 1
3.1 Bắt gói tin “IPv6-in-IPv4” bằng Wireshark 1
3.2 Phân tích mã nguồn của kernel linux 3
1 TÀI LIỆU THAM KHẢO 1
Trang 41 CÁC VẤN ĐỀ CỦA ĐỊA CHỊ IPv4
1.1 Không gian địa chỉ IPv4
Địa chỉ IP version 4 (IPv4) được định nghĩa vào năm 1981, được chia ra thành 5 lớp A, B, C, D:
Địa chỉ IPv4 sử dụng 32-bit, với 32 bit thì tổng cộng số địa chỉ mà IPv4 có
thuyết Thực tế, số địa chỉ mà IPv4 có thể được sử dụng (có thể gán được cho các thiết bị sử dụng Internet) là thấp hơn so với con số trên, nguyên nhân là do một số địa chỉ đặc biệt được dùng làm địa chỉ mạng (Network) và địa chỉ quảng bá
(Broadcast) Địa chỉ IPv4 có thể sử dụng là những địa chỉ thuộc lớp A, B và C
1.1.1 Địa chỉ lớp A
127 không được sử dụng và 10 là dãy địa chỉ Private của lớp A)
Trang 5Mỗi lớp A sẽ có số địa chỉ host là: 224 - 2 = 16,777,214 (Không tính địa chỉ mạng và địa chỉ Broadcast) Như vậy, tổng cộng địa chỉ IPv4 mà lớp A cung cấp là: 125 x 16,777,214 = 2,097,151,750
1.1.2 Địa chỉ lớp B
- 1 = 16,383 (172.16.0.0 là dãy địa chỉ Private của lớp B)
mạng và địa chỉ Broadcast) Như vậy, tổng cộng địa chỉ IPv4 mà lớp B cung cấp là: 16,383 x 65,534 = 1,073,643,522
1.1.3 Địa chỉ lớp C
2,097,151 (192.168.0.0 là dãy địa chỉ Private của lớp C)
địa chỉ Broadcast) Như vậy, tổng cộng địa chỉ IPv4 mà lớp C cung cấp là:
2,097,151 x 254 = 532,676,354
Trang 61.1.4 Nhận xét
Như trình bày ở phần trên, tổng số địa chỉ khả dụng của IPv4 là:
2,097,151,750 + 1,073,643,522 + 532,676,354 = 3,703,471,626 (trên lý thuyết là 4,294,967,296)
Mỗi lớp địa chỉ có dãy IP Private tương ứng, ví dụ:
Lớp A: 10.x.x.x
Lớp B: 172.16.x.x
Lớp C: 192.168.x.x Những địa chỉ thuộc những lớp này chỉ sử dụng trong mạng nội bộ mà không được quảng bá trên Internet
Ngày nay, dưới sự phát triển không ngừng của khoa học công nghệ và Internet, nhiều thiết bị hiện đại có sử dụng Internet ra đời (điện thoại di động, máy tính bảng, Laptop, SmartTV, Thiết bị dẫn đường trên xe hơi…), mỗi thiết bị để truy cập vào Internet tất nhiên phải được gán cho một địa chỉ IP dẫn đến sự thiếu hụt không gian địa chỉ IPv4
Dân số thế giới hiện nay khoảng gần 7,5 tỷ người, nếu nhưng trung bình mỗi người sở hữu 2 thiết bị công nghệ sử dụng Internet, như vậy sẽ cần 15 tỷ địa chỉ IPv4 Không gian địa chỉ IPv4 hoàn toàn không đáp ứng được, đòi hỏi sử ra đời của thế hệ IP tiếp theo, IPv6
1.2 Ưu điểm của IPv6
1.2.1 Không gian địa chỉ lớn
Trang 7IPv6 sử dụng 128 bit địa chỉ, nhiều gấp 4 lần địa chỉ IPv4 (32 bit), điều đó
Với số lượng địa chỉ vô cùng lớn thì không gian địa chỉ IPv6 được thiết kế
đủ lớn cho phép phân bổ địa chỉ và mạng con từ trục xương sống Internet đến từng mạng con trong một tổ chức Do đó, các kĩ thuật bảo tồn địa chỉ như NAT sẽ không còn cần thiết nữa
1.2.2 Địa chỉ phân cấp, hạ tầng định tuyến hiệu quả
Nếu như sự phân cấp của địa chị IPv4 là bao gồm các thông tin như network, subnet và các thành phần host thì đối với địa chỉ IPv6 với 128 bit địa chỉ, IPv6 phân cấp dựa trên Prefix thay vì lớp địa chỉ như IPv4, điều này làm cho bảng định tuyến nhỏ hơn và việc định tuyến hiệu quả hơn
1.2.3 Header đơn giản hơn
Header của IPv6 được thiết kế để giảm chi phí đến mức tối thiểu Điều này đạt được bằng cách chuyển các trường không quan trọng và các trường lựa chọn sang các Header mở rộng được đặt phía sau của IPv6 Header Khuông dạng
Header mới của IPv6 tạo ra sự xử lý hiệu quả hơn tại các Router
1.2.4 Tự 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 server DHCP và tự cấu hình địa chỉ Stateless (không có DHCP Server) Với tự cấu hình địa chỉ mạng Stateless, các trạm trong liên kết tự động cấu hình chúng với địa chỉ IPv6 của liên kết (địa chỉ cục bộ liên kết) và với địa chỉ rút ra từ tiền tố được quảng bá bởi Router cục bộ Thậm chí nếu không có Router, các trạm trên cùng một liên kết có thể tự cấu hình chúng với
Trang 8các địa chỉ cục bộ liên kết và giao tiếp với nhau mà không phải thiết lập cấu hình thủ công
1.2.5 Khả năng xác thực và bảo mật thông tin
Hổ trợ IP Security (IPSec) IPSec cung cấp các dịch vụ mã hóa chất lượng cao, tương thích với nhiều hệ thống và hoạt động ở lớp IP (IP layer) IPSec là tùy chọn trong IPv4 nhưng là bắt buộc trong IPv6 IPsec tăng cường tính năng bảo mật cho lớp IP nguyên thủy bằng cách cung cấp:
1.2.6 Hỗ trợ tốt hơn về chất lượng dịch vụ QoS
Những cải tiến trong thiết kế của IPv6 như: không phân mảnh, định tuyến phân cấp, gói tin IPv6 được thiết kế với mục đích xử lý thật hiệu quả tại thiết bị định tuyến tạo ra khả năng hỗ trợ tốt hơn cho chất lượng dịch vụ QoS
1.2.7 Hỗ trợ tốt hơn tính năng di động
Khi một thiết bị kết nối vào một hệ thống mạng IPv4, nó sẽ được cấp một địa chỉ IP, mọi thao tác trao đổi thông tin, dữ liệu trên Internet đều thông qua IP này, nếu chúng ta di chuyển sang một vùng khác và kết nối vào một mạng khác thì địa chỉ IP của thiết bị cũng sẽ thay đổi theo, điều này dẫn đến những kết nối
mà ta đã thiết lập ở mạng trước đó sẽ mất đi và ta phải kết nối lại để tiếp tục sử dụng dữ liệu IPv6 đã có bước cải tiến vấn đề này, IPv6 hổ trợ cơ chế có thể hiểu
là chuyển mạng mà thiết bị vẫn không bị mất kết nối hay thay đổi địa chỉ IP
1.2.8 Khả năng mở rộng
Thiết kế của IPv6 có dự phòng cho sự phát triển trong tương lai đồng thời
dễ dàng mở rộng khi có nhu cầu
1.3 So sánh IPv4 và IPv6
Trang 9So sánh Header của IPv4 và IPv6
tốt hơn
Sự phần mảnh được thực hiện tại các host
gửi và tại router, nên khả năng thực thi của
router chậm
Sự phân mảnh chỉ xảy ra tại host gửi
Không đòi hỏi kích thước gói lớp liên kết
và phải được tái hợp gói 576 byte
Lớp liên kết hỗ trợ gói 1.280 byte và tái hợp gói 1.500 byte
header mở rộng
Trang 10ARP sử dụng frame ARP Request để phân
giải địa chỉ IPv4 thành địa chỉ lớp liên kết
Frame ARP Request được thay thế bởi message Neighbor Solicitation
IGMP (Internet Group Management
Protocol) được dùng để quản lý các thành
viên của mạng con cục bộ
IGMP được thay thế bởi message MLD (Multicast Listener Discovery)
ICMP Router Discovery được dùng để xác
định địa chỉ của gateway mặc định tốt nhất
và là tùy chọn
ICMPv4 Router Discovery được thay thế bởi message ICMPv6 Router Discovery và Router Advertisement
Địa chỉ broadcast để gửi lưu lượng đến tất
cả các node
IPv6 không có địa chỉ broadcast, mà địa chỉ multicast đến tất cả các node (phạm Link-Local)
Phải cấu hình bằng tay hoặc thông qua giao
thức DHCP cho IPv4
Cấu hình tự động, không đòi hỏi DHCP cho IPv6
Sử dụng các mẫu tin chứa tài nguyên địa
chỉ host trong DNS để ánh xạ tên host thành
địa chỉ IPv4
Sử dụng các mẫu tin AAAA trong DNS để ánh
xạ tên host thành địa chỉ IPv6
Bảng tóm tắt so sánh đặc điểm của IPv4 và IPv6
2 GIỚI THIỆU ĐỊA CHỈ IPv6
2.1 Cách biểu diễn địa chỉ IPv6
Địa chỉ IPv6 không được trình bày ở định dạng thập phân giống như IPv4
mà là ở dạng thập lục phân, do IPv6 có chiều dài 128 bit nên IPv6 được quy ước chia thành 8 nhóm, mỗi nhóm gồm 2 byte và cách nhau bởi dấu “:” (hai chấm)
X:X:X:X:X:X:X:X X: là 2 byte ở dạng thập lục phân
Ví dụ: 2031:3051:130F:E0F1:90CD:9C0A:876A:130B Đối với những nhóm có giá trị 0 ở đầu thì có thể được lượt bỏ đi Ví dụ:
2031:0517:130F:E0F1:90CD:0C0A:876A:130B
2031:517:130F:E0F1:90CD:C0A:876A:130B Đối với những nhóm có giá trị 0 liên tiếp, có thể viết rút gọn lại là “::” Ví dụ:
2031:2517:0000:0000:0000:1C0A:876A:130B
2031:2517::1C0A:876A:130B
Trang 11Nhưng lưu ý là cách rút gọn này chỉ được thực hiện 1 lần Ví dụ:
2031:0517:0000:0000:A5C7:0000:0000:130B
2031:0517::A5C7::130B (Sai)
2031:517::A5C7:0:0:130B (Đúng)
2.2 Phân loại địa chỉ IPv6
Địa chỉ IPv4 chia ra làm 2 loại: Unicast và Multicast Địa chỉ Unicast là những địa chỉ thuộc lớp A, B và C, địa chỉ này được gán cho thiết bị (host) truy cập Internet Địa chị Multicast được dùng để định danh nhiều host phục vụ cho việc truyền tải bản tin multicast Đối với IPv6, bao gồm 3 loại địa chỉ chính: Unicast, Multicast và Anycast
2.2.1 Địa chỉ Unicast
Địa chỉ Unicast là địa chỉ định danh cho một thiết bị (interface hay card mạng) Một gói tin được gửi đến địa chỉ Unicast là được chuyển đến interface định danh bởi địa chỉ đó Địa chỉ Unicast có 2 loại:
Link local: Địa chỉ Link local cho phép kết nối các thiết bị nội bộ với nhau,
địa chỉ này không có khả năng định tuyến và chỉ sử dụng trong cùng một lớp mạng Địa chỉ Link local có prefix dạng như sau: FE80::/10
Global Unicast: Địa này tương tự như địa chỉ Public IPv4, nghĩa là địa chỉ
này được định tuyến và sử dụng trên Internet
Trang 12 Registry: Định danh các vùng
ISP Prefix: Định danh các nhà cung cấp dịch vụ
Site Prefix: Định danh các doanh nghiệp, tổ chức
Subnet Prefix: Định danh mạng nhỏ hơn trong doanh nghiệp, tổ chức
3 bit đầu tiên được gán giá trị 001 Do đó, địa chỉ Global unicast thường có dạng 2001::/3
2.2.2 Địa chỉ Multicast
Trang 13Địa chỉ Multicast định danh nhiều host/interface Một gói tin khi gửi đến địa chỉ này có nghĩa là nó sẽ được gửi đến các host/interface tương ứng Địa chỉ Multicast thường có Prefix là: FF00::/8
Cấu trúc của địa chỉ Multicast
8 bit đầu là 1111 1111: Định danh của địa chỉ Multicast
4 bit tiếp theo là Flags: 3 bit đầu thường không được sử dụng, bit cuối Bit thứ 4: 0 là giá trị được gán bởi IANA và 1 là địa chỉ tạm thời, sử dụng trong nội bộ
4 bit kế tiếp là Scope: Quy định phạm vi của địa chỉ Multicast
112 bit còn lại: Định danh nhóm các host/interface có cùng địa chỉ Multicast
2.2.3 Địa chỉ Anycast
Địa chỉ Anycast là địa chỉ được gán cho một nhóm các host/interface không cùng trên một node mạng Khi một gói tin được gửi đến địa chỉ Anycast, nó sẽ được gửi đến host/interface gần nhất được định nghĩa bởi địa chỉ Anycast đó Địa chỉ Anycast về mặt cấu trúc thì không khác gì so với địa chỉ Unicast bởi vì nó được cấp phát từ không gian địa chỉ Unicast Việc gán địa chỉ Unicast cho nhiều hơn một host/interface nghĩa là đó chính là địa chỉ Anycast Trong gói tin IPv6 thì địa chỉ Anycast không được sử dụng trong trường “source address”
Trang 14Kết quả của việc gộp những prefix của khách hàng tạo nên tính hiệu quả, tính mở rộng cho bảng định tuyến Tăng băng thông cũng như đảm bảo chất lượng truyền tải dữ liệu người dùng
2.4 Phương pháp đánh địa chỉ IPv6 Global Unicast
2.4.1 Gán thủ công (Manual Interface ID Assignment)
Gán thủ công nghĩa là tự người quản trị mạng sẽ tự động gán một giá trị địa chỉ IPv6 cho host/interface bất kỳ Đối với Router của Cisco có thể thực hiện lệnh như sau:
Router1(config-if)# ipv6 address 2001:DB8:1111:2222::54/64
2.4.2 Gán theo quy tắc EUI-64 (EUI-64 Interface ID Assignment)
Cách gán địa chỉ này áp dùng cho những địa chỉ IPv6 có phần Host ID là 64 bit Địa chỉ IPv6 được thể hiện ở dạng số Hexa Decimal và có tính duy nhất trên toàn cầu (Địa chỉ Global Unicast) Một loại địa chỉ khác cũng được thể hiện bằng
Trang 15số Hexa Decimal và cũng có tính duy nhất trên toàn cầu đó là địa chỉ MAC
(Media Access Control), chính nhờ đặc điểm này mà địa chỉ MAC của Card mạng máy tính được dùng để gán địa chỉ IPv6
Địa chỉ MAC chỉ có 48 bit mà phần Host ID của IPv6 cần đến 64 bit, nên cần phải biết đổi địa chỉ MAC như sau:
Chia đôi địa chỉ MAC thành 2 phần OUI (Organizationally Unique Identifier) và NIC, mỗi phần gồm 24 bit
Chèn 2 byte FF FE nối giữa 2 phần, ta được 64 bit EUI
Bit thứ 7 từ trái sang cần phải đảo giá trị (0: Locally unique; 1: Universally unique) Địa chỉ MAC thông thường giá trị này là 0, để
sử dụng địa chỉ MAC làm IPv6 thì phải đảo bit này là 1
Trang 16Thực hiện xong các bước ta được địa chỉ IPv6 được gán theo quy tắc
EUI-64
2.4.3 Stateless Auto-Configuration
Khi PC được cắm vào mạng, nó sẽ gửi đi một gói tin Router Solicitation để yêu cầu địa chỉ mạng hiện tại Khi Router nhận được yêu cầu, nó sẽ gửi trả về gói tin Router Advertisement bao gồm thông tin như Prefix, Default Route…PC sau khi nhận được thông tin từ Router sẽ tự động điền thêm thông tin Host ID theo quy tắc EUI-64 để tạo thành một địa chỉ IPv6 hoàn chỉnh
2.4.4 DHCPv6 (Stateful)
DHCPv6 là một bản cập nhật DHCPv4 để hổ trợ IPv6, hổ trợ kiểu đánh địa chỉ mới (IPv6), cho phép điều khiển nhiều hơn so với kiểu đánh địa chỉ Stateless Auto-configuration, nghĩa là đối với kiểu Stateless, việc đánh địa chỉ được thực hiện tại Client (PC hay Device), nhưng đối với kiểu Stateful, việc quản lý và cấp phát địa chỉ được thực hiện tại DHCPv6 Server
Trang 17Cách thức hoạt động của DHCPv6 tương tự như DHCPv4 Đầu tiên, Client
sẽ kiểm tra xem có Router trên đường mạng hay không?
Nếu Router được tìm thấy, Client cũng sẽ gửi bản tin request (Router Solicitation) sau khi nhận được bản tin Router Advertisement, Client
sẽ phân tích nếu DHCP được sử dụng
Nếu không tìm thấy Router hoặc nếu Router nói rằng có thể sử dụng DHCP thì:
o Client sẽ gửi bản tin DHCP solicit đến địa chỉ multicast của tất cả DHCP agent
o Client sử dụng địa chỉ Link Local làm source address trong gói tin gửi đến các DHCP agent
2.5 Các giao thức định tuyến
2.5.1 RIPng
Giao thức RIPng (Routing Information Protocol Next Generation) dựa trên thuật toán định tuyến thông dụng distance-vector (thuật toán Bellman Ford) RIPng được phát triển dựa trên giao thức RIPv2 (giao thức định tuyến trên nền IPv4)
RIPng có bán kính là 15 hops cũng sử dụng cơ chế split horizon và poison reverse (chống loop) như RIPv4 của IPv4
Những tính năng được cập nhật để hổ trợ cho IPv6 như:
IPv6 prefix
Next hop là địa chỉ IPv6
Sử dụng địa chỉ multicast có predfix FF02::9, đây là địa chỉ sử dụng cho tất cả router chạy định tuyến RIP trên nền IPv6 và là địa chỉ đích cho các bảng tin cập nhật RIP
Sử dụng IPv6 cho việc truyền tải thông tin
2.5.2 OSPFv3