Tài liệu Bài tiểu luận-proxy web caching

  • Số trang: 27 |
  • Loại file: PDF |
  • Lượt xem: 218 |
  • Lượt tải: 0
quangtran

Đã đăng 3721 tài liệu

Mô tả:

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 -