Tải bản đầy đủ (.pdf) (27 trang)

BÀI TIỂU LUẬN-PROXY WEB CACHING

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (704.5 KB, 27 trang )






TIỂU LUẬN
INTERNET VÀ GIAO THỨC











GIẢNG VIÊN HƯỚNG DẪN:

PGS.TS NGUYỄN TIẾN BAN
LỚP:

D11VT6
NHÓM SINH VIÊN THỰC HIỆN:

[1] ĐẶNG VĂN QUÝ
[2] LƯU ĐỨC TIẾN
[3] VŨ VĂN TOÀN
[4] PHẠM THẾ ANH
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


KHOA VIỄN THÔNG I
HÀ NỘI 2014
ĐỀ TÀI: PROXY WEB CACHING
Proxy Web Caching
Lời nói đầu


Tiểu luận: Internet và Giao thức - D11VT6
i

LỜI NÓI ĐẦU
Từ khi xuất hiện cho đến nay, World Wide Web ngày càng trở nên phổ biến và trở
thành một phương tiện truy nhập mạng đơn giản, thân thiện với người sử dụng. Với các
trang Web, người sử dụng có thể tìm kiếm và tải về nhiều thể loại hình thông tin trên
mạng mà không cần phải có nhiều hiểu biết về mạng. Đứng trên quan điểm của người sử
dụng, họ không cần quan tâm đến việc thông tin mà họ tìm kiếm ở một hệ thống ngay
bên cạnh hay ở một nơi ở đầu kia của quả đất. Chính điều này dẫn đến sự bùng nổ về lưu
lượng trên các mạng đường trục khu vực.
Chất lượng dịch vụ và thời gian đáp ứng có thể được cải thiện bằng cách giảm tải cho
mạng. Một cách để đạt được yêu cầu này là sử dụng kỹ thuật Web caching. Kĩ thuật Web
Caching ra đời đã nâng cao được hiệu quả trong việc thực hiện tăng tốc các ứng dụng
Web.
Bài tiểu luận sẽ đi tìm hiểu và phân tích kỹ một loại Web caching điển hình, đó là
Proxy Web Caching, hay còn có thể gọi là Proxy Server.
Phần 1 giới thiệu chung về Web caching.
Phần 2 trình bày về kiến trúc mô hình internet và các đặc điểm chính của Proxy Web
Caching.
Phần 3, 4, 5 sẽ cho chúng ta thấy các mô hình Web Cache và cách triển khai các mô hình
đó trong mạng Internet.
Bài tiểu luận được hoàn thành trong thời gian ngắn nên không tránh khỏi những sai sót.

Do vậy, rất mong nhận được ý kiến đóng góp của thầy giáo và các bạn trong lớp quan
tâm để hoàn thiện hơn.

Nhóm sinh viên
Proxy Web Caching
Các thuật ngữ viết tắt

Tiểu luận Internet và Giao thức - D11VT6
ii


CÁC THUẬT NGỮ VIẾT TẮT

Từ viết tắt
Nghĩa tiếng Anh
Nghĩa tiếng Việt
ACK
Acknowledge
Tin báo nhận
CARP
Cache Array Routing Protocol
Giao thức định tuyến dãy bộ nhớ đệm
HTCP
Hyper Text Caching Protocol
Giao thức cache siêu văn bản
ICP
Internet Cache Protocol
Giao thức cache liên mạng
IP
Internet Protocol

Giao thức liên mạng
ISP
Internet service provider
Nhà cung cấp dịch vụ Internet
LAN
Local area network
Mạng cục bộ
POPs
Points of Presence
Các điểm hiện diện
RTT
Round Trip Time
Thời gian trễ trọn vòng
TCP
Transmission Control Protocol
Giao thức điều khiển truyền vận
URL
Uniform resource locator
Địa chỉ tài nguyên
WCCP
Web cache coordination Protocool
Giao thức phối hợp bộ nhớ đệm web
WWW
World Wide Web
Web toàn cầu
Proxy Web Caching
Danh mục bảng biểu, hình vẽ


Tiểu luận Internet và Giao thức - D11VT6

iii


DANH MỤC BẢNG BIỂU, HÌNH VẼ

Hình 2.1: Vị trí của Proxy - cache 2
Hình 2.2: Một giao dịch Web Proxy 3
Hình 2.3: Mô hình web cache 5
Hình 2.4: Trở ngại giữa mạng LAN và mạng Public 7
Hình 2.5: Thêm Cache vào mạng LAN 8
Hình 3.1: Transparent Caching 12
Hình 5.1: Một web cache có thể lựa chọn 16
Hình 5.2: Các web cache tái tạo 17
Hình 5.3: Mô hình cân bằng tải cho hệ thống web cache 18
Proxy Web Caching
Mục lục

Tiểu luận Internet và Giao thức - D11VT6
iv


MỤC LỤC
LỜI NÓI ĐẦU i
CÁC THUẬT NGỮ VIẾT TẮT ii
DANH MỤC BẢNG BIỂU, HÌNH VẼ iii
MỤC LỤC iv
1. GIỚI THIỆU CHUNG 1
2. PROXY WEB CACHING 2
2.1. Ý tưởng 2
2.2. Truy cập web dựa trên mô hình end-to-end 3

2.3. Đặc điểm của proxy web caching 5
2.4. Tỉ lệ trúng Web cache – tỉ lệ trúng web server 9
3. CÁC MÔ HÌNH WEB CACHING 11
3.1. Caching đúng nghĩa (caching hiện hữu) 11
3.2. Caching hiện hữu ép buộc 11
3.3. Caching “trong suốt” (transparent caching) 11
4. HỆ THỐNG WEB CACHING 14
5. MÔ HÌNH TRIỂN KHAI WEB CACHE 16
6. KẾT LUẬN 21


Proxy Web Caching
1. Giới thiệu chung

Tiểu luận Internet và Giao thức - D11VT6
1

1. GIỚI THIỆU CHUNG
Kỹ thuật Web Caching chính là việc chuyển bản sao của các tài liệu Web từ Web
sever đến gần với Web client hơn. Nhìn chung, người sử dụng Web client sẽ chỉ nhận
thấy độ trễ rất thấp khi yêu cầu một URL, phía nhà quản lý mạng sẽ nhận thấy ít lưu
lượng hơn và các Web sever có số lượng các yêu cầu cung cấp dịch vụ thấp hơn. Web
client yêu cầu tài liệu từ Web server hoặc trực tiếp hoặc thông qua Web cache server hay
proxy. Chức năng của Web cache server là lưu trữ các tài liệu Web (có thể là các trang
HTML, các hình ảnh hoặc các tệp tin) tại vị trí gần với người sử dụng để tránh phải
truyền về nhiều lần cùng một tài liệu qua cùng một kết nối và do đó làm giảm thời gian
tải về và tạo ra ít tải hơn trên các server.
Trình duyệt Web được sử dụng rất rộng rãi trong Internet ngày nay. Hơn 2/3 lượng
lưu lượng trên mạng được tạo ra bởi Web. Khi xem xét làm thế nào để nâng cao chất
lượng dịch vụ cung cấp bởi mạng Internet thì việc đầu tiên là kiểm tra việc thực hiện các

