Banner chính
Thứ Sáu, 19/04/2024
Liên hiệp hội khoa học và kỹ thuật Ninh Bình

Nghiên cứu tối ưu hóa giao thức lưu lượng truy cập lớp ứng dụng (ALTO) - Application-Layer Traffic Optimization (ALTO) Protocol

Thứ Hai, 11/04/2022

Đúng như tên gọi đầy đủ của giao thức, ALTO hay giao thức tối ưu hóa lưu lượng truy cập lớp ứng dụng giải quyết với mục tiêu sửa đổi các mẫu tiêu thụ tài nguyên mạng trong khi duy trì hoặc cải thiện hiệu suất ứng dụng. Trên thực tế, các ứng dụng sử dụng Internet đã có quyền truy cập vào một số thông tin cấu trúc liên kết của mạng Nhà cung cấp dịch vụ Internet (ISP). Điều còn thiếu là kiến thức về cấu trúc liên kết mạng cơ bản theo quan điểm của các ISP. Nói cách khác, ISP thích gì hơn về mặt tối ưu hóa lưu lượng - và cách phân phối nó.

Các dịch vụ mà được tối ưu hóa lưu lượng lớp ứng dụng (ALTO) được xác định trong cấu trúc vị trí và tùy chọn theo từng đường dẫn mạng. Thông tin cơ bản của ALTO dựa trên các bản đồ trừu tượng của mạng. Các bản đồ này cung cấp một chế độ xem đơn giản nhưng vẫn đủ thông tin về mạng để các ứng dụng sử dụng chúng một cách hiệu quả. Các dịch vụ bổ sung được xây dựng trên bản đồ.

Bài viết này mô tả một giao thức triển khai các dịch vụ ALTO. Mặc dù các dịch vụ ALTO chủ yếu sẽ được cung cấp bởi các ISP cùng các dịch vụ khác. Các ứng dụng có thể sử dụng dịch vụ ALTO là những ứng dụng sử dụng mạng ngang hàng (P2P) và mạng phân phối nội dung.

Bài viết dựa trên tài liệu mở của tổ chức Internet Engineering Task Force (IETF) - Nhóm chuyên trách kỹ thuật Internet phát hành. Nhóm xây dựng giao thức chính gồm R. Alimi làm việc cho Google, R. Penno, S. Previdi làm việc cho Cisco Systems, Y. Yang tại đại học Yale, S. Kiesel tại đại học của Stuttgart, W. Roome làm việc tại Alcatel-Lucent, S. Shalunov tại Open Garden và R. Woundy tại Comcast. Bản thảo hoàn chỉnh cuối cùng được hoàn thiện vào tháng 9 năm 2014.

I. NỘI DUNG CHÍNH

1. Vấn đề tồn tại

Tài liệu về giao thức ALTO cung cấp giải pháp cho vấn đề được nêu trong “các vấn đề về tối ưu hóa ALTO [RFC5693]. Cụ thể, trong các mạng ngày nay, thông tin mạng như cấu trúc liên kết mạng, tính khả dụng của liên kết, chính sách định tuyến và chi phí đường dẫn đều bị ẩn khỏi lớp ứng dụng và nhiều ứng dụng được hưởng lợi từ việc che giấu độ phức tạp của mạng. Tuy nhiên, các ứng dụng mới, chẳng hạn như lớp phủ hay lớp ứng dụng có thể được hưởng lợi từ thông tin về cơ sở hạ tầng mạng bên dưới. Đặc biệt, các ứng dụng mạng mới này có thể thích ứng. Do đó, chúng có thể trở nên hiệu quả hơn về mạng (ví dụ: giảm mức tiêu thụ tài nguyên mạng) và đạt được hiệu suất ứng dụng tốt hơn (ví dụ: tốc độ tải xuống nhanh hơn), bằng cách tận dụng thông tin do mạng cung cấp.

