Most distributed systems communicate via the standard Internet protocols IP, TCP and UDP. On top of these protocols, other more application specific protocols are layered, like HTTP, FTP, SMTP etc. As with data formats, the design of an application layer protocol has a high impact on what functionality is possible to implement with it. Therefore we collected a list of requirements for modern distributed systems, and based on that we have designed a base protocol for implementing application layer network protocols. This base protocol is named IAP - Internet Application Protocol. IAP provides a common message format which can be used to implement different use case specific protocols, which we refer to as “semantic protocols”.