Beneath the ICA data packets are several optional protocol driver layers. ICA does not depend on these layers; their existence and use is negotiated during the ICA handshaking period that occurs at the start of a session. Because these layers sit below ICA, they can be removed or replaced, and additional protocol drivers can also be added. A wide range of supplied protocol modules allow ICA to work with all of the most prevalent transport technologies, such as TCP/IP, NetBIOS, IPX/SPX, and PPP/SLIP (Serial Line Inter-face Protocol), supplying true protocol independence to ICA.