The DoIP system is designed to let devices communicate with eachother while requiring as little configuration as possible. A DoIP system automatically connects devices based on their presence and capabilities.
The DoIP protocol consists of three components, which handle different phases in the process of configuration and operation. The different phases are visualized in the graph on the right.
In a DoIP system, devices are connected to eachother by a network (commonly IP over Ethernet; IPv6 is recommended because it needs less configuration). As devices can be plugged in and out at any moment (if the user wants to add/remove/move functionality or to save power), a discovery mechanism is needed to let devices discover eachother. The first component therefore is the discovery component.
When a device discovers another device, it has to determine whether it can communicate with this device or not. In order to do so, the device has to download a special definition file from the other device. The definition file specifies the messages that a device is willing to process. There can be any number of supported messages in a definition file, and message definitions may be (partly) from any of the standard sets of messages or custom, vendor-specific ones. The definition file and the method by which it is downloaded is part of the negotiation component.
The third component is the actual messaging between devices. Not all devices may support the same method of sending and receiving messages and format of the message. For instance, some devices can use OSC over TCP/IP, while others may only have enough resources to use a simpler format over UDP. The components that is concerned with message transfer is called the transport component. A device can support more than one transport mechanism; which ones are specified in the definition file.