IPv6 Core Protocols Implementation (eBook)
968 Seiten
Elsevier Science (Verlag)
978-0-08-049588-0 (ISBN)
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.
About the Authors
Qing Li is a senior architect at Blue Coat Systems, Inc. leading the design and development efforts of the next-generation IPv6 enabled secure proxy appliances. Qing holds multiple US patents. Qing is a contributing author of the book titled Handbook of Networked and Embedded Control Systems published in June 2005. He is the author of the embedded systems development book titled Real-Time Concepts for Embedded Systems published in April 2003. Tatuya Jinmei Ph.D. is a research scientist at Corporate Research & Development Center, Toshiba Corporation. He had been a core developer of the KAME project since the launch of the project through its conclusion. In 2003, he received the Ph.D. degree from Keio University, Japan, based on his work at KAME. Keiichi Shima is a senior researcher at Internet Initiative Japan Inc. He was a core developer of the KAME project from 2001 to the end of the project and developed Mobile IPv6/NEMO Basic Support protocol stack. He is now working on the new mobility stack (the SHISA stack) for BSD operating systems.
IPv6 Core Protocols Implementation addresses with technical depth and clarity an IPv6 implementation on University California Berkeley Source Code Distribution (BSD), from the KAME project that was based in Japan, which is both a commercial and academic success in the world wide networking implementation market. The book begins with an overview of the KAME project and source code distribution, and then provides a concise, but thorough overview of the BSD network implementation. Then the book provides the architecture and an implementation code base component for IPv6 added to the current BSD TCP/IP Internet Protocol layer code base, the implications of the changes to the Transport Layer, and then provides a review of the BSD Socket Application Interface changes for IPv6. The authors did a very good job of representing the source code implementation and it was easy to read and comprehend, with discussion for each programmatic presentation of the code base functions and data structures. This book will be valuable to both networking architects and programmers that have to absorb and understand the implementation of IPv6 within the TCP/IP network implementation and reference model. The book was a pleasure to read and reminded me of the TCP/IP technical books by the late Dr. Richard Stevens, and afforded me the same technical depth. CTO IPv6 Forum www.ipv6forum.com
~Jim Bound.
*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
* Two CD-ROMs filled with the complete KAME IPv6 protocol stack and FreeBSD software
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
Front Cover 1
IPv6 Core Protocols Implementation 4
Copyright Page 5
Contents 8
Foreword 20
Preface 22
About the Authors 30
Chapter 1. Introduction 32
1.1 Introduction 32
1.2 A Brief History of IPv6 and KAME 32
1.3 Overview of the KAME Distribution 37
1.4 Overview of BSD Network Implementation 42
1.5 Source Code Narrations 45
1.6 Mbufs and IPv6 48
Chapter 2. IPv6 Addressing Architecture 60
2.1 Introduction 60
2.2 IPv6 Addresses 61
2.3 Textual Representation of IPv6 Addresses 62
2.4 Address Scopes 64
2.5 IPv6 Address Format 71
2.6 Node Address Requirements 77
2.7 IPv6 Address Space Management 78
2.8 Code Introduction 78
2.9 Handling Scope Zones 82
2.10 Interface Address Structures 95
2.11 IPv6 Prefix Structure 101
2.12 Overview of Address Manipulation Routines 104
2.13 Interface Initialization for IPv6 107
2.14 IPv6 Interface Address Configuration 126
2.15 Deleting an IPv6 Address 153
2.16 Operation with Address Configuration Utility 158
Chapter 3. Internet Protocol version 6 162
3.1 Introduction 162
3.2 IPv6 Header Format 163
3.3 IPv6 Extension Headers 165
3.4 Source Address Selection 175
3.5 Code Introduction 180
3.6 IPv6 Packet Address Information in Mbuf 191
3.7 Input Processing: ip6_input() Function 195
3.8 Processing Hop-by-Hop Options Header: ip6_hopopts_input() Function 210
3.9 Processing Destination Options Header: dest6_input() Function 216
3.10 Reassembling Fragmented Packets 218
3.11 Processing Routing Header: route6_input() Function 235
3.12 Forwarding: ip6_forward() Function 240
3.13 Output Processing 250
Chapter 4. Internet Control Message Protocol for IPv6 318
4.1 Introduction 318
4.2 ICMPv6 Message 319
4.3 Path MTU Discovery Mechanism 327
4.4 Node Information Query 328
4.5 Code Introduction 335
4.6 ICMPv6 Input Processing 339
4.7 Path MTU Discovery Implementation 360
4.8 ICMPv6 Output Processing 363
4.9 Node Information Query Implementation 379
4.10 Node Information Operation 418
Chapter 5. Neighbor Discovery and Stateless Address Autoconfiguration 420
5.1 Introduction 420
5.2 Neighbor Discovery Protocol Overview 421
5.3 Stateless Address Autoconfiguration Overview 422
5.4 ND Protocol Messages 423
5.5 Example Exchanges of ND Protocol Messages 424
5.6 ND Protocol Packet Types and Formats 426
5.7 Neighbor Discovery Option Types and Formats 436
5.8 Next-Hop Determination and Address Resolution 441
5.9 Neighbor Unreachability Detection Algorithm 442
5.10 Stateless Address Autoconfiguration 443
5.11 Router Specific Operation 450
5.12 Host Specific Operation 454
5.13 Code Introduction 457
5.14 Initialization Functions 470
5.15 Neighbor Cache Management Functions 472
5.16 ND Protocol Messages Processing Functions 509
5.17 ND Protocol Message Options Processing Functions 567
5.18 Default Router Management Functions 571
5.19 Prefix Management Functions 586
5.20 Stateless Address Autoconfiguration Functions 611
5.21 Duplicate Address Detection Functions 621
5.22 Miscellaneous Functions 633
Chapter 6. Transport Layer Implications 646
6.1 Introduction 646
6.2 TCP and UDP over IPv6 647
6.3 Pseudo Header for IPv6 647
6.4 Checksum Difference between IPv4 and IPv6 648
6.5 IPv4-mapped IPv6 Address Usage 649
6.6 Code Introduction 649
6.7 General Operations on PCBs and Sockets 658
6.8 TCP-over-IPv6 694
6.9 UDP-over-IPv6 716
6.10 Raw IPv6 740
6.11 Summary of Operation with IPv4-mapped IPv6 Addresses 769
6.12 Viewing IPv6 Connections with netstat 774
6.13 Configuring IPv4-mapped IPv6 Address Support 776
Chapter 7. Socket API Extensions 778
7.1 Introduction 778
7.2 The Basic Socket API—[RFC3493] 779
7.3 The Advanced Socket API—[RFC3542] 795
7.4 Kernel Implementation of IPv6 Socket APIs 814
7.5 Socket Options and Ancillary Data Examples 879
7.6 Implementation of Library Functions—libinet6 884
References 940
Index 946
Erscheint lt. Verlag | 3.8.2010 |
---|---|
Sprache | englisch |
Themenwelt | Informatik ► Netzwerke ► TCP / IP und IPv6 |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
Mathematik / Informatik ► Informatik ► Web / Internet | |
ISBN-10 | 0-08-049588-5 / 0080495885 |
ISBN-13 | 978-0-08-049588-0 / 9780080495880 |
Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.