Tin tức và phân tích của tất cả các thiết bị di động

Khắc phục sự cố độ trễ mạng với Wireshark

Độ trễ mạng là độ trễ trong việc truyền yêu cầu hoặc dữ liệu từ nguồn đến đích trong hệ sinh thái mạng. Hãy xem cách bạn có thể khắc phục sự cố lag mạng.

Bất kỳ hành động nào liên quan đến việc sử dụng mạng, chẳng hạn như mở trang web, nhấp vào liên kết hoặc mở ứng dụng và chơi trò chơi trực tuyến, đều được gọi là hoạt động. Hoạt động của người dùng là một yêu cầu và thời gian phản hồi của ứng dụng web là thời gian cần thiết để phản hồi yêu cầu đó.

Thời gian trễ này cũng bao gồm thời gian cần thiết để máy chủ hoàn thành yêu cầu. Do đó, nó được gọi là khứ hồi – thời gian cần thiết để người dùng đăng ký, xử lý và sau đó nhận được yêu cầu, nơi yêu cầu được giải mã.

Thuật ngữ “độ trễ thấp” dùng để chỉ độ trễ tương đối ngắn trong quá trình truyền dữ liệu. Mặt khác, độ trễ cao hoặc độ trễ quá mức là điều không mong muốn vì nó làm giảm trải nghiệm người dùng.

Cách khắc phục mạng lag?

Có nhiều công cụ và chương trình có sẵn trên Internet để phân tích và khắc phục sự cố mạng. Một số được trả tiền và một số miễn phí. Tuy nhiên, có một công cụ gọi là Wireshark, đây là một ứng dụng mã nguồn mở và được cấp phép GPL để chụp các gói dữ liệu trong thời gian thực. Wireshark là công cụ phân tích giao thức mạng phổ biến nhất và được sử dụng nhiều nhất trên thế giới.

Nó sẽ giúp bạn nắm bắt các gói mạng và hiển thị chúng một cách chi tiết. Bạn có thể sử dụng các gói này để phân tích thời gian thực hoặc ngoại tuyến sau khi chụp các gói mạng. Ứng dụng này cho phép bạn kiểm tra lưu lượng mạng dưới kính hiển vi, lọc nó và đi sâu vào để tìm nguồn gốc của vấn đề, giúp phân tích mạng và cuối cùng là bảo mật mạng.

Điều gì gây ra độ trễ mạng?

Một số nguyên nhân chính dẫn đến kết nối mạng chậm bao gồm:

  • chậm trễ lớn
  • phụ thuộc ứng dụng
  • mất gói
  • Chụp thiết bị
  • Kích thước cửa sổ không hiệu quả

Trong bài viết này, chúng ta sẽ xem xét từng nguyên nhân gây ra tình trạng lag mạng và cách khắc phục sự cố Wireshark.

Nghiên cứu sử dụng Wireshark

chậm trễ lớn

Độ trễ cao đề cập đến thời gian cần thiết để truyền dữ liệu từ điểm cuối này sang điểm cuối khác. Tác động của độ trễ cao đối với truyền thông mạng là rất lớn. Trong sơ đồ bên dưới, chúng ta sẽ xem xét thời gian tải xuống tệp khứ hồi trên kênh có độ trễ cao làm ví dụ. Thời gian trễ khứ hồi thường có thể vượt quá một giây, điều này là không thể chấp nhận được.

  • Chuyển đến số liệu thống kê của Wireshark.
  • Chọn Biểu đồ luồng TCP.
  • Chọn biểu đồ thời gian khứ hồi để xem mất bao lâu để tải xuống một tệp.

Wireshark được sử dụng để tính toán thời gian khứ hồi trên một đường dẫn để xem liệu đây có phải là nguyên nhân khiến hiệu suất mạng truyền thông của Giao thức Điều khiển Truyền dẫn (TCP) bị lỗi hay không. TCP được sử dụng trong nhiều ứng dụng bao gồm lướt Internet, truyền dữ liệu, giao thức truyền tệp và nhiều ứng dụng khác. Trong nhiều trường hợp, hệ điều hành có thể được sửa đổi để chạy hiệu quả hơn trên các kênh có độ trễ cao, đặc biệt khi các máy chủ sử dụng Windows XP.

