Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Эл Лекции.doc
Скачиваний:
39
Добавлен:
10.12.2013
Размер:
381.44 Кб
Скачать

Средства защиты компьютерных сетей

  1. Обновление версий программ и скачивание закладок (PATCH)

  2. Наличие на компьютере антивирусов, программ (DR.WEB, KAV (сканер и адаптер))

  3. Межсетевые экраны (Fire Wall)

Программы, где можно отфильтровать трафик (Out Post Fire Wall)

  1. Ограничение на доступ к системе

Чтобы подобрать пароль из трех символов надо зайти 23 раз. Если к вам заходят, вы этио увидите, т.е. можно сделать : заход 3 раза, потом блокировка на 0.5 часа (Out Post Fire Wall)

  1. Обязательное шифрование

FTP, TELNET – закрыть или сделать доступ по SSH,этот протокол шифрует трафик TCP/IP

  1. Грамотное администрирование машины

  2. Dial – Vp вход на машину (с модема, если он не нужен, то убрать)

  3. Системы обнаружения атак на сетевом уровне (анализируется весь трафик полностью)

  4. Административные меры организации для проведения политики безопасности.

Выводить пакеты на экран и анализировать их Пример дан на VC++1.0

# include<conio.h>

# include<stdio.h>

# include<winsock2.h>

char Buffer [1000]; //массив ограничен только виртуальной памятью

typedef stud IP //определяем тип пакета

{

UCHAR verlen; //версия и длина заголовка

UCHAR tos; //тип сервера

USHORT len; //длина всего пакета

USHORT id; //идентификатор пакета

USHORToffset; //смещение

UCHAR ttl; //время жизни пакета от 0 до 255

UCHAR protocol; //тип протокола

USHORT xsum; //контрольная сумма 2 байта, 0-65535

ULONG src; //источник

ULONG dest; //назначение

}

// Далее идет функция main

Voidmain()

WSADATAwsadata//переменная необходимая для инициализации сокетов вWindows

SOCKETS;

HOSTENT*phe; //расширенная информация о хосте

SOCKADDR_INSa; //адрес хоста

IN_ADDRSa1; //дополнительный адрес хоста

//еще нужны рабочие переменные

charname[128]; //в скобках количество байт

charsir[10]; //адрес отправителя

chardest[10]; //адрес получателя

charflag=1; //флаг отвечающий за режим прослушивания сети.

chards[10]; //хранится какая-то адресная информация

Инициализация сокета:

WSAStartup(MAKEWORD(2,2), &wsadata); //функция делает слово в специальном формате

S=SOCKET(AF_INET,SOCK_ROW,IPPROTO_TP); //AF– константа,говорит о том что сокет будет работать с Интернетом именами.SOCK_ROW- создает сокет.

IPPROTO_TP– отвечает за то что пакет выкидывать не надо, нужно сохранить.

Gethostname(name, 128); //положить имя текущего хоста в переменнуюname

Phe=gethostbyname(name);

Sa.sin_family=AF_INET;

Sa.sin_addr=((stmet in_addr*)pheh_addr_list[0])S_addr; //берем адрес первого интерфейса платы сети.

//Присоединяем сокет к нашему адресу

bind(s,

(sockaddr*)&Sa,

sizof(sockaddr));

toctlsocket//функция контроля

