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

  • Cơ chế Packet Switching

    Packet Switching và Ảnh Hưởng Đến Hiệu Năng Router


    Ngoài các vấn đề về CPU utilization cao đã đề cập trước đó, một yếu tố khác có thể ảnh hưởng mạnh đến hiệu năng của router là chế độ packet switching mà thiết bị đang sử dụng. Trong thực tế, không phải mọi router đều xử lý packet theo cùng một cách. Cách router quyết định chuyển tiếp packet phụ thuộc rất nhiều vào kiến trúc phần cứng và phần mềm của thiết bị.

    Vì vậy, khi troubleshooting ngoài môi trường production, bạn luôn nên tham khảo tài liệu của dòng router cụ thể để hiểu chính xác cách nó triển khai forwarding plane.

    Tuy nhiên, về mặt tổng quát, các router Cisco và multilayer switch thường hỗ trợ ba cơ chế packet switching chính:
    • Process Switching
    • Fast Switching (Route Caching)
    • Cisco Express Forwarding - CEF (Topology-Based Switching)

    Đây là những khái niệm rất quan trọng đối với kỹ sư CCNP/CCIE, bởi vì chúng ảnh hưởng trực tiếp đến throughput, latency, CPU load, và khả năng mở rộng của hệ thống.
    Packet Switching Là Gì?


    Packet switching là quá trình router quyết định:
    "Packet này sẽ được gửi đi đâu?"

    Khi một packet đi vào router, thiết bị phải thực hiện nhiều bước xử lý:

    Bước 1: Loại bỏ Layer 2 header

    Ví dụ Ethernet header sẽ bị bỏ đi vì MAC source/destination chỉ có ý nghĩa trong local segment.

    Ví dụ packet đến với:
    Src MAC: 00:11:22:33:44:55
    Dst MAC: AA:BB:CC:DD:EE:FF

    Router sẽ bỏ phần này.

    Bước 2: Kiểm tra Layer 3 header

    Router đọc thông tin IP:
    Source IP
    Destination IP
    TTL
    Protocol

    Ví dụ:
    Source IP: 10.1.1.10
    Destination IP: 192.168.1.100

    Router sẽ tra cứu routing table để xác định next-hop.

    Bước 3: Quyết định forwarding

    Ví dụ routing table:
    192.168.1.0/24 via 172.16.1.1

    Router xác định:
    "Packet này phải gửi ra interface GigabitEthernet0/1"


    Bước 4: Viết lại Layer 2 header

    Router tạo Ethernet frame mới:
    New Source MAC = MAC của router trên cổng ra
    New Destination MAC = MAC của next-hop

    Ví dụ:
    Src MAC: 00:AA:BB:CC:DD:EE
    Dst MAC: 11:22:33:44:55:66

    Bước 5: Tính lại FCS

    Do frame đã thay đổi nên checksum Layer 2 cũng phải được tính lại.

    Bước 6: Forward packet

    Packet được gửi ra cổng phù hợp.
    1. Process Switching

    Cách hoạt động


    Đây là phương pháp packet switching truyền thống nhất.

    Với process switching, mỗi packet đi vào đều được CPU xử lý trực tiếp.

    Luồng xử lý:
    Packet đến

    CPU kiểm tra header

    CPU tra routing table

    CPU rewrite Layer 2 header

    CPU tính FCS

    CPU gửi packet ra ngoài

    Toàn bộ quyết định forwarding đều do CPU đảm nhiệm.
    Minh họa logic

    Incoming Packet

    CPU xử lý

    Routing Decision

    Rewrite Frame

    Outgoing Interface

    Điều này tương ứng với mô hình:
    • Control Plane tham gia trực tiếp
    • CPU trở thành điểm xử lý trung tâm

    Vì sao chậm?


    CPU là tài nguyên hữu hạn.

    Nếu traffic nhỏ:
    100 pps

    CPU vẫn xử lý ổn.

    Nhưng nếu traffic tăng:
    50,000 pps
    100,000 pps
    500,000 pps

    CPU sẽ nhanh chóng quá tải.

    Kết quả:
    • latency tăng
    • packet drop
    • routing protocol bị ảnh hưởng
    • management session lag
    • SSH/Telnet phản hồi chậm

    Ví dụ thực tế


    Router nhận traffic:
    200 Mbps

    Packet size trung bình:
    500 bytes

    Packets per second:
    200,000,000 / (500 × 8)
    = 50,000 pps

    Nếu CPU phải process-switch 50,000 packet mỗi giây:

    => cực kỳ nặng.
    Khi nào xảy ra?


    Thông thường router hiện đại không dùng process switching cho forwarding thông thường.

    Nhưng vẫn có thể xảy ra khi:
    • packet đầu tiên của flow
    • traffic đặc biệt cần CPU xử lý
    • exception traffic
    • control-plane traffic
    • fast switching bị disable
    • CEF bị disable

    Cấu hình ép dùng Process Switching


    Có thể disable Fast Switching và CEF bằng lệnh:
    interface GigabitEthernet0/0
    no ip route-cache

    Lệnh này buộc interface dùng process switching.
    Kiểm tra

    show ip interface

    Ví dụ:
    IP fast switching is disabled
    Tác động đến Troubleshooting


    Nếu router CPU cao, cần kiểm tra:
    show processes cpu

    Nếu CPU bị packet forwarding chiếm nhiều:
    IP Input

    process IP Input cao thường là dấu hiệu process switching hoặc exception packet processing.

    Ví dụ:
    PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min Process
    66 458293 ... IP Input

    Nếu IP Input cao bất thường:

    → nghi ngờ packet đang đi vào CPU.
    Kiến thức thực chiến


    Process switching gần như là “worst-case forwarding path”.

    Nếu traffic data-plane phải đi qua CPU:

    router sẽ giống như:
    "Dùng general-purpose CPU để làm forwarding ASIC"

    Điều này cực kỳ kém hiệu quả.
    Tóm tắt


    Process switching có đặc điểm:

    Ưu điểm
    • đơn giản
    • luôn hoạt động
    • xử lý được exception traffic

    Nhược điểm
    • CPU intensive
    • throughput thấp
    • latency cao
    • không scalable


    Trong phần tiếp theo, cơ chế Fast Switching và đặc biệt Cisco Express Forwarding (CEF) mới là các kỹ thuật giúp router forwarding hiệu quả ở tốc độ cao.
    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