Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals
Date: Thu, 03 Sep 2015 09:51:35
Message-Id: 55E81810.1030506@gmail.com
In Reply to: [gentoo-user] Re: [WAY OT] wanna learn networking internals by James
1 On 03/09/2015 03:16, James wrote:
2 > Alan McKinnon <alan.mckinnon <at> gmail.com> writes:
3 >
4 >
5 >>> Last, I suggest a parallel learning of C/C++ as it really helps
6 >
7 >> ^this^, after the basics are fully mastered.
8 >
9 >> netmasks make no sense at all until bitwise operators are fully
10 >> understood. Even CIDR notation is not really obvious until you
11 >> understand what languages like C do with the 32 bit words we call IP
12 >> addresses. All x10 when IPv6 comes into play
13 >
14 >
15 > Huh. I find teaching networking, including the intricacies of advanced
16 > protocol design, implementation and debugging, are far simpler if
17 > folks know at least one programming language. Bit manipulations
18 > are but one part of logic, sequential circuits timing and such
19 > of the Computer Engineer's domain. In my experience, if folks read too
20 > much, but do not play with some codes on actual hardware, it all becomes a
21 > giant nebula. I guess I just like the practical side of these issues, to get
22 > folks hooked on hardware.
23
24 Yes, knowing at least one language is key
25
26 >
27 >
28 > How a serial port (rs_232) works and the putting ppp over that is very
29 > keen for teaching networking. ymmv. You can also use a protocol analyzer to
30 > see some cool things. Many codes are published and looking at how a
31 > microprocessor handles basic packets is very stimulating and encouraging.
32 > Too bad most kids now days do not get to work on embedded hardware and build
33 > up an executive or state machine and send/recieve data over interfaces.
34 > Granted I worked in the world where assembler was
35 > king (embedded) and assembler folks learning C and tcp/ip were easily amazed
36 > and happy to migrate from assembler to C.
37
38 I think the critical thing is to have a good grasp of what the
39 technology you use is built on.
40
41 C is a thin wrapper around assembly so to master C you should know cpu
42 instructions, logic and at lest something about hardware. I don't
43 believe it's possible or desirable to completely abstract something like
44 C away from those things and still use it well. It's C, not the ISO 7
45 layer model
46
47 >
48 > As Joost pointed out, I guess it really depends on the background of
49 > the student. Being a hardware guy, I guess my focus is tainted....
50
51 I'm a hardware and electronics guy too. I spent hours in college
52 building circuits with breadboards, 74xx TTL chips and bits of wire
53 before they'd let me move onto the next thing
54
55 >
56 > So, fair enough, but how long (exactly what are the basics) do you
57 > read before you go to the lab and play? Labs are always more fun
58 > than classrooms, lectures and stuffy old farts.............(gotcha!) ?
59
60 The raspberry pi was specifically built to get back to those old days,
61 the main designers were from the BBC micro era.
62
63 Which I think is a wonderful idea.
64
65 >
66 >
67 > cheers,
68 > James
69 >
70 >
71 >
72 >
73 >
74 >
75
76
77 --
78 Alan McKinnon
79 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] Re: [WAY OT] wanna learn networking internals Francisco Ares <frares@×××××.com>