C 包过滤、IpTables和路由

C 包过滤、IpTables和路由,c,linux,routing,erlang,ip,C,Linux,Routing,Erlang,Ip,从技术上讲,我是一名网络新手。我需要正确理解这一切是如何组合起来组织我的学习的,因为我在这个大领域里到处都是。我已经了解了网络结构、节点和协议(感知级别),我看到包过滤和路由是通过Erlang、C、Linux命令中的代码完成的。我现在有点困惑,如果我想在现有路由器上实现一个新功能。 我真正需要知道什么?什么样的编程教程最能帮助我正确理解这个编程领域(从我所看到的C、Linux、Erlang)通常是嵌入式程序 那么,有人能帮我澄清一下这些东西是如何在技术术语、编程视角、如何在这个领域成为程序员(修

从技术上讲,我是一名网络新手。我需要正确理解这一切是如何组合起来组织我的学习的,因为我在这个大领域里到处都是。我已经了解了网络结构、节点和协议(感知级别),我看到包过滤和路由是通过Erlang、C、Linux命令中的代码完成的。我现在有点困惑,如果我想在现有路由器上实现一个新功能。 我真正需要知道什么?什么样的编程教程最能帮助我正确理解这个编程领域(从我所看到的C、Linux、Erlang)通常是嵌入式程序

那么,有人能帮我澄清一下这些东西是如何在技术术语、编程视角、如何在这个领域成为程序员(修改路由器的东西)、推荐教程中结合在一起的吗

谢谢,谢谢你的帮助


注:我不是在这里背驮,我在这里和那里读了一些东西,但它们都不是直接相关的,没有能够找到将它们全部付诸实践的东西。

你想要已故的Richard W.Stevens。

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


网络编程只能分层次学习。除非您很好地理解了应用层,否则您不应该期望了解传输层,传输层也会通过网络层一直到物理层,为什么您认为包过滤很重要?除非你正计划开发一个网络嗅探器,否则它与大多数应用程序无关

进行网络编程的典型方法是使用套接字,尽管对于大多数应用程序来说,这有点太低级和原始。有更高级的框架更适合于特定的场景。例如,许多人在网络上只需要IPC时就使用套接字。在这种情况下,最好在C++中使用RMI(远程方法调用)在java或DCOM(分布式组件对象模型)中(我确信.NET中有类似的东西)。
你看,网络编程都是关于抽象和分层的。即使您使用原始TCP,您也会使用抽象,因为TCP是在IP之上分层的,IP是在以太网之上分层的。

我会检查一下,我现在还发现,我在组件方面寻找的更多细节,数据是如何在backklane、转发引擎、那些路由器SCxXxX中移动的,添加了什么,RO还是那本书对吧?我不知道你在说什么。听起来像是特定路由器或防火墙解决方案的实施细节。我不确定是否会收到有关此评论的通知,但我的印象是我有点需要?。找到新东西后,你觉得我会吗?“我现在还发现,我在寻找组件方面的更多细节,数据如何在backklane、转发引擎、那些路由器SCxXxX中移动,添加了什么,RO的,仍然是同一本书,对吗?