giao dịch web. Chính ở đây, bộ nhớ đệm Web có thể đóng một vai trò quan trọng trong
việc cải thiện chất lượng dịch vụ cho một phạm vi rộng lớn của người sử dụng Internet.
Có hai loại bộ nhớ đệm Web là browser cache và proxy cache.
 Browser cache là một phần của tất cả các trình duyệt Web. Nó lưu giữ một bản sao
của tất cả các trang vừa mới truy cập và khi người sử dụng quay lại một trong các
trang đó thì bản sao này sẽ được dùng lại.
 Ngược lại, proxy cache là một thiết bị mạng chia sẻ, nó có thể thực hiện các giao
dịch Web thay mặt cho client và giống như browser cache, nó lưu trữ thông tin.
Lúc này, proxy cache hoặc các bộ nhớ cache khác sẽ được kích hoạt để cung cấp
các bản sao lưu trữ nội dung, tránh việc tải về từ các nguồn nội dung gốc. Trong
bài báo này, chúng ta xem xét proxy cache một cách chi tiết hơn, đặc biệt là ở khía
cạnh triển khai proxy cache trong mạng ISP.

Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
2

2. PROXY WEB CACHING
2.1. Ý tưởng
Browser cache làm việc theo một quy luật đơn giản. Nó sẽ kiểm tra những gì bạn đã
xem được cập nhật hay chưa, thường là một phiên thông tin. Cache này đặc biệt có ích
khi người dùng nhấn vào nút Back hoặc nhấn vào một liên kết đến một trang mà họ vừa
mới xem. Ngoài ra, nếu bạn sử dụng cùng các hình ảnh liên kết trong suốt một site, gần
như ngay lập tức người dùng sẽ được đáp ứng từ caches của browser.
Web proxy cache làm việc cùng nguyên tắc với browser cache, nhưng ở phương diện
rộng lớn hơn. Proxies đáp ứng hàng trăm hoặc hàng ngàn users cùng một cách thức,
những tập đoàn lớn và ISP thường thiết lập chúng trên các firewalls, hoặc như một thiết
bị độc lập (thường hiểu như là những phương tiện trung gian).

Những proxy cache là một dạng của cache chia sẻ, nó không chỉ được sử dụng bởi
một người, mà nó thường có một lượng lớn users, và bởi vì nó rất tốt cho việc giảm
những nguy cơ tiềm ẩn và đường truyền mạng. Đó là lý do các thông tin lướt trên web
tiết kiệm được nhiều thời gian.

Hình 2.1: Vị trí của Proxy - cache

Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
3

Khi một trình duyệt muốn tìm kiếm một URL, nó lấy hostname và dịch sang địa chỉ
IP. Một phiên HTTP được mở ra và client yêu cầu URL từ server.
Khi sử dụng proxy cache, việc trao đổi cũng không có gì khác biệt. Client mở một
phiên HTTP với proxy cache và lập tức yêu cầu URL gửi đến proxy cache (Hình 2.2).

Hình 2.2: Một giao dịch Web Proxy
Nếu bộ nhớ cache chứa URL tương ứng, nó sẽ kiểm tra đây có phải là bản mới nhất
không bằng cách so sánh với trường thông tin Expires (hết hiệu lực) nếu có hoặc bằng
một số cách khác được xác định tại cục bộ. Sau đó các thành phần cũ được làm mới lại và
đánh dấu lại thành phần đó là mới nhất. Các đối tượng mới nhất được gửi cho client. Nếu
như cache không có bất kỳ bản copy local của URL hoặc thành phần đã hết hạn thì lúc
này ta gọi là cache miss. Trong trường hợp này, hoạt động của cache giống như agent cho
client, mở phiên làm việc riêng với máy chủ có tên trong URL và có gắng truyền trực tiếp
vào bộ nhớ cache.
2.2. Truy cập web dựa trên mô hình end-to-end
Nguyên tắc thiết kế ban đầu của kiến trúc Internet là mô hình end-to-end. Trong mô
hình đó thì mạng là một công cụ thụ động trong việc thực hiện để chuyển tiếp các gói tin

đến đích. Giả sử rằng các gói tin gửi đi sẽ được truyền đến đúng đích và các đáp ứng
được gửi bởi đúng đích (tránh trướng hợp một bên thứ 3 đứng giữa đóng giả để trao đổi
thông tin với client).
Giao thức giao dịch WWW, HTTP được xây dựng trên mô hình này. Nó là nơi một
phiên TCP được mở ra với máy chủ. Cuộc trao đổi HTTP tiếp theo xác định các yêu cầu
dữ liệu trên các host đích và các dữ liệu này sau đó được truyền lại cho client. Mô hình
chuyển giao này được thể hiện tốt nhất như một mô hình chuyển giao tránh lãng phí tài
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
4

nguyên khi chỉ xét trong khoảng thời gian dữ liệu được truyền trực tiếp đến khách hàng
theo yêu cầu.
Mô hình chuyển giao này có nhiều lợi thế đáng kể. Máy chủ dữ liệu có thể chỉnh sửa
nội dung và toàn bộ yêu cầu của client phía sau để được cung cấp với các thông tin cập
nhật và các cập nhật ngay lập tức được thể hiện rồi mới gửi các dữ liệu. Máy chủ dữ liệu
cũng có thể theo dõi tất cả các yêu cầu nội dung, cho phép các nhà cung cấp nội dung
theo dõi những nội dung cụ thể được yêu cầu, nhận dạng yêu cầu của mỗi người và mức
độ thường xuyên của mỗi mục nội dung được tham chiếu. Các nhà cung cấp nội dung
cũng có thể phân biệt giữa các khách hàng khác nhau, và sử dụng một số hình thức của
mô hình bảo mật, các nhà cung cấp nội dung có thể xác thực khách hàng và cung cấp
thông tin đặc quyền cho các khách hàng. Trong mô hình này các nhà cung cấp nội dung
cũng có thể phân biệt giữa các khách hàng nhằm cung cấp thông tin nhất định đến một số
khách hàng đặc biệt và các thông tin khác cho các khách hàng khác của máy chủ nội
dung.
Nhiều hệ thống web được xây dựng dựa trên khả năng của mô hình chuyển giao end-
to-end này. Liên tục cập nhật các trang web theo kiểu hoặc là server đẩy hoặc là client
kéo để cập nhật thông tin nội dung trên màn hình client một cách đều đặn đặc biệt được

sử dụng để hiển thị giá cổ phiếu trên thị trường, bản đồ thời tiết, hoặc màn hình quản lý
mạng.
Trong mô hình end-to-end có một số điểm hạn chế:
- Một server mà cung cấp các thông tin phổ biến thì sẽ phải chịu áp lực nặng nề, cả
về số lượng người truy cập cùng lúc tại nhiều thời điểm và cả về số lượng dữ liệu
được gửi từ máy chủ cho các mạng xung quanh.
- Lưu lượng lúc này giống như là tải của hệ thống máy chủ hoặc tải của mạng xung
quanh máy chủ. Để cải thiện hiệu năng của hệ thống như vậy có thể cải thiện máy
chủ bằng cách tăng số lượng máy chủ thông qua việc sử dụng các cụm server kết
hợp với máy chủ quản lý traffic và giúp cải thiện dung lượng của mạng cục bộ.
Tuy nhiên, tất cả các biện pháp này có thể không giải quyết tất cả các vấn đề trong
việc duy trì chất lượng của việc cung cấp nội dung.
- Hệ thống khách hàng dùng modem và hệ thống khách hàng dùng wireless băng
thông thấp đều bị hạn chế bởi băng thông và trễ trong quá trình giao tiếp end-to-
end với server. Cải thiện dung lượng của các máy chủ có thể không nhất thiết phải
giảm số lượng các kết nối của khách hàng mà cùng hoạt động đồng thời. Trong
khi giảm trễ giữa khách hàng và các điểm phân phối nội dung sẽ giúp cải thiện
hiệu suất của việc phân phối nội dung.
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
5

