路由器Lan、Wan短接问题
首先从vlan说起,最简单的说法就是虚拟局域网,相同vlan号的数据才能正常通信,不同vlan号的数据相互隔离。
交换机中的trunk,可以允许一个端口上面有多个vlan数据通过,但不同vlan之间还是隔离的。通常交换机与交换机之间连接,都用trunk模式。
交换机中的access模式,通常用来接终端设备,上面如果配了vlan,那么只能允许该vlan的数据通过。
以上基本要素说完,我们再说说路由器的原理。
如下图,0 1 2 3 4是路由器的物理端口,5是路由器的cpu。
我们把0 1 2 3 和5标记到一个vlan1里面,把4和5标记到另一个vlan2里面,这样0 1 2 3和4端口,实际是vlan隔离的,但是5这个cpu是同一个,可以负责把0 1 2 3的数据转发到4上面,又能把4上面的数据转发到0 1 2 3上面。为了能保证5能有多个vlan通过,所以给5打个t的标记,表示它是trunk。
这样一来,0 1 2 3就是我们的lan口,4就是wan口。
交换机中的trunk,可以允许一个端口上面有多个vlan数据通过,但不同vlan之间还是隔离的。通常交换机与交换机之间连接,都用trunk模式。
交换机中的access模式,通常用来接终端设备,上面如果配了vlan,那么只能允许该vlan的数据通过。
以上基本要素说完,我们再说说路由器的原理。
如下图,0 1 2 3 4是路由器的物理端口,5是路由器的cpu。
我们把0 1 2 3 和5标记到一个vlan1里面,把4和5标记到另一个vlan2里面,这样0 1 2 3和4端口,实际是vlan隔离的,但是5这个cpu是同一个,可以负责把0 1 2 3的数据转发到4上面,又能把4上面的数据转发到0 1 2 3上面。为了能保证5能有多个vlan通过,所以给5打个t的标记,表示它是trunk。
这样一来,0 1 2 3就是我们的lan口,4就是wan口。
玩过openwrt的同学,可以ssh上路由器,找到/etc/config/network这个文件,里面可以找到定义,你也可以修改定义的顺序,把wan变成lan,把lan变成wan。
那么,如果把wan口和lan口短接了,会怎么样?
首先,我们家用的路由器,没有把这几个端口定义成access模式,也可以认为交换机部分(就是4个lan口那部分),它是傻瓜型交换机,不带vlan管理功能。这个时候0 1 2 3端口,会允许vlan2的数据过来,使得它们既有vlan1数据,又有vlan2数据。随便插一个网口,既能是wan口,又能是lan口。所以才有了一根网线,既能拨号上外网,又能连终端设备提供内网。
顺道再来说说大家伙比较喜欢的带vlan管理的交换机。假设一个交换机有0
1 2 3 4 5 6 7这8个网口,我们可以在交换机里面进行设置。
我们把网口0设为vlan1,网口1设置为trunk模式,网口2 3 4 5 6 7设置为vlan2。
这时候连接的时候,单线复用的那根网线,就插到网口1上面,网口0和网口2
3 4 5 6 7根据自己的实际需要,设置成wan或者是lan都可以。
数据流向可以参照图中所示,vlan1和vlan2的数据在一根网线上过来经过网口1,vlan1的自动往网口0上面去,vlan2的自动往网口2 3 4 5 6 7上面去了,而网口0和网口2 3 4 5 6 7在交换机内部,属于不同vlan,是不能互相通信的。
这种配置之后,就能完美实现单线复用走不同数据流。
本文转自koolshare
原文链接:http://koolshare.cn/forum.php?tid=80158&extra=page%3D1&mod=viewthread