Сеть с потерями против перегруженной сети - PullRequest
2 голосов
/ 28 февраля 2012

Предположим, существует сеть, которая выдает много ошибок тайм-аута, когда пакеты передаются по ней.Теперь тайм-ауты могут возникать либо потому, что сама сеть по своей природе имеет потери (скажем, из-за плохого оборудования), либо может быть, что сеть сильно перегружена из-за того, что сетевые устройства между ними теряют пакеты, что приводит к тайм-аутам.Теперь, какие дополнительные статистические данные о передаваемом трафике (такие как ошибки отсутствующих пакетов и т. Д.) Необходимы, чтобы помочь нам выяснить, происходят ли тайм-ауты из-за плохого оборудования или слишком большой нагрузки на сеть.Обратите внимание, что у нас есть доступ только к одному узлу в сети (с которого мы передаем пакеты), и поэтому мы не можем узнать о нагрузке, создаваемой другими узлами в сети.Точно так же у нас нет никакой информации об оборудовании, используемом в сети.Статистика - это все, что у нас есть.

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Сетевой узел имеет только аппаратную информацию о своем локальном домене коллизий, который в стандартной сети будет кабелем, соединяющим хост с коммутатором.

Все, что стек TCP будет знать о потерянных пакетах, это то, что он не получает подтверждений, поэтому ему нужно повторно отправлять сообщения, так как не существует механизма для устройств (например, коммутаторов и маршрутизаторов) между источником и назначением, чтобы сообщить источнику, чтосуществует проблема.

Без доступа к каким-либо другим узлам единственный способ определить, является ли ваша проблема основанной на нагрузке, - это запустить тест, который отправляет согласованный трафик по сети в течение длительного периода, если пакет повторенчисло в секунду / минута / час остается тем же самым, тогда это предполагает, что есть аппаратная проблема, если потери происходят только в пиковые периоды трафика, то проблема может быть связана с нагрузкой.Конечно, может возникнуть ситуация, когда неправильно сконфигурированные проблемы с оборудованием будут проявляться только в периоды интенсивного трафика, это возвращает нас к главной проблеме, которая заключается в том, что вам необходим доступ к статистике сети из-за пределов вашего узла.

0 голосов
/ 29 февраля 2012

На практике почти все потери на путях наземной сети происходят из-за перегрузки или брандмауэров. Потери из-за битовых ошибок встречаются крайне редко. Даже в беспроводных сетях прямое исправление ошибок обрабатывает большинство ошибок бит / медиа / передачи. Перегрузка может быть вызвана множеством различных факторов: любой сетевой путь будет включать в себя десятки устройств, и если какое-либо из них будет перегружено хотя бы на мгновение, пакеты будут отброшены.

Единственный способ определить разницу между потерей пакетов, вызванной перегрузкой, и ошибками носителя - это то, что ошибки носителя будут возникать независимо от нагрузки. Другими словами, коэффициент потерь будет одинаковым, независимо от того, отправляете ли вы много или мало данных.

Чтобы проверить это, вам потребуется некоторый контроль или, по крайней мере, знание нагрузки на пути. Поскольку у вас нет контроля и вы обладаете единственными знаниями, полученными из наблюдения узла источника, лучшее, что вы можете сделать, - это брать тестовые образцы (использование ping - самое простое) круглосуточно и в течение недели, регистрируя показатели потерь и задержки. Это должно дать вам представление о том, когда путь относительно простаивает. Если уровень потерь остается значительным даже в том случае, когда путь (вероятно) не используется, может возникнуть проблема потери носителя. Но, опять же, это крайне редко.

Для справки, я написал несколько статей на эту тему:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...