LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 877|回复: 5

请问:想实现两条线路的带宽合并必须要改内核吗?

[复制链接]
发表于 2004-8-3 13:29:28 | 显示全部楼层 |阅读模式
有几个问题不是很明白,
    1.一台机器装了两块网卡,eth0,eth1,分配两个ip,想实现如下功能: 在封装ip数据包时将数据包流量平均分配到两块网卡上(就是一个数据包从eth0以ip1发送,下一个数据包从eth1以ip2发送),这样做一定需要改内核吗?
    2.如果改的话,需要对哪些文件做改动?
    3.内核中的哪些文件是控制网卡输出的?
望高手指点一二,谢谢~~~
我的邮箱dx99j3@eyou.com
发表于 2004-8-3 13:35:25 | 显示全部楼层
那要看你想在那一层实现了,
如果你一定要在传输层或更低层实现就要改内核了
可是有这个必要吗?

你在应用程序中建两个socket, 一个绑定到eth0的IP地址,一个绑定到eth1的IP地址,
用你自己的规则处理分解及合并, Is that ok?
 楼主| 发表于 2004-8-3 13:48:41 | 显示全部楼层
谢谢,我接触linux不久~~
还有个问题:往ip报头的option字段添加内容可以在socket中操作吗?
发表于 2004-8-3 13:56:56 | 显示全部楼层
这个没干过,如果可以这么干的话(我不肯定)
这种底层操作一般用ioctl()

为什么一定要往那儿添东西呢?
 楼主| 发表于 2004-8-3 14:07:05 | 显示全部楼层
我想在tcp封装后,ip封装前在ip选项字段中添加一台机器的标识信息, 在数据接收端能把接收到的同一台机器但是由不同ip发送来的数据组装起来(由tcp序号)
发表于 2004-8-3 15:28:32 | 显示全部楼层
既然在应用层实现,你要设计你应用程序的包格式
里面包含相应的信息,包括机器标识,包序号等等
不要动不动就想改IP层的东西
IP层(网络层)和TCP层(传输层)的细节理论上是不需要知道的

还是要把网络的基础知识弄清楚,否则你这个程序编得太累了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表