Linux内核网络与内存管理技术解析
网络模块与协议处理
在网络模块方面,我们可以通过特定的方式实现一些有趣的网络功能。例如,通过注册ARP和IP协议处理程序,能够实现对特定帧的接口替换。具体步骤如下:
1. 定义ARP和IP协议处理程序,并将它们的设备设置为父接口,以确保只从父接口捕获帧。
arp_proto.dev = ip4_proto.dev = priv->parent;
dev_add_pack(&arp_proto);
dev_add_pack(&ip4_proto);
- 每个处理程序需要对帧进行处理,仅对接收方IP与接口IP匹配的帧进行接口替换。
利用这样的模块,我们可以实现一些实用的功能,比如同时打开到主机的两个并行SSH会话,分别使用不同子网的IP地址,但实际上共享同一个物理接口。
$ ssh olej@192.168.50.17
olej@192.168.50.17's password:
Last login: Mon Jul 16 15:52:16 2012 from 192.168.1.9
...
$ ssh olej@192.168.56.101
olej@192.168.56.101's password:
Last login: Mon Jul 16 17:29:57 2012 from 192.168.50.1
...
在传输层协议方面,Linux内核支
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



