Дипломная работа: Программа установки защищенных сетевых соединений с использованием протокола ISAKMP

1. Нить работы с сетью

2. Нить распределения пакетов

3. Нить выполнения первой фазы

4. Нить выполнения второй фазы

Нить работы с сетью. Задачей данной нити является непрерывная проверка порта на наличие пакета и прием запросов от других модулей на отсылку пакетов. Работа данной нити начинается с открытия порта (функция socket ) и указания адреса и порта, с которым мы будем работать[9].

struct sockaddr_in serveraddr;

if ((sockdscr = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {

printf («Server error: cannot open socket\n»);

return NULL;

}

memset (&serveraddr, 0, sizeof(serveraddr));

serveraddr.sin_family = AF_INET;

serveraddr.sin_port = htons (Conf. LocalPort);

serveraddr.sin_addr.s_addr = inet_addr (Conf. LocalAddress); if (bind(sockdscr, (struct sockaddr *)&serveraddr, sizeof(serveraddr))==-1) {

printf («Server error: cannot bind\n»);

returnNULL;

}

Как видно из данного части исходного кода программы, локальный IP адрес и номер порт берутся из конфигурации. После инициализации нить должна войти в режим ожидания и реагировать только на два события приход пакета и получение запроса на отправку пакета. Данное действие выполняется с помощью функции select . Она предназначена для слежения за несколькими дескрипторами одновременно на предмет их готовности к чтению, записи или если произошла ошибка.

#include <sys/time.h>

int select (int nfds, fd_set *readfds, fd_set *writefds,

fd_set *errorfds, struct timeval *timeout);

Первый параметр в этой функции – максимальный номер рассматриваемых дескрипторов. Три следующих параметра – массивы дескрипторов. Первый содержит номера дескрипторов, которые нужно наблюдать на предмет возможности чтения из него, второй на предмет возможности записи в него и третий на предмет возникновения в них ошибок. Последний параметр задает временной интервал, через который функция должна закончиться, если не произойдет никакого события. Данный парамет

К-во Просмотров: 169
Бесплатно скачать Дипломная работа: Программа установки защищенных сетевых соединений с использованием протокола ISAKMP