

Typically, the so-called "sockets" API is used.įigure 1 also shows the black box nature of the network interface. In other words, data is sent and received over the network via a set of well-defined function calls.

From the application programmer's point of view, a TCP/UDP/IP stack is nothing but an API to be called. What I want you to understand from this figure is the black box nature of the stack. That picture is the one in Figure 1, which shows how the TCP/UDP/IP stack fits in between your application code and the network interface. Hidden assumptionsīefore we go on, I want to make sure you have a solid picture in your head. I begin by tackling some of the oft-ignored practicalities in and around embedded networking. Rather, I hope to supplement the discussion found in those books with the practical information embedded developers need most. Plenty of good books are available about TCP/IP and I have no desire to rehash the material covered there.

But where, exactly, do these addresses come from? And why is it that the authors of books on TCP/IP never bother to answer this or any other practical implementation question? You'll also need to assign your product a MAC address.Īny book on TCP/IP will tell you that each network-connected device has a globally unique hardware address. Merely adding a protocol stack and networking API to your software doesn't make you TCP/IP ready.