Thêm vào đó, bản thân mạng không được sử dụng hiệu quả, lưu lượng web tại cùng
một thời điểm có khá nhiều nhân bản và mạng phải mang các bản sao của cùng một dữ
liệu đến mỗi khách hàng gây ra lãng phí đường truyền. Đối với một nhà cung cấp thì
dung lượng truyền tải là một chi phí kinh doanh nên việc xuất nhập nội dung chỉ xảy ra
lần đầu, sau đó thì thông qua bản copy cục bộ của nội dung sẽ được gửi đến cho khách
hàng. Đây là một phương pháp giúp cải thiện hiệu năng của mạng.

Xét về khả năng cải thiện hiệu suất của dịch vụ cung cấp nội dung cho một mạng lưới
toàn cầu của các khách hàng, và về khả năng nâng cao hiệu quả vận chuyển mạng, bộ
nhớ đệm đem lại nhiều ý nghĩa với các nhà cung cấp nội dung, các ISP, và cuối cùng là
cho khách hàng.
2.3. Đặc điểm của proxy web caching
Các lợi ích tương tự của cải thiện hiệu suất và giảm traffic đi ra ngoài có thể được
thực hiện cho lưu lượng WWW thông qua việc triển khai web cache. Web cache về cơ
bản không khác với bất kỳ hình thức của bộ nhớ đệm nào khác. Các yêu cầu của client
được truyền thông qua cache agent sau đó từ đây mới tạo yêu cầu gửi đến nguồn giống
như một đại diện cho client. Đáp ứng của máy chủ được giữ lại trong bộ nhớ cache cục
bộ, và một bản sao được chuyển cho client. Nếu cùng một yêu cầu được chuyển đến
cache agent ngay sau khi yêu cầu ban đầu được phục vụ thì đáp ứng có thể được tạo ra từ
bộ nhớ cache mà không cần tham khảo thêm với nguồn gốc.

Hình 2.3: Mô hình web cache
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
6

Dựa vào dữ liệu đo đạt về lưu lượng dữ liệu của ISP, có thể thấy rằng khoảng 70%
lưu lượng truy cập là lưu lượng trên nền Web. Phân tích các yêu cầu về Web cho thấy
rằng mức độ giống nhau của các yêu cầu có thể xấp xỉ 50%.
Có hai tỷ lệ trúng là tỷ lệ trúng trang và tỉ lệ trúng byte. Tỷ lệ trúng trang là tỷ lệ các
yêu cầu HTTP có thể được phục vụ nhờ vào cache mà không cần quan tâm đến kích
thước của trang. Tỷ lệ trúng byte là tỷ lệ số lượng byte được truyển từ cache với số lượng
byte không trúng. Kinh nghiệm cho đến nay đã chỉ ra rằng tỷ lệ trúng trang của một nơi
nào đó từ 40 đến 55 phần trăm là có thể đạt được đối với một bộ nhớ cache cấu hình tốt.
Trong trường hợp như vậy tỷ lệ trúng byte là từ 20 đến 35 phần trăm. Một phần lớn trong

tỷ lệ trúng là do các tập tin hình ảnh.
Ví dụ, nếu chi phí truyền tải trung bình là $150 cho mỗi gigabyte và ISP mua lưu
lượng 1.000 gigabyte mỗi tháng từ một ISP nguồn với 70% lưu lượng là truy cập web;
khi đó nếu một bộ nhớ cache hoạt động với tỉ lệ hit byte là 25% có thể tiết kiệm cho ISP
$26.250 chi phí thường xuyên mỗi tháng. Nếu bộ nhớ cache có giá vốn $100,000 và chi
phí hoạt động $2000 mỗi tháng cho các dịch vụ, thực hiện các phân tích kinh doanh sẽ
thấy hoạt động của bộ nhớ cache đem lại $18.000 mỗi tháng cho các doanh nghiệp.
Khách hàng cũng có lợi ích là tốc độ tải trang web tăng lên (với các nội dung đã được
lưu đệm) do độ trễ của mạng giữa khách hàng và bộ nhớ cache cục bộ giảm.
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
7


Hình 2.4: Trở ngại giữa mạng LAN và mạng Public
Kích thước trung bình của một giao dịch web là khoảng 16 gói dữ liệu trên luồng
TCP. Trong một quá trình điều khiển lưu lượng TCP theo kiểu tăng chậm (slow-start),
chu kỳ đầu tiên sẽ truyền tải một gói tin và chờ đợi ACK. Việc nhận được ACK sẽ kích
hoạt truyền hai gói RTT (round-trip-time) thứ hai, và sau đó người gửi sẽ chờ đợi hai
ACK. Tiếp nhận hai ACK này sẽ kích hoạt thêm bốn gói trong chu kỳ thứ ba và tám
trong chu kỳ tiếp theo, và các gói tin còn lại trong chu kỳ thứ năm. Do đó, giao dịch web
cần trung bình 5 RTT để đạt trạng thái tối ưu của thuật toán TCP tăng chậm. Nếu một
người dùng ở khá xa trang web, và RTT tới nguồn là 300 ms, trễ tải trang sẽ là 1,5 giây.
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
8



Hình 2.5: Thêm Cache vào mạng LAN
Trong khi đó, nếu thời gian truy cập Web cache cục bộ là 2 mili giây, thì trễ tải trang chỉ
là 10 ms. Những con số này thu được với giả sử mạng không nghẽn trong cả hai trường
hợp. Trong trường hợp này, miễn là tìm kiếm Web cache có thể hoàn thành trong vòng 1
giây, cache sẽ cho tốc độ tải trang nhanh hơn nhiều so với khi không có cache.
Có thể có một phân tích hơi khác là so sánh hiệu suất khi có bộ nhớ cache được cấu
hình tại điểm cuối (Headend). Hình 2.4 gồm 2 mạng – Mạng tổ chức và mạng Public
Internet. Mạng tổ chức là mạng LAN tốc độ cao 100Mbps, bỏ qua tham số delay. Router
kết nối 2 mạng có tốc độ là 15Mbps, delay =1s. Trung bình 1 object kích thước là 1Mbit
và trình duyệt gửi 15 request/s. Khi đó cường độ lưu thông trong mạng LAN là
(15 requests/sec) x (1 Mbits/request)/(100 Mbps) = 0.15
trong khi cường độ lưu lượng trên link access (giữa 2 router) là
(15 requests/sec) x (1 Mbits/request)/(15 Mbps) = 1
Do đó, đường kết nối ra ngoài internet dễ bị tắc nghẽn và trễ cao. Vì vậy nếu tổ chức đặt
1 bộ proxy cache nằm trong mạng LAN. Giả sử tỉ lệ hit là 40% thì độ trễ trong mạng
LAN là 10ms. Độ trễ trung bình là
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6
9

