Network Programmer - Course Outline

[Note - the contents of this course are still in development and have not yet been published.]


Network Programmer

Course Outline

I. Application Transition Scenarios and Programming Aspects
A. Programming Areas that Need to be Addressed
B. Data Structures
C. Function Calls
D. Use of Hardcoded IPv4 Addresses
E. User Interface Issues
F. Underlying Protocols
II. IPv6 Porting Tools
A. Tools and Resources for Porting Existing Applications
B. Using Checkv4 for C/C++
III. Basic Socket Programming
A. Basic Socket Interface Extension for IPv6
B. Socket Interface
C. IPv6 Address Family and Protocol Family
D. IPv6 Address Structure
E. Interface Identification
F. Name to IP Address
G. IP Address to Name
H. Socket Options
IV. IP Version-Independent Applications
A. The Rationale for IP Version Independence
B. Functions to Create IP Version-Independent Applications
V. Advanced Topics
A. Microsoft Winsock API
B. Advanced Socket Interface Extensions for IPv6
C. the ip6 _hdr Structure
D. The ICMPv6 Header Structure
E. IPv6 Raw Sockets
F. Access to IPv6 Extension Headers
G. UDP Unicast
H. UDP Multicast
I. Dual Stack Client Design
J. Basic Dual Stack Server Design
K. IPv6 Network Security for Programmers
VI. IPv6 Based Applications
A. Client Server Model
B. Peer-to-Peer Model