(Hình minh họa)
RFC là gì ?
Nếu bạn đã từng làm việc với mạng máy tính thì bạn sẽ khá quen thuộc với các chuẩn RFC này và hiểu được tầm quan trong của chúng. Đối với nhưng ai chưa quen thì có thể hiểu một cách cơ bản rằng RFC là một tài liệu liên quan đến những khía cạnh kỹ thuật (aspect) của mạng máy tính nói chung, kể cả mạng Internet.
Khía cạnh kỹ thuật đầu tiên đó là mô tả về các giao thức (protocol), ví dụ như RFC 791 giới thiệu về IPv4 năm 1981, RFC 1034 và 1035 năm 1987 nói về giao thức DNS. Một ví dụ gần nhất về giao thức đó là RFC 8415 vào tháng 11/2018 về giao thức DHCPv6.
Một khía cạnh kỹ thuật khác đó là công tác vận hành khai thác (Operation). Ví dụ RFC 6781 về DNSSEC Operational Practices, RFC 7454 về BGP Operations and Security ...
Kiến trúc mạng cũng là một chủ đề quan trọng đối với chuẩn RFC. Ví dụ RFC 7625 giới thiệu kiến trúc của hệ thống mạng IP/MPLS, RFC 8014 về kiến trúc của mạng DCN dựa trên giao thức NVO3 (Network Virtualization over Layer 3) …
Số 1: RFC 2460 - Đặc tả về giao thức IPv6, tháng 12/1998
RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
Dù RFC 1883 (12/1995) là tài liệu đầu tiên mô tả về đặc điểm của giao thức IPv6 nhưng RFC 2460 (thay thế cho 1883) mới được coi là cuộc cách mạng đối với giao thức IPv6 (IPv6 revolución). RFC 2460 chỉ rõ cấu trúc của giao thức IPv6 và gói tin IPv6 như: chiều dài địa chỉ là 128-bit; kích thước phần đầu (header) gói tin cố định 40-byte, các tiêu đề mở rộng (extension header) rồi các đặc tính mới như flow label dành cho Layer 3 QoS, cách thức hoạt động của phân mảnh gói tin (fragmentation) …
Tiếp theo, xuất hiện rất nhiều các bản cập nhật cho RFC 2460 như: RFC 5095, 5722, 5871, 6437, 6564, 6935, 6946, 7045, 7112. Những bản cập nhật này chủ yếu tập trung vào phần extension header và fragmentation.
Nhưng sau 9 năm, tháng 7/2017, RFC 8200 đã thay thế cho RFC 2460, trong đó bổ sung thông tin từ những bản cập nhật, thay đổi thông tin phù hợp với thực tế và cập nhật những khuyến cáo mới. Thực sự những đặc tả về giao thức IPv6 từ RFC 2460 vẫn không thay đổi. RFC 8200 chỉ là văn bản duy nhất mô đầy đủ nhất (full Standard) về IPv6.
Số 2: RFC 4443 - Đặc tả về giao thức ICMPv6, tháng 3/2006
RFC 4443: Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification
Giao thức IPv6 được xem như là bản thiết kế lại từ đầu (from-the-ground-up redesign) của giao thức IPv4. Không chỉ tăng số bit từ 32 lên 128 để khắc phục tình trạng thiếu hụt địa chỉ mà ngay từ ban đầu các thành viên nhóm IPv6 của IETF cũng đã tập trung vào việc cải thiện và cải tiến những hạn chế khác của IPv4. Một tính năng quan trọng cần cải tiến chính là giao thức ICMP. Dù rằng bạn đã quá quen thuộc với ICMPv4 nhưng thực sự ICMPv6 có rất nhiều điểm khác biệt. Bạn không thể hiểu sâu giao thức IPv6 nếu không nắm được những điểm khác biệt của ICMPv6.
Nếu bạn đã tìm hiểu qua IPv6 thì có thể thấy rằng giao thức ARP không còn được sử dụng trong IPv6 mà thay vào đó là giao thức NDP (Neighbor Discovery Protocol) và hoạt động của giao thức này dựa hoàn toàn vào ICMPv6 (NDP không được mô tả chi tiết trong RFC 4443 mà trong RFC 4861).
Một ví dụ khác là bản tin mới “Packet Too Big” của ICMPv6 giúp loại bỏ việc thực hiện phân mảnh gói tin (fragmentation) tại các node mạng trung gian, yêu cầu node mạng khởi tạo gói tin (source node) phải thực hiện điều này.
Chính vì thế, việc tìm hiểu RFC 4443 gần như là điều bắt buộc để có thể hiểu được hoạt động cũng như những tính năng và giao thức khác liên quan bộ giao thức IPv6.
Số 3: RFC 4861 - Đặc tả về giao thức Neighbor Discovery, tháng 9/2007
RFC 4861: Neighbor Discovery for IP Version 6 (IPv6)
Giao thức ARP giúp phân giải hoặc ánh xạ giữa địa chỉ Layer 3 (IP addess) và Layer 2 (MAC address). Như trình bày ở trên giao thức NDP đã thay thế cho ARP trong IPv6, nhưng không chỉ có vậy, NDP còn thực hiện rất nhiều tính năng khác.
Các máy tính mạng (Host) dùng NDP để dò tìm và xác định địa chỉ các thiết bị láng giềng (neighbor) trên cùng kết nối (link), kiểm tra xung đột địa chỉ, xác định thiết bị nào là Router, tự cấu hình địa chỉ Gateway …
Các Router dùng NDP tự quảng bá chính mình cho các Host biết để cấu hình Default Gateway, quảng bá Subnet mà mình đang dùng và gửi các thông tin cần thiết để Host có thể tự cấu hình địa chỉ IP …
Có 9 tính năng chính được mô tả chi tiết trong RFC 4861 này gồm: Router Discovery, Prefix Discovery, Parameter Discovery, Address Autoconfiguration, Address Resolution, Next-Hop Determination, Neighbor Unreachability Detection, Duplicate Address Detection và Redirection.
Số 4: RFC 4862 – Tự cấu hình địa chỉ IP động, tháng 9/2007
RFC 4862: IPv6 Stateless Address Autoconfiguration (SLAAC)
Đối với IPv4, để một Node mạng có thể nhận được địa chỉ động thì cần có một DHCP Server. Các nhà thiết kế IPv6 đã tiến xa thêm một bước, cho phép các Node tự cấu hình địa chỉ mà không cần đến DHCP. Điều này có thể thực hiện được nhờ vào cấu trúc địa chỉ IPv6 có 64 bit dành cho Interface ID (/64=264, tương đương với khoảng 18 tỉ tỉ địa chỉ) và dựa vào tính năng Duplicate Address Detection và Prefix Discovery của NDP. Tính năng này gọi là SLAAC, được mô tả trong RFC 4862.
RFC này trình bày hoạt động chi tiết giữa các Host và Router để giúp tự cấu hình địa chỉ IPv6. Ngoài ra cũng mô tả thêm tính năng giúp thay đổi dãy địa chỉ quy hoạch (Renumbering), thời gian hiệu lực của địa chỉ động (lifetime expiry) và các vấn đề bảo mật liên quan.
Số 6: RFC 3315 – Giao thức DHCPv6, tháng 7/2003
RFC 3315: Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
DHCPv6 đóng vai trò cung cấp địa chỉ IP động như đối với DHCPv4, chính vì thế DHCPv6 thường bị hiểu sai rằng đó chỉ là bản nâng cấp của DHCPv4 để hỗ trợ địa chỉ IPv6. Nhưng thực tế DHCPv6 gần như được thiết kế lại hoàn toàn so với DHCPv4.
Không như DHCPv4 dựa vào bản tin broadcast Layer 2 để gửi yêu cầu, DHCPv6 dùng địa chỉ IPv6 Link-local (mà node mạng tự cấu hình) kết hợp với địa chỉ Multicast để trao đổi thông tin. Một khác biệt rất quan trọng khác đó chính là DHCPv4 sử dụng địa chỉ MAC để phân biệt máy trạm (client) hoặc để gán IP cố định còn DHCPv6 lại sử dụng một định danh mới có tên là DUID (DHCP Unique Identifier). Ngoài ra DHCPv6 còn có các khái niệm & tính năng khác nữa như IA (identity association), PD (prefix delegation).
Có thể thấy DHCPv6 khá khác biệt và phức tạp so với DHCPv4. Phần lớn các hệ thống mạng IPv4 đang sử dụng DHCPv4 nên việc sử dụng DHCPv6 sẽ là tùy chọn phổ biến so với sử dụng cấu hình SLAAC (RFC 4862). Vì thế việc nghiên cứu RFC 3315 là điều bắt buộc đối với những người tham gia triển khai IPv6 trong các tổ chức.
Một chú ý đối với RFC này đó là các thiết bị Android đến nay vẫn chưa hỗ trợ DHCPv6 mà chỉ hỗ trợ SLAAC. Nếu hệ thống chọn sử dụng DHCPv6 có thể phải “hy sinh” việc hỗ trợ cho các thiết bị Andoroid hoặc phải sử dụng cả hai giao thức.
RFC 3315 được xem là phiên bản chính về DHCPv6, tiếp theo sau là những bản cập nhật liên quan như: RFC 3633, RFC 3736, RFC 4242, RFC 7083. Vào tháng 11/2018, RFC 8415 ra đời coi như là bản thay thế (obsolete) cho RFC 3315 & các bản cập nhật.
Số 7: RFC 4291 – Kiến trúc của địa chỉ IPv6, tháng 2/2006
RFC 4291: IP Version 6 Addressing Architecture
RFC 2460 là tài liệu mô tả đặc tính chung và cơ bản của giao thức IPv6, trong đó có giới thiệu kích thước 128 bit của địa chỉ IPv6 nhưng không trình bày chi tiết thông tin về địa chỉ IPv6. Những gì chúng ta thường biết về địa chỉ IPv6 như: biểu diễn như thế nào (format), có bao nhiêu loại (type), phạm vi (scope), địa chỉ dành riêng (reservation), địa chỉ đặc biệt … đều được mô tả chi tiết trong RFC 4291 này.
Như vậy, RFC 4291 là tài liệu chuẩn nhất mô tả chi tiết kiến trúc của địa chỉ IPv6. Không chỉ vậy RFC này còn mô tả một số loại địa chỉ dùng để phục vụ việc chuyển đổi các hệ thống từ IPv4 sang IPv6 như IPv4-Compatible IPv6 Addresses và IPv4-Mapped IPv6 Addresses dù rằng chúng ít được áp dụng trong thực tế.
Tiếp theo sau RFC 4291 là một số bản cập nhật như:
- RFC 5952 quy định chi tiết về cách viết và rút gọn địa chỉ IPv6 (không dùng chữ hoa, dãy nhiều số 0 liên tiếp ưu tiên rút gọn hơn dãy ít số 0, nếu hai dãy có số 0 bằng nhau thì ưu tiên rút gọn bên trái)
- RFC 6052: quy định việc ánh xạ địa chỉ IPv4 sang IPv4 (embeded address) phục vụ việc chuyển đổi hệ thống
- RFC 7136: về định dạng địa chỉ IPv6 theo dạng EUI-64
- RFC 7346: bổ sung quy định về một số IPv6 Multicast Scope mới
Số 8: RFC 6724 – Quy định cách chọn địa chỉ mặc định, tháng 2/2006
RFC 6724: Default Address Selection for Internet Protocol Version 6 (IPv6)
Trong quá trình triển khai IPv6, một số vấn đề đã xuất hiện như:
Nếu hệ thống chạy DualStack, mỗi thiết bị sẽ nhận cả 2 địa chỉ IPv4 & IPv6, vậy thiết bị sẽ dùng IPv4 hay IPv6 để thiết lập kết nối ?
Nếu DNS Server phản hồi tên miền gồm cả địa chỉ IPv4 & IPv6 thì địa chỉ nào được ưu tiên để làm IP Source ?
Một thiết bị có thể được cấu hình nhiều địa chỉ IPv6, gồm cả Linklocal, Unique-Local & Global-Unicast thì địa chỉ nào sẽ được dùng ?
Mỗi hệ điều hành sẽ có ưu tiên lựa chọn địa chỉ kết nối khác nhau và các ứng dụng lại có ưu tiên khác so với hệ điều hành
Chính vì thế RFC 6724 này quy định cách “hành xử” (behavior) trong những trường hợp như trên bằng cách đưa ra 9 quy tắc (rule) để sắp xếp thứ tự ưu tiên lựa chọn địa chỉ IP Source. Nên việc hiểu những quy tắc này sẽ giúp quá trình triển khai IPv6 thuận tiện và việc chẩn đoán, xử lý sự cố nhanh hơn.
Số 9: RFC 8106 – Quy định Router quảng bá thông tin DNS, tháng 3/2017
RFC 8106: IPv6 Router Advertisement Options for DNS Configuration
Kỹ thuật SLAAC (RFC 4862) cho phép một Node mạng có thể tự gán địa chỉ IPv6 mà không cần đến DHCPv6 Server. Nhưng có một điểm hạn chế đối với SLAAC đó chính là dù có thể tự cấu hình địa chỉ nhưng Node mạng không biết thông tin địa chỉ của DNS Server để có thể phân giải tên miền.
Để bổ sung, RFC 8106 đã định nghĩa thêm một tùy chọn (option) cho các Router quảng bá thêm danh sách các DNS Server cho các Node mạng sử dụng SLAAC. Tùy chọn này có tên là “DNS RA option” hay còn gọi RDNS (Recursive DNS server). Nhiều thiết bị và hệ điều hành đã hỗ trợ RFC 8106 này. Đối với Windows 10 (từ bản update 1703), nếu nhận thông tin quảng bá từ DHCPv6 và DNS RA thì sẽ bỏ qua RA này và ưu tiên chọn thông tin của DHCPv6.
Số 10: RFC 7381 – Hướng dẫn triển khai IPv6 cho doanh nghiệp, tháng 10/2014
RFC 7381: Enterprise IPv6 Deployment Guidelines
Sau tất cả những lý thuyết về IPv6, việc triển khai chuyển đổi các hệ thống IPv4 sang IPv6 là thách thức rất lớn đối với bất kỳ ai. Có quá nhiều khác biệt giữa IPv4 và IPv6 nên không thể chuyển đổi hệ thống trong một thời gian ngắn mà không ảnh hưởng dịch vụ. RFC 7381 không phải là một tài liệu kỹ thuật mà là một tài liệu hướng dẫn (Guideline). Nội dung của RFC đưa ra một cách tiếp cận chuẩn cho quá trình chuyển đổi hệ thống từ IPv4-only sang Dual-stack rồi đến IPv6-only. Việc triển khai IPv6 được chia thành 3 giai đoạn (phase approach) chính: rà soát, lập kế hoạch; triển khai hệ thống ngoại biên (External, như WEB & DNS) và triển khai hệ thống nội bộ (Internal, như mạng LAN).
Ngoài ra, RFC 7381 còn chỉ ra vấn đề đáng chú ý trong việc triển khai IPv6 đó là sự sẳn sàng cho IPv6 của các ứng dụng trong các đơn vị. Thông thường, các thiết bị phần cứng như máy chủ máy trạm và hệ điều hành đã hỗ trợ tốt IPv6, trong khi các ứng dụng truyền thống mà doanh nghiệp đang sử dụng cần có sự kiểm tra, xem xét kỹ khả năng tương thích IPv6. Đôi khi việc chuyển đổi cho các ứng dụng này sẽ tốn rất nhiều thời gian và cả tài chính.
Trên đây là tất cả 10 RFC quan trọng nhất cần nắm khi tiếp cận với IPv6 cho bất kỳ ai. Ngoài ra còn rất nhiều RFC khác cũng khá quan trọng như IPv6 cho Multicast, OSPF, BGP, Anycast, Multihoming, DNSSec, Mobility, MPLS, IPSec, SIP … Tùy theo đặc thù của mỗi doanh nghiệp, mỗi đơn vị, các bạn sẽ cần tìm hiểu sâu thêm những thông tin liên quan trực tiếp đến hệ thống và dịch vụ của mình.
BBT
Thêm ý kiến góp ý