Ở cấp độ cao, Giao thức ALTO được chỉ định trong là giao diện xuất thông tin cho phép mạng cung cấp thông tin mạng của nó như vị trí mạng, chi phí giữa chúng ở mức độ chi tiết có thể định cấu hình và thuộc tính máy chủ cuối cho các ứng dụng mạng. Thông tin được xuất bản bởi giao thức ALTO sẽ mang lại lợi ích cho cả mạng và ứng dụng (tức là người tiêu dùng thông tin). Nhà điều hành mạng hoặc bên thứ ba (ví dụ: người tổng hợp thông tin) có thể truy xuất hoặc lấy thông tin liên quan của mạng và xuất bản thông tin đó bằng giao thức ALTO.

Để hiểu rõ hơn về mục tiêu của Giao thức ALTO, một cái nhìn tổng quan ngắn gọn, không mang tính quy chuẩn về lợi ích của ALTO đối với cả mạng và ứng dụng là như sau:

- Một mạng cung cấp thông tin ALTO có thể sử dụng tốt hơn cơ sở hạ tầng mạng của chính nó. Ví dụ: bằng cách sử dụng ALTO làm công cụ để tương tác với các ứng dụng, một mạng có thể cung cấp thông tin về mạng của nó cho các ứng dụng để các ứng dụng có thể quản lý tốt hơn lưu lượng truy cập trên các liên kết đắt tiền hơn hoặc khó cung cấp hơn như đường dài, chuyển tuyến, hoặc các liên kết dự phòng. Trong quá trình tương tác, mạng có thể chọn bảo vệ thông tin trạng thái mạng nhạy cảm và bí mật của mình, bằng cách mã hóa các giá trị số liệu thực thành điểm số không thực hoặc xếp hạng theo thứ tự.

- Ứng dụng sử dụng thông tin ALTO có thể được hưởng lợi từ kiến ​​thức tốt hơn về mạng để tránh tắc nghẽn mạng. Ví dụ: một ứng dụng lớp bao phủ có thể sử dụng thông tin do các dịch vụ ALTO cung cấp để tránh chọn các ứng dụng ngang hàng được kết nối qua các liên kết có độ trễ cao (ví dụ: một số liên kết xuyên lục địa). Sử dụng ALTO cũng để khởi tạo mỗi nút với các “đồng nghiệp” đầy hứa hẹn ("tốt hơn là ngẫu nhiên"), lớp phủ ngang hàng thích ứng có thể đạt được sự “hội tụ” hay giá trị tốt nhất mà nhanh hơn, tốt hơn.

2. Tổng quan thiết kế

Giao thức ALTO trong tài liệu này đáp ứng các yêu cầu ALTO được chỉ định trong báo cáo các vấn đề của ALTO [RFC5693] và thống nhất nhiều giao thức được thiết kế trước đó với mục đích tương tự.

Giao thức ALTO sử dụng thiết kế REST-ful (Truyền trạng thái đại diện (REST)) [Fielding-Thesis] và mã hóa các yêu cầu và phản hồi của nó bằng JSON [RFC7159]. Những thiết kế này được lựa chọn vì tính linh hoạt và khả năng mở rộng của chúng. Ngoài ra, những thiết kế này giúp ALTO có thể được triển khai trên quy mô lớn bằng cách tận dụng các triển khai HTTP [RFC7230] hiện có, cơ sở hạ tầng và kinh nghiệm triển khai.

Giao thức ALTO sử dụng thiết kế mô-đun bằng cách chia ấn phẩm thông tin ALTO thành nhiều dịch vụ ALTO (ví dụ: dịch vụ Bản đồ, dịch vụ lọc bản đồ, Dịch vụ thuộc tính điểm cuối và Dịch vụ chi phí điểm cuối). Mỗi dịch vụ ALTO cung cấp một tập hợp các chức năng nhất định và được thực hiện bởi một tập hợp các tài nguyên thông tin, được công bố bởi các thư mục tài nguyên thông tin, để hướng dẫn các máy chủ ALTO.

