RFC 3542 or RFC 2292 - Advanced Sockets Application Program Interface (API) for IPv6
Michael McMahon
Michael.McMahon at Sun.COM
Thu Nov 22 05:56:39 PST 2007
Hi Cormac,
I don't think it's likely that Java SE will support RFC3542 in the near
future.
I can't say however, whether anybody is actually doing any work on
trying to support it.
It seems like a fairly specialised requirement, that the majority of
IPv6 applications would
not use.
Have you looked at Linux or Solaris? I think these operating systems
have good support
for the advanced Ipv6 socket APIs.
Hth,
Michael.
cormac mullally wrote:
> Hello all,
>
> I'm working on a project at the moment that needs's access to the
> "type 0 routing header" in an IPv6 packet. RFC 2292 describes a nice
> API, which allows you access to the routing header, see
> http://tools.ietf.org/html/rfc2292#section-8.9
>
> I see that JavaSE supports RFC 2553 Basic Socket Interface Extensions
> for IPv6, and from looking around it seems that Sun has no interest in
> implementing RFC 3542 or RFC 2292(RFC 3542 Obsoletes 2292).
>
> My first question is:
> Is there any one working on implementing RFC 3542 or RFC 2292 in the
> openJDK project?
>
> My second question:
> What are my options going forward?
>
>
> I am pretty new to working on such low level stuff so any advice on
> how I should proceed is welcome.
>
> I've done a bit of researching and here is a bit of a summary. I'm
> developing on windows XP, so its mostly around how I would provide
> this functionality on a windows enviornment, but in the end my
> application would have to work on other major platforms.
>
> Firstly as some of you may know "type 0 routing header" has caused a
> bit of controversy (see http://www.natisbad.org/ especially this
> presentation http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf)
> and it seems that there is some security concerns. Does anyone have
> any comment on this? I see some people are not happy as applications
> have already been developed using this feature. Do you think "type 0
> routing header" will be disabled by default in routers and hosts? Do
> you think a new method will be created to provide this routing
> functionality but more securly?
>
> So imagining that all is well with "type 0 routing header" and I will
> use it for my project, here are some of the solutions I have been
> looking at for implementing this on windows.
> 1. WinSock
> 2. Raw Socket on top Winsock
> 3. Winpcap 4.0 beta 3 supports IPv6
>
>
> 1. Winsock
> Winsock does not seem to support RFC 3542 or RFC 2292. As in there is
> no nice methods for adding routing headers as far as I can see.
> http://msdn2.microsoft.com/en-us/library/ms738649.aspx and
> http://msdn2.microsoft.com/en-us/library/ms738649.aspx
>
> 2. Raw Socket with Winsock
> Raw Socket as far as I can see gives you acess to the header and data
> parts of the packet. From my research this in theory seems to be
> possible with winsock
> see http://msdn2.microsoft.com/en-us/library/ms740506.aspx especially
> the IPV6_HDRINCL section.
> Windows XP SP2 seems to have limited the raw socket, see
> http://blogs.msdn.com/michael_howard/archive/2004/08/12/213611.aspx,
> but I think I should be sill OK as I'm working with UDP and I'm not
> trying to change the source address of anything.
> Does anyone have any advice on starting with raw socket programming? I
> have downloaded and am looking at Rock Saw at the
> moment(http://www.savarese.org/software/rocksaw/). Any other advice
> welcome.
> Does JavaSE or OpenJDK use raw sockets for its functionality, or does
> it do something else? I am going to start looking into this next.
>
> 3. Winpcap 4.0 beta 3
> Haven't investigated much here. Does this run on top of winsock? Does
> anyone know can I send packets using winpcap? Network Packet generator
> (http://www.wikistc.org/wiki/Network_packet_generator) is built on
> winpcap, has anyone used this on windows?
>
> Thats my research for the moment. If you have any questions please get
> back to me.
>
> Thanks for reading,
> Cormac
>
More information about the net-dev
mailing list