2.4.1. Một số thuật ngữ
Hai thành phần cơ sở hạ tầng nòng cốt được sử dụng trong mạng CDN là sao lưu và caching. Trong rất nhiều trường hợp cần có các bộ nhớ đệm và các dịch vụ sao lưu cùng tồn tại.
Server: Một chương trình ứng dụng có thể chấp nhận các kết nối để phục vụ các
yêu cầu bằng cách gửi các đáp ứng trở lại.
Server gốc: Server mà trên đó tài nguyên đã có sẵn hoặc là được tạo ra.
Server sao lƣu: Một gateway được đặt cùng vị trí với origin server, hoặc tại vị trí
khác trong mạng, được ủy nhiệm để thay mặt hoạt động, và hoạt động đặc trưng với một hoặc nhiều server gốc. Các đáp ứng có thể được giải thoát từ cache nội bộ. Server sao lưu có thể lấy được các mục cache từ server gốc hoặc từ ủy nhiệm của server gốc khác.
Tác nhân ngƣời sử dụng: Là client khởi tạo yêu cầu. Thường là các trình duyệt,
bộ soạn thảo, phần mềm media, hoặc các công cụ người sử dụng đầu cuối khác.
Proxy: Một chương trình trung gian hoạt động như là cả server và client cho mục
đích tạo các yêu cầu thay mặt các client khác. Một proxy phải thực hiện tất cả các yêu cầu server vào client.”Transparent proxy” là proxy không sửa đổi các yêu cầu hay đáp ứng ngoài các yêu cầu xác thực và nhận dạng proxy. “Non-transparent proxy” là proxy có thể sửa đổi các yêu cầu hoặc các đáp ứng để cung cấp thêm các dịch vụ tới tác nhân người sử dụng, như là các dịch vụ diễn giải nhóm, biến đổi giao thức, hay lọc các địa chỉ nặc danh.
Nhớ đệm (Cache): Bộ lưu trữ nội bộ các bản tin đáp ứng của một chương trình
và các hệ thống con điều khiển lưu trữ, phục hồi, và xóa các bản tin. Các bộ nhớ cache có khả năng lưu trữ các đáp ứng để giảm thời gian đáp ứng và làm giảm sự tàn phá băng tần mạng trong tương lai. Bất kì một client hay server nào có thể có cache, cho dù cache không được sử dụng bởi server đang hoạt động.
Cổng (Gateway): Một server hoạt động như là một thực thể trung gian đối với
các server khác. Không giống như proxy, gateway nhận các yêu cầu khi nó là server gốc cho các tài nguyên được yêu cầu; client yêu cầu có thể không được nhận biết nó đang kết nối với gateway.
Đƣờng hầm (Tunnel): Một chương trình trung gian hoạt động như một rơ le
không nhìn thấy giữa hai kết nối. Khi tích cực, tunnel không được xem như một phần của thông tin HTTP, dù cho tunnel có thể được khởi tạo bằng một yêu cầu HTTP. Tunnel không còn tồn tại khi cả hai đầu cuối của các kết nối bị đóng.
Sao lƣu (Replication): Tạo và duy trì bản sao của cơ sở dữ liệu hoặc hệ thống tệp trên máy tính khác, điển hình là server.
Inbound/Outbound: Inbound và outbound đề cập đến các đường dẫn đáp ứng và
yêu cầu cho các bản tin: “inbound” có nghĩa là “di chuyển tới origin server” và
“outbound” có nghĩa là “di chuyển tới tác nhân người sử dụng”. [9]
2.4.2. Các mối quan hệ trong hệ thống CDN
2.4.2.1. Mối quan hệ giữa Client và Server sao lưu
Client có thể thông tin với một hoặc nhiều bản sao server gốc, cũng như là với chính các server gốc đó. Trong trường hợp vắng mặt các server sao lưu thì client tương tác một cách trực tiếp với server gốc như trường hợp bình thường.
Hình 2.12: Mối quan hệ giữa Client và Server sao lƣu
2.4.2.1.1. Điều hướng siêu liên kết ( Navigation hyperlinks)
Là một kỹ thuật giao tiếp đơn giản nhất giữ client và server sao lưu. Sử dụng các siêu liên kết URL nhúng trong các trang web để chỉ ra các server gốc, server riêng biệt. Khách hàng nội dung lựa chọn một cách nhân công liên kết của server gốc để sử dụng.
Bảo mật: dựa trên giao thức bảo mật kết hợp với sơ đồ URI thích hợp.
Ứng dụng: có lẽ kỹ thuật giao tiếp giữa client và server được ứng dụng một cách chung nhất. Tương tác với con người ở khắp nơi.
2.4.2.1.2. Đổi hướng Replica HTTP
Một kỹ thuật đơn giản để kết nối các client với server sao lưu là nhờ sử dụng đổi các mã đáp ứng của giao thức HTTP, ví dụ 302 “Found” hoặc 307 “Temporary Redirect”.
Một client thiết lập giao tiếp HTTP với một trong số các server sao lưu. Sau đó, server sao lưu đó được liên hệ lúc đầu hoặc là sẽ lựa chọn chấp nhận server sao lưu đó hoặc là đổi hướng client một lần nữa.
Bảo mật: hoàn toàn dựa vào bảo mật HTTP.
Ứng dụng: quan sát tại một số vị trí web lớn. Phạm vi sử dụng trong internet là không giới hạn.
2.4.2.1.3. Đổi hướng DNS
Tham khảo RFC 1794 DNS hỗ trợ cho trạng thái cân bằng tải.
Dịch vụ tên miền cung cấp một kĩ thuật giao tiếp giữa client và server sao lưu phức tạp hơn. Kỹ thuật đó được hoàn thành bởi các DNS server mà giải quyết việc phân loại địa chỉ IP của server sao lưu, bắt đầu với server sao lưu tối ưu nhất và kết thúc với server sao lưu tối ưu tồi nhất.
Bảo mật: hoàn toàn dựa trên bảo mật của DNS và các giao thức khác mà có thể được sử dụng để quyết định thứ tự phân loại.
2.4.2.2. Mối quan hệ giữa các Server sao lưu
Đây là mối quan hệ giữa các server gốc với các Server sao lưu và giữa các server sao lưu với nhau, để tạo ra các phiên bản dữ liệu được truy xuất bởi client trong mối quan hệ được chỉ ra trong phần 2.4.2.1
Hình 2.13: Mối quan hệ giữa các server sao lƣu
2.4.2.2.1. Sao lưu điều khiển theo đợt (Batch Driven Replication)
Server sao lưu được cập nhật khởi tạo giao tiếp với server gốc. Giao tiếp này được thiết lập tại các khoảng thời gian dựa vào các phiên bản giao dịch được xếp hàng. Khi một phiên liên lạc được thiết lập, các tập dữ liệu được lưu sang server sao lưu khởi tạo.
Bảo mật: dựa trên giao thức được sử dụng để truyền tệp dữ liệu. FPT và RDIST là các giao thức hay được sử dụng nhất.
2.4.2.2.2. Sao lưu theo yêu cầu (Demand Driven Replication)
Server sao lưu phải có nội dung khi cần đáp ứng nhu cầu của khách hàng. Khi client yêu cầu một tài nguyên mà không có trong tập dữ liệu của server sao lưu phải cố gắng giải quyết yêu cầu đó bằng cách lấy được tài nguyên từ server gốc, điều hướng về client yêu cầu.
Bảo mật: dựa vào giao thức được sử dụng để truyền tài nguyên. FPT, Gopher, HTTP và ICP được sử dụng phổ biến nhất.
2.4.2.2.3. Sao lưu đồng bộ
Các server sao lưu tương tác được với nhau là nhờ sử dụng các chiến lược đồng bộ và các giao thức bản sao chuyên dụng để gắn kết các tập dữ liệu bản sao. Các chiến lược đồng bộ từ các gắn kết chặt chẽ (vài phút) tới các gắn kết lỏng lẻo (vài giờ). Các nâng cấp xảy ra giữa các replica dựa vào các ràng buộc thời gian chặt chẽ của mô hình gắn kết được sử dụng và nhìn chung chỉ trong dạng delta.
Bảo mật: tất cả các giao thức đã biết sử dụng các phương pháp thay đổi khóa mật mã, các phương pháp này dựa trên mô hình bí mật chia sẻ Kerberos hoặc mô hình khóa RSA công cộng/riêng.
2.4.2.3. Mối quan hệ giữa Client với Server sao lưu và Server gốc
Client có thể liên lạc với một hoặc hơn một server sao lưu cho các yêu cầu mong đợi đối với một hoặc nhiều server gốc. Ở đâu mà server sao lưu không được sử dụng, thì client thông tin một cách trực tiếp tới server gốc. Ở đâu mà server sao lưu được sử dụng, thì client thông tin với server sao lưu như là với server gốc. Server sao lưu thực hiện yêu cầu từ cache nội bộ của nó, hoặc hoạt động như là gateway hoặc tunnel tới server gốc.
2.4.2.4. Mối quan hệ giữa Client với Proxy Server
Client có thể thông tin tới một hoặc nhiều proxy server cho một vài hoặc tất cả các yêu cầu nội dung.
Ngoài ra, tác nhân người sử dụng có thể tương tác với một server phụ - được hoạt động thay mặt proxy với mục đích của cấu hình proxy một cách tự động.
Cấu hình Client với Proxy Server
2.4.2.4.1. Cấu hình Proxy Server nhân công
Mỗi client phải định cấu trúc tác nhân người sử dụng của nó bằng cách cung cấp thông tin liên quan đến giao thức được ủy quyền và các chính sách nội bộ.
Bảo mật: khả năng thực hiện hỏng là cao; mỗi user thiết lập các quyền ưu tiên riêng biệt.
2.4.2.4.2. Tự động cấu hình Proxy Server (PAC)
Tập lệnh JavaScript lấy từ server nội dung được thực hiện cho mỗi URL truy cập để quyết định xem proxy nào thích hợp sử dụng để truy cập tài nguyên. Các tác nhân người sử dụng phải được cấu hình để yêu cầu tập lệnh script này lúc khởi động.
Bảo mật: chính sách chung cho mỗi tổ chức có thể chấp nhận được nhưng vẫn yêu cầu khởi tạo cấu hình nhân công. Cấu hình PAC tốt hơn cấu hình proxy nhân công do các nhà quản lý PAC có thể nâng cấp cấu hình proxy này là không cần sự can thiệp sâu hơn của người sử dụng. Sự tương tác giữa các tệp của PAC là không lớn vì các trình duyệt khác nhau có cách biên dịch khác nhau không đáng kể của cùng một tập lệnh script, có thể dẫn tới các ảnh hưởng xấu.
2.4.2.4.3. Giao thức định tuyến ma trận cache (CARP)
Các tác nhân người sử dụng có thể sử dụng CARP một cách trực tiếp như là một chức năng hỗn hợp dựa trên kỹ thuật lựa chọn proxy. Chúng cần được cấu hình với vị trí của thông tin cluster.
Bảo mật: không xem xét được tiến trình.
2.4.2.4.4. Giao thức phát hiện tự động proxy (WPAD)
WPAD sử dụng một tập các kỹ thuật phát hiện tài nguyên Internet đã có trước để thực hiện phát hiện tự động proxy server. Mục tiêu duy nhất của WPAD là định vị PAC URL. WPAD không chỉ rõ proxy nào sẽ được sử dụng. WPAD cung cấp PAC URL, và
PAC script sau đó hoạt động như định nghĩa ở trên để lựa chọn các proxy cho mỗi yêu cầu tài nguyên.
Giao thức WPAD chỉ rõ:
Cách sử dụng mỗi kỹ thuật cho mục đích cụ thể phát hiện tự động web proxy
Thứ tự các kỹ thuật sẽ được thực hiện
Một tập nhỏ nhất các kỹ thuật phải được thử nghiệm phải bởi WPAD tuân
theo tác nhân người sử dụng.
Các kỹ thuật phát hiện tài nguyên được sử dụng bởi WPAD:
Giao thức cấu hình host tự động DHCP
Giao thức định vị dịch vụ SLP
“Các bí danh phổ biến” nhờ sử dụng các bản ghi DNS A
Các bản ghi DNS SRV
“Dịch vụ: URLs” trong các bản ghi DNS, TXT
Bảo mật: dựa trên bảo mật DNS và HTTP. [13]
2.5. HỆ THỐNG PHÂN PHỐI NỘI DUNG 2.5.1. Tổng quan 2.5.1. Tổng quan
Hệ thống phân phối bao gồm một tập các phần tử mạng thực hiện chung một quá trình phân phối nội dung của các nhà cung cấp nội dung từ origin server tới một hoặc nhiều server sao lưu và phân phát nội dung từ các server sao lưu tới các client trong một mạng CDN. Quá trình phân phối có thể xảy ra cả khi server sao lưu không nhận được yêu cầu từ các client, quá trình này được gọi là tìm nạp trước, hoặc có thể xảy ra khi server sao lưu nhận được yêu cầu của client mà không lưu giữ nội dung được yêu cầu đó, gọi là tìm nạp theo yêu cầu.
Ngoài ra, hệ thống phân phối truyền cả các báo hiệu nội dung, đó là các bản tin chỉ thị item của nội dung. Ví dụ, báo hiệu nội dung chỉ thị rằng origin server có phiên bản mới về một số phần của nội dung.
Có hai phương pháp để phân phối nội dung tới các server sao lưu đó là: sử dụng mạng Internet hiện tại, và sử dụng phát quảng bá qua vệ tinh. Theo phương pháp này, CDN thiết lập và duy trì một mạng phân phối hình cây hoặc một mạng xếp chồng qua cơ sở hạ tầng mạng Internet hiện có và phân phối nội dung từ server origin tới các server sao lưu qua mạng phân phối cây hay mạng xếp chồng. Cách để thiết lập và duy trì mạng phân
phối hình cây hay mạng xếp chồng là liên quan chính về mặt kỹ thuật. Phương pháp này có thể phải chịu sự thực hiện khó hiểu và không thể dự đoán được của chính mạng Internet. Các công nghệ của Akamai và các mạng sandpiper sử dụng mô hình này. Theo cách này công ty CDN lắp đặt hàng trăm các server CDN qua mạng Internet, trong lớp thấp hơn ISP và gần với người sử dụng hơn.
Phương pháp phát quảng bá dữ liệu qua vệ tinh có thể tiết kiệm chi phí đáng kể, và có chất lượng dịch vụ cao, có khả năng dự đoán trước được đường thực thi để gửi nội dung như là streaming media thời gian thực.
Cần chú ý rằng quá trình phân phối nội dung khác với phân phát nội dung. Phân phát nội dung là quá trình chuyển nội dung của các publisher tới các client, như chỉ ra trong hình 2.15
Hình 2.15: Quá trình phân phát nội dung
Quá trình phân phối nội dung thực hiện di chuyển nội dung của các publisher từ origin server của nó tới một hoặc nhiều server sao lưu. Như chỉ ra trong hình 2.16
2.5.2. Phân phối nội dung trong CDN
Hình 2.17: Phân phối nội dung trong một mạng CDN và giữa các mạng CDN ngang cấp
Hình 2.17 mô tả các bước phân phối nội dung trong một mạng CDN và phân phối
giữa các mạng CDN ngang cấp. Sau đây là các bước thực hiện phân phối: [8,14]
Bước 1:
Server gốc cho phép các CDN ngang cấp phân phối nội dung của nó và đặt nội dung vào hệ thống phân phối ngang cấp của một trong các CDN, ở sơ đồ là CDN2. Tồn tại hai cách đặt nội dung:
Đẩy nội dung xuống trước: Nội dung, sẽ được sử dụng trong các CDN,
được đẩy xuống một cách tích cực.
Kéo nội dung theo yêu cầu: Nội dung được kéo theo yêu cầu từ OS khi có
một cache bị lỗi tại server sao lưu tại cùng thời gian đối tượng được yêu cầu
Bước 4:
Hệ thống phân phối ngang cấp di chuyển nội dung giữa các CDN ngang cấp. Nó cũng cung cấp thông tin về các vị trí nơi mà nội dung có mặt tới. Hệ thống định tuyến ngang cấp. Hệ thống định tuyến ngang cấp thông báo thông tin này tới các mạng CDN ngang cấp.
Hệ thống phân phối ngang cấp truyền nội dung tới hệ thống phân phối.
Bước 3,6:
Hệ thống phân phối sẽ phân phối nội dung giữa các server sao lưu trong cùng một mạng CDN.
2.5.3. Kiến trúc mạng kết nối giữa các hệ thống phân phối
2.5.3.1. Giới thiệu
Kết nối giữa các mạng nội dung (CI) là một cấu trúc trong đó các tài nguyên của các mạng CDN được kết hợp để đạt được phạm vi hoạt động lớn hơn bất cứ mạng CDN riêng biệt nào. Lớp lõi của CI có 3 phần tử kiến trúc cơ bản. Các phần tử này là: Định tuyến yêu cầu, phân phối và hệ thống tính toán. Trong phần này trình bày về sự tương tác của các hệ thống phân phối trong các mạng CDN. Đó là hệ thống chịu trách nhiệm di chuyển nội dung từ một hệ thống phân phối của một mạng CDN này tới hệ thống phân phối ngang cấp của CDN khác. Chú ý rằng nhà cung cấp nội dung gốc được xem như một trường hợp suy thoái của hệ thống phân phối CDN.
Trong bất kỳ kiểu sắp xếp mạng phân phối nào, các mối quan hệ giữa các phần tử phân phối CDN luôn được tách thành mối quan hệ giữa một hoặc nhiều cặp CDN. Mỗi cặp CDN bao gồm một CDN có, hoặc có truy nhập tới, nội dung, và CDN còn lại có, hoặc có truy nhập tới, các hệ thống có khả năng cung cấp chức năng phân phối và/ hoặc phân phát nội dung. CDN thứ nhất được xem như là nguồn nội dung, trong khi đó CDN thứ hai được đề cập đến như là đích nội dung.
Trong phần này mô tả kiến trúc tổng thể và xây dựng các khối của hệ thống phân