В настоящее время я использую следующую команду в Linux, чтобы получить подробную информацию о сетевых проблемах.
tshark -r file.pcap -q -z io,stat,1,\
"COUNT(tcp.analysis.retransmission) tcp.analysis.retransmission",\
"COUNT(tcp.analysis.duplicate_ack)tcp.analysis.duplicate_ack",\
"COUNT(tcp.analysis.lost_segment) tcp.analysis.lost_segment",\
"COUNT(tcp.analysis.fast_retransmission) tcp.analysis.fast_retransmission"
Это выводит красивую таблицу с большим количеством полезной информации. Однако я хотел бы знать, какие еще столбцы я мог бы добавить, чтобы получить больше таких вещей, как неправильные контрольные суммы, и что-то, что может указывать на перегрузку сети. Практически все, что нужно, чтобы указать на проблемы с производительностью.
Сетевая перегрузка обычно хорошо обрабатывается самим TCP, используя либо медленный старт, предотвращение перегрузки, или быстрая передача / быстрое восстановление алгоритмы, описанные в RFC 2581. TCP попытается исправить ситуацию до того, как произойдет значительная перегрузка.
Теперь, если вы находитесь в очень частном случае, вы можете добавить измерение RTT и его дисперсию, отслеживать размер окна отправителя (cwnd) и отслеживать появление флагов CWR и ECE.
PS: Обработка контрольной суммы обычно передается драйверу сетевой карты, поэтому это не будет хорошей метрикой для мониторинга, поскольку в инструментах на основе libpcap она будет отображаться некорректно.