Hạ tầng mạng đường trục doanh nghiệp hiệu năng cao và lưới Anycast VPN phân tán đòi hỏi khả năng điều hướng lưu lượng linh hoạt cùng khả năng phục hồi kết nối dưới một giây. Suốt hai thập kỷ qua, chuyển mạch nhãn đa giao thức (MPLS) đã đóng vai trò nền tảng cho kỹ thuật điều phối lưu lượng và các dịch vụ mạng riêng ảo Lớp 3.

Tuy nhiên, MPLS mang lại độ phức tạp vận hành rất lớn. Việc duy trì đồng thời Giao thức phân phối nhãn (LDP), Giao thức đặt trước tài nguyên với Kỹ thuật lưu lượng (RSVP-TE) và các phiên BGP mục tiêu buộc các bộ định tuyến trung gian phải lưu trữ hàng ngàn trạng thái báo hiệu trong bộ nhớ phần cứng.

Nhằm xóa bỏ sự cồng kềnh này, IETF đã chuẩn hóa công nghệ Định tuyến phân đoạn trên nền IPv6 (SRv6) thông qua các tiêu chuẩn RFC 8402, RFC 8754 và RFC 8986. Bằng cách hợp nhất mặt phẳng điều khiển và mặt phẳng chuyển tiếp dữ liệu hoàn toàn bên trong các gói tin IPv6 nguyên bản, SRv6 mang lại khả năng định tuyến nguồn phi trạng thái, lập trình mạng linh hoạt và cơ chế bảo vệ dự phòng tất định dưới 50 mili-giây thông qua TI-LFA (Topology-Independent Loop-Free Alternate).

Cuộc khủng hoảng độ phức tạp của MPLS: Nhu cầu hợp nhất mặt phẳng dữ liệu IPv6

Mạng MPLS truyền thống tách rời hoàn toàn quá trình chuyển tiếp nhãn khỏi định tuyến IP nền tảng. Sự phân tách này tạo ra ma sát vận hành lớn trên các mạng trục đám mây hiện đại:

  1. Phình to ngăn xếp giao thức: Quản trị viên phải triển khai IGP (OSPF/IS-IS), LDP để ràng buộc nhãn, RSVP-TE cho việc bảo vệ đường truyền và MP-BGP để định tuyến VPN cho người dùng.
  2. Cạn kiệt trạng thái nút mạng trung gian: Với RSVP-TE, các bộ định tuyến trung gian trên đường truyền phải duy trì trạng thái riêng biệt cho từng đường hầm, làm cạn kiệt bộ nhớ và gây chậm trễ hội tụ khi mạng gặp sự cố.
  3. Phân mảnh đóng gói: MPLS không thể đi xuyên qua các mạng trung chuyển IP tiêu chuẩn nếu thiếu các lớp mạng phủ như GRE hoặc UDP, làm phân mảnh khả năng giám sát mạng.

SRv6 thay thế ngăn xếp đa tầng phức tạp này bằng một giao thức nguyên bản duy nhất: IPv6 tiêu chuẩn. Các gói tin tự mang theo chỉ dẫn định tuyến bên trong một tiêu đề mở rộng gọn nhẹ, cho phép các bộ định tuyến thông thường xử lý lưu lượng bằng thuật toán so khớp tiền tố dài nhất chuẩn của IPv6.

Kiến trúc lập trình mạng SRv6: Nền tảng cốt lõi theo RFC 8986

RFC 8986 định nghĩa khái niệm lập trình mạng: ý tưởng cho rằng một lộ trình mạng có thể được diễn đạt dưới dạng danh sách các lệnh được mã hóa trực tiếp bên trong một địa chỉ IPv6.

Thay vì bắt các bộ định tuyến phải lưu trữ bảng đường hầm phức tạp, bộ định tuyến đầu vào sẽ mã hóa toàn bộ lộ trình thực thi thành một chuỗi các Định danh phân đoạn (Segment Identifiers - SID) 128-bit. Khi gói tin đi qua mạng trục, từng nút mạng hỗ trợ SRv6 đọc SID đang hoạt động, thực thi lệnh liên kết rồi chuyển tiếp đến phân đoạn tiếp theo.

Giải phẫu SID 128-bit: Cấu trúc Locator, Function và Arguments