0.4 x (0.01 seconds) + 0.6 x (2.01 seconds) = 1.2seconds
Do đó, giải pháp thứ hai này cung cấp một thời gian đáp ứng thậm chí thấp hơn so với
mô hình đầu tiên , và nó không yêu cầu tổ chức các nâng cấp liên kết của nó với Internet.
Cũng như các mô hình truy cập trực tiếp, phương pháp này cũng có nhược điểm:
- Cache hoạt động như đại diện của điểm cuối. Nội dung tại cache là nội dung dựa
trên thời gian cache yêu cầu đến máy chủ

- Nội dung máy chủ cấp cho cache dựa trên định danh của cache, chứ không phải
của khách hàng cuối.
- Khi hoạt động với các dữ liệu cache, server có cache không có được bức tranh
chính xác về thời gian truy cập các nội dung, và người truy cập.
- Server không thể xác thực máy khách, server cũng không thể phân phối các thông
tin dựa trên thông tin nhận thực được cấp cho máy khách.
- Tại máy khách cũng có các vấn đề tiềm tàng, do máy khách không nhận ra là nội
dung được phân phối từ một cache đại diện. Nội dung đó có thể không phản ánh
đúng định danh của máy khách, và thông tin đó có thể là dựa trên mô hình bảo mật
từ server tới cache, hơn là từ server tới máy khách ở đầu cuối, và máy khách có
thể không nhận ra các thay đổi đó trong tên miền bảo mật. Nếu nội dung là phụ
thuộc thời gian thì nó sẽ phản ánh thời gian cache lấy nội dung hơn là khi máy
khách thực hiện yêu cầu.
Những điều vừa chỉ ra cho thấy cache không phải là một công cụ có thể áp dụng trong
mọi trường hợp. Một phần thách thức của việc triển khai các cache server là hiểu được
các mô hình triển khai cache và phân phối nội dung Web, và đảm bảo cache không gây
nhầm lẫn theo cách làm thay đổi tính thống nhất của nội dung phân phối tới người sử
dụng đầu cuối.
2.4. Tỉ lệ trúng Web cache – tỉ lệ trúng web server
Một trong những vấn đề lớn nhất là cân bằng giữa hoạt động của cache để tối đa tỉ lệ
cache trúng và mong muốn của người phát hành nội dung web là đảm bảo đếm chính xác
số lượt truy cập trang và xuất phát của truy cập. Trong hầu hết các trường hợp, đây là yêu
cầu cần được xem xét hơn là điều khiển việc phân phối nội dung. Nhà cung cấp nội dung
web không nhất thiết phải quan tâm tới tỉ lệ hit của nội dung web. Hơn nữa, nhiều nhà
cung cấp nội dung web thấy được giá trị từ việc phân phối các nội dung tĩnh tới máy
khách hơn là họ phải chịu nhiều chi phí phân phối nội dung từ trang cục bộ.
Proxy Web Caching
2. Proxy web caching

Tiểu luận Internet và Giao thức - D11VT6

10

Các trang tĩnh, gồm các nội dung ảnh và chữ đơn giản đã được lưu cache sẵn, do vậy,
các nhà phân phối nội dung gốc có thể không biết chính xác số lần trang được hiển thị khi
khảo sát bản ghi trên server. Một số nhà thiết kế web đặt các thông tin trong đường dẫn
web; thông tin này làm cho server web cache không thể tái sử dụng trang đã lưu cache,
Cách thông dụng nhất để làm việc này là đặt header mang thông tin "hết hạn" (expire)
theo thời gian, do vậy trang sẽ được tải lại vào lần kế tiếp khi nó được truy cập. Và một
trong những thủ thuật của cache server để tăng tỉ lệ hit là bỏ qua phần đó trong đường
dẫn.
Vấn đề đếm truy cập của server đã ngăn cản sự triển khai cache nhiều năm nay. Dù có
những yêu cầu thực tế về xác thực, bảo mật, nội dung thời gian thực, và dữ liệu theo máy
khách dẫn tới chắc chắn có các dạng dữ liệu được gắn cờ không lưu cache được, nhưng
nhiều dữ liệu được gắn cờ đó đơn giản chỉ để server theo dõi định danh của máy khách.
Những dạng tránh cache này là không cần thiết và tiêu tốn tài nguyên mạng, có thể gây
quá tải cho server nội dung. Có một Chuẩn internet mở rộng cho HTTP nhằm cung cấp
một header đo lường ("Meter" header), để cache có thể truy cập các.thông tin liên quan
và gửi lượng truy cập về cho server nội dung gốc, mở rộng này đưa ra các giới hạn sử
dụng, nêu ra một cache server có thể cung cấp nội dung một số giới hạn lần trước khi
phải xác nhận lại với server nội dung.
Proxy Web Caching
3. Các mô hình web caching

Tiểu luận Internet và Giao thức - D11VT6
11

3. CÁC MÔ HÌNH WEB CACHING
3.1. Caching đúng nghĩa (caching hiện hữu)
Một vài hệ thống cache ủy quyền được triển khai theo dạng tùy chọn được thiết lập
bởi người dùng. Người dùng chỉ định một cache server cho browser như một proxy

agent, sau đó browser sẽ chuyển tất cả các request đến proxy cache. Người dùng có thể
bật hoặc tắt tùy chọn này tại mọi thời điểm, đảm bảo client được truyền thông trực tiếp
với server gốc. Khi gặp phải lỗi, một số trình duyệt hiện đại cũng có cơ chế tự động tắt
proxy cache để truy cập trực tiếp. Trong chế độ proxy cache, địa chỉ đích nằm dưới tầng
transport là địa chỉ của server cache, trong khi nội dung HTTP không đổi. Kiểu mô hình
cache như trên có thể được triển khai bên trong một mạng cục bộ của client, với mục đích
giảm thiểu lưu lượng (traffic) đến ISP. Thêm vào đó, ISP có thể hoạt động như cache tự
nguyện(voluntary cache) phục vụ các client của nó. Nếu ISP hoạt động ở chế độ này,
giữa người dùng (client) và ISP phải có sự ngầm định cũng như client phải nhận biết
được vị trí của cache khi cấu hình local browser.
3.2. Caching hiện hữu ép buộc
Một vài ISP đặc biệt là các ISP dạng dialup hoạt động trong môi trường cạnh tranh về
giá rất cao. Hiệu năng và giá dịch vụ là một nhân tố kinh tế rất quan trọng, và rất có thể
các ISP lựa chọn chế độ hoạt động caching hiện hữu cho mạng của mình mà không cần
đến quyết định của người dùng, vì thế chế độ này là chế độ caching hiện hữu ép buộc. Ví
dụ: ISP sẽ khóa tất cả các luồng lưu lượng mạng đi qua cổng TCP 80 (cổng được sử dụng
bởi giao thức vận tải HTTP Web), chuyển hướng chúng vào các proxy cache khi client
truy cập Web ngoài vùng mạng.
3.3. Caching “trong suốt” (transparent caching)
Việc sử dụng cache đối với toàn bộ lưu lượng Web có thể được chỉ định bởi ISP mà
không cần cấu hình hiện hữu để nhận dạng các proxy cache trong các browser của người
dùng (client). Nguyên tắc đã chỉ ra rất rõ ràng, tuy nhiên có rất nhiều cách khác nhau để
triển khai. Kĩ thuật caching này được gọi là caching “trong suốt” (transparent caching).
Với việc caching này, người dùng, browser của người dùng không cần nhận thức chính
xác rằng việc ISP đang sử dụng caching khi xử lý các request của họ. Ở đây mạng sẽ phải
cắt đi các bản tin HTTP có đích đến các Web server từ xa (remote Web server), thay vào
đó sẽ gửi trả lại các bản tin có trong proxy cache. Một khi page đã được xác định, tùy
theo các sự kiện “hit” hay “miss” mà cache sẽ trả lại yêu cầu ban đầu của client bằng
cách giả định là đích đến ban đầu của bản tin request (Hình 1).
Cần lưu ý là các cơ chế trên không phải hoàn toàn trong suốt đối với Web client và

