Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-04 Thread Todd Goodman
* Alan McKinnon  [150904 08:15]:
> On 03/09/2015 21:46, Francisco Ares wrote:
[..SNIP..]
> > - there was a teletype
> > (remember those?) 
> 
> Golf balls. Gods, those things made a racket.

I think the golf balls you're referencing were the IBM selectrics?

[..SNIP..]
> Oh no, not punched paper tape. All I remember is thousands of tiny
> yellow punched shards that floated everywhere like confetti

Chads.  Just like the hanging chad debacle here in the US.  (I never
understood why everyone hated chad enough to string him up, but...)

> 
> > Thanks for the opportunity for an old story to be remembered.
> 
> We old farts here reminisce about every 6 months or so. It usually
> starts when someone asks a question like: did you ever work with those
> original 8 inch floppies? and the thread goes on for days :-)

I still do.  Along with teletypes, line printers, PDP-8s, PDP-11s,
vaxen, paper tape, 10MB hard drives that weigh 200lbs, etc.

All for fun of course.

Todd



[gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread James
Francisco Ares  gmail.com> writes:


> Sorry for such WAY out of topic message, but Gentoo users are also way 
> out of regular computer users.

Far out man. some psychedelic mood music, say Pink Floyd Ummagumma::
Several Species of Small Furry Animals Gathered Together in a Cave...[2]
(now that we got the proper 'grove on'.let's roll!


> I intend to learn more deep details about networking intrinsics, 
> (packets, ports, negotiation, UDP, multicast, unicast, TCP, ethernet, 
> DHCP, protocols, and so on) so I decided to recur to this list.  
> Francisco


Well, if you really want to 'Get Smart'  as in get to 'the edge' of all of
this, why not just jump straight to (SDN) Software Defined Networks and such
things as OpenVswitch on a cluster? [1]. Our good friends at Rackspace are
very progressive in their ideas and systems development. As you learn about
SDN, you can backfill what the old farts have done in the past and be
an active part of the future? Just search out SDN as it's a revolution in
networking that just may be the disruptive thang that is so desperately needed.


PS::I bet McKinnon can build a buffered serial port sniffer out of those old
74LSxx chips! I have a wide selection of those old 74LS chips in
tubes, just in case you get an itch you need to scratch...
The date codes have fadedall I can make out is you old fart.



cheers,
James


[1] https://www.pytexas.org/2015/talk/45

[2] https://www.youtube.com/watch?v=YrRhnaFaBsA

Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Alan McKinnon
On 03/09/2015 16:31, James wrote:
> PS::I bet McKinnon can build a buffered serial port sniffer out of those old
> 74LSxx chips! I have a wide selection of those old 74LS chips in
> tubes, just in case you get an itch you need to scratch...
> The date codes have fadedall I can make out is you old fart.


McKinnon says "I'll have to get back to you on that!" while wandering
into his library to fetch the trusty old copy of Mastering Serial
Communications copyright 1986




-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Francisco Ares
2015-09-03 6:51 GMT-03:00 Alan McKinnon :

> On 03/09/2015 03:16, James wrote:
> > Alan McKinnon  gmail.com> writes:
> >
> >
> >>> Last, I suggest a parallel learning of C/C++ as it really helps
> >
> >> ^this^, after the basics are fully mastered.
> >
> >> netmasks make no sense at all until bitwise operators are fully
> >> understood. Even CIDR notation is not really obvious until you
> >> understand what languages like C do with the 32 bit words we call IP
> >> addresses. All x10 when IPv6 comes into play
> >
> >
> > Huh. I find teaching networking, including the intricacies  of advanced
> > protocol design, implementation and debugging, are far simpler if
> > folks know at least one programming language. Bit manipulations
> > are but one part of logic, sequential circuits timing and such
> > of the Computer Engineer's domain.  In my experience, if folks read too
> > much, but do not play with some codes  on actual hardware, it all
> becomes a
> > giant nebula. I guess I just like the practical side of these issues, to
> get
> > folks hooked on hardware.
>
> Yes, knowing at least one language is key
>
> >
> >
> > How a serial port (rs_232) works and the putting ppp over that is very
> > keen for teaching networking. ymmv. You can also use a protocol analyzer
> to
> > see some cool things. Many codes are published and looking at how a
> > microprocessor handles basic packets is very stimulating and encouraging.
> > Too bad most kids now days do not get to work on embedded hardware and
> build
> > up an executive or state machine and send/recieve data over interfaces.
> > Granted I worked in the world where assembler was
> > king (embedded) and assembler folks learning C and tcp/ip were easily
> amazed
> > and happy to migrate from assembler to C.
>
> I think the critical thing is to have a good grasp of what the
> technology you use is built on.
>
> C is a thin wrapper around assembly so to master C you should know cpu
> instructions, logic and at lest something about hardware. I don't
> believe it's possible or desirable to completely abstract something like
> C away from those things and still use it well. It's C, not the ISO 7
> layer model
>
> >
> > As Joost pointed out, I guess it really depends on the background of
> > the student. Being a hardware guy, I guess my focus is tainted
>
> I'm a hardware and electronics guy too. I spent hours in college
> building circuits with breadboards, 74xx TTL chips and bits of wire
> before they'd let me move onto the next thing
>
> >
> > So, fair enough, but how long (exactly what are the basics) do you
> > read before you go to the lab and play? Labs are always more fun
> > than classrooms, lectures and stuffy old farts.(gotcha!) ?
>
> The raspberry pi was specifically built to get back to those old days,
> the main designers were from the BBC micro era.
>
> Which I think is a wonderful idea.
>
> >
> >
> > cheers,
> > James
> >
> >
> >
> >
> >
> >
>
>
> --
> Alan McKinnon
> alan.mckin...@gmail.com
>
>
>
Me, too, a hardware guy, but having to learn high level stuff. Here at the
company that work for, we had a programmer a couple of years ago, that has
gone for a better opportunity. So I got his load.

Blinking a bunch of LEDs is where I started. The first ones with simple
transistors, resistors and capacitors, TTLs were next, and then, finally, a
Z80 with an UV EPROM, having to be programmed at the university lab in a
terribly monstrous gig - there was a teletype (remember those?) where a
paper tape had to be punched with the byte codes, hand assembled from
mnemonics, the tape transferred to another part where it was read while the
bytes been burnt to the EPROM; if one missed or twisted a byte, everything
had to be done again, program tapes being literally patched over and over.
Nowadays it all look very funny, but not at all on those days with a final
degree project deadline approaching ;-)

Thanks for the opportunity for an old story to be remembered.
Francisco


Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Francisco Ares
Thanks, James.

I already know C and a bit of C++, and that's why I want to understand
deeply about networking protocols, there are some tricks that I see some
device's closed source SDKs doing that I would like to reproduce. And
probably - if they worth it - publish as open source, of course.

Best Regards,
Francisco



2015-09-02 17:57 GMT-03:00 James :

> Francisco Ares  gmail.com> writes:
>
> >
> > Hi,
> > Sorry for such WAY out of topic message, but Gentoo users are also way
> out
> of regular computer users.
> >
> > I intend to learn more deep details about networking intrinsics,
> (packets,
> ports, negotiation, UDP, multicast, unicast, TCP, ethernet, DHCP,
> protocols,
> and so on) so I decided to recur to this list.  Googling the terms, just
> gets me to network administration and equipment interconnection.
> >
> > Any hints on web resources for this research?
> >
> > Thanks a lot and
> >
> > Best Regards,
> > Francisco
> >
>
>
> You can always build your own router, and learn about those internals
> as they come up while setting up your home router. All you need
> are some old PC parts laying around, gentoo and this guide [1].
> Iptables if a really cool network applications as is Network Address
> Translation (NAT).
>
>
> Also reading key "RFCs" is the way to go [2]. But try not to get hung up
> On the really cool RFCs like OSPF or SIP, as they are ever evolving
> and looking at sources it actually better.
>
>
> Last, I suggest a parallel learning of C/C++ as it really helps with
> unix/linux/networking if can look at software sources and see what is going
> on. Bash and Python are really important too. It's a lifelong journey, so
> relax and enjoy the experiences and try not to get frustrated.
>
>
> hth,
> James
>
> [1] https://wiki.gentoo.org/wiki/Home_Router
>
> [2] https://en.wikipedia.org/wiki/List_of_RFCs


Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Francisco Ares
2015-09-02 18:14 GMT-03:00 Alan McKinnon :

> On 02/09/2015 22:57, James wrote:
> > Last, I suggest a parallel learning of C/C++ as it really helps with
> > unix/linux/networking if can look at software sources and see what is
> going
> > on.
>
> ^this^, after the basics are fully mastered.
>
> netmasks make no sense at all until bitwise operators are fully
> understood. Even CIDR notation is not really obvious until you
> understand what languages like C do with the 32 bit words we call IP
> addresses. All x10 when IPv6 comes into play
>
>
> --
> Alan McKinnon
> alan.mckin...@gmail.com
>
>
>
Hi again, Alan.

Those basics are already well understood, and for now IPv6 is not even
being considered ;-)  Let me get the second level first.

