Chƣơng 2 : CẤU TRÚC MẠNG CDN
2.4. CƠ CHẾ SAO LƢU VÀ CACHING TRONG CDN
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]