Web Server. Nếu Web server sử dụng mô hình truy cập bảo mật đầu cuối, việc caching
“trong suốt” có thể không thực hiện được vì cache sẽ đưa ra địa chỉ của nó chứ không
Proxy Web Caching
3. Các mô hình web caching

Tiểu luận Internet và Giao thức - D11VT6
12

phải địa chỉ của client. Việc này dẫn đến các page bị từ chối khi yêu cầu cache, trong khi
client có thể hoàn toàn giao dịch trực tiếp với server. Những tình huống sử dụng cache
được ủy quyền do các chức năng lọc và ép buộc, qua hệ thống chuyển hướng “trong
suốt”, người dúng sẽ không thể nhìn thấy cách khắc phục, làm cho sự thất vọng về toàn
bộ dịch vụ cache tăng lên nhanh chóng.

Hình 1.1: Transparent Caching
Một vài trường hợp ta vẫn có thể giải quyết vấn đề này. Một cách tiếp cận là khi có
lỗi lấy dữ liệu cache (cache fetch error) thì ta sẽ kích khởi hệ thống con cache, thiết lập ra
một phiên HTTP với nội dung gửi đến server có địa chỉ nguồn là của client, sau đó truyền
đi bản tin yêu cầu HTTP GET đến server. Phản hồi (respone) của server sau đó sẽ được
truyền đến client thông qua một cầu TCP (một cầu TCP là nơi thiết bị kết nối được yêu
cầu để dịch ra các chuỗi sequence number của các TCP header giữa hai phiên TCP). Các
hệ thống con cache chặn bắt các packet của server gửi đến client đòi hỏi sự phối hợp chặt
chẽ với cả cache router, nên hoạt động của TCP bridge khá phức tạp, vì vậy mà phương
pháp này thiếu đi sự ổn định. Một cách tiếp cận nữa là chỉ định cache server truyền
ngược trở lại client một bản tin TCP RST, chỉ dẫn cho cache router thêm một đầu vào
tạm thời trong bộ lọc chuyển hướng để tất cả các kết nối TCP cổng 80 từ client sẽ được
đến server gốc mà không bị chuyển hướng đến cache nữa.
Nếu cách thiết lập cache chỉ có một lợi ích duy nhất là tăng cường tốc độ truy nhập
mạng của khách hàng thì ISP phải biết rõ hiệu năng của hệ thống cache phải được duy trì
để đáp ứng được tất cả các Web request, nằm trong khả năng của ISP. Sự kiện cache

“hit” duy trì ở mức ổn định sẽ cho phép client truy cập nhanh hơn khi truy cập đến server
gốc. Sự kiện cache “miss” phải ở mức độ nhất định để tốc độ truy cập không thấp hơn
quá nhiều khi so sánh với phương pháp truy cập trực tiếp đến trang web gốc. Nếu hiệu
năng của cache không được đảm bảo cho người dùng, thì lợi ích hướng đến người dùng
sẽ mất. Trong trường hợp đã lựa chọn kĩ thuật caching, thì người dùng sẽ tắt tùy chọn
cache trong browser của họ và quay lại cách thức truy cập trực tiếp.
Proxy Web Caching
3. Các mô hình web caching

Tiểu luận Internet và Giao thức - D11VT6
13

Mô hình kinh doanh của cache là giá thành hoạt động và vốn bỏ ra đi cùng với lưu
lượng cục bộ tại các vùng để giảm thiểu chi phí cho ISP, khi so sánh với mạng không
cache. Việc cắt giảm chi phí có thể được chuyển cho tất cả người dùng thông qua hoạt
động của toàn bộ dịch vụ với một mức giá thấp hơn hoặc chuyển chọn lọc cho những
khách hàng sử dụng bộ nhớ cache thông qua một số hình thức cước sử dụng cache. Mô
hình chung của việc áp dụng giảm chi phí cước dịch vụ của ISP chắc chắn là một lợi thế
trong một thị trường cạnh tranh giá. Tuy nhiên, trừ khi hiệu suất của bộ nhớ cache rất
cao, và độ trong suốt của cache là gần hoàn hảo, mỗi người dùng cá nhân vẫn có thể sử
dụng phương pháp truy cập trực tiếp.
Mô hình kinh doanh khác là phải vượt qua các khoản tiết kiệm chi phí cận biên cho
những khách hàng sử dụng bộ nhớ cache, và ở một mức độ tương ứng với sử dụng bộ
nhớ cache của khách hàng và hiệu quả của nó trong hoạt động ở tốc độ truy cập cache
cao. Ví dụ, các ISP sử dụng một mô hình tính phí bao gồm một thành phần thuế dựa trên
số lượng dữ liệu chuyển cho khách hàng trong thời gian tính phí, phần thuế này có thể
được điều chỉnh bằng lượng sử dụng của khách hàng được thực hiện bởi hệ thống bộ nhớ
cache và hiệu quả hoạt động của các bộ nhớ cache trong việc tạo ra lượt truy cập bộ nhớ
cache.
Ví dụ, nếu lưu lượng bị tính phí $ 100 cho mỗi gigabyte được truyền tới khách hàng,

sự giảm giá có thể được tính cho lưu lượng nhận được từ bộ nhớ cache web. Nếu tốc độ
truy cập trung bình bộ nhớ cache 30 %, sau khi thanh toán chi phí thiết bị và hỗ trợ hoạt
động, lưu lượng từ bộ nhớ cache có thể được tính 80$ cho mỗi gigabyte. Ở đây, lợi ích
của việc sử dụng bộ nhớ cache Web được thể hiện trực tiếp với những khách hàng sử
dụng bộ nhớ cache, cả hai bên đều được hưởng mức thuế thấp hơn và tỷ lệ thuận với việc
sử dụng bộ nhớ cache và đồng thời có được hiệu suất cao nhờ sử dụng bộ nhớ cache. Quá
trình thanh toán theo mô hình tiếp thị này chắc chắn liên quan nhiều hơn đến quá trình,
liên quan đến hệ thống thanh toán bổ sung và xử lý việc sử dụng bộ nhớ cache để có cái
nhìn chính xác về lượng sử dụng cache của người dùng.
Ngày càng trở nên rõ ràng rằng một mô hình kinh doanh mạnh mẽ kết hợp với một
mô hình sử dụng tùy ý của một bộ nhớ cache Web là cách tiếp cận đến một đơn vị tính
giá thấp hơn cho lưu lượng. Bằng cách này, người dùng thấy động lực lợi ích tài chính
trực tiếp trong việc lựa chọn sử dụng hệ thống bộ nhớ cache. Khi các nhà cung cấp triển
khai bộ nhớ đệm ẩn hoặc bắt buộc, điều đó đã chuyển những lợi ích của bộ nhớ đệm vào
một cấu trúc giảm giá chung cho tất cả các khách hàng và tạo ra một mô hình kinh doanh
tốt hơn.
Proxy Web Caching
4. Hệ thống web caching

