Post on 19-Jan-2016
OPS-19: What is IPv6?
And Why Should I Care?
Peter L’EcuyerPrincipal 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
© 2008 Progress Software Corporation3 OPS-19: What is IPv6?
World Growth of the Internet
© 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
© 2008 Progress Software Corporation5 OPS-19: What is IPv6?
Objectives
What is IPv6? Why Should You Care? What about IPv6 in OpenEdge® ?
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 2008 Progress Software Corporation15 OPS-19: What is IPv6?
IPv6 Proposed in 1995
Dual IP Layers
TCPTCP
IPv4IPv4
EthernetEthernet
UDPUDP
OpenEdgeOpenEdgeTelnetTelnet FTPFTP HTTPHTTP
IPv6IPv6
© 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
© 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
© 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/
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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®
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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!
© 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
© 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
© 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
© 2008 Progress Software Corporation45 OPS-19: What is IPv6?
Questions?
© 2008 Progress Software Corporation46 OPS-19: What is IPv6?
Thank You
© 2008 Progress Software Corporation47 OPS-19: What is IPv6?