Затопление используется в алгоритмах маршрутизации компьютерных сетей , в которых каждый входящий пакет отправляется по каждому исходящему каналу, за исключением того, по которому он прибыл. [1]
Затопление используется в мостах и в таких системах, как Usenet и одноранговый обмен файлами , а также как часть некоторых протоколов маршрутизации , включая OSPF , DVMRP и те, которые используются в беспроводных сетях ad-hoc (WANET). [2]
Обычно существует два типа затопления: неконтролируемое затопление и контролируемое затопление . [ необходима ссылка ]
При неконтролируемом флудинге каждый узел безоговорочно распределяет пакеты каждому из своих соседей. Без условной логики, предотвращающей бесконечную рециркуляцию одного и того же пакета, широковещательные штормы представляют опасность.
Управляемая лавина имеет два собственных алгоритма, которые делают ее надежной: SNCF ( Sequence Number Controlled Flooding ) и RPF ( Reverse-path forwarding ). В SNCF узел прикрепляет свой собственный адрес и порядковый номер к пакету, поскольку у каждого узла есть память адресов и порядковых номеров. Если он получает пакет в памяти, он немедленно отбрасывает его, в то время как в RPF узел будет только отправлять пакет вперед. Если он получен от следующего узла, он отправляет его обратно отправителю.
Существует несколько вариантов алгоритмов затопления. Большинство из них работают примерно следующим образом:
В результате каждое сообщение в конечном итоге доставляется во все доступные части сети.
Алгоритмы могут быть более сложными, поскольку в некоторых случаях необходимо принимать меры предосторожности, чтобы избежать напрасных дублирующих доставок и бесконечных циклов, а также допустить, чтобы сообщения в конечном итоге исчезали из системы.
Вариант затопления, называемый селективным затоплением, частично решает эти проблемы, отправляя пакеты только маршрутизаторам в одном направлении. При селективном затоплении маршрутизаторы не отправляют каждый входящий пакет на каждой линии, а только на тех линиях, которые идут примерно в правильном направлении.
Преимущества этого метода в том, что он очень прост в реализации, [ требуется ссылка ] если пакет может быть доставлен, то он будет доставлен (вероятно, несколько раз), и поскольку лавинная маршрутизация естественным образом использует каждый путь в сети, она также будет использовать кратчайший путь.
Флуд может быть дорогостоящим с точки зрения траты полосы пропускания. Хотя сообщение может иметь только один пункт назначения, его необходимо отправить на каждый хост. В случае пинг-флуда или атаки типа «отказ в обслуживании» это может нанести ущерб надежности компьютерной сети .
Сообщения могут дублироваться в сети, что еще больше увеличивает нагрузку на сеть, а также требует увеличения сложности обработки для игнорирования дублирующих сообщений. Дублирующиеся пакеты могут циркулировать вечно, если не будут приняты определенные меры предосторожности:
В протоколе Open Shortest Path First (OSPF) лавинная маршрутизация используется для передачи обновлений топологии ( LSA ).
В низкоскоростной связи затопление может обеспечить быструю и надежную передачу данных в специализированных протоколах, таких как VEmesh, [3] , который работает в диапазоне частот Sub-1 GHz, и Bluetooth Mesh Networking , который работает в диапазоне частот 2,4 GHz. Оба эти протокола служат базовыми технологиями в интерфейсе цифрового адресуемого освещения, используемом в профессиональном и коммерческом управлении освещением.