Network programmability with YANG : the structure of network automation with YANG, NETCONF, RESTCONF, and gNMI / Benoit Claise, Joe Clarke and Jan Linblad.
By: Claise, Benoit [author]
.
Contributor(s): Clarke, Joe (Engineer) [author]
| Lindblad, Jan [author]
.
Material type:
BookPublisher: Boston : Addison-Wesley, [2019]Description: xxiii, 487 pages : illustrations ; 24 cm.Content type: text Media type: unmediated Carrier type: volumeISBN: 9780135180396 (hardback).Subject(s): Computer networks -- Management| Item type | Current library | Call number | Status | Notes | Barcode | |
|---|---|---|---|---|---|---|
| General lending | MTU Bishopstown Library Lending | 005.3 (Browse shelf(Opens below)) | Available | MTU Cork Module COMP9077-Recommended Reading | 00219506 |
Enhanced descriptions from Syndetics:
Today, networks must evolve and scale faster than ever. You can't manage everything by hand anymore: You need to automate relentlessly. YANG, along with the NETCONF, RESTCONF, or gRPC/gNMI protocols, is the most practical solution, but most implementers have had to learn by trial and error. Now, Network Programmability with YANG gives you complete and reliable guidance for unlocking the full power of network automation using model-driven APIs and protocols.
Authored by three YANG pioneers, this plain-spoken book guides you through successfully applying software practices based on YANG data models. The authors focus on the network operations layer, emphasizing model-driven APIs, and underlying transports.
Whether you're a network operator, DevOps engineer, software developer, orchestration engineer, NMS/OSS architect, service engineer, or manager, this guide can help you dramatically improve value, agility, and manageability throughout your network.
Discover the value of implementing YANG and Data Model-Driven Management in your network Explore the layers and components of a complete working solution Build a business case where value increases as your solution grows Drill down into transport protocols: NETCONF, RESTCONF, and gNMI/gRPC See how telemetry can establish a valuable automated feedback loop Find data models you can build on, and evaluate models with similar functionality Understand models, metadata, and tools from several viewpoints: architect, operator, module author, and application developer Walk through a complete automation journey: business case, service model, service implementation, device integration, and operation Leverage the authors' experience to design successful YANG models and avoid pitfallsIncludes bibliographical references and index
The network management world must change: why should you care? -- Data model-driven management -- YANG explained -- NETCONF, RESTCONF and gNMI explained -- Telemetry explained -- YANG data modeling developments in the industry -- Automation as as good as the data models, their related metadata, and the tools: for the network architect and operator -- Automation is as good as the data models, their related metadata and the tools: for the module author -- Automation as as good as the data models, their related metadata, and the tools: for the application developer -- Using NETCONF and YANG -- YANG model design.
Table of contents provided by Syndetics
- Introduction (p. xxii)
- 1 The Network Management World Must Change: Why Should You Care? (p. 2)
- Introduction (p. 2)
- The Industry Has Changed: What Are the Trends? (p. 6)
- Reduced Deployment Time (p. 6)
- CLI Is No Longer the Norm (If a Feature Cannot Be Automated, It Does Not Exist) (p. 7)
- Hardware Commoditization and Disaggregation (p. 9)
- The DevOps Time (p. 11)
- Software-Defined Networking (p. 13)
- Network Function Virtualization (p. 15)
- Elastic Cloud: Pay As You Grow (p. 16)
- Data Model-Driven Management (p. 18)
- (Data Model-Driven) Telemetry (p. 20)
- Intent-Based Networking (p. 22)
- Software Is Eating the World (p. 23)
- Existing Network Management Practices and Related Limitations (p. 24)
- CLI: Is This an API? (p. 24)
- SNMP: For Monitoring But Not for Configuration (p. 27)
- NetFlow and IPFIX: Mainly for Flow Records (p. 33)
- Syslog: No Structured Data (p. 37)
- Data Modeling Is Key for Automation (p. 39)
- The Differences Between Information Models and Data Models (p. 39)
- The Challenges of Managing Networks with Different Data Models (p. 41)
- Interview with the Experts (p. 48)
- Q&A with Victor Kuarsing (p. 48)
- Q&A with Russ White (p. 50)
- Summary (p. 52)
- References in This Chapter (p. 53)
- Endnotes (p. 53)
- 2 Data Model-Driven Management (p. 56)
- The Beginning: A New Set of Requirements (p. 56)
- Network Management Is Dead, Long Live Network Management (p. 59)
- YANG: The Data Modeling Language (p. 61)
- The Key to Automation? Data Models (p. 63)
- YANG and the Operators Requirements (p. 65)
- Properties of Good Data Models (p. 66)
- The Different Types of YANG Modules (p. 67)
- Mapping YANG Objects from MIB Modules (p. 68)
- The Management Architecture (p. 69)
- Data Model-Driven Management Components (p. 70)
- The Encoding (Protocol Binding and Serialization) (p. 74)
- XML (p. 75)
- JSON (p. 75)
- Google Protobufs (p. 76)
- CBOR (p. 76)
- The Server Architecture: Datastore (p. 77)
- The Protocols (p. 78)
- NETCONF (p. 78)
- RESTCONF (p. 82)
- gNMI (gRPC) (p. 83)
- CoMI (p. 84)
- The Programming Language (p. 85)
- Telemetry (p. 86)
- The Bigger Picture: Using NETCONF to Manage a Network (p. 86)
- Interview with the Experts (p. 91)
- Q&A with Jürgen Schönwälder (p. 91)
- Summary (p. 93)
- References in This Chapter (p. 93)
- Endnotes (p. 94)
- 3 YANG Explained (p. 96)
- Introduction (p. 96)
- Describe Your World of Data (p. 96)
- Describe Your Data with Precision (p. 101)
- Separate Your Data into Categories (p. 106)
- Describing Possible Events (p. 113)
- Actions and RPCs (p. 113)
- Notifications (p. 116)
- Separating Configuration from Operational Data (p. 117)
- Constraints Keep Things Meaningful (p. 122)
- Mandatory and Default Data (p. 126)
- Conditional Content (p. 127)
- Properly Following Pointers (p. 128)
- Schema Nodes Don't Count (p. 131)
- Augmenting, Extending, and Possibly Deviating (p. 142)
- Extending YANG (p. 146)
- Deviations (p. 148)
- Network Management Datastore Architecture (NMDA) (p. 149)
- Interview with the Expert (p. 154)
- Q&A with Martin Björklund (p. 154)
- Summary (p. 156)
- References in This Chapter (p. 157)
- 4 NETCONF, RESTCONF, and gNMI Explained (p. 158)
- Introduction (p. 158)
- NETCONF (p. 158)
- Fundamentals (p. 159)
- XML Tags, Attributes, and Namespaces (p. 162)
- RPC Mechanism (p. 166)
- Message Framing (p. 169)
- Message Overview (p. 171)
- Hello Message (p. 171)
- Get-Config Message (p. 174)
- Edit-Config Message (p. 176)
- Get Message (p. 181)
- RPCs and Actions (p. 184)
- Notifications (p. 185)
- More NETCONF Operations (p. 189)
- The NMDA Operations get-data and edit-data (p. 189)
- RESTCONF (p. 190)
- REST Principles (p. 191)
- RESTCONF Versus NETCONF (p. 192)
- Finding the RESTCONF Server URL (p. 193)
- Reading and Navigating the RESTCONF Resources (p. 194)
- Creating and Updating Configuration Using RESTCONF (p. 201)
- Actions (p. 210)
- Notifications (p. 212)
- OpenConfig and gNMI (p. 214)
- gRPC (p. 214)
- gNMI Capability Request (p. 215)
- gNMI GetRequest (p. 216)
- gNMI SetRequest (p. 219)
- gNMI SubscribeRequest and Telemetry (p. 224)
- YANG RPC, Action and Notification (p. 225)
- Interview with the Expert (p. 225)
- Q&A with Kent Watsen (p. 225)
- Summary (p. 227)
- References in This Chapter (p. 227)
- 5 Telemetry Explained (p. 230)
- Introduction (p. 230)
- Data Model-Driven Telemetry (p. 230)
- Moving Away from SNMP to Telemetry (p. 232)
- Telemetry Use Cases (p. 235)
- Telemetry Components (p. 236)
- Architecture (p. 236)
- Transport Discussion: Monitoring Versus Events (p. 239)
- Subscription Type: On-Change Versus Periodic (p. 239)
- Dial-In and Dial-Out Modes (p. 241)
- Telemetry Standard Mechanisms (p. 242)
- NETCONF Event Notifications (p. 243)
- IETF YANG Subscriptions (p. 244)
- IETF YANG Push Versus OpenConfig: Some History (p. 247)
- OpenConfig Streaming Telemetry (p. 248)
- Interview with the Experts (p. 249)
- Q&A with Alex Clemm (p. 249)
- Summary (p. 252)
- References in This Chapter (p. 253)
- Endnotes (p. 253)
- 6 YANG Data Modeling Developments in the Industry (p. 256)
- Introduction (p. 256)
- The Beginning: The IETF (p. 256)
- Embracing YANG Throughout the Industry (p. 263)
- The OpenConfig YANG Model (p. 268)
- Industry Coordination Is Required (p. 270)
- Interoperability Testing (p. 272)
- Implementing More Than One YANG Model for a Specific Functionality (p. 274)
- Interview with the Expert (p. 275)
- Q&A with Carl Moberg (p. 275)
- Summary (p. 278)
- References in This Chapter (p. 279)
- Endnotes (p. 279)
- 7 Automation Is as Good as the Data Models, Their Related Metadata, and the Tools: For the Network Architect and Operator (p. 282)
- Introduction (p. 282)
- Getting to Know the Structure of a YANG Module (p. 283)
- Finding the Right Modules Using the YANG Catalog (p. 287)
- YANG Search (p. 288)
- The Module Tree (p. 290)
- Module [Metadata] Details (p. 291)
- Moving from Nodes to RPCs and Scripts with YANG Suite (p. 294)
- Interacting with Devices (p. 299)
- NETCONF Tools (p. 299)
- RESTCONF Tools (p. 319)
- Telemetry Tools (p. 325)
- Commercial Products (p. 330)
- Interview with the Experts (p. 331)
- Q&A with Einar Nilsen-Nygaard (p. 331)
- Summary (p. 335)
- Endnotes (p. 335)
- 8 Automation is as Good as the Data Models, Their Related Metadata, and the Tools: For the Module Author (p. 336)
- Introduction (p. 336)
- Designing Modules (p. 336)
- Learning from Others (p. 337)
- Compiling and Validating Modules (p. 339)
- Testing Modules (p. 340)
- Sharing the Module Metadata (p. 347)
- Understanding Your Module's Impact (p. 349)
- Interview with the Expert (p. 350)
- Q&A with William Lupton (p. 350)
- Summary (p. 352)
- Endnotes (p. 352)
- 9 Automation Is as Good as the Data Models, Their Related Metadata, and the Tools: For the Application Developer (p. 354)
- Introduction (p. 354)
- Working with YANG Modules (p. 355)
- Integrating Metadata from YANG Catalog (p. 355)
- Embedding Pyang (p. 359)
- Pyang Plug-Ins (p. 361)
- YANG Parsing with Libyang (p. 365)
- Interacting with the Network (p. 366)
- NETCONF with Ncclient (p. 366)
- NETCONF Clients and Servers with Libnetconf2 (p. 371)
- Interacting with RESTCONF Servers (p. 372)
- Making YANG Language Native (p. 373)
- YDK (p. 373)
- Pyangbind (p. 378)
- Interview with the Expert (p. 380)
- G&A with Radek Krejci (p. 380)
- Summary (p. 381)
- Endnotes (p. 382)
- 10 Using NETCONF and YANG (p. 384)
- Introduction (p. 384)
- So the Story Goes (p. 385)
- Top-Down Service Model (p. 386)
- Bottom-Up Device Templates (p. 392)
- Service Logic Connecting the Dots (p. 394)
- Setting Up NETCONF on a Device (p. 398)
- Discovering What's on a Device (p. 400)
- Managing Services (p. 405)
- Manager Synchronization with Devices (p. 413)
- Network-Wide Transactions (p. 417)
- Interview with the Experts (p. 425)
- Q&A with Kristian Larsson (p. 425)
- Summary (p. 428)
- 11 YANG Model Design (p. 430)
- Introduction (p. 430)
- Modeling Strategy (p. 430)
- Getting Started (p. 431)
- You, the Four-Star General (p. 432)
- YANG Modeling Tips (p. 433)
- Naming a Module (p. 433)
- Publishing a Module (p. 434)
- Choosing YANG identifiers (p. 435)
- Accepting a Blank Configuration (p. 435)
- Using Leafrefs (p. 436)
- Minding That XPath Feature (p. 437)
- Enumerating and More (p. 437)
- Choosing Keys (p. 439)
- Types Empty and Boolean (p. 440)
- Reusing Groupings (p. 440)
- Deviating from a Standard YANG Module (p. 441)
- Transient Configuration and Other Dependencies (p. 442)
- Augmenting YANG Models (p. 442)
- Types Anyxml and Anydata (p. 442)
- Common YANG Mistakes (p. 443)
- Unclear Optional Leafs (p. 443)
- Missing Ranges (p. 444)
- Overusing Strings (p. 444)
- Bad String Patterns (p. 445)
- Blank Configuration Made Invalid (p. 447)
- Misunderstanding When a Constraint Applies (p. 447)
- Missing the Simple Constraints (p. 448)
- Getting the Path Wrong (p. 449)
- Disconnected Multikey Leafrefs (p. 451)
- Mixing Up For One, For Any, and For All (p. 454)
- Performance of XPath Expressions (p. 456)
- Backward Compatibility (p. 457)
- The Rules Versus Staying Relevant (p. 457)
- Tooling (p. 459)
- Interview with the Experts (p. 460)
- Q&A with Andy Bierman (p. 460)
- Summary (p. 462)
- References in This Chapter (p. 463)
- Index (p. 464)
Author notes provided by Syndetics
Benoit Claise, CCIE No. 2686, is a Cisco Fellow specializing in architecture for embedded management, network automation with YANG, NETCONF, RESTCONF, and telemetry as a feedback loop to solve intent-based networking. As IETF Operations and Management Area (OPS) co-director (2012-2018), he helped shape the field's data model-driven management protocols, encodings, and data models.Joe Clarke, CCIE No. 5384, Cisco Customer Experience Engineer, has contributed to many network management and automation solutions for Cisco. A top-rated Cisco Live Speaker, he has co-authored 20+ patents, and co-chairs the IETF's Ops Area Working Group.
Jan Lindblad, IETF "YANG Doctor," helped Tail-1 build the first NETCONF commercial implementation, and helped drive YANG'S introduction. He has trained hundreds of professionals on NETCONF and YANG, and plays a key role at NETCONF/YANG interop events.