IP-programmering i Windows

Kursen är framtagen för dig som behöver god förståelse för IP-programmering, design och test. I kursen går vi igenom socket API, IPv4 jämfört med IPv6-programmering, UDP- och TCP-protokollen, testverktyg etc. Kursen innehåller en stor del praktiska övningar. Övningarna och materialet är skrivet för IP-programmering i Windowsmiljö.


Målgrupp
Målgruppen är designers, testare osv, som behöver förståelse för hur man bygger lösningar och applikationer baserade på IP.

Bakgrundskunskaper
Deltagarna förväntas ha grundläggande kännedom om datakommunikation och viss kännedom om TCP/IP-protokoll. Man bör ha programmeringsvana i C/C++.

Språk
Utbildningsmaterialet är skrivet på engelska. Utbildningen kan genomföras antingen på svenska eller engelska.

Kurslängd
Kursen genomförs under fyra dagar.

Innehåll

Praktik
I kursen ingår övningar för användande av socket API:s och för skalning av nätverksapplikationer enligt följande:

Using the Socket API
Developing with TCP sockets - Building a FTP server and client.
Developing with UDP sockets - Building a Multicast sender and receiver.
Developing with RAW sockets - Building a Network sniffer.
Setting socket options
Using multicast groups

Scaling network applications
Implementation using select
Implementation using threads
Comparisons between the different methods
Exploring the limits

Teori
I den teoretiska genomgången delen ingår följande delar:

Introduction
A typical TCP/IP network
IP, TCP and UDP overview
Internet history
Internet builiding blocks
Different protocolls and layers

Network communication
TCP/IP communication model
Data handling and processing

Socket API
The socket API
TCP/IP sockets
Berkley sockets
Socket families and addresses
Types of sockets
WinSock
Socket reference

WinSock Extensions
Overlapped I/O
IOCP – Input/Output completion ports
RIO – Registered Input/Output

Socket Options
TCP shutdown, half-open and abortive close
Nagle algorithm
Delayed ACK

Broadcast
Data link layer
Internet layer
Broadcast routing
Broadcast storm

Multicast
Internet Layer
Link layer
IGMP
SSM
Switches
Multicast routing

Asynchronous sockets
Blocking and Non-blocking

Name resolution
Address lockup
DNS
dig

IPv6
Implications
Socket families
Socket addresses
Address structures
Address conversions
Path MTU discovery
Extension headers

IP-agnostic programming
Design choices
 
Raw-sockets
Windows restrictions
Libpcap

Server aspects
Multi-client servers
Scaling
Threads

I/O – Input/output
Blocking and Non-blocking
Select/poll
Signal-driven I/O
Async I/O

Tools
Windows tools
Hping
Scapy
SIPp
Profilers
gprof

Design consideration
ASCII protocoll
Transport
Authentication
DNS
Latency & bandwith

Intresseanmälan
Här görs intresseanmälan och anmälan till utbildning i IP-programmering för Windows.

Mer information
För mer information kontakta David Carlmark, 070-6595803, eller Åsa Detterfelt, 070-6595812, alternativt maila academy@mindroad.se.

Kurstillfällen 2016

Stockholm: 6 - 9 september

Pris

Aktuellt pris för utbildningen hittar du här.

Anmälan

Anmäl dig till kursen IP-programmering för Windows.

Instruktör Johan Bergqvist