Tiểu luận Internet và Giao thức - D11VT6
14

4. HỆ THỐNG WEB CACHING
Hệ thống cache có thể có nhiều dạng. Các máy chủ web gốc từ CERN, nơi bắt nguồn
của sự phát triển phần mềm Web, đã cho phép một chế độ của hành vi proxy. Mô hình
máy chủ cache này được phát triển rõ rệt trong dự án Harvest, một dự án nghiên cứu tại
Đại học Colorado. Sau đó trở thành một hướng phát triển, các máy chủ cache Harvest
đang được tiếp tục phát triển trong phạm vi phát triển các phần mềm máy chủ cache
Squid và giao thức cache internet liên kết (ICP - Internet Cache Protocol).
Hiện nay có rất nhiều hệ thống bộ nhớ cache proxy khả dụng, chẳng hạn như Squid,

và các hệ thống thương mại có sẵn như Cache Engine Cisco Systems. Một số các hệ
thống này là các gói phần mềm hoạt động trên nền tảng hệ điều hành thông thường, trong
khi một số sử dụng một nền tảng với nhân riêng, được tối ưu hóa cho nhu cầu môi trường
truyền bộ nhớ cache.
Nhiều đặc điểm của hệ thống bộ nhớ đệm web có liên quan đến hiệu năng môi trường
bộ nhớ cache. Đầu tiên là kích thước của máy chủ cache. Mối quan hệ giữa kích thước
của bộ nhớ cache và tốc độ truy cập không phải là một mối quan hệ tuyến tính. Từ các
đặc tuyến điển hình của việc sử dụng Web được rút ra từ một lượng lớn người sử dụng,
một bộ nhớ cache dung lượng 1 GB hoặc cao hơn sẽ mang lại tốc độ hit hợp lý. Tăng
thêm kích thước bộ nhớ cache sẽ mang lại những cải tiến đáng kể tốc độ truy cập, tỉ lệ gia
tăng được mô tả tốt nhất bởi mối quan hệ theo cấp số mũ âm.
Do đó, bộ nhớ đệm hệ thống với 100 GB dung lượng lưu trữ đem lại hiệu suất thay
đổi không đáng kể nếu so với hệ thống bộ nhớ đệm 10 GB. Như vậy việc tăng bộ nhớ
không phải là một mục tiêu được xác định, bởi vì với các môi trường địa phương khác
nhau thì tất cả đều cho thấy quy luật trở lại giảm dần (diminishing return), trong đó việc
tăng thêm dung lượng cache nhiều hơn nữa không tạo ra sự khác biệt rõ rệt trong hiệu
quả bộ nhớ cache. Bộ nhớ Cache lớn mất nhiều thời gian hơn, từ vày ngày hoặc thậm chí
cả tuần, để xây dựng một kho lưu trữ đủ lớn để chứa các dữ liệu nhằm tạo ra một bộ nhớ
cache có tốc độ hit cao hơn. Nhìn chung, từ 10 đến 100 GB bộ nhớ cache là đủ để hệ
thống cung cấp hiệu suất bộ nhớ cache hiệu quả, miễn là bộ nhớ cache hoạt động ổn định
trong vài tuần sau khi khởi động. Yêu cầu bộ nhớ trong một bộ nhớ cache cũng cần phải
được cấu hình một cách cẩn thận. Chỉ số URL của hệ thống lưu trữ được lưu trong bộ
nhớ ở hầu hết các kiến trúc bộ nhớ cache nhằm mục đích thực hiện tra cứu bộ nhớ cache
nhanh, do đó các đĩa lưu trữ nhiều cấu hình sẽ yêu cầu bộ nhớ lớn hơn.
Tham số tiếp theo là số lượng yêu cầu bộ nhớ cache đồng thời mà máy chủ bộ nhớ
cache có thể quản lý hiệu quả. Lưu ý rằng giá trị này là khác với số lượng yêu cầu mỗi
giây mà máy chủ có thể quản lý được. Số lượng các phiên truy cập đồng thời mà máy chủ
bộ nhớ cache có thể hỗ trợ liên quan đến số lượng tài nguyên được phân bổ cho các yêu
cầu bộ nhớ cache và tổng công suất nguồn.
Proxy Web Caching

4. Hệ thống web caching

Tiểu luận Internet và Giao thức - D11VT6
15

Môi trường triển khai có liên quan mật thiết đến việc hiệu năng môi trường cache. Giá
trị liên quan đến số lượng các yêu cầu đồng thời có thể quản lý được là thời gian trung
bình để xử lý một yêu cầu. Kết hợp hai giá trị này cung cấp cho ta số lượng yêu cầu mỗi
giây mà hệ thống bộ nhớ cache có thể xử lý. Cùng một đơn vị nhưng sẽ có sư khác biêt
về giá trị hiệu năng đối với số yêu cầu mỗi giây khi được triển khai ở các môi trường
khác nhau của Internet. Nếu hệ thống bộ nhớ cache được triển khai với một nguồn cấp dữ
liệu dựa là vệ tinh, thì do đó thời gian trung bình để xử lý một cache là lâu hơn vì độ trễ
của đường truyền vệ tinh là cao hơn. Kịch bản dẫn đến quá trình quản lý các yêu cầu ban
đầu diễn ra trong một khoảng thời gian dài, và ngăn chặn các yêu cầu khác sử dụng khe
quá trình này.
Nếu cùng một đơn vị được triển khai ở một vị trí nơi bộ nhớ cache chỉ mất 1 phần của
một giây để xử lý, khe quá trình có thể nhanh chóng được tái sử dụng. Mỗi khách hàng
kết nối hoạt động cũng tiêu thụ bộ nhớ và kết nối sẽ vẫn mở cho đến khi nào hoàn tất
giao dịch web, hoặc khi hit hoặc miss. Số lượng phiên hoạt động đồng thời càng nhiều
trong bộ nhớ cache thì độ trễ vòng với một sự kiện miss sẽ tăng lên càng lớn. Tương tự
như vậy, càng nhiều modem tốc độ thấp hoặc trạm không dây, thì càng nhiều số lượng
phiên hoạt động đồng thời trong bộ nhớ cache. Cho dù khách hàng hoạt động ở chế độ ẩn
hoặc trong chế độ bộ nhớ đệm ủy nhiệm thì rõ ràng đó cũng là một yếu tố quan trọng.
Khách hàng sử dụng một trình duyệt có proxy cache với một kết nối liên tục, trong khi
nếu bộ nhớ cache là một bộ nhớ cache ẩn, bộ nhớ cache sẽ thấy khách hàng mang đến và
thả các kết nối HTTP mỗi lần thay đổi URL gốc. Tái lập phiên này, cùng với hệ thống tên
miền bổ sung (DNS) độ phân giải tải đối với khách hàng, có thể tăng lên đến nửa giây để
thời gian đáp ứng bộ nhớ cache ẩn khi so với phản ứng tức thời của bộ nhớ cache.
Proxy Web Caching
5. Mô hình triển khai web cache


