Designing Embedded Communications Software

Chapter 3: Software Partitioning

This chapter addresses issues related to partitioning in communications software, both in terms of functionality and system implementation. While the OSI model can be used to partition the protocol software functionality, it is very rigid in terms of design. For performance reasons, some visibility into the higher and lower layers may be required, as explained below.

The discussion then moves on to the delineation between tasks and modules and how a typical communications system is implemented. An example of a Layer 2 switch is used to outline the various modules including the device driver, protocol tasks and system/management modules. The chapter concludes with a description of the inter-module interfaces, including the use of standards-based and proprietary interfaces.

3.1 Limitations of Strict Layering

Chapter 1 detailed the OSI Seven Layer Model. The simplest way to partition the system is to follow this model by designing each protocol layer as a single module with clear interfaces with its upper and lower layers. If strict layering is followed, each protocol module will be unaware and independent of its upper and lower layers. This, however, is difficult to implement in practice, the key reasons being:

  • Protocol Dependencies

  • Performance Considerations

  • Hardware and System Configuration

Protocol Dependencies

Consider the case of a host implementing the TCP/IP stack running over Ethernet. The TCP stack sits on top of the IP stack, which, in turn, sits above the Ethernet driver. The frame formats are shown in Figure 3.1. The destination and source addresses are 6 bytes each and occupy...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Protocol Stack Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.