Hi Guy,

Thanks for the reply.

When I said proprietary I actually meant protocols that are not TCP/IP,
perhaps I wasn't clear. I used that word because most of the other protocols
I know (and apparently I don't know that much of them) that do get to fill
the whole stack are prorpeitary.

Anyhow, I will try to learn a bit more on the things you have said.

Just to set things straight, I want to experiment with a bunch of protocols
that were formed in a group called CCSDS (Consultative Committee for Space
Data Systems, www.ccsds.org).

They are a group composed out of most of the space agencies in the world and
it was formed to create standards in regards to communication protocols,
telemtry data manipulation and everything related to that used in space
missions.

They have created a complete stack of protocols that can be compared side by
side with the TCP/IP stack but it suites ground segments and space segments
of space missions
(http://www.ccsds.org/applicability/models/layered_model/index.html).

The specs are freely available and I wanted to experiement with these
protocols and perhaps even implement some of them on top of Linux. Nothing
commertial about that, just for the sake of learning.
If I can succeed in what I'm doing (who knows), perhaps I will consider
making it something more commerial WITHOUT violating any open source license
(that goes without saying, but I'm saying it anyway).

I actually think that open sourcing such a thing is VERY important if in
some day in the far future someone will actually use what I will write ;-)

In the last few years I've mostly dealt with higher level languages and
boring database and GUI stuff (which comprises of 80% of the business
software used today unfortunalty) and I feel I'm loosing the touch with
lower level programming.
It degenerating ;-)

Anyhow, that is what I want to do and I will try to get all the information
together and start experimenting.

Do you happen to have the name of the book regarding the TCP/IP
implementation in Linux? Do you know if there is a simpler stack to follow
just for the sake of learning?

Thanks in advance for all future help (and for this one ;-) ),
Eran.


----- Original Message -----
From: "guy keren" <[EMAIL PROTECTED]>
To: "Eran Sandler" <[EMAIL PROTECTED]>
Cc: "Linux-IL mailing list" <[EMAIL PROTECTED]>
Sent: Friday, October 29, 2004 1:09 PM
Subject: Re: Network Protocol Implementation


>
> On Thu, 28 Oct 2004, Eran Sandler wrote:
>
> > Hello Everyone,
> >
> > Do someone have any experience in implementing a netowork protocol in
Linux?
> > I mean, did someone happend to implement a protocol stack like TCP/IP
> > but something more proprietary?
>
> why "proprietary"? why not "another _open_ communications protocol?
> if you're doing it for pure learning purposes, then what does
> 'proprietary' got to do with this?
>
> if it's for a proprietary thing, then say so, and don't hide behind
> "wanting to play"...
>
> > I want to play around with such a thing and I saw that the way protocols
> > are implemented in Linux is quite open to additions, the problem is that
> > if I'll try to follow the implementation of TCP/IP its going to take me
> > ages since there is massive amount of code there.
>
> there's a lot of code, because there is a lot of functionality. and not
> all of it is inside the kernel proper, mind you...
>
> > I was specifically wonder ifthere is any documentation about how to add
> > a new networking protocol (or even a new protocol stack)? Is there any
> > specific things I should implement or do in order to make it accessibly
> > through the normal functions (like accept(), listen() and therest)?
>
> i'd imagine there is no such documentation. what there is, is
> documentation about:
>
> 1. writing network controller drivers. this will lead you to where, in the
>    kernel, the driver interacts with the protocol stack. follow it to find
>    the 'lower' entry point. this will also teach you about sk_buff, and
>    it's use in linux networking.
>
> 2. the structure of the TCP/IP code in linux. there is a book about this.
>    read it, and by analogy, you'll be able to learn what a protocol stack
>    needs to implement in order to work on linux.
>
> 3. use the source, luke... read, navigate, experiment...
>
> note that you need to first define your "new and de-proved" network
> protocol, and define it to be as minimalistic as you can. assuming you're
> properly familiar with how IP works, i'd suggest you start with
> implementing a pure IP-like thing (forget about reliability and streams
> for now). also, forget about complex routing - start with something that
> will only work over ethernet, and only over a local LAN.
>
> > I would appriciate any help.
>
> use the source, luke... that's the best help you've got...
>
> learn how to do it...
>
> then give a lecture in your nearest linux club regarding how others can do
> it. if you're as good as your name suggests, my guess is that it'll take
> you 2-3 month to implement a naive network protocol...
>
> p.s. if you think i'm joking - i'm not. i'm doing the same thing for the
> VFS right now. await a lecture about this on february...
>
> --
> guy
>
> "For world domination - press 1,
>  or dial 0, and please hold, for the creator." -- nob o. dy
>



=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to