Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zemskov_compnets.pdf
Скачиваний:
132
Добавлен:
18.04.2015
Размер:
705.68 Кб
Скачать

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

Содержание

1.

Основные сведения о компьютерных сетях

2

2.

Базовые топологии сетей

10

 

2.1.

Топология типа общая шина . . . . . . . . . . . . . . . . . . . .

10

 

2.2.

Кольцевая топология сети . . . . . . . . . . . . . . . . . . . . .

12

2.3. Звезда . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.Общие принципы построения сетей. Коммутация каналов и паке-

тов

16

4. Многопоточные приложения

24

4.1.Создание многопоточных приложений в Win32 API . . . . . . . 24

4.2.Методы синхронизации потоков . . . . . . . . . . . . . . . . . . 25

4.3.Варианты заданий . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5. Программирование сокетов

30

5.1. Использование классических блокирующих сокетов . . . . . . .

30

5.1.1. Алгоритм работы сервера и клиента . . . . . . . . . . .

30

5.1.2.Функции API сокетов . . . . . . . . . . . . . . . . . . . . 31

5.1.3.Пример использования блокирующих TCP-сокетов в однопоточном сервере и клиенте . . . . . . . . . . . . . . . 35

5.1.4.Передача сообщений без установления соединения с помощью UDP-дейтаграмм . . . . . . . . . . . . . . . . . . 39

5.2.Варианты заданий . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3.Контрольные вопросы . . . . . . . . . . . . . . . . . . . . . . . . 43

6. Архитектура и стандартизация сетей

44

Список литературы

45

Учебники по компьютерным сетям . . . . . . . . . . . . . . . . . . .

45

Разработка сетевых приложений . . . . . . . . . . . . . . . . . . . . .

46

Теоретические основы . . . . . . . . . . . . . . . . . . . . . . . . . .

47

— 1 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

1. Основные сведения о компьютерных сетях

I Система — это совокупность элементов, взаимодействующих друг с другом, образующих определённую целостность, единство.

Элемент системы — часть системы, имеющая определённое функциональное назначение. Сложный элемент, в свою очередь состоящий из более простых элементов, называют подсистемой. Организация системы — внутренняя упорядоченность, согласованность взаимодействия элементов системы. Структура системы — состав, порядок и принципы взаимодействия элементов системы. Распределённая система — система, для которой отношения местоположений элементов (или групп элементов) играют существенную роль с точки зрения функционирования системы, а следовательно, и с точки зрения анализа и синтеза системы.

I Информационно-вычислительная система (ИВС) — совокупность данных (баз данных) и программ, функционирующих на вычислитель­ ных средствах как единое целое для решения определённых задач (ГОСТ Р 53624-2009).

I Компьютерная сеть (Computer Network, вычислительная сеть, сеть передачи данных) — группа компьютеров и/или других устройств, каким­ либо способом соединённых для обмена информацией и совместного ис­ пользования ресурсов.

Международная организация по стандартизации (ISO) определяет вычислительную сеть как последовательную бит-ориентированную передачу информации между связанными друг с другом независимыми устройствами.

По территориальному признаку сети разделяются на:

Локальные вычислительные сети (ЛВС, Local Area Network — LAN), расположенные в одном или нескольких близко расположенных зданиях. ЛВС обычно размещаются в рамках какой-либо организации (корпорации, учреждения), поэтому их называют корпоративными.

Городские сети (Metropolitan Area Network, MAN) –— высокоскоростные каналы связи в пределах большого города.

Региональные сети –— объединяют компьютеры географической области.

Глобальные сети (Wide Area Network — WAN), расположенные в разных регионах (странах).

Вкачестве примеров распределённых сетей очень большого масштаба можно назвать Internet, EUNET, Relcom, FIDO.

Возможности сетей:

Совместное использование различных ресурсов.

Доступ к единым базам данных.

Обмен файлами, сообщениями почты.

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

2 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

Суммирование вычислительных мощностей компьютеров. Недостатки сетей:

Затраты на покупку сетевого оборудования, сетевого ПО, на прокладку кабелей и обучение персонала.

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

Ограничение возможности перемещения компьютеров.

Повышенная опасность распространения вирусов по сети.

Повышенная опасность несанкционированного доступа к информации с целью её кражи или уничтожения.

Всостав сети в общем случае включается следующие элементы:

компьютеры (оснащённые сетевым адаптером);

каналы связи (кабельные, спутниковые, телефонные, цифровые, воло- конно-оптические, радиоканалы и др.);

преобразователи сигналов;

сетевое оборудование;

распределённые приложения (программы, предназначенные для работы в сети).

Различают два понятия сети: коммуникационная сеть и информационная сеть.

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

Информационная сеть предназначена для хранения информации и состоит из информационных систем. На базе коммуникационной сети может быть построена группа информационных сетей. Под информационной системой следует понимать систему, которая является поставщиком или потребителем информации.