Tiểu luận Internet và Giao thức - D11VT6
16

5. MÔ HÌNH TRIỂN KHAI WEB CACHE
Đầu tiên, chúng ta xem xét vấn đề mở rộng các cấu hình bộ nhớ cache được tham
chiếu một cách rõ ràng, và sau đó nhìn vào những thay đổi của mô hình đã được giới
thiệu thông qua caching trong suốt.
Mô hình triển khai đơn giản nhất của một bộ nhớ cache rõ ràng là triển khai một hệ
thống bộ nhớ cache đơn như một nguồn tài nguyên có thể lựa chọn trình duyệt. Hệ thống
này có thể được triển khai trong môi trường máy chủ của ISP với một giao diện cổng
TCP-80 mở cho truy cập của khách hàng. Mô hình triển khai như thế được thể hiện trong
hình 5.1.

Hình 5.1: Một web cache có thể lựa chọn
Các hệ thống bộ nhớ cache Web proxy đơn có thể chịu được tải đáng kể, và một bộ
nhớ cache quá tải và kém hiệu quả có lẽ còn kém hơn là không có bộ nhớ cache. Tuy
nhiên, mở rộng mô hình triển khai này có thể giải quyết thách thức trên. Một ISP hoạt
động với đa điểm truy cập, hoặc các điểm hiện diện (POPs - points of presence), một
trong những giải pháp mở rộng quy mô là triển khai một máy chủ tại mỗi POP và sử
dụng cùng địa chỉ IP cho mỗi máy chủ. Giải pháp này cho phép các ISP cung cấp một cấu
hình phù hợp cho tất cả các khách hàng và tăng thêm dung lượng ở bất kỳ vị trí liền
mạch. Nếu bộ nhớ cache tự chịu trách nhiệm cho việc quảng bá địa chỉ IP chung vào hệ
thống định tuyến, các cache cũng có thể hoạt động trong vai trò dự phòng cho nhau. Nếu
có một máy chủ hỏng thì quảng cáo tuyến đường địa phương sẽ bị ngắt. Lưu lượng truy
Proxy Web Caching
5. Mô hình triển khai web cache

Tiểu luận Internet và Giao thức - D11VT6
17


cập trực tiếp đến địa chỉ này sau đó được vận chuyển bằng hệ thống định tuyến đến bộ
nhớ cache proxy gần nhất. Có thể có một số cấp phiên TCP khởi tạo lại các phiên hoạt
động trên các phần tử hỏng, nhưng trong tất cả các phương diện, bộ chuyển mạch luân
phiên liên tục cho các khách hàng gốc, và sự phục hồi trạng thái hoạt động từ trong tập
hợp các máy chủ như vậy có thể được chuyển sang cho hệ thống định tuyến. Mô hình
triển khai này được chỉ ra trong Hình 5. Các máy chủ như vậy có thể được cấu hình như
một tập hợp các hệ thống truyền hình vệ tinh địa phương với một lõi bộ nhớ đệm lớn hơn,
sử dụng một giao thức cấu hình cache internet (ICP - Internet Cache Protocol) để thiết lập
một hệ thống phân cấp bộ nhớ đệm.

Hình 5.2: Các web cache tái tạo
ICP là một định dạng thông điệp trọng số thấp dành cho giao tiếp giữa các web cache.
Định dạng tin nhắn là một sư trao đổi hai gói tin đơn giản, với một bộ nhớ Web cache
qua một truy vấn URL để tới bộ nhớ cache khác. Phản hồi là một hit hoặc miss, nhằm
cho thấy sự hiện diện của đối tượng URL trên bộ nhớ cache từ xa. Trên phần đầu của
giao thức này có thể được xây dựng phân cấp bộ nhớ cache, nhằm cho phép nhiều cache
lân cận đóng góp nguồn lực của họ một cách hiệu quả.
Một phương thức cấu hình cache được đề xuất là một hệ phân cấp theo cấu trúc cây.
Khi phân cấp, tất cả các cache server sẽ kết nối với hàng xóm cùng cấp và một ICP
Proxy Web Caching
5. Mô hình triển khai web cache

Tiểu luận Internet và Giao thức - D11VT6
18

parent. Khi có một cache request không được local cache đáp ứng, cache sẽ sử dụng tập
các luật cấu hình cục bộ để xác định xem server có phải cục bộ hay không. Nếu đúng,
cache sẽ truy vấn trực tiếp tới server để lấy thông tin. Ngược lại, cache sẽ phát ra một tập
đồng thời các truy vấn ICP tới tất cả các cache peer của nó. Nếu bất cứ peer nào trả lời

với một ICP hit, cache sau đó sẽ yêu cầu peer này cung cấp nội dung liên quan. Tuy
nhiên, nếu tất cả các peer trả lời là từ chối truy vấn ICP, hoặc khoảng thời gian gian
timeout hai giây trôi qua, cache sẽ request URL từ TCP gốc (parent) được chỉ định của
nó. Parent này có thể hoặc hỏi các peer, hoặc tiếp tục gửi truy vấn lên parent của nó, hoặc
lấy từ Internet (cache retrieval) để thay thế cho yêu cầu gốc. Mục đích của phương thức
hoạt động này là sử dụng một giao thức phản hồi truy vấn nhẹ để cho phép tập hợp các
cache cục bộ góp chung dữ liệu cache của chúng. ICP cũng được sử dụng với các chính
sách rằng buộc bổ sung, cho dù tự bản thân giao thức này không thể diễn tả hay mang tải
các chính sách tìm kiếm phức tạp. Những thuật toán liên cache khác cũng đã được đề
nghị, ví dụ như Hyper Text Caching Protocol (HTCP) và Cache Array Routing Protocol
(CARP). Nó thường thực hiện các chức năng khi hoạt động liên cache, tương tự như chức
năng của ICP.
Một biện pháp mở rộng khác là thay đổi một server đơn thành nhiều server, sử dụng
nền tảng TCP và kỹ thuật cân bằng tải trong hệ thống chuyển mạch để đảm bảo rằng các
servers chịu mức tải như nhau. Cấu trúc hệ thống được chỉ ra trong Hình 6. Hệ thống cân
bằng tải đơn giản như trên có thể chia đều tải lên mỗi server, nhưng nó có thể khiến cho
mỗi server hoạt động riêng lẻ với các server anh em của nó. Do đó, cần có một môi
trường sử dụng ICP để phối hợp các server sao cho chúng có thể tham chiếu lẫn nhau
trước khi khởi tạo một truy xuất mới từ server thông tin.

Hình 5.3: Mô hình cân bằng tải cho hệ thống web cache
Proxy Web Caching
5. Mô hình triển khai web cache

Tiểu luận Internet và Giao thức - D11VT6
19

