Дипломная работа: Автоматизация учета и обработки данных по использованию трафика ЛВС для АО "БИТК"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
Меню
NetFlowCollector
Отделы
Сотрудники
Порты
NetFlowAnalyser
Запуск
Настройки
Остановка
Выход
Протоколы
Ресурсы Сети
Общие сведения Трафик
Настройки
Главная
экранная форма
Очистить
NetFlowSimulator
Запуск
Настройки
Список
Добавить
Редактировать
Удалить
Список
Добавить
Редактировать
Удалить
Список
Добавить
Редактировать
Удалить
Список
Добавить
Редактировать
Удалить
Список
Добавить
Редактировать
Удалить
Список
Добавить
Редактировать
Удалить
Отчет Отчет
Соединения
Рисунок 2.18 Сценарий диалога системы
2.3.2 Характеристика базы данных
Инфологическая (концептуальная) модель это формализованное
описание предметной области, выполненное безотносительно к используемым в
дальнейшем программным и техническим средствам.[3] Инфологическая модель
должная быть динамической и позволять легкую корректировку. К основным
требованиями, предъявляемым к инфологической модели, можно отнести
следующие:
инфологическая модель должна содержать всю необходимую и
достаточную информацию для последующего проектирования базы данных;
инфологическая модель должная быть понятна лицам,
принимающим участие в создании системы.
ER-модель представляет собой логическую структуру информации об
объектах системы. Компонентами ER-модели являются сущности (объекты) и
отношения вязи между объектами). Объект имеет множество реализаций или
экземпляров. Экземпляр объекта образуется совокупностью конкретных значений
реквизитов и должен однозначно определяться, т.е. идентифицироваться
значением ключа объекта, который состоит из одного ли нескольких ключевых
реквизитов.
Для отображения отношений между сущностями используются связи.
Связи существуют, если экземпляры сущностей логически взаимосвязаны.
В разработанном приложении используется база данных, состоящая из
семи таблиц. Физическая модели базы данных представлена на рисунке 2.19.
Рисунок 2.19 Физическая модели базы данных
В базе данных содержатся следующие таблицы:
1.. Protocol содержит данные об анализируемых протоколах;
2.. Netflowrecord содержит записи об использовании трафика;
3.. Localnetwork - содержит записи о локальных сетях;
4.. Employee - содержит записи о сотрудниках компании;
5.. Department - содержит записи об отделах компании;
6.. Resource - содержит записи об источниках трафика;
7.. Port - содержит записи о портах.
Описание полей таблицы Netflowrecord приведено в таблице 2.5.
Таблица 2.5
Описание полей Netflowrecord
Название
поля
Описание
date
Дата
srcaddr
адрес источника данных
srcport
Номер порта источника данных (4-го уровня сетевой модели)
src_as
Номер автономной системы источника данных
src_mask
Маска адреса источника данных
dstaddr
адрес приемника данных
dstport
Номер порта приемника данных (4-го уровня сетевой модели)
dst_as
Номер автономной системы приемника данных
dst_mask
Маска адреса приемника данных
prot
Протокол 4-го уровня (например, 6=TCP, 17=UDP и т.п.)
dOctets
Количество байт в потоке
Описание полей таблицы Employee приведено в таблице 2.6.
Таблица 2.6
Описание полей Employee
Название поля
Описание
id
Код записи
First_name
Фамилия
Second_name
Отчество
Middle_name
Имя
Id_departament
Код отдела
address
IP адрес
Address_int
Адрес инициации
mask
Маска адреса
Traffic_quota
Квота трафика
Остальные таблицы содержат только наименование и код записи.
2.3.3 Структурная схема пакета ерево вызова программных
модулей)
Пакет пятой версии NetFlow имеет следующую структуру (N - находится в
диапазоне от 1 до 30) (таблица 2.7).
Таблица 2.7
Структура пакета NetFlow5
Заголовок
пакета
Запись 1
Запись 2
Запись N
Заголовок пакета NetFlow5
Номера
байтов
Данные
Описание
0-1
version
Версия протокола NetFlow нашем случае
всегда равно 5)
2-3
count
Количество записей в пакете (1-30)
4-7
sys_uptime
Current time in milliseconds since the export
device booted
8-11
unix_secs
Current count of seconds since 0000 UTC 1970
12-15
unix_nsecs
Residual nanoseconds since 0000 UTC 1970
16-19
flow_sequence
Sequence counter of total flows seen
20
engine_type
Type of flow-switching engine
21
engine_id
Slot number of the flow-switching engine
22-23
sampling_interval
First two bits hold the sampling mode;
remaining 14 bits hold value of sampling
interval
Прием пакетов, их разбор и запись пакетов в базу данных выполняются в
фоновом потоке. Это позволяет не допускать «промерзания» интерфейса
коллектора, что делает приложение простым в управлении для пользователя.
Необходимость фоновых вычислений обусловлена тем, что для получения
пакетов NetFlow5 мы используем механизм сокетов (таблица 2.8).
Таблица 2.8
Структура Записи NetFlow5
Запись (record) NetFlow5
Номера
байтов
Данные
Описание
0-3
srcaddr
адрес источника данных
4-7
dstaddr
адрес приемника данных
8-11
nexthop
адрес следующего сетевого устройства
(маршрутизатора), через которых будут пересылаться
пакеты данных
12-13
input
Входной интерфейс
14-15
output
Выходной интерфейс
16-19
dPkts
Количество пакетов в потоке
20-23
dOctets
Количество байт в потоке
24-27
first
Время начала потока в системе SysUptime
28-31
last
Время SysUptime, когда последний пакет потока был
получен
32-33
srcport
Номер порта источника данных (4-го уровня сетевой
модели)
34-35
dstport
Номер порта приемника данных (4-го уровня сетевой
модели)
36
pad1
Неиспользуемые байты
37
tcp_flags
TCP флаги
38
prot
Протокол 4-го уровня (например, 6=TCP, 17=UDP и т.п.)
39
tos
Тип сервиса IP протокола
40-41
src_as
Номер автономной системы источника данных
42-43
dst_as
Номер автономной системы приемника данных
44
src_mask
Маска адреса источника данных
45
dst_mask
Маска адреса приемника данных
46-47
pad2
Неиспользуемые байты
Основные этапы процедуры фонового процесса показаны в таблице 2.9.
Таблица 2.9
Основные этапы процедуры фонового процесса
Название этапа
Описание этапа
1. Инициализац
ия компонента
записи пакетов
NetFlow5 в базу
данных
«NetFlowWriter» - класс, реализующий функциональность
компонента записи
2. Создание
UDP сокета для
приема пакетов
NetFlow5
На данном этапе выполняется создание и настройка
«слушающего» сокета (задается порт сокета и адрес
источника пакетов NetFlow5 (адрес сенсора))
3. Запуск цикла
приема пакетов
На данном этапе создается бесконечный цикл, в котором
выполняется последовательность процедур 4, 5, 6.
4. Прием пакета
Выполняется вызов процедуры сокета «ReceiveFrom». Сокет
переводится в режим ожидания датаграммы (пакета
NetFlow5). Если сокет получил датаграмму, то переходим к
пункту 5.
5. Разбор пакета
На данном этапе выполняется разбор полученной (методом
«ReceiveFrom») последовательности байтов.
6.
За разбор пакета отвечают следующие классы:
«NetFlowHeader» - класс, отвечающий за разбор заголовка
пакета NetFlow5;
«NetFlowRecord» - отвечает за разбор одной записи (record) из
пакета;
«NetFlowPacket» - отвечает за разбор пакета NetFlow5,
Источник: https://baza.diplomsite.ru/previewfile/2370