Thanks.


Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Francisco Ares
2015-09-03 3:20 GMT-03:00 J. Roeleveld :

> On Thursday, September 03, 2015 01:16:47 AM James wrote:
> > Alan McKinnon  gmail.com> writes:
> > > > Last, I suggest a parallel learning of C/C++ as it really helps
> > >
> > > ^this^, after the basics are fully mastered.
> > >
> > > netmasks make no sense at all until bitwise operators are fully
> > > understood. Even CIDR notation is not really obvious until you
> > > understand what languages like C do with the 32 bit words we call IP
> > > addresses. All x10 when IPv6 comes into play
> >
> > Huh. I find teaching networking, including the intricacies  of advanced
> > protocol design, implementation and debugging, are far simpler if
> > folks know at least one programming language. Bit manipulations
> > are but one part of logic, sequential circuits timing and such
> > of the Computer Engineer's domain.  In my experience, if folks read too
> > much, but do not play with some codes  on actual hardware, it all
> becomes a
> > giant nebula. I guess I just like the practical side of these issues, to
> get
> > folks hooked on hardware.
> >
> >
> > How a serial port (rs_232) works and the putting ppp over that is very
> > keen for teaching networking. ymmv. You can also use a protocol analyzer
> to
> > see some cool things. Many codes are published and looking at how a
> > microprocessor handles basic packets is very stimulating and encouraging.
> > Too bad most kids now days do not get to work on embedded hardware and
> build
> > up an executive or state machine and send/recieve data over interfaces.
> > Granted I worked in the world where assembler was
> > king (embedded) and assembler folks learning C and tcp/ip were easily
> amazed
> > and happy to migrate from assembler to C.
> >
> > As Joost pointed out, I guess it really depends on the background of
> > the student. Being a hardware guy, I guess my focus is tainted
> >
> > So, fair enough, but how long (exactly what are the basics) do you
> > read before you go to the lab and play? Labs are always more fun
> > than classrooms, lectures and stuffy old farts.(gotcha!) ?
> >
> >
> > cheers,
> > James
>
> If you want to base it on programming, I would recommend the following as
> well:
> http://beej.us/guide/bgnet/
>
> --
> Joost
>
>
Thanks again, Joost, that also looks quite promising.

