Course IP6104
IPv6 for Microsoft Windows Programmers
Course Overview
IPv6 for Microsoft Windows Programmers
Duration: 3 Days
Intended Audience
Attendees are expected to be experienced C/C# or VB.NET programmers with a sound understanding of Windows 200x Server/ Windows Vista / Windows 7. Attendees should be familiar with the basics of the win32 API and the .NET framework, and also to have some experience of the Winsock IPv4 API and .NET IPv4 programming.
Course Overview
The course covers the following topics:
- IPv6 fundamental concepts and goals
- Enabling IPv6 on Microsoft Windows systems
- IPv6 addressing
- DNS and security in IPv6
- The Microsoft IPv6 sockets API
- Overview of IPv6 within the context of the .Net framework
- Overview of IPv6 within the context of COM+ and DCOM
- Overview of Microsoft's implementation of IPSec and the Microsoft IPSec API
- Strategies and techniques for porting MFC, COM+ and DCOM and .Net IPv4 based applications to IPv6
Course Benefits
This course provides programmers, application developers and application architects with a solid understanding of IPv6, Microsoft's implementation of IPv6 sockets API and techniques of porting IPv4 based applications to work with IPv6. The course can be tailored to emphasise and expand some sections at the expense of others.
Practical Work
The course is an instructor led course with around 40% of the course time devoted to programming exercises. Exercises include:
- Configuring IPv6 and IPv6 based services on Microsoft Windows
- Microsoft IPv6 sockets API programming
- Porting an MFC application to run over IPv6 (optional advanced topic)
- Implementing a COM+ / DCOM application over IPv6
- Implementing a .Net application over IPv6
- Using the wireshark protocol analyser (running under Microsoft Windows) to analyse IPv6 traffic
Course Contents
- Background to IPv6
- Overview of networking concepts
- Structure of the IPv6 header
- Structure of IPv6 addresses
- Neighbour discovery
- Fragmentation and the Path MTU
- IPv6 DNS
- DHCPv6
- Renumbering
- IPv6 Transition and Integration
- host to host tunnelling
- ISATAP
- NAT-PT
- Application Transition Scenarios and application porting strategies
- Tools and resources useful for porting IPv6 applications
- RFC 3493: Basic Socket Interface Extensions for IPv6 and how Microsoft supports this RFC
- Developing IPv6 version independent applications in a Microsoft Windows environment
- RFC 3542 : Advanced Socket Interface Extensions for IPv6 and how Microsoft supports this RFC
- Overview of IPSec and incorporating Microsoft IPSec API calls into applications
- Overview of application oriented translation mechanism based programming techniques
- Introduction to patterns and algorithms for implementing robust communications grade network applications
- Introductions to techniques for implementing secure (in the sense of hacker-resistant) applications and consideration of security risks associated with IPv6 implementations