phụ thuộc ứng dụng

Một số ứng dụng phụ thuộc vào các ứng dụng, quy trình hoặc giao tiếp khác với máy chủ. Ví dụ: giả sử ứng dụng cơ sở dữ liệu của bạn dựa vào việc kết nối với các máy chủ khác để tìm nạp các mục cơ sở dữ liệu. Trong trường hợp này, hiệu suất kém trên các máy chủ khác này có thể làm giảm thời gian tải của ứng dụng cục bộ.

Lấy ví dụ, trình duyệt web nơi máy chủ đích đề cập đến một số trang web khác. Ví dụ: để tải trang chính của trang web, www.espn.com, trước tiên bạn phải truy cập 16 máy chủ cung cấp quảng cáo và nội dung cho trang web chính www.espn.com.

Trong hình trên, cửa sổ Phân phối tải HTTP của Wireshark liệt kê tất cả các máy chủ được sử dụng bởi trang chủ www.espn.com.

mất gói

Một trong những vấn đề phổ biến nhất trong mạng là mất gói tin. Mất gói xảy ra khi các gói dữ liệu không được gửi đúng cách từ người gửi đến người nhận qua internet. Khi người dùng truy cập một trang web và bắt đầu tải xuống các thành phần của trang web, các gói bị bỏ sót sẽ gây ra việc truyền lại, khiến quá trình tải xuống trên Internet trở nên đáng tin cậy hơn và làm chậm quá trình tải xuống tổng thể.

Ngoài ra, khi một ứng dụng sử dụng TCP, các gói bị thiếu có tác động đặc biệt tiêu cực. Khi kết nối TCP phát hiện gói bị rớt, thông lượng sẽ tự động giảm xuống để bù đắp cho các sự cố mạng.

Nó dần dần cải thiện thành tốc độ dễ chấp nhận hơn cho đến khi gói tiếp theo bị loại bỏ, dẫn đến giảm đáng kể thông lượng dữ liệu. Việc tải xuống các tệp lớn lẽ ra phải chạy liên tục qua mạng sẽ bị mất gói rất nhiều.

Mất gói trông như thế nào? Đây là điều gây tranh cãi. Mất gói có thể có hai dạng nếu chương trình của bạn đang chạy trên TCP. Trong một ví dụ, người nhận theo dõi các gói dựa trên số thứ tự của chúng và phát hiện một gói bị thiếu. Máy khách gửi ba yêu cầu cho gói bị thiếu (xác nhận kép), dẫn đến việc gửi lại. Khi người gửi thông báo rằng người nhận chưa xác nhận đã nhận gói dữ liệu, người gửi sẽ hết thời gian chờ và gửi lại gói dữ liệu.

Wireshark chỉ ra rằng tắc nghẽn mạng đã xảy ra và nhiều xác nhận khiến lưu lượng có vấn đề được truyền lại bằng cách mã hóa màu cho nó. Một số lượng lớn các xác nhận trùng lặp cho biết mất gói và độ trễ mạng đáng kể.

Để cải thiện tốc độ mạng, điều quan trọng là xác định chính xác nơi các gói bị mất. Khi mất gói xảy ra, chúng tôi di chuyển Wireshark dọc theo đường dẫn cho đến khi không còn thấy mất gói nữa. Tại thời điểm này, chúng tôi đang “đứng đầu” về điểm rớt gói, vì vậy chúng tôi biết nơi cần tập trung các nỗ lực gỡ lỗi của mình.

Chụp thiết bị

Cảnh sát lưu lượng mạng đang kết nối các thiết bị đưa ra lựa chọn chuyển tiếp, chẳng hạn như bộ chuyển mạch, bộ định tuyến và tường lửa. Đối với trường hợp mất gói, hãy điều tra các thiết bị này như một nguyên nhân có thể xảy ra.

Các thiết bị liên kết này có thể thêm độ trễ cho đường dẫn. Ví dụ: nếu bật ưu tiên lưu lượng truy cập, chúng tôi có thể thấy độ trễ bổ sung được đưa vào luồng có mức độ ưu tiên thấp.

Kích thước cửa sổ không hiệu quả

Ngoài hệ điều hành Microsoft, còn có các “cửa sổ” khác trên mạng TCP/IP.

  • cửa sổ trượt
  • cửa sổ nhận
  • Cửa sổ kiểm soát quá tải

