Phát hiện sự trùng lặp địa chỉ (DAD)

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 72)

DAD là một cơ chế có liên quan đến sự cấu hình địa chỉ IP động xảy ra khi một node khởi động. Trước khi một node có thể cấu hình địa chỉ unicast IPv6 của nó

sử dụng cơ chế tự động, nó phải kiểm tra trên link đó xem địa chỉ mà nó muốn sử dụng đã bị sử dụng bởi các node khác hay chưa.

DAD sử dụng bản tin neighbor solicitation (ICMPv6 kiểu 135) và các địa chỉ multicast solicited-node để thực hiện nhiệm vụ này. Hoạt động này yêu cầu node gửi một bản tin neighbor solicitation trên link sử dụng địa chỉ unspecified (::) làm địa chỉ IPv6 nguồn và địa chỉ multicast solicited-node của địa chỉ unicast mà nó muốn sử dụng làm địa chỉ IPv6 đích. Nếu có sự trùng lặp xảy ra, thì địa chỉ unicast này sẽ không thể gán cho giao diện đó. Ngược lại, địa chỉ này được cấu hình cho giao diện.

Hình 3.7 trình bày cơ chế hoạt động của DAD. Đầu tiên, node A khởi tạo DAD. Node A có ý định muốn cấu hình địa chỉ IPv6 unicast 2001:410:0:1::1:a trên giao diện của nó. Vì vậy, node A gửi một bản tin neighbor solicitation sử dụng địa chỉ unspecified (::) làm địa chỉ IPv6 nguồn và địa chỉ multicast solicited-node FF02::1:FF01:000A của địa chỉ unicast mà nó định sử dụng 2001:410:0:1::1:a làm địa chỉ đích.

Ngay khi bản tin được gửi trên link, nếu một node trả lời yêu cầu, thì có nghĩa là địa chỉ này đã được sử dụng bởi node khác. Trong trường hợp không có câu trả lời node đó sẽ xem địa chỉ này là duy nhất trên link và có thể gán nó cho giao diện của mình.

Hình 3.7 – Node A gửi bản tin neighbor solicitation trên link để thực hiện DAD 3.5.2.3. Hoạt động thay đổi tiền tố

Một điều quan trọng của giao thức IPv6 là nó có khả năng cung cấp sự thay đổi tiền tố mạng một cách thông suốt tới người sử dụng đầu cuối khi tiền tố bị thay đổi sang một giá trị mới. Bởi vì sự tổng hợp chính xác của giao thức IPv6, sự thay đổi tiền tố là cần thiết khi một tổ chức quyết định thay đổi nhà cung cấp dịch vụ IPv6 của họ.

Sự thay đổi tiền tố cho phép sự chuyển đổi ổn thỏa từ một tiền tố cũ sang một tiền tố mới. Sự thay đổi tiền tố mạng chủ yếu dựa trên cơ chế cấu hình địa chỉ IP động cho tất cả các node. Các phương pháp thay đổi tiền tố mạng khác có thể được sử dụng nhưng chúng ít thông suốt hơn là trường hợp sử dụng có chế cấu hình động.

Sự thay đổi tiền tố được thực hiện bởi các router đã quảng bá tiền tố trên các link-local. Cơ chế này sử dụng cùng bản tin ICMPv6 và các địa chỉ multicast như cơ

chế quảng cáo tiền tố. Trong thực tế, sự thay đổi tiền tố là một khái niệm mới sử dụng các tham số thời gian chứa trong các bản tin quảng bá router để thực hiện nhiệm vụ.

Đầu tiên, tất cả router trong site tiếp tục quảng bá tiền tố hiện tại, nhưng các giá trị valid và preferred lifetime được giảm tới một giá trị gần bằng 0. Sau đó các router bắt đầu quảng bá tiền tố mới trên các link. Vì vậy, ít nhất hai tiền tố cùng tồn tại trên mọi link. Điều này có nghĩa là các bản tin quảng bá router chứa một tiền tố cũ và một tiền tố mới. Trong khoảng thời gian này, tất cả các node sẽ sử dụng hai địa chỉ unicast:

