Network Buffer Architecture

µC/TCP-IP uses both small and large network buffers:

  • Network buffers
  • Small transmit buffers
  • Large transmit buffers
  • Large receive buffers

A single network buffer is allocated for each small transmit, large transmit and large receive buffer. Network buffers contain the control information for the network packet data in the network buffer data area. Currently, network buffers consume approximately 200 bytes each. The network buffers’ data areas are used to buffer the actual transmit and receive packet data. Each network buffer is connected to the data area via a pointer to the network buffer data area, and both move through the network protocol stack layers as a single entity. When the data area is no longer required, both the network buffer and the data area are freed. The figure below depicts the network buffer and data area objects.

Figure - Network Buffer Architecture


Network Buffer Sizes

The following table shows how each network buffer should be configured to handle the majority of worst cases.

Type of network bufferSize
Receive Large Buffer1518 + Alignment
Transmit Large Buffer1518 + Alignment
Transmit Small Buffer64 + Alignment