当前位置: 首页 > 编程日记 > 正文

同时使用多网卡提升树莓派网络利用率

树莓派 3 自带的有线网卡是 100M 的,无线网卡是 72M 的,都比较慢。想提升网速的话,最直接的方法是使用 usb 网卡,千兆的有线网卡或者 450M 以上的 2.4GHz 无线网卡或者 5GHz 无线网卡。但因为树莓派 3 的 usb 接口是 2.0 的,而且 tf 卡也要共享带宽,所以也提升不了太多,而高速的 usb 网卡也不便宜(千兆 usb 有线网卡最便宜大概要 50 多,450M 以上的 usb 无线网卡更贵),而且大家手头上通常没有闲置的,为此购买不大值得。

那么一个间接的方法是同时使用有线和无线网卡,这样合理使用的话速度可以叠加。因为我有一个闲置的 300M usb 无线网卡,所以将它和内置有线网卡一起使用(因为测试过,它和内置无线网卡一起使用的话,会互相影响,速度反而更慢,所以不用内置无线网卡了),这样理论上就有 400M 的带宽了,当然实际上达不到。

但一起使用的话需要一些技术手段,如果只是(在同一个网段)简单启用双网卡,虽然两个 ip 地址都能用,但实际上只有一个网卡会工作,因为所有的流量都走到了路由表里第一个网卡了,这样肯定是不行的。那么大致有如下几个方法:
1、两个网卡分别接入不同的网段。
2、两个网卡绑定在一起使用。
3、配置路由表,让两个网卡在同一个网段可以同时使用。

因为我的网络环境很简单,只有一个路由器和一个网段,所以方法 1 我就不考虑了。但如果有两个网段的话,方法 1 是最简单的。开始时我想使用方法 2,将两个有线网卡绑定到一起来共享 1 个 ip 是比较简单的,但将一个有线网卡和一个无线网卡绑定到一起,则麻烦很多,网上资料也比较杂乱。另外因为我配置也是通过 ssh 进行的,不能把网络连接搞断了。还好我还有内置无线网卡可以使用,如果一共只有两个网卡,那几乎就没办法配置了。但即使这样也很麻烦,最后几经尝试都以失败告终。

最后只能使用方法 3。方法 3 的好处是配置简单,但缺点是使用起来比较麻烦,需要自己来做负载均衡,不过灵活性比较高。

我路由器地址是 192.168.1.1,有线网卡是 eth0,无线网卡是 wlan0,在路由器上分别绑定到 192.168.1.6 和 192.168.1.7。那么在两个网卡都连接上后,只需要执行这样一个脚本,就可以让两个网卡同时工作了:

ip route add 192.168.1.0/24 dev eth0 src 192.168.1.6 table 100
ip route add default via 192.168.1.1 dev eth0 table 100
ip rule add from 192.168.1.6 lookup 100ip route add 192.168.1.0/24 dev wlan0 src 192.168.1.7 table 200
ip route add default via 192.168.1.1 dev wlan0 table 200
ip rule add from 192.168.1.7 lookup 200

具体效果是通过 192.168.1.6 访问树莓派会走有线网卡,通过 192.168.1.7 访问树莓派会走无线网卡。如果从树莓派下载多个文件,可以通过轮询或者随机选择 ip 来生成文件地址列表文件,然后使用 aria2c -i 文件列表 来下载,就可以同时使用两个网卡了。

如果是在树莓派往外连接,还是要看路由表里哪个网卡在前边(用 ip route 命令查看,一般有线网卡在前边),另外也可以在命令里指定网卡,比如用 curl --interface eth0 或者 wget --bind-address 192.168.1.6

可以使用了后,重点就是速度能提升多少了。在我的环境,从树莓派往电脑下载文件,树莓派内置有线网卡能达到 11.3 MB/s,300M 的无线网卡,速度最快能达到 21 MB/s 出头,但不稳定,容易降到十几兆。一起使用的话,最快可以达到 30 MB/s 出头,但容易降到 25 - 26 MB/s。效果还是非常明显的。

相关文章:

Python培训基础教程都教哪些

根据相关数据统计,目前学习Python技术的同学大多数是零基础,都是从其他行业转型来学习的,那么Python培训基础教程都教哪些呢?好不好学呢?来看看下面的详细介绍。 Python培训基础教程都教哪些? 1、面向对象 类和对象、类的定义格式、添加和…

sqlce wp from查询语句详解

http://msdn.microsoft.com/zh-cn/library/bb383978(vvs.110).aspx from 子句(C# 参考) Visual Studio 2012其他版本此主题尚未评级 - 评价此主题[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。] 查询表达式必…

【直播】王茂霖:二手车交易价格预测-千变万化特征工程(河北高校数据挖掘邀请赛)

