A basic proxy server caching question

As some of the ‘last mile’ CCQ’s on our networks are around the 70% mark or under I presume it’s the case that a lot of packets are being lost or corrupted just at the end of their journey across the Internet and having to be resent, some of which are in their turn being lost or corrupted &tc.

So a proxy HTTP server at the gateway between the cabled Internet and our wireless networks would clearly speed up the delivery of web-pages by cutting down this re-send time even without caching.

However if you’re going to have a proxy server why not have caching as it’s available in RouterOS? I just have the following question as to how it works:

Many pages our subscribers request will change frequently - on-line auction pages, news, met service reports etc. Does caching for 3 or 5 days include a ‘check’ for modification to the object since it was cached, with perhaps just a download from source of the altered object only, if a request is received?

If it doesn’t and the subscriber is going to be served up with an unmodified page several hours if not days old, I can’t see that caching is ever going to cache on.

Coupling another couple of basic questions to the one above:

  1. If you’re running a proxy web-server without caching, does the server download the entire web-page before ‘retransmitting’ it to the requesting client or does it start passing it on as soon as it starts receiving it?

  2. If no caching is involved - the proxy is simply being used to speed up the retransmission of packets lost or corrupted across the wireless part of the network and perhaps as a filter - but it is also proxying ftp, how does it deal with big - ie >100MB downloads given that there wouldn’t be enough to hold the entire request in RAM?

Anybody?

I can’t answer all of your questions, because I don’t know them all. But what I believe to know is that usually every webpage, or frame of a page, has a tag in its data that tells a proxy/cache server if that specific data is static (so can be cached because it hardly changes) or dynamic (it changes all the time, so better not cache). Probably the tag will even have info about how long a certain page can be considered ´unchanged´ before it has to be renewed.

And then you can actually manually change these settings in the proxy by telling which pages are to be updated always, and which ones are always to be read out of the cache.

If only proxy was to be used, without caching, I wouldn’t expect any speed improvement on bad links. The data is not stored I believe, only processed by the proxy. So if packages are being lost in your network they still have to be send again from the originating server.

I actually even wonder if your speed of browsing would go up noticeably for this last mile user even if you use the cache function. Data still has to be resend every time, even if it now might come from within your own network. Your only gain will be the time loss between your gateway with the proxy+cache and the webserver.

regarding your question 2 in the second tread, I would say that the proxy will send the incoming data direct towards the requesting party. If not you would call that ´caching´… so, packet in, packet out…

I think now your question no.3 is also answered. Since caching is not involved, retransmissions of packets lost on the wireless end still have to come from the webserver again on the internet. So you will have no gain in speed here. And big files will be handled the same as small ones. The data is only processed by the proxy, nothing else. In this respect we can call the proxy a filter.

As said, that’s what I think. Anybody correct me if I am wrong. If I am I actually hope I am being corrected. :slight_smile:

Thanks WirelessRudy.

This would be far and away my main reason for using a proxy - receiving a requested web-page at the maximum speed the Internet and ADSL modem together can manage - the notional speed is 6,500kbps and I’m guessing with a lot less data loss than the wireless links can manage - and then retransmitting it across the wireless network at the maximum set for the wireless client, say 2,000 kbps. The time-loss between the CPE and the proxy is 10ms at most while (thanks to our inadequate, steam-driven national backbone and sheer distance from anywhere else) ping times to any webserver is usually >250ms.