You are previewing Interconnections: Bridges, Routers, Switches and Internetworking Protocols, Second Edition.
O'Reilly logo
Interconnections: Bridges, Routers, Switches and Internetworking Protocols, Second Edition

Book Description

Radia Perlman's Interconnections is recognized as a leading text on networking theory and practice. It provides authoritative and comprehensive information on general networking concepts, routing algorithms and protocols, addressing, and the mechanics of bridges, routers, switches, and hubs. This Second Edition is expanded and updated to cover the newest developments in the field, including advances in switching and bridge technology, VLANs, Fast Ethernet, DHCP, ATM, and IPv6. Additional new topics include IPX, AppleTalk, and DECnet. You will gain a deeper understanding of the range of solutions possible and find valuable information on protocols for which documentation is not readily available elsewhere.

Written by the inventor of many of the algorithms that make switching and routing robust and efficient, Interconnections, Second Edition offers an expert's insight into how and why networks operate as they do. Perlman describes all of the major networking algorithms and protocols in use today in clear and concise terms, while exploring the engineering trade-offs that the different approaches represent.

The book contains extensive coverage of such topics as:

  • The spanning tree algorithm

  • The differences between bridges, routers, and switches

  • Virtual LANs (VLANs) and Fast Ethernet

  • Addressing and packet formats for IP, IPv6, IPX, CLNP, AppleTalk, and DECnet

  • Autoconfiguration of addresses; strategies in various protocol suites

  • Routing protocols, including RIP, IS-IS, OSPF, PNNI, NLSP, and BGP

  • Layer 3 multicast protocols, including IGMP, DVMRP, MOSPF, CBT, PIM, BGMP, Simple Multicast, and Express

  • Sabotage-proof routing

  • Protocol design folklore



0201634481B04062001

