한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Sách trắng lag game › Nguyên nhân gốc của truyền lại TCP

Không khớp chế độ duplex Duplex mismatch

ID nguyên nhân rt-duplex · Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Hạ tầng server (Đội hạ tầng)

Mở thẻ gốc có hình minh họa và thí nghiệm →

Nếu một đầu để tự động đàm phán (auto-negotiation) còn đầu kia cố định tốc độ và duplex, một bên sẽ chạy half-duplex và mỗi lần có tải lại mất gói do va chạm (collision).

Vì sao Chỉ một đầu thiết bị cố định cấu hình tốc độ và duplex → Dẫn đến Một bên chạy full-duplex, bên kia chạy half-duplex nên xảy ra va chạm và va chạm muộn (late collision) → Trên màn hình Bình thường không sao, nhưng khi lưu lượng tăng thì mọi người đi qua thiết bị đó đều đứng hình rồi tua nhanh

Triệu chứng
Đứng hình, Tua nhanh
Yếu tố
Mất gói
Ai gặp phải
Cả server, Một địa điểm hoặc kênh
Khi nào
Khi đông người, Giờ cao điểm buổi tối
Phụ trách
Phụ trách chính Hạ tầng mạng (Đội hạ tầng) · Phối hợp Hạ tầng server (Đội hạ tầng)
Việc cần làm (Đội hạ tầng)
Hai đầu cùng tự động đàm phán hoặc cùng cố định một giá trị. Mạng: kiểm tra tốc độ và duplex trong trạng thái cổng switch; trên counter cổng, kiểm tra phía half-duplex có tăng late collision, phía full-duplex có tăng lỗi CRC và frame quá ngắn (runt) hay không. Thiết bị server·OS: kiểm tra tốc độ và duplex bằng ethtool.
Con số tham khảo
Cáp đồng 1 Gbps bắt buộc phải tự động đàm phán, còn từ 10 Gbps trở lên thì hoàn toàn không có half-duplex. Vì vậy ngày nay lỗi này chủ yếu gặp ở thiết bị cũ từ 100 Mbps trở xuống, cổng quản trị và một số chặng kết nối đường truyền.
Trên đồ thị
Tăng theo số người và tải · Số late collision và lỗi CRC trên cổng, tỷ lệ truyền lại
Chỗ cần xem
Tốc độ và duplex thực tế ở cả hai đầu liên kết. Server: ethtool chạy chỉ với tên interface; switch: trạng thái cổng hoặc dot3StatsDuplexStatus trong SNMP. Xem kèm late collision (tx_window_errors trên server, dot3StatsLateCollisions trên switch) và lỗi CRC
Đúng nếu
một đầu báo half-duplex, đầu kia báo full-duplex. Mỗi lần lưu lượng tăng, phía half-duplex tăng late collision, phía full-duplex tăng lỗi CRC
Loại trừ nếu
tốc độ và duplex hai đầu giống nhau, chỉ CRC tăng → “Lỗi vật lý”. Liên kết từ 10 Gbps trở lên không có half-duplex nên loại nguyên nhân này
Cách kiểm tra
Kiểm tra bằng công cụ hạ tầng (không cần code game)

Nguồn

  1. Linux Base Driver for Intel(R) Ethernet Network Connection Linux kernel
    Chuẩn 1000BASE-T yêu cầu tự động đàm phán
  2. IEEE 802.3ae 10 Gigabit Ethernet: HSSG Objectives IEEE
    Ethernet 10 Gigabit chỉ hỗ trợ full-duplex
  3. IEEE P802.3ba Objectives IEEE
    Ethernet 40 và 100 Gigabit cũng chỉ hỗ trợ full-duplex
  4. Interface statistics Linux kernel
    tx_window_errors là số lần gửi thất bại do va chạm muộn (late collision), rx_crc_errors là số gói nhận bị lỗi CRC
  5. ethtool(8) — Linux manual page ethtool
    Các tham số speed, duplex, autoneg của ethtool -s dùng để đặt tốc độ, duplex và tự động đàm phán; chỉ truyền tên interface thì hiển thị cấu hình hiện tại
  6. RFC 3635: Definitions of Managed Objects for the Ethernet-like Interface Types IETF
    dot3StatsDuplexStatus (hiển thị duplex hiện tại là halfDuplex hoặc fullDuplex), dot3StatsLateCollisions (số late collision)

Nguyên nhân nên xem cùng

Cùng tầng: Nguyên nhân gốc của truyền lại TCP

Nguyên nhân ở tầng khác gây cùng triệu chứng (Đứng hình)

Xem thẻ gốc có hình minh họa và thí nghiệm