zoukankan      html  css  js  c++  java
  • IPv6 and Java

    IPv6 and Java


    At the time of writing, we have the possibility to work with two levels of Java, the official 1.4
    and the next generation 1.5, provided as beta. These two JDKs allow working with IPv6. The
    level of IP v6 implementation in the JDK 1.5 is better. This chapter describes the functionalities
    of these JDK’s IP v6 features.


    JDK 1.4

    With the J2SDK/JRE 1.4 release, IPv6 support has been added to Java Networking. This will
    make J2SE compliant with the following specifications (RFCs):
    • RFC 2373: IPv6 Addressing Architecture;
    • RFC 2553: BasicSocket Interface Extensions for IPv6;
    • RFC 2732: Format for Literal IPv6 Addresses in URLs.
    Since the J2SDK does not support raw sockets, RFC 2292 (: Advanced Sockets API for IPv6) is
    not supported in this release.
    Other interesting features of IPv6, such as tunneling, auto configuration of addresses, mobile IP,
    etc., are not supported at the Java API level, as they are handled automatically by the underlying
    OS or system support.
    On systems with a dual stack, system properties are provided for selecting the preferred IP stack.
    By default, the IPv6 stack is preferred because the IPv6 Socket can work with IPv4 and IPv6
    peers on a dual stack system.
    All the methods for programming TCP/IP applications are localized in the java.net package. In
    this package, the class InetAdress has been modified to support both IPv4 and IPv6 addresses.
    Two new classes appears, Inet4Address and Inet6Address, each class inherits from InetAdress
    and implements the specific behavior of its protocol version. As Java is an object oriented
    language, an application need to deals with the InetAddress class. With the polymorphism, it will
    get the correct behavior. New methods are introduced to be able to test the nature of IPv6 address
    (Site, Org address…).
    Due to object oriented nature of Java, the socket classes work both IPv4 and IPv6 addresses. In
    fact, the classes manipulate an InetAddress. The socket API can handle IPv4 and IPv6 traffic.
    The selection of IP stack depends to OS where the application run and the user’s stack preference
    setting. To provide the same support on IPv4 as IPv6, the old socket API has been overloaded to
    support the two protocols options.


    JDK 1.5
    The JDK 1.5 increases the support of IPv6. It keeps all the functionalities introduced with the
    JDK 1.4 and provides some new features.
    Arguably, the major enhancement resides in the introduction in the socket API of the method
    setPerformancePreference. This method allows the application to express its own preferences to
    tune the performance characteristics of this socket. Performance preferences are described by
    three integers whose values indicate the relative importance of short connection time, low
    latency, and high bandwidth. With this method, the network oriented notion of Quality of
    Service (QoS) is introduced. Any application can set its preferences to adapt its network traffic
    and provide the best QoS.

  • 相关阅读:
    bzoj 2763: [JLOI2011]飞行路线
    bzoj 2761: [JLOI2011]不重复数字
    bzoj 2744: [HEOI2012]朋友圈
    bzoj 2743: [HEOI2012]采花
    bzoj 2730: [HNOI2012]矿场搭建
    bzoj 2705: [SDOI2012]Longge的问题
    抗DDOS攻击
    kali安装后配置
    Kali更新源,亲测目前可用的源
    kali安装及配置ssr客户端
  • 原文地址:https://www.cnblogs.com/Snowfun/p/1816674.html
Copyright © 2011-2022 走看看