Part IIINETWORK INTERFACE REQUIREMENTS
µC/TCP-IP supports multiple network interfaces if the hardware has multiple network controllers (see Chapter 16, “Network Interface Layer” on page 345). Network Interfaces are used to represent an abstract view of the device hardware and data path that connects the hardware to the higher layers of the network protocol stack. In order to communicate with hosts outside the local host, the application developer must add at least one network interface to the system. The data size for network interfaces is calculated as:
µC/TCP-IP manages software timers used to keep track of various network-related timeouts. Each timer requires RAM. The data size for timers is calculated as:
ADDRESS RESOLUTION PROTOCOL (ARP) CACHE REQUIREMENTS
ARP is a protocol used to cross-reference an Ethernet MAC address (see Chapter 4, “LAN =Ethernet” on page 85) and an IP address (see Chapter 5, “IP Networking” on page 113). These cross-references are stored in a table called the ARP cache. The number of entries in this table is configurable. The data size for the ARP cache is calculated as:
A network interface can have more than one IP address. The data size for IP address configuration is calculated as:
Internet Control Message Protocol (ICMP) transmits ICMP source quench messages to other hosts when network resources are low. The number of entries depends on the number of different hosts. It is recommended to start with a value of 5
. The data size for ICMP source quench is calculated as:
The Internet Group Management Protocol (IGMP) adds multicasting capability to the IP protocol stack (see Appendix B, “µC/TCP-IP API Reference” on page 433). The data size for IGMP host groups is calculated as:
A connection is a µC/TCP-IP structure containing information regarding the IP protocol parameters required to identify two hosts communicating with each other. A connection is a structure that is used for all Layer 4 protocols (UDP and TCP). The data size for connections is calculated as:
In addition to the connection data structure defined previously, a TCP connection requires additional state information, transmit and receive queue information as well as time-out information to be stored in a specific TCP connection data structure. The data size for the TCP connections is calculated as:
As seen in section Layers 5-6-7 – The Application, the interface between the application and the TCP/IP stack is defined as a socket interface. For each socket that the application wants to open and use, a socket structure exits that contains the information about that specific socket.
The data size for sockets is calculated as:
TCP-IP INTERNAL DATA USAGE
This represents the amount of data space needed for µC/TCP-IP’s internal data structures and variables, and varies from about 300 to 1900 bytes depending on the options configured.
Lines 1 to 8 in Table 3-5 provide data sizes that may vary as the number of each element is determined at configuration time. You could build a spreadsheet to reproduce the table above using the equations described above. Line 9 is the fixed internal data usage for µC/TCP-IP. With such a configuration, we see that the system total RAM usage exceeds 40 K.
Next: µC/TCP-IP ADD-ON OPTIONS DATA FOOTPRINT
Chapters of "µC/TCP-IP, the embedded protocol" are provided to UBM for users download and consultation, not for resale. Users wanting to know more about TCP/IP and Micrium can visit Micrium