Designing Embedded Communications Software
Chapter 1: Introduction
- Figure 1.1: OSI Reference Model and Communication between Peers.
- Figure 1.2: Layering Encapsulation for a packet in the OSI Seven Layer Mode
- Figure 1.3: A typical network architecture.
- Figure 1.4: Protocol Implementation and Interfaces
- Figure 1.5: Players in the communications infrastructure
Chapter 2: Software Considerations in Communications Systems
- Figure 2.1: Web browser and TCP/IP Implementation in Unix
- Figure 2.2: Unix Host implementing IP and IPX
- Figure 2.3: Stream components.
- Figure 2.4: Boot sequence using ROM/Flash and RAM.
- Figure 2.5: Classical planar networking architecture.
- Figure 2.6: Encryption abstraction layer for an IPSec module.
Chapter 3: Software Partitioning
- Figure 3.1: TCP/IP packets.
- Figure 3.2: Processes and tasks.
- Figure 3.3: Typical Architecture of a Layer 2 Switch.
- Figure 3.4: Frame Reception and Buffer Handling
- Figure 3.5: Interface between routing and IP switching tasks.
- Figure 3.6: Callback function.
- Figure 3.7: Implementing messaging with a message queue.
Chapter 4: Protocol Software
- Figure 4.1: A Simple Protocol State Machine.
- Figure 4.2: Multiple memory partitions in a communications system.
- Figure 4.3: A manager–agent model.
Chapter 5: Tables and Other Data Structures
- Figure 5.1: Physical & Logical Interfaces on a Frame Relay router.
- Figure 5.2: Logical interface.
- Figure 5.3: Hardware and protocol interface control blocks.
- Figure 5.4: Array-based Allocation for PICBs.
- Figure 5.5: Linked List based Allocation for PICBs.
- Figure 5.6: Reference modification with table resizing.
- Figure 5.6: Table access.
Chapter 6: Buffer and Timer Management
- Figure 6.1: Single and Multiple Buffer Pools.
- Figure 6.2: The BSD mbuf Structure.
- Figure 6.3: Creating an mbuf cluster with multiple mbufs.
- Figure 6.4: STREAMS buffer organization.
- Figure 6.5: (a)Three and (b) Two level buffer Management Schemes.
- Figure 6.6: Structures in a buffer management scheme.
- Figure 6.7: Managing multiple timers.
- Figure 6.8: Table based timer organization.
- Figure 6.9: Differential timers.
- Figure 6.10: Timer management task.
Chapter 7: Management Software
- Figure 7.1: Router architecture with various management schemes.
- Figure 7.2: The CLI agent.
- Figure 7.3: Management Routines and Internal Events.
- Figure 7.4: Saving the configuration
Chapter 8: Multi-Board Communications Software Design
- Figure 8.1: Chassis design with packet + circuit switched buses.
- Figure 8.2: A multiple-card rack design.
- Figure 8.3: Single Control Card + Multiple Line Card Architecture.
- Figure 8.4: Software Partitioning on multiboard router
- Figure 8.5: Access routine and local copy scenarios.
- Figure 8.6: OSPF Split Control Plane Example.
- Figure 8.7: Fully distributed architecture.
- Figure 8.8: Control card redundancy.
Chapter 9: Going About the Development
- Figure 9.1: A simulated environment
- Figure 9.2: Operating system abstraction layer
- Figure 9.3: Typical development environment
- Figure 9.4: ANVL test tool.