Компьютерная сеть состоит из информационных систем и каналов связи. Под информационной системой следует понимать объект, способный осуществлять хранение, обработку или передачу информация. В состав информационной системы входят: компьютеры, программы, пользователи и другие составляющие, предназначенные для процесса обработки и передачи данных. В дальнейшем информационная система, предназначенная для решения задач пользователя, будет называться рабочей станцией (client).

Рабочая станция в сети отличается от обычного персонального компьютера (ПК) наличием сетевой карты (сетевого адаптера), канала для передачи данных и сетевого программного обеспечения.

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

физическим) каналом.

— 3 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

Каналы связи (data link) создаются по линиям связи при помощи сетевого оборудования и физических средств связи. Физические средства связи построены на основе витых пар, коаксиальных кабелей, оптических каналов или радиосвязи.

Различают следующие методы передачи информации по каналам связи:

Симплексный метод (симплекс)´ — информация передаётся всегда только в одну сторону. В локальных сетях этот метод не используется.

Полудуплексный метод (полудуплекс)´ — информация может передаваться в обе стороны, но только по очереди, не одновременно. Этот метод сейчас основной в локальных сетях.

Полнодуплексный метод (полный дуплекс)´ — информация может передаваться в обе стороны одновременно. В локальных сетях применяется редко.

По типу среды передачи:

Проводные сети:

витая пара;

коаксильный кабель;

оптоволокно.

Беспроводные сети:

радиосвязь (WiFi, WiMAX);

инфракрасная связь;

СВЧ-связь (Bluetooth).

Между взаимодействующими информационными системами через физические каналы коммуникационной сети и узлы коммутации устанавливаются логические каналы.

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

Информация в сети передаётся блоками данных по процедурам обмена между объектами. Эти процедуры называют протоколами передачи данных. Протокол — это совокупность правил, устанавливающих формат и процедуры обмена информацией между двумя или несколькими устройствами.

Загрузка сети характеризуется параметром, называемым трафиком. Трафик (traffic) — это поток сообщений в сети передачи данных. Под ним понимают количественное измерение в выбранных точках сети числа проходящих блоков данных и их длины, выраженное в битах в секунду.

Пропускная способность канала связи (bandwidth) — наибольшая скорость передачи информации по каналу связи. Измеряется числом передаваемых двоичных символов в единицу времени. Скорость передачи зависит от физиче-

— 4 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

ских свойств канала связи, статистических свойств помех, способа передачи, приема сигналов и др.

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

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

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

Факторы, влияющие на выбор топологии сети:

Устойчивость к неисправностям компьютеров, подключенных к сети.

Устойчивость к неисправностям сетевого оборудования (адаптеры, трансиверы, разъемы и т. д.).

Устойчивость к обрывам кабеля сети. Для электрических кабелей — короткое замыкание в кабеле.

Ограничение длины кабеля из-за затухания распространяющегося по нему сигнала.

Состав основных элементов в сети зависит от ее архитектуры. Архитектура — это концепция, определяющая взаимосвязь, структуру и функции взаимодействия рабочих станций в сети. Она предусматривает логическую, функциональную и физическую организацию технических и программных средств сети. Архитектура определяет принципы построения и функционирования аппаратного и программного обеспечения элементов сети.

Обычно выделяют три вида архитектур:

терминал – главный компьютер,

клиент-сервер,

одноранговая архитектура.

Клиент-серверная архитектура. Архитектура «клиент – сервер» (clientserver architecture) — это концепция информационной сети, в которой основная часть её ресурсов сосредоточена в серверах, обслуживающих своих клиентов.

Сервер — компьютер или программа, предоставляющая некоторые услуги. Выделенный сервер –— это компьютер, служащий только для обслуживания клиентских машин. Доступ к нему обычно получают администраторы системы для выполнения задач управления, мониторинга и поддержки работоспособности. Часто они выполняют только какую-то одну задачу.

— 5 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

Клиент –— это компьютер или программа, запрашивающая услуги сервера. Клиенты бывают толстыми (thick), тонкими (thin) и сверхтонкими (ultra-thin).

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

Тонкий клиент. На компьютере-сервере хранятся данные и выполняется специальная программа-сервер. На компьютере-клиенте выполняется про- грамма-клиент, которая не умеет выполнять обработку данных, а лишь обеспечивает интерфейс с пользователем. Все вычисления (бизнес-логика) производятся на сервере, на сторону клиента передаются лишь результаты. Тонкий клиент функционирует под управлением локальной операционной системы, однако все приложения и данные размещаются на сервере. В момент запуска приложение считывается с жёсткого диска сервера и выполняется на локальном компьютере. Данные же хранятся на сервере и выбираются оттуда по мере необходимости, а результаты вновь записываются на сервер.

Сверхтонкий клиент. Аналогично предыдущему случаю, но на стороне сервера не только выполняется вся обработка данных, но и строится пользовательский интерфейс. Сверхтонкий клиент отличается очень компактной ОС, основная задача которой — отработка графических операций. Все приложения запускаются на удалённом сервере, а на клиенте лишь отображаются результаты вычислений. В течение всего времени данные размещаются на сервере.

Одноранговая архитектура. При клиент-серверной организации обмена данными (файлами) в сети имеется сервер, на котором хранится вся информация; клиенты подключаются к серверу и запрашивают определённые ресурсы.

