ops-19: what is ipv6? and why should i care? peter l’ecuyer principal software engineer

47
OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

Upload: keon-husbands

Post on 19-Jan-2016

229 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

OPS-19: What is IPv6?

And Why Should I Care?

Peter L’EcuyerPrincipal Software Engineer

Page 2: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation2 OPS-19: What is IPv6?

The Internet

You are

Here

541 Million Hosts

1.3 Billion Users

100,000 Trillion bytes transferred daily

http://www.internetworldstats.comhttp://www.dtc.umn.edu

Page 3: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation3 OPS-19: What is IPv6?

World Growth of the Internet

Page 4: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation4 OPS-19: What is IPv6?

Internet Growth

China is now nation with most Internet users• 53 % growth rate in 2007 alone

• 233 million Internet users

• Only 17 % of population of 1.3 billion

USA is now 2nd

• 216 million Internet users

• 71% of population of 304 million

Source: USA Today, April 21,2008

Page 5: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation5 OPS-19: What is IPv6?

Objectives

What is IPv6? Why Should You Care? What about IPv6 in OpenEdge® ?

Page 6: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation6 OPS-19: What is IPv6?

TCP/IP Powers the Internet

ApplicationApplication

TransportTransport

NetworkNetwork

DatalinkDatalink

TCP/IP is a layered protocol suite

TCPTCP

Internet Protocol (IP)Internet Protocol (IP)

EthernetEthernet

UDPUDP

OpenEdgeOpenEdgeTelnetTelnet FTPFTP HTTPHTTP

Page 7: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation7 OPS-19: What is IPv6?

IP Datagram

TransportHeader

TransportHeader

IPHeader

IPHeader

ApplicationProtocol DataApplication

Protocol Data

VersionVersion ProtocolProtocol Source AddressSource Address Destination AddressDestination Address

The IP Layer moves datagrams from node to node

Size of address determines number of addressable nodes

Page 8: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation8 OPS-19: What is IPv6?

IP Addresses

VersionVersion ProtocolProtocol Source AddressSource Address Destination AddressDestination Address

Each address identifies network and host

Network AddressNetwork Address Host AddressHost Address

Page 9: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation9 OPS-19: What is IPv6?

The Internet runs on IPv4

... Using 32-bit addresses

Network AddressNetwork Address Host AddressHost Address

31 0

232 = 4 Billion addresses Address class specified size of subfields Addresses use dotted-decimal format

• 192.168.1.100

• 127.0.0.1

• 0.0.0.0

Page 10: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation10 OPS-19: What is IPv6?

Allocation of Internet Addresses

IANA Distributes Blocks to RIRs

Addresses

IANA

RIR

RIRISPs

LIRs

IANA- Internet Assigned Numbers AuthorityRIR – Regional Internet RegistryLIR – Local Internet RegistryISP – Internet Service Provider

/8s

/8s

Page 11: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation11 OPS-19: What is IPv6?

Exhaustion of IP Address Space Predicted

* http://arstechnica.com/articles/paedia/IPv6.ars

Allocation of Address Blocks by IANA

124 blocks available

103 blocks available51 blocks available

Page 12: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation12 OPS-19: What is IPv6?

Squeezing More Life from IPv4

More conservative allocation policies• Application of First Law of Holes

Classless Inter-Domain Routing (CIDR)• RFC1519 September 1993

Network Address Translation (NAT)• RFC1631 May 1994

Page 13: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation13 OPS-19: What is IPv6?

Network Address Translation

126.33.75.132

10.22.10.1 10.22.10.2 10.22.10.3

10.22.10.100 10.22.10.1:1234

126.33.75.132:5555

H1 H2 H3

Page 14: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation14 OPS-19: What is IPv6?

IPv4 : So How Long Do We Have?

How far back do you look? Estimation of future consumption Future allocation policies Will we ever run out? Have we already run out?

It depends on how you do the math …

http://www.potaroo.net/tools/ipv4/index.html

Page 15: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation15 OPS-19: What is IPv6?

IPv6 Proposed in 1995

Dual IP Layers

TCPTCP

IPv4IPv4

EthernetEthernet

UDPUDP

OpenEdgeOpenEdgeTelnetTelnet FTPFTP HTTPHTTP

IPv6IPv6

Page 16: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation16 OPS-19: What is IPv6?

IPv6 Proposed – Sept. 1995

Dual Stack

IPv4IPv4

EthernetEthernet

OpenEdgeOpenEdgeTelnetTelnet FTPFTP HTTPHTTP

IPv6IPv6

TCPv4TCPv4 UDPv4UDPv4 TCPv6TCPv6 UDPv6UDPv6

