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.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.
2.2.2.3. Trung tâm điều hành mạng CDN
Thành phần này quản lý mạng CDN từ trung tâm. Các chức năng chính gồm:
Quản lý các thành phần của mạng CDN từ trung tâm mạng.
Giám sát trạng thái của các thành phần trong mạng CDN, để các nhà quản
lý có thể có đáp ứng thích hợp.
Thêm/Xoá các khách hàng CDN. Ở đây các khách hàng có thể là nhà cung
cấp nội dung hoặc ISP.
Thiết lập các SLA mới.
2.2.2.4. Server sao lưu/ Server biên
Server sao lưu là thành phần tiêu biểu trong CDN. Mỗi server sao lưu liên kết với một bộ nhớ cache nội bộ để lưu trữ các đáp ứng từ server gốc hoặc server sao lưu khác. Trong một mạng CDN, người sử dụng được kết nối tới server sao lưu gần nhất. Khi khách hàng yêu cầu một đối tượng tĩnh, nó sẽ được phục vụ từ cache nội bộ của server sao lưu (nếu yêu cầu đó đã được lưu trong bộ nhớ cache). Nếu bộ nhớ cache bị lỗi hoặc đối tượng
được yêu cầu là động thì sẽ được đáp ứng theo yêu cầu từ server gốc. [8,14]
2.2.2.5. Cache
Mỗi server sao lưu liên kết với một bộ nhớ cache nội bộ. Bộ nhớ cache lưu trữ các đối tượng được yêu cầu của các user và các đối tượng được phân phát từ server sao lưu hoặc server gốc khác. Các yêu cầu tiếp theo của cùng một đối tượng sẽ được đáp ứng từ cache nội bộ này. Do đó tiết kiệm được tài nguyên mạng, giảm tải cho server gốc, và truy
nhập nhanh hơn. [8,9]
2.3. HỆ THỐNG ĐỊNH TUYẾN YÊU CẦU
2.3.1. Giới thiệu chung về hệ thống định tuyến yêu cầu
Hệ thống định tuyến yêu cầu được sử dụng để lựa chọn server sao lưu phù hợp mà có giữ bản sao nội dung được yêu cầu và định hướng client tới server sao lưu phù hợp. Các khoảng cách giữa client và server sao lưu được lựa chọn và tải của server sao lưu là hai tiêu chuẩn quan trọng được sử dụng để lựa chọn server sao cho phù hợp. Các khoảng thời gian quay vòng và số các chặng là hai thông số để xác định khoảng cách. Tuy nhiên cả hai thông số này đều không hiệu quả và chính xác để chỉ ra khoảng cách giữa client và server sao lưu bởi vì thông số thứ nhất có thể thay đổi nhiều, còn thông số thứ 2 thì không tính đến tình trạng lưu lượng mạng. Các kỹ thuật được sử dụng để xác định tải của server sao lưu là “server push” và “client probe”. Theo kỹ thuật “server push”, các server sao lưu truyền thông tin tải tới một số agent. Còn theo phương pháp thứ hai thì các agent dò tìm trạng thái của các server sao lưu một cách định kỳ.
Cấu trúc của hệ thống định tuyến yêu cầu được chỉ ra trong hình 2.8. Trong hình 2.8, thể hiện khái niệm tổng quan về hệ thống định tuyến yêu cầu: nó bao gồm các thành phần: tính toán định tuyến, cơ sở dữ liệu cấu hình nội dung, trao đổi thông báo, trao đổi cấu hình nội dung .
Hình 2.8: Cấu trúc hệ thống định tuyến yêu cầu
Tính toán định tuyến: tính toán để lựa chọn server sao lưu tốt nhất cho các client dựa trên các thông tin được lưu trữ trong cơ sơ dữ liệu cấu hình nội dung, thuật toán tính toán định tuyến, và các cách được định sẵn.
Cơ sở dữ liệu cấu hình nội dung: dữ liệu cấu hình bao gồm thông tin thông báo chi tiết nhận được từ các CDN lân cận và các thông số liên quan.
Trao đổi thông báo: khối chức năng này chịu trách nhiệm về việc thực thi giao thức trao đổi thông tin định tuyến yêu cầu
Giao thức trao đổi thông tin định tuyến yêu cầu: được sử dụng để trao đổi các thông báo nội dung và thông báo vùng nội dung.
2.3.2. Các kĩ thuật định tuyến yêu cầu
Trong phần này xem xét về các kỹ thuật định tuyến yêu cầu được sử dụng để định hướng các yêu cầu của client tới các server sao lưu dựa trên một số phương pháp và một tập các tham số. Thông thường, các kỹ thuật định tuyến yêu cầu có thể có các loại sau: định tuyến yêu cầu dựa vào hệ thống tên miền, định tuyến yêu cầu lớp truyền tải, và định tuyến yêu cầu lớp ứng dụng. Quá trình định hướng các yêu cầu của client tới các server sao lưu được gọi là định tuyến yêu cầu, định tuyến nội dung, hay đổi hướng nội dung.
Các kỹ thuật định tuyến yêu cầu thông thường được sử dụng trong các mạng nội dung (hay là mạng cung cấp dịch vụ nội dung). Các mạng nội dung gồm cơ sở hạ tầng mạng tồn tại trong các lớp từ 4 đến 7. Các mạng nội dung thực hiện định tuyến và chuyển tiếp các yêu cầu và đáp ứng nội dung. Mạng nội dung sử dụng các giao thức lớp 7 cho việc truyền tải, ví dụ như HTTP.
Các kỹ thuật định tuyến yêu cầu thông thường được sử dụng để định thướng các yêu cầu của client về các đối tượng tới một server sao lưu hoặc một tập các server sao lưu có khả năng phục vụ tốt nhất nội dung yêu cầu đó. Các kỹ thuật này có thể được sử dụng để định hướng các yêu cầu của client tới các server sao lưu trong một mạng CDN.
Các kỹ thuật định tuyến này được sử dụng như là một phương tiện để mở rộng phạm vi của mạng phân phối nội dung. Tại đó tồn tại rất nhiều kỹ thuật định tuyến yêu cầu. Tại mức cao, các kỹ thuật định tuyến có thể được phân thành: định tuyến yêu cầu theo DNS, định tuyến yêu cầu lớp truyền tải, định tuyến yêu cầu lớp ứng dụng.
2.3.2.1. Hệ thống định tuyến yêu cầu dựa vào DNS
Định tuyến yêu cầu dựa trên server tên miền được sử dụng rộng rãi trong mạng Internet hiện nay. Các kỹ thuật định tuyến dựa trên DNS rất phổ biến do tính chất có mặt khắp nơi của hệ thống tên miền DNS.
Chức năng cơ bản của hệ thống tên miền DNS là để cung cấp một cơ sở dữ liệu chuyển đổi giữa các tên host (như là chive.lcs.mit.edu) và các địa chỉ IP (ví dụ:18.31.0.5). Nó cũng cung cấp thông tin quan trọng khác về miền hoặc host, bao gồm chuyển đổi ngược từ các địa chỉ IP thành các tên host và thông tin định tuyến.
Không gian tên DNS được tổ chức phân cấp để các miền con có thể được quản lý nội bộ. Gốc của phân cấp này được quản lý và phục vụ một cách tập trung từ tập 13 server gốc (giữa năm 2001). Các miền con được ủy quyền tới các server khác có quyền đối với phần không gian tên của nó. Quá trình này có thể được lặp lại một cách đệ quy.
Hình 2.9: Ví dụ về phân cấp hệ thống tên miền
Trong mạng CDN sử dụng các kỹ thuật định tuyến DNS, server DNS chuyên dụng được đưa vào trong quá trình phân giải DNS. Server này có khả năng điều hướng lại các bản ghi CNAME, NS hoặc bản tin A dựa trên các chính sách xác định user, các tham số, hoặc kết hợp cả hai. Bản tin A (address) được sử dụng để liên kết giữa tên miền và địa chỉ IP tương ứng, được sử dụng bởi hầu hết các ứng dụng như ping, duyệt web, FTP. Bản tin NS được sử dụng để định tuyến các chất vấn DNS theo chuỗi các chất vấn, tên là một miền (ví dụ như foobar.com) và giá trị là tên host của server tên có thẩm quyền mà biết cách ghép nối giữa các địa chỉ IP với miền đó.
Client khởi tạo tên tìm kiếm trong DNS server nội bộ, được hỗ trợ để trả lại địa chỉ của server sao lưu gần client đó. Nếu bộ nhớ cache của DNS nội bộ bị lỗi, nó sẽ chuyển tiếp tên tìm kiếm tới DNS server gốc. DNS server gốc có thẩm quyền trả lại địa chỉ của một server sao lưu gần client dựa trên việc định tuyến chuyên dụng, giám sát tải và kỹ
thuật ghép nối Internet. Cuối cùng client nhận nội dung từ server sao lưu được chỉ định (như chỉ ra trong hình 2.10).
Hình 2.10: Định tuyến dựa trên DNS
DNS server có thẩm quyền có thể trả lại địa chỉ của nhiều server sao lưu tới các DNS server bên client. DNS server bên client có thể sử dụng lần lượt các địa chỉ đó trong mô hình robin để định tuyến các yêu cầu từ các client khác nhau về cùng một nội dung tới các server sao lưu khác nhau. Kỹ thuật này làm tăng độ tin cậy và cân bằng tải trong mạng CDN. Mô hình nhiều DNS server tham gia vào một quá trình phân giải DNS có thể được sử dụng để phân phối các quyết định phức tạp hơn từ một DNS server tới nhiều DNS server chuyên dụng khác. Điều này có thể được thực hiện bằng cách định hướng quyền của miền mức tiếp theo tới DNS server khác sử dụng các bản ghi NS hoặc các bản ghi CNAME (Canoniacal Name). Nhiều DNS server vật lý kết hợp định tuyến yêu cầu phân giải DNS sẽ chuyển tới một trong số DNS server này, có thể là DNS server gần nhất đối với DNS server biên client. Sau khi nhận được gói này, DNS server biết được rằng nó là gần nhất và có thể sử dụng thông tin đó để tạo ra quyết định định tuyến.
2.3.2.1.1. Đáp ứng đơn
Theo cách này, server DNS có quyền đối với toàn bộ miền DNS hoặc các miền con. DNS server gửi trả lại địa chỉ IP của server sao lưu tốt nhất trong bản ghi A tới DNS server yêu cầu. Địa chỉ IP của server sao lưu là đia chỉ IP ảo của tập các server sao lưu tốt nhất đối với DNS server yêu cầu.
2.3.2.1.2. Đa đáp ứng
Theo cách này, server DNS gửi trả lại nhiều đáp ứng như là các bản ghi A về các server sao lưu. Thứ tự các bản ghi được gửi trả lại có thể được sử dụng để định hướng nhiều client sử dụng chung một server DNS phía client.
2.3.2.1.3. Phân giải nhiều mức
Theo cách này, nhiều server DNS định tuyến yêu cầu có liên quan đến một quá trình phân giải DNS. Lý do chính của việc sử dụng nhiều server định tuyến DNS trong một quá trình phân giải DNS là cho phép phân phối các quyết định khá phức tạp từ server DNS đơn tới các server định tuyến yêu cầu DNS. Các kỹ thuật phổ biến nhất để nhiều server DNS cùng tham gia vào một hoạt động phân giải DNS là sử dụng các bản ghi NS và CNAME.
Định hướng bằng cách sử dụng bản ghi NS
DNS server có thể sử dụng các bản ghi NS để định hướng quyền của miền tiếp theo tới server định tuyến yêu cầu DNS khác. Kỹ thuật này cho phép nhiều DNS server tham gia vào quá trình phân giải tên miền. Vídụ, DNS server phía client phân giải a.b.example.com. Server có quyền đối với miền này có thể là server NS định tuyến yêu cầu. Trong trường hợp này, DNS server có thể gửi trả lại một tập các bản ghi A hoặc có thể định hướng hoạt động phân giải yêu cầu a.b.example.com tới DNS server có quyền đối với example.com sử dụng các bản ghi NS.
Một hạn chế của việc sử dụng các bản ghi NS là số các server DNS định tuyến yêu cầu là hạn chế bởi số các vùng trong tên DNS. Hạn chế thứ hai là DNS server cuối cùng sẽ xác định thời gian sống của toàn bộ quá trình phân giải. Về cơ bản, DNS server cuối cùng có thể gửi trả lại bản ghi NS. Client đó sẽ sử dụng bản ghi NS để phân giải các yêu cầu sau này cho tới khi nó hết hiệu lực. Một hạn chế nữa đó là tạo thêm trễ trong quá trình phân giải yêu cầu do sử dụng nhiều DNS server.
Định hướng sử dụng bản ghi CNAME
Trong trường hợp này, DNS server định tuyến yêu cầu gửi trả lại một bản ghi CNAME để định hướng sự phân giải tới miền hoàn toàn mới. Về nguyên lý, miền mới này có thể sử dụng một tập các DNS server mới.
Nhược điểm của phương pháp này là tăng thêm chi phí cho việc phân giải tên miền mới. Nhưng ưu điểm chính của nó là số các DNS server độc lập với định dạng của tên miền.
2.3.2.1.4. Phương pháp quảng bá tùy ý
Quảng bá tùy ý là một dịch vụ giữa các mạng, thích hợp với các tình trạng mà máy chủ, ứng dụng hoặc người sử dụng yêu cầu xác định vị trí một host có khả năng hỗ trợ dịch vụ riêng biệt, nhưng nếu một số server không hỗ trợ dịch vụ này, thì không cần để ý chi tiết xem server nào được sử dụng. Khi sử dụng dịch vụ quảng bá tùy ý, một host truyền gói tin về một địa chỉ quảng bá tùy ý và các mạng chịu trách nhiệm cung cấp một phương pháp phân phát gói tin đó tới ít nhất một, và tốt nhất là chỉ một, trong số các server chấp nhận các gói dữ liệu địa chỉ quảng bá tùy ý đó.
Động cơ thúc đẩy để sử dụng quảng bá tùy ý đó là làm đơn giản hóa đáng kể quả trình tìm kiếm một server thích hợp. Ví dụ, các user thay vì hỏi một danh sách các server và được kết nối tới một server gần nhất. Bằng cách sử dụng anycast, không lâu nữa các thiết bị phân giải DNS sẽ được định cấu hình với các địa chỉ IP của các server, chứ không phải gửi câu hỏi địa chỉ anycast tới DNS đã biết.