3. Dịch vụ ALTO và triển vọng của giao thức

Mỗi vùng mạng trong Internet toàn cầu có thể cung cấp các dịch vụ ALTO của mình, các dịch vụ này truyền tải thông tin mạng theo quan điểm của vùng mạng đó. Một vùng mạng trong ngữ cảnh này có thể là Hệ thống tự trị (AS), ISP, một vùng nhỏ hơn AS hoặc ISP hoặc một tập hợp các ISP. Vùng mạng cụ thể mà dịch vụ ALTO đại diện sẽ phụ thuộc vào kịch bản triển khai ALTO và cơ chế khám phá dịch vụ ALTO.

Các dịch vụ ALTO được chỉ định trong giao thức xác định các điểm cuối mạng (tổng hợp của chúng) và chi phí chung giữa chúng theo quan điểm của khu vực. Các điểm cuối của mạng có thể bao gồm tất cả các điểm cuối trong Internet toàn cầu.
"My-Internet view" được định nghĩa trong tài liệu này không chỉ định cấu trúc liên kết bên trong của mạng và do đó, nó được cho là cung cấp cấu trúc liên kết trừu tượng "một nút". Các tiện ích mở rộng cho tài liệu này có thể cung cấp chi tiết cấu trúc liên kết trong "my-Internet view".

Hình 1 dưới đây cung cấp bức tranh tổng thể về kiến ​​trúc hệ thống của ALTO, để người ta có thể hiểu rõ hơn về các dịch vụ ALTO và vai trò của giao thức ALTO. Trong kiến ​​trúc này, máy chủ ALTO chuẩn bị thông tin ALTO, máy chủ ALTO sử dụng khám phá dịch vụ ALTO để xác định máy chủ ALTO thích hợp và máy khách ALTO yêu cầu thông tin ALTO có sẵn từ máy chủ ALTO bằng giao thức ALTO.

Thông tin ALTO do máy chủ ALTO cung cấp có thể được cập nhật động dựa trên điều kiện mạng hoặc chúng có thể được xem như một chính sách được cập nhật trên quy mô thời gian dài hơn.

Hình 1 đã minh họa rằng thông tin ALTO do máy chủ ALTO cung cấp có thể bị ảnh hưởng (theo quyết định của nhà cung cấp dịch vụ) bởi các hệ thống khác. Đặc biệt, máy chủ ALTO có thể tổng hợp thông tin từ nhiều hệ thống để cung cấp một cái nhìn trừu tượng và thống nhất có thể hữu ích hơn cho các ứng dụng. Ví dụ về các hệ thống khác bao gồm (nhưng không giới hạn số lượng hệ thống hay bắt buộc phải có) cơ sở dữ liệu cấu hình mạng tĩnh, thông tin mạng động, giao thức định tuyến, chính sách cấp phép và giao diện với các bên bên ngoài. Các thành phần này được thể hiện trong hình để biết tính hoàn chỉnh nhưng nằm ngoài phạm vi của đặc điểm kỹ thuật này. Nhớ lại rằng mặc dù Giao thức ALTO có thể truyền tải thông tin mạng động, nhưng nó không nhằm thay thế các giao thức kiểm soát tắc nghẽn gần thời gian thực.

4. Khung thông tin dịch vụ ALTO

Giao thức ALTO truyền tải thông tin mạng thông qua các dịch vụ thông tin ALTO (gọi tắt là dịch vụ), trong đó mỗi dịch vụ xác định một tập hợp các chức năng liên quan. Một khách hàng ALTO có thể yêu cầu từng dịch vụ riêng lẻ. Tất cả các dịch vụ được định nghĩa trong ALTO được cho là tạo thành khuôn khổ dịch vụ ALTO và được cung cấp thông qua một giao thức vận tải chung; cấu trúc và mã hóa tin nhắn; và mô hình giao dịch. Các chức năng được cung cấp trong các dịch vụ khác nhau có thể trùng lặp.

