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
Trang 1- -
TIỂU LUẬN INTERNET VÀ GIAO THỨC
GIẢNG VIÊN HƯỚNG DẪN: PGS.TS NGUYỄN TIẾN BAN
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 KHOA VIỄN THÔNG I
HÀ NỘI 2014
ĐỀ TÀI: PROXY WEB CACHING
Trang 2Proxy Web Caching Lời nói đầu
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
Trang 3Tiể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
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
ISP Internet service provider Nhà cung cấp dịch vụ Internet
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
Trang 4Proxy 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
Trang 5Tiể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
Trang 6Proxy 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
Trang 7Tiể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
Trang 8Proxy 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
Trang 9Tiể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 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
end-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
Trang 10Proxy 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
Trang 11Tiể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
Trang 12Proxy 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
Trang 13Tiể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à