IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Introducció

Virtual Local Area Network (VLAN) és un mètode de capa 2 (capa d'enllaç) que permet tindré múltiples segments de xarxa virtuals en una sola interfície física, de forma que es poden segregar les xarxes de forma eficient.

Una VLAN representa una interfície de xarxa de capa 2 tan vàlida com qualsevol interfície de xarxa de capa 2 i per tant es poden propagar les VLAN a través d'Ethernet bridges o en enllaços WIFI.

Hi ha dos tipus de ports VLAN

  • tagged: Hi ha moltes terminologies depenent del fabricant. Per exemple Cisco també ho anomena Trunk
  • untagged: Hi ha moltes terminologies. Per exemple Cisco també ho anomena Acces mode

Els ports tagged són els utilitzats per a fer troncals (Trunking).

Altres conceptes importants són:

Recursos:

Tipus de VLANs

Es coneixen els següents tipus de Virtual LANs:

  • Port-Based VLAN: cada port físic es configura amb una ACL, especificant a quines VLAN pertany aquell port.
  • MAC-based VLAN: el commutador es configura amb una ACL que indica segons la mac a quina VLAN pertany un dispositiu. Vegeu macvlan.
  • Protocol-based VLAN: segons el protocol es posa el transit en una VLAN o en un altre...
  • 802.1Q: Vegeu 802.1Q
  • ATM VLAN: Utilitza LAN Emulation (LANE protocol) per fer un mapejat de paquets Ethernet a cel·les ATM, es a dir converteix adreces MAC a adreces ATM

Recursos:

Trunk ports i VLAN per defecte

native VLAN o default VLAN

Clause 9 of the 1998 802.1Q standard defines the encapsulation protocol used to multiplex VLANs over a single link, by adding VLAN tags. However, it is possible to send frames either tagged or untagged, so to help explain which frames will be sent with or without tags, some vendors (most notably Cisco) use the concepts of a) trunk ports and b) the native VLAN for that trunk.

The concept of a trunk port is that once a port is designated as a trunk port, it will forward and receive tagged frames.

Frames belonging to the native VLAN do NOT carry VLAN tags when sent over the trunk. Conversely, if an untagged frame is received on a trunk port, the frame is associated with the Native VLAN for this port.

For example, if an 802.1Q port has VLANs 2, 3 and 4 assigned to it with VLAN 2 being the Native VLAN, frames on VLAN 2 that egress (exit) the aforementioned port are not given an 802.1Q header (i.e. they are plain Ethernet frames). Frames which ingress (enter) this port and have no 802.1Q header are put into VLAN 2. Behaviour of traffic relating to VLANs 3 & 4 is as to be expected - frames arriving for VLANs 3 & 4 are expected to be carrying tags that identify them so, and frames leaving the port for VLANs 3 & 4 will carry their respective VLAN tag.

Note that in this case, frames received on the port and tagged with VLAN ID 2 shall still be assigned to VLAN 2, but since the VLAN configuration shall be symmetric between emitting and receiving bridges, the distant bridge may not process the returning frames : it shall expect a tagged VLAN 2 frame, but will receive only untagged frames for it, then either discard them or distribute them in the wrong VLAN (the one defined as the "untagged" one on his side).

Not all vendors use the concept of trunk ports and native VLANs. Annex D to the 1998 802.1Q standard uses the concept of trunk links, but the current (IEEE Std 802.1D- 2004) standard does not use the terms trunk or native. Some use the term Qtrunk to avoid confusion with 802.3ad "link aggregation" that is often named a trunk as well.

VLANs i bridges

IMPORTANT: TODO Cal tenir en compte que una VLAN no és un protocol de túnel complet (p.ex. i.e., it does not have additional fields to transport MAC addresses of sender and recipient), the same limitation applies to bridging over VLAN as to bridging plain wireless interfaces. In other words, while wireless clients may participate in VLANs put on wireless interfaces, it is not possible to have VLAN put on a wireless interface in station mode bridged with any other interface.

Conceptes

5-13.png
TODO
mani1-fig4.jpg
http://www.eetimes.com/design/communications-design/4009306/Tutorial-on-VLANs-Part-1

PVID

Egress/Ingress

5-13.png