Các cửa sổ này đóng góp vào hiệu suất của giao tiếp mạng dựa trên TCP. Hãy bắt đầu bằng cách xác định từng cửa sổ này và ảnh hưởng của chúng đối với thông lượng mạng.

cửa sổ trượt

Sau khi xác nhận dữ liệu, cửa sổ trượt được sử dụng để quảng cáo các phân đoạn TCP tiếp theo trong mạng. Người gửi nhận được xác nhận cho các đoạn dữ liệu đã gửi, cửa sổ trượt mở rộng. Miễn là không có đường truyền nào bị mất trong mạng, thì có thể truyền nhiều dữ liệu hơn. Khi một gói bị mất, cửa sổ trượt sẽ co lại vì mạng không thể đối phó với lượng dữ liệu tăng lên trên đường truyền.

cửa sổ nhận

Cửa sổ bộ thu ngăn xếp TCP là không gian bộ đệm. Khi dữ liệu được nhận, nó sẽ được lưu trữ trong không gian bộ đệm này cho đến khi ứng dụng nhận được. Cửa sổ nhận đầy khi ứng dụng không thể theo kịp tốc độ nhận, cuối cùng dẫn đến kịch bản “không cửa sổ”. Tất cả việc truyền dữ liệu đến máy chủ phải được dừng lại khi máy thu thông báo trạng thái cửa sổ bằng không. Thông lượng giảm xuống bằng không. Một phương pháp được gọi là chia tỷ lệ cửa sổ (RFC 1323) cho phép máy chủ tăng kích thước cửa sổ máy thu và giảm khả năng xảy ra kịch bản không cửa sổ.

Hình trên cho thấy độ trễ 32 giây trong giao tiếp mạng do kịch bản không có cửa sổ.

cửa sổ tắc nghẽn

Cửa sổ tắc nghẽn xác định lượng dữ liệu tối đa mà mạng có thể xử lý. Tốc độ truyền gói của người gửi, tỷ lệ mất gói mạng và kích thước cửa sổ của người nhận đều cộng lại bằng con số này. Cửa sổ tắc nghẽn tiếp tục phát triển trong quá trình giao tiếp mạng thông thường cho đến khi quá trình truyền hoàn tất hoặc đạt đến “giới hạn” do trạng thái của mạng đặt. Khả năng phát sóng của người gửi hoặc kích thước cửa sổ người nhận. Mỗi kết nối mới sẽ khởi động lại quy trình thương lượng kích thước cửa sổ.

Lời khuyên cho một mạng khỏe mạnh

  • Tìm hiểu cách sử dụng Wireshark làm tác vụ phản hồi đầu tiên để phát hiện nguồn gốc của hiệu suất thấp một cách nhanh chóng và hiệu quả.
  • Xác định nguồn gốc của độ trễ đường dẫn mạng và nếu có thể, hãy giảm nó xuống mức có thể chấp nhận được.
  • Xác định vị trí và loại bỏ nguồn mất gói.
  • Kiểm tra kích thước của cửa sổ truyền dữ liệu và giảm bớt nếu có thể.
  • Kiểm tra hiệu suất của các thiết bị chụp để xem chúng có thêm độ trễ hoặc làm rớt gói không.
  • Tối ưu hóa các ứng dụng để chúng có thể phân phối lượng dữ liệu lớn hơn và nếu có thể, lấy dữ liệu từ cửa sổ máy thu.

Tóm tắt 👨‍🏫

Chúng tôi đã đề cập đến nguyên nhân gốc rễ của các vấn đề về hiệu suất mạng, nhưng một yếu tố không nên bỏ qua là thiếu hiểu biết về hành vi giao tiếp mạng. Wireshark cung cấp khả năng hiển thị mạng giống như tia X và quét CT cung cấp cái nhìn sâu sắc về cơ thể con người để chẩn đoán chính xác và nhanh chóng. Công cụ này đã trở thành một công cụ thiết yếu để định vị và chẩn đoán các sự cố mạng.

Bây giờ, bạn nên điều tra và khắc phục sự cố hiệu suất mạng của mình bằng một số bộ lọc và công cụ sử dụng Wireshark. 👍