The penultimate layer is the presentation layer, which takes care of syntax and semantics between applications, through dealing with complex data representation. It allows the last layer to be independent from the encoding used to represent the data. The presentation of the OSI model used ASN.1 encoding, but there is a wide range of different presentation protocols that are widely used, such as XML and JSON.