- Vị trí mạng, biểu thị vị trí của các điểm cuối trong một mạng.

- Chi phí do nhà cung cấp xác định cho các đường dẫn giữa các cặp vị trí mạng

- Mạng các thuộc tính liên quan của điểm cuối.

Các mục tiêu nói trên đạt được bằng cách xác định Dịch vụ bản đồ, cung cấp thông tin ALTO cốt lõi cho khách hàng và ba dịch vụ thông tin bổ sung: Dịch vụ lọc bản đồ, Dịch vụ thuộc tính điểm cuối (EPS) và Dịch vụ chi phí điểm cuối (ECS). Các dịch vụ thông tin bổ sung có thể được định nghĩa trong các tài liệu đi kèm. Hình 2 giới thiệu tổng quan về các dịch vụ thông tin.

Hình 2: Tổng quan khung thông tin dịch vụ của ALTO

Thông tin chi tiết các thành phần của khung thông tin dịch vụ ALTO gồm:

- Bản đồ các dịch vụ: cung cấp thông tin hàng loạt cho máy chủ của khách hàng ALTO dưới dạng bản đồ mạng ALTO (gọi tắt là bản đồ mạng) và bản đồ chi phí ALTO (gọi tắt là bản đồ chi phí). Bản đồ mạng ALTO cung cấp một tập hợp đầy đủ các nhóm vị trí mạng được xác định bởi máy chủ ALTO và các điểm cuối có trong mỗi nhóm. Bản đồ chi phí ALTO cung cấp chi phí giữa các nhóm đã xác định.

Hai bản đồ này đã được triển khai và có thể được coi như các tệp đơn giản với mã hóa thích hợp do máy chủ ALTO cung cấp.

- Bản đồ lọc tổng hợp dịch vụ: lọc kết quả truy vấn tại máy chủ ALTO. Điều này tránh trường hợp máy chủ của khách ALTO đầu tiên dành băng thông mạng và chu kỳ CPU để thu thập kết quả và sau đó thực hiện lọc phía máy khách. Dịch vụ lọc bản đồ cho phép khách hàng ALTO truy vấn máy chủ ALTO trên bản đồ mạng ALTO và/hoặc bản đồ chi phí dựa trên các tham số bổ sung.

- Thuộc tính các dịch vụ tại điểm cuối truy cập: Dịch vụ này cho phép khách hàng ALTO tra cứu các thuộc tính cho các điểm cuối riêng lẻ. Một thuộc tính mẫu của một điểm cuối là vị trí mạng của nó (tức là nhóm của nó được xác định bởi máy chủ ALTO). Một thuộc tính ví dụ khác là kiểu kết nối của nó như ADSL (Đường dây thuê bao kỹ thuật số không đối xứng), Cáp hoặc FTTH (Cáp quang đến nhà).

- Giá các dịch vụ tại điểm cuối truy cập: Một số máy chủ của khách hàng của ALTO cũng có thể hưởng lợi từ việc truy vấn chi phí và xếp hạng dựa trên điểm cuối truy cập. Dịch vụ chi phí truy cập tại điểm cuối cho phép máy chủ ALTO trả lại chi phí trực tiếp giữa các điểm cuối.

- Bản đồ mạng: Bản đồ mạng ALTO xác định một nhóm các điểm cuối mạng và không thảo luận về biểu diễn bên trong của cấu trúc dữ liệu này trong máy chủ ALTO.

Định nghĩa của bản đồ mạng ALTO dựa trên quan sát rằng, trong thực tế, nhiều điểm cuối gần nhau về kết nối mạng. Bằng cách coi một nhóm các điểm cuối lân cận cùng nhau như một thực thể duy nhất, máy chủ ALTO cho biết tổng hợp các điểm cuối này do sự gần gũi của chúng. Sự tổng hợp này cũng có thể dẫn đến khả năng mở rộng lớn hơn mà không làm mất thông tin quan trọng khi truyền tải thông tin mạng khác (ví dụ: khi xác định bản đồ chi phí).

