Cuộc cách mạng trong lĩnh vực công nghệ thông tin cùng sự ra đời của internet dẫn tới sự bùng nổ việc truy cập và tìm kiếm thông tin trên các trang web. Thực tế đặt ra yêu cầu các trang web phải ngày càng trở nên đơ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 trái đất. Chính điều này dẫn đến sự bùng nổ về lưu lượng trên các đường mạng trong 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 báo cáo với mục đích tìm hiểu về web caching được chia làm các phần. Phần 1: Các khái niệm có liên quan Phần 2: Web caching là gì Phần 3: Tác dụng của web caching Phần 4: Các loại web caching Phần 5: Quá trình web caching
TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT KHOA CÔNG NGHỆ THÔNG TIN -*** - THỰC TẬP TIN HỌC CƠ SỞ ĐỀ TÀI: TÌM HIỂU WEB CACHING Giảng viên hướng dẫn Lớp Sinh viên thực MSV Nguyễn Thị Thanh CCCTCT59 Nguyễn Ngọc Thảo 1411050065 Hà Nội – 2016 ĐẶT VẤN ĐỀ Cuộc cách mạng lĩnh vực công nghệ thông tin đời internet dẫn tới bùng nổ việc truy cập tìm kiếm thông tin trang web Thực tế đặt yêu cầu trang web phải ngày trở nên đơn giản, thân thiện với người sử dụng Với trang Web, người sử dụng tìm kiếm tải nhiều thể loại hình thông tin mạng mà không cần phải có nhiều hiểu biết mạng Đứng quan điểm 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 hệ thống bên cạnh hay nơi đầu trái đất Chính điều dẫn đến bùng nổ lưu lượng đường mạng khu vực Chất lượng dịch vụ thời gian đáp ứng cải thiện cách giảm tải cho mạng Một cách để đạt yêu cầu sử dụng kỹ thuật Web caching Kĩ thuật Web Caching đời nâng cao hiệu việc thực tăng tốc ứng dụng Web Bài báo cáo với mục đích tìm hiểu web caching chia làm phần Phần 1: Các khái niệm có liên quan Phần 2: Web caching Phần 3: Tác dụng web caching Phần 4: Các loại web caching Phần 5: Quá trình web caching Bài báo cáo hoàn thành thời gian ngắn nên không tránh khỏi sai sót Do vậy, mong nhận ý kiến đóng góp cô để hoàn thiện Mục lục Phần 1: Các khái niệm liên quan .3 Phần 2: Web caching gì? Phần 3: Tác dụng web caching Phần 4: Các loại web caching Phần 5: Quá trình web caching 22 Tài liệu tham khảo 31 Hình ảnh Hình 1.1: Hình ảnh http World wide web .4 Hình 1.2: Client server Hình 1.3: Proxy máy chủ ảo .5 Hình 1.4: Cấu trúc mạng phân phối nội dung Hình 2.1: Cấu trúc hệ thống web caching .7 Hình 4.1: browser cache proxy cache Hình 4.2: proxy cache .17 Hình 4.3 Caching proxy thông thường 18 Hình 4.4: Caching proxy suốt cấp độ router 18 Hình 4.5: Caching proxy suốt cấp độ switch 18 Hình 5.1: Hoạt động web caching 22 Hình 5.2: Cấu trúc web server 25 Hình 5.3 Sự kế thừa cache 26 PHẦN 1: CÁC KHÁI NIỆM LIÊN QUAN World wide web: web toàn cầu, chủ thể công việc web caching HTTP: HyperText Transfer Protocol dịch giao thức chuyển tải siêu văn giao thức ứng dụng nằm giao thức tảng TCP/IP hoạt động dựa mô hình client-server Hình 1.1: Hình ảnh http World wide web ICP: Internet Cache Protocol sử dụng để phối hợp lưu trữ web Mục đích để tìm vị trí thích hợp để lấy đối tượng yêu cầu từ tình mà nhiều cache sử dụng trang web Mục đích để sử dụng nhớ đệm cách hiệu có thể, để giảm thiểu số lượng yêu cầu từ xa đến máy chủ nguồn Clien-server: Client chương trình ứng dụng dùng để thiết lập kết nối với mục đích gửi yêu cầu cung cấp dịch vụ Đó trình duyệt Web, trình biên tập (editor) công cụ người sử dụng cuối khác Các client thông dụng thường chạy máy người sử dụng cuối Server chương trình ứng dụng dùng để chấp nhận kết nối với mục đích phục vụ yêu cầu cung cấp dịch vụ cách gửi đáp ứng trở lại phía yêu cầu Đối với hệ thống cung cấp dịch vụ lớn, chương trình thường chạy hệ thống phần cứng riêng thường phân biệt phần cứng server phần mềm server Hình 1.2: Client server Một máy chủ Web (Web server) quản lý cung cấp việc truy cập tới tập hợp tài nguyên Tài nguyên đơn giản file văn bản, hình ảnh liệu phức tạp chẳng hạn sở liệu Trên tảng Web hầu hết yêu cầu chủ yếu công việc download Các máy client download thông tin từ server Trong trường hợp gửi thông tin yêu cầu chứa tên tài nguyên cộng thêm với vài thông tin từ phía client hồn tồn nhỏ (200 B) thông tin download thường liệu văn hình ảnh với kích thước trung bình khoảng 10000B Đây đặc điểm hệ thống Web Tốc độ nhận liệu cao tốc độ truyền liệu hầu hết người sử dụng Web thường xuyên nhận thông tin Web client thường dùng gọi trình duyệt (browser) Những ứng dụng chẳng hạn Nescape Microsoft Internet Explore Mục đích trình duyệt thị nội dung trang Web Có số lượng lớn server sử dụng rộng rãi Web Apache HTTP server server Web thông dụng tồn miễn phí Netcape , Microsoft công ty khác có số sản phẩm Nhưng hầu hết tất sản phẩm tập trung hiệu server Một site tiếng Net nhận 10 triệu yêu cầu ngày Trong trường hợp phần cứng lẫn phần mềm phải thiết kế cách cẩn thận để đáp ứng nhiều yêu cầu lúc Có nhiều site chạy nhiều server song song với để đáp ứng tỉ lệ cao yêu cầu phục vụ cho việc dự phòng ISP: Các nhà cung cấp dịch vụ internet Proxy Một chương trình trung gian hoạt động với vai trò server client nhằm mục đích thay mặt client tạo yêu cầu Yêu cầu phục vụ chỗ chuyển qua proxy đến server khác Một proxy phải biết biên dịch cần viết lại thông điệp yêu cầu trước chuyển tiếp yêu cầu Các proxy thường sử dụng đóng gói phía client qua firewall mạng chương trình hỗ trợ để xử lý yêu cầu thông qua giao thức không triển khai phía người sử dụng Hình 1.3: Proxy máy chủ ảo Cache Một nơi lưu trữ tạm thời tin đáp ứng chương trình, hệ thống phụ trợ điều khiển việc lưu trữ, cung cấp huỷ tài liệu Cache lưu tin đáp ứng có thuộc tính lưu trữ (cacheable) để giảm thời gian đáp ứng bǎng thông tiêu thụ cho yêu cầu Bất client hay server có cache Mạng lưới cache server (caching mesh): hệ thống caching server phối hợp hoạt động với Web cache server cục (local cache): cache server chạy mạng LAN với client Web cache server cấp một: Web cache server mà client người sử dụng kết nối trực tiếp đến Loại gần giống loại cục Web cache server cấp cao (upper-level cache hay entry cache): nhìn từ phía client, tất cache tham gia vào mạng lưới caching không kết nối thẳng đến client cache server cấp cao Trong loại Web cache server cấp cao có loại Parent cache kết nối trực tiếp đến Web server Như vậy, mạng lưới tên Web cache mang tính chất tương đối Các đối tượng Web “Đối tượng” hiểu loại liệu khác server chẳng hạn file audio, file Zip, Đối tượng Web có số đặc điểm quan trọng kích thước, kiểu file (HTML, image, audio ), thời gian tạo file, thời gian chỉnh sửa gần CDN: Content Delivery Network- Mạng phân phối nội dung: Là mạng lưới gồm nhiều máy chủ lưu trữ đặt nhiều vị trí địa lý khác nhau, làm việc chung để phân phối nội dung, truyền tải hình ảnh, CSS, Javascript, Video clip, Real-time media streaming, File download đến người dùng cuối Cơ chế hoạt động CDN giúp cho khách hàng truy cập nhanh vào liệu máy chủ web gần họ thay phải truy cập vào liệu máy chủ web trung tâm liệu Hình 1.4: Cấu trúc mạng phân phối nội dung PHẦN 2: WEB CACHING LÀ GÌ? Hình 2.1: Cấu trúc hệ thống web caching Caching kĩ thuật phổ biến dùng để tăng thực thi cách thường xuyên lưu lại liệu truy cập liệu lớn nhớ Trong khuôn khổ ứng dụng Web caching dùng để giữ lại trang liệu qua yêu cầu HTTP sử dụng lại chúng mà không cần phải tạo lại lần Nhìn chung, người sử dụng Web client nhận thấy độ trễ thấp yêu cầu URL, phía nhà quản lý mạng nhận thấy lưu lượng Web server có số lượng yêu cầu cung cấp dịch vụ thấp Web client yêu cầu tài liệu từ Web server trực tiếp thông qua Web cache server hay proxy Web cache server có chức nǎng Web server nhìn từ phía client có chức nǎng client nhìn từ phía Web server Chức nǎng Web cache server lưu trữ tài liệu Web (có thể trang HTML, hình ảnh tệp tin) vị trí gần với người sử dụng để tránh phải chuyển nhiều lần tài liệu qua kết nối làm giảm thời gian tải tạo tải server đầu xa Web caching ứng dụng cấp độ routing, phần lớn băng thông dùng cho web toàn đường truyền ảnh hưởng đến băng thông hệ thống mạng (theo tín toán UNINETT 50% băng thông dùng hệ thống mạng dùng cho web) ISPs – Những nhà cung cấp dịch vụ thường thiết lập sẵn hệ thống kết nối ngang hàng với ISPs khác quốc gia (cấp độ quốc nội) nước khác (cấp độ quốc tế) Web caching ảnh hưởng mạnh đến băng thông mạng Các ISPs tiết kiệm chi phí từ việc đưa thỏa thuận với ISP khác web caching, từ theo thỏa thuận thiết lập hệ thống ngang hàng thay đổi đường truyền Những sách trình hỗ trợ điều khiển web caching phải phổ biến Những mạng lưới web cache (còn gọi Web Cache Meshes) việc kết hợp server với thành tổ chức mạng lưới Web caching đa cấp độ Một mạng lưới mở rộng trường đại học, mạng hay vài mạng máy tính Cấp độ web cache mạng lưới có nhiều neighbors parents, việc không tìm thấy thông tin giải thông qua parents Một yêu cầu cho tài liệu cache đưa đến máy neighbors parents, sử dụng giao thức Internet Cache Protocol (ICP) Web cache đặt Web Servers (hoặc server chính) client (hoặc nhiều clients) Web cache theo dõi yêu cầu trang HTML, hình ảnh tập tin (có thể hiểu object – đối tượng) đưa cách lưu lại cho đối tượng Sau đó, yêu cầu khác cho đối tượng, sử dụng có, thay phải hỏi lại server cho yêu cầu PHẦN 3: TÁC DỤNG CỦA WEB CACHING 3.1 Các lợi ích quan trọng web caching là: Giảm tải băng thông Băng thông dung lượng đường truyền mà liệu qua Bởi số yêu cầu đáp ứng cần phải thông qua mạng máy tính Mỗi đối tượng nhận từ server có yêu cầu, web caching làm giảm lương băng thông chiếm dụng client Việc giúp tiết kiệm tiền client phải trả tiền cho băng thông, giữ cho cầu băng thông hạ xuống dễ dàng quản lý Giảm gánh nặng cho server Cũng giống việc giảm băng thông việc giảm thời gian sử dụng server gốc Các server đáp ứng liên tục yêu cầu từ phía client Một server rỗi chắn nhanh so với server bận Vì chiến lược sử dụng Web caching để giảm thời gian load liệu hệ thống server Hạn chế việc truy vấn trực tiếp vào sở liệu Giảm thời gian truy vấn Thời gian trễ khoảng thời gian mà liệu chuyển từ nơi đến nơi khác Một nguồn gốc khác việc trễ mạng ngẽn mạng Khi đường kết nối sử dụng tối đa gói tin xếp hàng Router hay Switch Khi gói tin xếp đầy hàng đợi loại bỏ tất các gói tin đến Với giao thức tin cậy TCP/IP việc gói tin tương đương với việc truyền lại gói tin Vì việc truyền lại gây nhiều thời gian, làm giảm tốc độ mạng việc truyền tin Web caching làm giảm khối lượng công việc máy chủ Web từ xa cách phổ biến liệu cache ủy quyền mạng diện rộng Nếu máy chủ từ xa sẵn trục trặc mạng phân vùng máy chủ từ xa, khách hàng có lưu trữ proxy Do đó, vững mạnh dịch vụ Web nâng cao Một tác dụng phụ nhớ đệm Web cung cấp cho hội để phân tích thói quen sử dụng cá nhân hay tổ chức 3.2 Hạn chế việc dùng web caching: Những bất lợi khách hàng nhìn vào liệu cũ thiếu proxy cập nhật Độ trễ truy cập tăng lên trường hợp cache việc xử lý ủy quyền nhiều proxy Một nhớ cache proxy luôn nút cổ chai Một giới hạn thiết lập cho số lượng khách hàng proxy phục vụ Luôn bị ép buộc thực thi Sử dụng proxy cache làm giảm lượt truy cập tới nhà cung cấp dịch vụ dẫn tới việc đánh giá hiệu trang web Do không áp dụng web caching số trường hợp PHẦN 4: CÁC LOẠI WEB CACHING Hình 4.1: browser cache proxy cache Có loại web caching là: Hình 4.2: proxy cache 4.2.1 Hoạt động proxy cache Bước 1: Một người dùng mở trang web có chứa nội dung tĩnh âm nhạc, video, thảo Bước 2: Trình duyệt người dùng tự động kết nối với máy chủ proxy Đây mạng lưới phân phối nội dung đặt nhiều nơi giới Bước 3: Trình duyệt yêu cầu tài nguyên từ máy chủ proxy Máy chủ proxy kiểm tra xem tài nguyên yêu cầu có hay không? Nếu có cũ hay mới, gần hay thiếu proxy lấy chép từ nguồn Bước 4: Các proxy cung cấp tài nguyên cho trình duyệt Nếu proxy phải lấy mới, lưu trữ để sử dụng tương lai 4.2.1 Caching nghĩa (caching hữu) Một vài hệ thống cache ủy quyền triển khai theo dạng tùy chọn thiết lập người dùng Người dùng định cache server cho browser proxy agent, sau browser chuyển tất request đến proxy cache Người dùng bật tắt tùy chọn thời điểm, đảm bảo client truyền thông trực tiếp với server gốc Khi gặp phải lỗi, số trình duyệt đại có chế tự động tắt proxy cache để truy cập trực tiếp Trong chế độ proxy cache, địa đích nằm tầng transport địa server cache, nội dung HTTP không đổi Kiểu mô hình cache triển khai bên mạng cục 17 client, với mục đích giảm thiểu lưu lượng (traffic) đến ISP Thêm vào đó, ISP hoạt động cache tự nguyện(voluntary cache) phục vụ client Nếu ISP hoạt động chế độ này, người dùng (client) ISP phải có ngầm định client phải nhận biết vị trí cache cấu hình local browser Hình 4.3 Caching proxy thông thường 4.2.2 Caching “trong suốt” (transparent caching) Hình 4.4: Caching proxy suốt cấp độ router Hình 4.5: Caching proxy suốt cấp độ switch 18 Việc sử dụng cache toàn lưu lượng Web định ISP mà không cần cấu hình hữu để nhận dạng proxy cache browser người dùng (client) Nguyên tắc rõ ràng, nhiên có nhiều cách khác để triển khai Kĩ thuật caching gọi caching “trong suốt” (transparent caching) Với việc caching này, người dùng, browser người dùng không cần nhận thức xác việc ISP sử dụng caching xử lý request họ Ở mạng phải cắt tin HTTP có đích đến Web server từ xa (remote Web server), thay vào gửi trả lại tin có proxy cache Một page xác định, tùy theo kiện “hit” hay “miss” mà cache trả lại yêu cầu ban đầu client cách giả định đích đến ban đầu tin request Cần lưu ý chế hoàn toàn suốt Web client 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” không thực cache đưa địa địa client Việc dẫn đến page bị từ chối yêu cầu cache, client hoàn toàn giao dịch trực tiếp với server Những tình sử dụng cache ủy quyền chức lọc ép buộc, qua hệ thống chuyển hướng “trong suốt”, người dúng nhìn thấy cách khắc phục, làm cho thất vọng toàn dịch vụ cache tăng lên nhanh chóng Một vài trường hợp ta giải vấn đề Một cách tiếp cận có lỗi lấy liệu cache (cache fetch error) ta kích khởi hệ thống cache, thiết lập phiên HTTP với nội dung gửi đến server có địa nguồn client, sau truyền tin yêu cầu HTTP GET đến server Phản hồi (respone) server sau truyền đến client thông qua cầu TCP (một cầu TCP nơi thiết bị kết nối yêu cầu để dịch chuỗi sequence number TCP header hai phiên TCP) Các hệ thống cache chặn bắt packet server gửi đến client đòi hỏi phối hợp chặt chẽ với cache router, nên hoạt động TCP bridge phức tạp, mà phương pháp thiếu ổn định Một cách tiếp cận định cache server truyền ngược trở lại client tin TCP RST, dẫn cho cache router thêm đầu vào tạm thời lọc chuyển hướng để tất kết nối TCP cổng 80 từ client đến server gốc mà không bị chuyển hướng đến cache Nếu cách thiết lập cache có lợi ích tăng cường tốc độ truy nhập mạng khách hàng ISP phải biết rõ hiệu hệ thống cache phải trì để đáp ứng tất Web request, nằm khả ISP Sự kiện cache “hit” trì mức ổn định cho phép client truy cập nhanh truy cập đến server gốc Sự kiện cache “miss” phải mức độ định để tốc độ truy cập không thấp nhiều 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 cache không đảm bảo cho người dùng, lợi ích hướng đến người dùng Trong trường hợp lựa chọn kĩ thuật caching, người dùng tắt tùy chọn cache browser họ quay lại cách thức truy cập trực tiếp Mô hình kinh doanh cache giá thành hoạt động vốn bỏ với lưu lượng cục vùng để giảm 19 thiểu chi phí cho ISP, so sánh với mạng không cache Việc cắt giảm chi phí chuyển cho tất người dùng thông qua hoạt động toàn dịch vụ với mức giá thấp chuyển chọn lọc cho khách hàng sử dụng nhớ cache thông qua số hình thức cước sử dụng cache Mô hình chung việc áp dụng giảm chi phí cước dịch vụ ISP chắn lợi thị trường cạnh tranh giá Tuy nhiên, trừ hiệu suất nhớ cache cao, độ suốt cache gần hoàn hảo, người dùng cá nhân sử dụng phương pháp truy cập trực tiếp Mô hình kinh doanh khác phải vượt qua khoản tiết kiệm chi phí cận biên cho khách hàng sử dụng nhớ cache, mức độ tương ứng với sử dụng nhớ cache khách hàng hiệu hoạt động tốc độ truy cập cache cao Ví dụ, ISP sử dụng mô hình tính phí bao gồm thành phần thuế dựa số lượng liệu chuyển cho khách hàng thời gian tính phí, phần thuế điều chỉnh lượng sử dụng khách hàng thực hệ thống nhớ cache hiệu hoạt động nhớ cache việc tạo lượt truy cập nhớ cache Ví dụ, lưu lượng bị tính phí $ 100 cho gigabyte truyền tới khách hàng, giảm giá tính cho lưu lượng nhận từ nhớ cache web Nếu tốc độ truy cập trung bình nhớ cache 30 %, sau toán chi phí thiết bị hỗ trợ hoạt động, lưu lượng từ nhớ cache tính 80$ cho gigabyte Ở đây, lợi ích việc sử dụng nhớ cache Web thể trực tiếp với khách hàng sử dụng nhớ cache, hai bên hưởng mức thuế thấp tỷ lệ thuận với việc sử dụng nhớ cache đồng thời có hiệu suất cao nhờ sử dụng nhớ cache Quá trình toán theo mô hình tiếp thị chắn liên quan nhiều đến trình, liên quan đến hệ thống toán bổ sung xử lý việc sử dụng nhớ cache để có nhìn xác lượng sử dụng cache người dùng Ngày trở nên rõ ràng mô hình kinh doanh mạnh mẽ kết hợp với mô hình sử dụng tùy ý nhớ cache Web cách tiếp cận đến đơn vị tính giá thấp 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 trực tiếp việc lựa chọn sử dụng hệ thống nhớ cache Khi nhà cung cấp triển khai nhớ đệm ẩn bắt buộc, điều chuyển lợi ích nhớ đệm vào cấu trúc giảm giá chung cho tất khách hàng tạo mô hình kinh doanh tốt 4.3 Gateway cache Thường biết đến "reverse proxy cache" "surrogate cache", gateway cache thường đóng vai trò trung gian, thay triển khai nhà quản trị mạng để tiết kiệm băng thông, triển khai Webmasters (nhà thiết kế, quản trị bảo trì web site), web site họ có khả mở rộng, đáng tin cậy tối ưu Các yêu cầu chuyển đến gateway caches nhiều phương thức, điển hình số tổ chức cân tải dùng để tạo hay nhiều phương thức cho server đến clients 20 Content delivery networks (CDNs) distribute gateway caches thông qua internet (hoặc phần nó) bán caching cho web sites yêu thích Speedera Akamai ví dụ CDNs 21 PHẦN 5: QUÁ TRÌNH WEB CACHING Hình 5.1: Hoạt động web caching 5.1 Web caching hoạt động ? Tất hệ thống cache sử dụng nguyên tắc để xác định thời điểm cung cấp đối tượng (hay tài liệu Web), tất nhiên với điều kiện đối tượng lưu cache Trường hợp đối tượng yêu cầu chưa lưu sẵn cache cache server gửi yêu cầu đến server gốc Một số nguyên tắc thiết lập giao thức HTTP/1.0, HTTP/1.1 số khác thiết lập người quản trị cache (có thể người sử dụng browser cache người quản trị proxy) B1 : client 1gửi yêu cầu muốn truy cập www.msserverpro.com B2: yêu cầu xử lý TMG 2000 B3: xác định yêu cầu truy cập thành công đưa yêu cầu vào internet B4: đối tượng gửi từ internet đặt cache B5: có yêu cầu từ client khác muốn truy cập www.msserverpro.com B6: đối tượng gửi từ cache 22 5.2 Các nguyên tắc chung Nếu phần tiêu đề đối tượng cho cache biết lưu đối tượng cache không lưu đối tượng Nếu biến logic xác nhận (biến validator) không xuất hiện, phần lớn cache đánh dấu đối tượng lưu (uncacheable) Nếu đối tượng có yêu cầu nhận thực hay bảo mật, lưu Một đối tượng lưu coi tươi - "fresh" (có nghĩa gửi tới client mà không cần kiểm tra server gốc) Nó có thời gian tồn (hoạt động theo dạng loại đếm) nằm khoảng thời gian fresh (chưa hạn) Nếu browser cache hiển thị đối tượng đối tượng đánh dấu kiểm tra phiên trước Nếu proxy cache xử lý gần sửa đổi trước tương đối lâu Các đối tượng fresh lấy trực tiếp từ cache mà không cần kiểm tra với server gốc Nếu đối tượng coi cũ, server gốc yêu cầu xác nhận đối tượng báo cho cache đối tượng giá trị sử dụng Quá trình xác nhận kiểm tra xem đặc tính "fresh" đối tượng biện pháp quan trọng giúp cache làm việc với đối tượng Một đối tượng "mới" khả dụng tức thời từ cache, đối tượng "phải xác nhận" (validated) tránh phải gửi lại lần từ server gốc thay đổi 5.3 HTTP requests Client sử dụng HTTP chúng giao tiếp với proxy Điều client yêu cầu FTP hoăc Gopher URL Client đưa yêu cầu không khác proxy server server gốc Trong trường hợp yêu cầu tham chiếu tới proxy xem yêu cầu proxy HTTP 5.4 Tổ chức cấu trúc web server Một hệ thống WebHint bao gồm "hint server" - tự động cập nhật thông tin liên kết với cache server lân cận để giảm số gói tin trao đổi cache servers giảm thời gian đáp ứng cho người dùng cuối Ta cấu hình cache server sau: Chúng ta thực định quản trị việc cấu hình cấu trúc cache Khi có cache server hint servers hệ thống, việc cấu hình host "cache2" hệ thống cache thông thường sau 23 # hostname type HTTP/ICP port #cache_host Cache1 sibling 3128 3130 #cache_host Cache2 sibling 8000 8130 #cache_host Cache3 sibling 3128 3130 #cache_host Cache4 sibling 8888 3130 Việc cấu hình cache server hệ thống web hint tương tự sau: ## hostname type HTTP/ICP port #cache_host hints1 Hintserver 4649 #cache_host hints2 Hintserver 4649 Quản lý giảm nhiều thời gian cần thiết cho cấu hình ban đầu quản trị thông thường Khi cache server thêm vào, thấy hint server gộp thông tin chúng hint data tất cache servers làm việc với hint server Tương tự, cache server bị lỗi, hint server ngưng việc gộp thông tin chúng sau khoảng thời gian Một hệ thống WebHint bao gồm phần: Những server www Các WWW client với trình duyệt (browsers) Các Cache servers Các hint servers 24 Hình 5.2: Cấu trúc web server 5.5 Sự kế thừa Cache Khi ta sử dụng Web caching có nhiều giới hạn nhớ việc kế thừa cache điều mà ta mong đợi Sự xếp Caches để liên kết với khác Trong mô hình thừa kế Caches, lớp thấp chuyển cache-misses lên lớp cao cache-hits tìm thấy yêu cầu chuyển đến server gốc Việc kế thừa Cache quan tâm cải tiến hiệu làm việc hệ thống Web Một số yêu cầu cache tìm thấy cache hàng xóm chúng Điều giảm băng thông đường truyền WAN tăng tốc độ download Cache kế thừa hoạt động Web cache trở lên phức tạp không định hình Chúng ta sử dụng thuật ngữ cha (parent), (child), anh chi em ruột (sibling) để mô tả mối quan hệ hai cache với Một cache gửi cache-misses lên cho cache cha Cache cha sau cung cấp cho thông tin đáp ứng từ cache mà sở hữu hay server gốc, hay từ cache khác Cache cha sử dụng băng thông tới server gốc để đáp ứng yêu cầu từ cache 25 Hình 5.3 Sự kế thừa cache Các lợi ích kế thừa Cache Hiệu Hiệu làm cho người muốn gia nhập vào hệ thống kế thừa Tuy nhiên hệ thống caching kế thừa điều thần kì, không đảm bảo chắn hệ thống cải thiện hiệu Nếu bạn muốn tìm kiếm hiệu tốt bạn phải định điều quan trọng bạn Giảm băng thông? Giảm độ trễ Bạn nên tạo hệ thống cho việc giám sát hệ thống hiệu Cache bạn Vậy để có hệ thống hoạt động tốt cần ý điểm sau: Một số đối tượng không tìm thấy cache tìm thấy cache hàng xóm Hay nói cách khác bạn nhận cache-hits từ cache hàng xóm Cache-hits từ cache hàng xóm phân bố nhanh so với cache-misses server gốc Cache misses từ cache cha chậm so với đáp ứng từ phía server gốc Nếu điều kiện không thoả mãn hiệu hoạt động cache bạn bị ảnh hưởng nhiên chúng hoạt động hay sai ảnh hưởng nhiều nhân tố Ví dụ cache tìm kiếm cách chậm chạp chậm so với kết nối trực tiếp đến server gốc Và hành vi chúng thay đổi theo thời gian, ngày cache cha hoạt động nhanh ngày lại hoạt động cách chậm chạp Thay đổi trình định tuyến mặc định Cache cha hữu ích bạn cần tăng tốc luồng liệu web Một ví dụ việc vượt qua Filewall Đối với tổ chức việc sử dụng filewall để bảo vệ mạng nội họ Có nhiều cách để triển khai filewall Một số ngăn chặn không cho người sử dụng kết nối trực tiếp với server bên ngồi Họ khố tất đường kết nối cho tất cổng bao gồm cổng HTTP(port 80) Trong trường hợp có cách để vượt server bên ngồi 26 thông qua filewall proxy, mà đặt cache Nếu bạn có caching proxy mạng nội bạn filewall proxy cache cha tất yêu cầu bạn để bên ngồi 5.6 Cấu hình Cache Clients Cache Servers để sử dụng dịch vụ Web Caching 5.6.1 Cấu hình Cache Clients Có hai kĩ thuật mà bạn sử dụng việc cấu hình cho Client Một kĩ thuật cũ cấu hình tay (manual configuration) Client đưa hay nhiều địa proxy để sử dụng Và kĩ thuật thứ đưa hàng Netscape cấu hình proxy tự động(proxy auto configuration) Đối với cách cấu hình trình duyệt tự động thi hành đoạn lệnh Java Script trước yêu cầu Đoạn Script đưa cho trình duyệt danh sách địa proxy mà chuyển yêu cầu Cấu hình tự động tăng cường kiểm sốt lỗi so với cách cấu hình tay Ví dụ trình duyệt sử dụng proxy trongdanh sách mà sau bị hỏng danh sách sử dụng Mặc dù cấu hình tự động mềm dẻo hơn, yêu cầu user phải có địa file Java Script Để loại trừ bước số công ty đề nghị sử dụng giao thức web proxy auto-discovery Khi ta khởi động trình duyệt sử dụng DHCP(Dynamic Host Configuration Protocol) DNS(Domain Name System) để xác định proxy auto-configuration script Nếu tìm thấy tự động ghi lại kết script bắt đầu sử dụng caching proxy IProxy Addresses Cũng tất dịch vụ Internet khác mail hay FTP proxy server địa bao gồm địa IP số cổng (port number) Tuy nhiên không giống dịch vụ khác proxies cổng mặc định Vì ta nói “kếtnối đến FTP server ftp.isp.net ” không nói “sử dụng proxy proxy.isp.net ” Một địa proxy kèm với cổng Vì theo mặc định ta viết đồng thời chúng sau dấu hai chấm Ví dụ 172.16.4.1:8080 squid.ircache.net:3128 proxy1.bigisp.net:80 Mặc dù cổng mặc định hầu hết proxy sử dụng port sau: 3128,8080,80 1080 Ngày hầu hết Web caches lắng nghe yêu cầu nhiều cổng thời điểm Vì đáp ứng tốt yêu cầu người dùng Sau ta nghiên cứu cách cấu hình tay Client Cấu hình tay Như ta đưa việc cấu hình tay đơn giản thiết lập địa proxy cho nhiều giao thức kết nối HTTp, FTP, SSL Thông thường proxy hỗ trợ tất vây địa Proxy sử dụng cho tất giao thức Tuỳ thuộc vào mục đích sử dụng 27 proxy bạn mà ban cần hay không cần cấu hình protocol Nếu bạn sử dụng sau filewall bạn yêu cầu proxy cho tất các yêu cầu bạn Tuy nhiên cấu hình tay có số nhược điểm Nó yêu cầu bạn sử dụng để cấu hình cho số lượng lớn, ngồi người dùng thông thương yêu cầu cách sáng rõ ràng Cộng thêm bạn phải cung cấp cho trình duyệt khác phiên khác trình duyệt Khi proxy bị lỗi trình duyệt không thử kết nối trực tiếp hay sử dụng proxy khác Đó yếu điểm việc cấu hình tay Say ta cấu hình mẫu trình duyệt thông dụng Internet Explore Để cấu hình cho trình duyệt bạn chọn menu Tool sau chọn Internet Options, ta thấy có tab, chọn Tab connection Chọn LAN Settings để cấu hình cho proxy, cửa sổ xuất sau bạn thiết lập địa proxy cổng hình 28 Nếu muốn sử dụng nhiều proxy khác cho giao thức khác chọn nút Advanced Khi điền proxy khác giao thức hình Cấu hình proxy tự động (Proxy Auto-Configuration Script) Proxy Auto-Configuration Script (PAC) kĩ thuật thiết kế để khắc phục vần đề hạn chế việc cấu hình tay Thay việc cấu hình tay địa proxy trình duyệt tự động chạy script có yêu cầu Khi trả danh sách địa proxy mà trình duyệt thử yêu cầu chuyển thành công 29 Script PAC viết Java Script Vì trình duyệt hỗ trợ Java Script hỗ trợ PAC Netscape hãng sáng chế PAC đưa vào Version trình duyệt Microsoft đưa PAC vào từ Version Đặc điểm tốt PAC cho phép người quản trị cấu hình lại mà không cần can thiệp người sử dụng Nếu địa chi proxy thay đổi người quản trị dễ dàng thay đổi PAC script để tham chiếu tới thay đổi Các trình duyệt nhận PAC URL vào thời điểm chúng bắt đầu không xuất lúc chạy trừ trường hợp người dùng yêu cầu reload lại Một đặc điểm khác coi cải tiến cho việc cấu hình tay khả tìm lỗi Nếu proxy bị lỗi tự động cố gắng tìm cuối danh danh proxy mà nhận ban đầu Một lỗi tìm thấy trình duyệt nhận lỗi Connection Refused thời gian thiết lập kết nối vượt thời gian cho phép(time out) Một số lưu ý cấu hình Cache Clients: Cấu hình tất clients sử dụng cấp độ Web cache (first level Web Cache) Nếu dùng trình duyệt Netscape I.E., thiết lập Automatic Proxy Configuration để tránh lỗi truy cập đơn (không truy cập web cache) Sử dụng thiết lập proxy chuẩn cho web cache Với Internet Explorer 3.0a (và phiên sau này), ta dùng kịch cấu hình (configuration script) Phần lớn trình duyệt khác chế fall-back, cấp độ web cache bị down user phải tự tắt chức web cache để truy cập web Một số lưu y cấu hình Cache Servers để giảm tải băng thông Một web cache server có đường truyền chậm chạp cần phải lưu ý cấu hình chúng Phần mềm server thường có đặc tính thích hợp, không hhoàn toàn cần thiết Một số đặc tính làm chậm server, nên tránh Web cache server ghi lại domain-names người dùng kết nối vào phần mềm web cache server Nhưng không nên dùng busy server (server hoạt động tải) Việc ghi lại domain-names làm chậm dịch vụ, lại dễ dàng DNS lookup tên miền việc ghi nhận hoàn tất không ghi nhận tên kết nối clients buộc bạn phải cấu hình access-control cache server địa IP, việc cấu hình không khó khăn Hãy nhớ DNS không loại vị trí độc lập bị lỗi không ghi lại hostnames DNS cần thiết để phân giải hostnames địa URL Vì thế, dịch vụ DNS ổn định tốc độ nhanh quan trọng Nếu gặp vấn đề dịch vụ 30 DNS, bạn phải xem xét đến việc khởi động caching DNS server để đáp ứng web cache server mà Chúng ta chạy DNS server máy tính tương tự web cache server, phải chắn có đủ nhớ để làm việc mà nhiều thay đổi Một web cache server cho khả ghi lại truy xuất Việc ghi nhận tác nhân người dùng, đặc biệt nhận thông tin phân tích, điều không quan trọng Bạn nên tắt ghi nhận trừ bạn thật cần thông tin Thường bạn cần thông tin cho dự án đặc biệt, bạn bật chức lên trình thực dự án 10 Một ý tưởng tốt để ghi nhận lại thông tin cần thiết Điều giúp bạn giảm số lần ghi liệu lên đĩa Một số phần mềm server thường cho phép tìm định danh, không nên dùng trừ cần thiết TÀI LIỆU THAM KHẢO Nottingham, Mark “Caching Tutorial: for Web Authors and Webmasters.” July 2006 Tanenbaum, Andrew S Prentice-Hall, 2002 Distributed Systems: Principles and Paradigms “Web cache.” Wikipedia [...]... qua internet (hoặc một phần của nó) và bán caching cho những web sites được yêu thích Speedera và Akamai là những ví dụ của CDNs 21 PHẦN 5: QUÁ TRÌNH WEB CACHING Hình 5.1: Hoạt động của web caching 5.1 Web caching hoạt động như thế nào ? Tất cả các hệ thống cache đều sử dụng một bộ nguyên tắc để xác định thời điểm cung cấp các đối tượng (hay các tài liệu Web) , tất nhiên là với điều kiện các đối tượng... 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... danh, nhưng không nên dùng trừ khi cần thiết TÀI LIỆU THAM KHẢO Nottingham, Mark Caching Tutorial: for Web Authors and Webmasters.” July 2006 Tanenbaum, Andrew S Prentice-Hall, 2002 Distributed Systems: Principles and Paradigms Web cache.” Wikipedia