RFC 3542 or RFC 2292 - Advanced Sockets Application Program Interface (API) for IPv6

cormac mullally cormac.mullally at gmail.com
Fri Nov 23 08:22:04 PST 2007


Hi all,

I had a quick look at openJDK and i see that on windows it uses
winsock2 as is expected.

I also see that in some paces it tries to use Raw Sockets,
Inet4AddressImpl.c and Inet6AddressImpl.c .

Do you think in theory it will be possible for me to create an IPv6
packet and header and send them over the raw socket using winsock2?

All help appreciated,
Cormac

On Nov 22, 2007 2:42 PM, cormac mullally <cormac.mullally at gmail.com> wrote:
> Hi Michael,
>
> I aggree it is quite specialised, but I think it would be good for
> java to support this. Yes I would love to use Linux or Solaris but I
> have to support windows.
>
> I am going to look at the internals of the openJDK now and see how it works.
>
> Thanks for your help so far and I will let you know how I get on.
>
> Best Regards,
> Cormac
>
>
>
>
>
> On Nov 22, 2007 1:56 PM, Michael McMahon <Michael.McMahon at sun.com> wrote:
> > 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