Мультиплексирование разнесенного TCP/IP трафика
Основные понятия и принципы сетевого программного обеспечения. Классификация систем защиты информации от несанкционированного доступа и их защита. Протокол сеансового уровня SOCKS. Описание, принципы действия основных инструментов отладки, мониторинга.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 10.03.2013 |
Размер файла | 919,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Шифрование методом публичного ключа использует "public key" для шифрации и "private key" для дешифрации данных /5/.
5.2 Программа сетевого анализа netstat
Ядро операционной системы ведет разнообразную статистику об объектах, имеющих отношение к сети.
Эту информацию можно получить с помощью программы netstat. Так, например можно получать необходимую информацию об активных сокетах.
Хотя, netstat выдает информацию о разных типах сокетов, интерес представляют только соеты из адресных доменов inet(AF_INET). Это можно сделать при вызове netstst с опцией -f inet. По умолчанию сокеты, привязанные к адресу INADDR_ANY, не выводятся, но этот режим отключается опцией -a.
В данном случае, Proto - тип используемого протокола. Recv-Q, Send-Q-статистика сокета, Local Address, Foreign Address - адреса локальной, удаленной стороны. Слово LISTEN в колонке state означает, что сервер ждет запроса от клиента. Далее приведем вывод для сервера доменных имен, работающего на машине bsd:
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 localhost.domain *.* LISTEN
tcp 0 0 bsd.domain *.* LISTEN
udp 0 0 localhost.domain *.*
udp 0 0 localhost.domain *.*
При обращении к серверу эхо-контроля с помощью telnet появится соединение в состоянии ESTABLISHED (установлено):
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 localhost.7501 localhost.domain ESTABLISHED
tcp 0 0 localhost.domain localhost.7501 ESTABLISHED
Поскольку соединение производилось с локальной машины, в выдаче netstat соединение присутствует дважды: один раз для клиента, а другой - для сервера.
После завершения работы клиента и запуска netstat, сокет переходит в состояние TIME-WAIT. В колонке state могут появляться и другие значения. С помощью netstat можно также получить информацию об интерфейсах, и о маршрутной таблице.
5.3 Использование программы tcpdump
tcpdump - сетевой анализатор (sniffer), состоит из двух компонент: первая работает в ядре и занимается перехватом и, возможно фильтрацией пакетов, а вторая действует в адресном пространстве пользователя и определяет интерфейс пользователя, а также выполняет форматирование и фильтрацию пакетов, если последнее не делается ядром.
Пользовательская компонента tcpdump взаимодействует с компонентой в ядре при помощи библиотеки libpcap (для перехвата пакетов), взаимодействующей с пакетным фильтром BPF (BSD packet filter), которая абстрагирует системно-зависимые детали общения с канальным уровнем стека протоколов. Этот процесс изображен на рис. 5.1. Показано, как tcpdump считывает необработанные пакеты с помощью BPF, а также изображено еще одно приложение, читающее данные из стека TCP/IP. В случае вызова tcpdump без параметров, он перехватывает все пакеты и выводит информацию о них. Однако полезнее указать какой-нибудь фильтр, чтобы видеть только нужные пакеты и не отвлекаться на остальные.
Перехват пакетов с помощью BPF
Рис. 5.1
Для отражения всех пакетов, прошедших через сетевой интерфейс ed1 необходимо вызвать tcpdump с ключом -i ed1. А для сохранения сеанса в файл на диске используется выражение > tee имя-файла. tcpdump позволяет варировать настройками фильтра, позволяет получать данные внутри пакета, выводит разнообразную информацию /6/.
5.4 Программа исследования топологии сети traceroute
Утилита traceroute - это важный инструмент для нахождения ошибок маршрутизации, изучения трафика в Internet и исследования топологии сети /3/. Когда маршрутизатор получает датаграмму, у которой в поле TTL находится единица (или нуль), он отбрасывает ее и посылает отправителю ICMP-сообщение «истекло время в пути».
Программа traceroute использует это свойство. Сначала она посылает получателю UDP-датаграмму, в которой TTL установлено в единицу. Когда дата-грамма доходит до первого маршрутизатора, тот определяет, что поле TTL равно единице, отбрасывает датаграмму и посылает отправителю ICMP-сообщение. Так можно узнать адрес первого промежуточного узла (из поля «адрес отправителя» в заголовке ICMP). И traceroute пытается выяснить его имя с помощью функции gethostbyaddr. Чтобы получить информацию о втором узле, traceroute повторяет процедуру, на этот раз установив TTL равным двум и т.д.
Когда датаграмма с достаточно большим начальным значением TTL наконец доходит до получателя, TTL будет равно единице, но, поскольку дальше переправлять датаграмму некуда, стек TCP/IP попытается доставить ее ожидающему приложению. Однако traceroute установлено в качестве порта назначения такое значение, которое вряд ли кем-то используется, поэтому хост-получатель вернет ICMP-сообщение «порт недоступен». Получив такое сообщение, traceroute определяет, что конечный получатель обнаружен, и трассировку можно завершить.
Некоторые маршрутизаторы ошибочно переправляют далее датаграммы, в которых TTL равно нулю. Если такое происходит, то следующий маршрутизатор, например N + 1, отбросит датаграмму и вернет ICMP-сообщение «истекло время в пути» (рис.5.2). На дальнейшей итерации маршрутизатор N + 1 получит датаграмму со значением TTL, равным единице, и вернет обычное ICMP-сообщение. Таким образом, маршрутизатор N + 1 появится дважды: первый раз в результате ошибки предыдущего маршрутизатора, а второй - после корректного отбрасывания датаграммы с истекшим временем работы.
Схема работы программы traceroute
Рис.5.2
Еще одна проблема, встречающаяся, к сожалению, все чаще, состоит в том, что маршрутизаторы полностью блокируют все ICMP-сообщения. В таких условиях traceroute становится бесполезной, поскольку первый же такой узел, встретившийся на маршруте к получателю, с точки зрения traceroute ведет себя как «черная дыра». Никакая информация от последующих узлов не доходит, так как этот маршрутизатор отбрасывает и сообщение «истекло время в пути», и сообщение «порт недоступен».
6. Описание системы мультиплексирования tcp/ip трафика, запуск, мониторинг, контроль работы
6.1 Принцип работы системы
Пусть необходимо передать информацию с одного компьютера (демультиплексора) на другой (мультиплексор), обеспечивая при этом некоторую безопасность передачи данных. Основная идея заключается в разнесении и передаче, по нескольким физическим каналам, отдельных частей передаваемого текста:
1) c физической точки зрения перехват (доступ к каналам связи) всех частей текста затруднителен;
2) представляет сложность восстановление исходного текста без какой-либо его части.
На рис. 6.1, представлена одна из структур сети, где этот принцип может быть использован.
Структура сети с резервированием
Рис. 6.1
Такой тип сетей очень распространен, например, компания “Транстелеком”, акционерами которой являются все Российские железные дороги, частично резервирует системой спутниковой связи основные каналы передачи данных по волоконно-оптическому кабелю на случай выхода последних из строя.
На рис.6.1 можно выделить два очевидных маршрута. В первом случае часть потока направляется от демультиплексора через router1 к антенне 1, далее, по спутниковому каналу, через спутник 1 и Антенну 2, происходит дальнейшая трансляция router-ом 3 в Передатчик 1. Там пакеты, обрабатываются и снова отправляются через Router 3, но уже в радиоканал Антена3 - Спутник2 - Антена4, достигая шлюза (router2) и мультиплексора. В. Вторым путем передачи можно считать цепочку Демультиплексор-Router1-Router4-Передатчик2-Router4-Router2-Мультиплексор. Таким способом трафик разбивается по двум различным маршрутам. Система работает на прокладном уровне пользуясь услугами транспортного и нижними уровнями TCP/IP, а именно (TCP, IP, протоколами канального уровня). Это означает полное отсутствие привязки к протоколам верхнего уровня, так как программы системы сами представляют собой приложения высоких уровней. На (рис.6.2) показано взаимодействие системы со стеком протокола ТCP/IP.
Взаимодействие системы со стеком протокола TCP/IP
Рис 6.2
Данные приложения на демультиплексоре разбиваются (демультиплексируются) на две части, в соответствии с алгоритмом работы программы, передавая каждую часть своему TCP приложению. Каждое из TCP приложений, совместно с TCP приложением на соответствующем передатчике заботится о надежной доставке передаваемых данных от демультиплексора к передатчику. После обработки данных на уровне TCP пакеты передаются уровню IP. В заголовке полученного IP - пакета в поле отправитель стоит IP-адрес демультиплексора, а в поле получатель - IP адрес передатчика. Система Router-ов занимается маршрутизацией IP - пакета в сети опираясь на адрес получателя, и таблицу маршрутизации. На передатчике данные пройдя стек TCP и IP попадают в приложение, которое снова посылает их в сеть, но уже в другое TCP/IP соединение (от передатчика к мультиплексору). В мультиплексоре приложение собирает (мультиплексирует) исходный текст из двух TCP/IP соединений "зная" правило (коэффициенты) мультиплексирования. Любое из приложений не заботится о правильности доставки данных, опираясь на TCP. Таким образом на рис. 6.2 установлено 4 TCP/IP соединения, два между демультиплексором к передатчиками и два между передатчиками и мультиплексором.
Данное расположение в стеке позволяет работать с потоком данных, позволяя осуществлять мультиплексирование любых фрагментов текста. Более того, работая на прикладном уровне не требуется каких либо изменений в ядре операционной системы, и использования специальных библиотек с которыми скомпилировано ядро, т.к. в большинстве случаев это проблематично.
В силу сказанного можно объяснить необходимость присутствия Передатчиков 1 и 2. Так как, работая на уровнях ниже 3-го, мы не можем оперировать прохождением пакетов через те или иные устройства, в силу недоступности и невозможности изменения правил маршрутизации, то остается способ выделения виртуального канала на основе промежуточных пунктов прохождения трафика. Таким образом, можно принудительно задавать пункты, выстраивая их в цепь. В качестве таких пунктов и работают передатчики. Исходя из плотности расположения передатчиков, можно так же рассуждать о возможном пути следования пакетов. Если от пункта А до пункта Б в каждом сетевом узле будет находиться передатчик, то путь трафика однозначно определен как показано на рис 6.3, и поток от A до C пройдет строго через пункт B.
Прохождение трафика через промежуточный пункт
Рис. 6.3
Способ выстраивания в цепь, обеспечивает дополнительную анонимность нашим данных, т.к. все пакеты в сети будут проходить имея в своих ip заголовках в поле “адрес отправителя” - ip адрес последнего промежуточного пункта, а в поле “адрес получателя” - ip адрес следующего.
Таким образом, идентификаторы отправителя и получателя злоумышленнику будут неизвестны, а, следовательно, и о принадлежности передаваемых данных, на основе этих параметров, ничего сказать нельзя.
Это аналогично тому, что при использовании маршрутизации 3-го уровня (ip), ничего нельзя говорить о mac - адресах начального и конечного пунктов передачи данных.
Значения полей (отправителя и адресата) в заголовках пакетов разных уровней и их изменения при прохождении участков сети показаны на рис.6.4.
Заголовки пакетов разных уровней
Рис. 6.4
На данном рисунке приведена диаграмма изменения полей в пакетах mac, ip, соответствующая маршруту движения пакетов от демультиплексора к мультиплексору, через передатчик.
В последней строке показана цепь установленных tcp/ip соединений. Вертикальными стрелками показаны правила изменения полей в пакетах нижнего уровня на основе заголовков в пакете верхнего.
Так, например mac адрес в Ethernet пакете изменяется на основе ip - адреса в ip пакете и на основе таблицы маршрутизации.
Если рассматривать изменение ip -адреса при прохождении данных по цепочке от демультиплексора к мультиплексору, то оно осуществляется благодаря трансляции потока передатчиком из одного tcp/ip соединения в другое (маршрутизация на сеансовом уровне).
С точки зрения сетевых устройств элементы данной системы имеют вид, показанный на рис. 6.5 (стрелки - направление передачи данных, пунктирные стрелки - направление установления соединения).
Демультиплексор - сервер.
Первое что он делает, принимает соединения от передатчиков.
Сетевая архитектура системы
Рис. 6.5
После установления двух соединений начинается процесс передачи и демультиплексирования. Из буфера стандартного входа (STDIN), считывается часть потока данных, согласно коэффициентам мультиплексирования, и посылается в первый установленный сокет. После этого снова происходит считывание части потока, но данные уже посылаются во второй сокет, и т.д. Исполнение программы происходит, до получения сигнала SIGINT (прерывание от терминала), после чего все сокеты переходят в состояние TIME-WAIT, и работа завершается. Мультиплексор, как и демультиплексор - сервер, но его отличие в том, что он читает из сокетов фрагменты соответствующей длины, и помещает их в буфер стандартного выхода (STDOUT). Во многом другом, их принципы схожи. Передатчик совмещает в себе совокупность из двух клиентских частей, каждая из которых подключается к соответствующему серверу, образуя пару сокетов. После успешного установления соединений происходит считывание байта из входящего сокета (от демультиплексора) и его запись в исходящий сокет (мультиплексору). Разумеется, запуск передатчиков-клиентов производиться после запуска серверов (мультиплексора и демультиплексора).
Данная схема мультиплексирования представлена на рис. 6.6.
Мультиплексирование с задаными коэффициентами
Рис. 6.6
6.2 Листинги программ и их описание
Листинги программ написаны на языке Си, под операционную систему FreeBSD, все используемые функции описаны в разделе 4. Модули, используемые в программах, являются стандартными Unix - библиотеками. Блок-схемы функционирования приведены на рис.П.1.
6.2.1 Листинг программы "Демультиплексор"
Серверная часть строится в соответствии с п.4.2, рис.4.2. Ее основная задача принять два соединения от клиентов-передатчиков, образовав пару TCP/IP - соединений. Демультиплексорная часть занимается непосредственно считыванием данных из буфера STDIN и разнесения их, т.е. записи в TCP/IP соединения, в соответствии с коэффициентами мультиплексирования m и n. Листинг программы имеет вид:
/* подключение используемых библиотек*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
int main(void) {
/* Определение используемых в программе переменных */
struct sockaddr_in local, localj;
int s;
int m,m1,n,n1;
int s1, s1j;
int rc;
char buf[1], bufj[1];
char xr[1];
/* Серверная часть */
local.sin_family = AF_INET; /* заполняем структуру sockaddr_in*/
local.sin_port = htons (7501); /*локальный порт 7501*/
local.sin_addr.s_addr = htonl(INADDR_ANY); /*интерфейс-любой*/
n=1; /* коэффициенты мультиплексирования*/
m=1;
s=socket (AF_INET, SOCK_STREAM, 0); /*получаем тип сокета*/
if ( s < 0) /*SOCK_STREAM - TCP*/
{
perror ("errror Socket visov");
exit (1);
}
rc = bind (s, (struct sockaddr *)&local, sizeof (local)); /*привязываем сокет *//* к локальному адресу*/
if ( rc < 0)
{
perror ("errror Bindt visov");
exit (1);
}
rc = listen( s, 5); /*помечаем сокет как прослушивающий*/
if (rc)
{
perror ("errror Listen visov");
exit (1);
}
s1=accept (s, NULL, NULL); /*принимаем соединение 1*/
printf("S1-OK\n");
if (s1<0)
{
perror ("errror Accept visov");
exit (1);
}
s1j=accept (s, NULL, NULL); /*принимаем соединение 2*/
printf("S2-OK\n");
if (s1j<0)
{
perror ("errror Accept visov");
exit (1);
}
/*оба соединения установлены*/
printf("!!!\n");
while (1) {
/* конец серверной части */
/* Начало раздела "Демультиплексорная часть" */
n1=0;
while (n1<n) {
scanf("%c", buf); /*считываем n символов из STDIN*/
if ((*buf) != '\n') { /*игнорируя символ \n (перевод строки) */
rc=send (s1, buf, 1, 0); /*посылаем в 1-й сокет*/
if (rc<0) {
perror ("error send visov");
exit(1); };
n1++;
};
while (m1<m) {
scanf("%c", buf); /*считываем n символов из STDIN*/
if ((*buf) != '\n') { /*игнорируя символ \n (перевод строки) */
rc=send (s1j, buf, 1, 0); /*посылаем во 2-й сокет*/
if (rc<0) {
perror ("error send visov");
exit(1); };
m1++;
} ;
/* Конец раздела "Демультиплексорная часть" */
};
exit(0);
}
6.2.2 Листинг программы "Мультиплексор"
Серверная часть аналогична серверной части демультиплексора как по назначению так и по исходному коду.
Мультиплексорная часть занимается считыванием данных из двух TCP/IP соединений, мультиплексированием (объединением) полученных частей текста в одну в соответствии с коэффициентами n и m, и выводом результата в STDOUT (стандартный вывод - дисплей).
Листинг программы имеет вид:
/* подключение используемых библиотек*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
int main(void)
{
/* Определение используемых в программе переменных */
struct sockaddr_in local, localj;
int s;
int s1, s1j;
int m1,m,n1,n;
int rc;
char buf[1], bufj[1];
char xr[1];
/* Серверная часть */
local.sin_family = AF_INET;
local.sin_port = htons (7501);
local.sin_addr.s_addr = htonl(INADDR_ANY);
n=1;
m=1;
s=socket (AF_INET, SOCK_STREAM, 0);
if ( s < 0)
{
perror ("errror Socket visov");
exit (1);
}
rc = bind (s, (struct sockaddr *)&local, sizeof (local));
if ( rc < 0)
{
perror ("errror Bind visov");
exit (1);
}
rc = listen( s, 5);
if (rc)
{
perror ("errror Listen visov");
exit (1);
}
s1=accept (s, NULL, NULL);
printf("S1-OK\n");
if (s1<0)
{
perror ("errror Accept visov");
exit (1);
}
s1j=accept (s, NULL, NULL);
printf("S2-OK\n");
if (s1j<0)
{
perror ("errror Accept visov");
exit (1);
}
/* соединения установлены */
printf("!!!\n");
/* конец серверной части */
while (1) {
/* Начало раздела "Мультиплексорная часть" */
for (n1=0; n1<n; n1++) { /*считываем n символов из 1-го сокета*/
rc=recv(s1,buf,1,0);
if (rc<0)
{
perror ("errror recv");
exit (1);
}
printf ("1 | %c\n", buf[0]); /*посылаем их в STDOUT*/
}
for (m1=0; m1<m; m1++) { /* считываем m символов из второго сокета*/
rc=recv(s1j,buf,1,0);
if (rc<0)
{
perror ("errror recv");
exit (1);
}
printf ("2 | %c\n", buf[0]); /*посылаем в STDOUT*/
}
};
/* Конец раздела "Мультиплексорная часть" */
exit(0);
}
6.2.3 Листинг программы "Передатчик"
Раздел "клиентская часть" построен по схеме п.4.1, рис.4.1., ее основная цель явиться инициатором подключений к серверам "мультиплексор" и "демультиплексор". После успешного исполнения раздела "клиентская часть" управление передается разделу "передатчик". Он читает символ из одного TCP/IP - соединения (с демультиплексором), и записывает его в другое TCP/IP - соединение (с мультиплексором).
Листинг программы имеет вид:
/* подключение используемых библиотек*/
#include <sys/types.h> /* используемые библиотеки*/
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
int main(void)
{
/* Определение используемых в программе переменных */
struct sockaddr_in peer, peer1;
int s, s1;
int rc, rc1;
char buf[1];
/* Клиентская часть */
peer.sin_family = AF_INET;
peer.sin_port = htons(7501); /* порт демультиплексора*/
peer.sin_addr.s_addr=inet_addr("192.168.20.1"); /* адрес демультиплексора*/
s=socket( AF_INET, SOCK_STREAM, 0); /* получаем TCP - сокет демультиплексора */
if (s < 0)
{
perror("Error of socket visov");
exit(1);
}
rc=connect(s, (struct sockaddr *)&peer, sizeof(peer)); /*подключаемся к демультиплексору*/
if (rc)
{
perror ("error of connect");
exit (1);
}
printf("Split Station Found. Connect!\n");
peer1.sin_family = AF_INET;
peer1.sin_port = htons(7501); /*порт мультиплексора*/
peer1.sin_addr.s_addr=inet_addr("192.168.20.2"); /*адрес мультиплексора*/
s1=socket( AF_INET, SOCK_STREAM, 0); /* получаем TCP - сокет мультиплексора */
if (s1 < 0)
{
perror("Error of socket visov");
exit(1);
}
rc1=connect(s1, (struct sockaddr *)&peer1, sizeof(peer1)); /* присоединяемся к мультиплексору*/
if (rc1)
{
perror ("error of connect");
exit (1);
}
printf("Combine Station Found. Connect!\n");
printf("!!!\n");
/* оба соединения установлены*/
/* конец клиентской части */
while (1) {
/* Начало раздела "Передатчик" */
rc=recv(s, buf, 1, 0); /* читаем байт из сокета демультиплексора */
if (rc<0)
{
perror ("error of recv");
exit (1);
}
printf("%с\n",buf); /* отображаем его на экране */
rc=send(s1, buf, 1, 0); /* записываем в сокет мультиплексора */
if (rc<0)
{
perror ("error of send");
exit (1);
}
/* конец раздела "Передатчик" */
}
}
6.3 Использование системы в сетях с малой вероятностью доступа к одному из каналов
Пусть имеется сеть, в которой вероятность доступа к одному каналу (А) - достаточно велика, а к другому каналу (B) - мала.
В данном случае возможно внесение некоторых коррективов к исходные тексты оконечных узлов (демультиплексора и мультиплексора).
Схема шифровки текста на стороне демультиплексора.
Данные предназначенные для передачи по сети в демультиплексоре демультиплексируется побайтно на две части с коэффициентами 1:1. Одна часть полученного текста маскируется (операция сложения по модулю 2) другой частью, после чего полученная последовательность посылается в канал А. В канал В посылается любая из частей полученных после демультиплексирования. Таким образом, в канал А посылается как бы "шифрованный" текст, а в канал В, как бы "шифр" к тексту А, но этот "шифр", так же как и "расшифрованный" текст А, является частью исходного текста.
Пример:
Необходимо передать сообщение "система безопасности". После демультиплексирования имеем два сообщения: "ссеабзпсот" и "итм еоанси".
В кодировке windows=1251 шестнадцатеричные коды символов соответственно следующие "E1 E1 A5 A0 A1 A7 AF E1 AE E2" и "A8 E2 AC 20 A5 AE A0 AD E1 A8".
После сложения по модулю два этих шестнадцатеричных последовательностей получим последовательность "49 03 09 80 04 09 0F 4C 4F 4A" или в кодах символов "C§>b_>"^a\". Полученная последовательность посылается в канал А. А любая из последовательностей "ссеабзпсот" или "итм еоанси" посылается в канал В.
Процесс восстановления исходного текста на стороне мультиплексора таков. Текст из канала А маскируется текстом из канала В. Это дает возможность получить исходную комбинацию, маскированную В на стороне демультиплексора. Полученный текст мультиплексируется (чередованием байт) с коэффициентами 1:1 c текстом канала В, восстанавливая исходную последовательность переданную по сети.
Пример: получили две последовательности "C§>b_>"^a\" и "итм еоанси". Сложив их побайтно по модулю 2 получим последовательность "ссеабзпсот". Имея "ссеабзпсот" и "итм еоанси", мультиплексируем их, восстанавливая сообщение "система безопасности". Схема мультиплексирования с маскированием канала представлена на рис 6.7.
Мультиплексирование с маскированием канала
Рис. 6.7
В листинге программы "Демультиплексор" раздел "Демультиплексорная часть" заменяется следующим фрагментом C-кода:
/* Начало раздела "Демультиплексорная часть " */
n=1;
n1=0;
while (n1<n) {
scanf ("%c", buf); /* считываем из STDIN символ */
if ((*buf) != '\n') { /* игнорируя \n (возврат строки) */
n1++;
}
}
m=1;
m1=0;
while (m1<m) {
scanf("%c", bufj); /* считываем из STDIN второй символ */
if ((*bufj) !='\n') { /* игнорируя \n (возврат строки) */
m1++;
}
}
(*xr)=(*buf)^(*bufj); /* маскируем первый символ вторым */
printf ("1 | %c | %c \n", buf[0], xr[0]); /* выводим кодированный символ */
printf ("2 | %c\n", bufj[0]); /* выводим маскирующий символ */
rc=send(s1, xr, 1, 0); /* посылаем кодированный символ в первое TCP/IP соединение */
if (rc<0) { perror ("error send visov"); /*проверка ошибки вызова send */
exit(1); }
rc=send(s1j, bufj, 1, 0); /* посылаем маскирующий символ во второе TCP/IP соединение */
if (rc<0) { perror ("error send visov"); /* проверка ошибки */
exit(1);
}
/* конец раздела "Демультиплексорная часть" */
В листинге программы "Мультиплексор" раздел "Мультиплексорная часть" заменяется следующим фрагментом C-кода.
rc=recv(s1, xr, 1, 0); /* читаем из первого TCP/IP соединения кодированный символ */
if (rc<0)
{
perror("error recv"); /* проверка ошибки */
error(1);
}
rc=recv(s1j, bufj, 1, 0); /* читаем из второго соединения маскирующий символ */
if (rc<0)
{
perror("error recv");
error(1);
}
(*buf)=(*xr)^(*bufj); /* расшифровываем кодированный символ */
printf("1 | %с | %c\n", xr[0], buf[0]); /* выводим расшифрованный символ*/
printf("2 | %c\n", bufj[0]); /* выводим маскирующий символ*/
6.4 Сравнение системы мультиплексирования с протоколом socks
Данная система мультиплексирования так же как и socks ориентирована на сеансовый уровень модели OSI, но имеет несколько иную реализацию и функциональный смысл. Ниже приводится аналогия данной системы и протокола socks.
Протокол socks представляет собой установленное tcp/ip соединение между socks-клинтом и socks-сервером, а уже socks-сервер устанавливает соединение с серверами протоколов верхних уровней (http, ftp, pop3 и т.д.). Описываемая система мультиплексирования не несет как таковой функции посредника (proxy), в отличие от socks, но так же как и proxy, позволяет скрывать глобальные ip-адреса конечных пунктов. Так же система мультиплексирования организует пару tcp/ip соединений на сторонах мультиплексора и демультиплексора. Отличие данной системы от socks еще и в том, что данные подвергаются соответствующей обработке после чего одна их часть посылается в один сокет, а другая - в другой. Основная функция socks - тунеллирование протоколов верхних уровней. В данной системе значения клиента и сервера, играют роль скорее с точки зрения сетевого взаимодействия, в socks направление соединения, а следовательно и их функции определяются протоколами верхних уровней.
6.5 Запуск и мониторинг системы
Для удаленного запуска серверов и мониторинга работы системы требуется наличие на каждом из ее компонентов сервера удаленного управления терминалом. В качестве такового используется SSH.
На рис.6.8 изображена схема мониторинга и запуска системы мультиплексирования.
Схема запуска и мониторинга системы
Рис. 6.8
На хостах мультиплексор, демультиплексор, передатчик 1 и передатчик 2, работающих по системой Unix, установлены серверы OpenSSH. На хосте, с которого происходит управление, запущены четыре процесса-SSH-клиента (putty - для Windows или ssh - для Unix). Каждый из них подключается к соответствующим серверам, выступая в роли “зеркала” удаленного терминала. Все операции будут проводиться только на управляющем компьютере.
Первыми запускаются сервера мультиплексора и демультиплексора, после этого можно получить на каждом из них сведения об активных сокетах, с помощью программы netstat. И на мультиплексоре и на демультиплексоре, в списке будет строка:
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.7501 *.* LISTEN
Здесь тип используемого протокола - TCP, Local Address - *.7501 означает, что это может быть любой интерфейс и номер порта 7501. Удаленный адрес - любой адрес и порт удаленного приложения (*.*). Слово LISTEN - сервер ждет запросов на соединение от клиента.
После запуска передатчика, являющегося клиентом для данного сервера строка примет вид:
tcp 0 0 raz.7501 trans1.1024 STABLISHED
Следует обратить внимание на изменения после подключения. Соединение образованное четырьмя параметрами (локальные хост (raz) и порт 7501, и удаленные хост (trans1) и его порт 1024) находится в состоянии ESTABLISHED (установлено).
После того, как сервера запущены можно запускать клиенты-передатчики. После запуска первого передатчика, случае успеха выводится сообщение на серверах вида "S1-OK", после запуска второго передатчика - "S2-OK", и "!!!". Сообщение "!!!" означает что оба соединения установлены, и серверу больше нет необходимости принимать подключения. На каждом из передатчиков в случае соединения выводятся сообщения вида " Split Station Found. Connect!" (Демультиплексор найден, успешное подключение!), "Combine Station Found. Connect!" (Мультиплексор найден, успешное подключение!) и сообщение "!!!" (все подключения прошли успешно).
В выводе программы netstat на передатчиках будет строка, отражающая соединения с серверами вида:
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 trans1.1024 raz.7501 ESTABLISHED
tcp 0 0 trans1.1025 sob.7501 ESTABLISHED
В данном случае ip - адреса интерфейсов разрешаются в символьные имена благодаря использованию обратного преобразования dns.
Таким образом, raz-демультиплексор, sob-мультиплексор, trans1 и trans2 - передатчики. Схема их подключений и значения сокетов (адрес и порт) на каждом из них показаны на рис. 6.9.
Схема подключений и значения сокетов
Рис. 6.9
Работа системы происходит следующим образом:
На "демультиплексоре" в буфер канала стандартного ввода STDIN (по умолчанию - ввод с клавиатуры) посылается последовательность символов заканчивающаяся символом перевода строки, после этого демультиплексор считывает n символов посылая их в первый сокет, затем m символов, посылая их во второй сокет. При этом на экране отображаются строки вида:
1 | a
Это сообщение означает, что в первый сокет послан символ a.
Если на "демультиплексоре" вводится последовательность "программа", с коэффициентами мультиплексирования 1:1, то на экране появятся следующие строки:
1 | п
2 | р
1 | о
2 | г
1 | р
2 | а
1 | м
2 | м
1 | а
На передатчике 1 отобразится сообщение "порма", на передатчике 2 сообщение "ргам".
Сообщения мультиплексора в точности повторят сообщения демультиплексора.
В случае использования модифицированных программ согласно (п.5.4) для демультиплексора и мультиплексора. При вводе строки на демультиплексоре вывод будет представлять группу строк, количество которых равно числу символов в сообщении, вида:
1 | s | g
2 | o
где, "g"-кодируемый символ, "s" -(закодированный маской "o" символ "g"), посылаемый в канал 1.
"o" - символ (маска для "s"), посылаемый в канал 2.
На стороне мультиплексора данные строки примут вид:
1 | s | g
2 | o
"s" - принятый символ из 1-го канала.
"o" - символ принятый из 2-го канала
"g" - символ, раскодированный из "s" с помощью маски "o".
Таким образом и в демультиплексоре и в мультиплексоре, читая последний столбец сверху вниз, получаем исходное сообщение.
6.6 Листинги и описания tcp-сессий, полученных с помощью tcpdump
На каждом из хостов запущена программа tcpdump, и все соединения установлены. Значения сокетов соответствуют рис 5.6. В ходе отправки с демультиплексора последовательности "qwerty" получены следующие образы tcp - сессий.
На Демультиплексоре:
Первые три строки - трехстороннее квитирование (SYN, ACK+SYN, ACK). Инициатор соединения trans1 (передатчик1).
Следующие три строки - трехстороннее квитирование. Инициатор - trans2 (передатчик 2).
Далее показан - сеанс передачи пакетов raz>trans от демультиплексора (raz) к передатчикам (trans). От передатчиков trans>raz строки подтверждения приема ack демультиплексором.
Сессия имеет вид:
22:58:48.250218 trans1.1024 > raz.7501: S 3900350886:3900350886(0) win 65535 <mss 16344> (DF)
22:58:48.250379 raz.7501 > trans1.1024: S 3634649525:3634649525(0) ack 3900350887 win 65535 <mss 16344>
22:58:48.250420 trans1.1024 > raz.7501: . ack 1 win 65535 (DF)
22:59:11.697439 trans2.1026 > raz.7501: S 1407604832:1407604832(0) win 65535 <mss 16344> (DF)
22:59:11.697514 raz.7501 > trans2.1026: S 1611546978:1611546978(0) ack 1407604833 win 65535 <mss 16344>
22:59:11.697558 trans2.1026 > raz.7501: . ack 1 win 65535 (DF)
22:59:23.935844 raz.7501 > trans1.1024: P 1:2(1) ack 1 win 65535 (DF)
22:59:23.936132 raz.7501 > trans2.1026: P 1:2(1) ack 1 win 65535 (DF)
22:59:24.031638 trans1.1024 > raz.7501: . ack 2 win 65534 (DF)
22:59:24.031674 raz.7501 > trans1.1024: P 2:6(4) ack 1 win 65535 (DF)
22:59:24.031712 trans2.1026 > raz.7501: . ack 2 win 65534 (DF)
22:59:24.031725 raz.7501 > trans2.1026: P 2:6(4) ack 1 win 65535 (DF)
22:59:24.131633 trans1.1024 > raz.7501: . ack 6 win 65530 (DF)
22:59:24.131665 trans2.1026 > raz.7501: . ack 6 win 65530 (DF)
На мультиплексоре:
Здесь вывод tcpdump аналогичен выводу на демультиплексоре, но в данном случае значения сокетов уже другие, и передача ведется от передатчиков (trans>sob) в сторону мультиплексора (sob), a мультиплексор отправляет положительные квитанции ack (sob>trans), при получении пакетов.
Сессия имеет вид:
22:58:48.251577 trans1.1025 > sob.7501: S 2600980707:2600980707(0) win 65535 <mss 16344> (DF)
22:58:48.251666 sob.7501 > trans1.1025: S 382763383:382763383(0) ack 2600980708 win 65535 <mss 16344>
22:58:48.251694 trans1.1025 > sob.7501: . ack 1 win 65535 (DF)
22:59:11.698520 trans2.1027 > sob.7501: S 140910856:140910856(0) win 65535 <mss 16344> (DF)
22:59:11.698558 sob.7501 > trans2.1027: S 861879306:861879306(0) ack 140910857 win 65535 <mss 16344>
22:59:11.698581 trans2.1027 > sob.7501: . ack 1 win 65535 (DF)
22:59:23.936055 trans1.1025 > sob.7501: P 1:2(1) ack 1 win 65535 (DF)
22:59:23.936288 trans2.1027 > sob.7501: P 1:2(1) ack 1 win 65535 (DF)
22:59:24.031694 sob.7501 > trans1.1025: . ack 2 win 65534 (DF)
22:59:24.031738 sob.7501 > trans2.1027: . ack 2 win 65534 (DF)
22:59:24.031861 trans1.1025 > sob.7501: P 2:3(1) ack 1 win 65535 (DF)
22:59:24.031985 trans2.1027 > sob.7501: P 2:3(1) ack 1 win 65535 (DF)
22:59:24.131681 sob.7501 > trans1.1025: . ack 3 win 65533 (DF)
22:59:24.131694 trans1.1025 > sob.7501: P 3:6(3) ack 1 win 65535 (DF)
22:59:24.131711 sob.7501 > trans2.1027: . ack 3 win 65533 (DF)
22:59:24.131724 trans2.1027 > sob.7501: P 3:6(3) ack 1 win 65535 (DF)
22:59:24.231634 sob.7501 > trans1.1025: . ack 6 win 65530 (DF)
22:59:24.231659 sob.7501 > trans2.1027: . ack 6 win 65530 (DF)
На передатчике 1:
Первые шесть строк - установление соединений передатчика 1 с демультиплексором (trans1>raz), и мультиплексором (trans1>sob). Инициатор - сам передатчик 1. Далее идет сеанс связи, демультиплексор отправляет пакеты (raz>trans1), передатчик подтверждает ack (trans1>raz), затем, передатчик отправляет мультиплексору (trans1>sob), мультиплексор подтверждает ack принятые данные (sob>trans1).
Сессия имеет вид:
22:58:48.250218 trans1.1024 > raz.7501: S 3900350886:3900350886(0) win 65535 <mss 16344> (DF)
22:58:48.250379 raz.7501 > trans1.1024: S 3634649525:3634649525(0) ack 3900350887 win 65535 <mss 16344>
22:58:48.250420 trans1.1024 > raz.7501: . ack 1 win 65535 (DF)
22:58:48.251577 trans1.1025 > sob.7501: S 2600980707:2600980707(0) win 65535 <mss 16344> (DF)
22:58:48.251666 sob.7501 > trans1.1025: S 382763383:382763383(0) ack 2600980708 win 65535 <mss 16344>
22:58:48.251694 trans1.1025 > sob.7501: . ack 1 win 65535 (DF)
22:59:23.935844 raz.7501 > trans1.1024: P 1:2(1) ack 1 win 65535 (DF)
22:59:23.936055 trans1.1025 > sob.7501: P 1:2(1) ack 1 win 65535 (DF)
22:59:24.031638 trans1.1024 > raz.7501: . ack 2 win 65534 (DF)
22:59:24.031674 raz.7501 > trans1.1024: P 2:6(4) ack 1 win 65535 (DF)
22:59:24.031694 sob.7501 > trans1.1025: . ack 2 win 65534 (DF)
22:59:24.031861 trans1.1025 > sob.7501: P 2:3(1) ack 1 win 65535 (DF)
22:59:24.131633 trans1.1024 > raz.7501: . ack 6 win 65530 (DF)
22:59:24.131681 sob.7501 > trans1.1025: . ack 3 win 65533 (DF)
22:59:24.131694 trans1.1025 > sob.7501: P 3:6(3) ack 1 win 65535 (DF)
22:59:24.231634 sob.7501 > trans1.1025: . ack 6 win 65530 (DF)
На передатчике 2:
Вывод tcpdump на стороне передатчика2, аналогичен выводу на передатчике 1, но вместо trans1, используется имя trans2.
Сессия имеет вид:
22:59:11.697439 trans2.1026 > raz.7501: S 1407604832:1407604832(0) win 65535 <mss 16344> (DF)
22:59:11.697514 raz.7501 > trans2.1026: S 1611546978:1611546978(0) ack 1407604833 win 65535 <mss 16344>
22:59:11.697558 trans2.1026 > raz.7501: . ack 1 win 65535 (DF)
22:59:11.698520 trans2.1027 > sob.7501: S 140910856:140910856(0) win 65535 <mss 16344> (DF)
22:59:11.698558 sob.7501 > trans2.1027: S 861879306:861879306(0) ack 140910857 win 65535 <mss 16344>
22:59:11.698581 trans2.1027 > sob.7501: . ack 1 win 65535 (DF)
22:59:23.936132 raz.7501 > trans2.1026: P 1:2(1) ack 1 win 65535 (DF)
22:59:23.936288 trans2.1027 > sob.7501: P 1:2(1) ack 1 win 65535 (DF)
22:59:24.031712 trans2.1026 > raz.7501: . ack 2 win 65534 (DF)
22:59:24.031725 raz.7501 > trans2.1026: P 2:6(4) ack 1 win 65535 (DF)
22:59:24.031738 sob.7501 > trans2.1027: . ack 2 win 65534 (DF)
22:59:24.031985 trans2.1027 > sob.7501: P 2:3(1) ack 1 win 65535 (DF)
22:59:24.131665 trans2.1026 > raz.7501: . ack 6 win 65530 (DF)
22:59:24.131711 sob.7501 > trans2.1027: . ack 3 win 65533 (DF)
22:59:24.131724 trans2.1027 > sob.7501: P 3:6(3) ack 1 win 65535 (DF)
22:59:24.231659 sob.7501 > trans2.1027: . ack 6 win 65530 (DF)
6.7 Детальный контроль маршрута прохождения трафика
В ходе работы программы маршрут движения пакетов, между промежуточными пунктами, с течением времени может меняться, в силу, например, разрыва связи и динамического изменения таблиц маршрутизации устройствами ротирования трафика. Это повлечет за собой изменение "виртуальной" топологии сети, причем, независимо от нас. Естественно, траектория прохождения трафика определена с точностью до места положения промежуточных пунктов, но никто не может уверенно сказать о траектории его движения между ними. Однако, дополнительно, мы можем контролировать маршрут их движения с помощью утилиты traceroute, с точностью до расположения смежных сетевых устройств, и в ходе процесса обмена информацией, принимать решения о возможных подключениях между узлами системы мультиплексирования.
Программа traceroute пытается определить маршрут между двумя хостами в сети, заставляя каждый промежуточный маршрутизатор посылать ICMP-сообщение об ошибке хосту-отправителю. Сначала нужно несколько раз запустить программу и посмотреть, что она выдает. Проследим маршрут между хостом 195.161.21.211 (dual-up клиент сервера удаленного доступа компании Коммед г.Омск) с которого запускается программа, и web-сервером компании Транстелеком (www.transtelecom.ru ).
Число слева в каждой строке - это номер промежуточного узла. За ним идет имя хоста или маршрутизатора в этом узле и далее - IP-адрес узла. Имя разрешается через адрес с помощью обратной службы DNS. Если узнать имя не удается, то traceroute печатает только IP-адрес. Такая ситуация наблюдается в узлах 12 и 17. Как видно, по умолчанию программа пыталась определить имя хоста или маршрутизатора трижды, а три числа, следующие за IP-адресом, - это периоды кругового обращения (RTT) для каждой из трех попыток. Если при очередной попытке на запрос никто не отвечает или ответ теряется, то вместо времени печатается «*».
Компьютер www.transtelecom.ru расположен в Москве и в Internet, до него 17 узлов. Сначала данные проходят через два маршрутизатора компании “Коммед”, потом еще через два маршрутизатора отдела “ТУСМ” г.Омска, а затем через маршрутизатор 207.106.20.45, попадает в сеть “Ростелеком”, и через города Новосибирск, Екатеринбург, Самара, попадает в Москву. Там, через крупного интегратора “telia” данные попадают в сеть компании “transtelecom”. И наконец, на шаге 17 маршрут подходит к компьютеру www.transtelecom.ru.
Вывод traceroute имеет вид:
1 r23-L0.commed.ru (195.161.21.94) 150.871 ms 142.906 ms 131.963 ms
2 r26-E0.commed.ru (195.161.21.116) 132.810 ms 133.664 ms 137.269 ms
3 tusm2-E1.omsk.ru (195.161.21.129) 171.606 ms 167.801 ms 158.824 ms
4 TUSM2-1.risp.ru (192.188.187.249) 161.164 ms 163.826 ms 163.534 ms
5 217.106.20.45 (217.106.20.45) 168.675 ms 173.645 ms 166.628 ms
6 bb-pos2-7-155M.Novosibirsk.Rostelecom.ru (195.161.2.89) 219.546 ms 168.251 ms 161.200 ms
7 bb-pos2-0-155M.Ekaterinburg.Rostelecom.ru (213.24.141.205) 191.923 ms 180.756 ms 178.627 ms
8 bb-pos1-1-155M.Samara.Rostelecom.ru (213.59.1.97) 199.892 ms 196.166 ms 189.254 ms
9 gsr-pos1-0-155M.Moscow.Rostelecom.ru (195.161.2.113) 226.834 ms 210.213 ms 217.987 ms
10 bgw2-giga4-0-0.Moscow.Rostelecom.ru (195.161.0.2) 219.439 ms 213.286 ms 210.761 ms
11 s-fre-i1-pos4-2.telia.net (193.45.36.201) 237.923 ms 229.481 ms 240.064 ms
12 193.45.129.5 (193.45.129.5) 235.952 ms 243.059 ms 227.270 ms
13 sto-b1-pos10-0.telia.net (213.248.66.57) 227.432 ms 234.065 ms 241.939 ms
14 teleross-01080-s-b1.c.telia.net (213.248.67.78) 264.093 ms 250.376 ms 253.656 ms 240.455 ms 243.059 ms
15 ccr-0.Moscow.ST.net (194.67.16.232) 258.448 ms
16 transtelecom-gw.Moscow.ST.NET (195.239.13.126) 262.856 ms 260.879 ms 261.286 ms
17 195.218.193.13 (195.218.193.13) 265.186 ms 269.078 ms 258.675 ms
6.8 Мультиплексирование с определенными коэффициентами по n каналам
Пусть поток I мультиплексируется на n каналов, с определенными коэффициентами, причем, вероятности доступа к каждому из них p1,p2,p3,p4...pn. Условие полной вероятности раскрытия информации имеет вид Ai=pi*f(ni,k), где ni - коэффициент мультиплексирования для i-го канала. ni, с другой стороны можно найти используя формулу ni=ai/a1+a2+a3+...+ai+...+an, где ai - величина части сообщения посылаемой в канал i, а a1+a2+a3+...+ai+...+an - величина исходного (полного) сообщения. Можно провести балансировку общих вероятностей раскрытия сообщения для каналов по условию A=A1=A2=A3=...An.
Функция f(ni,k) - вероятность (сложность) раскрытия сообщения по фрагменту исходного текста зависит от k, где k-коэффициент избыточности, причем, чем больше избыточность, тем больше f(ni,k).
Для уменьшения избыточности текста (повышения энтропии) можно применять архивацию данных, например по Лемпелю-Зиву.
7. Экономическое обоснование. Определение цены программы
7.1 Затраты на оплату труда, отчисления на социальное страхование
Для определения затрат на основную заработную плату рассчитывается трудоемкость всех видов работ: исследовательских, проектных, конструкторских, связанных с разработкой и отладкой программы. В зависимости от масштабов работ, трудоемкость измеряется в человеко-месяцах, человеко-днях или человеко-часах (нормо-ч). Определение вышеперечисленных расходов производится методом прямого расчёта.
Расчет трудоемкости произведём отдельно для каждого вида работ и по исполнителям с учетом условий производства. Результаты расчета приведены в таблице 7.1.
Таблица 7.1 Трудоемкость работ
Наименование работ |
Категория работников |
Общая трудоемкость, чел.-дни |
||
Научный рук. |
Инженер-программист |
|||
1 |
2 |
3 |
4 |
|
Разработка и получение технического задания |
3 |
3 |
6 |
|
Разработка структурной схемы работы программного обеспечения |
2 |
10 |
12 |
|
Разработка алгоритма функционирования программного обеспечения |
3 |
5 |
8 |
|
Написание программного обеспечения |
5 |
10 |
15 |
|
Отладка программного обеспечения |
4 |
6 |
10 |
|
Итого: |
17 |
34 |
51 |
Чтобы перевести трудоемкость из человеко-дней в человеко-месяцы, необходимо разделить эту величину на число рабочих дней в месяце,час:
, (7.1)
где Fp - фонд рабочего времени в месяце,167час.;
tсм - продолжительность рабочего дня,8 час.
Dр мес = 21час.
Исходя из этого, трудоемкость работ в человеко-месяцах будет определятся как отношение трудоемкости работ выраженной в человеко-днях к месячному значению:
Dр Научный руководитель =0,809 чел-мес.
Dр Инженер-программист = 1,62 чел-мес.
Кроме оплаты по тарифу, в фонд основной заработной платы включаются премии производственным категориям работников и доплаты по районному коэффициенту, составляющие соответственно 3 % и 15 % к тарифной ставке. Расчет фонда основной заработной платы приведен в таблице 7.2.
Таблица 7.2 Фонд основной заработной платы
Наимен. категории работников |
Dp, чел-мес. |
Должностной оклад, руб. |
Премии, руб. |
Доплаты по районному коэффициенту, руб. |
Месячный ФЗП одного работника, руб. |
ФЗП на весь объем работ, руб. |
|
Научный руководитель |
0,809 |
3000,00 |
90,00 |
463,50 |
3553,50 |
2874,8 |
|
Инженер-программист |
1,62 |
1900,00 |
57,00 |
293,55 |
2250,55 |
3645,9 |
|
Итого: |
6520,7 |
Дополнительная заработная плата устанавливается в процентах к основной. Она зависит от удельного веса отпускного времени и времени выполнения государственных обязанностей в рабочем дне:
, (7.2)
где 305 - количество рабочих дней в году при шестидневной рабочей неделе;
tотп - средняя продолжительность очередного отпуска и времени выполнения государственных обязанностей для рассматриваемой группы работников.
Здесь tотп=24+1, т.е. продолжительность очередного отпуска равна 25 дням. Рассчитаем Кдоп:
Кдоп=8,93 %.
Величина дополнительной заработной платы равна,руб:
, (7.3)
Сз доп= 582,29 руб.
Общий фонд заработной платы составляет,руб:
, (7.4)
Сз=7120,988 руб.
Тесно связаны с общим фондом заработной платы затраты отчислений на социальное страхование, которые принимаются в размере 35,8 % от общего фонда заработной платы.
Сосс=2549,314руб.
7.2 Расходы по содержанию и эксплуатации оборудования
Эти расходы складываются из затрат, связанных с текущим содержанием и амортизацией оборудования, износом малоценных предметов.
В связи с тем, что компьютер находится в эксплуатации более 5 лет, то в связи с постановлением правительства РФ от 01.01.02 №1 «О классификации основных средств, включаемых в амортизационные группы», общая сумма расходов на амортизацию составляет 20% от стоимости компьютера.
, (7.5)
Сам = 1974,00 руб.
Общий расход электроэнергии:
, (7.6)
где Рai - суммарная мощность компьютера и монитора, Вт;
Fgi - действительный фонд времени работы оборудования, ч;
i = 0,7 - коэффициент загрузки оборудования во времени;
Цi - цена за единицу энергии, руб.
Фонд времени работы оборудования берется из данных практики: учитывается продолжительность экспериментальных работ, монтажных и наладочных работ при изготовлении макета и образца проектируемого устройства.
Цена 1 кВт*ч электроэнергии - 0,72 руб.
Cэ= 12,1 руб.
Расходы по содержанию и эксплуатации оборудования,руб:
, (7.7)
Собор= 1986,10 руб.
7.3 Себестоимость устройства управления
Уровень цены зависит от издержек производства нормально работающего предприятия (себестоимости) и нормативной прибыли:
, (7.8)
где Кпр -величина плановых накоплений в долях единицы;
Кпр=15 %. Результаты расчета по статьям затрат приведены в таблице 7.7.
Таблица 7.7 Себестоимость устройства управления
№ |
Наименование статьи затрат |
Сумма затрат, руб. |
|
1 |
2 |
3 |
|
1. |
Общий фонд заработной платы |
7120,988 |
|
2. |
Отчисления на социальные страхования |
2549,314 |
|
3. |
Расходы на содержание и эксплуатацию оборудования |
1986,10 |
|
Итого полная себестоимость: |
11656,402 |
Ц=13404,862руб.
Расчетная цена проектируемого устройства управления составляет: 13404,87 рублей.
8. Обеспечение безопасности при работе с видеодисплейными терминалами
8.1 Эргономические требования, предъявляемые к видеодисплейным терминалам
Гигиена труда изучает влияние производственной среды на здоровье работающих. Для разработки рекомендаций, исключающих возможность неблагоприятного воздействия факторов внешней среды на организм работающих с видео дисплейным терминалом (ВДТ), необходимо тщательно изучить особенности технологического процесса, санитарно-гигиенические условия труда/10/.
Физиология труда изучает изменения, происходящие в организме работающего под влиянием трудового процесса и внешней среды. Важнейшими задачами физиологии туда является разработка наиболее рациональных трудовых приемов, обеспечивающих сохранение работоспособности и предупреждение утомления, а, следовательно, повышение производительности труда.
Производственная среда, являющаяся предметным окружением человека, должна сочетать в себе рациональное архитектурно-планировочное решение, оптимальные санитарно-гигиенические условия (микроклимат, освещение, отопление, вентиляция).
Помещения с ВДТ, их размеры должны в первую очередь соответствовать количеству работающих и размещаемому в них комплексу технических средств.
Требования соответствия характеристик программного средства методическому руководству и сопутствующей документации: соответствие программного средства методическому материалу, соответствие последовательности действий, необходимых для установки программного средства, инструкции; легкость запуска; соответствие основных технических характеристик программного средства параметрам, приведенным в документации; устойчивость работы.
Требования к временным режимам работы:
1) требования к цветовым характеристикам формируются из условий оптимального восприятия зрительной информации в зависимости от цветовой палитры, яркости и контрастности изображения на экране монитора. Характеризуются параметрами: соответствие цветовой палитры относительно видимости предметов изображения; оптимальность контраста изображения по отношению к фону; постоянство используемых цветов; соответствие цветов устойчивым зрительным ассоциациям; яркость цветов объектов по отношению к фону;
2) требования к пространственному размещению информации на экране монитора формируются из условий оптимальности излучения текстовой, графической и текстово-графической информации. Требования характеризуются параметрами: соответствие форм объектов устойчивым зрительным ассоциациям; использование логических ударений; соответствие пространственного расположения информации на экране оптимальному порядку изучения; степень засоренности поля главного объекта;
3) требования к организации диалога формируются из максимальной естественности взаимодействия пользователя с программным средством, определяется параметрами: доступность, время реакции на ответ, число вариантов ответов в вопросах типа “Меню”;
4) зоны досягаемости. Существуют три зоны досягаемости для рабочего места сидя. Зона оптимальной досягаемости предназначенная для размещения в ней органов управления, используемых чаще двух раз в минуту. Зона легкой досягаемости для размещения в ней органов управления, используемых меньше двух раз в минуту, но чаще двух раз в час. Существует зона для редко используемых органов управления;
5) достаточное рабочее пространство (исключающее или сокращающее время пребывания в неудобных рабочих позах);
6) оптимальное расположение рабочего места и безопасные проходы;
7) учитывается потребность в обзоре, конфигурация панелей индикации.
8.2 Использование жидкокристаллической матрицы как дисплейного устройства ЭВМ
Сегодня LCD мониторы остаются еще достаточно редким явлением на наших рабочих столах. Причин этому несколько. Во-первых, цена. Она до сих пор остается в несколько раз выше, стоимости аналогичного по параметрам CRT монитора. Во-вторых, качество картинки. Существует мнение, что картинка на LCD получается как бы искусственной.
Одна из главных особенностей LCD-эргономика. Какой бы современный CRT монитор Не был установлен, он излучает. При столкновении электрона с поверхностью возникает рентгеновское излучение. Другим, вредным недостатком является мерцание изображения. Это связано с технологией формирования изображения на экране. Современные мониторы позволяют работать на частоте от 75 Гц, что является минимальным для спокойной работы за компьютером. В совокупности электромагнитное и рентгеновское излучение, мерцание изображения оказывают очень вредное воздействие - быстро утомляется зрение и создается нервное напряжение. При продолжительной каждодневной работе за CRT монитором практически у всех пользователей в той или иной степени снижается острота зрения, а у некоторых появляются головные боли, ухудшается общее самочувствие, возникает нервное перенапряжение, которое может привести даже к нервному расстройству.
Подобные документы
Исторические аспекты возникновения и развития информационной безопасности. Средства обеспечения защиты информации и их классификация. Виды и принцип действия компьютерных вирусов. Правовые основы защиты информации от несанкционированного доступа.
презентация [525,3 K], добавлен 09.12.2015Характеристика основных способов защиты от несанкционированного доступа. Разработка политики безопасности системы. Проектирование программного обеспечения применения некоторых средств защиты информации в ОС. Содержание основных разделов реестра.
лабораторная работа [1,9 M], добавлен 17.03.2017Исследование понятия и классификации видов и методов несанкционированного доступа. Определение и модель злоумышленника. Организация защиты информации. Классификация способов защиты информации в компьютерных системах от случайных и преднамеренных угроз.
реферат [115,1 K], добавлен 16.03.2014Необходимость и потребность в защите информации. Виды угроз безопасности информационных технологий и информации. Каналы утечки и несанкционированного доступа к информации. Принципы проектирования системы защиты. Внутренние и внешние нарушители АИТУ.
контрольная работа [107,3 K], добавлен 09.04.2011Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации. Средство защиты информации от несанкционированного доступа Secret Net 6.0. Разработка интерфейсной части программы, целевых функций.
дипломная работа [1,2 M], добавлен 20.12.2013Пути несанкционированного доступа, классификация способов и средств защиты информации. Анализ методов защиты информации в ЛВС. Идентификация и аутентификация, протоколирование и аудит, управление доступом. Понятия безопасности компьютерных систем.
дипломная работа [575,2 K], добавлен 19.04.2011Понятие и принципы обеспечения информационной безопасности. Рассмотрение основных видов опасных воздействий на компьютерную систему. Классификация каналов несанкционированного доступа к ЭВМ. Характеристика аппаратно-программных средств защиты информации.
презентация [152,9 K], добавлен 15.11.2011Классификация угроз информационной безопасности. Ошибки при разработке компьютерных систем, программного, аппаратного обеспечения. Основные способы получения несанкционированного доступа (НСД) к информации. Способы защиты от НСД. Виртуальные частные сети.
курсовая работа [955,3 K], добавлен 26.11.2013Применение программного обеспечения и технических средств контроля и управления доступом для предупреждения угроз несанкционированного доступа к защищаемой информации. Построение интегрированной системы безопасности "FortNet" и ее составных элементов.
лабораторная работа [1,3 M], добавлен 14.11.2014Пути несанкционированного доступа, классификация способов и средств защиты информации. Каналы утечки информации. Основные направления защиты информации в СУП. Меры непосредственной защиты ПЭВМ. Анализ защищенности узлов локальной сети "Стройпроект".
дипломная работа [1,4 M], добавлен 05.06.2011