Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_сетевое.docx
Скачиваний:
58
Добавлен:
04.06.2015
Размер:
2.14 Mб
Скачать
  1. Сетевые протоколы, поддерживаемые Win32

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

Таблица 2

Сетевые протоколы, поддерживаемые Win32

Протокол

Имя

Тип сообщений

Установление соединения

Надежность

Порядок пакетов

Корректное завершение сеанса

Поддержка широковещания

Поддержка многоадресности

QoS

Max размер сообщений в байтах

1

2

3

4

5

6

7

8

9

10

11

IP

MSAFD TCP

Поток

да

да

да

да

нет

нет

нет

без огр.

MSAFD UDP

Сооб-щения

нет

нет

нет

нет

да

да

нет

65467

RSVP TCP

Поток

да

да

да

да

нет

нет

да

без огр.

RSVP UDP

Сооб-щения

нет

нет

нет

нет

да

да

да

65467

Продолжение табл. 2

1

2

3

4

5

6

7

8

9

10

11

IPX /

SPX

MSAFD nwln kipx [IPX]

Сооб-щения

нет

нет

нет

нет

да

да

нет

576

MSAFD nwin kspx

[SPX]

Сооб-щения

да

да

да

нет

нет

нет

нет

без огр.

MSAFD nwin kspx

[SPX] псевдо поток

Сооб-щения

да

да

да

нет

нет

нет

нет

без огр.

MSAFD nwin kspx

[SPXII]

Сооб-щения

да

да

да

да

нет

нет

нет

без огр.

MSAFD nwin kspx

[SPXII] псевдо поток

Сооб-щения

да

да

да

да

нет

нет

нет

без огр.

NetBIOS

Sequential Packets

Последо-ватель-ность пакетов

Сооб-щения

да

да

да

нет

нет

нет

нет

65535

Datagrams

дейта-граммы

Сооб-щения

нет

нет

нет

нет

да*

нет

нет

65535

ATM

MSAFD ATM AAL5

Поток

да

нет

да

нет

нет

да

да

без огр.

NATIVE ATM AAL5

Сооб-щения

да

нет

да

нет

нет

да

да

без огр.

Infrared Sockets

MSAFD IrDA

Поток

да

да

да

да

нет

нет

нет

без огр.

* - поддерживает отправку дейтаграмм как уникальным, так и групповым клиентам, общее широковещание не поддерживается.

  1. Сокеты Windows

Winsock API разрабатывался как расширение Berkley Sockets API для среды Windows и поэтому поддерживается всеми системами Windows. К преимуществам Winsock можно отнести следующее:

• Перенос уже имеющегося кода, написанного для Berkeley Sockets API, осуществляется непосредственно.

• Системы Windows легко встраиваются в сети, использующие как версию IPv4 протокола TCP/IP, так и постепенно распространяющуюся версию IPv6. Помимо всего остального, версия IPv6 допускает использование более длинных IP-адресов, преодолевая существующий 4-байтовый адресный барьер версии IPv4.

• Сокеты могут использоваться совместно с перекрывающимся вводом/выводом Windows (глава 14), что, помимо всего прочего, обеспечивает возможность масштабирования серверов при увеличении количества активных клиентов.

• Сокеты можно рассматривать как дескрипторы (типа HANDLE) файлов при использовании функций ReadFile и WriteFile и, с некоторыми ограничениями, при использовании других функций, точно так же, как в качестве дескрипторов файлов сокеты применяются в UNIX. Эта возможность оказывается удобной в тех случаях, когда требуется использование асинхронного ввода/вывода и портов завершения ввода/вывода.

• Существуют также дополнительные, непереносимые расширения.

WinSock – это сетевой интерфейс прикладного программирования, реализованный на всех платформах Win32, основной интерфейс доступа к разным базовым сетевым протоколам. Интерфейс унаследовал многое от реализации Berkeley (BSD) Sockets на платформах UNIX. В средах Win32 он стал абсолютно независимым от протокола, особенно с выпуском WinSock 2.

Термин сокеты (sockets) используется для обозначения описателей поставщиков транспорта. В Win32 сокет отличается от описателя файла, а потому представлен отдельным типом — SOCKET. С позиций эталонной модели OSI интерфейс Winsock расположен м/у сеансовым и транспортным уровнями. Под управлением Windows прикладной, представительский и сеансовый уровни, в основном относятся к вашему приложению. Cуществуют значительные отличия реализаций сокетов в UNIX и в Windows, что создает очевидные проблемы. Библиотека WinSock поддерживает два вида сокетов — синхронные (блокируемые) и асинхронные (неблокируемые). Синхронные сокеты задерживают управление на время выполнения операции, а асинхронные возвращают его немедленно, продолжая выполнение в фоновом режиме, и, закончив работу, уведомляют об этом вызывающий код.

Устаревшие ОС Windows 3.x поддерживали только асинхронные сокеты, поскольку в среде с корпоративной многозадачностью захват управления одной задачей «подвешивает» все остальные, включая и саму систему. ОС Windows 9x и NT/2000/XP поддерживают оба вида сокетов, однако в силу того, что синхронные сокеты программируются более просто, чем асинхронные, последние не получили большого распространения. Сокеты семейства протоколов TCP/IP используются для обмена данными между узлами сети Интернет.

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