Когда интерфейс сетевого коммутатора получает больше трафика, чем он может обработать, сетевой коммутатор либо буферизует его, либо сетевой коммутатор отбрасывает его.
Кэш сетевого коммутатора обычно вызван разной скоростью сетевых интерфейсов, внезапным всплеском трафика на сетевом коммутаторе или передачей трафика «многие к одному».
Наиболее распространенной проблемой, вызывающей буферизацию в сетевых коммутаторах, являются внезапные изменения трафика «многие к одному». Например, приложение построено на нескольких узлах кластера серверов. Если один из узлов одновременно запрашивает данные у сетевых коммутаторов всех остальных узлов, все ответы должны поступать на сетевые коммутаторы одновременно. Когда это происходит, трафик со всех сетевых коммутаторов перенаправляется на порт сетевого коммутатора запрашивающей стороны. Если у сетевого коммутатора недостаточно выходных буферов, сетевой коммутатор может отбросить часть трафика или увеличить задержку приложения. Адекватные буферы сетевого коммутатора могут предотвратить потерю пакетов или задержки в сети, вызванные низкоуровневыми протоколами.
Большинство современных коммутационных платформ центров обработки данных решают эту проблему с помощью общего коммутационного кэша сетевых коммутаторов. Сетевые коммутаторы имеют пул буферного пространства, выделенного для определенных портов. Кэш общего коммутатора сетевого коммутатора сильно различается в зависимости от поставщиков и платформ.
Некоторые поставщики сетевых коммутаторов продают сетевые коммутаторы, предназначенные для конкретных сред. Например, некоторые сетевые коммутаторы имеют большой буфер обработки, который подходит для сред Hadoop в сценариях передачи «многие к одному». Сетевые коммутаторы В средах, где трафик может распределяться, сетевые коммутаторы не требуют буферов на уровне коммутатора.
Буфер сетевого коммутатора очень важен, но правильного ответа на вопрос, сколько места сетевого коммутатора нам нужно, нет. Огромные буферы сетевого коммутатора означают, что сеть не пропускает трафик, но это также означает повышенную задержку сетевого коммутатора — данные, которые должны ждать, прежде чем они будут перенаправлены сетевым коммутатором. Некоторые сетевые администраторы предпочитают меньшие буферы сетевого коммутатора, позволяя приложению или протоколу обрабатывать часть трафика. Правильный ответ — понять схемы трафика сетевых коммутаторов вашего приложения и выбрать сетевой коммутатор, соответствующий этим потребностям.
