HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA VIỄN THÔNG I
----------
TIỂU LUẬN
INTERNET VÀ GIAO THỨC
ĐỀ TÀI: PROXY WEB CACHING
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À NỘI 2014
Lời nói đầu
Proxy Web Caching
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
Tiểu luận: Internet và Giao thức - D11VT6
i
Proxy Web Caching
Các thuật ngữ viết tắt
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
CARP
HTCP
ICP
IP
ISP
LAN
POPs
RTT
TCP
URL
WCCP
WWW
Acknowledge
Cache Array Routing Protocol
Hyper Text Caching Protocol
Internet Cache Protocol
Internet Protocol
Internet service provider
Local area network
Points of Presence
Round Trip Time
Transmission Control Protocol
Uniform resource locator
Web cache coordination Protocool
World Wide Web
Tin báo nhận
Giao thức định tuyến dãy bộ nhớ đệm
Giao thức cache siêu văn bản
Giao thức cache liên mạng
Giao thức liên mạng
Nhà cung cấp dịch vụ Internet
Mạng cục bộ
Các điểm hiện diện
Thời gian trễ trọn vòng
Giao thức điều khiển truyền vận
Địa chỉ tài nguyên
Giao thức phối hợp bộ nhớ đệm web
Web toàn cầu
Tiểu luận Internet và Giao thức - D11VT6
ii
Proxy Web Caching
Danh mục bảng biểu, hình vẽ
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
Tiểu luận Internet và Giao thức - D11VT6
iii
Proxy Web Caching
Mục lục
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
Tiểu luận Internet và Giao thức - D11VT6
iv
Proxy Web Caching
1. Giới thiệu chung
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.
Tiểu luận Internet và Giao thức - D11VT6
1
Proxy Web Caching
2. Proxy web caching
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
Tiểu luận Internet và Giao thức - D11VT6
2
Proxy Web Caching
2. Proxy web caching
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
Tiểu luận Internet và Giao thức - D11VT6
3
Proxy Web Caching
2. Proxy web caching
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 endto-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-toend 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.
Tiểu luận Internet và Giao thức - D11VT6
4
Proxy Web Caching
2. Proxy web caching
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
Tiểu luận Internet và Giao thức - D11VT6
5
Proxy Web Caching
2. Proxy web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
6
Proxy Web Caching
2. Proxy web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
7
Proxy Web Caching
2. Proxy web caching
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à
Tiểu luận Internet và Giao thức - D11VT6
8
Proxy Web Caching
2. Proxy web caching
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ộ.
Tiểu luận Internet và Giao thức - D11VT6
9
Proxy Web Caching
2. Proxy web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
10
Proxy Web Caching
3. Các mô hình web caching
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
Tiểu luận Internet và Giao thức - D11VT6
11
Proxy Web Caching
3. Các mô hình web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
12
Proxy Web Caching
3. Các mô hình web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
13
Proxy Web Caching
4. Hệ thống web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
14
Proxy Web Caching
4. Hệ thống web caching
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.
Tiểu luận Internet và Giao thức - D11VT6
15
- Xem thêm -