Enabling compression on Microsoft IIS 6.0
IIS 6 has fast compression built in, without many of the issues that affected IIS 5. However, configuring and managing IIS 6 is not easy, due to having to use a programmatic interface for some functionality rather than a GUI (this is meant to be improving in future releases) and a lack of granular configuration options. Furthermore, IIS 6 does not identify browsers that do not properly implement caching, which may cause compatibility issues. We therefore recommend that you use the third party product zipEnable to manage IIS 6: http://www.port80software.com/products/zipenable/].
If you do not want to buy an additional product then there is an in-depth article on enabling compression on IIS 6 here: http://www.wwwcoder.com/main/parentid/170/site/3669/68/default.aspx, however this will not address browser compatibility issues.
Note that IIS 6 completely disables remote caching of compressed pages by giving them an expiry time in the past. This will stop users' local caches from working on your site, and therefore could slow down their access to your site in some situations.