Một SID trong SRv6 có định dạng cấu trúc hoàn toàn tương thích với địa chỉ IPv6 tiêu chuẩn 128-bit, được chia thành các thành phần chức năng:

$$ ext{SRv6 SID (128 bits)} = ext{Locator} ,|, ext{Function} ,|, ext{Arguments}$$

  • Locator ($L$ bit): Tiền tố IPv6 được gán cho một nút mạng cụ thể. Các bộ định tuyến trung gian sẽ chuyển tiếp gói tin tới nút này bằng định tuyến đường ngắn nhất IGP (IS-IS hoặc OSPFv3) mà không cần hiểu biết về SRv6.
  • Function ($F$ bit): Mã lệnh (opcode) xác định hành động hoặc chức năng mạng cụ thể cần thực thi (ví dụ: chuyển tiếp qua liên kết X, giải mã vào bảng VRF Y, hoặc chuyển qua tường lửa Z).
  • Arguments ($A$ bit): Tham số tùy chọn bổ sung cho chức năng, chẳng hạn như nhận diện luồng hoặc nhãn chất lượng dịch vụ.

Ví dụ, trong môi trường dùng locator /64 với function 16-bit, địa chỉ 2001:db8:acad:1:: định danh cổng mạng biên, trong khi 2001:db8:acad:1:0042:: chỉ thị cổng mạng đó thực thi hàm 0x0042 (như chuyển gói tin vào một bảng định tuyến VPN chỉ định).

Tiêu đề Segment Routing (SRH): Phân tích gói tin theo chuẩn RFC 8754

Để chuyên chở chuỗi nhiều phân đoạn, RFC 8754 giới thiệu Tiêu đề Segment Routing IPv6 (SRH), được triển khai dưới dạng Tiêu đề mở rộng định tuyến IPv6 (Routing Type 4):

+-------------------------------------------------------------------+
| Next Header (8) | Hdr Ext Len (8) | Routing Type (4) | Segments Left (8) |
+-------------------------------------------------------------------+
| Last Entry (8)  | Flags (8)       | Tag (16)                             |
+-------------------------------------------------------------------+
| Segment List[0] (128 bit - SID đích cuối cùng)                     |
+-------------------------------------------------------------------+
| Segment List[1] (128 bit - SID chỉ dẫn trung gian)                 |
+-------------------------------------------------------------------+
| Segment List[2] (128 bit - SID phân đoạn khởi tạo)                 |
+-------------------------------------------------------------------+

Các trường hoạt động chính gồm:

  • Segments Left (SL): Con trỏ biểu thị chỉ số của phân đoạn đang hoạt động kế tiếp trong danh sách.
  • Segment List: Mảng có thứ tự chứa các địa chỉ IPv6 128-bit, được liệt kê theo chiều ngược lại của thứ tự thực thi (Segment List[Last Entry] được xử lý đầu tiên; Segment List[0] được xử lý cuối cùng).

Trong quá trình truyền dẫn, địa chỉ IP đích của gói tin IPv6 luôn chứa SID đang hoạt động. Khi đến nút đó, bộ định tuyến giảm giá trị Segments Left, sao chép Segment List[SL] vào trường địa chỉ đích IPv6 và chuyển tiếp gói tin tới locator kế tiếp.

Mô hình định tuyến nguồn: Triệt tiêu trạng thái trung gian trên mạng truyền dẫn

SRv6 dịch chuyển toàn bộ độ thông minh ra biên mạng. Các cổng mạng đầu vào xác định toàn bộ chính sách truyền dẫn—dựa trên dữ liệu viễn trắc, độ trễ hoặc thỏa thuận dịch vụ—rồi chèn danh sách SID thích hợp vào tiêu đề gói tin.

Mô hình này mang lại những lợi thế vận hành rõ nét:

  • Mạng lõi phi trạng thái: Các bộ định tuyến trung gian chỉ cần duy trì định tuyến IPv6 tiêu chuẩn cho các locator. Chúng hoàn toàn không phải lưu trạng thái đường hầm, tài nguyên đặt trước hay cơ sở dữ liệu chuyển tiếp nhãn.
  • Tuân thủ chính sách linh hoạt: Cổng mạng có thể hướng lưu lượng đi qua các nhà mạng cụ thể, trạm lọc gói hoặc các tuyến cáp quang độ trễ thấp chỉ bằng cách gắn thêm các SID tương ứng.
  • Khả năng tương thích liền mạch: Các thiết bị định tuyến cũ chưa hỗ trợ SRv6 vẫn chuyển tiếp gói tin bình thường dựa trên tiền tố locator trong địa chỉ đích IPv6, giúp việc nâng cấp hạ tầng diễn ra từng bước mà không làm gián đoạn hệ thống.

