CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ WEB CACHING 1. VÌ SAO PHẢI DÙNG WEB CACHING ? 1. Sự phát triển của Internet Trong những năm gần đây, với sự phát triển nhanh chóng, Internet đã trở thành nguồn cung cấp thông tin khổng lồ và phong phú, đặc biệt là trên các web sites. Số lượng các trang web ước tính đã hơn 3 tỷ và gần 80% số lượng người sử dụng Internet là truy cập lấy nội dung các trang web.
Điều này làm cho các hệ thống máy chủ dịch vụ web và các kênh truyền thông trở nên nhanh chóng bị quá tải và nghẽn. Chi phí lớn cho đầu tư tăng dung lượng, công suất cho các máy chủ dịch vụ và truyền dẫn không thể đáp ứng kịp thời tốc độ phát triển của nhu cầu sử dụng Internet. Các nhà cung cấp dịch vụ Internet (ISP) một mặt phải đáp ứng nhu cầu sử dụng Internet của số lượng lớn những người sử dụng, một mặt phải đảm bảo chất lượng cung cấp dịch vụ (giảm tắc nghẽn, tăng tốc độ truy cập thông tin) với sự tiết kiệm chi phí về thuê kênh viễn thông. Đó là vấn đề cần phải có giải pháp để thỏa mãn sự phát triển của Internet.
Các giải pháp Các giải pháp đều phải khắc phục các nhược điểm của Internet Services, đó là: giảm nghẽn băng thông ở các cấp mạng: mạng trục quốc gia (National network); các mạng vùng (Regional networks); và các mạng khu vực (Institutional networks). Tan Kosal Líp: CH2003 - 2005 3 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching Giải pháp phổ biến nhất là nâng cấp các nguồn tài nguyên mạng như: sử dụng các server mạnh, truyền dẫn băng thông rộng, tối ưu cấu trúc mạng về định tuyến, phân tải, v.v… Tuy nhiên, cách tiếp cận trên phải chịu chi phí lớn về mặt kinh tế, nhưng tốc độ đầu tư và chi phí lớn không thể đáp ứng kịp thời được tốc độ tăng của yêu cầu truy cập Internet. Vì hơn khoảng 70-80% các truy cập Internet là tham chiếu lấy các nội dung của các Web Sites. Do vậy phần lớn lưu lượng chiếm tải của các hệ thống cung cấp dịch vụ và các kênh truyền dẫn là các giao dịch của WWW giữa người sử dụng (Clients) và các Web Servers.
Vậy thì nếu sử dụng giải pháp bộ nhớ đệm tốc độ cao (cache) để lưu trữ các nội dung các trang web phổ biến, thông dụng được nhiều người sử dụng tham chiếu đến thì cũng chứng tỏ được những ưu điểm của nó: Bộ đệm làm giảm bớt nhu cầu chiếm giữ đường truyền (khoảng 35%), giảm thông lượng giữa các máy trạm (clients) và máy chủ thông tin (content servers). Bộ đệm cải thiện chất lượng dịch vụ (QoS) thông qua việc phân phối thông tin với băng thông rộng tốc độ cao hơn, giảm thời gian trễ và chờ đợi ở phía người dùng đầu cuối (Client). Khi người sử dụng tham chiếu một nội dung của trang web nào đó lần đầu bằng trình duyệt Web, trình duyệt Web sẽ lưu đệm trang Web đó tại máy tính của người sử dụng (local web caching). Như vậy, lần tham chiếu trang Web đó tiếp theo thì nội dung trang Web đó được lấy ngay tại máy tính của người sử dụng mà không cần phải chuyển yêu cầu của trình duyệt Web lên trên mạng cấp trên hoặc đến tận máy chủ gốc (Origin server) của trang Web để tìm kiếm.
Do đó giảm được lưu lượng sử dụng băng thông ở mạng cấp trên và sự trễ đối với người dùng. Tính năng Web caching cục bộ này trên mỗi máy tính cá nhân của người sử dụng được thực hiện nhờ các loại trình Tan Kosal Líp: CH2003 - 2005 4 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching duyệt Web của Microsoft, Netscape hay Mozilla của linux Redhat với trường History (microsoft). Tuy nhiên trong môi trường rộng lớn hơn, như trong mạng máy tính cục bộ (LAN) có nhiều máy tính kết nối thì “local cache” cho web được mở rộng thành một “share cache” chia sẻ cho tất cả người dùng trong một mạng cục bộ. Khi số lượng của người dùng kết nối vào một bộ đệm đơn (single cache) nhỏ, còn số lượng thông tin trên Web nhiều, thì các tính năng của cache bị giảm sút.
Tỷ lệ truy nhập trúng trang Web (hit) tại cache của mạng cục bộ của một cơ quan (các yêu cầu của những người sử dụng có thể được phục vụ bởi cache có lưu bản sao trang Web) thường trong khoảng 30% đến 50%. Do vậy Web Caching là một giải pháp hiệu quả nhất và đỡ tốn kém chi phí nhất để nâng cao chất lượng dịch vụ đáp ứng được phần lớn các nhu cầu của người sử dụng truy nhập lấy nội dung thông tin trên Web. GIỚI THIỆU VỀ WEB CACHING Bộ nhớ đệm là một vùng lưu trữ tạm các thông tin được sao chép từ thông tin gốc. Có hàng triệu trang Web trên mạng internet, điều này đồng nghĩa với việc có một khối lượng thông tin khổng lồ, và hàng triệu các đối tượng cần xử lý khác nhau.
Trong quá trình khai thác thông tin, rất nhiều yêu cầu người dùng tới cùng một đối tượng. Một ví dụ điển hình là logo của Yahoo trên trang Web của công ty này. Hình logo này xuất hiện tại tất cả các trang Web thông tin. Mỗi trang lại được truy cập bởi nhiều người dùng và nhiều lần trong ngày.
Bộ đệm cho Web là một hệ thống máy tính chuyên dụng quản lý và lưu trữ các đối tượng khi nó truy xuất đối tượng từ máy chủ. Với các yêu cầu đến đối tượng, bộ đệm sẽ xử lý và truyền tải đối tượng từ vùng nhớ của nó thay vì gửi yêu cầu đến Server lưu trữ đối tượng gốc. Mọi đối tượng Web đều có thể thay đổi theo thời gian, vì vậy cơ chế này quy định Tan Kosal Líp: CH2003 - 2005 5 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching một khoảng thời gian cho mỗi đối tượng. Khi qua khoảng thời gian này, bộ đệm sẽ tự động lấy lại nội dung của đối tượng được lưu trữ trên máy chủ gốc.
Điều này đảm bảo luôn phản ánh đúng nội dung của đối tượng đối với người dùng. Càng có nhiều yêu cầu truy xuất chung tới một đối tượng, phương pháp này càng thể hiện được tính hiệu quả của nó. Web Web Cache Cache Cache Internet Cache Browsers Browsers Hình 1.1 : Kiến trúc cơ bản của một bộ đệm cho Web 1. Một số khái niệm Client Client là bất kỳ ứng dụng nào tạo nên sự kết nối sử dụng cho mục đích gửi yêu cầu.
Server Là một ứng dụng sẽ chập nhận việc kết nối cho mục đích trả lời những yêu cầu bằng việc gửi trở lại những câu trả lời. Bất kỳ chương trình nào cũng có thể vừa là client vừa là server, phụ thuộc vào vai trò mà một kết nối cụ thể thực hiện. Thuật ngữ này thường được sử dụng liên quan với mỗi kết nối chứ không phải dựa vào loại yêu cầu. Tan Kosal Líp: CH2003 - 2005 6 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching Gopher FPT HTTP Online Browser Addressing Schemer common Protocols Format Negotiation Hình 1.2: Mô hình Client/S erver Web Server Về mặt kỹ thuật, Web server gồm có phần mềm và phần cứng.
để xây dựng Web server của mình thì phải thiết đặt phầm mềm đặc biệt tới máy tính đặc biệt hoặc mạng LAN và hệ điều hành (hoặc Network operating system – NOS) mà đang chạy. Web server có thể thực hiện một số nhiệm vụ như sau: Hoạt động việc đăng ký Xác nhận những người sử dụng Ghi địa chỉ Internet, thời gian và yêu cầu mà làm cho mỗi kết nối Bảo vệ tập tin Truyền các yêu cầu dữ liệu mà cả browser lẫn server có thể truy cập trực tiếp tới các ứng dụng gọi là gateway. Browser Browser là phần mềm ứng dụng dùng để truy nhập World Wide Web (WWW). Browser có 2 nhiệm vụ chính: Sử dụng URL để truy lục thông tin trên Internet hoặc để bắt đầu thao tác dựa trên nội dung của URL.
Đối với siêu văn bản (HyperText) browser cần nói về sự sử dụng HTTP, FTP và giao thức Gopher. Tan Kosal Líp: CH2003 - 2005 7 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching Để giải thích mã HTML trong tài liệu nó nhận từ máy chủ và đưa ra tài liệu đó tới người sử dụng với nhiều định dạng browser. Khi nhập URL khác, quá trình sẽ bắt đầu lại khắp nơi. Browser sử dụng URL để yêu cầu tài liệu rồi cho đợi máy chủ trả lại tài liệu.3: Quan hệ giữa Web browser và Internet Server Firewall Firewall là một kỹ thuật được tích hợp vào hệ thống để chống lại sự truy cập trái phép nhằm bảo vệ các nguồn thông tin nội bộ cũng như hạn chế sự xâm nhập vào hệ thống của một số thông tin khác không mong muốn.
Proxy Proxy là một hệ thống trung gian đóng vai trò vừa là server vừa là client với mục đích đưa ra yêu cầu, thay thể các client khác. Những proxy thông thường nằm ở điểm đầu vào mạng. Yêu cầu có thể được đáp ứng bên trong hoặc có thể chuyển tiếp. Nếu yêu cầu được chuyển tiếp thì lúc đó proxy đóng vai trò như client trong khi nhận thông tin từ server và sau đó đưa thông tin này đến client yêu cầu.
Tan Kosal Líp: CH2003 - 2005 8 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching Proxy Proxy Clients Internet Clients Clients Proxy Hình 1.4: mô hình proxy User Agent Là các client mà đưa ra yêu cầu ban đầu , thường là trình duyệt, trình soạn thảo, v. Origin Server Là server có chứa nội dung nguồn hoặc là nơi nội dung nguồn được tạo ra. Caching Proxy Là một hệ thống trung gian đóng vai trò vừa là server vừa là client với mục đích đưa ra yêu cầu đến Origin Server, thay thế các client xuất phát yêu cầu. Những proxy thông thường nằm ở điểm truy cập mạng và có hệ thống caching để lưu trữ những nội dung trang web thường xuyên được truy nhập đến.
Các client thông quá trình duyệt web gửi yêu cầu nội dung trang web đến proxy. Nếu nội dung trang web đã được cache trong proxy thì proxy có thể đáp ứng ngay cho client. Nếu nội dung trang web yêu cầu không có trong proxy thì proxy sẽ chuyển tiếp yêu cầu của client đến hệ thống web caching cung cấp hay cấp trên hoặc đến thẳng Origin server. Như vậy, trong trường hợp này proxy làm nhiệm vụ của một client ủy nhiệm thay cho client nguồn Tan Kosal Líp: CH2003 - 2005 9 Ch¬ng 1: Giíi thiÖu chung vÒ WEB Caching xuất phát yêu cầu.
Khi nhận thông tin từ server nguồn, thì proxy sẽ chuyển tiếp nội dung web đến client, đồng thời lưu trữ nội dung trang web tại cache của mình. Reverse Proxy Proxy ngược là một proxy nằm phía Origin server và lưu trữ những nội dung thường xuyên được các Client yêu cầu.