Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Internet Protocol suite regroups all the protocols used for communication accross communication across the Internet or similar networks. 

A TCP/IP stack is divided into layers of same functionnalityfunctionality. Each communication protocol belongs to one of the layers. Table - TCP/IP Layer Model shows the differents different layers of the TCP/IP model and also the OSI model. At the rigthright, a list of the protocols associated with each layer that the Micriµm µC/TCP-IP stack supports. 

...


Anchor
TCP/IP Layer Model
TCP/IP Layer Model

Panel
borderWidth0
titleTCP/IP Layer Model


OSI ModelTCP/IP Model
(Dod)
µC/TCP-IP
Internet Protocol Suite
ApplicationApplicationHTTP, FTP, DNS, SMTP, POP3, SNTP, TELNET, TFTP, SSL, DHCP
Presentation
Session
TransportTransportTCP, UDP
NetworkInternetIPv4, IGMP, ICMPv4, ARPIPv6, MLDP, ICMPv6, NDP
DataLinkNetwork AccessIF / 802x
EthernetWiFi
PhysicalEthernet DriverPHY DriverWiFi DriverWiFi Manager



µC/TCP-IP Protocols

μCµC/TCP-IP consists of the following protocols:

  • Device drivers
  • Network interfaces (e.g., Ethernet, WiFiWi-Fi, etc.)
  • Address Resolution Protocol (ARP)
  • Neighbor Discovery Protocol (NDP)
  • Internet Protocol (IPv4 and IPv6)
  • Internet Control Message Protocol (ICMPv4 and ICMPv6)
  • Internet Group Management Protocol (IGMP)
  • Multicast Listener Discovery Protocol (MLDP)
  • User Datagram Protocol (UDP)
  • Transport Control Protocol (TCP)
  • Sockets (Micrium Micriµm and BSD v4)

Interfaces

Actually µC/TCP-IP supports Ethernet interface that use Ethernet frame and/or IEEE 802.4.

Also WiFi interfaces can be used as long as the device implements by itself IEEE 802.11. Basically, µC/TCP-IP only sends some commands to the module to scan for wireless networks, join or leave a specific network. The WiFi Wi-Fi module must be able to encrypt and decrypt by itself all the network data. The network data between the host and the wireless module is transferred using IEEE 802.4. Currently only SPI is supported as communication bus between the host and the wireless module.

Devices

μCµC/TCP-IP may be configured with multiple-network devices and network (IP) addresses. Any device may be used as long as a driver with appropriate API and BSP software is provided. The API for a specific device (i.e., chip) is encapsulated in a couple of files and it is quite easy to adapt devices to μCµC/TCP-IP.

IPv4 & IPv6

IPv4

The Micriµm Network Stack supports IPv4 as described in RFC #791, with the following restrictions/constraints:

...

  • IPv6 Extension Headers is NOT currently supported.

...

The IPv6 layer also implements:

  • ICMPv6 protocol for Internet control messages;
  • NDP protocol for link layer address resolution;
  • MLDP protocol for mutlicast multicast communication.

Socket API

The user application interfaces to µC/TCP-IP via a well known API called BSD sockets (or µC/TCP-IP’s internal socket interface). The application can send and receive data to/from other hosts on the network via this interface. Many books and tutorials exist about BSD sockets programming,  mostly the concepts explained in these reference can be applied to µC/TCP-IP socket programming. 

Network

...

Application Protocols

Micrium Add-ons

Micrium offers application layer protocols as add-ons to μCµC/TCP-IP. A list of these network services and applications includes:

μCµC/DCHPcDHCP client
μCµC/DNScDNS client
μCµC/HTTPsHTTP server (web server)
μCµC/FTPcFTP client
μCµC/FTPsFTP server
μCµC/SMTPcSMTP client
μCµC/SNTPcNetwork Time Protocol client
μCµC/TELNETsTelnet server
μCµC/POP3cPOP3 client
μCµC/TFTPcFTP client
μCµC/TFTPcTFTP client
μCµC/IPerfNetwork testing tool

...

BSD Based Application

Any well known application layer protocols following the BSD socket API standard can be used with μCµC/TCP-IP.

RFC validation

µC/TCPIP is regularly validated via a popular automated network validation library provided by Ixia and called IxANVL. It guaranteed that RFCs are always respected and correctly implemented.