Вешаем сервак Вам всем знаком протокол SMTP - для пересылки почты. Иногда, отправляя сообщения на адрес и сделав ошибку, вы получали ответ от сервера с пометкой, что письмо доставить не удалось. Казалось бы, совершенно нормальная вещь. Но...тут я немного уйду от пояснений принципа работы sendmail'a и обращусь к оптической физике. Когда в стержне лазера образуется квант, летящий строго паралельно оптической оси, скажем, рубинового стержня, то сталкиваясь с атомами этого стержня квант будет выбивать из них другие кванты, летящие строго паралельно ему. Долетев до одного зеркала, кванты отражаются и летят обратно, наращивая своё число в геометрической прогресии. Кванты долетают до второго зеркала, отражаются...процесс повторяется. Когда мы отправляем с адреса non_existent@test1.com письмо на адрес non_existent@test2.com sendmail на сервере test2.com видит, что письмо не может быть принято (такого юзера нет и в помине) и отсылает письмо обрато, добавив туда сообщение о дате, времени ошибки USER NOT FOUND. Письмо возвращается на домен test1.com, обрастает дополнительной информацией ...процесс повторяется Когда количество квантов, носящихся туда-сюда достигает критического предела, то у пучка в совокупности набирается достаточно мощности, чтобы "выскочить" за полупрозрачное зеркало и проделать полезную работу - пробить отверстие в микроподшипнике или же сжечь вражеский космический корабль. Когда объём письма возрастает настолько, что, ходя между test1.com и test2.com на его передачу уходит львиная доля имеющегося bandwidth'a , один из серверов не выдерживает нагрузки и падает. Я лично наблюдал за процессом, как пинг до одного из доменов увеличивался, увеличивался...пока не начался сплошной timed out. В случае электротехники, мы имеем аббревиатуру Light Amplification by the Stimulated Emission of Radiation. (Усиление света в результате вынужденного излучения), что и читается как LASER. В случае IP-сетей мы имеем так же типичный лазер с рабочим телом в виде канала, квантами в виде письма и зеркалами в лице test1.com & test2.com.Только энергия используется не на благо партии, а на то, чтобы свалить сервер. Или оба. А теперь - сценарий в действии: $ telnet some.mailserver.com 25 220 ESMTP (sendmail 8.8.9) ready HELO www.test1.com 250 OK MAIL FROM: non_existent@test1.com 250 user non_existent OK RCPT TO: non_existent@test2.com 250 reciptient non_existent OK DATA 354 Send data. End with CRLF.CRLF blah QUIT
|