@MikhailBond
Студент магистратуры

Как можно представить атаку RUDY в модели, средствами GPSS?

Помогите мозгами!)
Ситуация следующая, необходимо смоделировать атаку типа RUDY на web-сервер, представленный как СМО, средствами GPSS.
Принцип атаки заключается в медленной, побитовой отправки кадров полного пакета данных отправляемых на сервер, то есть:
1) Сервер должен получить запрос
2) Зарезервировать под него ресурсы и ждать получения полного пакета.
Проблема возникает в следующем:
1) GPSS работает с множеством однородных генерируемых транзактов (читай запросов к СМО).
2) Запросы приходят с определенной интенсивностью, ну соответственно с приближенно равной задержкой устройств обработки.
3) Вся описанная программа на GPSS - есть 1 итерация глобально заложенного цикла, то есть все операторы есть путь 1 транзакта.
По этой задаче написал простую модель генерирующую запросы и блоки сервера для обработки, из-за отсутствия решения вопроса задержку установил в 72сек (сюда входит ожидание всех 48 кадров и их обработка).
ВОПРОС: можно ли как то все таки реализовать модель с учетом каждого отдельного пакета сборки их в запрос и дальнейшей обработки?
Интенсивность у запроса порядка 200 в секнду, кадры же пакета приходят с задержкой в 1-2 секунды друг от друга.
И что бы сервер начинал ожидать кадров транзакт запроса должен занять собой ОЗУ и ЦПУ, и потом уже ожидать остальные части пакета, пока он не соберется и не обработается с задержкой свойственной для единичного запроса.

RAM    STORAGE 1024		; Объем пула ОЗУ
       GENERATE (EXPONENTIAL(1,0,6))	; Генерация потока заявок 1 заявка приходит в промежутке от 4 до 8мс, что приближено к 200 запросам в секунду
       TEST LE Q$BUF,1000,LBL	; Проверка переполнения буфера очереди и перенаправление на сброс пакетов при не выполнении условия
       QUEUE BUF		; Постановка запроса в очередь
       ENTER RAM,2		; Занятие ОЗУ(в среднем страничка сегодня весит 2Мб)
       DEPART BUF		; Выход запроса из очереди
       SEIZE CPU		; Занимаем Процессор
       ADVANCE (EXPONENTIAL(1,0,72000))	; задержка обработки запроса процессором в мс
       RELEASE CPU		; Освобождение процессора от запроса
       LEAVE RAM		; Освобождение ОЗУ
       TERMINATE 0		; Завершение цикла обработки запроса

LBL    SAVEVALUE DENIAL+,1	; Счетчик запросов, которые не попали в очередь на обработку из-за переполнения буфера
       TERMINATE 0		; Завершение цикла обработки запроса

       GENERATE 60000	; через 60 секунд сгенерируется транзакт, завершение которого остановит программу
       TERMINATE 1		; Завершение программы
       START 1		; Первоначальный счетчик итераций
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы