Since it seems to confuse people a lot I thought I'd try and explain it in simple terms;
Techies - feel free to point out any mistakes.
First of all - without any proxies - when a client wants a web page ;
1. It does a dns lookup of the required domain using its own (locally) defined dns servers.
2. It sends the http request on tcp port 80 to the destination servers IP address.
3. This request is routed over the network direct to the specified server IP.
4. The requested page is then returned, by the server, direct to the client.
Now if you have a manually defined proxy (such as in IE, on port 8080) - when a client wants a web page ;
1. It does a dns lookup of the proxy servers IP using its own (locally) defined dns servers.
2. It sends the http request on tcp port 8080 to the proxy servers IP address.
3. This request is routed over the network direct to the specified proxy server IP.
4. The proxy server checks if it has a valid copy of the requested page in its cache.
5. If the proxy has the page it returns it directly back to the client, Job done.
6. If the proxy does not have the page it does a dns lookup of the requested domain using it's own defined dns servers.
7. The proxy sends the http request on tcp port 80 to the destination servers IP address.
8. This request is routed over the network direct to the destination servers IP.
9. The requested page is then returned, by the destination server, directly back to the proxy server.
10. The requested page is then returned, by the proxy server, direct to the client.
Now if you have no manually defined proxy, but NTL's proxies are active - when a client wants a web page ;
1. It does a dns lookup of the destination servers IP using its own (locally) defined dns servers.
2. It sends the http request on tcp port 80 to the destination servers IP address.
3. This request is intercepted by NTL's routers and re-directed to one of a group of transparent proxy [cache] servers - the decision on which proxy server gets used is (usually) based on the requested domain.
4. The chosen proxy server checks if it has a valid copy of the requested page in its cache.
5. If the proxy has the page it returns it directly back to the client, Job done.
6. If the proxy does not have the page it does a dns lookup of the requested domain using it's own defined dns servers.
7. The proxy sends the http request on tcp port 80 to the destination servers IP address.
8. This request is routed over the network direct to the destination servers IP.
9. The requested page is then returned, by the destination server, directly back to the proxy server.
10. The requested page is then returned, by the proxy server, direct to the client.
The final scenario is called transparent because the client is unaware that its request as been "hijacked" and still thinks it is talking directly to the destination server.
From the above it can be seen that if you are having web browsing problems and proxies are in use (transparent or otherwise) then ;
1. The DNS servers the proxy is using are just as important as yours - if they are duff then you are in trouble. (However, even if the proxy cannot resolve or contact the destination server - you can still access the requested pages if the proxy has a valid copy of them in its cache)
2. Doing a tracert to the destination server will not show you the route your request is taking as it won't go via any proxy in use.
This is not a precise and exact description of how it all works but I hope it makes it clearer.
To workout if you are using an NTL transparent proxy - use
this simple link
Pem.