- Bản đồ giá dịch vụ (bản đồ chi phí): Máy chủ ALTO cho biết các tùy chọn giữa các vị trí mạng dưới dạng chi phí đường dẫn. Chi phí đường dẫn là chi phí chung và có thể được nhà cung cấp mạng tính toán nội bộ theo chính sách riêng của họ.

Đối với một bản đồ mạng ALTO nhất định, bản đồ chi phí ALTO xác định chi phí đường dẫn theo từng cặp giữa tập hợp các vị trí mạng nguồn và đích được xác định bởi PID có trong bản đồ mạng. Mỗi chi phí đường dẫn là chi phí đầu cuối khi một đơn vị lưu lượng truy cập đi từ nguồn đến đích.

Vì chi phí được định hướng từ nguồn đến đích nên ứng dụng, khi sử dụng thông tin ALTO, có thể xác định độc lập cách người tiêu dùng tài nguyên và nhà cung cấp tài nguyên được chỉ định là nguồn hoặc đích trong truy vấn ALTO và do đó, cách sử dụng chi phí đường dẫn do ALTO cung cấp thông tin. Ví dụ: nếu chi phí dự kiến ​​tương quan với thông lượng, một ứng dụng điển hình liên quan đến truy xuất dữ liệu hàng loạt có thể sử dụng nhà cung cấp tài nguyên làm nguồn và người tiêu dùng tài nguyên làm đích.

Một lợi thế của việc tách thông tin ALTO thành bản đồ mạng và bản đồ chi phí là hai loại bản đồ có thể được cập nhật ở các tỷ lệ thời gian khác nhau. Ví dụ: bản đồ mạng có thể ổn định trong thời gian dài hơn trong khi bản đồ chi phí có thể được cập nhật để phản ánh các điều kiện mạng năng động hơn.

Như được sử dụng trong tài liệu này, bản đồ chi phí ALTO đề cập đến cú pháp và ngữ nghĩa của thông tin được phân phối bởi máy chủ ALTO. Tài liệu này không thảo luận về biểu diễn nội bộ của cấu trúc dữ liệu này trong máy chủ ALTO.

II. Kết luận

Đây là công trình đầu tiên khám phá việc sử dụng dữ liệu định tuyến giữa các miền có sẵn công khai tại ISP để tạo cấu trúc liên kết trừu tượng và bản đồ chi phí theo giao thức IETF ALTO được chuẩn hóa. Việc xây dựng giao thức xác thực tiềm năng của các ứng dụng (ví dụ: máy chủ P2P hoặc bộ theo dõi, CDN, bộ điều khiển SDN) dung nạp nhận thức về mạng do máy chủ ALTO cung cấp để tối ưu hóa việc ra quyết định của người dùng. Đồng thời nó liên quan đến việc lựa chọn điểm cuối IP mang lại trải nghiệm người dùng tốt hơn.

Có thể coi là “ALTO-as-a-Service” không có giới hạn và có một số lượng lớn công việc tương lai đầy thách thức. Điều quan trọng cần nhấn mạnh là mặc dù giao thức ALTO có thể cung cấp thông tin mạng động, nhưng nó không nhằm thay thế các giao thức kiểm soát tắc nghẽn gần thời gian thực. Ngoài ra, các giải pháp cho các vấn đề tiềm ẩn về bão hòa tài nguyên đang được coi là các hoạt động công việc cơ bản, chẳng hạn như các máy chủ ALTO trả lời các phiên bản bản đồ đã chọn theo vòng tròn để có các đường dẫn chi phí ngang nhau nhằm giảm cơ hội nhiều máy chủ cùng chọn các điểm đến tốt nhất cùng một lúc./.

Thành  Phúc

Các tin khác