0

从技术上讲,我是网络方面的新手。我需要正确理解所有这些是如何组合在一起来组织我的学习的,就像在这个大领域的所有地方一样。我已经了解网络结构、节点和协议(感知级别) 我看到数据包过滤和路由是通过 Erlang、C、Linux 命令中的代码完成的。我现在有点困惑,如果我加入并希望让我们说,在现有路由器中实现一个新功能。我真正需要知道什么?哪些编程教程最能帮助我正确理解这个编程领域(根据我所见,它是 C、Linux、Erlang)通常是嵌入式程序。

所以有人可以帮助澄清所有这些东西是如何在技术术语中拼接在一起的,编程视角,如何在这个领域成为一名程序员(修改路由器的东西),推荐教程

谢谢,任何帮助表示赞赏。

附言。我不是在这里捎带,我在这里和那里阅读了一些东西,但它们彼此之间没有直接关系,无法找到将其全部付诸实践的东西。

4

3 回答 3

4

你想要由已故的 Richard W. Stevens绘制的TCP/IP 。

于 2012-10-25T19:34:30.963 回答
3

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

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

所以你看,网络编程都是关于抽象和分层的。即使您使用原始 TCP,您也将使用抽象,因为 TCP 位于 IP 之上,而 IP 位于以太网之上。

于 2012-10-25T19:52:41.003 回答
0

在编程方面,您应该从套接字编程开始,尽管可以使用任何语言。同样的 Richard Stevens Unix Networking Programming Vol 1 是一个很好的参考。

网络编程只能分层学习。除非您很好地了解应用层,否则您不应该期望了解传输层,并且同样会通过网络层一直到物理层

于 2012-10-25T19:42:56.863 回答