TIÊU CHUẨN QUỐC GIA TCVN 9802-6:2020 VỀ GIAO THỨC INTERNET PHIÊN BẢN 6 (IPV6) – PHẦN 6: GIAO THỨC TỰ ĐỘNG CẤU HÌNH ĐỊA CHỈ KHÔNG GIỮ TRẠNG THÁI IPV6
TIÊU CHUẨN QUỐC GIA
TCVN 9802-6:2020
GIAO THỨC INTERNET PHIÊN BẢN 6 (IPv6) – PHẦN 6: GIAO THỨC TỰ ĐỘNG CẤU HÌNH ĐỊA CHỈ KHÔNG GIỮ TRẠNG THÁI IPV6
Internet protocol version 6 (IPv6) – Part 6: IPv6 Stateless Address Autoconfiguration Protocol
Lời nói đầu
TCVN 9802-6:2020 được xây dựng trên cơ sở tài liệu RFC 4862 (2007) “IPv6 Stateless Address Autoconfiguration” của Nhóm đặc trách về kỹ thuật Internet (IETF).
TCVN 9802-6:2020 do Viện Khoa học Kỹ thuật Bưu điện, Học viện Công nghệ Bưu chính Viễn thông biên soạn, Bộ Thông tin và Truyền thông đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố.
Hiện nay, bộ TCVN 9802 về “Giao thức Internet phiên bản 6 (IPv6)” gồm các tiêu chuẩn:
– TCVN 9802-1:2013,
Phần 1: Quy định kỹ thuật;
– TCVN 9802-2:2015,
Phần 2: Kiến trúc địa chỉ IPv6;
– TCVN 9802-3:2015,
Phần 3: Giao thức phát hiện nút mạng lân cận;
– TCVN 9802-4:2015,
Phần 4: Giao thức phát hiện MTU của tuyến;
– TCVN 9802-5:2017,
Phần 5: Giao thức phát hiện đối tượng nghe multicast;
– TCVN 9802-6:2020,
Phần 6: Giao thức tự động cấu hình địa chỉ không giữ trạng thái;
GIAO THỨC INTERNET PHIÊN BẢN 6 (IPv6) – PHẦN 6: GIAO THỨC TỰ ĐỘNG CẤU HÌNH ĐỊA CHỈ KHÔNG GIỮ TRẠNG THÁI IPV6
Internet protocol version 6 (IPv6) – Part 6: IPv6 Stateless Address Autoconfiguration Protocol
- Phạm vi áp dụng
Tiêu chuẩn này quy định các bước để một host tự cấu hình địa chỉ IPv6 trên giao diện của nó. Quá trình tự động cấu hình bao gồm tạo địa chỉ liên kết cục bộ, tạo địa chỉ toàn cầu bằng tự động cấu hình địa chỉ không giữ trạng thái, thủ tục phát hiện địa chỉ trùng lặp để xác minh tính duy nhất của địa chỉ gán trên một liên kết.
Quá trình tự động cấu hình quy định trong tiêu chuẩn này chỉ áp dụng cho host và không áp dụng cho các bộ định tuyến. Do việc tự động cấu hình host sử dụng thông tin được thông báo bởi các bộ định tuyến nên các bộ định tuyến cần được cấu hình theo các cách thức khác. Tuy nhiên, cơ chế tạo các địa chỉ liên kết cục bộ và thủ tục phát hiện địa chỉ trùng lặp đối với mọi địa chỉ được gán trước đó trên giao diện được quy định trong tiêu chuẩn cũng áp dụng cho các bộ định tuyến.
- Tài liệu viện dẫn
Các tài liệu viện dẫn sau là cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi (nếu có).
RFC 2464, “Transmission of IPv6 Packets over Ethernet Networks” (Truyền các gói tin IPv6 trong mạng Ethernet).
TCVN 9802-2:2015, “Giao thức Internet phiên bản 6 (IPv6) – Phần 2: Kiến trúc địa chỉ IPv6”.
TCVN 9802-3:2015, “Giao thức Internet phiên bản 6 (IPv6) – Phần 3: Giao thức phát hiện nút mạng lân cận”.
TCVN 9802-5:2017, “Giao thức Internet phiên bản 6 (IPv6) – Phần 5: Giao thức phát hiện đối tượng nghe Multicast”.
TCVN 11237-1:2015, “Giao thức cấu hình động Internet phiên bản 6 (DHCPv6) – Phần 1: Đặc tả giao thức”.
RFC 3484, “Default Address Selection for Internet Protocol version 6 (IPv6)” (Lựa chọn địa chỉ mặc định cho IPv6).
RFC 4941, “Privacy Extensions for Stateless Address Autoconfiguration in IPv6” (Các mở rộng riêng cho tự động cấu hình địa chỉ không giữ trạng thái).
RFC 3972, “Cryptographically Generated Addresses (CGA)” (Phát địa chỉ mã hóa (CGA)).
RFC 3590, “Source Address Selection for the Multicast Listener Discovery (MLD) Protocol” (Lựa chọn địa chỉ nguồn cho phát hiện đối tượng nghe Multicast).
RFC 3971, “SEcure Neighbor Discovery (SEND)” (Phát hiện lân cận an toàn (SEND).
RFC 3756, “IPv6 Neighbor Discovery (ND) Trust Models and Threats” (Các mô hình chứng thực và các đe dọa đối với phát hiện nút mạng lân cận (ND)).
RFC 1112, “Host extensions for IP multicasting” (Các mở rộng của host cho IP multicast).
IEEE802.11, “Wireless LAN Medium Access Control (MAC) and physical Layer (PHY) Specifications” (Đặc tính tầng vật lý (PHY) và tầng điều khiển truy cập tiện ích (MAC) LAN không dây).
- Thuật ngữ và định nghĩa
Tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa sau.
3.1
Giao thức Internet (Internet Protocol)
Giao thức Internet phiên bản 6. Các thuật ngữ IPv4 và IPv6 chỉ được sử dụng trong những ngữ cảnh cần thiết để tránh nhầm lẫn.
3.2
Nút mạng (node)
Một thiết bị mạng thực thi giao thức Internet.
3.3
Bộ định tuyến (router)
Một nút mạng có nhiệm vụ chuyển tiếp các gói tin IP không được định địa chỉ cho nút mạng đó.
3.4
Host (host)
Nút mạng không phải là một bộ định tuyến.
3.5
Tầng trên (upper layer)
Tầng giao thức ở ngay trên giao thức Internet. Ví dụ các giao thức truyền tải như TCP và UDP; các giao thức điều khiển như ICMP; các giao thức định tuyến như OSPF; các giao thức Internet hoặc tầng dưới được “đường hầm” (nghĩa là đóng gói) qua giao thức IP, chẳng hạn như giao thức IPX, AppleTalk, hoặc chính giao thức Internet.
3.6
Liên kết (link)
Một tiện ích hoặc môi trường truyền thông, qua đó các nút mạng có thể giao tiếp qua tầng liên kết, ví dụ: tầng ngay bên dưới tầng IP như Ethernet, các giao thức PPP, X.25, Frame Relay, hoặc ATM, cũng như tầng Internet (hoặc tầng trên) thực thi “đường hầm”, cũng như đường hầm thông qua IPv4 hoặc chính IPv6. Giao thức mô tả trong tiêu chuẩn này sẽ sử dụng mọi loại liên kết trừ các loại liên kết khác được quy định trong tài liệu cụ thể về loại liên kết, trong đó mô tả cách thức hoạt động của IP trên liên kết phù hợp có trong [TCVN 9802-3:2015].
3.7
Giao diện (interface)
Giao tiếp kết nối giữa nút mạng và liên kết.
3.8
Gói tin (packet)
Phần mào đầu IP cộng với phần dữ liệu của gói tin.
3.9
Địa chỉ (address)
Định danh tầng IP cho một giao diện hoặc một nhóm giao diện.
3.10
Địa chỉ Unicast (unicast address)
Một định danh cho một giao diện đơn. Một gói tin gửi đến một địa chỉ unicast sẽ được gửi đến giao diện xác định bởi địa chỉ đó.
3.11
Địa chỉ Anycast (anycast address)
Một định danh cho một tập các giao diện (thông thường thuộc các nút khác nhau). Một gói tin gửi đến một địa chỉ anycast sẽ được gửi đến một trong những giao diện xác định bởi địa chỉ đó (giao diện “gần nhất”, căn cứ theo phép đo khoảng cách của các giao thức định tuyến). Xem trong [TCVN 9802-2:2015].
3.12
Địa chỉ Multicast (multicast address)
Một phần định danh cho một tập hợp các giao diện (thường thuộc các nút khác nhau). Một gói tin gửi đến một địa chỉ multicast sẽ được gửi đến tất cả các giao diện xác định bởi địa chỉ đó.
3.13
Địa chỉ multicast của nút mạng thăm dò (solicited-node multicast address)
Là địa chỉ multicast mà bản tin Neighbor Solicitation (Thăm dò Lân cận) gửi tới. Thuật toán tính toán địa chỉ này đưa ra trong 3.2.7.1 “Địa chỉ Multicast được xác định trước” của TCVN 9802-2:2015.
3.14
Địa chỉ tầng liên kết (link-layer address)
Định danh tầng liên kết cho một giao diện. Ví dụ, bao gồm địa chỉ theo IEEE 802 cho các liên kết Ethernet và địa chỉ theo E.164 cho liên kết ISDN.
3.15
Địa chỉ liên kết cục bộ (link-local address)
Một địa chỉ có phạm vi chỉ thuộc liên kết, có thể được sử dụng để tiếp cận các nút mạng lân cận gắn trên cùng một liên kết. Tất cả giao diện đều có một địa chỉ unicast liên kết cục bộ.
3.16
Địa chỉ toàn cầu (global address)
Địa chỉ không giới hạn phạm vi.
3.17
Giao tiếp (communication)
Mọi trao đổi gói tin giữa các nút mạng yêu cầu địa chỉ của mỗi một nút mạng được sử dụng khi trao đổi giữ nguyên trong khoảng thời gian trao đổi gói tin. Ví dụ như kết nối TCP hoặc cặp kết nối yêu cầu – đáp ứng UDP.
3.18
Địa chỉ dự kiến (tentative address)
Một địa chỉ mà tính duy nhất của nó trong liên kết được kiểm tra trước khi gán nó cho một giao diện. Địa chỉ dự kiến không được xem xét gán cho giao diện theo cách thức thông thường. Giao diện loại bỏ các gói tin nhận được có địa chỉ là địa chỉ dự kiến nhưng chấp nhận các gói tin khám phá lân cận liên quan tới phát hiện địa chỉ trùng lặp đối với địa chỉ dự kiến.
3.19
Địa chỉ ưu tiên (preferred address)
Địa chỉ gán cho giao diện sử dụng bởi các giao thức tầng trên là không hạn chế. Địa chỉ ưu tiên có thể sử dụng như địa chỉ nguồn (hoặc đích) trong các bản tin được gửi đi (hoặc đến) giao diện.
3.20
Địa chỉ không được ưu tiên (deprecated address)
Địa chỉ gán cho một giao diện mà việc sử dụng nó không được khuyến khích nhưng cũng không ngăn cấm. Một địa chỉ không được ưu tiên sẽ không được sử dụng như địa chỉ nguồn trong các giao tiếp mới, nhưng các gói tin gửi đi hoặc đến các địa chỉ không được ưu tiên được truyền tải theo mong muốn. Một địa chỉ không được ưu tiên có thể tiếp tục được sử dụng như địa chỉ nguồn trong các giao tiếp nơi nó chuyển thành địa chỉ ưu tiên sẽ gây khó khăn cho hoạt động cụ thể nào đó thuộc tầng trên (ví dụ như một kết nối TCP hiện có).
3.21
Địa chỉ hợp lệ (valid address)
Là địa chỉ ưu tiên hoặc địa chỉ không được ưu tiên. Địa chỉ hợp lệ có thể là địa chỉ nguồn hoặc địa chỉ đích của gói tin. Hệ thống định tuyến mạng liên kết được mong đợi truyền tải các gói tin có địa hợp lệ tới nơi nhận mong muốn.
3.22
Địa chỉ không hợp lệ (invalid address)
Địa chỉ không được gán cho bất kỳ giao diện nào. Địa chỉ hợp lệ sẽ chuyển thành địa chỉ không hợp lệ khi quá hạn thời gian sống có hiệu lực. Địa chỉ không hợp lệ không được coi là địa chỉ nguồn hoặc địa chỉ đích của gói tin. Trong trường hợp đầu, hệ thống định tuyến mạng liên kết sẽ không thể truyền tải các gói tin; trong trường hợp sau, nơi nhận sẽ không đáp ứng đối với chúng.
3.23
Thời gian sống ưu tiên (preferred lifetime)
Độ dài thời gian một địa chỉ hợp lệ là ưu tiên (nghĩa là thời gian đến khi địa chỉ là không được ưu tiên). Khi thời gian sống ưu tiên hết hạn, địa chỉ chuyển sang là không được ưu tiên.
3.24
Thời gian sống hợp lệ (valid lifetime)
Độ dài thời gian một địa chỉ ở trạng thái hợp lệ (nghĩa là thời gian đến khi địa chỉ là không hợp lệ). Thời gian sống hợp lệ phải lớn hơn hoặc bằng thời gian sống ưu tiên. Khi thời gian sống hợp lệ hết hạn, địa chỉ chuyển sang là không hợp lệ.
3.25
Định danh giao diện (interface identifier)
Một định danh phụ thuộc liên kết cho một giao diện, nghĩa là (ít nhất) duy nhất trên liên kết [TCVN 9802-2:2015]. Tự động cấu hình địa chỉ không giữ trạng thái kết hợp định danh giao diện với một tiền tố để tạo thành một địa chỉ. Theo ngữ cảnh tự động cấu hình địa chỉ thì định danh giao diện là chuỗi các bít có độ dài đã biết. Độ dài chính xác của định danh giao diện và cách thức tạo ra nó được quy định trong tài liệu đặc tính loại hình liên kết riêng; đề cập đến các vấn đề liên quan tới truyền tải IP trên các loại liên kết cụ thể (ví dụ [RFC 2464]). Lưu ý rằng kiến trúc địa chỉ trong [TCVN 9802-2:2015] cũng định nghĩa độ dài của định danh giao diện cho một vài tập địa chỉ, nhưng hai tập định nghĩa này phải là nhất quán. Trong nhiều trường hợp, định danh sẽ nhận được từ địa chỉ tầng liên kết của giao diện.
4 Mục tiêu thiết kế
Tự động cấu hình không giữ trạng thái được thiết kế hướng tới các mục tiêu sau đây:
– Không nên yêu cầu cấu hình thủ công các thiết bị trước khi kết nối chúng với mạng. Do vậy cần một cơ cấu cho phép host nhận hoặc tạo địa chỉ duy nhất cho mỗi một giao diện của nó. Tự động cấu hình địa chỉ xem như mỗi một giao diện có thể cung cấp một định danh duy nhất cho giao diện đó (nghĩa là một “định danh giao diện”). Trong trường hợp đơn giản nhất, một định danh giao diện chứa địa chỉ liên kết. Định danh giao diện có thể tổ hợp với tiền tố để tạo một địa chỉ.
– Nơi mạng nhỏ chứa tập hợp các thiết bị gắn cùng trên một liên kết không nên yêu cầu sự có mặt của máy chủ DHCPv6 hoặc thiết bị định tuyến như là điều kiện tiên quyết để giao tiếp. Giao tiếp cắm và chạy (plug-and-play) đạt được nhờ sử dụng các địa chỉ liên kết cục bộ. Các địa chỉ liên kết cục bộ có một tiền tố biết trước dùng để nhận dạng (đơn lẻ) liên kết chia sẻ mà trên đó gắn một tập hợp các nút mạng. Host tạo địa chỉ liên kết cục bộ bằng cách gắn thêm định danh giao diện vào sau tiền tố liên kết cục bộ.
– Nơi mạng lớn với nhiều thành phần mạng và bộ định tuyển không nên yêu cầu sự có mặt của máy chủ DHCPv6 để cấu hình địa chỉ. Để tạo địa chỉ toàn cầu, host phải xác định các tiền tố để nhận dạng các mạng con mà chúng được gắn vào đó. Các bộ định tuyến phát định kỳ các bản tin Router Advertisement (Quảng bá Bộ định tuyến) chứa danh sách tùy chọn tập các tiền tố được kích hoạt trên liên kết.
– Cấu hình tự động địa chỉ nên tạo sự thuận lợi cho việc đánh số lại các thiết bị của mạng. Ví dụ một mạng mong muốn được đánh số lại toàn bộ các nút mạng của nó khi chuyển sang nhà cung cấp dịch vụ mới. Đánh số lại đạt được thông qua thuê địa chỉ cho giao diện và gán đa địa chỉ trên cùng một giao diện. Thời gian sống cho việc thuê địa chỉ cung cấp một cơ chế mà thông qua đó mạng dần loại bỏ các tiền tố cũ. Gán đa địa chỉ trên cùng một giao diện cung cấp một chu kỳ chuyển dịch đồng thời cả địa chỉ mới và loại bỏ dần địa chỉ cũ.
5 Tổng quan về giao thức
Điều này cung cấp tổng quan về các bước triển khai khi một giao diện thực hiện tự động cấu hình. Tự động cấu hình được thực hiện chỉ trên các liên kết có khả năng multicast và bắt đầu khi liên kết có khả năng multicast được kích hoạt, ví dụ trong khi khởi động hệ thống. Nút mạng (bao gồm cả host và bộ định tuyến) bắt đầu quá trình tự cấu hình bằng cách tạo địa chỉ liên kết cục bộ cho giao diện. Địa chỉ liên kết cục bộ được tạo ra bằng cách gắn định danh của giao diện vào sau tiền tố liên kết cục bộ đã biết [TCVN 9802-2:2015],
Trước khi địa chỉ liên kết cục bộ có thể được gán cho giao diện và sử dụng được thì nút mạng phải kiểm tra địa chỉ “dự kiến” này chưa sẵn sàng sử dụng cho bất kỳ nút mạng nào khác trong liên kết. Cụ thể, nó gửi bản tin Neighbor Solicitation (Thăm dò Lân cận) chứa địa chỉ dự kiến là địa chỉ mục tiêu. Nếu có nút mạng khác đã sử dụng địa chỉ này thì nó sẽ trả về bản tin Neighbor Advertisement (Quảng bá Lân cận) với nội dung tương tự. Nếu một nút mạng khác cũng đang cố gắng sử dụng địa chỉ này thì nó sẽ gửi bản tin Neighbor Solicitation cũng với chủ ý trên, số lượng chính xác số lần bản tin Neighbor Solicitation được truyền (lại) và thời gian trễ giữa các lần thăm dò kế tiếp tùy thuộc liên kết cụ thể và được thiết lập bởi hệ thống quản lý.
Nếu như nút mạng phát hiện rằng địa chỉ dự kiến liên kết cục bộ là không duy nhất thì quá trình tự động cấu hình dừng lại và yêu cầu thực thi cấu hình thủ công trên giao diện. Để khắc phục một cách đơn giản trong trường hợp này; người quản trị nên được cung cấp khả năng sử dụng một định danh giao diện thay thế ghi đè lên định danh mặc định sao cho cơ chế cấu hình tự động sau đó lại có thể được áp dụng với định danh giao diện mới (có thể coi là duy nhất).
Một khi nút mạng đã xác định rằng địa chỉ dự kiến liên kết cục bộ là duy nhất, nó gán địa chỉ này cho giao diện. Tại thời điểm này, nút mạng có kết nối mức IP với các nút mạng lân cận. Các bước tự động cấu hình còn lại được thực thi chỉ bởi host; (tự động) cấu hình của bộ định tuyến nằm ngoài phạm vi đề cập của tiêu chuẩn này.
Pha tiếp theo của tự động cấu hình đòi hỏi nhận được một bản tin Router Advertisement (Quảng bá Bộ định tuyến) hoặc nhận biết rằng không có bộ định tuyến nào hiện đang tồn tại. Nếu tồn tại các bộ định tuyến thì chúng sẽ gửi các bản tin Router Advertisement chỉ rõ loại hình tự động cấu hình nào một host có thể thực hiện. Lưu ý rằng dịch vụ DHCPv6 cung cấp cấu hình địa chỉ có thể vẫn khả dụng thậm chí ngay cả khi không tồn tại các bộ định tuyến.
Bộ định tuyến gửi các bản tin Router Advertisement theo chu kỳ, nhưng trễ giữa hai lần quảng bá kế tiếp nói chung sẽ dài hơn thời gian chờ đợi mong muốn để một host thực hiện tự động cấu hình [TCVN 9802-3:2015], Để nhận được nhanh chóng một quảng bá, host gửi một hoặc nhiều bản tin Router Solicitation (Thăm dò Bộ định tuyến) tới tất cả các bộ định tuyến thuộc nhóm multicast.
Bản tin Router Advertisement để trống hoặc chứa các tùy chọn thông tin tiền tố bổ sung, trong đó chứa các thông tin được sử dụng bởi cơ chế tự động cấu hình không giữ trạng thái để tạo ra địa chỉ toàn cầu. Lưu ý rằng host có thể sử dụng đồng thời cả phương thức tự động cấu hình địa chỉ không giữ trạng thái và DHCPv6. Một trường lựa chọn thông tin tiền tố là “autonomous address – configuration flag” (cờ cấu hình – địa chỉ tự trị) chỉ thị phương thức tự động cấu hình không giữ trạng thái được áp dụng hay không. Nếu như nó được áp dụng thì các trường bổ sung tiếp theo sẽ chứa các thông tin về tiền tố mạng con, cùng với nó là các thông tin về giá trị thời gian sống chỉ thị địa chỉ được tạo từ tiền tố trong bao lâu từ lúc được ưu tiên cho đến khi có hiệu lực.
Do các bộ định tuyến phát các bản tin Router Advertisement theo chu kỳ, các host sẽ nhận liên tục các quảng bá mới. Host xử lý thông tin chứa trong mỗi một quảng bá như mô tả ở trên, bổ sung và làm tươi lại các thông tin từ các thông báo nhận được trước đó.
Theo mặc định, toàn bộ các địa chỉ phải được kiểm tra về tính duy nhất trước khi được gán cho giao diện để đảm bảo an toàn. Việc kiểm tra cần được thực hiện một cách riêng rẽ với mọi địa chỉ có được theo cách thức thủ công, tự động cấu hình không giữ trạng thái hoặc theo DHCPv6. Đối với mạng phù hợp mà giảm tải xử lý mào đầu là có ý nghĩa thì có thể vô hiệu hóa việc sử dụng chức năng phát hiện trùng lặp địa chỉ thông qua thiết lập quản trị cơ cấu hình trên mỗi một giao diện.
Để tăng tốc quá trình tự động cấu hình, host có thể tạo địa chỉ cục bộ của nó (và kiểm tra tính duy nhất của nó) song song với việc chờ bản tin Router Advertisement. Do bộ định tuyến có thể đáp ứng trễ đối với bản tin Router Solicitation một vài giây nên tổng thời gian cần thiết để hoàn thành tự động cấu hình có thể dài hơn một chút nếu như hai bước được thực hiện một cách tuần tự.
5.1 Đánh số lại
Cách thức thuê địa chỉ tạo điều kiện thuận lợi cho đánh số lại bằng việc cung cấp một cơ chế hạn định thời gian gán địa chỉ cho giao diện của host. Hiện tại các giao thức tầng trên như TCP không hỗ trợ thay đổi địa chỉ đầu cuối trong khi mở kết nối. Nếu như địa chỉ đầu cuối trở thành không hợp lệ thì các kết nối hiện có sẽ bị gián đoạn và mọi giao tiếp tới địa chỉ không hợp lệ sẽ không thành công. Thậm chí khi các ứng dụng sử dụng UDP như một giao thức truyền tải thì địa chỉ nói chung không được thay đổi trong suốt quá trình trao đổi gói tin.
Phân chia địa chỉ thành hai loại hình địa chỉ ưu tiên và địa chỉ không được ưu tiên cung cấp cách thức chỉ thị cho các tầng trên biết rằng địa chỉ có thể trở thành không hợp lệ một cách nhanh chóng, giao tiếp sử dụng địa chỉ đó có thể không thành công, nên thời gian sống của địa chỉ hợp lệ hết hạn trước khi giao tiếp kết thúc. Để tránh xảy ra trường hợp này, các tầng cao hơn nên sử dụng địa chỉ ưu tiên (giả thiết một địa chỉ là thỏa mãn phạm vi tồn tại) để tăng khả năng một địa chỉ sẽ vẫn còn hợp lệ trong thời gian thực hiện giao tiếp. Điều này phụ thuộc vào quản trị hệ thống thiết lập giá trị phù hợp cho thời gian sống của các tiền tố nhằm giảm thiểu tác động làm gián đoạn giao tiếp trong khi đang thực hiện đánh số lại. Chu kỳ thời gian không ưu tiên cần đủ dài để hầu hết, nếu không nói là tất cả các giao tiếp sử dụng địa chỉ mới tại thời điểm địa chỉ cũ trở lên không hợp lệ.
Tầng IP được mong đợi cung cấp các tiện ích cho các tầng cao hơn (bao gồm cả các ứng dụng) lựa chọn địa chỉ nguồn đã cho phù hợp nhất đối với một điểm đích cụ thể và các ràng buộc nhất định khác. Một ứng dụng có thể tự chọn một địa chỉ nguồn trước khi khởi tạo một giao tiếp mới hoặc có thể bỏ địa chỉ không được chỉ định; trường hợp này tầng mạng phía trên sẽ sử dụng một cơ chế được cung cấp bởi tầng IP để lựa chọn một địa chỉ phù hợp thay mặt cho ứng dụng.
Chi tiết về cách thức lựa chọn địa chỉ không đề cập trong tiêu chuẩn này và được mô tả trong [RFC 4941].
6 Đặc tả giao thức
Tự động cấu hình được thực hiện trên từng giao diện và dựa trên khả năng multicast của giao diện. Đối với các host kết nối đa mạng (multihome), tự động cấu hình áp dụng một cách độc lập trên mỗi một giao diện. Tự động cấu hình áp dụng chủ yếu cho các host. Bộ định tuyến được mong đợi phát địa chỉ liên kết cục bộ sử dụng thủ tục mô tả tóm lược dưới đây. Hơn nữa, bộ định tuyến thực thi phát hiện địa chỉ trùng lặp đối với tất cả các địa chỉ trước đó được gán trên một giao diện.
6.1 Các biến cấu hình nút mạng
Nút mạng PHẢI cho phép biến tự động cấu hình liên quan sau đây được cấu hình bởi quản trị hệ thống đối với mỗi một giao diện có khả năng multicast:
– DupAddrDetectTransmits: Số lượng bản tin Neighbor Solicitation liên tiếp được gửi khi thực thi phát hiện địa chỉ trùng lặp đối với một địa chỉ dự kiến. Giá trị 0 chỉ thị phát hiện địa chỉ trùng lặp không được thực hiện đối với địa chỉ thăm dò. Giá trị 1 chỉ thị một kênh truyền dẫn riêng lẻ không áp dụng cơ chế truyền lại.
– Mặc định (default) là 1, nhưng có thể bị bỏ qua bởi giá trị cụ thể về loại liên kết trong tài liệu liên quan đề cập đến các vấn đề liên quan đến truyền dẫn IP trên các loại liên kết cụ thể (ví dụ như trong [RFC 2464]).
– Tự động cấu hình cũng được coi như có sự có mặt của biến RetransTimer như quy định trong [TCVN 9802-3:2015]. Theo mục đích tự động cấu hình thì biến RetransTimer quy định độ trễ giữa hai lần truyền tải bản tin Neighbor Solicitation liên tiếp thực hiện trong quá trình phát hiện địa chỉ trùng lặp (nếu DupAddrDetectTransmits lớn hơn 1), cũng như thời gian một nút mạng chờ sau khi gửi Neighbor Solicitation cuối cùng trước khi kết thúc quá trình phát hiện trùng lặp địa chỉ.
6.2 Cấu trúc tự động cấu hình địa chỉ có liên quan
Những đề cập ngoài định dạng một địa chỉ liên kết cục bộ và sử dụng phát hiện địa chỉ trùng lặp, làm thế nào bộ định tuyến (tự động) cấu hình giao diện cửa nó không được đề cập trong tài liệu này.
Một host sẽ duy trì danh sách các địa chỉ tương ứng với thời gian sống của chúng. Danh sách này chứa cả địa chỉ được tự động cấu hình và các địa chỉ được cấu hình thủ công.
6.3 Tạo địa chỉ liên kết cục bộ
Một nút định địa chỉ liên kết cục bộ chỉ khi một giao diện của nó được kích hoạt. Giao diện được kích hoạt khi có các sự kiện sau đây:
– Giao diện được khởi tạo trong thời gian khởi động hệ thống
– Giao diện được khởi tạo lại sau khi giao diện bị hỏng tạm thời hoặc sau khi bị vô hiệu hóa tạm thời bởi quản trị hệ thống
– Giao diện được gắn vào liên kết lần đầu, bao gồm cả trường hợp liên kết được gắn thay đổi động do có sự thay đổi về điểm truy cập của mạng không dây
– Giao diện được kích hoạt bởi quản trị hệ thống sau khi nó được vô hiệu hóa bởi chính họ.
Một địa chỉ liên kết cục bộ được định dạng là tổ hợp giữa tiền tố địa chỉ liên kết cục bộ FE80::0 [TCVN 9802-3:2015] (có độ dài phù hợp) với định danh giao diện như sau:
- Các bít “độ dài tiền tố” ở phía bên trái của địa chỉ này là tiền tố liên kết cục bộ;
- Các bít của địa chỉ phía bên phải của tiền tố liên kết cục bộ được thiết lập là các số 0;
- Nếu độ dài của định danh giao diện là N bít thì N bít phía bên phải của địa chỉ được thay thế bởi định danh giao diện.
Nếu tổng độ dài của tiền tố liên kết cục bộ và N lớn hơn 128 thì quá trình tự động cấu hình không thành công và đòi hỏi phải cấu hình thủ công. Độ dài định danh giao diện quy định trong các loại hình liên kết riêng trong tài liệu [TCVN 9802-2:2015] (xem điều 3). Tiêu chuẩn này quy định một cách chặt chẽ độ dài để địa chỉ liên kết cục bộ có thể tự động cấu hình trên liên kết.
Địa chỉ liên kết cục bộ có sự ưu tiên và thời gian sống hiệu lực là vô hạn; nó không bao giờ quá hạn.
6.4. Phát hiện địa chỉ trùng lặp
Phát hiện địa chỉ trùng lặp PHẢI được thực hiện đối với tất cả các địa chỉ unicast trước đó gán cho giao diện cho dù chúng có được bằng tự động cấu hình, DHCPv6 hay cấu hình thủ công, ngoại trừ các trường hợp sau:
– Một giao diện mà biến DupAddrDetectTransmits của nó được thiết lập là 0, không thực hiện phát hiện trùng lặp địa chỉ.
– Phát hiện địa chỉ trùng lặp KHÔNG ĐƯỢC thực hiện đối với địa chỉ anycast (lưu ý rằng địa chỉ anycast không thể phân biệt với địa chỉ unicast về mặt cú pháp).
– Mỗi một địa chỉ unicast cụ thể NÊN được kiểm tra tính duy nhất. Lưu ý rằng việc triển khai kiểm tra phát hiện địa chỉ trùng lặp chỉ đối với địa chỉ liên kết cục bộ và bỏ qua kiểm tra địa chỉ toàn cục sử dụng cùng một định danh giao diện. Khi mà tiêu chuẩn này không làm mất hiệu lực cách thức thực hiện như vậy thì dạng “tối ưu hóa” là KHÔNG NÊN, cách thức thực hiện mới KHÔNG ĐƯỢC thực hiện sự tối ưu hóa này. Tối ưu hóa này xuất phát từ giả thiết rằng mọi địa chỉ của giao diện đều được tạo ra với cùng một định danh. Tuy nhiên giả thiết này là không thực sự chắc chắn; loại địa chỉ mới đã có thể được tạo ra tại nơi mà các định danh giao diện không nhất thiết giống nhau đối với mọi địa chỉ unicast trên một giao diện đơn lẻ [RFC 3484][RFC 3972]. Yêu cầu các thuật toán phát hiện địa chỉ trùng lặp thực hiện đối với mọi địa chỉ unicast phải ổn định với các định danh hiện tại và với các định danh giao diện đặc biệt trong tương lai.
Thủ tục phát hiện địa chỉ trùng lặp sử dụng các bản tin Neighbor Solicitation và bản tin quảng bá được mô tả như sau. Nếu trùng lặp địa chỉ được phát hiện thì địa chỉ đó không được gán cho giao diện. Nếu địa chỉ có nguồn gốc từ một định danh giao diện thì một định danh mới sẽ cần thiết để gán cho giao diện, hoặc toàn bộ các địa chỉ IP gán cho giao diện sẽ cần được cấu hình thủ công. Lưu ý rằng các phương pháp phát hiện địa chỉ trùng lặp không hẳn hoàn toàn tin cậy và chắc chắn rằng địa chỉ trùng lặp sẽ vẫn có thể tồn tại (ví dụ liên kết bị phân chia trong quá trình phát hiện địa chỉ trùng lặp đang thực hiện).
Một địa chỉ đang thực hiện thủ tục phát hiện địa chỉ trùng lặp trên đó được coi là địa chỉ dự kiến tới khi thủ tục này kết thúc thành công. Địa chỉ dự kiến không được xem là “địa chỉ gán cho giao diện” theo ngữ cảnh thông thường. Nghĩa là giao diện phải chấp nhận các bản tin Neighbor Solicitation và bản tin quảng bá chứa địa chỉ dự kiến trong trường Target Address (địa chỉ mục tiêu), nhưng xử lý các gói tin này khác với các gói tin mà trường địa chỉ mục tiêu trùng với địa chỉ đã gán cho giao diện. Các gói tin khác gửi tới địa chỉ dự kiến nên loại bỏ. Lưu ý rằng “các gói tin khác” bao gồm các gói tin thuộc về bản tin Neighbor Solicitation và bản tin quảng bá có chứa địa chỉ (unicast) dự kiến trong trường địa chỉ mục tiêu. Trường hợp không nên xuất hiện trong hoạt động bình thường là các bản tin multicast trong thủ tục phát hiện địa chỉ trùng lặp.
Cũng nên lưu ý rằng phát hiện địa chỉ trùng lặp phải thực hiện trước khi gán địa chỉ cho giao diện nhằm ngăn chặn nhiều nút mạng sử dụng một địa chỉ cùng một lúc. Nếu một nút mạng bắt đầu sử dụng một địa chỉ song song với phát hiện địa chỉ trùng lặp và nút mạng khác đã sử dụng địa chỉ này thì nút mạng đang thực hiện phát hiện địa chỉ trùng lặp sẽ xử lý lỗi lưu lượng thuộc các nút mạng khác, dẫn tới hậu quả tiêu cực là khởi động lại các kết nối TCP.
Các mục sau đây mô tả chi tiết việc nút mạng thực hiện kiểm tra tính duy nhất của địa chỉ. Địa chỉ được coi là duy nhất nếu như không có một lần kiểm tra nào phát hiện sự có mặt của địa chỉ trùng lặp trong khoảng giá trị thời gian của RetransTimer sau khi đã gửi DupAddrDetectTransmits Neighbor Solicitations. Một địa chỉ được xác định là duy nhất có thể được gán cho giao diện.
6.4.1 Sự hợp lệ của bản tin
Nút mạng PHẢI loại bỏ bất kỳ bản tin Neighbor Solicitation hoặc bản tin quảng bá nào không qua được thủ tục kiểm tra tính hợp lệ quy định trong [TCVN 9802-3:2015]. Các bản tin Neighbor Solicitation hoặc bản tin quảng bá qua được kiểm tra tính hợp lệ này được gọi lần lượt là một thăm dò hoặc quảng bá hợp lệ.
6.4.2 Gửí bản tin Neighbor Solicitation
Trước khi gửi một bản tin Neighbor Solicitation, giao diện PHẢI ra nhập địa chỉ multicast của tất cả nút mạng và địa chỉ multicast của nút mạng thăm dò đối với địa chỉ dự kiến. Nội dung đầu nhằm đảm bảo nút mạng nhận Neighbor Advertisement từ các nút mạng khác đã sử dụng địa chỉ này; nội dung sau nhằm đảm bảo hai nút mạng hiện cùng cố gắng sử dụng một địa chỉ cần được phát hiện và thông báo với nhau về sự có mặt của chúng.
Để kiểm tra một địa chỉ, nút mạng gửi DupAddrDetectTransmits Neighbor Solicitations, mỗi một bản tin cách nhau một giá trị thời gian của RetransTimer. Target Address được thiết lập là địa chỉ cần kiểm tra, địa chỉ IP nguồn được thiết lập là địa chỉ không xác định, địa chỉ IP đích được thiết lập là địa chỉ multicast của nút mạng thăm dò đối với địa chỉ mục tiêu.
Nếu bản tin Neighbor Solicitation là bản tin đầu tiên được gửi từ một giao diện sau khi nó khởi động (lại), thì nút mạng phải trì hoãn gia nhập địa chỉ multicast của nút mạng thăm dò bằng giá trị trễ ngẫu nhiên từ 0 cho đến MAX_RTR_SOLIClTATION_DELAY như quy định tại [TCVN 9802-3:2015]. Cách thức này nhằm làm giảm bớt tắc nghẽn khi cùng một lúc có nhiều nút mạng khởi động trên liên kết, chẳng hạn như gián đoạn nguồn, nó còn có thể giúp tránh hiện tượng ganh đua khi có hai nút mạng cố gắng thăm dò cùng một địa chỉ tại cùng một thời điểm.
Thậm chí nếu bản tin Neighbor Solicitation không phải là bản tin đầu tiên được gửi, thì nút mạng PHẢI trì hoãn gia nhập địa chỉ multicast của nút mạng thăm dò bằng giá trị trễ ngẫu nhiên từ 0 cho đến MAX_RTR_SOLICITATION_DELAY nếu địa chỉ cần kiểm tra được thiết lập bởi bản tin quảng bá của bộ định tuyến gửi tới địa chỉ multicast. Sự trì hoãn này nhằm tránh tắc nghẽn tương tự ở trên khi có nhiều nút mạng cùng cố gắng cấu hình địa chỉ theo cùng một bản tin multicast riêng biệt thuộc về quảng bá của bộ định tuyến.
Lưu ý rằng khi nút mạng gia nhập địa chỉ multicast, thông thường nó gửi bản tin thông báo phát hiện đối tượng nghe multicast (MLD) [TCVN 9802-5:2017] cho địa chỉ multicast. Trong trường hợp phát hiện địa chỉ trùng lặp, bản tin thông báo MLD phải có mặt để thông báo cho các chuyển mạch MLD-snooping thay vì cho các bộ định tuyến để chuyển phát các gói tin multicast. Trong mô tả ở mục trên, trễ tham gia địa chỉ multicast là trễ truyền dẫn bản tin thông báo MLD tương ứng. Khi các đặc tính MLD không yêu cầu trễ ngẫu nhiên để tránh hiện tượng ganh đua thì trễ truyền Neighbor Solicitation có thể gây ra tắc nghẽn bởi các bản tin thông báo MLD. Tắc nghẽn này có thể ngăn sự làm việc hoàn hảo của các bộ chuyển mạch MLD-snooping và dẫn tới ngăn sự hoạt động của cơ chế phát hiện địa chỉ trùng lặp. Tài liệu [RFC 3590] cũng đề cập về ảnh hưởng giữa phát hiện trùng lặp địa chỉ và MLD và quy định trong trường hợp này địa chỉ nguồn nào nên sử dụng cho MLD.
Để tăng tính ổn định của các thuật toán phát hiện địa chỉ trùng lặp, giao diện PHẢI nhận và xử lý các khối dữ liệu gửi tới địa chỉ multicast của tất cả nút mạng hoặc địa chỉ multicast của nút mạng thăm dò của địa chỉ dự kiến trong chu kỳ trễ. Điều này không nhất thiết xung đột với trễ yêu cầu gia nhập nhóm multicast. Thực tế trong một số trường hợp, chắc chắn nút mạng khởi động việc nghe trên nhóm trong chu kỳ trễ trước khi truyền thông báo MLD. Tuy nhiên cần lưu ý rằng trong một vài môi trường tầng liên kết, cụ thể là với các bộ chuyển mạch MLD snooping việc nhận multicast sẽ không khả dụng cho tới khi thông báo MLD được gửi.
6.4.3 Nhận bản tin Neighbor Solicitation
Để nhận một bản tin Neighbor Solicitation hợp lệ trên một giao diện, ứng xử của nút mạng phụ thuộc vào địa chỉ mục tiêu có phải là địa chỉ dự kiến hay không. Nếu địa chỉ mục tiêu không phải là địa chỉ dự kiến (nghĩa là nó đã được gán cho giao diện nhận), thì thăm dò được xử lý như mô tả trong [TCVN 9802-3:2015]). Nếu địa chỉ mục tiêu là địa chỉ dự kiến và địa chỉ nguồn là địa chỉ unicast, bên gửi thăm dò thực hiện phân giải địa chỉ mục tiêu và nên bỏ qua thăm dò. Nếu không, việc xử lý được thực hiện như mô tả dưới đây. Trong mọi trường hợp nút mạng KHÔNG ĐƯỢC đáp ứng một bản tin Neighbor Solicitation bằng một địa chỉ dự kiến.
Nếu địa chỉ nguồn của bản tin Neighbor Solicitation là không xác định thì thăm dò xuất phát từ một nút mạng đang thực hiện phát hiện địa chỉ trùng lặp. Nếu thăm dò xuất phát từ nút mạng khác thì địa chỉ dự kiến là bị trùng lặp và không nên được sử dụng (bởi bất cứ nút mạng nào). Nếu thăm dò xuất phát từ chính nút mạng đó (do nút mạng định tuyến vòng các gói tin multicast) thì thăm dò không chỉ ra sự có mặt địa chỉ trùng lặp.
Lưu ý đối với việc thực thi: Nhiều giao diện có thể cung cấp cách thức để các tầng cao hơn lựa chọn kích hoạt hoặc vô hiệu định tuyến vòng các gói tin multicast. Chi tiết của việc các tiện ích này thực hiện như thế nào để tránh ảnh hưởng tới sự làm việc chính xác của cơ cấu phát hiện địa chỉ trùng lặp được mô tả trong Phụ lục A.
Các kiểm tra dưới đây dùng để nhận biết các trường hợp một địa chỉ thăm dò là không duy nhất:
– Nếu bản tin Neighbor Solicitation đối với một địa chỉ dự kiến nhận được trước khi nó được gửi đi thì địa chỉ dự kiến là bị trùng lặp. Trường hợp này xuất hiện khi hai nút mạng cùng thực hiện phát hiện địa chỉ trùng lặp nhưng truyền các thăm dò ban đầu tại các thời điểm khác nhau (ví dụ chọn giá trị trễ ngẫu nhiên khác nhau trước khi gia nhập địa chỉ multicast của nút mạng thăm dò và một truyền thăm dò ban đầu).
– Nếu số lượng thực tế bản tin Neighbor Solicitation nhận được vượt quá số lượng mong muốn dựa trên cách thức lặp vòng (ví dụ giao diện không lặp vòng gói tin, kể cả một hoặc nhiều gói tin thăm dò nhận được) thì địa chỉ thăm dò là bị trùng lặp. Trường hợp này xuất hiện khi hai nút cùng thực hiện phát hiện trùng lặp địa chỉ và truyền các thăm dò cùng một lúc.
6.4.4 Nhận các bản tin Neighbor Advertisement
Khi nhận một bản tin Neighbor Advertisement hợp lệ trên một giao diện, ứng xử của nút mạng phụ thuộc vào địa chỉ mục tiêu có phải là địa chỉ dự kiến hoặc trùng với một địa chỉ uncast/anycast đã gán cho giao diện hay không:
- Nếu địa chỉ mục tiêu trùng với địa chỉ dự kiến thì địa chỉ thăm dò không phải là duy nhất.
- Nếu địa chỉ mục tiêu trùng với địa chỉ unicast đã gán cho giao diện nhận thì có khả năng địa chỉ bị trùng lặp và chưa phát hiện được bởi thủ tục phát hiện địa chỉ trùng lặp (nghĩa là phát hiện địa chỉ trùng lặp hoạt động không hoàn toàn tin cậy). Việc xử lý tình huống này như thế nào nằm ngoài phạm vi đề cập của tiêu chuẩn này.
- Các trường hợp khác, bản tin quảng bá được xử lý như mô tả trong [TCVN 9802-3:2015].
6.4.5 Khi phát hiện địa chỉ trùng lặp không thực hiện thành công
Một địa chỉ dự kiến được phát hiện là bị trùng lặp như mô tả ở trên KHÔNG ĐƯỢC gán cho giao diện và nút mạng NÊN ghi sự kiện là lỗi quản trị hệ thống.
Nếu địa chỉ là địa chỉ liên kết cục bộ được định dạng từ định danh giao diện dựa vào địa chỉ phần cứng thì việc gán được coi là duy nhất (ví dụ như EUI-64 cho địa chỉ Ethernet), hoạt động của IP trên giao diện NÊN được vô hiệu hóa. Khi vô hiệu hóa hoạt động của IP, nút mạng sẽ:
– Không gửi bất kỳ gói tin IP nào từ giao diện,
– Loại bỏ mọi gói tin IP nhận được trên giao diện và
– Không chuyển phát bất kỳ gói tin IP nào từ giao diện (khi nó đóng vai trò là bộ định tuyến hoặc xử lý mào đầu định tuyến của gói tin)
Trong trường hợp này sự trùng lặp địa chỉ IP chắc chắn là sự trùng lặp địa chỉ phần cứng đang được sử dụng; việc cố gắng khôi phục bằng cách cấu hình địa chỉ IP khác sẽ không có kết quả và làm mạng không hoạt động. Thực tế cho thấy chắc chắn mọi thứ sẽ trở nên tồi tệ nếu tạo ra tình huống như vậy và cố gắng chuẩn đoán thay vì vô hiệu hóa hoạt động của mạng trên giao diện. Người sử dụng cần xem xét từng phạm vi hoạt động của mạng để nhận biết phần nào của mạng hoạt động, phần nào của mạng không hoạt động.
Nói cách khác, nếu địa chỉ liên kết nội bộ bị trùng lặp không được định dạng từ định danh giao diện dựa vào địa chỉ phần cứng, mà nó được gán có tính duy nhất thì hoạt động của IP trên giao diện CÓ THỂ được tiếp tục.
CHÚ THÍCH: như quy định trong điều 3: “IP” nghĩa là “IPv6” như đề cập ở trên. Nguyên nhân căn bản là địa chỉ phần cứng độc lập với các giao thức cụ thể, ảnh hưởng của nó đến các giao thức khác không đề cập trong tiêu chuẩn này.
6.5 Tạo địa chỉ toàn cầu
Địa chỉ toàn cầu được định dạng bằng việc gắn thêm định danh giao diện vào sau một tiền tố với độ dài phù hợp. Các tiền tố được tạo ra từ thông tin tùy chọn về tiền tố cho trong các Router Advertisement. Việc tạo địa chỉ toàn cầu mô tả trong điều này NÊN thực hiện theo phương thức có thể cấu hình cục bộ. Tuy nhiên quá trình được mô tả dưới đây PHẢI được mặc định kích hoạt.
6.5.1 Quảng bá Soliciting Router
Các bản tin Router Advertisement được gửi theo chu kỳ đến địa chỉ multicast của tất cả nút mạng. Để có được quảng bá một cách nhanh chóng, nút mạng sẽ gửi bản tin Router Solicitation như mô tả trong [TCVN 9802-3:2015].
6.5.2 Không nhận được bản tin Router Advertisement
Thậm chí nếu liên kết không có các bộ định tuyến, các nút mạng vẫn có thể sử dụng dịch vụ DHCPv6 đang khả dụng để có được địa chỉ. Theo bối cảnh cấu hình tự động thì liên kết sẽ không có các bộ định tuyến nếu không nhận được các bản tin Router Advertisement sau khi gửi một vài bản tin Router Solicitation như mô tả trong [TCVN 9802-3:2015]
Lưu ý rằng có thể không tồn tại một bộ định tuyến nào trong tình huống này, tuy nhiên ở đó có thể tồn tại nút mạng có khả năng chuyển phát các gói tin. Trong trường hợp này địa chỉ của nút mạng chuyển phát phải được cấu hình thủ công sao cho nút mạng có thể gửi các gói tin ngoại liên kết (off-link); bởi vì chỉ có phương thức cấu hình tự động, địa chỉ của bộ định tuyến mặc định gửi các bản tin Router Advertisement.
6.5.3 Xử lý Router Advertisement
Đối với mỗi một tùy chọn thông tin tiền tố (prefix information option) có trong bản tin Router Advertisement:
- a) Nếu cờ Autonomous không được thiết lập thì bỏ qua tùy chọn thông tin tiền tố
- b) Nếu tiền tố là tiền tố liên kết cục bộ thì bỏ qua tùy chọn thông tin tiền tố
- c) Nếu thời gian sống ưu tiên lớn hơn thời gian sống hợp lệ thì bỏ qua tùy chọn thông tin tiền tố. Trong trường hợp này nút mạng CÓ THỂ ghi sự kiện lỗi quản trị hệ thống.
- d) Nếu tiền tố được quảng bá có độ dài không tương đương với độ dài tiền tố của địa chỉ được cấu hình bởi tự động cấu hình không giữ trạng thái có sẵn trong danh sách địa chỉ liên quan đến giao diện (ở đây “tương đương” có nghĩa là độ dài của hai tiền tố là giống nhau và độ dài các bít đầu tiên của tiền tố là đồng nhất) và nếu thời gian sống hiệu lực khác 0, thì địa chỉ tạo ra (và được bổ sung vào danh sách địa chỉ) bởi tổ hợp tiền tố được quảng bá và định danh giao diện của liên kết như Bảng 1 dưới đây.
Bảng 1 – Cấu trúc tạo địa chỉ toàn cầu
128 -N bít | N bít |
Tiền tố liên kết
(link prefix) |
Định danh giao diện
(interface indentifier) |
Nếu tổng độ dài của tiền tố và định danh giao diện không bằng 128 thì tùy chọn thông tin tiền tố PHẢI được bỏ qua. Trong trường hợp này một thao tác CÓ THỂ thực hiện để ghi lỗi quản trị hệ thống. Độ dài của định danh giao diện được định nghĩa trong tài liệu chi tiết loại hình liên kết riêng rẽ và đồng nhất với cấu trúc địa chỉ [TCVN 9802-2:2015] (xem điều 3).
Trách nhiệm của quản trị hệ thống là đảm bảo độ dài tiền tố chứa trong bản tin Router Advertisement là đồng nhất với độ dài định danh giao diện đối với từng loại hình liên kết cụ thể. Tuy nhiên, lưu ý rằng điều đó không có nghĩa là độ dài tiền tố quảng bá là vô nghĩa. Thực tế độ dài quảng bá có ý nghĩa nhất định trên liên kết xác định trong [TCVN 9802-3:2015], nơi mà tổng độ dài tiền tố và định danh giao diện không bằng 128. Do vậy, để an toàn cần kiểm duyệt độ dài tiền tố quảng bá nhằm phát hiện và phòng ngừa lỗi cấu hình định ra độ dài tiền tố không hợp lệ trong bối cảnh tự động cấu hình địa chỉ.
Lưu ý rằng các sửa đổi về cấu trúc địa chỉ trong tương lai [TCVN 9802-2:2015] và tài liệu chi tiết loại hình liên kết trong tương lai vẫn phải có sự nhất quán giữa chúng với nhau nhằm cho phép độ dài định danh giao diện khác với giá trị được xác định trong tiêu chuẩn hiện tại. Như vậy việc thực hiện không nên giả định với một độ dài cụ thể. Thay vào đó, định danh giao diện được mong đợi có độ dài bất kỳ.
Nếu một địa chỉ được tạo thành công và địa chỉ đó vẫn chưa ghi vào danh sách thì nút mạng bổ sung nó vào danh sách địa chỉ đã gán cho giao diện, khởi tạo sự ưu tiên và thời gian sống của nó trong tùy chọn thông tin tiền tố. Lưu ý kiểm tra tiền tố được thực hiện tại thời điểm khởi đầu của bước này để đảm bảo không phát hiện bất kỳ sự xung đột địa chỉ nào với danh sách đã có. Có thể địa chỉ đã có sẵn trong danh sách do được cấu hình thủ công hoặc bởi DHCPv6, xuất hiện giống với địa chỉ được tạo mới, nhưng trường hợp như vậy là không điển hình.
- e) Nếu tiền tố quảng bá bằng với tiền tố của địa chỉ được cấu hình bởi tự động cấu hình không giữ trạng thái có trong danh sách thì thời gian sống ưu tiên của địa chỉ được thiết lập lại về thời gian sống ưu tiên có trong quảng bá nhận được. Các hành động cụ thể xử lý thời gian sống hợp lệ của địa chỉ phụ thuộc vào thời gian sống hiệu lực trong quảng bá nhận được và thời gian còn lại theo hạn định cho thời gian sống hợp lệ của địa chỉ được tự động cấu hình trước đó. Thời gian còn lại nói trên được gọi là “Thời gian sống còn lại” (RemainingLifetime) như nêu dưới đây:
- Nếu thời gian sống hợp lệ nhận được lớn hơn 2 giờ hoặc lớn hơn RemainingLifetime thì thiết lập thời gian sống hợp lệ cùa địa chỉ tương ứng bằng với thời gian sống hợp lệ được quảng bá.
- Nếu RemainingLifetime nhỏ hơn hoặc bằng 2 giờ thì bỏ qua tùy chọn thông tin tiền tố về thời gian sống hợp lệ, trừ phi lựa chọn này có được từ bản tin Router Solicitation trước đó đã được xác thực (ví dụ như thông qua phát hiện lân cận an toàn [RFC 3971]). Nếu bản tin Router Solicitation được xác thực thì thời gian sống hiệu lực của địa chỉ tương ứng nên thiết lập theo thời gian sống hiệu lực có trong tùy chọn nhận được.
- Các trường hợp khác, thiết lập lại thời gian sống hợp lệ của địa chỉ tương ứng là 2 giờ.
Quy định nêu trên nhằm đề cập đến một loại hình cụ thể về tấn công từ chối dịch vụ, trong đó các quảng bá giả mạo có thể chứa các tiền tố có thời gian sống hợp lệ rất nhỏ. Nếu không có quy định trên thì một quảng bá đơn lẻ không được xác thực chứa tùy chọn thông tin tiền tố giả mạo có thời gian sống hiệu lực ngắn sẽ gây ra việc toàn bộ địa chỉ của một nút mạng sẽ bị nhanh chóng quá hạn. Quy định trên cũng nhằm đảm bảo các quảng bá hợp lệ (được gửi theo chu kỳ) sẽ “xóa bỏ” các thời gian sống hợp lệ ngắn trước khi chúng gây ra những ảnh hưởng xấu.
Lưu ý rằng thời gian sống ưu tiên của địa chỉ tương ứng luôn được thiết lập lại theo thời gian sống ưu tiên có trong tùy chọn thông tin tiền tố có xét đến khi nào thì thời gian sống hợp lệ được thiết lập hay bỏ qua. Sự khác nhau xuất phát từ thực tế là các tấn công có thể xảy ra liên quan tới thời gian sống ưu tiên là thứ yếu. Hơn nữa, sự kiện không mong muốn là bỏ qua thời gian sống ưu tiên khi người quản trị hợp pháp muốn từ bỏ một địa chỉ cụ thể nào đó bằng cách gửi thời gian sống ưu tiên ngắn (và thời gian sống ưu tiên bị bỏ qua bởi sự cố).
6.5.4 Quá hạn thời gian sống của địa chỉ
Một địa chỉ ưu tiên trở thành địa chỉ không được ưu tiên khi thời gian sống ưu tiên của nó hết hạn. Một địa chỉ không được ưu tiên NÊN tiếp tục được sử dụng như một địa chỉ nguồn trong giao tiếp hiện có, nhưng KHÔNG NÊN sử dụng cho khởi tạo các giao tiếp mới nếu như địa chỉ (không phải địa chỉ không được ưu tiên) thay thế trong phạm vi phù hợp có thể dễ dàng để sử dụng thay thế.
Lưu ý rằng tính khả thi của việc khởi tạo một giao tiếp mới sử dụng địa chỉ không phải là địa chỉ không được ưu tiên có thể là quyết định của một ứng dụng cụ thể, khi mà chỉ có ứng dụng mới có thể hiểu rõ liệu (hiện tại) địa chỉ không được ưu tiên đã (hoặc vẫn đang) được sử dụng bởi ứng dụng. Ví dụ, nếu ứng dụng chỉ rõ ngăn giao thức nào đó sử dụng một địa chỉ không được ưu tiên làm địa chỉ nguồn thì ngăn giao thức đó phải chấp nhận điều này; ứng dụng có thể yêu cầu điều này bởi vì địa chỉ IP được sử dụng ở giao tiếp tầng cao hơn và ở đó có thể yêu cầu nhiều kết nối trong đó một nhóm kết nối có thể sử dụng cùng một cặp địa chỉ IP.
IP và các tầng cao hơn (ví dụ TCP, UDP) PHẢI tiếp tục chấp nhận và xử lý các khối dữ liệu kết cuối tới địa chỉ không được ưu tiên theo cách thông thường khi địa chỉ không được ưu tiên vẫn còn là địa chỉ hợp lệ của giao diện. Trong trường hợp TCP, các phân mảnh TCP SYN được gửi tới địa chỉ không được ưu tiên để đáp ứng việc sử dụng địa chỉ không được ưu tiên là địa chỉ nguồn trong SYN-ACK tương ứng (nếu kết nối có thể được cho phép theo cách khác).
Việc thực thi như trên CÓ THỂ ngăn ngừa bất kỳ giao tiếp mới nào sử dụng địa chỉ không được ưu tiên, nhưng quản trị hệ thống PHẢI có khả năng vô hiệu hóa tính năng này và tính năng này PHẢI thiết lập mặc định là bị vô hiệu.
Một trường hợp nhạy cảm khác cũng cần được lưu tâm khi lựa chọn địa chỉ. Ví dụ, những mô tả ở trên chưa làm rõ địa chỉ nào trong các địa chỉ không được ưu tiên, địa chỉ có phạm vi nhỏ hơn và địa chỉ không phải là địa chỉ không được ưu tiên, địa chỉ phạm vi phù hợp nên được sử dụng. Chi tiết về lựa chọn địa chỉ bao gồm cả trường hợp nói trên được mô tả trong [RFC 3484] và nằm ngoài phạm vi đề cập của tiêu chuẩn này.
Một địa chỉ (và sự liên quan của nó đến một giao diện) trở thành địa chỉ không hợp lệ khi thời gian sống hợp lệ của nó quá hạn. Địa chỉ không hợp lệ KHÔNG ĐƯỢC sử dụng là địa chỉ nguồn trong giao tiếp gửi đi và KHÔNG ĐƯỢC xem là địa chỉ đích trên giao diện nhận.
6.6 Tính nhất quán cấu hình
Host có thể nhận thông tin địa chỉ sử dụng bởi cả phương thức tự động cấu hình không giữ trạng thái và DHCPv6 khi mà cả hai phương thức này được cùng được kích hoạt. Các giá trị của các tham số cấu hình khác, chẳng hạn như kích cỡ MTU, giới hạn chặng có thể nhận được từ bản tin Router Advertisement và DHCPv6. Nếu như cùng một thông tin được cung cấp bởi nhiều nguồn khác nhau thì các giá trị có trong thông tin nên nhất quán. Tuy nhiên cũng không phải là lỗi trầm trọng nếu như thông tin nhận được từ nhiều nguồn là không nhất quán. Host chấp nhận sự kết hợp mọi thông tin nhận được từ giao thức khám phá lân cận và từ DHCPv6.
Nếu thông tin là không nhất quán nhận được từ nhiều nguồn thì việc xử lý nhận thông tin có thể là ưu tiên nhận các thông tin có sự bảo mật hơn so với thông tin không được bảo vệ. Ví dụ điều 8 của tài liệu [RFC 3971] thảo luận việc làm thế nào để xử lý thông tin nhận được thông qua giao thức khám phá lân cận an toàn để không mâu thuẫn với thông tin nhận được thông qua giao thức khám khá lân cận thông thường. Thảo luận tương tự có thể áp dụng cho việc ưu tiên giữa nhận thông tin thông qua giao thức khám phá lân cận thông thường và nhận thông tin thông qua DHCPv6 được bảo mật.
Trong mọi trường hợp, nếu thông tin nhận được từ các nguồn không có sự khác nhau về mức độ bảo mật thì phần lớn giá trị nhận được hiện tại NÊN ưu tiên chọn từ nguồn thông tin đến sớm nhất.
6.7 Duy trì tính ổn định của cấu hình địa chỉ
Là việc thực hiện dùng bộ nhớ ổn định để lưu các địa chỉ đã nhận được từ tự động cấu hình địa chỉ không giữ trạng thái. Giả thiết thời gian sống được sử dụng là phù hợp, kỹ thuật này ngầm định rằng việc ngừng hoạt động tạm thời (nhỏ hơn thời gian sống hợp lệ) của bộ định tuyến sẽ không làm mất địa chỉ toàn cầu của nút mạng ngay cả khi nút mạng đã được khởi động lại. Khi kỹ thuật này được sử dụng thì cần lưu ý thời gian quá hạn của thời gian sống của địa chỉ hợp lệ và địa chỉ ưu tiên phải được duy trì để ngăn việc sử dụng địa chỉ sau khi nó trở thành không được ưu tiên hoặc hết hiệu lực.
Chi tiết của dạng mở rộng nói trên không đề cập trong tiêu chuẩn này.
7 Các quan tâm về an toàn bảo mật
Tự động cấu hình địa chỉ không giữ trạng thái cho phép host kết nối với mạng, cấu hình địa chỉ và khởi tạo giao tiếp với các nút mạng khác mà không phải đăng ký hoặc tự xác thực với mạng nội bộ. Điều này cho phép người sử dụng trái phép kết nối và sử dụng mạng, do vậy mối đe dọa vốn dĩ có mặt trong kiến trúc mạng Internet. Bất kỳ nút mạng nào có kết nối vật lý với mạng đều có thể tạo ra một địa chỉ (sử dụng đa dạng các kỹ thuật mạng tùy biến) để cung cấp kết nối.
Sử dụng tự động cấu hình không giữ trạng thái và phát hiện địa chỉ trùng lặp mở ra khả năng xuất hiện một vài loại hình tấn công từ chối dịch vụ. Ví dụ, nút mạng có thể đáp ứng bản tin Neighbor Solicitation về địa chỉ dự kiến, có thể làm các nút mạng khác loại bỏ địa chỉ này vì coi như bị trùng lặp. Tài liệu [RFC 3756] thảo luận chi tiết về các loại hình tấn công như vậy được đề cập trong “Giao thức khám phá lân cận an toàn” [RFC 3971], Nên lưu ý [RFC 3756] chỉ ra rằng sử dụng bảo mật IP không phải luôn phù hợp mà phụ thuộc vào các môi trường mạng.
Phụ lục A
(Tham khảo)
Chặn lặp vòng và phát hiện địa chỉ trùng lặp
Phát hiện khi nào một thăm dò multicast nhận được bị lặp vòng về nơi gửi hoặc đến từ một nút mạng khác là một tác vụ phụ thuộc. Các trường hợp khó giải quyết xuất hiện khi hai giao diện gắn với vào cùng một liên kết có cùng định danh và địa chỉ tầng liên kết; cả hai gửi các gói tin có nội dung giống nhau tại cùng một thời điểm (ví dụ như bản tin Neighbor Solicitation về địa chỉ dự kiến như một phần của các bản tin phát hiện địa chỉ trùng lặp). Mặc dù phía thu nhận cả hai dạng gói tin nói trên, nhưng dựa vào nội dung của gói tin thì nó không xác địch được gói tin nào là lặp vòng và gói tin nào đến từ một nút mạng khác (vì nội dung các gói tin là giống nhau). Trường hợp này không nhất thiết phải phân biệt chính xác gói tin nào là lặp vòng và gói tin nào đến từ nút mạng khác. Nếu như số lượng thăm dò nhận được nhiều hơn số lượng đã gửi đi thì địa chỉ dự kiến bị trùng lặp. Tuy nhiên trường hợp này không phải lúc nào cũng đúng.
Đặc tính multicast IPv4 [RFC 1112] khuyến nghị giao diện dịch vụ cung cấp cách thức để một giao thức tầng trên ngăn chặn việc phân phát trong nội bộ các gói tin gửi tới nhóm địa chỉ multicast mà các host gửi gói tin là thành viên. Một số các ứng dụng có thể nhận biết rằng sẽ không có thành viên khác nào của nhóm trên cùng một host đó và sẽ chặn lặp vòng đó nhằm tránh việc phải nhận (và loại bỏ) các gói tin do chính chúng gửi đi. Cách thức đơn giản để thực hiện tiện ích này là vô hiệu hóa lặp vòng tại phần cứng (nếu như phần cứng hỗ trợ) và với các gói tin lặp vòng (nếu được yêu cầu) bằng phần mềm. Trên các giao diện mà phần cứng của nó tự chúng có thể chặn lặp vòng, nút mạng thực hiện phát hiện địa chỉ trùng lặp đơn giản bằng cách đếm số lượng Neighbor Solicitation chứa địa cho chỉ dự kiến nhận được và so sánh chúng với giá trị mong muốn. Nếu có sự sai khác thì địa chỉ dự kiến bị trùng lặp.
Đối với các trường hợp mà phần cứng không có khả năng chặn lặp vòng, thì phần mềm có thể lọc các gói tin lặp vòng không mong muốn và loại bỏ bất kỳ gói tin nhận được nào có địa chỉ nguồn tầng liên kết trùng với địa chỉ của giao diện nhận. Đặc tính tầng liên kết yêu cầu những gói tin này bị loại bỏ [IEEE 802.11]. Đáng tiếc là việc sử dụng tiêu chuẩn nói trên cũng gây ra sự loại bỏ tất cả các gói tin gửi từ nút mạng khác sử dụng cùng một địa chỉ tầng liên kết. Phát hiện địa chỉ trùng lặp sẽ không thành công trên giao diện nếu lọc các gói tin nhận được theo cách thức dưới đây:
– Nếu nút mạng thực hiện phát hiện địa chỉ trùng lặp loại bỏ các gói tin nhận được có địa chỉ tầng liên kết trùng với địa chỉ giao diện nhận thì nó cũng loại bỏ các gói tin đến từ các nút mạng khác có cùng địa chỉ tầng liên kết, các bản tin Neighbor Advertisement và bản tin Neighbor Solicitation cũng được yêu cầu cho việc phát hiện địa chỉ trùng lặp một cách chính xác. Trường hợp cụ thể này có thể giải quyết bằng cách vô hiệu tạm thời phần mềm chặn lặp vòng trong khi nút mạng đang thực hiện phát hiện địa chỉ trùng lặp nếu như có thể thực hiện được.
– Nếu như nút mạng đang sử dụng một địa chỉ IP và thực hiện loại bỏ các gói tin nhận được có cùng địa chỉ tầng liên kết với giao diện thì nó cũng loại bỏ các bản tin Neighbor Solicitation liên quan tới phát hiện địa chỉ trùng lặp gửi đến từ nút mạng khác có cùng địa chỉ tầng liên kết. Hậu quả là phát hiện trùng lặp địa chỉ không thành công và nút mạng khác đó sẽ cấu hình là địa chỉ không duy nhất. Khi đã không chắc chắn biết khi nào nút mạng khác thực hiện phát hiện địa chỉ trùng lặp thì kịch bản này tránh xảy ra chỉ khi phần mềm chặn lặp vòng được vô hiệu hóa vĩnh viễn.
Như vậy, để thực hiện phát hiện địa chỉ trùng lặp chính xác trong trường hợp có hai giao diện sử dụng cùng một địa chỉ tầng liên kết thì việc thực hiện phải hiểu rõ ý nghĩa lặp vòng multicast của giao diện, và giao diện không thể loại bỏ các gói tin nhận được một cách đơn giản chỉ vì địa chỉ tầng liên kết nguồn trùng với địa chỉ của giao diện. Cũng nên lưu ý rằng đặc tính tầng liên kết có thể xung đột với điều kiện cần thiết để thực thi phát hiện địa chỉ trùng lặp.
Thư mục tài liệu tham khảo
[1] RFC 4862 (2007), IPv6 Stateless Address Autoconfiguration (Tự động cấu hình địa chỉ không giữ trạng thái IPv6).
Mục lục
- Phạm vi áp dụng
- Tài liệu viện dẫn
- Thuật ngữ và định nghĩa
4 Mục tiêu thiết kế
5 Tổng quan về giao thức
5.1 Đánh số lại
6 Đặc tả giao thức
6.1 Các biến cấu hình nút mạng
6.2 Cấu trúc tự động cấu hình địa chỉ có liên quan
6.3 Tạo địa chỉ liên kết cục bộ
6.4. Phát hiện địa chỉ trùng lặp
6.4.1 Sự hợp lệ của bản tin
6.4.2 Gửi bản tin Neighbor Solicitation
6.4.3 Nhận bản tin Neighbor Solicitation
6.4.4 Nhận các bản tin Neighbor Advertisement
6.4.5 Khi phát hiện địa chỉ trùng lặp không thực hiện thành công
6.5 Tạo địa chỉ toàn cầu
6.5.1 Quảng bá Soliciting Router
6.5.2 Không nhận được bản tin Router Advertisement
6.5.3 Xử lý Router Advertisement
6.5.4 Quá hạn thời gian sống của địa chỉ
6.6 Tính nhất quán cấu hình
6.7 Duy trì tính ổn định của cấu hình địa chỉ
7 Các quan tâm về an toàn bảo mật
Phụ lục A (tham khảo): Chặn lặp vòng và phát hiện địa chỉ trùng lặp
Thư mục tài liệu tham khảo
TIÊU CHUẨN QUỐC GIA TCVN 9802-6:2020 VỀ GIAO THỨC INTERNET PHIÊN BẢN 6 (IPV6) – PHẦN 6: GIAO THỨC TỰ ĐỘNG CẤU HÌNH ĐỊA CHỈ KHÔNG GIỮ TRẠNG THÁI IPV6 | |||
Số, ký hiệu văn bản | TCVN9802-6:2020 | Ngày hiệu lực | |
Loại văn bản | Tiêu chuẩn Việt Nam | Ngày đăng công báo | |
Lĩnh vực |
Giao dịch điện tử |
Ngày ban hành | 01/01/2020 |
Cơ quan ban hành | Tình trạng | Còn hiệu lực |
Các văn bản liên kết
Văn bản được hướng dẫn | Văn bản hướng dẫn | ||
Văn bản được hợp nhất | Văn bản hợp nhất | ||
Văn bản bị sửa đổi, bổ sung | Văn bản sửa đổi, bổ sung | ||
Văn bản bị đính chính | Văn bản đính chính | ||
Văn bản bị thay thế | Văn bản thay thế | ||
Văn bản được dẫn chiếu | Văn bản căn cứ |