Chuyển tuyến nhanh TI-LFA: Chuyển mạch dự phòng dưới 50ms không cần RSVP-TE

Sự cố đứt liên kết trên mạng truyền dẫn có thể làm gián đoạn các kết nối thời gian thực. Cơ chế hội tụ IP truyền thống đòi hỏi hàng trăm mili-giây để phát hiện sự cố, cập nhật cơ sở dữ liệu IGP và tính toán lại bảng định tuyến.

TI-LFA (Topology-Independent Loop-Free Alternate) cung cấp khả năng bảo vệ tự động và tất định dưới 50 mili-giây cho mọi hình thái cấu trúc mạng:

  1. Đường dẫn dự phòng tính toán trước: Thiết bị tính toán trước lộ trình dự phòng sau hội tụ dựa trên thuật toán Dijkstra.
  2. Nhất quán sau hội tụ: Khác với LFA cổ điển (RFC 5286) thường thất bại khi nút láng giềng có thể lặp gói tin ngược lại, TI-LFA tính toán chính xác lộ trình mà lưu lượng sẽ đi qua sau khi IGP hội tụ xong.
  3. Đảo hướng bằng phân đoạn: Bộ định tuyến sử dụng các SID của SRv6 để bẻ hướng gói tin vòng qua liên kết bị đứt tới một nút an toàn (gọi là nút Q) có thể đến đích mà không bị vòng lặp.

Khi một cổng vật lý gặp sự cố, bo mạch phần cứng lập tức đóng gói các gói tin vào danh sách phân đoạn TI-LFA đã tính sẵn. Việc chuyển mạch diễn ra cục bộ trong phần cứng chỉ mất dưới 50 mili-giây, ngăn ngừa hoàn toàn tình trạng vòng lặp vi mô và giảm thiểu tối đa mất mát gói tin.

Ánh xạ dịch vụ SRv6: Đóng gói mạng phủ L3VPN và Anycast

RFC 9252 xác lập cách thức MP-BGP quảng bá các dịch vụ mạng riêng ảo phủ trên nền hạ tầng SRv6. Thay vì phân bổ nhãn MPLS 32-bit, các bản tin cập nhật BGP sẽ quảng bá các SID SRv6 đại diện cho các phiên mạng riêng ảo cụ thể:

  • End.DT4 / End.DT6: Cổng mạng nhận sẽ gỡ bỏ tiêu đề ngoài IPv6 và chuyển tiếp gói tin IPv4 hoặc IPv6 bên trong vào bảng định tuyến ảo hóa (VRF) được chỉ định.
  • End.DX4 / End.DX6: Gỡ bỏ tiêu đề và chuyển tiếp trực tiếp lưu lượng ra một giao diện kết nối khách hàng điểm-nối-điểm cụ thể.
  • Anycast SID: Một locator dùng chung được quảng bá từ nhiều trung tâm dữ liệu biên. Lưu lượng gửi tới một Anycast SID sẽ tự động kết thúc ở cổng mạng khỏe mạnh gần nhất về mặt topo mạng.

Cơ chế ánh xạ này giúp đơn giản hóa trục mạng đa người dùng, loại bỏ báo hiệu LDP trong khi vẫn bảo đảm cô lập lưu lượng an toàn.

Chi phí tiêu hao MTU và Micro-SID (uSID): Khắc phục phình to tiêu đề mở rộng IPv6

Mỗi SID 128-bit trong tiêu đề SRH làm tăng thêm 16 byte chi phí tiêu đề. Một chính sách đòi hỏi danh sách 4 phân đoạn sẽ tăng thêm 64 byte cho các SID cộng với 8 byte của tiêu đề cơ sở SRH, làm phình to gói tin thêm 72 byte.

