TeamLiB
Cover
Contents
Preface
About This Book
Write Portable Application Programs
Be Security Conscious When Writing Programs
Terminology and Portability
1 Introduction
1.1 A History of IPv6 and Its Key Features
1.2 Transition from IPv4-Only Internet to IPv4/v6 Dual Stack Internet
1.3 UNIX Socket Programming
1.4 IPv6 Architecture from a Programmer's Point of View
2 IPv6 Socket Programming
2.1 AF_INET6: The Address Family for IPv6
2.2 Why Programs Need to Be Address-Family Independent?
2.3 Guidelines to Address-Family Independent Socket Programming
3 Porting Applications to Support IPv6
3.1 Making Existing Applications IPv6 Ready
3.2 Finding Where to Rewrite, Reorganizing Code
3.3 Rewriting Client Applications
3.4 Rewriting Server Applications
4 Tips in IPv6 Programming
4.1 Parsing a IPv6 Address out of String
4.2 Issues with
4.3 Issues with an IPv4 Mapped Address
4.4 bind(2) Ordering and Conflicts
4.5 How IPv4 Traffic Gets Routed to Sockets
4.6 Portability across Systems
4.7 RFCs 2292/3542, Advanced API
4.8 Platform Support Status
5 A Practical Example
5.1 Server Program Example—popa3d
5.2 Further Extensions
5.3 Client Program Example—nail
A: Coming updates to IPv6 APIs
B: RFC2553
C: RFC3493
D: RFC2292
E: RFC3542
F: IPv4-Mapped Address API Considered Harmful
G: IPv4-Mapped Addresses on the Wire Considered Harmful
H: Possible Abuse Against IPv6 Transition Technologies
I: An Extension of format for IPv6 Scoped Addresses
J: Protocol Independence Using the Sockets API
References
Index
A
B
C
D
F
G
I
L
M
N
O
P
R
S
T
U
V
W