Best Regards,
Francisco


Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Francisco Ares
2015-09-03 11:31 GMT-03:00 James :

> Francisco Ares  gmail.com> writes:
>
>
> > Sorry for such WAY out of topic message, but Gentoo users are also way
> > out of regular computer users.
>
> Far out man. some psychedelic mood music, say Pink Floyd Ummagumma::
> Several Species of Small Furry Animals Gathered Together in a Cave...[2]
> (now that we got the proper 'grove on'.let's roll!
>
>
> > I intend to learn more deep details about networking intrinsics,
> > (packets, ports, negotiation, UDP, multicast, unicast, TCP, ethernet,
> > DHCP, protocols, and so on) so I decided to recur to this list.
> > Francisco
>
>
> Well, if you really want to 'Get Smart'  as in get to 'the edge' of all of
> this, why not just jump straight to (SDN) Software Defined Networks and
> such
> things as OpenVswitch on a cluster? [1]. Our good friends at Rackspace are
> very progressive in their ideas and systems development. As you learn about
> SDN, you can backfill what the old farts have done in the past and be
> an active part of the future? Just search out SDN as it's a revolution in
> networking that just may be the disruptive thang that is so desperately
> needed.
>
>
> PS::I bet McKinnon can build a buffered serial port sniffer out of those
> old
> 74LSxx chips! I have a wide selection of those old 74LS chips in
> tubes, just in case you get an itch you need to scratch...
> The date codes have fadedall I can make out is you old fart.
>
>
>
> cheers,
> James
>
>
> [1] https://www.pytexas.org/2015/talk/45
>
> [2] https://www.youtube.com/watch?v=YrRhnaFaBsA



Thanks for the tip and for the video, those glory days of progressive rock
still amazes old and new generations.

To jump right now on a project like the ones you mentioned is, for now, out
of scope. But as more depth can be reached, well, who knows?

Best Regards,
Francisco


Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Alan McKinnon
On 03/09/2015 21:46, Francisco Ares wrote:
> Me, too, a hardware guy, but having to learn high level stuff. Here at
> the company that work for, we had a programmer a couple of years ago,
> that has gone for a better opportunity. So I got his load.
> 
> Blinking a bunch of LEDs is where I started. The first ones with simple
> transistors, resistors and capacitors, TTLs were next, and then,
> finally, a Z80 with an UV EPROM, 

Z80? A fine CPU. Built by a bunch of guys who left Intel early on,
convinced a full 8 bit cpu with 16 address lines was possible!

That chip powered so many home pcs in the late 70s and early 80s. That
and the 6502

# having to be programmed at the
> university lab in a terribly monstrous gig

A giant thing with a ZIL socket and huge UV tubes to blank the EPROM>
Yup, I remember them well

> - there was a teletype
> (remember those?) 

Golf balls. Gods, those things made a racket.
But worse still was line printers with 136 disks, one for each character
position. If you printed just the right things, you could get them to
play out a tune :-)

