Слайд 2
![Протокол DHCP Dynamic Host Configuration Protocol (DHCP) - протокол динамической конфигурации хостов RFC 2132](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-1.jpg)
Протокол DHCP
Dynamic Host Configuration Protocol (DHCP) - протокол динамической конфигурации хостов
RFC
2132
Слайд 3
![Основные понятия DHCP Область — это полный последовательный диапазон допустимых](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-2.jpg)
Основные понятия DHCP
Область — это полный последовательный диапазон допустимых IP-адресов
в сети.
Исключаемый диапазон — это ограниченная последовательность IP-адресов в области, которая исключается из числа адресов, предлагаемых службой DHCP
Пул адресов - адреса, оставшиеся после определения области DHCP и исключаемых диапазонов, образуют доступный пул адресов в области.
Аренда — это интервал времени, задаваемый DHCP-сервером, в течение которого компьютер- клиент может использовать назначенный IP-адрес.
Слайд 4
![Механизм динамического выделения адресов Клиент посылает широковещательный (BROADCAST-255.255.255.255) запрос DHCPDISCOVER](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-3.jpg)
Механизм динамического выделения адресов
Клиент посылает широковещательный (BROADCAST-255.255.255.255) запрос DHCPDISCOVER всем
серверам DHCP
Все активные серверы посылают широковещательный ответ DHCPOFFER. Клиент принимает все ответы, инициализацию делает по адресу канального уровня (MAC-адрес для Ethrnet)
Клиент выбирает один из предложенных адресов и посылает широковещательно DHCPREQUEST, которое должно содержать параметр Server Identifier, чтобы указать, какой сервер им выбран
Сервер посылает широковещательно DHCPACK
Клиент может работать
Слайд 5
![Протокол ARP Address Resolution Protocol (ARP) - протокол разрешения локальных адресов RFC 826](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-4.jpg)
Протокол ARP
Address Resolution Protocol (ARP) - протокол разрешения локальных адресов
RFC 826
Слайд 6
![Формат пакета ARP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-5.jpg)
Слайд 7
![Протокол RARP Reverse Address Resolution Protocol (RARP) - протокол сетевого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-6.jpg)
Протокол RARP
Reverse Address Resolution Protocol (RARP) - протокол сетевого уровня модели
OSI, выполняет обратное отображение адресов, то есть преобразует физический адрес в IP-адрес.
RFC 903
Слайд 8
![Работа протокола RARP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-7.jpg)
Слайд 9
![Система доменных имен DNS DNS (Domain Name System — система](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-8.jpg)
Система доменных имен DNS
DNS (Domain Name System — система доменных имён)
— компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста
Слайд 10
![Древовидная структура DNS](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-9.jpg)
Древовидная структура DNS
Слайд 11
![Домены первого уровня](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-10.jpg)
Слайд 12
![Итеративная схема разрешения доменного имени 1. DNS-клиент обращается к корневому](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-11.jpg)
Итеративная схема разрешения доменного имени
1. DNS-клиент обращается к корневому DNS-серверу
с указанием полного доменного имени;
2. DNS-сервер отвечает, указывая адрес следующего DNS- сервера, обслуживающего домен верхнего уровня, заданный в старшей части запрошенного имени;
3. DNS-клиент делает запрос следующего DNS-сервера, который отсылает его к DNS-серверу нужного поддомена, и т. д., пока не будет найден DNS-сервер, в котором хранится соответствие запрошенного имени IP-адресу. Этот сервер дает окончательный ответ клиенту.
Слайд 13
![Рекурсивная схема разрешения доменного имени 1. DNS-клиент запрашивает локальный DNS-сервер,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-12.jpg)
Рекурсивная схема разрешения доменного имени
1. DNS-клиент запрашивает локальный DNS-сервер, то
есть тот сервер, который обслуживает поддомен, к которому принадлежит имя клиента;
2. Если локальный DNS-сервер знает ответ, то он сразу же возвращает его клиенту; это может соответствовать случаю, когда запрошенное имя входит в тот же поддомен, что и имя клиента, а также может соответствовать случаю, когда сервер уже узнавал данное соответствие для другого клиента и сохранил его в своем кэше;
3. Если же локальный сервер не знает ответ, то он выполняет итеративные запросы к корневому серверу и т. д. точно так же, как это делал клиент в первом варианте; получив ответ, он передает его клиенту, который все это время просто ждал его от своего локального DNS-сервера.
Слайд 14
![Алгоритм Round Robin Round robin DNS — один из методов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-13.jpg)
Алгоритм Round Robin
Round robin DNS — один из методов распределения нагрузки,
или отказоустойчивости за счёт избыточности количества серверов, с помощью управления ответами DNS-сервера в соответствии с некой статистической моделью. Обычно применяется к таким Интернет-протоколам, как Веб-серверы, FTP-серверы.
Слайд 15
![Протокол ТCP TCP (Transmission Control Protocol) — это транспортный механизм,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-14.jpg)
Протокол ТCP
TCP (Transmission Control Protocol) — это транспортный механизм, предоставляющий поток
данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета.
В отличие от UDP гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи.
Слайд 16
![Положение ТCP в стеке](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-15.jpg)
Слайд 17
![Организация канала связи](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-16.jpg)
Слайд 18
![Порты и потоки в TCP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-17.jpg)
Слайд 19
![Скользящее окно в TCP](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-18.jpg)
Слайд 20
![Описание сетевого соединения Сокет отправителя = IP-адрес отправителя (IPS) +](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-19.jpg)
Описание сетевого соединения
Сокет отправителя =
IP-адрес отправителя (IPS) + номер порта
отправителя (PS)
Сокет адресата =
IP-адрес адресата (IPD) + номер порта адресата (PD)
Ансамбль IPSPS + IPDPD уникально описывает сокет
Слайд 21
![Пример соединений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-20.jpg)
Слайд 22
![Клиент-серверное приложение](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-21.jpg)
Клиент-серверное приложение
Слайд 23
![Схема взаимодействия](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-22.jpg)
Слайд 24
![Создание сокета s=socket(INT AF, INT type, INT protocol) AF (address_family)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-23.jpg)
Создание сокета
s=socket(INT AF, INT type, INT protocol)
AF (address_family) - PF_INET, PF_UNIX
type
– тип коммуникаций
SOCK_STREAM – Надежная доставка TCP
SOCK_RAW – Протоколы нижнего уровня
SOCK_DGRAM – Режим дейтаграмм
Protocol – код используемого протокола
IPPROTO_TCP – протокол TCP
IPPROTO_UDP – протокол UDP
- содержит описание всех типов
Слайд 25
![Таблица дескрипторов Элемент таблицы дескрипторов: код семейства протоколов код типа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-24.jpg)
Таблица дескрипторов
Элемент таблицы дескрипторов:
код семейства протоколов
код типа сервиса
локальный IP-адрес
удаленный IP-адрес
номер
локального порта
номер удаленного порта.
Слайд 26
![Присвоение IP адреса r=bind(s, const struct socketaddr far*name, int namelen)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-25.jpg)
Присвоение IP адреса
r=bind(s, const struct socketaddr far*name, int namelen)
s –
дескриптор сокета
struct sockaddr {
u_short sa_family; // код протокола
char sa_data[14]; // IP адрес:Порт
};
namelen - длина параметра name
Присваивается свой IP адрес и порт!!!
Слайд 27
![Подсоединение клиента к серверу R=connect(s, const struct socketaddr FAR*name, int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-26.jpg)
Подсоединение клиента к серверу
R=connect(s, const struct socketaddr FAR*name, int namelen)
s
– дескриптор сокета
name – идентификатор адреса места назначения
namelen - длина адреса
Присваивается IP адрес и порт назначения !!!
Слайд 28
![Ожидание сервером запросов R=listen(s, int backlog) s – дескриптор сокета](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-27.jpg)
Ожидание сервером запросов
R=listen(s, int backlog)
s – дескриптор сокета
максимальный размер очереди
для приходящих запросов соединения
Слайд 29
![Извлечение запросов из очереди R=accept(s, struct sockaddr FAR*addr, int FAR*addrlen)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-28.jpg)
Извлечение запросов из очереди
R=accept(s, struct sockaddr FAR*addr, int FAR*addrlen)
s –
дескриптор сокета, который прослушивает соединение
addr – указатель на структуру, которая содержит адрес
addrlen — указатель на длину адреса
Слайд 30
![Чтение и запись R=write(s, buf, len) R=read(s, buf, len) s](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-29.jpg)
Чтение и запись
R=write(s, buf, len)
R=read(s, buf, len)
s – дескриптор сокета
buf -
имя массива, подлежащего пересылке (или предназначенного для приема)
len - длина этого массива
Слайд 31
![Чтение и запись R=send(s, buf, len,flags) R=recv(s, buf, len,flags) s](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422125/slide-30.jpg)
Чтение и запись
R=send(s, buf, len,flags)
R=recv(s, buf, len,flags)
s – дескриптор сокета
buf -
имя массива, подлежащего пересылке (или предназначенного для приема)
len - длина этого массива
flags - управление передачей данных