IPv6 Programming

Have Queries? Ask us +91 72592 22234

Course Overview

IPv6 Programming Training course covers basics of IPv6, IPv6 socket programming, socket API and more. In this course Participants will Write and Implement IPv6-capable Applications in a Mixed Network Environment and port existing network applications to support IPv6.

Course Content

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
  • 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_ALL
  • IPv6 format
  • AI_IDN
  • 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
  • Net address family name: AF_INET6
  • 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

Customer Reviews

Thanks to Xpertised and the tutor who walked me through all the topics with Practical exposure which is helping me in my current project.

Course was quite helpful in terms of understanding of concepts and practicality. Its really a very friendly environment to learn. The timing were mutually chosen, as we both are working professional. I am quite satisfied with the course.


For Batch Details
Call us at: +91 7259222234

Not sure? Consult Our Experts

Looking for a Training for


My Team/Organization

I agree to be contacted over mail or phone

Call us at: +91 7259222234