> where a paper tape had to be punched with the byte
> codes, hand assembled from mnemonics, the tape transferred to another
> part where it was read while the bytes been burnt to the EPROM; if one
> missed or twisted a byte, everything had to be done again, program tapes
> being literally patched over and over. Nowadays it all look very funny,
> but not at all on those days with a final degree project deadline
> approaching ;-)

Oh no, not punched paper tape. All I remember is thousands of tiny
yellow punched shards that floated everywhere like confetti

> Thanks for the opportunity for an old story to be remembered.

We old farts here reminisce about every 6 months or so. It usually
starts when someone asks a question like: did you ever work with those
original 8 inch floppies? and the thread goes on for days :-)


-- 
Alan McKinnon
alan.mckin...@gmail.com




Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread J. Roeleveld
On Thursday, September 03, 2015 01:16:47 AM James wrote:
> Alan McKinnon  gmail.com> writes:
> > > Last, I suggest a parallel learning of C/C++ as it really helps
> > 
> > ^this^, after the basics are fully mastered.
> > 
> > netmasks make no sense at all until bitwise operators are fully
> > understood. Even CIDR notation is not really obvious until you
> > understand what languages like C do with the 32 bit words we call IP
> > addresses. All x10 when IPv6 comes into play
> 
> Huh. I find teaching networking, including the intricacies  of advanced
> protocol design, implementation and debugging, are far simpler if
> folks know at least one programming language. Bit manipulations
> are but one part of logic, sequential circuits timing and such
> of the Computer Engineer's domain.  In my experience, if folks read too
> much, but do not play with some codes  on actual hardware, it all becomes a
> giant nebula. I guess I just like the practical side of these issues, to get
> folks hooked on hardware.
> 
> 
> How a serial port (rs_232) works and the putting ppp over that is very
> keen for teaching networking. ymmv. You can also use a protocol analyzer to
> see some cool things. Many codes are published and looking at how a
> microprocessor handles basic packets is very stimulating and encouraging.
> Too bad most kids now days do not get to work on embedded hardware and build
> up an executive or state machine and send/recieve data over interfaces.
> Granted I worked in the world where assembler was
> king (embedded) and assembler folks learning C and tcp/ip were easily amazed
> and happy to migrate from assembler to C.
> 
> As Joost pointed out, I guess it really depends on the background of
> the student. Being a hardware guy, I guess my focus is tainted
> 
> So, fair enough, but how long (exactly what are the basics) do you
> read before you go to the lab and play? Labs are always more fun
> than classrooms, lectures and stuffy old farts.(gotcha!) ?
> 
> 
> cheers,
> James

