IPv6 Core Protocols Implementation

Li, Qing; Jinmei, Tatuya; Shima, Keiichi

In stock
Regular price 35.500 KD inc. VAT
License
Table of contents
  • Front CoverCover
  • Contentsvii
  • Forewordxix
  • Prefacexxi
  • About the Authorsxxix
  • Chapter 1. Introduction1
  • 1.1 Introduction1
  • 1.2 A Brief History of IPv6 and KAME1
  • 1.3 Overview of the KAME Distribution6
  • 1.4 Overview of BSD Network Implementation11
  • 1.5 Source Code Narrations14
  • 1.6 Mbufs and IPv617
  • Chapter 2. IPv6 Addressing Architecture29
  • 2.1 Introduction29
  • 2.2 IPv6 Addresses30
  • 2.3 Textual Representation of IPv6 Addresses31
  • 2.4 Address Scopes33
  • 2.5 IPv6 Address Format40
  • 2.6 Node Address Requirements46
  • 2.7 IPv6 Address Space Management47
  • 2.8 Code Introduction47
  • 2.9 Handling Scope Zones51
  • 2.10 Interface Address Structures64
  • 2.11 IPv6 Prefix Structure70
  • 2.12 Overview of Address Manipulation Routines73
  • 2.13 Interface Initialization for IPv676
  • 2.14 IPv6 Interface Address Configuration95
  • 2.15 Deleting an IPv6 Address122
  • 2.16 Operation with Address Configuration Utility127
  • Chapter 3. Internet Protocol version 6131
  • 3.1 Introduction131
  • 3.2 IPv6 Header Format132
  • 3.3 IPv6 Extension Headers134
  • 3.4 Source Address Selection144
  • 3.5 Code Introduction149
  • 3.6 IPv6 Packet Address Information in Mbuf160
  • 3.7 Input Processing: ip6_input() Function164
  • 3.8 Processing Hop-by-Hop Options Header: ip6_hopopts_input() Function179
  • 3.9 Processing Destination Options Header: dest6_input() Function185
  • 3.10 Reassembling Fragmented Packets187
  • 3.11 Processing Routing Header: route6_input() Function204
  • 3.12 Forwarding: ip6_forward() Function209
  • 3.13 Output Processing219
  • Chapter 4. Internet Control Message Protocol for IPv6287
  • 4.1 Introduction287
  • 4.2 ICMPv6 Message288
  • 4.3 Path MTU Discovery Mechanism296
  • 4.4 Node Information Query297
  • 4.5 Code Introduction304
  • 4.6 ICMPv6 Input Processing308
  • 4.7 Path MTU Discovery Implementation329
  • 4.8 ICMPv6 Output Processing332
  • 4.9 Node Information Query Implementation348
  • 4.10 Node Information Operation387
  • Chapter 5. Neighbor Discovery and Stateless Address Autoconfiguration389
  • 5.1 Introduction389
  • 5.2 Neighbor Discovery Protocol Overview390
  • 5.3 Stateless Address Autoconfiguration Overview391
  • 5.4 ND Protocol Messages392
  • 5.5 Example Exchanges of ND Protocol Messages393
  • 5.6 ND Protocol Packet Types and Formats395
  • 5.7 Neighbor Discovery Option Types and Formats405
  • 5.8 Next-Hop Determination and Address Resolution410
  • 5.9 Neighbor Unreachability Detection Algorithm411
  • 5.10 Stateless Address Autoconfiguration412
  • 5.11 Router Specific Operation419
  • 5.12 Host Specific Operation423
  • 5.13 Code Introduction426
  • 5.14 Initialization Functions439
  • 5.15 Neighbor Cache Management Functions441
  • 5.16 ND Protocol Messages Processing Functions478
  • 5.17 ND Protocol Message Options Processing Functions536
  • 5.18 Default Router Management Functions540
  • 5.19 Prefix Management Functions555
  • 5.20 Stateless Address Autoconfiguration Functions580
  • 5.21 Duplicate Address Detection Functions590
  • 5.22 Miscellaneous Functions602
  • Chapter 6. Transport Layer Implications615
  • 6.1 Introduction615
  • 6.2 TCP and UDP over IPv6616
  • 6.3 Pseudo Header for IPv6616
  • 6.4 Checksum Difference between IPv4 and IPv6617
  • 6.5 IPv4-mapped IPv6 Address Usage618
  • 6.6 Code Introduction618
  • 6.7 General Operations on PCBs and Sockets627
  • 6.8 TCP-over-IPv6663
  • 6.9 UDP-over-IPv6685
  • 6.10 Raw IPv6709
  • 6.11 Summary of Operation with IPv4-mapped IPv6 Addresses738
  • 6.12 Viewing IPv6 Connections with netstat743
  • 6.13 Configuring IPv4-mapped IPv6 Address Support745
  • Chapter 7. Socket API Extensions747
  • 7.1 Introduction747
  • 7.2 The Basic Socket API„[RFC3493]748
  • 7.3 The Advanced Socket API„[RFC3542]764
  • 7.4 Kernel Implementation of IPv6 Socket APIs783
  • 7.5 Socket Options and Ancillary Data Examples848
  • 7.6 Implementation of Library Functions„libinet6853
  • References909
  • Index915
Book details
  • Vendor Elsevier S & T
  • SKU 9780124477513
  • ISBN-13 9780080495880
  • Author Li, Qing; Jinmei, Tatuya; Shima, Keiichi
  • Category Computers
  • Subject Network Protocols

Do you have questions about this book?

Ask an expert!

IPv6 was introduced in 1994 and has been in development at the IETF for over 10 years. It has now reached the deployment stage. KAME, the de-facto open-source reference implementation of the IPv6 standards, played a significant role in the acceptance and the adoption of the IPv6 technology. The adoption of KAME by key companies in a wide spectrum of commercial products is a testimonial to the success of the KAME project, which concluded not long ago.

This book is the first and the only one of its kind, which reveals all of the details of the KAME IPv6 protocol stack, explaining exactly what every line of code does and why it was designed that way. Through the dissection of both the code and its design, the authors illustrate how IPv6 and its related protocols have been interpreted and implemented from the specifications. This reference will demystify those ambiguous areas in the standards, which are open to interpretation and problematic in deployment, and presents solutions offered by KAME in dealing with these implementation challenges.



  • Covering a snapshot version of KAME dated April 2003 based on FreeBSD 4.8
  • Extensive line-by-line code listings with meticulous explanation of their rationale and use for the KAME snapshot implementation, which is generally applicable to most recent versions of the KAME IPv6 stack including those in recent releases of BSD variants
  • Numerous diagrams and illustrations help in visualizing the implementation
  • In-depth discussion of the standards provides intrinsic understanding of the specifications