二手车交易价格预测-千变万化特征工程 目前 河北高校数据挖掘邀请赛 正在如火如荼的进行中。为了大家更好的参赛,王茂霖分享了 从0梳理1场数据挖掘赛事!,完整梳理了从环境准备、数据读取、数据分析、特征工程到数据建模的整个过程。04月20日晚…

微软在C# 8中引入预览版可空引用类型

微软已经为开发者提供了预览版的可空引用类型(Nullable Reference Type),想尝鲜的开发者可以尝试这个新特性,并提供反馈。\\预览版可空引用类型是Visual Studio 2017 15.5 Preview 4的Roslyn扩展,现在支持.NET框架&…

制作ui设计作品集要注意哪些

UI设计作品集的作用是非常大的,不要小看,它可以用来展示自身的UI设计实力,参加完UI设计培训后找工作当然也是非常重要的一个环节,下面小编就为大家详细的介绍一下制作ui设计作品集要注意哪些问题? UI设计培训分享:制作…

[转] 理解RESTful架构

FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高…

【直播】陈安东,但扬:CNN模型搭建、训练以及LSTM模型思路详解

CNN模型搭建、训练以及LSTM模型思路详解 目前 Datawhale第24期组队学习 正在如火如荼的进行中。为了大家更好的学习“零基础入门语音识别(食物声音识别)”的课程设计者 陈安东和但扬杰,将为大家带来一场直播分享 —— CNN模型搭建、训练以及L…

参加Java培训需要注意哪些

想要学好java技术,靠自学是非常困难的,通过java培训机构进行系统的学习是最好的,那么参加Java培训需要注意哪些呢?来看看下面的详细介绍。 参加Java培训需要注意哪些?大概整理了下面几点。 1、要有与时俱进且完整沉浸的课程体系。 IT培训的…

JDBC操作MySQL Lob字段记实

JDBC操作MySQL Lob字段记实虽然Java的持久化框架多如牛毛,但都离不开JDBC技术,JDBC在某些时候是其他框架难以取代的。也是java操作数据库最根本的技术。上文写了JDBC操作DB2 Lob字段bug问题,为此,我还特意写了MySQL平台下的Lob字段…

placeholder

打开一个那边发过来的页面,里面全是placeholder。没见过,一时气愤全部ko,用传统的方法都能搞定的东西,为啥要标新立异! 后来发现如果想在input password里显示个把汉字,还真是不容易,总不能让我…

【直播】李祖贤:集成学习答疑直播之五 -- 常用集成思路

集成学习答疑直播之五 – 常用集成思路 集成学习 是首个横跨3个周期的长期组队学习,在 第24期组队学习 中进行到“第二期-模型集成思路”阶段。组队学习期间,课程设计者每周针对学习任务的重难点和学员的学习情况进行集中直播答疑,目前已经进…

参加Python培训班能找到工作吗?

参加Python培训班能找到工作吗?很多人都比较关心这个问题,尤其是正在参加Python培训的同学,想要了解这个问题,我们必须从Python就业市场、Python就业班优劣以及个人学习效果三个大的方面进行分析。来看看下面的详细介绍。 参加Python培训班能…

HTTP协议Etag详解

HTTP协议规格说明定义ETag为“被请求变量的实体值”。另一种说法是,ETag是一个可以与Web资源关联的记号(token)。典型的Web资源可以一个Web页,但也可能是JSON或XML文档。服务器单独负责判断记号是什么及其含义,并在HTT…

【第13周复盘】小朋友们也开始卷了

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档&…

原生ajax+php上传图片的简单实现

前端 <input type"file" onclick"updown" accept"image/png,image/gif">//accept限制上传的类型<script> function upload1(obj){ var files obj.files ; var formData new FormData();$.ajax({url: download.php,type: "POS…

参加软件测试培训前景怎么样

软件测试在近几年的发展前景还是非常不错的&#xff0c;很多人都开始参加软件测试培训班学习技术&#xff0c;要想具体了解参加软件测试培训前景怎么样?来看看下面的详细介绍就知道了。 参加软件测试培训前景怎么样?各大招聘平台上&#xff0c;都能看到测试的影子&#xff0c…

如果你喜欢一个程序员小伙

程序员向来是善于幽默自嘲的群体&#xff0c;但从某种程度上影响了咱程序员在广大女同胞心中的印象啊&#xff5e;&#xff5e;于是写下此篇&#xff08;有从别处看到的3句加进来的&#xff09;&#xff0c; 就算是为咱程序员做个广告&#xff5e;&#xff5e;要是觉得有点过的…

遇到大容量磁盘你该怎么办?

