http://krknpk.livejournal.com/ ([identity profile] krknpk.livejournal.com) wrote in [community profile] useless_faq 2011-11-05 12:36 pm (UTC)

Для установления обычного соединения на обоих компьютерах должны быть выделены определенные ресурсы: порт, память, ресурсы ЦП. Рассмотрим протокол рукопожатия TCP с которого происходит установление соединения.
Host A sends a TCP SYNchronize packet to Host B

Host B receives A's SYN

Host B sends a SYNchronize-ACKnowledgement

Host A receives B's SYN-ACK

Host A sends ACKnowledge

Host B receives ACK.
TCP socket connection is ESTABLISHED.

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

Теперь рассмотрим наш случай гугла и яндекса. Поскольку тут идут обычные соединения, то если предположить, что один начинает виснуть,то автоматически начнет виснуть и второй (ему не будут доходить соответствующие пакеты).

Реально такое не возможно поскольку каналы такого типа постоянно контролируются и проблема решается ручками (просто могут обрубить канал).

Вот как-то так если подробно

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org