Địa chỉ unicast cũ – Địa chỉ cũ dựa trên tiền tố cũ. Các kết nối hiện tại sử dụng địa chỉ cũ này vẫn được dùng.

Địa chỉ unicast mới – Các kết nối mới được thiết lập sử dụng địa chỉ mới Khi tiền tố cũ hoàn toàn bị phản đối ( thời gian lifetime đã hết hạn), các bản tin quảng bá router chỉ bao gồm tiền tố mới. Một tiền tố bị hủy bỏ khi giá trị valid/preferred lifetime được đặt bằng 0.

3.5.2.4. Sự chuyển hướng router

Sự đổi hướng router là một cơ chế NDP trong IPv6. Các router sử dụng các bản tin ICMPv6 redirection để chỉ cho các node trên link đó một router tốt hơn tồn tại trên link để forward các gói tin. Sau đó node mà nhận được bản tin ICMPv6 này có thể sửa bảng định tuyến nội bộ của mình theo địa chỉ router mới trong bản tin ICMPv6 redirection. Cơ chế chuyển hướng router trong IPv6 sử dụng bản tin ICMPv6 kiểu 137. Cơ chế này cũng tương đương như trong IPv4.

Như trình bày trên hình 3.8, node A muốn gửi các gói tin tới mạng LAN ZZ, node A chuyển gói tin đầu tiên tới router mặc định của nó (router A). Tuy nhiên, sau khi chuyển gói tin này tới LAN ZZ, router A biết rằng router C có một đường tốt hơn cho các node trên link để truyền các gói tin tới mạng ZZ. Vì vậy, trong bước thứ hai, router A gửi cho node A một bản tin ICMPv6 redirect chứa địa chỉ IPv6 của router C. Cuối cùng, node A gửi các gói tin kế tiếp tới ZZ theo con đường qua C.

3.6. Hệ thống tên miền (DNS)[1],[7] Các bản ghi AAAA Các bản ghi AAAA

Trong IPv4, một bản ghi tài nguyên A ánh xạ tên của một host sang một địa chỉ IPv4. Tương tự như vậy, một bản ghi tài nguyên AAAA ánh xạ tên một host sang một địa chỉ IPv6. Bảng 3-5 trình bày hai ví dụ về hai bản ghi nguồn tài nguyên khác nhau sử dụng cùng tên miền đầy đủ tiêu chuẩn (FQDN).

Bảng 3-5. Các bản ghi tài nguyên DNS cho IPv4 và IPv6

Giao thức Bản ghi Ánh xạ DNS

IPv4 A www.example.org A 206.123.31.200

IPv6 AAAA www.example.org AAAA 2001:410:1:1:250:3EFF:FEE4:1

Bản ghi AAAA đã có sẵn từ phiên bản 4.9.4 của phần mềm ISC Berkeley Internet Name Domain (BIND). BIND là phần mềm DNS server được sử dụng bởi hầu hết các DNS root server operators; các tên miền mức cao nhất (gTLDs) như .com, .net, .org; và các miền mức cao mã quốc gia (ccTLDs).

Với một DNS server mà có hỗ trợ IPv6, có thể cấu hình tên các host tĩnh cho

các địa chỉ IPv6 sử dụng lệnh ipv6 host trên các router của Cisco. Bảng 3-6 trình bày

các ví dụ của lệnh ipv6 host.

Bảng 3-6. Lệnh ipv6 host

Lệnh Miêu tả

Router(config)#ipv6 host name [port] ipv6- address1 [ipv6-address2 ...]

Định nghĩa một ánh xạ tĩnh từ tên host sang một địa chỉ IPv6.

Example

RouterA(config)#ipv6 host RouterA 2001:410:0:1:250:3EFF:FEE4:4C00

Gán địa chỉ IPv6

2001:410:0:1:250:3EFF:FEE4:4C00 cho host có tên RouterA.

Example

RouterA(config)#ipv6 host RouterB FEC0::1:0:0:1:1

Gán địa chỉ IPv6 FEC0::1:0:0:1:1 cho host có tên RouterB.

Sự phân giải DNS sử dụng phần mềm IOS chấp nhận một địa chỉ IPv6 hoặc

một địa chỉ IPv4 như một tên server. Bằng việc sử dụng lệnh ip name-server, như

trình bày trong bảng 4-7, chúng ta có thể chỉ ra một địa chỉ IPv6 của DNS server. Vì vậy, router đòi hỏi tên server này sử dụng IPv6 như là sự vận chuyển cho việc phân giải tên.

Bảng 3-7. Lệnh ip name-server

Lệnh Miêu tả

Router(config)# ip name- server ipv6-address

Cấu hình địa chỉ IP của một DNS server mà router có thể query. Địa chỉ có thể là IPv4 hoặc IPv6. Nó có thể chấp nhận tới 6 tên server khác nhau.

Example

RouterA(config)# ip name- server FEC0::1:0:0:1ff:10

Cấu hình router query tên server mà có thể được liên lạc sử dụng địa chỉ IPv6 FEC0::1:0:0:1ff:10 để phân giải tên.

Trong khi phân giải bất kỳ giá trị tên host nào, router đòi hỏi tất cả tên server được chỉ ra trong sự cố gắng chuyển tên sang một địa chỉ IPv6. Nếu bản ghi AAAA (địa chỉ IPv6) không được tìm thấy, router yêu cầu cùng tên server đó chuyển tên thành một bản ghi A (một địa chỉ IPv4). Vì vậy, nếu cùng một FQDN được ghi trong một file miền sử dụng cả các bản ghi A và AAAA, router luôn luôn chuyển địa chỉ IPv6 trước và liên lạc sử dụng IPv6.

Bản ghi tài nguyên PTR cho IPv6

Để chuyển đổi ngược địa chỉ IPv6 (ánh xạ từ một địa chỉ IPv6 sang tên host), bản ghi con trỏ (PTR) được sử dụng, như trong IPv4. Tuy nhiên, như được định nghĩa trong RFC 3152, một miền top-level đặc biệt (TLD) gọi là ipv6.arpa được định nghĩa. Trong những ngày đầu của giao thức IPv6, TLD là ipv6.int. Mặc dù TLD này vẫn được sử dụng, nó đang bị phản đối.

Bản ghi PTR được miêu tả sử dụng một chuỗi các nibble được phân tách nhau bởi các dấu chấm với một hậu tố ipv6.arpa. Chuỗi nibble được mã hóa theo thứ tự ngược: Nibble theo thứ tự thấp được mã hóa trước, tiếp đến là các nibble tiếp theo…Mỗi nibbe được miêu tả bằng một giá trị trong hệ 16.

Đây là một ví dụ của bản ghi PTR được tạo ra từ các địa chỉ IPv6 đầy đủ: Địa chỉ IPv6 = 2001:0410:0000:1234:FB00:1400:5000:45FF

PTR = f.f.5.4.0.0.0.5.0.0.4.1.0.0.b.f.4.3.2.1.0.0.0.0.0.1.4.0.1.0.0.2.ip6.arpa Đây là một ví dụ của bản ghi PTR trong file DNS zone:

f.f.5.4.0.0.0.5.0.0.4.1.0.0.b.f.4.3.2.1.0.0.0.0.0.1.4.0.1.0.0.2.ip6.arpa.

IN PTR www.example.org

3.7. Các công cụ hỗ trợ IPv6 trong phần mềm IOS của Cisco[1],[7]

Lệnh Ping

Lệnh Ping trong IPv6 cho phép gửi các gói tin ICMPv6 echo request tới một node đích. Với mỗi bản tin ICMPv6 nhận được đích sẽ trả lời sử dụng bản tin ICMPv6

echo reply. Sự xuất hiện của một bản tin ICMPv6 echo reply có thể cho biết một vấn đề giữa node gửi và node nhận.

Lệnh này chấp nhận một địa chỉ đích hoặc một tên host. Tuy nhiên, địa chỉ

family IPv6 phải được chỉ rõ. Ví dụ 3-5 trình bày việc sử dụng lệnh ping ipv6 với một

địa chỉ đích IPv6.

Ví dụ 3-5. Lệnh ping ipv6 gửi các gói tin ICMPv6 Echo Request tới đích

Lệnh Traceroute

Lệnh traceroute trong IPv6 cho phép bám theo một tuyến để đạt đến một

node đích IPv6. Lệnh này hiển thị danh sách các router trung gian cho tới đích cuối cùng.

Lệnh này cũng có thể sử dụng một địa chỉ đích hoặc tên host. Tuy nhiên, địa

chỉ family IPv6 phải được chỉ rõ. Ví dụ 3-6 trình bày lệnh traceroute với một địa chỉ

đích IPv6.

Ví dụ 3-6. Lệnh traceroute ipv6 bám theo tuyến tới một đích IPv6

Lệnh Telnet

Ứng dụng telnet chủ yếu được sử dụng để kết nối tới một hệ thống mà có thể đến được từ xa trên một mạng IP. Theo mặc định, Telnet server được cho phép trên các router cisco.

Các Telnet client và server đều được hỗ trợ trên router. Vì vậy, có thể thiết lập một phiên telnet tới một router sử dụng địa chỉ IPv6 của nó. Lệnh telnet chấp nhận một

địa chỉ đích hoặc một cái tên. Tuy nhiên, khi tên host được sử dụng, địa chỉ IPv6 được thử đầu tiên, và sau đó là địa chỉ IPv4, để tạo kết nối. Ví dụ 3-7 trình bày router A sử dụng telnet để đạt đến router khác bằng địa chỉ IPv6 của nó.

Ví dụ 3-7. Telnet tới một router sử dụng địa chỉ IPv6 của nó

Secure Shell (SSH)

SSH có thể được sử dụng thay cho Telnet để truy cập nhập vào một hệ thống ở xa bằng mạng IP. Với Telnet, những người dùng ác ý có thể phát hiện ra sự đăng nhập, mật khẩu, và toàn bộ nội dung của phiên trên mạng. SSH cung cấp sự xác thực an toàn cho các phiên.

SSH có sẵn trên các phần mềm IOS của cisco cho cả IPv4 và IPv6 với phần mềm mã hóa 3DES.

SSH client

Giống như Telnet, lệnh ssh chấp nhận một địa chỉ đích IPv6 hoặc tên host.

Cấu trúc cũng giống như trong IPv4. Tuy nhiên, khi tên host được sử dụng, địa chỉ IPv6 được thử đầu tiên, và sau đó là địa chỉ IPv4, để tạo kết nối. Dưới đây là cấu trúc lệnh:

SSH server

Các lệnh cho SSH server trên phần mềm IOS đã được mở rộng để hỗ trợ IPv6. SSH server được hỗ trợ trên các mặt phẳng sử dụng phần mềm IOS với mã hóa

3DES. Lệnh ip ssh {[timeout seconds] | [authentication-retries integer]} cấu hình

các biến điều khiển SSH trên router.

Lệnh show ip ssh hiển thị phiên bản và cấu hình của SSH server. Show ssh

trình bày trạng thái của các kết nối trên SSH server.  TFTP

Chúng ta có thể download và upload các file giữa router và một TFTP server

trên IPv6. Lệnh tftp chấp nhận một địa chỉ đích IPv6 hoặc một tên host. Tuy nhiên,

khi tên host được sử dụng, địa chỉ IPv6 được kiểm tra trước, và sau đó là địa chỉ IPv4, để tạo kết nối.

Ví dụ 3-8 trình bày một ví dụ về router sử dụng tftp với một địa chỉ IPv6 để

Ví dụ 3-8. TFTP tới một TFTP server sử dụng một địa chỉ IPv6

Cho phép HTTP server trên IPv6

Lệnh ip http server được cập nhật để chấp nhận cả địa chỉ IPv4 và IPv6 trên

router. Tuy nhiên, khi HTTP server được cho phép, cho cả IPv4 và IPv6, bởi vì phần mềm IOS của Cisco với IPv6 không cung cấp cấu hình của một giao thức đơn.

Khi cho phép HTTP server sử dụng ip http server, để hạn chế truy nhập vào router nên định nghĩa một ACL.