Normalment es defineixen normes Egress i normes Ingress:

  • Egress rules: determina quins frames poden ser transmesos de sortida per un port, basant-se en la llista Egress de les VLAN asociades a aquell port. Cada VLAN té una llista egress que especifica els ports de sortida pels quals els frames poden ser reenviats i especifica quan els frames han de ser transmesos tagged o untagged
  • Ingress rules: són una forma de filtrar els paquets d'entrada no desitjats per un port. Quan Ingress Filtering està activat, is enabled, a port determines if a frame can be processed based on whether the port is on the Egress List of the VLAN associated with the frame.

Quan un paquet sense tag arriva a un port del switch, el switch escriura el el VLAN ID (VID) a la capçalera del frame segons el PVID (port VLAN ID). Típicament tots els ports dels switchos comuns solen portar per defecte el PVID 1. Quan arriba un frame amb tag el tag es respectat.

VLAN Modes

Protocol IEEE_802.1Q. VLAN Tagging

El protocol més utilitzat per a xarxes VLAN és IEEE_802.1Q, també conegut com VLAN Tagging. És un protocol estàndard d'encapsulació que defineix com inserir el 4 bytes (32 bits) de l'identificador VLAN (VLAN ID) en una capçalera Ethernet.

Davidginovart frame.png

Cada VLAN es tractada com un subxarxa física diferent. Això implica que els hosts d'una VLAN no es poden comunicar per capa 2 amb els hosts d'un altre VLAN, sent la única opció encaminar en capa 3 utilitzant un router comú a les dos xarxes.

VLAN priorites???

Quan una VLAN s'exten més enllà d'un sol commutador, aleshores el enllaç entre els switchos ha de ser el que s'anomena una troncal, on ela paquets són etiquetats per indicar a la VLAN a la que pertanyen. Un troncal porta el trànsit de múltiples VLAN i s'ha de veure com un enllaç PTP que carrega els paquets de totes les VLANs per fer-los arribar a tots els commutadors.

Fitxer:Exemple VLANs.gif

Exemple Zyxel

ES-4124

Exemples d'ús

Compartir un mateix router/gateway sense estar a la mateixa VLAN

Consulteu la gràfica:

vlan.png

A l'exemple cada dispositiu de la LAN està en un port VLAN untagged diferent (VLAN 20, 30 i 40) i el port upstream està en mode tagged fent de troncal i transportant totes les VLANs (la 20, la 30 i la 40).

On es veu un clar exemple de dispositius que no es veuen entr si en capa 2 (i si cal en capa 3 tampoc) però comparteixen el mateix router per accedir a una xarxa WAN (p.ex. Internet)

Router on Stick

aka One-armed_router. Vegeu Router-On-A-Stick

Similar a l'anterior:

Sistemes operatius

VLANS a Linux

VLANS a Windows

TODO

RouterOS

Vegeu routerOS i VLANs

AirOS

Vegeu AirOS i VLANs

Cisco IOS

Vegeu Cisco. Concretament Cisco IOS i IOS i VLANs.

Exemples

Separar dos xarxes que han d'accedir al mateix servidor

Commutadors

DLINK

DLINK DGS-1210-24

Longshine

Longshine LCS-GS9428

Consulteu:

http://www.iesebre.com/manteniment/index.php/Longshine_LCS-GS9428

3COM

RouterOS

Consulteu RouterOS#VLANs

Atacs

Vegeu també Seguretat

tcpdump

El filtre és:

vlan [vlan_id]

True if the packet is an IEEE 802.1Q VLAN packet. If [vlan_id] is specified, only encountered in expression changes the decoding offsets for the remainder of 
expression on the assumption that the packet is a VLAN

Per exemple:

$ sudo tcpdump -n -e -vv -i bond0
...
13:33:00.889061 00:00:5e:00:01:8c > 01:00:5e:00:00:12, ethertype 802.1Q (0x8100), length 82: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 255, id 4660, offset 0, flags [none], proto AH (51), length 64)
   192.168.13.1 > 224.0.0.18: AH(spi=0xc0a80d01,sumlen=16,seq=0x7ef55): VRRPv2, Advertisement, vrid 140, prio 200, authtype ah, intvl 1s, length 20, addrs: 10.140.128.2

tcpdump vlan filter doesn't works. No funciona el filtre VLAN

reconstruct vlan headers

Please note that the vlan headers are reconstructed after kernel filtering. To filter packets from a vlan unfiltered output has to be passed to another tcpdump:

$ sudo tcpdump -Uw - | sudo tcpdump -en -r - vlan 126


TODO

Vegeu també

Apunts d'alumnes:

Enllaços externs