Kỹ thuật định tuyến phân đoạn IPv6 trong mạng 5G

Trong thời gian gần đây, 5G trở thành một chủ đề thu hút được sự quan tâm của nhiều người. Mặc dù đã có những bước tiến và thành công đáng kể trong các nghiên cứu liên quan đến thế hệ mạng này, tuy nhiên vẫn đang trong quá trình xây dựng các tiêu chuẩn và thử nghiệm tại một số quốc gia trên thế giới. Công nghệ mạng truyền thông không dây thế hệ thứ năm, được gọi là 5G, với hiệu suất cao hơn đang được phát triển và hứa hẹn sẽ mang đến những trải nghiệm chưa từng có.

Để cung cấp các trải nghiệm 5G, các nhà cung cấp dịch vụ (ISP) phải xem xét lựa chọn công nghệ nhằm xây dựng một hạ tầng mạng đáp ứng được các yêu cầu cho các ứng dụng di động thế hệ 5. Các nhà mạng viễn thông sẽ phải tiến hành nâng cấp cơ sở hạ tầng kết nối để đáp ứng nhu cầu hoặc tối ưu hóa dữ liệu, băng thông và lưu lượng truy cập thông qua các cơ sở hạ tầng hiện có. Hai giải pháp công nghệ đi kèm trên hạ tầng mạng đó là định tuyến phân đoạn IPv6 (SRv6 - Segment Routing over IPv6) và ghép kênh phân chia bước sóng dày (DWDM). Bài viết tập trung mô tả kỹ thuật SRv6 – một trong các giải pháp giúp quản lý và tối ưu hóa việc trao đổi thông tin giữa các thuê bao di động.

Tổng quan về  định tuyến phân đoạn

Định tuyến phân đoạn (Segment Routing) là một phương thức chuyển tiếp gói tin trên mạng dựa trên mô hình định tuyến nguồn (Source Routing). Sử dụng kỹ thuật này, việc xác định đường đi của dữ liệu được thực hiện trước, sau đó mới diễn ra quá trình chuyển dữ liệu đi. Đường đi (path) từ nguồn đến đích được mã hóa và chia nhỏ thành các phân đoạn (segment), sau đó được chèn vào trong gói dữ liệu để gửi đi. Thông tin chứa trong các segment này phục vụ cho mục đích dẫn đường khi qua mỗi chặng (hop).

Các segment được xếp chồng lên nhau tạo thành ngăn xếp (stack) và lưu tại vị trí đầu tiên của mào đầu gói (packet header). Tất cả các segment đều được đánh số và giá trị này được sử dụng để định danh cho hop cần đẩy gói tin đến. Có hai loại giá trị cần quan tâm, đó là :

  • Adjacency segment ID: Là giá trị định danh cho thiết bị, không mang tính duy nhất, sử dụng trên link kết nối giữa hai thiết bị, sử dụng phạm vi nội bộ.
  • Node segment ID: Là giá trị định danh cho thiết bị và có ý nghĩa global, mang tính duy nhất và sử dụng cho phạm vi toàn mạng.

Trên đường đi từ nguồn đến đích, tại mỗi chặng, segment trên cùng (top segment) được sử dụng để tham chiếu với mục đích xác định hop kế tiếp. Khi một node nhận được gói tin, kiểm tra phần packet header và đọc số ghi trên segment, có hai trường hợp sẽ xảy ra :

  • Nếu giá trị này trùng với giá trị định danh của node, node sẽ gỡ bỏ segment này khỏi packet header và thực hiện hành động được yêu cầu có trong segment tiếp theo.
  • Ngược lại, nếu giá trị này không phải là định danh của node, node sẽ chuyển tiếp gói tin đến hop được định danh bởi giá trị này.

Định tuyến phân đoạn được sử dụng kết hợp với các giao thức như IS-IS, OSPF để tăng hiệu suất truyền tải gói tin trên mạng. Đặc biệt, trong mạng MPLS, việc áp dụng kỹ thuật này giúp cải thiện chất lượng dịch vụ rất nhiều, chẳng hạn như thực thi các kỹ thuật điều khiển lưu lượng (traffic engineering).

 

Hình 1. Định tuyến phân đoạn

