This document provides an overview of Citrix's Independent Computing Architecture (ICA) protocol. It discusses the history and versions of ICA, describes how ICA optimizes for wide area networks through features like compression and virtual channels. It explains the different components of the ICA stack including the winstation driver, framing driver, protocol driver and more. It also covers topics like virtual channels, the Common Gateway Protocol (CGP), and how Session Reliability works.