Cả 2 mô hình phân cấp trên đều có những hạn chế nhất định. Server farms có thể
cải thiện được độ mở rộng của server gốc. Tuy nhiên, do có nhiều server và các phần tử khác được triển khai gần server gốc, nên cải thiện các vấn đề thực thi là ít do tắc nghẽn mạng (vì chúng được định vị gần các client) nhưng chúng lưu giữ các đối tượng dựa vào nhu cầu của client. Việc lưu giữ dựa vào nhu cầu của client được thực hiện không tốt nếu các yêu cầu về một đối tượng xác định được truyền bá giữa nhiều các caching proxies khác nhau. Ví dụ, một đối tượng có thể được yêu cầu n lần qua n caching proxies khác nhau, tạo ra n caching proxy yêu cầu tới một origin server hoặc cùng một hoạt động như vậy có thể xảy ra mà không cần có bất kỳ caching proxies nào được triển khai. Do vậy, nhà cung cấp nội dung với nguồn nội dung ưa chuộng có thể nhận thấy rằng phải quan tâm đến một lượng lớn các server farms, cân bằng tải, và các kết nối băng tần cao để đáp ứng được nhu cầu.
Để loại bỏ các hạn chế này, một kiểu mạng nội dung khác đã được triển khai trong những năm gần đây đó là mạng cung cấp/phân phối nội dung. Một mạng CDN chuyển các cấu hình tương tự như của Server Farm tới các vị trí mạng được caching proxy chiếm
lĩnh. Một yêu cầu từ một trình duyệt về một chỉ mục nội dung đơn được định hướng tới bản sao “tốt”, trong đó “tốt” thường có nghĩa là chỉ mục đó được phục vụ tới client nhanh hơn so với thời gian tìm nạp từ server gốc. Thông tin tĩnh về các vị trí địa lý và các kết nối mạng thường không đủ để lựa chọn một bản sao tốt. Vì vậy, CDN kết hợp thông tin động về các điều kiện mạng và tải trên các server sao lưu, định hướng các yêu cầu để cân bằng tải. So với việc sử dụng các server và các server sao lưu trong một trung tâm dữ liệu, CDN là một hệ thống tương đối phức tạp bao gồm nhiều điểm hiện diện, trong các vị trí mà có thể là một phần địa lý.
Khái niệm cơ bản của mạng CDN được mô tả trong hình 2.4, minh họa kết nối giữa client và server qua một mạng xương sống. Tuyến kết nối giữa client và server bị nghẽn. Tuy nhiên, giả sử rằng có một server khác có thể tạo một kết nối tốt hơn với client đó và client này có thể lấy được toàn bộ thông tin cần thiết từ server này thay vì server gốc. Trong trường hợp này, nếu client kết nối với server thứ hai thì tốc độ kết nối sẽ tốt hơn nếu như kết nối với server gốc.
Hình 2.4: Hoạt động cơ bản của mạng CDN
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
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