2012-10-25 50 views
0

从技术上讲,我是一个网络新手。我需要正确理解它是如何组织起来的,以便在整个这个大领域的地方组织我的学习。我了解了网络结构,节点和协议(感知级别),我发现数据包过滤和路由是通过Erlang,C,Linux命令中的代码完成的。现在有点困惑,如果我跳进来,希望能够说,在现有的路由器中实现新功能。 我真的需要知道什么?什么编程教程最能帮助我正确理解这个编程领域(从我所见过的C,Linux,Erlang)通常嵌入的程序。数据包过滤,IpTables和路由

所以有人可以帮助澄清所有这些事情是如何缝合在一起的技术术语,编程的角度看,如何处理是在这一领域的程序员(修改路由器的东西),推荐教程

感谢,任何帮助非常感谢。

ps。我不是在这里捎带,我在这里和那里读了一些东西,但它们都没有直接相互关联,也没有找到能够将它全部付诸实践的东西。

回答

3

你希望TCP/IP Illustrated由理查德W.史蒂文斯晚期。

+0

......和“网络编程”由同一作者。 –

+0

我会检查一下,我现在还发现在组件方面需要更多细节,数据如何在背板中移动,转发引擎,那些路由器SCxXxX,哪里添加了什么,RO,仍然是同一本书的权利:D? – TrackmeifYouCan

+0

@TrackmeifYouCan我不知道你在说什么。听起来像是特定路由器或防火墙解决方案的实施细节。 –

0

而在编程方面,你应该从socket编程开始,尽管使用任何语言。同样的理查德史蒂文斯Unix网络编程第1卷是一个很好的参考。

网络编程只能在图层中学习。除非你很好地理解应用层,否则你不应该期望知道传输层,并且通过网络层一直到物理层都一样。

3

为什么你认为包过滤很重要?除非您计划开发网络嗅探器,否则这与大多数应用程序无关。

网络编程的典型方法是使用套接字,尽管这对于大多数应用来说有点太低级和原始。有更高级的框架更适合特定的场景。例如,许多人使用套接字时,他们需要的只是整个网络中的IPC。在这种情况下,最好在Java中使用RMI(远程方法调用)或者在C++中使用DCOM(分布式组件对象模型)(我相信在.NET中有类似的东西)。

所以你看,网络编程是关于抽象和分层的。即使使用原始TCP,也会使用抽象,因为TCP分层建立在IP之上,IP分层建立在以太网之上。

+0

不确定您是否会收到有关此评论的通知,但我的印象是我需要?找到这个新东西之后,你觉得我做得到吗? “我现在还发现在组件方面需要更多细节,数据如何在背板,转发引擎,路由器SCxXxX,增加的地方,RO等等方面发生变化,仍是同样的道理: D? – TrackmeifYouCan