在处理内核模块代码中的sk_buff时,我看到许多代码示例都使用
(struct iphdr *)skb_network_header(skb) //skb is an instance of (struct sk_buff*)
或者是实际上相同的函数ip_hdr() (调用skb_network_header并强制转换)。这个安全吗?如果我们对sk_buff的来源没有任何假设,是否可以进行检查以确保网络协议确实是IP?
编辑:到目前为止,可能会有一个sk_buff,唯一可能的网络协议是IP,但我仍然希望看到这方面的“证据”或解释。例如,如果我在Linux内核中实现自己的协议,而网络协议头可能
什么是分层通信协议?
我遇到了很多关于分层路由和分层协议的话题,这种分层结构的基本思想是在网络上提供匿名。这与“分层通信网络”有关系吗?
任何地方都没有分层通信协议的引用!在另一个地方,我看到整个网络被划分为区域,就像集群一样,集群内部和外部使用不同的协议。这也被称为层次结构!
那么,回到问题上来,什么是“分层通信协议”?[我随身带了一篇论文,题目是"Energy Efficient Hierarchical Cluster Based Communication Protocol for Wireless Sensor Networks with Base Station Mobil
我在openVPN机器上运行pfSense服务器,这台机器也是网络的路由器。这个网络有几个VLAN,其中只有一个是感兴趣的- 10.0.100.0/22。openVPN隧道网络使用10.0.101.0/24,并相应地设置所有规则。在我的例子中,我有机器A (10.0.100.2,linux),机器B (10.0.100.3)运行Windows和机器C (10.0.100.4),也运行linux。当我使用机器D (Windows,外部)建立VPN连接时,我得到了IP 10.0.101.2。
我能做的是:
来自D的Ping/SSH A
来自D的Ping B
来自A的Ping C
来自B的Ping/