Course IP6103
IPv6 Network Programming on Unix and Linux Systems
Course Overview
IPv6 Network Programming on Unix and Linux Systems
Duration: 3 Days
Intended Audience
Attendees are expected to be experienced C/C++ programmers with a sound understanding of UNIX commands and utilities. Attendees should also be familiar with the basics of the POSIX APIs and with shell programming.Course Overview
The course covers the following topics:
- IPv6 fundamental concepts and goals
- Enabling IPv6 on Linux / Unix systems
- IPv6 addressing
- DNS and security in IPv6
- IPv6 sockets API
- Overview of RPC and CORBA based application development in IPv6
- IPSec API
- Strategies and techniques for porting IPv4 based applications to IPv6
The course is an instructor led course with around 40% of the course time devoted to programming exercises.
Course Benefits
The course provides programmers, application developers and application architects with a solid understanding of IPv6, the IPv6 sockets API and techniques of porting IPv4 based applications to work with IPv6.
Practical Work
Exercises include:
- Configuring IPv6 and IPv6 based services on Linux
- IPv6 sockets API programming
- Implementing a DCE RPC application over IPv6
- Implementing a CORBA application over IPv6
- Porting a TFTP client server application to run over IPv6
- Using the wireshark protocol analyser to analyse IPv6 traffic and the gdb debugger to troubleshoot code errors
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
- Overview of possible Application Transition Scenarios and application porting strategies
- Overview of tools and resources useful for porting IPv6 applications
- Understanding RFC 3493: Basic Socket Interface Extensions for IPv6
- Developing IPv6 version independent applications in a Linux / Unix environment
- Understanding RFC 3542 : Advanced Socket Interface Extensions for IPv6
- Overview of IPSec and incorporating 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
