Embed
Email

applications

Document Sample

Shared by: xiaopangnv
Categories
Tags
Stats
views:
4
posted:
12/9/2011
language:
pages:
19
IPv6 Applications



Piers O’Hanlon









Ashgabat, Turkmenistan – April 2007

Copy …Rights

• This slide set is the ownership of the 6DISS project via its partners



• The Powerpoint version of this material may be reused and modified

only with written authorization



• Using part of this material must mention 6DISS courtesy



• PDF files are available from www.6diss.org



• Looking for a contact ?

– Mail to : martin.potts@martel-consulting.ch

– Or bernard.tuy@renater.fr







Ashgabat, Turkmenistan – April 2007

Acknowledgements

– Brian Carpenter, IBM, Switzerland

– Jim Bound, HP

– Tim Chown, UoS, UK

– Johann Fiedler, FhG, Germany

– Ian Foster, Argonne National Labs

– Tony Hain, Cisco, USA

– Piers O’Hanlon, Sheng Jiang, Peter Kirstein, Socrates

Varakliotis, UCL, UK

– R. Ruppelt, FhG, Germany

– Jacques Saint Blancart, IBM, France

– Laurent Toutain, ENST-Bretagne – IRISA, France

– Bernard Tuy, Renater, France



Ashgabat, Turkmenistan – April 2007

Introduction

• All major Operating systems are IPv6-enabled

– WinXP/Vista, MacOSX, Linux, FreeBSD, AIX, HPUX

• There are already many IPv6-enabled applications

– E.g. Internet Explorer, Firefox, Apache, SSH, X…

• It is not hard to provide basic IPv6-support

– A little more difficult to do it well!









Ashgabat, Turkmenistan – April 2007

Applications/Services

• Basic applications

– Web browsers & servers,

– MUAs, MTAs

– FTP, SSH, Telnet

• Advanced applications

– Videoconferencing tools, streaming, …

– Games, …

– Management and monitoring tools





Ashgabat, Turkmenistan – April 2007

Basic applications: Web

• Client:

– Firefox (all platforms)

– Internet Explorer (Windows)

– Safari (MacOSX)

– Wget (Unix/Linux/xBSD)

– …

• Server:

– Apache2 (all platforms)

– thttpd (Unix/Linux/xBSD)

–…



Ashgabat, Turkmenistan – April 2007

Basic applications: Mail

• Client:

– Thunderbird (all platforms)

– Inframail (windows/xBSD)

–…

• Server:

– Qmail (Unix/Linux/xBSD)

– Sendmail (Unix/Linux/xBSD)

–…



Ashgabat, Turkmenistan – April 2007

Basic applications: File transfer

• Client:

– Filezilla (all platforms)

– Ncftp (Windows, MAC, Linux)

– Fget (Unix/Linux/xBSD)

– rsync…

• Server:

– Ftpd(Unix/Linux/xBSD)

– Pure-ftpd(all platforms)

– rsyncd…

Ashgabat, Turkmenistan – April 2007

Basic applications: SSH,telnet

• Client:

– ssh (all platforms)

– telnet

• Server:

– Openssh (Unix/Linux/xBSD)

– sshd (Unix/Linux/xBSD)

– telnetd (Unix/Linux/xBSD)





Ashgabat, Turkmenistan – April 2007

Advanced applications

• Videoconferencing tools,

– Ekiga/Gnomemeeting (Win/Linux)

• Based on OpenH323 (all platforms)

– VIC (Video Conference tool) and RAT (Robust audio

tool)

– ISABEL – Managed conferencing

– DVTS – DV video

• Streaming:

– Windows Media player (v9 onwards)

– Videolan (all platforms)

• IPv6 unicast/multicast streaming

– mplayer



Ashgabat, Turkmenistan – April 2007

Advanced applications (2)

• Peer to peer applications

– Three degrees (windows) [Not longer active]

– Gnutella (all platforms)

• Games

– Quake3 (all platforms)

– Xtris (Unix, Linux, xBSD)

• Grid computing

– Globus toolkit (java based)

• Monitoring/diagnostic

– Ping6, Traceroute6, Iperf, Wireshark, Microsoft Network monitor3.0,

...







Ashgabat, Turkmenistan – April 2007

Available IPv6 Enabled Applications

• Many have been tested under 6NET.org Project

– Application Database: http://6net.iif.hu/ipv6_apps

• Slightly out of date

• Most currently useful utilities exist, e.g.

– SIP, WWW, RTP, SSH, MIP, IPsec, NTP

• 6NET Deliverables discuss their use

– Particularly those of WP5









Ashgabat, Turkmenistan – April 2007

Enabling application for IPv6

• Most IPv4 applications can be IPv6 enabled

