标签: trunk

VLAN 是如何工作的?

什么是 VLAN?他们解决什么问题?

我正在帮助一个朋友学习基本的网络,因为他刚刚成为一家小公司的唯一系统管理员。我一直在向他指出与各种网络主题相关的 Serverfault 上的各种问题/答案,并注意到一个差距 - 似乎没有一个答案可以从第一原则解释什么是 VLAN。本着如何子网划分工作的精神,我认为在这里提出一个带有规范答案的问题会很有用。

答案中要涵盖的一些潜在主题:

  • 什么是 VLAN?
  • 他们打算解决什么问题?
  • 在 VLAN 出现之前,事情是如何运作的?
  • VLAN 如何与子网相关联?
  • 什么是 SVI?
  • 什么是中继端口和接入端口?
  • 什么是 VTP?

编辑:明确地说,我已经知道 VLAN 是如何工作的 - 我只是认为 Serverfault 应该有一个涵盖这些问题的答案。如果时间允许,我也会提交我自己的答案。

networking ethernet switch vlan trunk

142
推荐指数
2
解决办法
13万
查看次数

当消费者交换机收到带有 VLAN 标记的以太网帧时会发生什么?

假设您通过直接电缆将中继端口从支持 VLAN 的网络交换机连接到(不支持 VLAN 的)消费级网络交换机。现在,前一个交换机向后一个交换机发送一个 802.1Q 标记的以太网帧。后面的switch应该怎么做?掉帧?转发帧?未定义的行为?

如果行为未定义,最有可能的是什么?


编辑:谢谢你的回答。总而言之,消费者开关的行为取决于:

  1. 它如何处理0x8100EtherType 字段中的帧1
  2. 它如何处理巨型帧或有效载荷大于 1500 字节的帧

维基百科有一个很好的图表比较了未标记和标记的以太网帧:

以太网帧

有报道称,一些消费级交换机可以很好地传递带有 VLAN 标记的帧。

1或更准确地说,其中无标记帧需要 EtherType 字段

switch vlan 802.1 trunk

29
推荐指数
3
解决办法
2万
查看次数

Cisco 和 Linux 以及 Vlan

我似乎对 VLAN 在 Linux 上的工作方式有一些根本性的误解,我希望这里的好人可以教育我。

演员:一台 Cisco 3560、一台 VLAN 和一台 Linux 机器 [1]。

Cisco  ---------------  Linux
    ge0/1           eth0
Run Code Online (Sandbox Code Playgroud)

Cisco 有一个 Vlan 37 接口,IP 地址为 10.40.37.252/24。我想把 10.40.37.1/24 放在 Linux 机器上。

当 Cisco 解封 vlan 37 时,一切正常 [2]:

# Cisco 
interface Vlan37
    ip address 10.40.37.252/24

interface GigabitEthernet 0/1
    switchport mode access
    switchport access vlan 37

# Linux
ip link set eth0 up
ip addr add 10.40.37.1/24 dev eth0

$ ping 10.40.37.252 && echo It works
Run Code Online (Sandbox Code Playgroud)

但是,当我将端口设置为中继并在 Linux 端分配 vlan 37 时,它停止工作:

# …
Run Code Online (Sandbox Code Playgroud)

linux cisco vlan 802.1 trunk

9
推荐指数
1
解决办法
7247
查看次数

HP Procurve 问题通过链路传递多个 VLAN

刚开始时,我是一名思科人,被安排到 HP 项目中。

从外到内的基本拓扑概述:

  • ASA 5505 具有到 2610 交换机的两个以太网连接。
  • 然后,此交换机将中继*到一个 2626 交换机,在它们之间传递 vlan 1(未标记)和 100(标记)。(* - Cisco 对中继的定义,而不是 HP 对中继的定义)
  • 出于测试目的,我在两个 VLAN 的每个交换机上创建了 SVI。

