家用路由器之间的连接测试

前言

下面讨论一种家用路由器之间交换机的连接来进行上网。如果有一些概念不清楚,可以参考我之前的博文: [家用路由器内部计]http://www.cnblogs.com/tanhangbo/p/4504560.html

环境搭建

准备两个路由器,小米路由器有线连接Internet,TPLINK841N未连接任何网线。另外准备一台笔记本电脑。
小米路由器的管理地址/网关是 192.168.31.1
TPLINK841N的管理地址/网关是 192.168.1.1

单个路由器的情况

当我直接插上小米路由器之后,首先是DHCP流程,因为电脑原来是连接在192.168.2.1/24网段上面,所以它去请求旧的IP被NAK,随后它又开始做了一次dhcp。

随后就是ARP流程了,device询问网关的MAC地址,然后发送数据。

两个路由器的情况

当我将TPLINK841N的LAN口和小米路由器的LAN口连接,再将笔记本和TPLINK841N的LAN口连接的时候,会发生下面的现象:

这个现象是两个DHCP server抢着给我分配IP,最终TPLINK841N的胜出。可能是它offer的比较早,所以电脑优先去选它做Request。

多次插拔网线,现象也差不多。在这个情形下,小米路由器慢一拍也情有可原,因为还需要多走一条路。

固定IP方式

下面使用固定IP的方式进行连接。

设置完成之后,电脑宣告放弃自己的IP:

随后它就去问网关的MAC地址了,电脑随后就可以连接上Internet。

这时候尝试ping 192.168.1.1已经失败了,但是它在arp表里面。

目前的路由表项里面默认网关是192.168.31.1,我估计ping包默认发给这个网关地址,随后就发给了小米路由器了。

关闭DHCP server

在TPLINK841N里面关闭下面的选项,似乎会让它的DHCP server功能失效。电脑单独连接TPLINK841N,也没有见到DHCP交互。所以这样做的话,电脑就直接从小米路由器拿IP了。

干掉dnsmasq也可以得到同样的效果。

结论

两个路由器的连接,如果要偷懒直接交换过去,这样可能行不通,还是需要关闭下级路由器的DHCP server,或者设置好网段进行LAN-WAN连接。

来自为知笔记(Wiz)

时间: 2024-10-06 15:23:47

家用路由器之间的连接测试的相关文章

Docker学习笔记(9-2)Docker容器之间的连接

学习目标: 容器之间的连接 准备工作 FROM ubuntu:14.04 RUN apt-get install -y ping RUN apt-get update RUN apt-get install -y nginx RUN pat-get install -y curl EXPOSE 80 CMD /bin/bash #构建测试镜像 docker build -t lexiaofei/cct . 1.允许所有容器互联 --icc=true 默认 $ docker run -it --n

oracle表之间的连接之----->哈希连接(Hash Join)

哈希连接(HASH JOIN)是一种两个表在做表连接时主要依靠哈希运算来得到连接结果集的表连接方法. 对于排序合并连接,如果两个表在施加了目标SQL中指定的谓词条件后得到的结果集很大而且需要排序,则排序合并连接的执行效率一定不高:而对于嵌套循环连接,如果驱动表所对应的驱动结果集的记录数很大,即便在被驱动表的连接列上存在索引,此时使用嵌套循环连接的执行效率也会同样不高.为了解决这个问题,于是ORACLE引进了哈希连接.在ORACLE 10g及其以后的版本中,优化器 (实际上是CBO,因为哈希连接仅

oracle表之间的连接之------>排序合并连接(Merge Sort Join)

排序合并连接 (Sort Merge Join)是一种两个表在做连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的连接方法. 对于排序合并连接的优缺点及适用场景如下: a,通常情况下,排序合并连接的执行效率远不如哈希连接,但前者的使用范围更广,因为哈希连接只能用于等值连接条件,而排序合并连接还能用于其他连接条件(如<,<=,>.>=) b,通常情况下,排序合并连接并不适合OLTP类型的系统,其本质原因是对于因为OLTP类型系统而言,排序是非常昂贵的操作,当然,如

List集合之间的连接

之前学习数据库的时候总结过数据库中表和表之间的连接<数据库中多表的连接>,现在做的项目需要要调用其他系统WCF服务返回List集合,从自己系统再返回一部分集合,将这两种集合链接起来再将"连接的集合'返回到界面. 通过查阅资料,有两种方法可以实现List集合之间的连接:一种是利用Linq语句,另外一种是利用lamda表达式,现在总结一下: 数据实体: /// <summary> /// 考试实体 /// </summary> public class Exam

创建数据库之间的连接

数据库之间的连接:(db_link) 通过一台数据库查询另一台数据的数据 服务端: 开启监听 开启数据库fsdb 使用测试数据:system.xxx 表 客户端: 创建:tnsnames.ora  #tns 名字p1 登录到本地一台数据库(非fsdb) 创建db_link: create database link fsdb_link connect to system identified by oracle using 'p1'; #create database link db_link的

浅谈Oracle表之间各种连接

Oracle表之间的连接分为三种: 1.内连接(自然连接) 2.外连接 2.1.左外连接(左边的表不加限制,查询出全部满足条件的结果) 2.2.右外连接(右边的表不加限制,查询出全部满足条件的结果) 2.3.全外连接(左右两边表均不加限制) 3.自连接(同一张表内的连接) SQL的标准写法: select table1.column,table2.column from table1 [inner|left|right|full] join table2 on table1.column1 =

erlang与c之间的连接

http://blog.chinaunix.net/uid-22566367-id-382012.html erlang与c之间的连接参考资料:网络资料作者:Sunny    在Programming Erlang书上的第十二章中实现了elang与c语言之间的连接,本人觉得那个例子还是有点复杂,在此,本人举一个更简单的例子.而且在那本书上的Page 161第7行,有一个错误.书上写的是:    Port ! {PidC, {connect, Pid1}}    把端口连接进程PID从Pid1改为

Docker使用Link在容器之间建立连接

原文链接:Docker使用Link在容器之间建立连接 在使用Docker的时候我们会常常碰到这么一种应用,就是我需要两个或多个容器,其中某些容器需要使用另外一些容器提供的服务.比如这么一种情况:我们需要一个容器来提供mysql的数据库服务,而另外两个容器作为客户端来连接使用mysql数据库服务.下面我们就来看看Docker是怎样通过Link来实现这种功能的. 1. 这里我们首先创建两个容器image,一个用来模拟mysql数据库,另外一个使用mysql的client来模拟一些使用mysql服务的

msyql 连接测试问题

# msyql 连接测试问题 1.在db browser 里面的连接测试问题 出现 Communications link failure 错误 原因在于  Driver template 没有选择数据库类型 2.  出现Access denied for user  'root'@ localist (useing password :YES) 检查 账户和密码 3 .   Cannot load connection class beacause of underlying exceptio