1 / 10

Dual stack BDII server coding

Dual stack BDII server coding. Xavier Jeannin (CNRS UREC – EGEE-SA2) IPv6 meeting – 2007-02-19 @ CERN (Genéve). Outline. A brief reminder of Paris testbed architecture 2 different versions of dual stack server BDII A brief explanation of the different options to port an application on IPv6

Download Presentation

Dual stack BDII server coding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dual stack BDII server coding Xavier Jeannin (CNRS UREC – EGEE-SA2) IPv6 meeting – 2007-02-19 @ CERN (Genéve)

  2. Outline • A brief reminder of Paris testbed architecture • 2 different versions of dual stack server BDII • A brief explanation of the different options to port an application on IPv6 • Note: we do not take advanced socket programming (raw socket) into consideration IPv6 meeting – 2007-02-19 @ GARR (Rome)

  3. IPv4 IPv6 UREC Testbed 194.57.137.32/27 Router IPv4 DMZ UREC : Engine Calypso … 2001:660:3302:7001::/64 194.57.138.254 + « add static route 194.57.138.224 / 28 » Renater IPv4 / IPv6 194.57.137.100 194.57.138.240/28 Router IPv6 / IPv4 2001:660:3302:7003::2 Quarks 2001:660:3302:7003::/64 2001:660:3302:902::/128 Router IPv6 / IPv4 NAT-PT 2001:660:3302:7003::3 2001:660:3302:7002::/64 Callisto 194.57.138.253 Address pool Nat PT 194.57.138.224 / 28 2001:660:3302:7004::/64 Entry IPv6 NAT-PT Callisto-natpt : 194.57.138.227 IPv6 meeting – 2007-02-19 @ GARR (Rome)

  4. UREC Tesbed • The machine Callisto hosts a BDII server that was patched to work only IPv6 • You can use Callisto with IPv6 client directly • You can use Callisto with IPv4 client through NAT-PT • The machine Quarks hosts a BDII server that was patched to work on dual stack machine • You can use Quarks with IPv6 client directly • You can use Quarks with IPv4 client directly • There are 2 ways to program this server, with one or two sockets IPv6 meeting – 2007-02-19 @ GARR (Rome)

  5. 2 different versions of dual stack server BDII • The program can open 1 socket (Sa) that listens on the IPv6 address. To be able to answer to IPv4 client requests, the OS redirect the request to the socket Sa, it is the default behavior on SC3 (see bindv6only). To do that, the system maps the IPv4 address in the IPv6 address space: IPv4 mapped address u.x.y.z  ::FF:u.x.y.z • The program can open 2 sockets, one that listens on the IPv4 address and the other one that listens on the IPv6 address The usage of the IPv4 mapped address depends on the OS, and can be changed by the software IPv6 meeting – 2007-02-19 @ GARR (Rome)

  6. 2 different versions of dual stack server BDII We develop the two versions of the code: • The first, which corresponds to the previous first case (one socket), is easier to develop • The second one needs to use a lower level library and to modify more the opening section of the server You can test the two versions on quarks but one version is available at the same time We send the first version to BDII developers IPv6 meeting – 2007-02-19 @ GARR (Rome)

  7. different options to port an application on IPv6 The main point to take in consideration to choose are: • First, you have to decide what is OS target (SC4, SC3, Windows) to check what were the features supported by the OS. • The different socket options used by the program, you may not find the same option in INET and INET6 socket families and therefore IPv4 mapped address cannot be used. IPv6 meeting – 2007-02-19 @ GARR (Rome)

  8. different options to port an application on IPv6 • There is not a clear advise in this matter even in RFC • For instance in "Guidelines for IP version independence in GGF specification", the authors are pro address mapped “4.5 IPv4-mapped Address Handling An IPv4 client application on an IPv4-only node can talk to an IPv6 application on a dual stack node using IPv4 packets between the nodes; however the IPv6 application will see the addresses as IPv4-mapped IPv6 addresses, of the form ::ffff:a.b.c.d where a.b.c.d is the IPv4 address. This mapping may occur in the API, or the mapped addresses could be seen on the wire. The latter is undesirable for security (spoofing) reasons [V6MAP-HARM]. Applications should handle IPv4-mapped IPv6 addresses correctly and securely” • We continue to gather advice from specialists IPv6 meeting – 2007-02-19 @ GARR (Rome)

  9. 2 different versions of dual stack server BDII • The gLite programmers have to take all these options in consideration and decide a rule to port gLite on IPv6 that could be written in a guide • If several applications have to be installed on the same node, it would be better to have a guide line IPv6 meeting – 2007-02-19 @ GARR (Rome)

  10. Reference References • RFC 1933 Transition Mechanisms for IPv6 Hosts and Routers • RFC 3493 basic socket interface extensions for IPv6 • RFC 4038 Application aspects of IPv6 transition Programming guidelines on transition to IPv6, Miguel Castro • IPv6 network programming jun-ichiro itojun hagino • IPv4-Mapped Addresses on the Wire Considered Harmful draft-itojun-v6ops-v4mapped-harmful-02.txt jun-ichiro itojun hagino • Guidelines for IP version independence in GGF specification T Chown • IPv6 Guide for Windows Sockets Applications [Winsock] http://msdn2.microsoft.com/en-us/library/ms738649.aspx • IPv6 Théorie et pratique Gisèle Cizault • IPv6 Transition/Co-existence Security Considerations draft-ietf-v6ops-security-overview-06.txt P Savola • Status for Java Developers Kit API for IPv6 IPV6_WG J. Bound • Networking IPv6 User Guide for JDK/JRE 5.0 Sun • UNIX Network Programming W. Richard Stevens IPv6 meeting – 2007-02-19 @ GARR (Rome)

More Related