Giả sử như chúng ta muốn gửi dữ liệu từ A đến Z, loại dữ liệu là thoại. Khi đó dữ liệu nên được truyền tải qua tuyến có độ trễ thấp (A-E-F-G-Z). Thứ tự segment trong stack tại A sẽ (100, 200, 300, 400), các giá trị của segment trong stack chính là node segment ID của các thiết bị tham gia trong mạng. Tại mỗi chặng, các segment sẽ được gỡ bỏ dần và gói tin cứ theo thứ tự đó sẽ đến đích theo mong muốn. Như trong hình 1, segment ID của các node E, F, G, Z lần lượt là 100, 200, 300 và 400. Đầu tiên A gửi gói tin đến C, C nhận được, kiểm tra phần header của gói tin – stack chứa 1 danh sách các ID, C nhận thấy ID đầu tiên trong stack là ID của chính nó (ID = 100), tiến hành gỡ bỏ segment ID này và đọc ID tiếp theo, ID tiếp theo có giá trị là 200 nên E gửi gói tin đến F. Tại F, G và Z hành động kiểm tra header và các công việc được thực hiện tương tự như tại E cho đến khi gói tin đến đích. Việc định hình đường đi từ nguồn đến đích có thể điều khiển được thông qua việc điều chỉnh header trong gói tin gửi đi. Công việc này có thể thực hiện được thông qua API . Từ đó có thể thấy rằng, nếu áp dụng SDN, API sẽ thực hiện việc phân tích băng thông và chọn đường đi tối ưu nhất.

Định tuyến phân đoạn trong hạ tầng mạng IPv6 – SRv6

Định tuyến phân đoạn trên IPv6 (SRv6) là kỹ thuật triển khai công nghệ định tuyến phân đoạn trên một hạ tầng mạng sử dụng IPv6. Đường đi từ nguồn đến đích được phân chia thành các segment, các segment này sẽ được mã hóa và chèn vào trong IPv6 header của gói tin gửi đi. Trên đường đi từ nguồn đến đích, qua mỗi chặng, thiết bị định tuyến sẽ kiểm tra phần IPv6 header, bóc tách và phân tích segment nhận được, từ đó đưa ra quyết định chuyển tiếp lưu lượng hợp lý nhất (bao gồm việc chuyển tiếp gói đến tuyến nào hay gửi gói tới giao diện  nào...).

Trong một gói tin IPv6, ngoài các mào đầu và PDU còn có phần mào đầu mở rộng (extension header). Có tổng cộng 6 loại mào đầu mở rộng (hop-by-hop, routing, fragment, destination, authentication, encapsulating security payload). Trong đó mào đầu định tuyến (routing header) “chứa thông tin về các node trung gian trên đường đi của gói tin từ nguồn đến đích - theo định nghĩa RFC 2460”.

Hình 2 là ví dụ về sự thay đổi nội dung trong mào đầu định tuyến khi gói tin IPv6 được gửi đi trong mạng.

 

Hình 2. Định tuyến phân đoạn trên IPv6

Trong quá trình gói tin đi từ nguồn (2001:7a:78d::1) đến đích (2001:7a:78d::51), con trỏ dẫn đường lần lượt dịch chuyển vị trí qua ngăn xếp trong mào đầu định tuyến. Trong đó, mỗi tầng của ngăn xếp chính lần lượt là địa chỉ IPv6 của các node trên đường đi của gói tin... Từ đó có thể thấy được rằng nếu ta thay đổi nội dung của mào đầu định tuyến trong 1 gói tin IPv6 một cách có chủ đích, lưu lượng từ nguồn đến đích có thể được điều hướng theo cách mà ta mong muốn.

Như vậy, so với IPv4, nhờ có thêm phần mào đầu mở rộng trong gói, việc triển khai định tuyến phân đoạn IPv6 trở nên đơn giản hơn rất nhiều. Hình 3 minh họa việc ứng dụng SRv6 để điều hướng lưu lượng trong định tuyến multicast .

IP Multicast là một sự thay thế tốt cho quá trình truyền unicast khi mà nhu cầu cần chuyển thông tin đến nhiều đối tượng trong cùng một thời điểm. Như trong hình vẽ bên dưới, khi có nhu cầu chuyển tải thông tin từ A đến một danh sách các đối tượng C:1, C:3, C:5 tại cùng một thời điểm. Dữ liệu từ A, sau khi nhận được tại B sẽ tiến hành nhân bản thành hai gói tin giống nhau nhưng được chèn các header khác nhau, phục vụ cho việc gửi dữ liệu đến tập đối tượng mong muốn nhưng theo hai hướng. Hướng thứ nhất xuất phát từ B:1, đi qua B:2 và B:4 đến hai khách hàng C:1 và C:3. Hướng thứ hai xuất phát từ B:1, đi qua B:3 và B:5 đến C:5. Hai segment routing header được hình thành tại B:1, căn cứ theo header được chèn vào, dữ liệu được truyền tải theo hai hướng tối ưu nhất.

 

Hình 3. Ứng dụng định tuyến phân đoạn IPv6 cho kỹ thuật multicast

SRv6 và tương lai mạng 5G

Năm 2018 sẽ là thời điểm mạng 5G được đưa vào sử dụng, các nghiên cứu, thử nghiệm vẫn đang tiếp tục được thực hiện để hoàn thiện phiên bản 5G, trong đó mối liên hệ giữa công nghệ di động và mạng IP được quan tâm đặc biệt.

