Workshop

Lập trình IPv6 (CNP6 Certified Network Programmer)
Thời gian: 3 ngày từ 05 – 07/05/2014

Nằm trong khuôn khổ các sự kiện hưởng ứng Ngày IPv6 Việt Nam 2014, một khóa đào tạo về lập trình IPv6 mang tên “Certified Network Programmer for IPv6” sẽ được tổ chức. Khóa đào tạo diễn ra trong 3 ngày dành cho các lập trình viên, chuyên viên kỹ thuật của các ISP, doanh nghiệp phần mềm, cung cấp nội dung tại Việt Nam.
Chi tiết về khóa đào tạo:

Ngày 1: Network Programming Basics

Thời gian Nội dung Tài liệu
Buổi sáng 1. IP Programming Basics (Watching Network Traffic):
- Installing WinPcap
- Analyzing Network Packets
2. IPv6 Refresher :
- IPv6 Terminology and key features & architecture
- IP Header Formats and IPv6 Extension Headers
- IPv6 unicast scopes (link-local, link-local, site-local and global)
- IPv6 Multicast address
   + Solicited-Node Multicast Address
- Neighbor discovery
   + Router solicitation (ICMPv6 type 133)
   + Router advertisement (ICMPv6 type 134)
   + Neighbor solicitation (ICMPv6 type 135)
   + Neighbor advertisement (ICMPv6 type 136)
3. Microsoft Visual C#.Net Overview

- Overview:
   + Useful Enumerations in the .NET Sockets Namespace
   + Available Methods in the .NET Sockets Socket Class
   + Convenient IP Address Methods for IP Address Manipulation
- Importance of being IPv6 programmer
4. Lab Session 1
- IP Address Configuration
- WinDump commands
Buổi chiều 1. Primer on Socket Programming:
- Sockets:
   + Socket Options
   + Network Address Family
- Using Connection-Oriented Sockets
   + Server Functions
   + Client Function
   + Closing Connections
- Using Connection-less Sockets
- Non-Blocking I/O Methods
- Windows Socket Functions
2. C# Socket Programming:
- IPAddress Class
- IPEndPoint Class
- Socket Construction
- Socket Options
- Using Connection-Oriented Sockets
- Non-blocking Programming
- Socket Exceptions
3. DNS and C#
- DNS Structure
- DNS Classes in C#
4. Lab Session 2

- Socket Construction
- Socket Exception
 

 

Ngày 2: Network Layer Programming

Thời gian Nội dung Tài liệu
Buổi sáng 1. TCP-based Programming:
Connection-Oriented Sockets

- Overview
- Using C# Streams with TCP
   + NetworkStream Class
   + Creating Network Stream Client
   + StreamReader and StreamWriter Classes
   + Lab Session
- Using C# Helper Classes
   + TCPClient Class and its Methods TCPListener Class and its Methods
   + Lab Session:
- Lab Session
2. Lab Session 3
- TCP Stream based Client and Server
- TCPClient and TCPListener Program
Buổi chiều 1. UDP-based Programming:
- Connection-less Sockets:
   + Overview
   + UDP Application
         - UDP Server & UDP Client
         - Using Connect() in UDP Client
         - Distinguishing UDP Messages
         - Lab Session: UDP Server and client
   + C# UDP Header Class
         - UdpClient Class and its Method
         - Using UDPClient Class program
         - UdpClient Server program
- Moving Data across the Network:
   + Binary Data Type Representation
   + Converting Byte Representation
         - Network Byte Order
         - Host Byte Order
2. Lab Session 4
- UDP Server and Client
- C# UDP Helper class
- Binary data representation
 

Ngày 3: Advance Network Programming

Thời gian Nội dung Tài liệu
Buổi sáng 1. Multi-Threading in Network Programming: Threading in Programming
- Using Threads in a Server
   + Creating a Thread
   + Threading for Send and receiving Data - Lab Session
2. IP Multicasting :
- C# IP Multicast Support
   + C# Socket Multicasting
   + Receiving Multicast Packets
   + Sending Multicast Packets
   + Analyzing Program
- UDP based Multicast Program
3. Lab Session 5
- Multi-Threading Server
- UdpClient Multicast Server and Client
Buổi chiều 1. C#.Net RAW Sockets:
- Overview
- Custom build Protocols (IPv6, IPv4, UDP, ICMPv6 etc.) 2. IPv6 Porting/Migration:
- Design consideration
- Application Transition Scenarios
   + IPv4 applications in dual stack nodes
   + IPv6 applications in dual stack nodes
   + Dual Stack applications in dual stack nodes
- IP version Independent Application
   + Work flow of Server application
   + Work flow of Client application
   + Work flow of Dual Stack Application
3 Lab Session 6
- Custom build Protocols using RAW sockets
 

Tham khảo tại: http://www.nav6.org/Academic/cnp6i.php
NAv6 (National Advanced IPv6 Cente of Excellence) là trung tâm thuộc trường đại học Universiti Sans Malaysia, hoạt động nghiên cứu các công nghệ mới về Internet. Được Bộ TTTT Malaysia lựa chọn là đơn vị tiên phong trong quá trình chuyển đổi IPv6 tại Malaysia năm 2010. NAv6 là đơn vị đã tổ chức nhiều khóa đào tạo khác nhau về IPv6