3.8. Giao thức cấu hình Host động cho IPv6 (DHCPv6)[1],[7]

Giao thức cấu hình Host động (DHCP) đã được nâng cấp để hỗ trợ cho IPv6. DHCPv6 có thể cung cấp sự cấu hình theo kiểu stateful cho các host IPv6. DHCPv6 sử dụng kiến trúc địa chỉ và các tính năng mới của IPv6 là:

 Nó cho phép điều khiển các node tốt hơn so với cấu hình theo kiểu stateless.

 Nó có thể được sử dụng đồng thời trên các mạng nơi mà sự cấu hình theo kiểu

sateless có thể sử dụng.

 Nó có thể cung cấp các địa chỉ IPv6 cho các host khi không có các router trên

mạng.

 Nó có thể được sử dụng để đánh lại số mạng.

 Nó có thể sử dụng các tiền tố đại diện /48 hoặc /64 cho các thiết bị tiền khách

hàng (CPE), như home gateway.

Quá trình cấu hình một host bởi DHCPv6 cũng tương tự như trong IPv4, nhưng có một vài điểm mới. Ví dụ, host IPv6 đầu tiên phát hiện sự có mặt của các router trên link-local. Một trong hai tình huống sau sẽ xảy ra:

 Nếu một router IPv6 được tìm thấy, host kiểm tra các bản tin quảng bá của

router để xác định xem DHCPv6 (cấu hình theo kiểu stateful) có được sử dụng hay không:

- Nếu DHCPv6 có thể được sử dụng, host IPv6 (một node mà chỉ hỗ trợ

DHCPv6 client) gửi một bản tin DHCPv6 solicit tới địa chỉ multicast của tất cả các DHCPv6-agents (FF02::1:2) trên link-local sử dụng địa chỉ link-local của nó (FE80::/10) làm địa chỉ nguồn.

- Nếu DHCPv6 không thể sử dụng, host IPv6 sử dụng cấu hình theo kiểu

stateless để tự cấu hình địa chỉ IPv6 của mình sử dụng tiền tố được quảng bá trong bản tin quảng bá của router.

 Nếu link-local không có router IPv6, host IPv6 gửi một bản tin DHCP solicit tới địa chỉ multicast của tất cả DHCP-agents (FF02::1:2) trên link sử dụng địa chỉ link- local của nó (FE80::/10) làm địa chỉ nguồn.

3.9. Bảo mật trong IPv6[1],[7]

Bảo mật trong giao thức IPv6 dựa trên giao thức IPSec. IPSec có sẵn trong cả IPv4 lẫn IPv6. Như miêu tả trong RFC 2460, sự triển khai đầy đủ của IPv6 bao gồm cả các tiêu đề xác thực (AH) và các tiêu đề mở rộng cho sự đóng gói bảo mật tải tin (ESP). Thực hiện IPSec trên bất kỳ node IPv6 nào cần cho phép các phiên bảo mật từ đầu cuối tới đầu cuối.

Với các router hỗ trợ IPv6, IPSec có thể được sử dụng trong các vùng khác nhau:

OSPFv3 – Giao thức OSPF phiên bản 3 sử dụng các tiêu đề AH và ESP như một cơ chế xác thực thay vì nhiều cơ chế xác thực và các thủ tục được định nghĩa trong OSPFv2.

Mobile IPv6 – Giao thức này là một đề án của IETF được đề xuất sử dụng IPSec để bắt buộc sự xác thực cập nhật

Tunnels – IPSec tunnel có thể được cấu hình giữa các site (các router IPv6) thay vì có nhiều host sử dụng IPSec.

Network management – IPSec có thể được sử dụng để đảm bảo router truy nhập để quản lý mạng.

IPSec được định nghĩa trong hai tiêu đề mở rộng IPv6 mà có thể được gắn lại với nhau trong cùng một gói tin IPv6. Phần này trình bày một cách khái quát về các tiêu đề AH và ESP.

Tiêu đề xác thực IPSec (AH)

Tiêu đề IPSec đầu tiên là tiêu đề xác thực (AH). Nó cung cấp tính toàn vẹn, sự

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 72)