Page 17: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation17 OPS-19: What is IPv6?

IPv6 Provides Expanded Address Space

VersionVersion Next HeaderNext Header Source AddressSource Address Destination AddressDestination Address

Addresses are 128 bits

Provider Prefix

Provider Prefix

Interface IdentifierInterface Identifier

63 0127 80

Subnet IdentifierSubnet Identifier

79 64

Page 18: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation18 OPS-19: What is IPv6?

IPv6 Address Format

IPv6 Outgrows dotted decimal format

2001:0000:1234:0000:0000:B1D2:456C:0001

2001:0:1234:0:0:b1d2:456c:1

2001:0:1234::b1d2:456c:1

http://[2001:0:1234::b1d2:456c:1]:8080/

Page 19: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation19 OPS-19: What is IPv6?

Special IPv6 Addresses

Type IPv4 IPv6

Loopback 127.0.0.1 ::1

Unspecified 0.0.0.0 ::

IPv4 Mapped 10.22.1.100 ::ffff:10.22.1.100

Page 20: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation20 OPS-19: What is IPv6?

Link-Local Addresses

Always begins with FE80 prefix Automatically generated

• Usually based on MAC address

Scoped to the local link• Not routed

Used by internal protocols• Neighbor discovery

• Router advertisement

Page 21: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation21 OPS-19: What is IPv6?

Link-Local Address Scope

Ambiguity can arise

N1 N2 N3

FE80::212:6bff:0:1 FE80::212:6bff:0:1FE80::212:6bff:0:1%eth0 FE80::212:6bff:0:1%2

Page 22: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation22 OPS-19: What is IPv6?

IPv6 Address Space Allocation

1 % Other

13 % Unicast Global

86 % Unassigned

Allocated Unicast Global Space = 9.9 x1027 times 4 Billion

Page 23: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation23 OPS-19: What is IPv6?

Other IPv6 Improvements

Auto-configuration Restructured IP Header for easier routing

• Header is 64-bit aligned

IPSEC support is required Improved multicast support

• However, broadcast is not supported

Improved support for IP Mobility

… beyond the enlarged address space

Page 24: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation24 OPS-19: What is IPv6?

IPv6 Deployment Options

IPv4 network

IPv6 IPv6

R1 R2H1 H2

Moves IPv6 data across IPv4 networks IPv6 Packets are encapsulated

Tunneling

Page 25: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation25 OPS-19: What is IPv6?

IPv6 Deployment Options

Dual Stack Network

IPv6 IPv4Dual IPv4/IPv6

H1 H2 H3

PhysicalIPv6

IPv4R1

Dual IPv4/IPv6

Both IPv4 and IPv6 supported concurrently Dual Stack vs. Dual IP Implementations

Page 26: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation26 OPS-19: What is IPv6?

Dual Stack Environment

Goal is co-existence Assign both IPv6 and IPv4 address

Host Name Resolution

IPv6 IPv4Dual IPv4/IPv6

H1 H2 H3

DNS

fd00:19d:808f:1::22

fd00:19d:808f:1::23

172.168.2.3 172.168.2.4

Page 27: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation27 OPS-19: What is IPv6?

So Why Should You Care?

Some day we may run out of IPv4 addresses Market pressures may require support of IPv6

• US DOD now requires IPv6 support

Support for new IPv6-only devices

Make sure your application is ready for IPv6

Page 28: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation28 OPS-19: What is IPv6?

Supporting IPv6 in OpenEdge

OpenEdge customers depend on networking Most customers will not be using IPv6 IPv6 technology is relatively new IPv6 is platform dependent

• Behavior depends on system configuration

The Problem

Page 29: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation29 OPS-19: What is IPv6?

Supporting IPv6 in OpenEdge

Make IPv6 a selectable option New ipver parameter/property in OE10.1C

• Conservative approach – default to IPv4• New IPv6 code path is version-agnostic

The Solution

Value ActionIPv4** Allow connections with IPv4 only

IPv6 Allow connections with either IPv6 or IPv4

**default value

Page 30: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation30 OPS-19: What is IPv6?

Specifying IP Version

proserve –db mydb –ipver IPv6 –H myhost –S 12345

Starting a database

The OpenEdge Database

pro –ipver IPv6 –db mydb –H myhost –S 12345

Starting an ABL Client

Value of –H parameter determines IP protocol used

Page 31: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation31 OPS-19: What is IPv6?

Specifying IP Version

[UBroker.AS.asbroker1]ipver=IPv6registrationMode=register-IPhostName=jvmArgs=-Djava.net.preferIPv4Stack=false –Djava.net.preferIPv6Addresses=true

