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

  • Switching trunk

    Khắc phục sự cố Trunk trong mạng chuyển mạch Cisco


    Trong hệ thống mạng doanh nghiệp, trunk link là một thành phần cực kỳ quan trọng vì nó cho phép nhiều VLAN cùng truyền qua một liên kết vật lý duy nhất. Nếu access port giống như một con đường chỉ phục vụ cho một khu dân cư duy nhất, thì trunk giống như một tuyến cao tốc đa làn, nơi traffic của nhiều VLAN cùng chia sẻ một đường truyền nhưng vẫn được phân biệt rõ ràng.

    Trunk thường xuất hiện trong các kết nối giữa switch với switch, switch với router trong mô hình Router-on-a-Stick, hoặc switch với các máy chủ/hypervisor cần phục vụ nhiều VLAN. Khi trunk gặp sự cố, hậu quả thường không chỉ ảnh hưởng đến một host đơn lẻ mà có thể làm gián đoạn toàn bộ giao tiếp giữa các VLAN hoặc giữa các phân đoạn mạng khác nhau. Vì vậy, hiểu rõ cách troubleshooting trunk là kỹ năng rất quan trọng đối với kỹ sư mạng.
    Trunk hoạt động như thế nào?


    Thông thường, một access port chỉ thuộc về một VLAN duy nhất. Ví dụ, nếu một PC được cắm vào cổng access thuộc VLAN 100, toàn bộ traffic đi qua cổng đó đều được coi là traffic của VLAN 100.

    Nhưng trong môi trường thực tế, giữa hai switch có thể cần truyền traffic của:
    • VLAN 100
    • VLAN 200
    • VLAN 300
    • VLAN 400

    Nếu mỗi VLAN dùng một dây vật lý riêng thì hệ thống sẽ nhanh chóng trở nên cồng kềnh và lãng phí tài nguyên. Đó là lý do trunk ra đời.

    Trunk sử dụng cơ chế tagging để đánh dấu VLAN ID cho từng frame Ethernet, từ đó cho phép nhiều VLAN cùng chia sẻ một liên kết vật lý.

    Ví dụ:
    SW1 -------- trunk -------- SW2

    Nếu PC trong VLAN 100 gửi frame:
    • switch gắn VLAN tag 100
    • frame đi qua trunk
    • switch bên kia đọc tag
    • xác định frame thuộc VLAN 100
    • forward đúng nơi

    Cơ chế này nghe có vẻ đơn giản, nhưng thực tế có nhiều lỗi cấu hình khiến trunk không hình thành hoặc hoạt động sai.
    Encapsulation Mismatch


    Một trong những lỗi kinh điển là encapsulation mismatch.

    Cisco Catalyst hỗ trợ hai kiểu trunk encapsulation:

    802.1Q

    Đây là chuẩn IEEE phổ biến nhất hiện nay. Cơ chế của nó là chèn thêm một VLAN tag dài 4 byte vào frame Ethernet.

    ISL (Inter-Switch Link)

    Đây là giao thức độc quyền của Cisco. Khác với 802.1Q chỉ thêm tag, ISL encapsulate toàn bộ frame Ethernet, tạo thêm overhead khoảng 30 byte.

    Điểm quan trọng nhất là:
    Hai đầu trunk phải dùng cùng kiểu encapsulation.

    Nếu một đầu dùng:
    dot1q

    và đầu kia dùng:
    isl

    thì trunk sẽ không hình thành.

    Kiểm tra bằng lệnh:
    show interfaces gi0/2 switchport

    Ví dụ:
    Administrative Trunking Encapsulation: dot1q
    Operational Trunking Encapsulation: dot1q

    Nếu switch bên kia hiển thị:
    Administrative Trunking Encapsulation: isl
    Operational Trunking Encapsulation: isl

    thì đây chính là nguyên nhân.

    Bạn cũng có thể xác minh nhanh bằng:
    show interfaces trunk

    Ví dụ:
    SW1:
    Gi0/2 on 802.1q trunking

    và:
    SW2:
    Gi0/1 on isl trunking

    Rõ ràng hai bên không cùng "ngôn ngữ".
    Incompatible Trunking Modes


    Không phải cứ hai switch cắm vào nhau là trunk tự hình thành.

    Cisco hỗ trợ nhiều chế độ trunk khác nhau.

    Nếu cổng được cấu hình:
    switchport mode access

    thì cổng đó sẽ không bao giờ trở thành trunk.

    Nếu cấu hình:
    switchport mode trunk

    thì cổng luôn hoạt động như trunk.

    Ngoài ra còn có hai chế độ động:
    dynamic desirable


    dynamic auto

    Dynamic desirable là chế độ chủ động. Nó liên tục gửi DTP để yêu cầu hình thành trunk.

    Dynamic auto thì thụ động hơn. Nó chỉ chờ nếu phía bên kia chủ động đề nghị.

    Đây là điểm mà nhiều người nhầm.

    Nếu cả hai đầu đều:
    dynamic auto

    thì trunk sẽ không bao giờ hình thành.

    Lý do rất đơn giản:

    Hai bên đều đang chờ nhau nói trước.

    Không ai chủ động cả.

    Trong khi đó:
    dynamic desirable + dynamic auto

    sẽ hoạt động bình thường.

    Kiểm tra:
    show interfaces gi0/2 switchport

    Nếu thấy:
    Administrative Mode: dynamic auto

    ở cả hai phía, nguyên nhân đã rõ.
    VTP Domain Name Mismatch


    Một lỗi khác thường bị bỏ qua là VTP domain mismatch.

    Nếu trunk đang sử dụng DTP để negotiate, hai switch phải thuộc cùng VTP domain.

    Ví dụ:

    SW1:
    VTP domain = VNPRO

    SW2:
    VTP domain = LAB

    Lúc này syslog có thể báo:
    %DTP-5-DOMAINMISMATCH:
    Unable to perform trunk negotiation

    Điều này có nghĩa:

    DTP từ chối tạo trunk vì domain không khớp.

    Kiểm tra:
    show vtp status
    Native VLAN Mismatch


    Lỗi này đặc biệt quan trọng với trunk 802.1Q.

    Khái niệm native VLAN tồn tại vì trong 802.1Q, traffic thuộc native VLAN sẽ đi không gắn tag.

    Mặc định:
    VLAN 1

    Nhưng trong nhiều hệ thống, native VLAN được đổi sang VLAN khác để tăng bảo mật.

    Ví dụ:

    SW1:
    switchport trunk native vlan 1

    SW2:
    switchport trunk native vlan 99

    Trunk vẫn có thể up.

    Nhưng traffic sẽ bị xử lý sai.

    Frame untagged từ một phía sẽ bị đầu kia gán vào native VLAN của nó.

    Kết quả:
    • traffic leakage
    • VLAN confusion
    • STP inconsistency

    Nếu CDP bật, bạn sẽ thấy:
    %CDP-4-NATIVE_VLAN_MISMATCH

    Kiểm tra:
    show interfaces trunk

    Ví dụ:
    SW1:
    Native vlan 1SW2:
    Native vlan 99

    Mismatch rõ ràng.
    Allowed VLANs


    Theo mặc định, trunk cho phép tất cả VLAN:
    1-4094

    Tuy nhiên trong môi trường doanh nghiệp, admin thường giới hạn để tăng bảo mật và giảm broadcast không cần thiết.

    Ví dụ:
    switchport trunk allowed vlan 100,200

    Điều này có nghĩa:

    Chỉ VLAN 100 và VLAN 200 được phép đi qua trunk.

    Nếu host thuộc VLAN 300, traffic sẽ không đi dù trunk vẫn up hoàn toàn bình thường.

    Đây là lỗi rất dễ khiến người mới bối rối vì:
    • trunk có vẻ hoạt động
    • interface up
    • DTP OK
    • encapsulation đúng

    nhưng traffic của một VLAN cụ thể vẫn chết.

    Kiểm tra:
    show interfaces trunk

    Ví dụ:
    Port Vlans allowed on trunk
    Gi0/2 100,200

    Hoặc:
    show interfaces gi0/2 switchport
    Access vs Trunk Mismatch


    Một lỗi khó chịu khác là một đầu là access, đầu còn lại là trunk.

    Ví dụ:

    SW1:
    switchport mode access
    switchport access vlan 100

    SW2:
    switchport mode trunk

    Triệu chứng là đôi khi ping được, đôi khi không.

    Nguyên nhân nằm ở cách trunk xử lý frame untagged.

    Access port gửi frame không gắn tag.

    Trunk port nhận frame untagged sẽ coi đó là traffic native VLAN.

    Nếu:
    • access VLAN = native VLAN

    thì traffic có thể vô tình hoạt động.

    Nếu không:

    traffic thất bại.

    Đây là lý do hiện tượng "limited connectivity" xảy ra.
    Phương pháp troubleshooting thực chiến


    Khi trunk gặp sự cố, kỹ sư mạng thường bắt đầu với:
    show interfaces trunk

    Đây là lệnh quan trọng nhất.

    Nó cho bạn biết:
    • trunk có up không
    • encapsulation là gì
    • native VLAN là gì
    • VLAN nào được allow
    • VLAN nào đang forwarding

    Sau đó kiểm tra chi tiết:
    show interfaces gi0/2 switchport

    Nếu nghi ngờ VTP:
    show vtp status

    Nếu nghi ngờ VLAN:
    show vlan brief

    Nếu cần xem cấu hình thật:
    show run interface gi0/2
    Kết luận


    Phần lớn lỗi trunk trong thực tế đều rơi vào một số nhóm quen thuộc:
    • encapsulation mismatch
    • trunk mode mismatch
    • VTP domain mismatch
    • native VLAN mismatch
    • allowed VLAN filtering
    • access/trunk mismatch

    Điểm quan trọng nhất là đừng chỉ nhìn interface up/down.

    Một trunk có thể up nhưng vẫn forwarding sai.

    Trong troubleshooting Cisco switching, hiểu sâu trunking gần như là điều bắt buộc, bởi đây là nền tảng của VLAN communication trong toàn bộ hệ thống mạng doanh nghiệp.
    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