Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Q-in-Q

    802.1Q Tunneling (Q-in-Q) – Khi VLAN của khách hàng đi xuyên qua mạng nhà cung cấp như một “đường hầm Layer 2”


    Trong các bài trước chúng ta đã nói về 802.1Q tagging truyền thống. Nhưng có một câu hỏi thú vị trong môi trường Metro Ethernet hoặc Provider Bridging:

    Nếu nhiều khách hàng đều dùng VLAN 10, VLAN 20… thì nhà cung cấp làm sao chuyên chở các VLAN trùng số đó qua hạ tầng của họ mà không xung đột?

    Câu trả lời là 802.1Q Tunneling, hay thường gọi là Q-in-Q.

    Đây là một công nghệ rất quan trọng trong Carrier Ethernet, SD-Access transport, Metro E, và nhiều thiết kế campus/provider handoff.
    Q-in-Q là gì?


    Q-in-Q là kỹ thuật đóng thêm một VLAN tag thứ hai vào frame Ethernet.

    Thông thường Ethernet frame chỉ có một tag 802.1Q:
    • Customer VLAN tag (C-VLAN)

    Khi đi vào mạng provider, switch của nhà cung cấp gắn thêm:
    • Service VLAN tag (S-VLAN)

    Kết quả frame mang hai VLAN tags:
    • Outer Tag (S-tag) → Provider quản lý
    • Inner Tag (C-tag) → Khách hàng giữ nguyên

    Đó là lý do gọi là:
    • Tag nằm trong Tag
    • VLAN trong VLAN
    • Q-in-Q

    Ý tưởng hoạt động


    Giả sử khách hàng Site A và Site B đều dùng VLAN 12.

    Khách hàng gửi frame:
    • VLAN 12

    Khi đi vào mạng provider:
    • Provider thêm outer VLAN 123

    Frame trở thành:
    • Outer VLAN 123
    • Inner VLAN 12

    Qua toàn bộ backbone Metro Ethernet, provider chỉ nhìn VLAN 123.

    Khi ra đầu bên kia:
    • Outer tag bị bóc ra
    • VLAN 12 ban đầu được giữ nguyên

    Khách hàng có cảm giác như hai site nối chung một switch Layer 2.

    Đây chính là transparent Layer 2 transport.
    Header thay đổi như thế nào?


    Ban đầu:

    Ethernet Header
    → 802.1Q tag (4 bytes)
    → Payload

    Sau Q-in-Q:

    Ethernet Header
    → Outer 802.1Q tag
    → Inner 802.1Q tag
    → Payload

    Tăng thêm:
    • 4 bytes

    Frame size tăng.

    Điểm này dẫn đến câu chuyện MTU mà ta sẽ quay lại phía dưới.
    Lab cấu hình trong tài liệu


    Topology gồm:
    • R1 — SW1 — SW3 — SW2 — R2

    Customer dùng:
    • VLAN 12

    Provider dùng:
    • VLAN 123

    Router Customer


    Trên R1:
    interface FastEthernet0/0.12
    encapsulation dot1q 12
    ip address 192.168.12.1 255.255.255.0

    Trên R2:
    interface FastEthernet0/0.12
    encapsulation dot1q 12
    ip address 192.168.12.2 255.255.255.0

    Đây là customer tag (inner tag).
    Provider Trunks


    Các uplink giữa provider switches:
    switchport trunk encapsulation dot1q
    switchport mode trunk

    Cấu hình trunk bình thường.
    Bật Q-in-Q Port


    Đây là phần quan trọng nhất.

    SW1 phía customer:
    interface Fa0/1
    switchport access vlan 123
    switchport mode dot1q-tunnel

    SW2:
    interface Fa0/2
    switchport access vlan 123
    switchport mode dot1q-tunnel

    Hai dòng quan trọng:
    switchport mode dot1q-tunnel
    switchport access vlan 123

    Ý nghĩa:
    • Biến port thành tunnel port
    • Mọi frame khách hàng đi vào sẽ được encapsulate bằng S-VLAN 123

    Đây chính là provider edge handoff.
    Verify - Kiểm tra


    Ping thành công:
    R1# ping 192.168.12.2
    Success rate is 100 percent
    Kiểm tra trunk

    show interfaces trunk

    Ta chỉ thấy:
    • VLAN 1
    • VLAN 123

    Không hề thấy VLAN 12.

    Vì:

    VLAN 12 nằm bên trong frame, provider switch không participate STP hay switching cho VLAN 12.

    Rất quan trọng.
    Một điều nhiều người bỏ sót:

    STP cho VLAN khách hàng không tồn tại trong provider


    Lệnh:
    show spanning-tree vlan 12

    Kết quả:
    Spanning tree instance does not exist

    Tại sao?

    Vì provider không switch VLAN 12.

    Họ chỉ switch outer tag 123.

    Đây là bản chất "tunnel".
    Layer 2 Protocol Tunneling


    Điểm cực hay của Q-in-Q:

    Không chỉ data VLAN.

    Có thể tunnel cả control protocols:
    l2protocol-tunnel cdp

    Có thể tunnel:
    • CDP
    • STP
    • VTP
    • PAgP / LACP

    Ví dụ sau khi bật:
    show cdp neighbors

    R1 có thể nhìn thấy R2 như trực tiếp kết nối.

    Rất thú vị.

    Đây là transparent transport đúng nghĩa.
    Vấn đề MTU – Bẫy thực chiến


    Đây là thứ ngoài production rất hay gặp.

    Vì thêm một tag:

    Frame tăng 4 bytes.

    Ethernet chuẩn:

    1500 bytes payload

    Q-in-Q:

    1504 bytes

    Nếu switch provider vẫn MTU 1500:

    Packet DF bit set có thể fail.

    Ví dụ trong lab:
    ping 192.168.12.2 size 1500 df-bit

    Fail.
    Fix


    Tăng system MTU:
    system mtu 1504

    Reload switch.

    Verify:
    show system mtu

    Sau đó ping pass.

    Đây là chi tiết rất thực chiến.
    Q-in-Q dùng ở đâu ngoài đời?

    Metro Ethernet Carrier


    Dịch vụ:
    • E-Line
    • E-LAN
    • EVPL

    Khách hàng giữ nguyên VLAN scheme.

    Provider chuyên chở qua S-VLAN.
    Multi-tenant DC


    Tách tenant bằng outer tag.
    SD-Access / Overlay Transport


    Một số handoff transport sử dụng ý tưởng tương tự.
    Wholesale L2 Services


    ISP bán Layer 2 circuits.

    Rất phổ biến.
    Hạn chế của Q-in-Q


    Q-in-Q khá elegant nhưng không hoàn hảo.

    Các vấn đề:
    • Scale giới hạn 4094 S-VLANs
    • Broadcast domain lớn
    • STP risk nếu control protocols bị leak
    • Không có segmentation policy kiểu VXLAN/EVPN

    Vì vậy modern DC dần chuyển sang:
    • VXLAN
    • EVPN
    • MPLS pseudowire

    Nhưng hiểu Q-in-Q vẫn là nền tảng cực quan trọng.
    Phân biệt C-VLAN và S-VLAN


    Hay bị nhầm:

    C-VLAN
    (Customer VLAN)

    S-VLAN
    (Service VLAN)

    Inner tag = C-tag
    Outer tag = S-tag

    Đừng nhầm với native VLAN.
    Tư duy bản chất của công nghệ


    Q-in-Q không phải “trunk của trunk”.

    Nó là:

    Nhà mạng Provider dùng một VLAN để encapsulate toàn bộ VLAN của khách hàng.

    Đó là carrier-style encapsulation.
    Nếu đi thi CCIE hoặc thiết kế thực tế, bạn nên nhớ 4 điểm
    1. switchport mode dot1q-tunnel
    2. Provider chỉ thấy S-VLAN, không thấy customer VLAN
    3. Có thể tunnel cả STP/CDP/VTP bằng l2protocol-tunnel
    4. Phải để ý MTU 1504

    Thiếu số 4 là lỗi production rất điển hình.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X