我无法让 vlan 100 通过此链接。我还为连接到交换机的 AP 配置了中继,无法在 AP 上 ping vlan 100 BVI,但可以访问 vlan 1 BVI。

  • 接入层 2626 上的端口 25 物理连接到分布层 2610 的端口 A1。
  • STP 根本没有在任何交换机上运行(这不是我的网络,我无法更改,也没有设计此网络)

分销软件 2610:

MP1-0# show run
ip default-gateway 10.100.100.100
vlan 1
name "DATA"
untagged 1-22,24-A1,B1
ip address 10.100.100.6 255.255.255.0
no untagged 23
exit
vlan 100
name "GUEST"
untagged 23
tagged 24-A1
ip …
Run Code Online (Sandbox Code Playgroud)

hp vlan trunk hp-procurve

8
推荐指数
1
解决办法
4953
查看次数

Procurve 主 VLAN

我正在尝试降低 ProCurve 交换机上 VLAN 1 的使用率;1 未使用。我知道 VLAN 1必须存在,但我想从所有端口中删除它,尤其是交换机之间的中继。

我遇到的问题是,如果没有 VLAN 1,堆叠似乎无法工作。

我已经更改了所有交换机上的主 VLAN 和管理 VLAN:

(config)# primary-vlan 42
(config)# management-vlan 42
(config)# no vlan 1 untagged 25
Run Code Online (Sandbox Code Playgroud)

端口 25 是我正在测试的两台交换机之间的链接;堆叠主设备和成员交换机;我只想要交换机之间的标记流量,没有未标记的帧。

show stacking 在 master 上将所有成员显示为“UP”,但我无法远程登录其中任何一个:

Telnet failed: Connection timed out.
Run Code Online (Sandbox Code Playgroud)

所有交换机都在 VLAN 42 上手动分配了(静态)IP 地址,并且都存在于同一个 /25 子网中,我的桌面也是如此。我可以将交换机直接从我的桌面 telnet 到各个交换机的 IP 地址,而不是从主交换机。

我是否需要重新启动交换机才能使主 VLAN 更改生效?或者还有什么我想念的吗?

编辑:show vlans输出:

Status and Counters - VLAN Information

Maximum VLANs to support : 16                   
Primary VLAN : ADM   
Management VLAN : …
Run Code Online (Sandbox Code Playgroud)

hp vlan trunk hp-procurve

5
推荐指数
1
解决办法
6134
查看次数

中继端口和标记端口之间的区别

我正在阅读一些维基百科文章和 RFC 5517,研究 VLAN,但我不知道中继端口和标记端口之间的区别。

根据我正在阅读的材料,标记端口用于允许从不同的 VLAN 中看到主机。例如,如果端口 1 标记为“vlan 1”,并且也标记为“vlan 2”,则它可以向两个 VLAN 中的每个主机发送 2 级数据包。

我发现的Trunk端口的定义是“包含VLAN TAG的旅行数据包的端口”。VLAN TAG 包含 VLAN ID,因此根据我的理解,中继端口必须是标记端口,但交换机是否可以有一个标记端口,但不是中继端口?如果是,有什么区别?

PS:我最关心的是Cisco交换机。

cisco switch port vlan trunk

5
推荐指数
1
解决办法
5万
查看次数

多个不同的 VLAN 中继到 KVM 来宾 (Linux)

我遇到了架构挑战的各种障碍。我有一台运行 KVM 的服务器——它将包含许多来宾,一些运行虚拟化防火墙,其他一些,只是普通的 Web 服务器。

  • Web 服务器需要一个未标记的 VLAN 接口
  • 防火墙需要标记的 VLAN 中继

现在,这通常很简单,只需eth0在其中添加一个网桥,在网桥上添加几个 VLAN(vmbr0.1等等) - 然后为每个来宾(或其倍数)分配一个带有未标记 VLAN 的接口。

                             firewall1 (vlan 1,2,3,4)
switch ===== eth0  vmbr0     firewall2 (vlan 1,2,5,6)
                   (eth0)    server1 (vlan 7)
                             server2 (vlan 8)
     vlan trunk
 (1,2,3,4,5,6,7,8)     