Hiện tại, việc quản lý các thuê bao di động được thực hiện nhờ vào GTP ( GPRS Tunneling Protocol) gồm hai thành phần: mặt phẳng điều khiển dữ liệu - control plane và và mặt phẳng dữ liệu- data plane. Trong đó control plane là hệ thống phức tạp và đóng vai trò quan trọng, có chức năng xử lý các yêu cầu giữa các thuê bao di động với nhau. Trong Control plane có mặt phẳng người sử dụng (user plane) làm nhiệm vụ hỗ trợ cho control plane, chúng được định nghĩa là một giao thức tạo đường hầm ảo, hiểu đơn giản là lúc này control plane không cần giao tiếp với mạng bên dưới (underlay).

Mỗi loại ứng dụng trong 5G đưa ra một yêu cầu đặc biệt (về băng thông kết nối, độ trễ…) đối với lớp mạng underlay, dẫn đến nhu cầu cần phân chia mạng underlay thành các lớp, mỗi lớp có một đặc điểm riêng biệt như Hình 4.  Mô hình này gồm nhiều lớp trong đó lớp trên cùng sử dụng eMBB, phục vụ nhu cầu trao đổi thông tin cho các smartphone, lớp thứ hai phục vụ nhu cầu trao đổi dữ liệu dạng D2D (device to device) - uRLLC được khai thác sử dụng tại lớp này, mMTC được triển khai tại lớp thứ ba nhằm đáp ứng nhu cầu trao đổi dữ liệu massive IoT, các lớp còn lại phục vụ cho các nhu cầu trao đổi khác giữa các thiết bị di động. Vấn đề này có thể giải quyết được bằng cách sử dụng ảo hóa, tuy nhiên việc triển khai ảo hóa tương đối phức tạp.

https://blog.apnic.net/wp-content/uploads/2018/02/5G_Img2.png

Hình 4. Mô hình lát cắt mạng

Thay vì ảo hóa, data plane trong 5G nên được xây dựng theo mô hình chức năng lắp ghép (pluggable-function), gồm nhiều module, mỗi module thực hiện một chức năng khác nhau, phục vụ các nhu cầu khác nhau của từng loại ứng dụng di động

 

https://blog.apnic.net/wp-content/uploads/2018/02/5G_Img3.png

Hình 5. Kiến trúc 3GPP – 5G

Kiến trúc 3GPP-5G gồm các module NEF, NRF, PCF… Mỗi module đóng một vai trò khác nhau. Chẳng hạn PCF thực hiện chức năng tạo các chính sách điều khiển cho việc trao đổi dữ liệu, AUSF phục vụ cho quá trình xác thực, hay việc quản lý phiên được thực hiện nhờ vào module SMF… Các module này tương tác với nhau thông qua các đường kết nối sử dụng Nnef, Nnrf… Có thể thấy rằng, khi áp dụng mô hình này, việc khai thác control plane và data plane trở nên linh hoạt hơn.

Để có thể triển khai kiến trúc 3GPP-5G dạng module, có hai yêu cầu đặt ra : Một là sử dụng control plane để điều hướng dữ liệu, hai là xây dựng data plane kiểu mới, thay thế GTP. Tuy nhiên việc triển khai giải pháp đầu tiên tương đối phức tạp, phương pháp xây dựng data plane kiểu mới phục vụ cho mạng 5G đang được xem là giải pháp tiềm năng

So sánh mô hình sử dụng GTP user plane và mô hình sử dụng SRv6 user plane được chỉ ra trong hình 6.

https://blog.apnic.net/wp-content/uploads/2018/02/5G_Img5.png

Hình 6. So sánh giữa hai mô hình sử dụng GTP user plane và SRv6 user plane

Trong trường hợp sử dụng GTP-U, số lượng phiên gia tăng nhiều hơn so với trường hợp sử dụng SRv6. Việc áp dụng SRv6 user-plane giảm số lượng phiên qua các node trung gian bằng cách sử dụng IPv6 SIDs (Segment ID). SMF khai thác tính năng SID để xây dựng chương trình định hướng dữ liệu và xử lý các phiên theo các yêu cầu khác nhau của từng loại ứng dụng.

Có thể thấy rằng mặt phẳng người sử dụng di động (mobile user plane) sử dụng SRv6 đơn giản hơn so với sử dụng GTP. Hiện nay, việc nghiên cứu mobile user plane thỏa mãn được các yêu cầu của mạng 5G, đồng thời đảm bảo tính đơn giản, vẫn đang được thực hiện. Tuy nhiên có thể thấy được SRv6 là một kỹ thuật tiềm năng có thể đáp ứng được đầu đủ các yêu cầu này.

Tác giả: Võ Văn Đông

Tài liệu tham khảo

[1] https://www.commsmea.com/17851-preparing-service-providers-for-the-5g-era

[2] https://tools.ietf.org/html/draft-ietf-6man-segment-routing-header-10

[3] https://datatracker.ietf.org/meeting/100/materials/slides-100-dmm-srv6-for-mobile-user-plane/

Bài viết cùng danh mục