这个问题是学习vlan很基础的一个问题,初学者可能不是很理解其中技术理论。因此要弄清楚,我们先说基础。

首先得明白lan是咋回事,说白了lan就是一台交换机或者多台级联交换机的交换机群,当然这些交换机都是纯二层的。

这样连接到这个lan内任何一台交换机任意一个埠的主机,都是在一个lan内,如果它们ip地址网段相同,可以相互通信。

不过这也带来一个问题,就是连接到这个lan内的主机都在一个广播域,啥意思?比如一台主机发了一个广播,其他所有人都能听到。如果大家都发广播,干扰别人,也浪费交换机带宽。

因为可能发起人并不想所有人都听到,只希望连到这个lan内到部分人听到。怎么做?

这个时候就在这个lan上所有交换机启用vlan,即虚拟的lan。这样就可以在一个lan内部实现多个不同的vlan,最多4094个。

我们可以把在相同广播域内的主机放到同一个vlan,这样要广播的话,在自己vlan内广播就好,其他vlan啥事也没有,不影响其他vlan的主机。也就是vlan的二层隔离作用。

但具体的实现呢,可以给每台交换机各发一个vlan号,具有相同vlan号的主机就可以收到彼此的广播了,不同vlan号的就不受别的vlan影响。

不过呢,主机如果数量巨大的话,工作量不是很大?而且如果有的主机,有时候需要换vlan号,维护工作也不少。

因此大多数情况下,我们的vlan号是在交换机埠上配置的,这样分配埠号的工作,就到交换机上了,而且交换机群都是网工建设和维护,他们可以统一划分和维护。

连接到具有相同vlan号埠的主机就在一个广播域了,连接到不同vlan号埠的主机就二层隔离了。

完美!!!在不用改变原来同一lan内交换机群物理连接情况下,用vlan解决了lan的广播问题,把广播范围局限在交换机的具有相同vlan号的埠上,而不是所有埠。

有了上面基础,再说问题答案,同一交换机不同埠,一个在vlan10,一个在vlan20(请允许我们这么理解,因为题主没说清楚是同一交换机同一埠,还是同一交换机不同埠)。

很明显这两个埠vlan号不同,因此连接到这两个埠的主机,都不能收到各自的广播,也就是它们各自发出来的广播数据,不能被彼此收到。

这也导致即使它们的ip地址在同一个网段(即子网),也不可能ping通。具体细节,涉及到arp,路由,不写了。知道这个结果就好。

再说一下,同一交换机同一埠情形,你在vlan10,我在vlan20,怎么理解?都同一个埠了,哪来的你我?

估计这个你我不是指交换机埠吧。或者是哪个老师随口提了一下,导致题主疑惑。

但是同一个埠,可以既在vlan10,也在vlan20的,也就是说这个埠既可以处理vlan10的数据,也可以处理vlan20的数据,说是处理,其实就是转发。

这样的的埠,有个名字叫trunk口,用在交换机和交换机直连情况。而上文中提到连接主机的埠,只有一个vlan号,我们称之为access口。

总结下,access口用于交换机连接主机,只有一个vlan号;trunk口用于交换机连接交换机,一般有多个vlan号。

当然了trunk口,你就只给它一个vlan号,也没问题,多个更是没话说。但access口,你就只能给它一个vlan号,多了可不行。

还有就是trunk口连主机,access口连交换机,也是可以的,不过那是特殊场景。初学者掌握通用场景即可。

手机码字,半个小时,累死......


信息不足,判断起来话太多。


言下之意我们不在一个广播域


「匪我愆期,子无良媒。」

说明少了个媒人(指单臂路由)。


物理拓扑上虽然用的同一个LAN介面,但逻辑拓扑上是两个不同的LAN。你(VLAN10)和我(VLAN20)之间,不同的区域网间要通信,就得需要路由,单靠交换机是不行的(三层交换机除外)。这个意思就是说,虽然通过了同一台交换机埠,我们到底还是不同网路,只得通过上层设备(路由器一类)来完成通信(例如单臂路由);所以我们广播出来的packet就相互看不到(因为不在同一网路,所以不是同一广播域),结果就是更安全,网路里面的traffic更少,通信效率提高。


推荐阅读:
相关文章