Nếu ta có thể khiến cho client kết nối với server thay thế và thiết lập một hệ thống mà trong đó các server thay thế có thể đáp ứng một phần lớn các yêu cầu từ client, ta có thể tránh được phần tắc nghẽn trong mạng và giảm thiểu thời gian đáp ứng của mạng. Tuy nhiên, mỗi server chỉ tốt với một số client chứ không phải là tất cả. Do vậy, có thể đáp ứng tất cả các client trong mạng, ta sẽ cần không chỉ một mà phải nhiều server sao lưu như hình minh họa ở 2.5, mô tả ba nhóm client, mỗi nhóm lại được kết nối với một server sao lưu khác nhau. Server gốc có thể được sử dụng để đáp ứng nhu cầu của các client còn lại.
Hình 2.5: Cấu hình một mạng CDN đặc trƣng
Hình 2.5 minh họa một mạng CDN đặc trưng. Mạng CDN bao gồm nhiều nút thay thế được đặt tại các vị trí thích hợp để mỗi client có thể kết nối một cách tốt nhất tới một hay nhiều nút thay thế. Mỗi client sẽ được kết nối tới một nút thay thế này và tốc độ kết nối sẽ được đảm bảo ngay cả khi tuyến kết nối giữa client và server gốc bị nghẽn. Mỗi nút thay thế có thể gồm một hay nhiều server sao lưu. Các cách tiếp cận này giảm thiểu khả năng nghẽn mạng và nâng cao chất lượng dịch vụ của mạng. Một lợi ích nữa của CDN là khả năng xử lý của các server sao lưu sẽ bổ sung cho khả năng của server gốc, và do vậy, hệ thống có thể đáp ứng yêu cầu của nhiều client hơn là nếu chỉ có server gốc. Như vậy, CDN có thể cải thiện một cách đáng kể khả năng mở rộng của bất cứ ứng dụng nào.
Điều hành một mạng CDN không dễ dàng đối với nhà cung cấp nội dung, do các nhà cung cấp nội dung muốn tập trung các tài nguyên của nó để phát triển nội dung giá trị cao, không quản lý cơ sở hạ tầng mạng. Vì vậy, có nhiều kiểu sắp xếp để nhà cung cấp dịch vụ mạng xây dựng và điều hành mạng CDN của họ, tạo ra các dịch vụ phân phối nội dung cho một số nhà cung cấp nội dung.
CDN cho phép nhà cung cấp dịch vụ hoạt động thay mặt nhà cung cấp nội dung để phân phát các bản sao nội dung của server gốc tới khách hàng từ nhiều vị trí khác nhau. Việc tăng số lượng và tính đa dạng của vị trí được chú ý để cải thiện thời gian tải tin và do đó cải thiện được hành trình mà người sử dụng phải đi qua. CDN là sự kết hợp của cơ sở hạ tầng định tuyến yêu cầu, cơ sở hạ tầng phân phát nội dung, cơ sở hạ tầng phân phối, cơ sở hạ tầng định tuyến yêu cầu, và cơ sở hạ tầng tính cước. Cơ sở hạ tầng phân phát nội dung bao gồm tập các server sao lưu, phân phát bản sao nội dung tới khách hàng. Cơ sở
hạ tầng định tuyến yêu cầu bao gồm các thiết bị kỹ thuật quyết định di chuyển khách hàng tới server sao lưu. Cơ sở hạ tầng phân phối bao gồm các thiết bị di chuyển nội dung từ server nguồn tới các server sao lưu. Cuối cùng, cơ sở hạ tầng tính cước theo dõi và thu thập dữ liệu định tuyến, phân phối và phân phát trong một CDN. Hình sau mô tả trình tự đáp ứng nội dung đơn giản của mạng CDN.
Hình 2.6: Trình tự đáp ứng nội dung đơn giản 2.1.4. Hiệu quả và giá trị CDN mang lại 2.1.4. Hiệu quả và giá trị CDN mang lại
Giải pháp CDN được mô tả ở trên có thể giúp tránh phần nghẽn mạng nếu có thể đáp ứng yêu cầu của client từ các nút thay thế. Hiệu quả của giải pháp CDN, do vậy, phụ thuộc phần lớn vào xác suất nút thay thế có thể thực sự đáp ứng được yêu cầu của client. Nếu server thay thế không thể đáp ứng yêu cầu của client, server thay thế sẽ phải trao đổi với server gốc để tải các thông tin cần thiết. Khả năng tuyến kết nối giữa server thay thế và server gốc dùng chung một số link với tuyến kết nối giữa client và server gốc thường rất cao, và các link này có khả năng bị tắc nghẽn. Vì vậy, mỗi lần server thay thế không đáp ứng được yêu cầu của client thì hiệu suất của hệ thống sẽ giảm. Trong trường hợp này, thời gian đáp ứng của hệ thống khi client kết nối với server thay thế sẽ còn tồi hơn nếu kết nối trực tiếp với server gốc, vì server thay thế còn làm việc đáp ứng yêu cầu của client chậm trễ thêm do chỉ hoạt động với chức năng của một nút chuyển tiếp.
Tóm lại tính hiệu quả của mạng CDN phụ thuộc rất nhiều vào tỷ lệ đáp ứng thành công của server thay thế. Tỷ lệ đáp ứng thành công là xác suất mà yêu cầu của client được đáp ứng hoàn toàn bởi server thay thế mà không cần bất kỳ trao đổi thông tin nào giữa server thay thế và server gốc. Với những ứng dụng có tỷ lệ đáp ứng thành công cao, nhiều khả năng là CDN sẽ cải thiện được thời gian đáp ứng. Với những ứng dụng có tỷ lệ đáp ứng thành công thấp, giải pháp CDN sẽ không đem lại hiệu quả nào.
Lưu lượng mạng chủ yếu tạo ra bởi quá trình trao đổi dữ liệu giữa client và server. Dữ liệu này có thể có dạng tĩnh hoặc động. Dữ liệu tĩnh được định nghĩa là dữ liệu không thay đổi theo thời gian hoặc chỉ thay đổi một cách từ từ. Dữ liệu động là dữ liệu thay đổi theo thời gian với mức độ cao hơn. Sự “nhanh” hay “chậm” ở đây còn phụ thuộc vào tính chất của kết nối giữa các nút thay thế và của server gốc.
Ứng dụng mạng thường có cả dữ liệu tĩnh và dữ liệu động. Nếu dữ liệu tĩnh chiếm phần lớn thì năng lực đáp ứng ứng dụng sẽ được nâng cao với giải pháp CDN. Trong trường hợp này, server thay thế sẽ thay thế tạm thời dữ liệu tĩnh và cung cấp cho client theo yêu cầu. Ngược lại, nếu dữ liệu động chiếm đa số thì các server thay thế phải đảm bảo là dữ liệu phải nhất quán với dữ liệu tại server gốc. Việc phải đảm bảo tính nhất quán của dữ liệu tại server thay thế có thể làm giảm lợi ích của việc sử dụng giải pháp CDN. Không phải là loại dữ liệu động nào cũng có thể được thay thế tại server thay thế một cách có hiệu quả. Tuy nhiên, cũng có một số loại dữ liệu động có thể được thay thế một cách có hiệu quả và như vậy rất nhiều ứng dụng mạng sẽ được cải thiện nhờ giải pháp này.
Một tồn tại của giải pháp CDN là khả năng quản lý. Một mạng CDN gồm rất nhiều điểm đặt tại nhiều địa điểm khác nhau. Các điểm này cần phải được quản lý, quản trị và việc quản trị sẽ phức tạp và, tốn kém hơn rất nhiều so với việc quản trị một nhóm server tại một địa điểm duy nhất. Do vậy, việc thiết kế mạng CDN phải nhấn mạnh tới khả năng quản lý các server thay thế và các điểm thay thế.
Một vấn đề nữa là có thể sẽ phải sửa đổi các ứng dụng mạng cho thích hợp với CDN. Việc thiết kế lại có thể không phải là vấn đề với một số ứng dụng nhưng lại là vấn đề lớn với một số ứng dụng khác. Tính năng CDN có thể được tích hợp vào phần thiết kế của các ứng dụng hiện đang dược phát triển. Tuy nhiên, các ứng dụng đang được sử dụng phải được thay đổi để tận dụng các server thay thế. Một giải pháp sửa đổi các ứng dụng này là đưa một server bổ sung lên trước server gốc. Server bổ sung này chứa toàn bộ các sửa đổi cần thiết. Một cách khác là sửa đổi trực tiếp chương trình, nhưng tác động của việc sửa đổi chương trình cần phải được đánh giá trước khi triển khai giải pháp CDN.
Có hai phần tử cơ bản đã tạo ra ý nghĩa của CDN: cơ cở hạ tầng được mở rộng và phân phát nội dung được cải thiện. CDN cho phép nhiều server sao lưu hoạt động thay một một server gốc, vì vậy loại bỏ việc phân phát nội dung từ trung tâm tới các client. Chúng ta đề cập đến kích cỡ cơ sở hạ tầng được tăng lên như là “độ mở rộng”. Ngoài ra, CDN có thể được xây dựng với nhiều bản sao nội dung gần với các đầu cuối người sử dụng, khắc phục các vấn đề về kích cỡ mạng, tắc nghẽn mạng, và các hỏng hóc mạng.
Trong một mạng CDN riêng (không kết nối với các mạng CDN khác) một nhà cung cấp dịch vụ điều hành các bộ định tuyến yêu cầu, các server sao lưu, và các bộ phận
phân phối nội dung. Ngoài ra, nhà cung cấp dịch vụ còn thiết lập các mối quan hệ với các nhà sản xuất nội dung và hoạt động thay mặt server gốc của họ để cung cấp hệ thống phân phát được phân phối. Ý nghĩa của CDN đối với nhà cung cấp nội dung là kết hợp quy mô và phạm vi của nó.
2.1.5. Kết nối giữa các mạng nội dung
Một mạng CDN đứng độc lập sẽ bị hạn chế về quy mô và phạm vi hoạt động. Tăng quy mô hoặc phạm vi hoạt động giới hạn bởi chi phí thiết bị, không gian khả dụng để triển khai thiết bị, và nhu cầu đối với quy mô của cơ sở hạ tầng. Đôi khi mỗi khách hàng được kết nối tới một nhà cung cấp dịch vụ hoặc một tập nhỏ các nhà cung cấp bởi sự ràng buộc của kỹ thuật, kinh tế, hoặc luật pháp. Có khi nhà cung cấp mạng có thể quản lý các server sao lưu và hệ thống phân phối, nhưng có thể không có mối quan hệ trực tiếp với các nhà cung cấp nội dung.
Tương tác giữa các mạng nội dung cho phép các mạng nội dung khác nhau cùng chia sẻ tài nguyên để tạo ra quy mô và phạm vi hoạt động lớn hơn. Bằng cách sử dụng các giao thức được định nghĩa và kết nối giữa các mạng nội dung, mỗi mạng nội dung có thể coi các mạng lân cận như là “các hộp đen”, cho phép chúng ẩn đi các chi tiết nội bộ đối với nhau.
2.1.6. Ứng dụng phù hợp và không phù hợp với CDN
2.1.6.1. Ứng dụng mạng phù hợp với CDN
Nhiều loại ứng dụng có tính chất phù hợp với giải pháp CDN. Phần lớn ứng dụng mạng là ứng dụng Web. Ứng dụng Web có nhiều dữ liệu tĩnh, như hình ảnh, các tệp HTML tĩnh, là một ứng cử viên cho giải pháp CDN. Một số loại dữ liệu động thường gặp trên ứng dụng Web, như thông tin về người sử dụng hay kết quả của một số truy vấn thường gặp, có thể được cải thiện nếu sử dụng CDN. Việc tải các tệp tĩnh có kích thước lớn, như tệp nhạc hoặc phim ảnh, cũng có thể được cải thiện rõ rệt nếu triển khai trên nền CDN. Ngoài các ứng dụng kể trên, giải pháp CDN còn có thể dùng cho các ứng dụng mua hàng trực tuyến cũng như giảm thời gian tải các thông tin quảng cáo trong một trang Web. Ứng dụng Web không phải là những ứng dụng duy nhất được lợi từ giải pháp CDN. Các dịch vụ Internet truyền thống như tải tệp hay thư điện tử cũng có thể tận dụng các lợi ích của các server thay thế. Truy cập các dịch vụ tìm kiếm cũng sẽ nhanh hơn với CDN, và phần lớn ứng dụng như quản lý lịch làm việc hay cập nhật thông tin chứng khoán cũng vậy.
2.1.6.2. Ứng dụng không phù hợp với CDN
Không phải ứng dụng nào cũng thích hợp với CDN. Những ứng dụng yêu cầu cập nhật dữ liệu một cách thường xuyên hay chia sẻ dữ liệu đều không phù hợp với CDN. Ví dụ, một phòng chat trong đó có nhiều nơi được kết nối theo trình tự thời gian sẽ không thấy được lợi ích của việc có nhiều server thay thế .
Các ứng dụng yêu cầu có truy nhập song song từ nhiều nơi khác nhau cũng không thích hợp với CDN. Các ứng dụng mà trong đó ngữ nghĩa giao dịch có ý nghĩa quan trọng sẽ không phù hợp với CDN. Mặc dù giao dịch có thể thực hiện một cách phân tán, thực hiện giao dịch ở một nơi sẽ phù hợp hơn. Do vậy, CDN có lẽ không phù hợp với các ứng dụng ngân hàng.
Các ứng dụng đòi hỏi tính bảo mật cao cũng không thích hợp với CDN. Việc xử lý thẻ tín dụng có thể được xử lý tại các server thay thế, tuy nhiên các server này phải được tin cậy và có độ bảo mật cao. Trong nhiều trường hợp, việc triển khai một điểm xử lý duy nhất có độ bảo mật cao như tại server gốc sẽ dễ dàng hơn nhiều nếu phải đảm bảo bảo mật tại nhiều server tại nhiều vị trí khác nhau.
Mặc dù vậy, đa số những ứng dụng vẫn thích hợp với CDN. Rất nhiều ứng dụng có một số chức năng có thể được chuyển tới server thay thế. Các ứng dụng nay vẫn có thể
ứng dụng CDN để cải thiện hoạt động của một số chức năng. [1]
2.2. KIẾN TRÚC MẠNG CDN 2.2.1. Kiến trúc mạng CDN 2.2.1. Kiến trúc mạng CDN
Kiến trúc chung của mạng CDN được thể hiện trong hình 2.6. Mạng CDN gồm 5 thành phần chính như sau:
- Thư mục nội dung/Server Thư mục (Content Director/Server Director) - Hệ thống tính cước
- Trung tâm điều hành mạng CDN - Server sao lưu/ Server biên - Cache
Hình 2.7: Kiến trúc mạng CDN 2.2.2. Các thành phần mạng CDN 2.2.2. Các thành phần mạng CDN
2.2.2.1. Thư mục nội dung/Server Thư mục (Content Director/ Server Director)
Thư mục nội dung (hay còn gọi là Server Thư mục) bao gồm các chức năng như định tuyến các yêu cầu của khách hàng tới server sao lưu thích hợp và trao đổi ngang cấp với các mạng CDN khác. Các thành phần chính của Content Director:
Máy định tuyến yêu cầu
Hệ thống định tuyến ngang cấp
Hệ thống phân phối
Hệ thống phân phối ngang cấp
Chức năng của từng thành phần như sau:
* Máy định tuyến yêu cầu
Máy định tuyến yêu cầu định tuyến các yêu cầu của khách hàng tới các server sao lưu tối ưu nhất dựa trên các phép đo như số các chặng, tải… trong một mạng CDN. Máy định tuyến yêu cầu còn thực hiện giám sát mạng một cách liên tục và cấu hình sẽ được cập nhật với các phép đo mới nhất về các server sao lưu.
* Hệ thống định tuyến ngang cấp
Thành phần này thực hiện trao đổi giữa các mạng CDN. Hoạt động ngang cấp giữa các CDN cho phép tăng số server sao lưu mà khách hàng có thể kết nối tới. Hệ thống định
tuyến ngang cấp định tuyến các yêu cầu nội dung giữa các mạng CDN được liên kết. Mỗi hệ thống định tuyến ngang cấp duy trì một bảng định tuyến gọi là bảng định tuyến yêu cầu, các bảng này chứa thông tin về các đối tượng trong các mạng CDN ngang cấp. Thông tin này có thể được trao đổi theo chu kỳ bởi các hệ thống định tuyến ngang cấp để cập nhật lại bảng với thông tin mới nhất.
* Hệ thống phân phối
Thành phần này nhận các nội dung từ hệ thống phân phối ngang cấp và phân phối nó tới các server sao lưu trong cùng mạng CDN.
* Hệ thống phân phối ngang cấp
Hệ thống phân phối ngang cấp thực hiện phân phối nội dung giữa các mạng CDN ngang cấp. Nó cũng cung cấp thông tin về các vị trí mà lưu trữ nội dung yêu cầu. Thành phần này thực hiện trao đổi các thông tin này theo chu kỳ thông để báo tới các mạng CDN ngang cấp luôn giữ cơ sở dữ liệu về cấu hình nội dung với thông tin mới.
2.2.2.2. Hệ thống tính cước
Hệ thống tính cước thu thập các thông tin từ các thành phần của mạng CDN liên quan đến phân phối dữ liệu tới người sử dụng và tới các mạng CDN ngang cấp. Các thông tin này được xử lý bởi hệ thống tính cước để làm hoá đơn cho khách hàng. Các mạng CDN trao đổi dữ liệu này với các mạng CDN ngang cấp qua Gateway tính cước ngang cấp để tính hoá đơn qua lại.