Gentoo Archives: gentoo-user

From: Francisco Ares <frares@×××××.com>
To: gentoo-user <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals
Date: Thu, 03 Sep 2015 19:47:02
Message-Id: CAHH9eM5L8aZb2K21-Z+vOnJFav9RftoufoNxoMjO-agUGAutfQ@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals by Alan McKinnon
1 2015-09-03 6:51 GMT-03:00 Alan McKinnon <alan.mckinnon@×××××.com>:
2
3 > On 03/09/2015 03:16, James wrote:
4 > > Alan McKinnon <alan.mckinnon <at> gmail.com> writes:
5 > >
6 > >
7 > >>> Last, I suggest a parallel learning of C/C++ as it really helps
8 > >
9 > >> ^this^, after the basics are fully mastered.
10 > >
11 > >> netmasks make no sense at all until bitwise operators are fully
12 > >> understood. Even CIDR notation is not really obvious until you
13 > >> understand what languages like C do with the 32 bit words we call IP
14 > >> addresses. All x10 when IPv6 comes into play
15 > >
16 > >
17 > > Huh. I find teaching networking, including the intricacies of advanced
18 > > protocol design, implementation and debugging, are far simpler if
19 > > folks know at least one programming language. Bit manipulations
20 > > are but one part of logic, sequential circuits timing and such
21 > > of the Computer Engineer's domain. In my experience, if folks read too
22 > > much, but do not play with some codes on actual hardware, it all
23 > becomes a
24 > > giant nebula. I guess I just like the practical side of these issues, to
25 > get
26 > > folks hooked on hardware.
27 >
28 > Yes, knowing at least one language is key
29 >
30 > >
31 > >
32 > > How a serial port (rs_232) works and the putting ppp over that is very
33 > > keen for teaching networking. ymmv. You can also use a protocol analyzer
34 > to
35 > > see some cool things. Many codes are published and looking at how a
36 > > microprocessor handles basic packets is very stimulating and encouraging.
37 > > Too bad most kids now days do not get to work on embedded hardware and
38 > build
39 > > up an executive or state machine and send/recieve data over interfaces.
40 > > Granted I worked in the world where assembler was
41 > > king (embedded) and assembler folks learning C and tcp/ip were easily
42 > amazed
43 > > and happy to migrate from assembler to C.
44 >
45 > I think the critical thing is to have a good grasp of what the
46 > technology you use is built on.
47 >
48 > C is a thin wrapper around assembly so to master C you should know cpu
49 > instructions, logic and at lest something about hardware. I don't
50 > believe it's possible or desirable to completely abstract something like
51 > C away from those things and still use it well. It's C, not the ISO 7
52 > layer model
53 >
54 > >
55 > > As Joost pointed out, I guess it really depends on the background of
56 > > the student. Being a hardware guy, I guess my focus is tainted....
57 >
58 > I'm a hardware and electronics guy too. I spent hours in college
59 > building circuits with breadboards, 74xx TTL chips and bits of wire
60 > before they'd let me move onto the next thing
61 >
62 > >
63 > > So, fair enough, but how long (exactly what are the basics) do you
64 > > read before you go to the lab and play? Labs are always more fun
65 > > than classrooms, lectures and stuffy old farts.............(gotcha!) ?
66 >
67 > The raspberry pi was specifically built to get back to those old days,
68 > the main designers were from the BBC micro era.
69 >
70 > Which I think is a wonderful idea.
71 >
72 > >
73 > >
74 > > cheers,
75 > > James
76 > >
77 > >
78 > >
79 > >
80 > >
81 > >
82 >
83 >
84 > --
85 > Alan McKinnon
86 > alan.mckinnon@×××××.com
87 >
88 >
89 >
90 Me, too, a hardware guy, but having to learn high level stuff. Here at the
91 company that work for, we had a programmer a couple of years ago, that has
92 gone for a better opportunity. So I got his load.
93
94 Blinking a bunch of LEDs is where I started. The first ones with simple
95 transistors, resistors and capacitors, TTLs were next, and then, finally, a
96 Z80 with an UV EPROM, having to be programmed at the university lab in a
97 terribly monstrous gig - there was a teletype (remember those?) where a
98 paper tape had to be punched with the byte codes, hand assembled from
99 mnemonics, the tape transferred to another part where it was read while the
100 bytes been burnt to the EPROM; if one missed or twisted a byte, everything
101 had to be done again, program tapes being literally patched over and over.
102 Nowadays it all look very funny, but not at all on those days with a final
103 degree project deadline approaching ;-)
104
105 Thanks for the opportunity for an old story to be remembered.
106 Francisco

Replies

Subject Author
Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals Alan McKinnon <alan.mckinnon@×××××.com>