Curso IPv6 Programming
24 horasVisão Geral
O Curso IPv6 Programming cobre conceitos básicos de IPv6, programação de soquete IPv6, API de soquete e muito mais. Neste Curso IPv6 Programming, você aprenderá a escrever e implementar aplicativos compatíveis com IPv6 em um ambiente de rede misto e a portar aplicativos de rede existentes para suportar IPv6.
Objetivo
Ao participar do Curso IPv6 Programming, os participantes aprenderão a:
- Entenda os benefícios de tornar os aplicativos compatíveis com IPv6
- Execute a programação do soquete IPv6
- Reescrevendo aplicativos cliente e servidor para serem compatíveis com IPv6
- Use ferramentas de portabilidade IPv6
- Análise e mapeamento de endereço IPv6
Publico Alvo
Este Curso IPv6 Programming é voltado para engenheiros de sistemas e software, designers de sistemas e software, arquitetos de sistemas e software, desenvolvedores de software e testadores de aplicativos.
Materiais
Inglês + Exercícios + Lab PraticoConteúdo Programatico
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
- 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
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