– Provided appropriate abstraction layers used

• Providing ‘Dual stack’ IPv4 and IPv6 is best

– Run-time (preferable) or compile-time network mode (v6 and/or v4)

• IPv4 and IPv6 APIs have largely converged

• All widely used languages are IPv6-enabled

– E.g. C/C++, Java, Python, Perl,

– Some languages make it particularly easy

• E.g Java

• Benefiting from IPv6 is a little more difficult

– Though most functionality is the similar to IPv4

– Add special functionality for IPv6 options







Ashgabat, Turkmenistan – April 2007

Effects on higher layers

• Affects anything that reads/writes/stores/passes IP

addresses

– Most IETF protocols have been updated for IPv6 compliance

• Bigger IP header must be taken into account when

computing max payload sizes

• Packet lifetime no longer limited by IP layer

(it never was, anyway!)

• Address scoping for multicast

• New DNS record type: AAAA

• Advanced mobility

– Mobile IPv6, Network Mobility (NEMO)

• …



Ashgabat, Turkmenistan – April 2007

Sockets API Changes

• Name to Address Translation Functions

• Address Conversion Functions

• Address Data Structures

• Wildcard Addresses

• Constant Additions

• Core Sockets Functions

• Socket Options

• New Macros



Ashgabat, Turkmenistan – April 2007

Core Sockets Functions

• Core APIs

•Use IPv6 Family and Address Structures

•socket() Uses PF_INET6

• Functions that pass addresses

•bind()

•connect()

•sendmsg()

•sendto()

• Functions that return addresses

•accept()

•recvfrom()

•recvmsg()

•getpeername()

•getsockname()

Ashgabat, Turkmenistan – April 2007

Name to Address Translation

• getaddrinfo()

– Pass in nodename and/or servicename string

• Can Be Address and/or Port

– Optional Hints for Family, Type and Protocol

– Flags – AI_PASSIVE, AI_CANNONNAME, AI_NUMERICHOST, AI_NUMERICSERV,

AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG

– Pointer to Linked List of addrinfo structures Returned

– Multiple Addresses to Choose From



• freeaddrinfo()

struct addrinfo {{

struct addrinfo

int ai_flags;

int ai_flags;

int ai_family;

int ai_family;

int getaddrinfo(

int getaddrinfo( int ai_socktype;

int ai_socktype;

IN const char FAR ** nodename,

IN const char FAR nodename, int ai_protocol;

int ai_protocol;

IN const char FAR ** servname,

IN const char FAR servname, size_t ai_addrlen;

size_t ai_addrlen;

IN const struct addrinfo FAR ** hints,

IN const struct addrinfo FAR hints, char *ai_canonname;

char *ai_canonname;

OUT struct addrinfo FAR ** FAR ** res

OUT struct addrinfo FAR FAR res struct sockaddr *ai_addr;

struct sockaddr *ai_addr;

);

); struct addrinfo *ai_next;

struct addrinfo *ai_next;

};

};

Ashgabat, Turkmenistan – April 2007

Address to Name Translation

• getnameinfo()

– Pass in address (v4 or v6) and port

• Size Indicated by salen argument

• Also Size for Name and Service buffers (NI_MAXHOST,

NI_MAXSERV)

– Flags

• NI_NOFQDN

• NI_NUMERICHOST

int getnameinfo(

• NI_NAMEREQD int getnameinfo(

IN const struct sockaddr FAR ** sa,

IN const struct sockaddr FAR sa,

• NI_NUMERICSERV IN socklen_t salen,

IN socklen_t salen,

• NI_DGRAM OUT char FAR ** host,

OUT char FAR host,

IN size_t hostlen,

IN size_t hostlen,

OUT char FAR ** serv,

OUT char FAR serv,

IN size_t servlen,

IN size_t servlen,

IN int flags

IN int flags

);

);







Ashgabat, Turkmenistan – April 2007

Conclusion



• Many existing applications are available in IPv6

– Basic & Advanced





• New services/applications are based on IPv6:

• Grids

• Peer to peer









Ashgabat, Turkmenistan – April 2007



Related docs
Other docs by xiaopangnv
agenda-10-04
Views: 1  |  Downloads: 0
Folkevisen Germand Gladensvend
Views: 2  |  Downloads: 0
Macbeth-Summary-by-toni
Views: 1  |  Downloads: 0
How to Change Settings for the Microphone
Views: 1  |  Downloads: 0
bonn3update8
Views: 1  |  Downloads: 0
Enrol Result_0067AG_17032007_web
Views: 1  |  Downloads: 0
Healing _A Prayer for Healing_
Views: 1  |  Downloads: 0
8900september
Views: 1  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!