Reputation: 108
I am a rookie in networking technically speaking. I need a proper understanding of how it's all put together to organise my learning as am all over the place in this big field. I have understood the network structure,nodes and protocols(awareness level) I see that packet filtering and routing is done via codes in Erlang,C, Linux commands. Am kind of confused right now, If am jumping in and hoping to let's say, implement a new feature in an existing router. What do I really need to know ? what programming tutorials will best help me get a proper understanding of this programming niche(From what I've seen it's C,Linux,Erlang) the usually embedded programs.
So can someone please help clarify how all those things are stitched together in the technical terms,programming perspective, how to approach being a programmer in this field(modifying router stuff), recommended tutorials
Thanks, any help is appreciated.
ps. am not piggybacking here, I read some things here and there but they were all not directly relevant to each other, haven't been able to find something that puts it all into practice.
Upvotes: 0
Views: 668
Reputation:
Why do you think packet filtering is important? It's not relevant for most apps unless you're planning on developing a network sniffer.
The typical way to do network programming is with sockets, though that's a little too low-level and primitive for most applications. There are higher-level frameworks that are better suited for specific scenarios. For example, many people use sockets when all they need is IPC across the network. In that case it would be better to use RMI (Remote Method Invocation) in Java or DCOM (Distributed Component Object Model) in C++ (I'm sure there's something similar in .NET).
So you see, network programming is all about abstracting and layering. Even if you use raw TCP you would be using an abstraction, because TCP is layered on top of IP, and IP is layered on top of Ethernet.
Upvotes: 3
Reputation: 5535
And in terms of programming you should start with socket programming albeit in any language. The same Richard Stevens Unix Networking Programming Vol 1 is a great reference.
Network programming can only be learnt in layers. Unless you understand application layer well, you shouldn't expect to know transport layer and same goes through network layer all the way down to physical
Upvotes: 0