Я хочу використовувати OMNeT ++ та INET для мережімоделювання. Основна увага мого моделювання полягає в правильному поданні поведінки в часі. Отже, моделювання повинно враховувати не лише час передачі, але й те, як довго пакет затримується в межах стека. Такі затримки можуть виникати через необхідні розрахунки контрольної суми, наприклад, TCP, UDP або IPv4. Наскільки я бачив, розрахунок контрольної суми не враховується в INET, можна лише представляти неправильну контрольну суму за допомогою бітової помилки.
Але я хотів попросити тут переконатися, що я не пропустив варіант, який дозволяє врахувати такий вплив на поведінку часу.
Я вдячний за ваші відгуки.
Відповіді:
2 для відповіді № 1Ви маєте рацію, витрата часу всерединістек або час, витрачений під час обробки пакетів, не враховується і не включається в INET апріорі. Це складна тема, оскільки такі "затримки" сильно залежать від реальної системи реального життя, ситуації в системі, фактично використовуваного програмного забезпечення тощо. Навіть якщо всі види затримок обробки моделюються та включаються, одне велике питання залишиться (серед інших): Як встановити затримки? До яких значень? Як перевірити правильні параметри значення? І т.д. ...
Це обговорення убік, якщо ви хочете включитиобробку затримок, ви можете почати з моделювання їх за допомогою власних повідомлень. Щоразу, коли починається відповідна операція "затримка обробки", власне повідомлення із затримкою (фактичний час обробки) надсилається самому модулю. Коли повідомлення обробляється, фактичний код виконується і час моделювання буде просуватися.
Це, звичайно, вимагає, щоб залежні функції були заблоковані протягом тривалості обробки ... може бути складною роботою щодо впровадження таких речей у стек INET.