# Toepassingslaag

Een toepassingslaag of applicatielaag is een abstractielaag die communicatieprotocollen en koppelvlakken ("interfaces") specificeert, waarmee computers met elkaar kunnen communiceren over telecommunicatienetwerken en computernetwerken.

## Gebruik binnen de standaardmodellen

Deze abstractielaag wordt gebruikt in beide standaardmodellen van computernetwerken: die van de Internet Protocol Suite en van het OSI-model. Ondanks dat beide modellen dezelfde naam gebruiken, verschilt de doelstelling en definitie.
Bij de TCP/IP Protocol Suite bevat deze laag de communicatieprotocollen en methoden die gebruikt worden bij de communicatie onderling tussen processen over een IP-computernetwerk. Hierbij standaardiseert de toepassingslaag alleen de taal van en naar een proces, maar is voor de data uitwisseling en het transport tussen de processen afhankelijk van de onderliggende lagen, waar weer andere protocollen uit de TCP/IP Protocol Suite actief zijn.
Bij het OSI-model is de definitie van de toepassingslaag beduidend anders. Het OSI-model definieert de toepassingslaag als de laag die de ontvangen informatie aanbiedt aan de gebruikersapplicatie. Dit in tegenstelling tot de TCP/IP Protocol Suite, die daar geen bemoeienis mee heeft. Feitelijk overspant de toepassingslaag van de TCP/IP Protocol Suite drie lagen van het OSI-model, te weten: de toepassingslaag, de presentatielaag en de sessielaag. Het OSI-model specificeert een strikte functiescheiding voor deze lagen en voorziet in unieke protocollen voor elk van deze lagen.

### Toepassingslaagprotocollen binnen de TCP/IP Protocol Suite

* Telnet (op afstand aanmelden op "host computers")
* FTP en TFTP (bestandsoverdracht)
* SMTP (e-mailtransport)
* DNS (vertalen van computernamen naar IP-adressen binnen het internetdomein)
* BOOTP en DHCP (het toekennen van een TCP/IP-adres aan een netwerknode)
* SNMP en CMOT (beheren van een computer op afstand)

### Toepassingslaagprotocollen binnen het OSI-model

* AFP (bestandstransportsysteem van Apple)
* APPC (onderdeel van de SNA suite van IBM t.b.v. de communicatie tussen programma's onderling)
* Bitcoin (protocol voor cryptografisch geld)
* BitTorrent (protocol voor peer-to-peer-gegevensuitwisseling)
* Gopher (gedistribueerd netwerkprotocol voor het zoeken en ophalen van documenten)
* HL7 (protocol voor patiëntgegevens)
* Hypertext Transfer Protocol (protocol voor de communicatie tussen een webbrowser en -server)
* H.323 (protocol voor videoconferentie)
* IRCP (protocol voor chatten)
* Lightweight Directory Access Protocol (vereenvoudigd protocol voor het uitvragen van een directoryservice)
* LPD (printerprotocol)
* MIME (protocol voor structuur en codering van e-mailberichten)
* NFS (protocol voor bestandsdeling)
* NNTP (protocol voor de verspreiding van berichten in Usenet-nieuwsgroepen)
* NTP (protocol voor transport van de atoomtijd)
* P9 (protocol voor gedistribueerd bestandssysteem)
* RDP (protocol voor transport van een GUI op afstand)
* RIP (protocol voor route-informatie tussen routers)
* Rlogin (op afstand aanmelden op UNIX-Systemen)
* RPC (protocol om code uit te voeren op een andere machine)
* SIP (protocol voor audio- en videocommunicatie)
* SMB/CIFS (Microsoft-bestandsuitwisseling tussen meerdere Windowscomputers)
* SMTP (een tekstgebaseerd protocol voor korte berichten)
* WebDAV (uitbreiding van het HTTP-protocol)
* X.400 (protocol voor berichtenafhandeling)
* X.500 (protocol voor het uitvragen van een directoryservice)
* XMPP (open XML-netwerkprotocol voor berichtgeving)