Price: $2,199.00

Course Number: 10693
Length: 3 Days
Print Friendly, PDF & Email

Why should you choose TONEX for your IPv6 Programming Training?

IPv6 Programming Training Class covers basics of IPv4 socket programming , IPv6 socket programming, socket API and more.

There are some incompatible differences related between IPv6 and IPv6 with:
• Name (DNS) and IP addresses management,
• Communication constants and data structures or
• Functions names and parameters
• Sockets and IPv6 Structs

In the general case, porting an existing application to IPv6 requires to examine the following issues in the application source code:
• Network information storage: data structures.
• Resolution and conversion address functions.
• Communication API functions and per-defined constants.

Aligned with IPv6 Forum IPv6 Programming Training Course

Write and Implement IPv6-capable Applications in a Mixed Network Environment and port
existing network applications to support IPv6.
You will learn to:
• Understand the benefits of making applications IPv6-capable.
• Perform IPv6 socket programming.
• Rewriting client and server applications to be IPv6 compatible.
• Use IPv6 porting tools.
• Parsing and mapping IPv6 address.

IPv6 Programming  ipv6 desktop supportIPv6 for managers

 

Who Should Attend

Systems and software engineers, system and softwarre designers, system and software architects, software developers, and application testers

Outline

Overview of IPv6

  • IPv4 vs. IPv6
  • IPv6 Addressing
  • Unicast Addresses
  • Anycast Addresses
  • Multicast Addresses
  • 64-bit MAC Address Assignment
  • Loopback and Unspecified Addresses
  • IPv6 Header Information
  • New Header Format
  • IPv6 Extension Headers
  • DNS infrastructure
  • IPv6 Tunneling
  • IPSec Tunneling

Basic Socket Programming

  • What is a socket?
  • Types of Internet Sockets
  • Low level Nonsense and Network Theory
  • IP Addresses and structs
  • IP Addresses, versions 4 and 6
  • Byte Order
  • structs
  • IPv4 Socket Programming
  • IPv6 Socket Programming
  • Changes socket API for IPv6 Support
  • Typical IPv6 Code sequence

IPv6 Socket Programming

  • IPv4 Socket API
  • IPv6 Socket API
  • Changes to existing API
  • Porting applications to IPv6
  • Socket address structures
  • Socket functions
  • Address conversion functions
  • Resolving names
  • Multicasting
  • New application design guidelines
  • Real examples of porting process
  • Porting Applications to Support IPv6
  • Tips in IPv6 Programming
  • A Practical Example
  • IPv6 APIs
  • Basic Socket Interface Extensions for IPv6
  • Advanced Sockets API for IPv6
  • IPv4-Mapped Address API
  • Possible Abuse Against IPv6 Transition Technologies
  • An Extension of format for IPv6 Scoped Addresses
  • ProtocolIndependenceUsing the Sockets API

Migration from IPv4 to IPv6

  • System Calls or Bust
  • getaddrinfo(): Prepare to launch!
  • socket(): Get the File Descriptor!
  • bind(): What port am I on?
  • connect(): Hey, you!
  • listen(): Will somebody please call me?
  • accept(): Thank you for calling port 3490.
  • send() and recv(): Talk to me, baby!
  • sendto() and recvfrom(): Talk to me, DGRAM-style
  • close() and shutdown(): Get outta my face!
  • getpeername(): Who are you?
  • gethostname(): Who am I?
  • Porting IPv4 applications to IPv6
  • using the correct structures
  • INADDR_ANY and INADDR_LOOPBACK
  • address and protocol family constants
  • IPv6 functions for older IPv4 ones where necessary
  • flexible functions that work in both IPv4 and IPv6 environments
  • Data structures
  • sockaddr_in and in_addr
  • in6_addr to store the 128-bit network address
  • sockaddr_in6
  • To port this code to IPv6
  • AF_INET6
  • PF_INET6

Client-Server Background

  • A Simple Stream Server
  • A Simple Stream Client
  • Datagram Sockets
  • Blocking
  • select(): Synchronous I/O Multiplexing
  • Handling Partial send()s
  • Serialization: How to Pack Data
  • Son of Data Encapsulation
  • Broadcast Packets: Hello, World!

Cross-Platform IPv6 Socket Programming

  • Linux and Mac
  • Windows
  • Socket
  • Storing Addresses
  • Resolving Addresses
  • Historic Name and Address Lookup
  • Modern Address Lookup
  • AI_ADDRCONFIG
  • AI_CANONNAME
  • AI_V4MAPPED
  • AI_ALL
  • IPv6 format.
  • AI_IDN
  • AI_CANONIDN
  • Modern Host Name Lookup
  • Printing and Scanning Addresses
  • Interface Checklist
  • Obsolete Interface
  • Protocol Independent Interface
  • Example Client Code
  • Example Server Code

changed Socket Interface

  • New protocol family name: PF_INET6
  • Address data structures
  • Net address family name: AF_INET6
  • in6_addr structure
  • sockaddr_in6 structure
  • Name-to-address translation functions
  • inet_pton, inet_ntop
  • Address conversion functions
  • getnameinfo
  • getaddrinfo
  • Sockets
  • Socket Programming
  • Port Numbers
  • Sockets
  • Socket=IP address + port number
  • Socket Basics
  • How do sockets work?
  • Socket Functions
  • Typical flow of events for a connection-oriented socket
  • Socket APIs
  • Socket characteristics
  • Sockets characteristics

IPv6 Programming APIs and examples

  • Porting applications in IPv6
  • C
  • C++
  • Java
  • Perl
  • PHP

Request More Information

Please enter contact information followed by your questions, comments and/or request(s):
  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.

Request More Information

  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.