Written by the creator of the OSPF (Open Shortest Path First) protocol, this book demonstrates the protocol in action with a complete OSPF implementation. It shows how the protocol's theory is realized in a real-time distributed software system, reveals many of the finer points of OSPF, and offers experienced-based optimization and porting techniques.
The implementation described and examined in this book is written in C++ and designed with porting in mind. The book details the software architecture of the implementation and describes in-depth key OSPF functions, illustrated by numerous code samples. It also includes a guide to porting OSPF software to different environments, with an explanation of the software layer between the OSPF implementation and the operating system. In addition, two sample ports are included–a routing daemon for Linux and an OSPF routing simulator for Linux and Windows.
Key topics covered include:
- Implementation architecture, including I/O, data flow, and data structures
- Porting considerations, including handling different types of CPU chips
- AVL trees, Patricia trees, priority queues, timers, and logging messages
- The IP routing table
- Link-state database, including aging LSAs
- Neighbor discovery and the neighbor state machine
- Synchronization of link-state databases through the flooding algorithm
- Routing calculations, including intra-area, inter-area, and external routes
- An implementation of the Multicast Extensions to OSPF (MOSPF)
- Configuration and monitoring, including cryptographic authentication
- Host wiretapping
Together, OSPF: Anatomy of an Internet Routing Protocol and OSPF Complete Implementation provide an in-depth view into the theory and inner workings of OSPF, and the knowledge you need to make full use of this important protocol in Internet-based applications.
|Sold by:||Barnes & Noble|
|File size:||19 MB|
|Note:||This product may take a few minutes to download.|
About the Author
John T. Moy is a Corporate Fellow at Sycamore Networks, Inc. He is the author of the OSPF and MOSPF protocol specifications and chairs the OSPF and MOSPF Working Groups in the Internet Engineering Task Force. Involved in the design and development of router software for nearly two decades, Moy previously worked at Ascend Communications, Proteon, and Bolt, Beranek and Newman. He holds an M.A. in mathematics from Princeton and a B.S. in mathematics from the University of Minnesota.
Table of ContentsList of Tables.
List of Figures.
1. Functional Specifications.
An OSPF Routing Daemon: OSPFD.
An OSPF Routing Simulator.
2. Installation Instructions.
Installation of OSPFD (Linux Only).
Installation of the OSPF Routing Simulator: OSPF_SIM.
Installing the OSPF Sources.
3. Software Architecture.
Major Data Structures.
4. Porting Guide.
Application Programming Interface.
5. Building Blocks.
6. The Link-State Database.
Link-State Database Fundamentals.
7. Originating LSAs.
Receiving Self-Originated LSAs.
LS Sequence Number Rollover.
8. Neighbor Maintenance.
Neighbor State Machine.
Interface State Changes.
Receiving Link State Updates: SpfNbr::recv_update().
Flooding LSAs: LSA::flood().
Receiving Acknowledgments: SpfNbr::recv_ack().
Retransmitting LSAs: SpfNbr::rxmt_update().
Building Update Packets.
10. OSPF Hierarchy.
Guidelines for Area Boundaries.
Implementing Area Routing.
Implementing External Routing.
11. Routing Calculations.
Triggering the Routing Calculation: OSPF::rtsched().
The Intra-AS Routing Calculation: OSPF::full_calculation().
Routes to ASBRs.
External Routes: INrte::run_external().
12. MOSPF Implementation.
MOSPF Data Structures.
Propagating Group Membership: Group-Membership-LSAs.
Cache Maintenance and MOSPF IGMP Interaction.
Interaction with Other Routing Protocols.
13. Configuration and Monitoring.
Cryptographic Authentication Keys.
Area Route Aggregation.
Virtual Link Parameters.
Loopback Addresses and Attached Hosts.
Rereading Entire Configuration.
14. A Routing Daemon for Linux.
The OSPFD Configuration.
Changing Configuration Syntax.
Monitoring OSPFD Operation.
15. An OSPF Simulator.
The Simulation Controller Process: OSPF_SIM.
A Simulated OSPF Router: The OSPFD_SIM Process.
Monitoring and Debugging.
Appendix A. Manual Pages.
Appendix B. OSPFD Logging Messages.
Configuration and Management Messages.
Appendix C. Projects.
Appendix D. GNU General Public License.