Với cách cấu hình này, mỗi cache sẽ bao gồm dữ liệu cũng được lưu ở những cache
hàng xóm. Mặc dù cách thức này sẽ cho phép cân bằng tải giữa các server, các server sẽ
thông báo trạng thái tải của mình tới bộ chuyển mạch cân bằng, qua đó tránh quá tải,

nhưng vẫn còn điểm không hiệu quả trong hoạt động của cache do sự sao chép tiềm tàng
nội dung trên mỗi cache cấu thành. Một hướng khác để mở rộng các cache server là
chuyên biệt hóa, nghĩa là mỗi cache server sẽ lưu trữ theo từng nội dung riêng biệt. Tuy
nhiên đây cũng chưa hẳn là một cách hay, bởi địa chỉ đích không thể giúp server quyết
định URL nào được request. Khi cấu hình explicit cache, trình duyệt sẽ gửi TCP session
vào địa chỉ TCP bên ngoài của cụm server (như ở hình 6 sẽ là 172.16.0.1). Thông tin
URL sẽ được gắn bên trong vùng HTTP payload. Với sự kết hợp của TCP spoofing và
TCP session bridging, một server chuyển mạch có thể lựa chọn cache thích hợp cho từng
URL tham chiếu HTTP, và sau đó kết nối logic TCP session của client tới TCP session
của cache được lựa chọn, để truyền URL tới client.
Việc triển khai transparent cache cũng gặp nhiều thách thức. Yêu cầu về chức năng là
phải chuyển tất cả các Web request thông qua một proxy cache server mà không cần một
sự hiểu biết rõ ràng về client. Hai kỹ thuật thông dụng nhất hiện nay hướng đến những
mục tiêu sau:
 Cache phẳng (Inline caches): Cách tiếp cận này sẽ chuyển tất cả các traffic qua 2
port của cache server. Các traffic không phải HTTP sẽ đơn giản chỉ chuyển qua
thiết bị mà không cần thay đổi cấu trúc. Còn HTTP traffic sẽ được chặn lại và
chuyển tới module cache. Vấn đề chính cần quan tâm trong cách tiếp cận này là
ảnh hưởng của một điểm lỗi lên toàn bộ thực thể mạng. Bất cứ lỗi nào ở cache có
thể khiến ngăn chặn tất cả những traffic khác vào hoặc ra mạng con.
 Cache chuyển hướng (Redirection caches): Với cách này có thể khắc phục nhược
điểm của Inline cache. Nó sẽ dùng chính sách chuyển hướng được gắn trong
router. Nghĩa là, nó sẽ chuyển hướng tất cả các traffic có port 80 tới cache server.
Thông thường, với chính sách chuyển hướng này thì cache sẽ được đặt cách router
một hop. Do đó, chuyển hướng đơn giản chỉ là một chính sách cục bộ. Lỗi khi
hoạt động vẫn là một vấn đề đáng lưu tâm, bởi kỹ thuật chuyển hướng trong router
thông thường không biết được tình trạng hoạt động của cache.
Transparent cache sẽ cần đảm bảo một URL đầy đủ được gắn vào HTTP level
request. Khi trình duyệt cho rằng request được gửi trực tiếp tới content server, bản tin
GET request có thể chỉ định URL có liên quan tới server. Trong những trường hợp như

vậy, transparent server sẽ cần thực hiện tra cứu DNS của địa chỉ IP đích của TCP session
để dựng lại một URL đầy đủ.
Proxy Web Caching
5. Mô hình triển khai web cache

Tiểu luận Internet và Giao thức - D11VT6
20

Vấn đề chủ yếu khi sử dụng transparent cache, là phải tạo ra một kỹ thuật dự phòng
lỗi. Nghĩa là, nếu cache server dừng hoạt động với bất cứ lý do nào, thì việc chuyển
hướng cache cũng bị vô hiệu hóa. Một giải pháp là sử dụng chức năng chuyển hướng gắn
với router kết hợp cùng giao thức quản lý Web cache dựa trên bản tin keepalive. Ý tưởng
này chính là nền tảng của Web Cache Coordination Protocol (WCCP). WCCP đã cung
cấp thêm khả năng chia sẻ tải thông qua đa cache server với nội dung được phân phối.
Transparent cache sẽ hỗ trợ nhiệm vụ này, bởi địa chỉ đích trong gói tin IP có thể được sử
dụng như là yếu tố cơ bản của việc lựa chọn cache. Bản tin keepalive sẽ được trao đổi
giữa router và hệ thống cache server, nhằm cho phép router dừng không chuyển hướng
Web traffic nếu server lỗi.
Một giải pháp thay thế dựa trên việc cache tự nó tham gia vào môi trường định tuyến
cục bộ. Router chuyển hướng sẽ sử dụng các chính sách chuyển hướng, nhằm chuyển tiếp
tất cả các traffic có cổng 80 tới một địa chỉ được thông báo bởi hệ thống cache tại mức ưu
tiên định tuyến cao. Một địa chỉ tương tự cũng sẽ được thông báo bởi default route của
router tại mức ưu tiên định tuyến thấp. Nếu hệ thống cache gặp lỗi, đường đi có độ ưu
tiên cao sẽ bị hủy bỏ, và nếu chức năng chuyển hướng tiếp tục được dùng ở router, việc
chuyển hướng sẽ đi theo default route.
Bây giờ, ta sẽ xét đến khía cạnh xử lý cache miss ở tốc độ có thể so sánh được khi
không dùng cache. Tất nhiên, quá trình kéo dữ liệu về cache và sau đó cung cấp dữ liệu
này cho người dùng sẽ không thể đạt được mục tiêu đó. Transparent cache sẽ phải cấp dữ
liệu cho người dùng, trong khi đồng thời lưu trữ một bản copy nhằm phục vụ cho các yêu
cầu trong tương lai.

Tuy vậy, đó vẫn chưa phải là vấn đề lớn nhất với transparent cache. Thách thức lớn
nhất chính là các transparent cache sẽ chỉ cung cấp một nội dung cụ thể, mà không xét tới
nhận dạng của nơi request. Các web server thường sử dụng mô hình truy nhập đầu cuối
(end-to-end), dựa vào sự nhận dạng địa chỉ nguồn, hoặc các web server sẽ cố gắng đưa ra
những nội dung khác nhau cho các client dựa trên địa chỉ nguồn của client, và điều này
thì không phù hợp với mô hình transparent cache.
Trong trường hợp lỗi xảy ra, cần phải có giải pháp để transparent cache dừng hoạt
động, và cho phép request ban đầu kết nối trực tiếp tới server. Dù cho các giải pháp mạng
đóng vai trò quan trọng, nhưng các browser cũng phải có sự trợ giúp nhất định. Một mô
hình hoạt động khác là transparent cache sẽ ghi lại nhận dạng lỗi, và gửi tín hiệu thử lại
cho browser đã request, đồng thời cũng chuyển nhận dạng luồng này trở lại cho bộ
chuyển hướng, như là bộ lọc đầu vào tạm thời. Khi có tín hiệu truy vấn lại theo tín hiệu
từ cache, redirecting router sẽ có nhiệm vụ chuyển luồng tới cache, và cho phép thiết lập
phiên dạng end-to-end.

×