ubroker.properties

proadsv –start –ipver IPv6 –H myhost

Starting the AdminServer

OpenEdge AppServer™ / WebSpeed®

Page 32: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation32 OPS-19: What is IPv6?

Java System Properties

OpenEdge AdminServer / AppServer / WebSpeed

Property Value Description

java.net.preferIPv4Stack false** Supports IPv4 and IPv6

true Supports IPv4 only

java.net.preferIPv6Addresses false** Prefer IPv4 addresses over IPv6 addresses

true Prefer IPv6 addresses over IPv4 addresses

** default value Run OE on IPv6

Page 33: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation33 OPS-19: What is IPv6?

Specifying IP Version – AppServer Clients

pro –ipver IPv6

Starting an ABL Client

create server hSrv.B = hSrv:CONNECT(“-URL ppServer://myhost:5162/svc”).

ABL CONNECT()

myhost specifies location of NameServer

Page 34: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation34 OPS-19: What is IPv6?

Specifying IP Version – AppServer Clients

java –Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true AppMainClass appParam1 appParam2

Starting a Java™ OpenClient

Page 35: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation35 OPS-19: What is IPv6?

registration-Mode Property

OpenEdge AdminServer / AppServer™ / WebSpeed®

Value Description

Register-IP** IP Address of gethostname()

Register-LocalHost Name of gethostname()

Register-Hostname Value of hostName property

** default value

Page 36: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation36 OPS-19: What is IPv6?

Connecting to an AppServer

Role of registrationMode

AppServer

Client

NameServer

Bro

ke

r

Agent

addr

addr

addr

Value of addr determines IP protocol used

Page 37: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation37 OPS-19: What is IPv6?

Connecting to an AppServer

Using an IP Address

AppServer

Client

NameServer

Bro

ke

r

Agent

IP

IP

IP

Type of IP address determines IP protocol

Page 38: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation38 OPS-19: What is IPv6?

Connecting to an AppServer

Using a Host Name

AppServer

Client

NameServer

Bro

ke

r

Agent

hostname

hostname

hostname

Resolution of hostname determines IP protocol

Page 39: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation39 OPS-19: What is IPv6?

Readying Your Application

IP addresses exposed in user interface Internal use of IP addresses IP address parsing

• In URLs

• Configuration files

Some things to consider

10.20.1.100:5555fd01:1234::1:100:5555[fd01:1234::1:100]:5555

Page 40: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation40 OPS-19: What is IPv6?

Some Observations

IPv6 support is there on all major platforms Still some platform idiosyncrasies Configuration of name resolution is important Configure discrete port ranges for

servers/agents Performance is comparable

From our experiences

Page 41: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation41 OPS-19: What is IPv6?

In Summary

Exhaustion of IPv4 address space is “imminent” Migration to IPv6 can solve this problem OpenEdge is ready when you are!

Page 42: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation42 OPS-19: What is IPv6?

For More Information, go to…

Internet World Statshttp://www.internetworldstats.com/stats.htm

Minnesota Internet Traffic Studieshttp://www.dtc.umn.edu/mints/home.html

Everything you need to know about IPv6 http://arstechnica.com/articles/paedia/IPv6.ars

Changes to IPv6 in MS Vista and 2008 Serverhttp://technet.microsoft.com/en-us/library/bb878121.aspx

China vaults past USA in Internet users http://www.usatoday.com/tech/world/2008-04-20-

Internetusers_N.htm

Page 43: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation43 OPS-19: What is IPv6?

For More Information, go to…

How Long Do We Have?http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_6-4/ipv4.html

IPv4 Address Reporthttp://www.potaroo.net/tools/ipv4/index.html

A Pragmatic Report on IPv4 Address Space Consumptionhttp://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_8-3/ipv4.html

Migrating to IPv6 by Marc BlanchetPublished by John Wiley & Sons, Ltd, 2006

Unix Network Programming, Vol. 1, 3rd edition by W. Richard Stevens, et. al.,Published by Addison-Wesley, 2003

Page 44: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation44 OPS-19: What is IPv6?

Relevant Exchange Sessions

DEV-15: AppServer Mode Case Studies

OPS-7: Migrating your Distributed Application from V9 to OpenEdge 10 with (Almost) No Downtime

OPS-12: Caring for an Ailing AppServer

Page 45: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation45 OPS-19: What is IPv6?

Questions?

Page 46: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation46 OPS-19: What is IPv6?

Thank You

Page 47: OPS-19: What is IPv6? And Why Should I Care? Peter L’Ecuyer Principal Software Engineer

© 2008 Progress Software Corporation47 OPS-19: What is IPv6?