GPT 磁盘分区&#xff1a;首先&#xff0c;你得有一块 GPT 分区的硬盘。小于 2 TB 的磁盘也可以转为 MBR 磁盘&#xff0c;但是大于 2 TB 的磁盘则需要使用 GPT 分区&#xff0c;否则大于 2 TB 的部分将被你封印。 挂载硬盘后&#xff0c;打开系统并以 root 身份登陆。这里博主…

如何解决Python3写入CSV出现‘gbk‘ codec can‘t encode的错误

今天&#xff0c;我在 Windows 上用 Python3 爬取知乎上有关中医的问答&#xff0c;但是在把爬取的内容写进CSV文件的时候&#xff0c;出现了以下异常。 UnicodeEncodeError: gbk codec cant encode character \u2630 in position 3969: illegal multibyte sequence经过上网查…

ui设计怎样做出有效果的视觉层级?

作为一名UI设计师&#xff0c;大家应该清楚的了解到每一款产品都有不同的风格和设计&#xff0c;但是每一款UI设计元素都是有通风之处的&#xff0c;如何能够做出有效的视觉层级&#xff0c;对用户的体验有着十分积极的影响。本期UI设计培训教程就为大家详细的介绍一下ui设计怎…

Java RandomAccessFile的使用

Java的RandomAccessFile提供对文件的读写功能&#xff0c;与普通的输入输出流不一样的是RamdomAccessFile可以任意的访问文件的任何地方。这就是“Random”的意义所在。 RandomAccessFile的对象包含一个记录指针&#xff0c;用于标识当前流的读写位置&#xff0c;这个位置可以向…

【组队学习】【24期】集成学习(中)

集成学习&#xff08;中&#xff09; 开源内容&#xff1a; https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning 基本信息 贡献人员&#xff1a;李祖贤、薛传雨、赵可、杨毅远、陈琰钰、李嘉骐学习周期&#xff1a;12天学习形式&a…

Android发布项目到外部仓库

为什么80%的码农都做不了架构师&#xff1f;>>> 关于android发布仓库到外部项目的文章&#xff0c;目前大概为分两类&#xff1a; 一种是发布到bintray、jcenter上&#xff0c;一种是将项目上传到github&#xff0c;然后利用jitpack自动打包&#xff0c;下面简单说…

Java零基础学习难吗

java编程是入行互联网的小伙伴们大多数的选择&#xff0c;那么对于零基础的小伙伴来说Java零基础学习难吗?如果你是初学者&#xff0c;你可以很好的理解java编程语言。并不困难。如果你的学习能力比较高&#xff0c;那么你对Java的理解会更快。而如果你恰巧已经掌握了c或c语言…

玩转“网上邻居”之网络配置(二)

接上篇二、混合系统网络目前实际应用中单一系统的对等网络已不是主流&#xff0c;主要是由于这种网络性能较低&#xff0c;缺乏很好看安全及网络管理能力。目前在各企事业单位中普遍应用的还是基于多系统的域结构混合网络。但因目前主流应用的系统比较多&#xff0c;所以各种网…

UVa 10180 - Rope Crisis in Ropeland!

题目链接&#xff1a;http://uva.onlinejudge.org/index.php?optioncom_onlinejudge&Itemid8&category41&pageshow_problem&problem1121 题意&#xff1a;给出两点坐标&#xff0c;用一条最短的线&#xff08;曲线或者直线&#xff09;连接起来&#xff0c;坐…

【组队学习】【24期】河北邀请赛(二手车价格预测)

河北邀请赛&#xff08;二手车价格预测&#xff09; 开源内容&#xff1a; https://github.com/datawhalechina/team-learning-data-mining/tree/master/SecondHandCarPriceForecast 数据挖掘实践&#xff08;二手车价格预测&#xff09;的内容来自 Datawhale与天池联合发起…

什么样的人合适学习Python?

什么样的人合适学习Python?近几年&#xff0c;关注Python技术的小伙伴越来越多&#xff0c;很多人都想知道Python培训好不好学?难不难学?哪些人适合学?来看看下面的详细介绍。 Python培训分享&#xff1a;什么样的人合适学习Python?想学好python&#xff0c;关键还是看三点…

Table doesn't have a primary key

从数据库取出来的数据&#xff0c;一般会放在一个DataTable中。但是&#xff0c;Insus.NET想实现一个小功能&#xff0c;就是在这个DataTable能快速找到某一行记录&#xff0c;来显示于asp.net页面上。这时我们可以使用DataTable的Find()成員函式來檢查資料是否已存在。但当Ins…

【组队学习】【24期】数据挖掘实践(智慧海洋)

数据挖掘实践&#xff08;智慧海洋&#xff09; 开源内容&#xff1a; https://github.com/datawhalechina/team-learning-data-mining/tree/master/wisdomOcean 基本信息 贡献人员&#xff1a;李运佳、李万业、赵信达、张晋、刘羽中、王贺、肖明远学习周期&#xff1a;12天…