If you want to base it on programming, I would recommend the following as 
well:
http://beej.us/guide/bgnet/

--
Joost



Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-03 Thread Alan McKinnon
On 03/09/2015 03:16, James wrote:
> Alan McKinnon  gmail.com> writes:
> 
> 
>>> Last, I suggest a parallel learning of C/C++ as it really helps 
> 
>> ^this^, after the basics are fully mastered.
> 
>> netmasks make no sense at all until bitwise operators are fully
>> understood. Even CIDR notation is not really obvious until you
>> understand what languages like C do with the 32 bit words we call IP
>> addresses. All x10 when IPv6 comes into play
> 
> 
> Huh. I find teaching networking, including the intricacies  of advanced
> protocol design, implementation and debugging, are far simpler if
> folks know at least one programming language. Bit manipulations
> are but one part of logic, sequential circuits timing and such
> of the Computer Engineer's domain.  In my experience, if folks read too
> much, but do not play with some codes  on actual hardware, it all becomes a
> giant nebula. I guess I just like the practical side of these issues, to get
> folks hooked on hardware.

Yes, knowing at least one language is key

> 
> 
> How a serial port (rs_232) works and the putting ppp over that is very
> keen for teaching networking. ymmv. You can also use a protocol analyzer to
> see some cool things. Many codes are published and looking at how a
> microprocessor handles basic packets is very stimulating and encouraging.
> Too bad most kids now days do not get to work on embedded hardware and build
> up an executive or state machine and send/recieve data over interfaces. 
> Granted I worked in the world where assembler was
> king (embedded) and assembler folks learning C and tcp/ip were easily amazed
> and happy to migrate from assembler to C.

I think the critical thing is to have a good grasp of what the
technology you use is built on.

C is a thin wrapper around assembly so to master C you should know cpu
instructions, logic and at lest something about hardware. I don't
believe it's possible or desirable to completely abstract something like
C away from those things and still use it well. It's C, not the ISO 7
layer model

> 
> As Joost pointed out, I guess it really depends on the background of
> the student. Being a hardware guy, I guess my focus is tainted

I'm a hardware and electronics guy too. I spent hours in college
building circuits with breadboards, 74xx TTL chips and bits of wire
before they'd let me move onto the next thing

> 
> So, fair enough, but how long (exactly what are the basics) do you
> read before you go to the lab and play? Labs are always more fun
> than classrooms, lectures and stuffy old farts.(gotcha!) ?