В случае одноранговой (пиринговой — peer to peer — от равного к равному) организации обмена данными такого сервера нет. В P2P-сети пользователи скачивают информацию друг у друга, а не с выделенного сервера. Выглядит это так: пользователи сети выкладывают какие-либо файлы в «расшаренную» (англ. share — делиться) папку, т.е. папку, файлы из которой доступны для скачивания другим клиентам. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников.

Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не по названию

— 6 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

файла, а по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время (и после) скачивания файла пользователем, этот файл у него могут скачивать и другие клиенты сети, в результате чего файлы могут в итоге быть доступными для скачивания со многих источников одновременно.

Одноранговые сети имеют следующие преимущества:

они легки в установке и настройке;

отдельные ПК не зависят от выделенного сервера;

пользователи в состоянии контролировать свои ресурсы;

малая стоимость и лёгкая эксплуатация;

минимум оборудования и программного обеспечения;

нет необходимости в администраторе;

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

Проблемой одноранговой архитектуры является ситуация, когда компьютеры отключаются от сети. В этих случаях из сети исчезают виды сервиса, которые они предоставляли. Сетевую безопасность одновременно можно применить только к одному ресурсу, и пользователь должен помнить столько паролей, сколько сетевых ресурсов. При получении доступа к разделяемому ресурсу ощущается падение производительности компьютера. Существенным недостатком одноранговых сетей является отсутствие централизованного администрирования. Использование одноранговой архитектуры не исключает применения в той же сети также архитектуры «терминал – главный компьютер» или архитектуры «клиент – сервер».

Архитектура терминал – главный компьютер. Архитектура «терминал – главный компьютер» (terminal – host computer architecture) — это концепция информационной сети, в которой вся обработка данных осуществляется одним или группой главных компьютеров. Рассматриваемая архитектура предполагает два типа оборудования:

Главный компьютер, где осуществляется управление сетью, хранение и обработка данных.

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

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

Следует выбрать одноранговую сеть, если:

количество пользователей не превышает десяти;

все машины находятся близко друг от друга;

имеют место небольшие финансовые возможности;

— 7 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

нет необходимости в специализированном сервере, таком как сервер БД, факс-сервер или какой-либо другой;

нет возможности или необходимости в централизованном администрировании.

Следует выбрать клиент серверную сеть, если:

количество пользователей превышает десяти;

требуется централизованное управление, безопасность, управление ресурсами или резервное копирование;

необходим специализированный сервер;

нужен доступ к глобальной сети;

требуется разделять ресурсы на уровне пользователей.

Современные сети можно классифицировать по различным признакам: по удалённости компьютеров, топологии, назначению, перечню предоставляемых услуг, принципам управления (централизованные и децентрализованные), методам коммутации, методам доступа, видам среды передачи, скоростям передачи данных и т. д. Все эти понятия будут рассмотрены более подробно в дальнейшем.

Вопросы.

1.Дать определение сети.

2.Чем отличается коммуникационная сеть от информационной сети?

3.Как разделяются сети по территориальному признаку?

4.Что такое информационная (информационно-вычислительная) система?

5.Что называют каналом связи?

6.Дать определение физического канала связи.

7.Дать определение логического канала связи.

8.Как называется совокупность правил обмена информацией между двумя или несколькими устройствами?

9.Как называется объект, способный осуществлять хранение, обработку или передачу данных, в состав, которого входят компьютер, программное обеспечение, пользователи и др. составляющие, предназначенные для процесса обработки и передачи данных?

10.Каким параметром характеризуется загрузка сети?

11.Что такое метод доступа?

12.Как называют совокупность правил, устанавливающих процедуры и формат обмена информацией?

13.Чем отличается рабочая станция в сети от обычного персонального компьютера?

14.Какие элементы входят в состав сети?

15.Как называется описание физических соединений в сети?

16.Что такое архитектура сети?

8 —

Ю.В. Земсков. Вычислительные сети. Версия 0.20. — Санкт-Петербургский гос. университет гражданской авиации, 2012

17.Как назвать способ определения, какая из рабочих станций сможет следующей использовать канал связи?

18.Перечислить преимущества и недостатки использования сетей.

19.Чем отличается одноранговая архитектура от клиент-серверной?

20.Каковы преимущества крупномасштабной сети с выделенным сервером?

21.Какие сервисы предоставляет клиент-серверная архитектура?

22.Преимущества и недостатки архитектуры терминал – главный компьютер.

23.В каком случае используется одноранговая архитектура?

24.Что характерно для сетей с выделенным сервером?

25.Как называются рабочие станции, которые используют ресурсы сервера?

26.Что такое сервер?

27.Дать определение пиринговой сети.

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

29.Всякое ли приложение, выполняемое в сети, можно назвать сетевым?

30.Верно ли, что разделение линий связи приводит к повышению пропускной способности канала?

31.Верно ли, что конфигурация физических связей может совпадать с конфигурацией логических связей?

32.Назовите наиболее часто используемые характеристики производительности сети.

— 9 —

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]