Để tối ưu hóa băng thông truyền dẫn và ngăn ngừa phân mảnh MTU, các kỹ sư mạng áp dụng hai chiến lược chủ chốt:

  1. Sử dụng Micro-SID (uSID): Theo chuẩn nén SRH của IETF, uSID gom nhiều chỉ dẫn 16-bit hoặc 32-bit vào bên trong một khung địa chỉ IPv6 128-bit duy nhất. Một gói tin có thể mang tới 6 chỉ dẫn phân đoạn trong một địa chỉ tiêu chuẩn, giảm hơn 75% chi phí tiêu đề mở rộng.
  2. Kẹp biên tự động TCP MSS: Các cổng mạng tự động điều chỉnh giá trị Maximum Segment Size trong gói tin TCP SYN, bảo đảm gói tin của máy trạm không vượt quá ngưỡng Path MTU trên các tuyến truyền dẫn.

Cân nhắc bảo mật: Giới hạn miền tin cậy SRv6 tại biên mạng tiếp nhận

Bởi vì SRv6 mã hóa chỉ dẫn điều phối bên trong địa chỉ đích, các gói tin lạ từ bên ngoài chứa SID nội bộ có thể bị kẻ xấu lợi dụng để kích hoạt các chức năng mạng trái phép hoặc chuyển hướng lưu lượng.

RFC 8754 và RFC 8986 quy định nghiêm ngặt khái niệm Miền tin cậy SRv6 (SRv6 Trusted Domain): một vùng mạng khép kín và được kiểm soát, nơi các gói tin SRv6 được tạo lập, xác thực và xử lý.

Xác thực chữ ký HMAC và ngăn chặn can thiệp tiêu đề SRH

RFC 8754 Mục 2.1 cung cấp tùy chọn trường HMAC TLV bên trong tiêu đề SRH. Sử dụng các khóa mật mã chia sẻ trước, cổng mạng biên sẽ ký xác thực danh sách phân đoạn và địa chỉ nguồn IPv6:

  • Nút mạng đầu vào tạo mã HMAC bảo vệ chuỗi SID và các trường quan trọng trong tiêu đề.
  • Nút đầu ra hoặc điểm kiểm soát chính sách tiến hành xác minh chữ ký mật mã trước khi thực thi các chỉ dẫn nhạy cảm.
  • Các gói tin không đáng tin cậy có SID bị sửa đổi hoặc thiếu mã HMAC hợp lệ sẽ bị hủy ngay lập tức ở tốc độ phần cứng.

Lọc biên qua BCP 38 nhằm ngăn chặn tiêm SID từ bên ngoài

Tường lửa biên và các bộ định tuyến cửa ngõ phải áp dụng danh sách kiểm soát truy cập nghiêm ngặt:

  1. Lọc chiều vào: Hủy mọi gói tin từ các đối tác bên ngoài hoặc internet công cộng có chứa tiêu đề SRH hoặc nhắm tới các dải tiền tố locator nội bộ.
  2. Làm sạch chiều ra: Loại bỏ hoàn toàn tiêu đề SRH trước khi gói tin rời khỏi miền tin cậy để tránh rò rỉ cấu trúc mạng nội bộ.
  3. Chống giả mạo địa chỉ: Triển khai cơ chế lọc nguồn theo chuẩn BCP 38 / RFC 2827 để chặn các tác nhân bên ngoài giả mạo địa chỉ IP của các cổng mạng nội bộ.

Trục kết nối Anycast RiceGuard: Kỹ thuật lưới SRv6 có tính tất định cao

VPNRice vận hành mạng lưới kiến trúc RiceGuard Lớp 3 kết nối các điểm diện diện Anycast toàn cầu qua các nhà mạng Tier-1. Trong các hệ thống phân tán mật độ cao, sự cố gián đoạn kết nối của nhà cung cấp dịch vụ có thể làm đảo lộn đường truyền và ngắt quãng phiên làm việc.

