To expand the reach of our hosts, internetworking protocols are necessary to enable communication between different computers attached to diverse local area networks.
Internet: a network of networks (in other words, between the networks: Inter Net).
The public Internet is a familiar example. A private network of networks is referred to as an Intranet.
When it is advantageous to link together multiple LANs, Layer 3 protocols and equipment (routers) are brought into play (see Figure 2-9). Three LANs are linked together with a cloud where the Layer 3 nodes (routers), used to forward frames between the LANs, are located. The Layer 2 device, the Ethernet switch, is connected to the Layer 3 router, to participate in the larger network. The Network layer handles the packaging of frames into packets and their routing from one piece of equipment to another. It transfers packets across multiple links and/or multiple networks. What is not represented in Figure 2-9 are network connections between the nodes in the cloud.
Collectively, the nodes execute routing algorithms to determine paths across the network. Layer 3 is the unifying layer bringing together various Layer 2 technologies. Even if all of the hosts access these networks using different Layer 2 technologies, they all have a common protocol. In an IP network, this is represented by the IP packet and the well-known IP address which is used by the routing algorithm. See Chapter 5, "IP Networking" on page 109, for a complete definition of IP addresses.
We already know that a device such as an embedded system requires a MAC address to participate in the LAN. Now, we also see that in a network of networks using IP technology, each device also needs an IP address. Other configuration requirements will be covered in depth in Chapter 5, "IP Networking" on page 109.
The links depicted in Figure 2-10 are not direct links, but instead represent that the information carried between the two hosts on the network is made up of structure that is relevant only to certain layers of the TCP/IP stack. The information contained in the packets encapsulated in the frames, is processed by the Network layer. When transmitting a packet, the Network layer takes the information received from the layer above and builds the packet with relevant Layer 3 information (an IP address and other data making up the Layer 3 header). The Network layer, upon receiving a packet, must examine its content and decide what do to with it. The most plausible action is to send it to the layer above.
The Transport layer ensures the reliability of point-to-point data communications. It transfers data end-to-end from a process in one device to a process in another device. In IP technology, we have two protocols at this layer:
TRANSMISSION CONTROL PROTOCOL (TCP)
A reliable stream transfer providing:
- Error recovery
- Flow control
- Packet sequencing
USER DATAGRAM PROTOCOL (UDP)
A quick-and-simple single-block transfer
At this stage of implementation, the embedded system engineer must evaluate which or if both of these protocols will be required for the type of embedded application at hand. Assistance to help answer these questions can be found in Chapter 7, on page 161, which describes transport layer protocols in greater detail.
Figure 2-11 above shows that at the Network layer, the packet may have gone through different nodes between the source and destination. The information contained in the packet may be a TCP segment or a UDP datagram. The information contained in these segments or datagrams is only relevant to the transport layer.
Next: Layers 5-6-7--The Application
About the Author
Christian Legare joined Micrium as Vice President in 2002. He is a regular speaker at Embedded Systems Conferences and has published several articles on embedded systems. Legare holds a BSEE and MSEE from the University of Sherbrooke, Quebec, Canada