OSPF Complete Implementation

OSPF Complete Implementation

by John T. Moy
     
 

View All Available Formats & Editions

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

…  See more details below

Overview

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
  • Hierarchy
  • 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.

Read More

Editorial Reviews

Booknews
Moy (the author of OSPF and MOSPF protocol specifications) provides instruction for OSPF implementation. He shows how the protocol's theory is realized in a real-time distributed software network, reveals many of the finer points of OSPF, and offers experience-based optimization and porting techniques. The implementation described and examined is written in C++ and designed with porting in mind. The book details the software architecture of the implementation and describes key OSPF functions in-depth, 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 operations system. Annotation c. Book News, Inc., Portland, OR (booknews.com)

Product Details

ISBN-13:
9780768682168
Publisher:
Addison-Wesley
Publication date:
06/26/2008
Pages:
400
Product dimensions:
7.50(w) x 9.40(h) x 0.90(d)

Read an Excerpt

PREFACE:

This book is the companion to OSPF: Anatomy of an Internet Routing Protocol. In keeping with the Internet tradition of valuing "rough consensus and working code," this book provides a complete OSPF implementation to go with the previous description of the OSPF protocol. The implementation is written in C++ and has been designed for portability. Two sample ports are included: (1) an OSPF routing daemon, called ospfd, for the Linux operating system and (2) an OSPF routing simulator, ospf_sim, that can be run under Linux or Windows.

The text of this book provides design documentation for the implementation, a porting guide, and user manuals for the two sample ports. The data flow and major data structures are explained, using code fragments when necessary. The complete implementation is contained in an attached CD-ROM.

Examination of an OSPF implementation allows us to explore all the nooks and crannies of the protocol. Methods to optimize an OSPF implementation are also explained. Exercises are included for readers interested in gaining experience with modifying a fairly large, real-time distributed software system.

One thing that I have learned through many years of writing networking software is that there is always more than one way of doing anything. In no way should the reader assume that this book presents the only right way to implement OSPF functionality. However, the reader should learn from this book new techniques of implementing networking software and some fine points of the OSPF routing protocol.

Audience

Like OSPF: Anatomy of an Internet Routing Protocol, this book is for peopleinterested in the practical aspects of Internet routing: students of data communications, TCP/IP network administrators, protocol designers, developers of routing protocol software, and other professionals involved in the design, development, and management of TCP/IP networks. Through the exercises included in the book, software engineers can also gain experience with modifying and enhancing a fairly large and complicated real-time software system.

Because the book contains a working OSPF implementation that can be used to turn a Linux workstation into a router or as an OSPF network simulator, the book will also be of interest to nonprogrammers involved in administering, designing, and monitoring OSPF networks.

This book assumes a basic knowledge of OSPF, which can be obtained either by reading the companion book, OSPF: Anatomy of an Internet Routing Protocol, or from the OSPF protocol specifications themselves.

Organization of This Book

This book can be read in several ways. Those people interested only in using the ospfd implementation or the OSPF simulator can restrict their attention to Chapters 1, 2, 13, 14, and 15. Those people interested mainly in porting the OSPF software to other environments can concentrate on Chapter 4 and the two sample ports described in Chapters 14 and 15.

The rest of the book—in Chapters 3 and 5n12—describes an implementation of OSPF and some of its extensions in great detail. For these chapters, familiarity with the basics of the C++ programming language is assumed. Each of these chapters discusses an OSPF function, such as flooding LSAs. The chapters begin with any required elucidations of the OSPF specifications and descriptions of any novel efficiency provisions provided by the implementation and then illustrate the function through examination of code samples. The network diagram on the flyleaf, a reproduction of Figure 6.6 in OSPF: Anatomy of an Internet Routing Protocol, is used throughout the text in examples. Exercises at the end of each chapter are used to reinforce ideas presented and to allow readers to add features to the implementation. Answers to the exercises are not provided; however, answers to those exercises marked as bug fixes can be found in the source code on ...

Read More

Meet 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.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >