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

cormac mullally cormac.mullally at gmail.com
Mon Nov 26 02:23:02 PST 2007


Hi all,

I'm continuing to look at how java implements its sockets. Just had a
look at how it works for solaris and linix.

Can anyone give me any information on the function JVM_Socket, It is
defined in the jvm.h file, but I can't find it implementation.

Can someone confirm that is it built on the POSIX interfaces?

Thanks,
Cormac

On Nov 23, 2007 4:22 PM, cormac mullally <cormac.mullally at gmail.com> wrote:
> 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