The raspberry pi was specifically built to get back to those old days,
the main designers were from the BBC micro era.

Which I think is a wonderful idea.

> 
> 
> cheers,
> James
> 
> 
> 
> 
> 
> 


-- 
Alan McKinnon
alan.mckin...@gmail.com




[gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-02 Thread James
Alan McKinnon  gmail.com> writes:


> > Last, I suggest a parallel learning of C/C++ as it really helps 

> ^this^, after the basics are fully mastered.

> netmasks make no sense at all until bitwise operators are fully
> understood. Even CIDR notation is not really obvious until you
> understand what languages like C do with the 32 bit words we call IP
> addresses. All x10 when IPv6 comes into play


Huh. I find teaching networking, including the intricacies  of advanced
protocol design, implementation and debugging, are far simpler if
folks know at least one programming language. Bit manipulations
are but one part of logic, sequential circuits timing and such
of the Computer Engineer's domain.  In my experience, if folks read too
much, but do not play with some codes  on actual hardware, it all becomes a
giant nebula. I guess I just like the practical side of these issues, to get
folks hooked on hardware.


How a serial port (rs_232) works and the putting ppp over that is very
keen for teaching networking. ymmv. You can also use a protocol analyzer to
see some cool things. Many codes are published and looking at how a
microprocessor handles basic packets is very stimulating and encouraging.
Too bad most kids now days do not get to work on embedded hardware and build
up an executive or state machine and send/recieve data over interfaces. 
Granted I worked in the world where assembler was
king (embedded) and assembler folks learning C and tcp/ip were easily amazed
and happy to migrate from assembler to C.

As Joost pointed out, I guess it really depends on the background of
the student. Being a hardware guy, I guess my focus is tainted

So, fair enough, but how long (exactly what are the basics) do you
read before you go to the lab and play? Labs are always more fun
than classrooms, lectures and stuffy old farts.(gotcha!) ?


cheers,
James








[gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-02 Thread James
Francisco Ares  gmail.com> writes:

> 
> Hi,
> Sorry for such WAY out of topic message, but Gentoo users are also way out
of regular computer users.
> 
> I intend to learn more deep details about networking intrinsics, (packets,
ports, negotiation, UDP, multicast, unicast, TCP, ethernet, DHCP, protocols,
and so on) so I decided to recur to this list.  Googling the terms, just
gets me to network administration and equipment interconnection.
> 
> Any hints on web resources for this research?
> 
> Thanks a lot and 
> 
> Best Regards,
> Francisco
> 


You can always build your own router, and learn about those internals
as they come up while setting up your home router. All you need
are some old PC parts laying around, gentoo and this guide [1].
Iptables if a really cool network applications as is Network Address
Translation (NAT).


Also reading key "RFCs" is the way to go [2]. But try not to get hung up
On the really cool RFCs like OSPF or SIP, as they are ever evolving
and looking at sources it actually better.


Last, I suggest a parallel learning of C/C++ as it really helps with
unix/linux/networking if can look at software sources and see what is going 
on. Bash and Python are really important too. It's a lifelong journey, so
relax and enjoy the experiences and try not to get frustrated. 


hth,
James

[1] https://wiki.gentoo.org/wiki/Home_Router

[2] https://en.wikipedia.org/wiki/List_of_RFCs

Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals

2015-09-02 Thread Alan McKinnon
On 02/09/2015 22:57, James wrote:
> Last, I suggest a parallel learning of C/C++ as it really helps with
> unix/linux/networking if can look at software sources and see what is going 
> on.

^this^, after the basics are fully mastered.

netmasks make no sense at all until bitwise operators are fully
understood. Even CIDR notation is not really obvious until you
understand what languages like C do with the 32 bit words we call IP
addresses. All x10 when IPv6 comes into play


-- 
Alan McKinnon
alan.mckin...@gmail.com