Run Code Online (Sandbox Code Playgroud)

现在,如果您只有几个需要传递给来宾的接口,这可以正常工作。但是当您需要将 500 个 VLAN 放入防火墙时会发生什么。它的不切实际。

所以我无法弄清楚如何创建一个数字中继(具有公共 VLAN 和不同的 VLAN),并将它们分配给来宾。

到目前为止,我找到的最接近的解决方案是在主桥上创建 VLAN,然后对于服务器,只需从中分配一个 VLAN。

然后对于防火墙,为每个防火墙创建一个桥,其中只有来宾的tap接口,然后vlan为相应的桥创建未标记的接口,并将其添加到主vmbr0桥。

唯一的问题是离开未标记接口的流量当然是未标记的。

是否可以标记离开接口的流量?

——

否则,如何实现 KVM 来宾的不同中继,这些中继可能具有公共 VLAN 和不同的 VLAN(但绝不是所有 VLAN) - 并且能够分配单个未标记的 vlan 接口

linux vlan bridge trunk kvm-virtualization

5
推荐指数
1
解决办法
1万
查看次数

通过 HDMI 堆叠两个 Netgear GS748TS 交换机 - 只有 1Gbps 的中继带宽?

我有两个Netgear GS748TS 48 端口千兆可堆叠交换机,当通过两条 HDMI 电缆堆叠时,其中一个交换机上的主机可以与另一个交换机上的主机通信。

Netgear 声称 HDMI 中继允许 10Gbps 的带宽,但是当我使用 4 台计算机和 iperf 进行测试时,似乎只有 1Gbps 的带宽可用于交换机之间的通信。

是否需要额外配置?我在这里错过了一些基本的网络概念吗?

我真的很想保留所有客户端端口,嗯……客户端,而不是为了中继而牺牲 16 个或更多端口。

任何帮助表示赞赏,非常感谢。

编辑:我将使用更高质量的 HDMI 电缆重新测试并报告!

networking gigabit netgear trunk

4
推荐指数
1
解决办法
1万
查看次数

如何使 Windows Server 2012R2 NIC 连接到中继,但具有 VLAN ID

Windows Server 2012R2,带有 hyper-v。对于连接到多 vlan 的 hyper-v 来宾操作系统,主机的 NIC 连接到交换机集线器上的中继端口。但我想设置带有 VLAN ID(VLAN 10) 的主机操作系统,用于 VLAN 10 IP 地址。

hyper-v vlan trunk windows-server-2012-r2

4
推荐指数
1
解决办法
826
查看次数

HP Procurve 核心交换机架构

我想为我们的网络构建一个新的“核心”。我们目前有一个 3com 4060 交换机作为核心,将所有其他 TOR 和接入交换机连接在一起。

目标是在不影响性能的情况下为核心增加弹性。

目前,每台交换机都通过配置为 LACP 中继的 2 到 4 条物理链路连接到核心。

我正在考虑用一对带有可选堆叠模块的 HP 2920 交换机替换 3com。我的理解是,通过堆叠模块,2 个交换机将充当 1 个“虚拟”交换机,因此我可以将每个链路从接入交换机连接到每个 2920:

交换机连接

实际问题

我知道这不是一个不寻常的安排,但我的问题是:

  1. 可以用 HP 2920 交换机完成吗?
  2. 我应该使用 HP“Trunk”类型的中继而不是 LACP?

我发现了很多相互矛盾的信息。很多消息来源说分布式中继只能用 3xxx 或更高的交换机完成,但 HP QuickSpecs 说 DT 可以用 2920 完成。其他消息来源说 DT 只能在一对交换机和服务器之间完成(不是其他交换机)但如果 DT 显示为“下游”设备的 LACP 中继,那么这有什么关系?

我可以使用 STP 来阻止接入交换机和第二个核心交换机之间的链接,但我不想浪费所有带宽。

networking hp trunk lacp hp-procurve

3
推荐指数
1
解决办法
2937
查看次数