
- •Список вопросов на экзамен
- •Часть 1. Сети. 3
- •Часть 2. Сокеты. 26
- •Часть 1. Сети.
- •Классификация ip-адресов. Понятие номера сети и номера узла.
- •255.255.255.0 - Маска для сети класса с.
- •1.2. Модель osi. Физический уровень.
- •1.3. Модель osi. Канальный уровень.
- •1.4. Модель osi. Сетевой уровень.
- •1.5. Модель osi. Транспортный уровень.
- •1.6. Модель osi. Сеансовый уровень.
- •1.7. Модель osi. Уровень представления.
- •1.8. Модель osi. Прикладной уровень.
- •1.9. Адресация в ip-сетях.
- •1.10. Протоколы arp и rarp. Их место в стеке протоколов ip.
- •1.11. Маршрутизация в ip-сетях.
- •1.12. Структуризация ip-сетей с помощью масок.
- •255.255.255.0 - Маска для сети класса с.
- •1.13. Протокол tcp. Его место в стеке протоколов tcp/ip.
- •1.14. Протокол udp. Его место в стеке протоколов tcp/ip.
- •1.15. Протоколы надёжной доставки пакетов. Концепция квитирования.
- •1.16. Маршрутизаторы. Их место в сетевой модели osi.
- •1.17. Понятие маршрута. Принципы построения таблиц маршрутизации.
- •1.18. Понятие топологии сети. Средства объединения сетей с произвольной топологией.
- •1.19. Понятие стека сетевых протоколов. Стек протоколов tcp/ip.
- •1.20. Понятие сетевого интерфейса. Модель сетевого интерфейса для ip-сети.
- •Часть 2. Сокеты.
- •2.1. Технология клиент-сервер.
- •2.2. Событийная модель соединения сокетов.
- •2.3. Особенности программирования сетевого приложения.
- •2.4. Этапы организации соединения сокетов.
- •2.5. Организация сетевого соединения со стороны клиента.
- •2.10. Сокеты, как средство межпрограммного взаимодействия.
- •2.11. Сокеты. Их место в сетевой модели osi.
- •2.12. Сокеты. Их место в стеке протоколов ip.
- •2.13. Сокеты в ос Windows. Технология Windows Sockets.
- •2.14. Средства библиотеки mfc для работы с сокетами.
- •2.16. Передача данных через сокет.
- •2.17. Приём данных через сокет.
- •2.18. Способы закрытия сетевого соединения между сокетами.
- •2.19. Типы сокетов. Область их применения.
- •2.20. Понятие номера порта для протоколов транспортного уровня сетевой модели osi.
2.4. Этапы организации соединения сокетов.
Создание сервером слушающего сокета с заданным номером порта (функция Create(n_port),IPадрес присваивается сам) и запуск его на прослушивание среды (функция Listen());
Создание клиентом сокета для соединения с сервером (функция Create(), номер порта не важен) и отправка запроса на подключение к сокету сервера Connect(m_ipaddr, m_port);
При приеме такого запроса (событие OnAccept) сервер выделяет клиенту сокет для организации соединения (методAcceptдля выделяемого сокета).
Если у сервера не осталось свободных сокетов для подключения очередного клиента, то необходимо организовать соединение с фиктивным сокетом для продвижения очереди запросов, после чего сразу же его разорвать.
2.5. Организация сетевого соединения со стороны клиента.
Для организации соединения с сервером клиент создает сокет (функция Create(), номер порта не важен) и отправляет запрос на подключение к сокету сервера Connect(m_ipaddr, m_port). При завершении попытки вызывается событие OnConnect(ErrCode). При установке соединенияErrCode= 0.
2.6. Организация сетевого соединения со стороны сервера.
Для организации сетевого соединения сервер создает слушающий сокета с заданным номером порта (функция Create(n_port),IPадрес присваивается сам) и запускает его на прослушивание среды (функция Listen());
При приеме от клиента запроса на подключение (событие OnAccept) сервер выделяет клиенту сокет для организации соединения (методAcceptдля выделяемого сокета).
2.7. Особенности программирования приложения-клиента.
Приложение клиент должно имеет один сокет для установления соединения с сервером.
2.8. Особенности программирования приложения-сервера.
В программе-сервер закладывается способность ожидать появления запроса от клиента на определенном порту. Для этого используется отдельный сокет. Для установления соединения с каждым клиентом сервер выделяет один сокет.
2.9. Сокеты. Понятие гнездового соединения.
Каждый процесс может создать слушающий сокет и привязать его к какому-нибудь порту компьютера. Слушающий процесс обычно находится в цикле ожидания, то есть просыпается при появлении нового соединения. При этом сохраняется возможность просто проверить наличие соединений на данный момент, установить тайм-аут для операции и так далее.
Обычно клиент явно подсоединяется к слушателю, после чего любое чтение или запись через его файловый дескриптор будут на самом деле передавать данные между ним и сервером.
Зам.Такое соединение точка-точка между 2 сокетами по всей видимости называется гнездовым.
Источник:
http://ru.wikipedia.org/wiki/Сокет_(программный_интерфейс)
2.10. Сокеты, как средство межпрограммного взаимодействия.
Сокетом (от англ. socket - гнездо, розетка) называется специальный объект, создаваемый для отправки и получения данных через сеть. Этот объект создаётся внутри библиотеки сокетов, а программист, использующий эту библиотеку, получает уникальный номер (дескриптор) этого сокета. Конкретное значение этого дескриптора не несёт для программиста никакой полезной информации и может быть использовано только для того, чтобы при вызове функции из библиотеки сокетов указать, с каким сокетом требуется выполнить операцию.
Чтобы две программы могли общаться друг с другом через сеть, каждая из них должна создать сокет. Каждый сокет обладает двумя основными характеристиками: протоколом и адресом, к которым он привязан. Протокол задаётся при создании сокета и не может быть изменён впоследствии. Адрес сокета задаётся позже, но обязательно до того, как через сокет пойдут данные. В некоторых случаях привязка сокета к адресу может быть неявной.
Каждый сокет имеет два буфера: для входящих и для исходящих данных. При отправке данных они сначала кладутся в буфер исходящих, и лишь затем отправляются в фоновом режиме. Программа в это время продолжает свою работу. При получении данных сокет кладёт их в буфер для входящих, откуда они затем могут извлекаться программой.
После организации соединения сокетов любое чтение или запись через файловый дескриптор одного из них будут на самом деле передавать данные между ним и парным ему сокетом другого приложения.
Источник:
Надергано из предыдущих вопросов.