(S,Sio_RCVALL,

&flag

promiscuous//режим прослушивания

while(!kbhit()){ //слушаем бесконечно пока не нажали кнопку

intcount=rear(S,Buffer, 1000,0); //принимаем из сокета в буфер

if(count>=sizof(IP)){ //пришли ли данныеIPпакета определенного

IP*hdr=(IP*)buffer; размера, если да то резервируем переменную.

Sa1.S_addr=hdrsrc;

Printf(“From%S^,inet_ntoa(s1)); //адрес отправителя мы получили

Теперь адрес получателя то же самое, только вместо srcзаменить наdect.

Какой протокол был передан?

Switch(ndrprotocol){

Case IPPROTO_UDP:

‘printf(“UDP”);

break;

………..

};

Время жизни пакетов, можно узнать о загруженности пакетов в сети и о потере пакетов.

Printf(“TTLi%S”

Itod(hdrttl,” ”,0));

Можно узнать размер пакета, в сети принят прямой порядок байт

USHORT data = (hdrlen>>8)+

(hdrlen<<8);

printf(“%S”,itod(data,” ”, 0)); //распределение пакетов в сети по размера

раздел : «Распределенное вычисление»

Организация кластеров

Для параллельной работы выделяют три технологии:

  1. SMP (симметричные микропроцессорные системы)

Этот механизм встроен в UNIXсистемах

Config–smp(autoconf)

  1. Grid(кластерные распределенные вычислительные системы)

Узлы находятся внутри этой сети

Технология Gridзавязана на сетевое взаимодействие.Gridдешевле чемSMP.

Компьютеры CRAI

Представляет собой золотую пластину на которой 1млн. процессоров.

Кластерные вычисления – необходима сбалансированная нагрузка между узлами.

Существует набор программ Beowulfкоторый позволяют делать кластерные вычисления в автоматическом состоянии.

Известен сервер Apacheкоторый может работать и на одном процессоре, а так же на группе процессоров.

Майкрософт работает на таком же принципе.

СУБД: MySQL,Oracleмогут работать на много процессорной распределенной вычислительной среде.

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

  1. MPI(Message Passin Interface)

  2. PVM()

С помощью этих библиотек можно легко построить программу работающую в много процессорной распределенной вычислительной среде.

Beowulf.

На сегодняшний день Интернет сообщество которое занимается распределенными вычислениями.

Distributed.net

Была поставлена задача NASA, кто переберет 65 битный ключRCS(RCA)-американский стандарт шифрования. Система все-таки была взломана и это положило стартBPGrid.

Эти проекты выложены в Интернете:

  1. Медицина.

  2. Семантические направления.

  3. Анализ экономических факторов. Финансируется крупными банками и прогнозируется экономическое положение стран.

  4. Группа по поиску неземных цивилизаций.

  5. Прогноз климата и погоды. Собираются данные со всех метеорологических станций и анализируются и прогнозируются.

Виды алгоритмов распределенных вычислительных систем.

  1. Централизованный алгоритм.

Первый процесс выбирается в качестве координатора, остальные процессы синхронизируются координатором.

  1. Распределенный алгоритм.

Распределенный алгоритм может физически находиться на разных машинах, а централизованный алгоритм на одной машине.

  1. Tokenring. Все процессы в распределительной системе образуют логическое кольцо. Очередность доступа идет по кольцу: Каждый процесс знает какой у него номер и когда он может обратиться к критической секции.

Этот алгоритм наименее надежен из всех, но один из самых быстрых, т.к. нет обмена с координатором.

Чтобы обратиться к критической секции нужно сделать n-1 запрос координатору, гдеn– это процесс и получитьn-1 разрешений, таким образом затраты составляют 2(n-1).

Для выполнения распределенного алгоритма, то же самое, но объему передаваемых данных больше в 2-3 раза. Тем не менее при грамотном расположении машин прикладные расходы окупятся производителями серверов.

Сравнительная характеристика протоколов TCPиUDPдля применения их в РВ.

TCP– надежный громоздкий, КПД достигает 15-20%, аUPDболее 60%.

UPD– быстрый и ненадежный, контроль ошибок делается на уровне приложений. ЗаголовокTCPсоставляет 41 байт, аUDPменее 10 байт. Можно просчитать прикладные расходы в два конца.

Обратное возвращение за 200 мс.

Параллельный вычислительные системы.

Архитектура параллельных систем.

На сегодняшний день выделяют две модели программирования:

  1. последовательная (Pascal, C++)

  2. параллельная. Ее появление связано с появлением векторных компьютеров.

В параллельном программировании выделяют две концепции:

1) распараллеливание данных(dataparallel)

2) распараллеливание задач, алгоритмов(messagepassing(обмен сообщениями)).

В основе подходов лежат распараллеленные нагрузки по вычислительным процессам.

Задача просуммировать массив.

Все Интернет проекты работают по подходу №1.

Языки: HPFortranв нем есть особенности параллельного программирования и С*.

Особенности:

  1. Наличие единого алгоритма который распространяется на каждый из вычислительных узлов.

  2. Наличие единого глобального поля данных.

Минусы: Слабая синхронизация процессов.

Вторая концепция. Распараллеливание задач.

Возьмем три процессора.

Для каждого вычислительного узла нужно писать свою часть алгоритма.

Плюсы: Повышенная гибкость такого подхода.

Минусы:

  1. Повышенная сложность разработки программ для каждого узла, необходимость в отладке сразу трех программ.

  2. На программиста ложится ответственность за равномерную загрузку процессора.

  3. В виду большого межпроцессорного обмена сообщениями разработчику приходиться его минимизировать.

Для работы таких систем существуют отлаженные библиотеки:

  1. Message Passing Interface(MPS).

  2. PVM.

Обе библиотеки работают по принципу распараллеливания задач.

Плюсы: Здесь можно использовать обычный С++ и Fortran.

Программа строится линейно:

- открываем критическую секцию

- посылаем данные

- закрываем критическую секцию

Архитектура вычислительных систем для высокопроизводительных вычислений.

  1. Архитектура компьютера – описание компонент компьютера и их взаимодействие.

  2. Организация компьютера – описание конкретной реализации архитектуры или реализация идей в конкретном железе.

Допустим мы строим многопроцессорную систему.

  1. Схема вычисления системы.

Проектировщик спроектировал и отдает электронщику.

Классификация Флина.

Он разбил все компьютеры на 4 категории.

Таксономия:

  1. SISD(SingleInstructionStream–SingleDateStream)[1:1] – это традиционные последовательные компьютеры в которых в один конкретный момент времени выполняется одна инструкция над одним объектом памяти.

  2. SIMD[1:N] – один поток инструкций иMultipleDateStream. Т.е. в одну единицу времени исполняется одна команда, которая обрабатывает несколько объектов памяти.

  3. MISD[N:1] – Много инструкций лезут в одну область памяти.

Принцип – обработал-передал по кругу.

  1. MIMD[N:N] –наиболее богатая. Много инструкций лезут в разные области памяти

Литература:

1. Конспект лекций по дисциплине «Сетевые технологии»

2. http://www.vak.ru/tcpip/

3. http://fisdn.narod.ru/fisdn/books/tcpip/

4. http://penza.fio.ru/misc/admin/tcpip/igmp_449.htm

5. http://book.itep.ru/4/44/osp44112.htm

6. http://athena.vvsu.ru/net/book/ospf2-plain.html

7. http://www.infocity.kiev.ua/inet/content/inet091.phtml

8. http://gem.dpt.ustu.ru/InterNetBook/SLIP&PPP.htm

31

Соседние файлы в предмете Сетевые технологии