Hạ tầng RiceGuard ứng dụng công nghệ SRv6 nguyên bản nhằm bảo đảm tính sẵn sàng cao và duy trì độ trễ thấp:

  • Bảo vệ bằng TI-LFA: Các bộ định tuyến trục triển khai cơ chế TI-LFA tự động, chuyển hướng các liên kết đứt sang đường cáp quang dự phòng trong vòng chưa đầy 35 mili-giây.
  • Điều phối lưu lượng phi trạng thái: RiceGuard linh hoạt chèn các micro-SID vào lưu lượng Anycast, dẫn luồng dữ liệu tránh các tuyến cáp nghẽn mà không cần duy trì trạng thái trên các thiết bị lõi.
  • Chuyển giao Anycast êm dịu: Các phiên kết nối chuyển đổi mượt mà giữa các nút Anycast trong thời gian bảo trì hệ thống thông qua các SID hạ tải chủ động.
  • Giám sát kết nối chủ động: Hệ thống viễn trắc đo đạc liên tục các giới hạn MTU và độ ổn định của đường truyền. Người dùng có thể kiểm tra trực tiếp trạng thái kết nối thông qua trang /what-is-my-ip.

Người dùng cần bảo vệ lưu lượng ổn định có thể cài đặt ứng dụng từ mục /download. Chi tiết về kỹ thuật triệt tiêu phân cực băm đa đường ECMP được phân tích trong /news/gre-in-udp-rfc-8086-geneve-ecmp-hash-polarization-vpn, và giải pháp duy trì tuyến Anycast khi khởi động lại BGP được trình bày tại /news/bgp-graceful-restart-rfc-4724-llgr-anycast-resilience.

Triển khai thực tiễn: Cấu hình đầu cuối SRv6 và đóng gói trên Linux

Nhân Linux hỗ trợ nguyên bản lập trình mạng SRv6 và đóng gói phân đoạn thông qua công cụ iproute2. Quản trị viên có thể cấu hình các hành vi SRv6 bằng các lệnh mạng tiêu chuẩn.

Kích hoạt chuyển tiếp IPv6 và tính năng Segment Routing:

Bật tính năng chuyển tiếp gói tin IPv6 và xử lý SRv6 trên Cổng mạng A:

# Bật tính năng chuyển tiếp IPv6 và kích hoạt phân đoạn định tuyến seg6
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.seg6_enabled=1
sysctl -w net.ipv6.conf.eth0.seg6_enabled=1

Cấu hình đóng gói SRv6 tại cổng mạng đầu vào:

Điều hướng lưu lượng đi ra theo chính sách SRv6 bằng cách đóng gói gói tin vào tiêu đề IPv6 kèm danh sách phân đoạn SRH:

# Đóng gói lưu lượng đi tới dải 10.100.0.0/16 theo lộ trình SRv6
ip -6 route add 10.100.0.0/16 encap seg6 mode encap     segs 2001:db8:beef:2::,2001:db8:acad:1::     dev eth0

Trong lệnh này, các gói tin đi ra sẽ được bọc trong tiêu đề IPv6 với phân đoạn đầu tiên là 2001:db8:acad:1:: và phân đoạn đích cuối cùng là 2001:db8:beef:2::.

Cấu hình giải mã End.DT4 tại cổng mạng đầu ra:

Tại Cổng mạng B, cấu hình điểm cuối locator để giải mã gói tin và chuyển tải trọng IPv4 vào bảng định tuyến ảo VRF:

# Gán hành vi End.DT4 cho SID locator để chuyển tiếp vào VRF
ip -6 route add 2001:db8:acad:1::/64 encap seg6local action End.DT4     vrftable 100     dev eth0

Kiểm tra trạng thái đường hầm SRv6 qua viễn trắc:

Kiểm tra các tuyến đường đóng gói SRv6 đang hoạt động:

ip -6 route show encap seg6
10.100.0.0/16  encap seg6 mode encap segs 2 [ 2001:db8:beef:2:: 2001:db8:acad:1:: ] dev eth0 metric 1024

Kiểm tra gói tin truyền dẫn thực tế bằng tcpdump để quan sát tiêu đề Segment Routing Header:

tcpdump -ni eth0 'ip6[6] == 43' -vv
07:18:22.410928 IP6 2001:db8:feed:1:: > 2001:db8:acad:1::: HBH, routing (type 4, segleft 1, [2] 2001:db8:beef:2::, [1] 2001:db8:acad:1::)

Dữ liệu viễn trắc xác nhận gói tin mang tiêu đề SRH với chuỗi phân đoạn đang dịch chuyển chính xác, thực thi quá trình định tuyến nguồn tất định trên hạ tầng truyền dẫn.