Table of Contents

  1. Copyright
  2. Preface
    1. Roadmap to the Book
    2. Acknowledgments
  3. 1. Essential Networking Concepts
    1. 1.1. Layers
    2. 1.2. Service Models
    3. 1.3. Important Properties of a Network
    4. 1.4. Reliable Data Transfer Protocols
      1. Homework
  4. 2. Data Link Layer Issues
    1. 2.1. Generic LANs
      1. 2.1.1. What Is a LAN?
      2. 2.1.2. Taking Turns
    2. 2.2. IEEE 802 LANs
    3. 2.3. Names, Addresses, Routes
    4. 2.4. LAN Addresses
    5. 2.5. Multicast versus Unicast Addresses
    6. 2.6. The Broadcast Address
    7. 2.7. Multiplexing Field
    8. 2.8. Bit Order
    9. 2.9. Logical Link Control
    10. 2.10. Issues in 802.3
    11. 2.11. Issues in 802.5
    12. 2.12. Packet Bursts
    13. 2.13. Reasons for Bridges
    14. 2.14. Point-to-Point Links
      1. Homework
  5. 3. Transparent Bridges
    1. 3.1. The No-Frills Bridge
    2. 3.2. The Learning Bridge
    3. 3.3. Spanning Tree Algorithm
      1. 3.3.1. Configuration Messages
      2. 3.3.2. Calculation of Root ID and Cost to Root
      3. 3.3.3. Selecting Spanning Tree Ports
      4. 3.3.4. An Example
    4. 3.4. Spanning Tree Algorithm Refinements
      1. 3.4.1. Failures
      2. 3.4.2. Avoiding Temporary Loops
      3. 3.4.3. Station Cache Timeout Values
      4. 3.4.4. Networkwide Parameters
      5. 3.4.5. Port ID
      6. 3.4.6. Assigning Port Numbers
      7. 3.4.7. Performance Issues
      8. 3.4.8. One-way Connectivity
      9. 3.4.9. Settable Parameters
    5. 3.5. Bridge Message Formats
      1. 3.5.1. Configuration Message Format
      2. 3.5.2. Topology change notification format
    6. 3.6. Other Bridge Issues
      1. 3.6.1. Multiply Connected Stations
      2. 3.6.2. Configuration of Filtering
      3. 3.6.3. Not Quite Transparent
    7. 3.7. Remote Bridges
      1. Homework
  6. 4. Source Routing Bridges
    1. 4.1. Pure Source Routing
      1. 4.1.1. The Routing Header
      2. 4.1.2. Bridge Numbers
        1. 4.1.2.1. Internal LAN Number
        2. 4.1.2.2. The Route
        3. 4.1.2.3. Reasons for Parallel Bridges
      3. 4.1.3. Bridge Algorithms
        1. 4.1.3.1. Transparent Packets
        2. 4.1.3.2. Specifically Routed Packets
        3. 4.1.3.3. All Paths Explorer Packets
        4. 4.1.3.4. Spanning Tree Explorer Packets
    2. 4.2. SR-TB Bridges
      1. 4.2.1. Packets from a TB Port
      2. 4.2.2. Packets from an SR Port
      3. 4.2.3. Loops
    3. 4.3. SRT Bridges
    4. 4.4. End-system Algorithms
      1. 4.4.1. When to Find a Route
      2. 4.4.2. How to Find a Route
        1. 4.4.2.1. Route Finding Strategy 1
        2. 4.4.2.2. Route Finding Strategy 2
        3. 4.4.2.3. Route Find Strategy 3
        4. 4.4.2.4. Route Finding Strategy 4
        5. 4.4.2.5. Route Finding Strategy 5
        6. 4.4.2.6. Route Finding Strategy 6
      3. 4.4.3. Route Discovery by the Destination
      4. 4.4.4. Route Selection
    5. 4.5. Source Routing versus Transparent Bridging
      1. 4.5.1. Bandwidth Overhead
      2. 4.5.2. Ease of Configuration
      3. 4.5.3. Universality
      4. 4.5.4. Cost and Performance of Bridges
    6. 4.6. Ideas for Improving Source Route Bridging
      1. 4.6.1. Autoconfiguration with Source Route Bridging
      2. 4.6.2. Fixing the Exponential Overhead
      3. Homework
  7. 5. Hubs, Switches, Virtual LANs, and Fast Ethernet
    1. 5.1. Hubs
      1. 5.1.1. The Learning Hub and Security
      2. 5.1.2. Store-and-Forward and Spanning Tree
      3. 5.1.3. Mixing Layer 1 and 2 Switches
      4. 5.1.4. Products versus Standards, Layer 1 versus Layer 2
    2. 5.2. Faster LANs
    3. 5.3. Virtual LANs (VLANs)
      1. 5.3.1. Why VLANs?
      2. 5.3.2. Mapping Ports to VLANs
      3. 5.3.3. Example: VLAN Forwarding with Separate Router
      4. 5.3.4. Example: VLAN Forwarding with Switch as Router
      5. 5.3.5. Dynamic Binding of Links to VLANs
      6. 5.3.6. Dynamic VLAN Binding, Switch-Switch
      7. Homework
  8. 6. Network Interface: Service Models
    1. 6.1. What Is the Network Layer?
    2. 6.2. Network Service Types
      1. 6.2.1. Performance Guarantees
      2. 6.2.2. Sample Service Model Choices
      3. 6.2.3. Hybrid Schemes
      4. 6.2.4. Connectionless versus Connection-oriented
      5. Homework
  9. 7. Connection-oriented Nets: X.25 and ATM
    1. 7.1. Generic Connection-oriented Network
    2. 7.2. X.25: Reliable Connection-oriented Service
      1. 7.2.1. The Basic Idea
      2. 7.2.2. Virtual Circuit Numbers
      3. 7.2.3. Call Setup
      4. 7.2.4. Data Transfer
      5. 7.2.5. Flow Control
      6. 7.2.6. Facilities
      7. 7.2.7. Call Release
      8. 7.2.8. Interrupts
    3. 7.3. Implementing X.25 Inside the Net
      1. 7.3.1. Circuit Method
      2. 7.3.2. Reliable Connections over Datagrams Method
      3. 7.3.3. Comparison
    4. 7.4. Asynchronous Transfer Mode
      1. 7.4.1. Cell Size
      2. 7.4.2. Virtual Circuits and Virtual Paths
      3. 7.4.3. ATM Service Categories
      4. 7.4.4. ATM Cell Header Format
      5. 7.4.5. Setting Up and Releasing Calls
      6. 7.4.6. ATM Adaptation Layers
        1. 7.4.6.1. AAL1
        2. 7.4.6.2. AAL3/4
        3. 7.4.6.3. AAL5
      7. Homework
  10. 8. Generic Connectionless Service
    1. 8.1. Data Transfer
    2. 8.2. Addresses
    3. 8.3. Hop Count
    4. 8.4. Service Class Information
      1. 8.4.1. Priority
      2. 8.4.2. Bandwidth Reservation and Service Guarantees
      3. 8.4.3. Special Route Computation
    5. 8.5. Network Feedback
    6. 8.6. Fragmentation and Reassembly
    7. 8.7. Maximum Packet Size Discovery
      1. Homework
  11. 9. Network Layer Addresses
    1. 9.1. Hierarchical Addresses with Fixed Boundaries
    2. 9.2. Hierarchical Addresses with Flexible Boundaries
    3. 9.3. Owning versus Renting Addresses
    4. 9.4. Types of Addresses
    5. 9.5. IP
      1. 9.5.1. IP Address Conventions
      2. 9.5.2. Text Representation of IP Addresses
    6. 9.6. IPX
      1. 9.6.1. Privacy Issue with Unique IDs
      2. 9.6.2. Ugly Rumors about IPX
      3. 9.6.3. Administering IPX Addresses
      4. 9.6.4. Internal IPX Network Numbers
    7. 9.7. IPX+
    8. 9.8. IPv6
      1. 9.8.1. The IPv6 Version Number Story
      2. 9.8.2. Written Representation of IPv6 Addresses
      3. 9.8.3. Written Representation of IPv6 Prefixes
      4. 9.8.4. EUI-64
      5. 9.8.5. EUI-64 As Used by IPv6
      6. 9.8.6. IPv6 Address Conventions
      7. 9.8.7. Transition from IPv4 to IPv6
    9. 9.9. CLNP Network Layer Addresses
      1. 9.9.1. Autoconfiguration
      2. 9.9.2. Embedded DTE Addresses
    10. 9.10. AppleTalk Network Layer Addresses
    11. 9.11. DECnet Phases III and IV
      1. 9.11.1. A Bit of History
      2. 9.11.2. DECnet Phase IV Address
      3. 9.11.3. Mapping DECnet Address to Ethernet Address
    12. 9.12. NAT/NAPT
      1. Homework
  12. 10. Connectionless Data Packet Formats
    1. 10.1. Pieces of a Connectionless Network Layer
    2. 10.2. Data Packets
    3. 10.3. Summary of Packet Formats for Easy Reference
      1. 10.3.1. IP
      2. 10.3.2. IPX
      3. 10.3.3. IPX+
      4. 10.3.4. AppleTalk
      5. 10.3.5. IPv6
      6. 10.3.6. DECnet
      7. 10.3.7. CLNP
    4. 10.4. Technical Issues and Comparisons in Data Packet Formats
      1. 10.4.1. Destination Address
      2. 10.4.2. Source Address
      3. 10.4.3. Destination and Source Sockets
      4. 10.4.4. Header Length
      5. 10.4.5. Packet Length
      6. 10.4.6. Header Checksum
      7. 10.4.7. Fragmentation Allowed
      8. 10.4.8. Packet Identifier
      9. 10.4.9. Fragment Offset
      10. 10.4.10. Prefragmentation Length
      11. 10.4.11. More Fragments Follow
      12. 10.4.12. Lifetime
      13. 10.4.13. Version
      14. 10.4.14. Padding
      15. 10.4.15. Protocol
      16. 10.4.16. Type
      17. 10.4.17. Error Report Requested
      18. 10.4.18. Congestion Feedback: Source Quench versus DEC Bit
      19. 10.4.19. Type of Service
        1. 10.4.19.1. TOS Field in IPv4
        2. 10.4.19.2. TOS in CLNP
        3. 10.4.19.3. TOS in IPX, AppleTalk, and DECnet
        4. 10.4.19.4. New Ideas for TOS
      20. 10.4.20. Options
        1. 10.4.20.1. Options in CLNP
        2. 10.4.20.2. Options in IP
    5. 10.5. Source Routing
      1. 10.5.1. Loose versus Strict Source Routing
      2. 10.5.2. Overwriting a Source Route with an Outgoing Link Address
      3. 10.5.3. Overwriting a Destination Address with a Next Source Route Destination
      4. 10.5.4. A Security Flaw with the Source Route Option
    6. 10.6. The Great IPX Frame Format Mystery
      1. 10.6.1. IPX's Four Frame Formats
      2. 10.6.2. Dealing with Multiple IPX Frame Formats
    7. 10.7. Error Reports and Other Network Feedback to the Endnode
      1. 10.7.1. CLNP Error Messages
      2. 10.7.2. ICMP: IP Error Messages
      3. 10.7.3. IPv6 Error Messages
      4. Homework
  13. 11. Neighbor Greeting and Autoconfiguration
    1. 11.1. Endnodes Attached via Point-to-Point Links
    2. 11.2. Endnodes Attached via LANs
      1. 11.2.1. ES-IS: The CLNP Solution
      2. 11.2.2. The IP Solution
        1. 11.2.2.1. IP: Finding Neighbors' Layer 2 Addresses
        2. 11.2.2.2. ARP/RARP Message Format
        3. 11.2.2.3. Redirect Messages
        4. 11.2.2.4. IP: Endnode Autoconfiguration
      3. 11.2.3. The IPX Solution
      4. 11.2.4. The DECnet Solution
      5. 11.2.5. The AppleTalk Solution
        1. 11.2.5.1. Knowing Who Is on Your LAN
        2. 11.2.5.2. Finding a Router
        3. 11.2.5.3. Acquiring an AppleTalk Address
        4. 11.2.5.4. Seed Routers
        5. 11.2.5.5. Some Wrinkles
        6. 11.2.5.6. Finding the Best Router for a Given Destination
      6. 11.2.6. The IPv6 Solution
      7. 11.2.7. Review and Comparisons
        1. 11.2.7.1. Endnodes Acquire a Layer 3 Address
        2. 11.2.7.2. Router Finds Out Layer 3 Addresses of Endnode Neighbors
        3. 11.2.7.3. Router Finds Out Layer 2 Addresses of Endnode Neighbors
        4. 11.2.7.4. Endnodes Find a Router
        5. 11.2.7.5. Endnode Neighbors Send Directly to Each Other
        6. 11.2.7.6. Finding the Best Router
        7. 11.2.7.7. Routerless LAN
      8. 11.2.8. Comparisons
        1. 11.2.8.1. ES-IS versus ARP
    3. 11.3. Endnodes Attached via Nonbroadcast Multiaccess Media
      1. 11.3.1. Various Solutions
      2. 11.3.2. Providing Multicast in the Protocol Y Cloud
        1. 11.3.2.1. Bridging
        2. 11.3.2.2. Multicast in IPX
        3. 11.3.2.3. Multicast in ATM
        4. 11.3.2.4. Multicast in SMDS
      3. 11.3.3. LAN Emulation
        1. 11.3.3.1. Some LANE Jargon
        2. 11.3.3.2. A Client (LEC) Boots Up
        3. 11.3.3.3. Joining an ELAN
        4. 11.3.3.4. Transmitting to Another LEC
        5. 11.3.3.5. Sending a Multicast Packet
      4. 11.3.4. Classical IP and ARP over ATM
      5. 11.3.5. Cutting Out Extra Hops
    4. 11.4. Finding Things
      1. 11.4.1. Finding Services, Generically
      2. 11.4.2. AppleTalk's Scheme
      3. 11.4.3. Service Advertising Protocol for NetWare
      4. Homework
  14. 12. Routing Algorithm Concepts
    1. 12.1. Distance Vector Routing
      1. 12.1.1. Why Not Distance Vector?
        1. 12.1.1.1. Hold-down
        2. 12.1.1.2. Reporting the Entire Path
        3. 12.1.1.3. Split Horizon
        4. 12.1.1.4. Two Metrics
        5. 12.1.1.5. Triggered Updates
        6. 12.1.1.6. Poison Reverse
        7. 12.1.1.7. DUAL
    2. 12.2. Link State Routing
      1. 12.2.1. Meeting Neighbors
      2. 12.2.2. Constructing an LSP
      3. 12.2.3. Disseminating the LSP to All Routers
        1. 12.2.3.1. Timestamps
        2. 12.2.3.2. Sequence Number/Age Schemes
        3. 12.2.3.3. The ARPANET LSP Distribution Scheme
        4. 12.2.3.4. New, Improved LSP Distribution
      4. 12.2.4. Computing Routes
    3. 12.3. Comparison of Link State and Distance Vector Routing
      1. 12.3.1. Memory
      2. 12.3.2. Bandwidth Consumed
      3. 12.3.3. Computation
      4. 12.3.4. A Note about Computation Cost
      5. 12.3.5. Robustness
      6. 12.3.6. Functionality
      7. 12.3.7. Speed of Convergence
    4. 12.4. Load Splitting
    5. 12.5. Link Costs
    6. 12.6. Migrating Routing Algorithms
      1. 12.6.1. Running Both Algorithms
      2. 12.6.2. Manual Node-by-Node Switch
      3. 12.6.3. Translation
    7. 12.7. LANs
      1. 12.7.1. Making the LAN a Node
      2. 12.7.2. Disseminating Routing Information
    8. 12.8. Types of Service
      1. 12.8.1. Handling Directives
      2. 12.8.2. Multiple Metrics
      3. 12.8.3. Policy-based Routing and Policy-based Constraints
      4. 12.8.4. Static Routes
      5. 12.8.5. Filters
      6. 12.8.6. Source Routing
      7. 12.8.7. Routing-domain-specific Policy
      8. 12.8.8. Service-class-specific Policy
    9. 12.9. Partition Repair: Level 1 Subnetwork Partition
      1. Homework
  15. 13. Fast Packet Forwarding
    1. 13.1. Using an Additional Header
    2. 13.2. Address Prefix Matching
    3. 13.3. Longest Prefix Match with Trie
      1. 13.3.1. Collapsing a Long Nonbranching Path
      2. 13.3.2. Trading Memory for Search Time
      3. 13.3.3. Binary Search on Prefix Lengths
      4. 13.3.4. Exploiting Parallelism with Special Hardware
        1. 13.3.4.1. Preparing the Data Structure for the Lookup Engine
        2. 13.3.4.2. Doing a Lookup
        3. 13.3.4.3. Optimizations
    4. 13.4. Binary Search
      1. 13.4.1. Sort the Prefixes
      2. 13.4.2. Add Prefix Length to 1-padded Prefixes
      3. 13.4.3. Get Rid of Duplicate Padded Prefixes
      4. 13.4.4. K-ary Search
      5. 13.4.5. Doing a Lookup
      6. Homework
  16. 14. Specific Routing Protocols
    1. 14.1. A Brief History of Intradomain Routing Protocols
    2. 14.2. RIP
      1. 14.2.1. RIP Version 2
    3. 14.3. RTMP, IPX-RIP, and DECnet
    4. 14.4. IS-IS, OSPF, NLSP, and PNNI
      1. 14.4.1. Hierarchy
        1. 14.4.1.1. IS-IS Hierarchy
        2. 14.4.1.2. NLSP Hierarchy
        3. 14.4.1.3. OSPF Hierarchy
        4. 14.4.1.4. PNNI Hierarchy
      2. 14.4.2. Area Addresses
        1. 14.4.2.1. IS-IS Area Addresses
        2. 14.4.2.2. OSPF Area Addresses
        3. 14.4.2.3. NLSP Area Addresses
        4. 14.4.2.4. PNNI Peer Group Names
      3. 14.4.3. LANs and Designated Routers
        1. 14.4.3.1. IS-IS Designated Router Election
        2. 14.4.3.2. OSPF Designated Router Election
        3. 14.4.3.3. NLSP Designated Router Election
        4. 14.4.3.4. PNNI Peer Group Leader Election
      4. 14.4.4. Reliable Propagation of LSPs on LANs
        1. 14.4.4.1. IS-IS and NLSP Link State Information Propagation
        2. 14.4.4.2. OSPF Link State Information Propagation
        3. 14.4.4.3. Comparison
      5. 14.4.5. Parameter Synchronization
        1. 14.4.5.1. IS-IS Parameter Synchronization
        2. 14.4.5.2. OSPF Parameter Synchronization
        3. 14.4.5.3. PNNI Parameter Synchronization
      6. 14.4.6. Destinations per Packet
      7. 14.4.7. LSP Database Overload
        1. 14.4.7.1. IS-IS Database Overload
        2. 14.4.7.2. OSPF Database Overload
        3. 14.4.7.3. PNNI Database Overload
      8. 14.4.8. Authentication
      9. 14.4.9. IS-IS Details
        1. 14.4.9.1. IS-IS for IP
        2. 14.4.9.2. LAN Designated Router
        3. 14.4.9.3. Big Packets
        4. 14.4.9.4. Partitioned Areas
        5. 14.4.9.5. Partitioned Level 2 Network
        6. 14.4.9.6. Multiarea Bridged LANs
        7. 14.4.9.7. Packets Used by IS-IS
          1. IS-to-IS Hello
          2. LSP
          3. Sequence Numbers Packet
      10. 14.4.10. OSPF
        1. 14.4.10.1. General Packet-encoding Issues
        2. 14.4.10.2. Terminology
        3. 14.4.10.3. Area Partitions
        4. 14.4.10.4. Level 2 Partitions
        5. 14.4.10.5. Finding the Right Level 2 Router
        6. 14.4.10.6. Neighbor Initialization
        7. 14.4.10.7. Types of LSAs
        8. 14.4.10.8. Packet Encoding
          1. Hello Packets
          2. Database Description Packets
          3. Link State Request
          4. Link State Update
          5. Link State Acknowledgment
          6. Link State Advertisement
          7. Router Links Advertisement
          8. Network Links Advertisement
          9. Summary Link Advertisement
          10. AS External Link Advertisement
      11. 14.4.11. PNNI Details
        1. 14.4.11.1. Path Setup
        2. 14.4.11.2. Area Partitions
    5. 14.5. Interdomain Routing Protocols
      1. 14.5.1. Static Routing
      2. 14.5.2. EGP
        1. 14.5.2.1. Neighbor Acquisition
        2. 14.5.2.2. Neighbor Reachability
        3. 14.5.2.3. Routing Information
      3. 14.5.3. BGP
        1. 14.5.3.1. BGP Neighbors
        2. 14.5.3.2. BGP Attributes
        3. 14.5.3.3. BGP Policies
        4. 14.5.3.4. Confederations
        5. 14.5.3.5. Message Types
        6. 14.5.3.6. Message Formats
          1. Open Message Format
          2. Update Message Format
          3. Notification Message Format
          4. Keepalive Message Format
      4. Homework
  17. 15. WAN Multicast
    1. 15.1. Introduction
      1. 15.1.1. Layer 2 Multicast
      2. 15.1.2. Reasons for Layer 3 Multicast
      3. 15.1.3. Dimensions to Consider
      4. 15.1.4. Multihop Multicast (other than in IP)
    2. 15.2. Multicast in IP
      1. 15.2.1. Centralized versus Decentralized Multicast
      2. 15.2.2. Could We Do Without Layer 3 Multicast?
      3. 15.2.3. Mapping NL Multicast to DL Multicast
      4. 15.2.4. IGMP Protocol
      5. 15.2.5. IGMP Snooping
      6. 15.2.6. Reverse Path Forwarding
      7. 15.2.7. Distance Vector Multicast Routing Protocol
      8. 15.2.8. Multicast OSPF
      9. 15.2.9. Core-based Trees
      10. 15.2.10. PIM-DM
      11. 15.2.11. PIM-SM
      12. 15.2.12. BGMP/MASC
      13. 15.2.13. Multicast Source Distribution Protocol
      14. 15.2.14. Simplifying Multicast
        1. 15.2.14.1. Creating a Group in Simple Multicast: Choosing C
        2. 15.2.14.2. How Do Endnodes Discover C?
        3. 15.2.14.3. Isn't a Shared Tree Suboptimal?
        4. 15.2.14.4. Single Point of Failure?
        5. 15.2.14.5. Controlling Who Can Send
        6. 15.2.14.6. Policy
        7. 15.2.14.7. Specifying C in Join Messages
        8. 15.2.14.8. Specify Both C and G in Data Messages
        9. 15.2.14.9. Dense-mode Groups
        10. 15.2.14.10. Express
        11. 15.2.14.11. What Is Simpler About Simple Multicast?
      15. Homework
  18. 16. Sabotage-proof Routing
    1. 16.1. The Problem
    2. 16.2. All You Need to Know about Cryptography
    3. 16.3. Overview of the Approach
      1. 16.3.1. Robust Flooding
        1. 16.3.1.1. Summary of Robust Flooding
      2. 16.3.2. Robust Routing
    4. 16.4. Detailed Description of the Approach
      1. 16.4.1. Robust Flooding Revisited
        1. 16.4.1.1. A Priori Information
        2. 16.4.1.2. Dynamic Database
        3. 16.4.1.3. Dealing with Multiple Public Key Distributors
        4. 16.4.1.4. Packets
        5. 16.4.1.5. Distribution of Public Key List Packets
        6. 16.4.1.6. Distribution of LSPs
        7. 16.4.1.7. Receipt of Acks
        8. 16.4.1.8. Running Out of Sequence Number
      2. 16.4.2. Robust Data Routing
      3. 16.4.3. Additional Dynamic Database
        1. 16.4.3.1. Additional Packets
        2. 16.4.3.2. Receipt of Route-setup Packets
        3. 16.4.3.3. Receipt of Data Packets
        4. 16.4.3.4. Nonfunctioning Routes
    5. 16.5. Summary
    6. 16.6. For Further Reading
      1. Homework
  19. 17. To Route, Bridge, or Switch: Is That the Question?
    1. 17.1. Switches
    2. 17.2. Bridges versus Routers
    3. 17.3. Extensions to Bridges
      1. 17.3.1. Using More Than the Spanning Tree
      2. 17.3.2. Fragmenting Bridges
      3. 17.3.3. IGMP Snooping
    4. 17.4. Extensions to Routers
      1. 17.4.1. Faster Routers
      2. 17.4.2. Multiprotocol Routers
      3. 17.4.3. Single-protocol Backbone
      4. 17.4.4. Brouters
  20. 18. Protocol Design Folklore
    1. 18.1. Simplicity versus Flexibility versus Optimality
    2. 18.2. Knowing the Problem You're Trying to Solve
    3. 18.3. Overhead and Scaling
    4. 18.4. Operation Above Capacity
    5. 18.5. Compact IDs versus Object Identifiers
    6. 18.6. Optimizing for the Most Common or Important Case
    7. 18.7. Forward Compatibility
      1. 18.7.1. Large Enough Fields
      2. 18.7.2. Independence of Layers
      3. 18.7.3. Reserved Fields
      4. 18.7.4. Single Version-number Field
      5. 18.7.5. Split Version-number Field
      6. 18.7.6. Options
    8. 18.8. Migration: Routing Algorithms and Addressing
    9. 18.9. Parameters
      1. 18.9.1. Avoiding Parameters
      2. 18.9.2. Legal Parameter Setting
        1. 18.9.2.1. "Report My Values" Method
        2. 18.9.2.2. "Detect Misconfiguration" Method
        3. 18.9.2.3. "Use My Parameters" Method
    10. 18.10. Making Multiprotocol Operation Possible
    11. 18.11. Running over Layer 3 versus Layer 2
    12. 18.12. Robustness
    13. 18.13. Determinism versus Stability
    14. 18.14. Performance for Correctness
    15. 18.15. In Closing
  21. Glossary