- •Державний комітет зв’язку та інформатизації України
- •Современные проблемы информационных сетей
- •Инструменты и ресурсы
- •Формат пакета ping.
- •Программа tracert в Windows.
- •Порядок вызова
- •Программа tcpdump (снифер) сетевой анализатор для поиска неисправностией в сети и отладки сетевых приложений.
- •Использование tcpdump
- •Выходная информация, формируемая tcpdump
- •Программа netstat
- •4. Интерфейсы
- •Маршрутная таблица
- •Статистика протоколов
- •Процессы
- •Типы процессов
- •Прикладные процессы
- •Атрибуты процессов
- •Реальный (rgid) и эффективный (egid) идентификаторы группы
- •Жизненный путь процесса
- •Сигналы
- •Взаимодействие между процессами
- •Организация каналов
- •Взаимодействие между процессами
- •Размер канала
- •Функции к разделу fifo
- •Пример приложения клиент-сервер, использующего fifo для обмена данными. Клиент посылает серверу сообщенияHello, а сервер выводит это сообщение на терминал.
- •Права доступа к объекту
- •Идентификаторы и имена в ipc
- •Tcp как потоковый протокол
- •Чтение длины записи
- •Функции разрешения имён
- •Преобразование имён хостов
- •Аккуратное размыкание соединение
- •Вызов shutdown
- •Алгоритм Найгла
- •Программная реализация архитектуры клиент – сервер
- •1.2 Разработка программ в архитектуре “клиент-сервер”
- •Заполнение адресной структуры и получение сокета
- •Привязка известного порта и вывод listen
- •Принятие соединения.
- •Обмен данными
- •Программный интерфейс сокетов
- •Сокеты во FreeBsd
- •Типы соединения
- •Адресация
- •Адресация Internet
- •Interface сокетов
- •Создание сокета
- •Програмныйинтерфейс сокетов
- •Поддержка различных типов сокетов в доменах
- •Пример использования сокетов
- •Sdl-описание протокола сеансового уровня эталонной модели взаимосвязи открытых систем
- •Основные понятия
- •Описание служб
- •Описание протоколов
- •Службы ядра сеансового уровня
- •Блок данных протокола
- •Ясо-описание протокола сеансового уровня
- •Разбиение блока сеансового протокола
- •Описание блока блк-дир
- •Описание блока блк-исп
- •Описание процессов дир и рдт
- •Описание процесса исп
Описание блока блк-дир
Описание этого блока приведено на рис. . Он содержит единственный процесс ДИР, к которому поступают заказы на ОС, т.е. примитивы С-СДН-зпр м Т-СДН-инд. Процесс Сеанс маршрутами П-Д-Д, Т-Д-Д и Д-И-Д с каналами П-Д, Т-Д и Д-И соответственно. Получив заказ, процесс ДИР посылает сигнал ПРЖД (см. ) и ждет поступления подтверждения об установлении сначала ТС (сигнал ТС-УСТ), если только не используется имевшееся ранее транспортное соединение, а потом – СС (сигнал СС-УСТ). Получив их, ДИР ждет поступления новых запросов. Получив сообщение о прекращении СС, ДИР делает у себя соответствующую отметку (напомним: С-элемент может обеспечить не более М одновременно действующих соединений).
Описание блока блк-исп
1. Описание блока БЛК-ИСП приведено на рис. . При этом для реализации каждого отдельного СС будет создаваться отдельный экземпляр процесса, осуществляющего это соединение. Назовем этот процесс ИСП (исполнитель). Отметим, что личный идентификатор этого экземпляра будет одновременно идентификатором СС. Таким образом, сигнал ПРЖД, поступающий от процесса ДИР, означает по существу заказ на порождение нового экземпляра процесса ИСП.
2. Так как, процесс, находящийся в одном блоке, не может породить процесс в другом блоке, то в блоке БЛК-ИСП должен находиться процесс, назовем его РДТ (родитель), возникающий вместе с созданием всей системы. Этот процесс будет принимать сигнал ПРЖД' и создавать на основании этого очередной экземпляр процесса ИСП.
Если для установления СС создавать ТС не нужно, то это означает, что после поступления С-СДН-зпр соответствующий экземпляр процесса ИСП вместо того, чтобы выдавать примитив Т-СДН-зпр (который затем поступает к вызываемому ДИР в виде Т-СДН-инд), может прямо послать блок ЗС (запроса на соединение). Этот блок поступит непосредственно к процессу РДТ, тот сообщит об этом процессу ДИР (по сигналу РДТ-ДИР) и, получив от него «добро» (по сигналу ПРЖД; возможный отказ мы не учитываем), создаст экземпляр процесса ИСП, после чего сообщит процессу ДИР (сигналом РДТ-ДИР) идентификатор созданного экземпляра процесса ИСП; этот ИСП реализует запрошенное в ЗС соединение. Он же будет посылать процессу ДИР сигналы ТС-УСТ. СС-УСТ, СС-ПРЩ.
4. Таким образом, блок ЗС будет поступать либо к процессу РДТ (в случае, когда было использовано имевшееся ранее ТО, либо к процессу ИСП (в случае, когда для данного СС создавалось новое ТС). В связи с этим, как мы видим на рис. , сигнал ЗС, поступающий по каналу Т-И направляется как по маршруту Т-И-Р, так и по маршруту Т-И-И.
5. Маршруты, соединяющие процессы РДТ и ИСП с каналами, и распределение сигналов по маршрутам изображено на рис. , и мы их здесь не описываем.


Рис.
Описание процессов дир и рдт
1. Протокол СС описан с помощью таблицы переходов.
Таблицы и являются таблицами переходов процессов ДИР и РДТ соответственно. В клетках этих таблиц стоят номера переходов, описанных далее в табл. .
-
Таблица 10.3. Директор
Входное событие
Состояние
Бездействие
Ожидание РДТ-ДИР
Ожидание ТС-УСТ
Ожидание СС-УСТ
Д1
Д2
ДЗ
Д4
С-СДН-зпр
1
«
*
*
Т-СДН-инд
2
*
«
•
РДТ-ДИР
3
4
9
9
ТС-УСТ
8
9
5
9
СС-УСТ
8
9
9
6
СС-ПРЩ
7
9
9
7
ДТМ
8
9
9
9
•Восприятие сигнала должно быть отсрочено до перехода в состояние Д1.
-
Таблица 10.4. Родитель
Входное событие
Состояние
Бездействие
Ожидание ПРЖД
Р1
Р2
ПРЖД ЗС
10 11
10 12
2. При разработке процессов ДИР. РДТ и ИСП мы считаем, что если в течение фазы установления соединения в их функционировании обнаруживается какая-то ошибка, то ни пользователь соединения (т.е. П-элемент), ни его напарник об этом не оповещаются, так как оба они включают у себя таймеры, которые по истечении сроков сообщают им о том, что СС не состоялось.
3. При этом, если ошибка обнаружилась:
у ДИР, то он уничтожает соответствующий ИСП (сигналом СМР), если успел создать его к этому времени;
у РДТ, то он уничтожает соответствующий ИСП (сигналом СМР), если успел создать его к этому времени, и оповещает об этом сигналом СС-ПРЩ процесс ДИР;
у ИСП, то он прекращает свое существование и оповещает об этом (сигналом СС-ПРЩ) процесс ДИР.
Во всех случаях ДИР и РДТ переходят в состояния Д1 и Р1 соответственно. Если ИСП прекращает свое существование под воздействием сигнала СМР, то он не посылает оповещения об этом процессу ДИР.
Как видим, мы ввели новый сигнал СМР (смерть), который ДИР и РДТ посылают процессу ИСП. Этот сигнал изображен на рис. .
Для описания функционирования процессов ДИР, РДТ и ИСП мы введем
пять логических переменных: инцсдн, трсдн. сс, тип, фс. Их значения следующие:
истина, данный С-элемент
является инициатором СС;
инцсдн — ложь, данный С-элемент является ответчиком;
истина, для обеспечения СС можно
использовать
имеющееся ТС;
трсдн – ложь,для обеспечения СС надо создать ТС:
истина, блок ЗС поступил
к РДТ;
тип
– ложь, блок ЗС поступил к
ИСП;
истина, СС еще не установлено;
фс – ложь, СС уже установлено;
истина, СС возможно;
сс – ложь, СС невозможно.
5. Сигналы и команда CREATEпередают следующие параметры:
ПРЖД: инцсдн, трсдн, парм-сдн, SENDER, ид-т-сдн;
РДТ-ДИР: тип, OFFSPRING, ид-т-сдн, парм-сдн;
CREATE: инцсдн, трсдн, парм-сдн, ДИР-ид, П-ид, Т-ид, т-сдн.
6. Состояния процессов ДИР и РДТ, приведенные в табл. и 10.4, очевидны из их названий.
7. В табл. среди входных событий указан сигнал ДТМ, поступающий от таймера. Он нужен для предотвращения «зависания» процесса ДИР в том случае, когда процесс ДИР не будет оповещен о наступлении какой-то ошибки.
8. Как указывалось, в табл. и указаны номера переходов, а сами переходы описаны в табл. . В ней в первом столбце указан номер перехода, во втором столбце—проверяемые условия, в следующем— соответствующее выполняемое действие (если условие удовлетворено), затем указан выходной сигнал и, наконец, в последнем столбце—результирующее состояние, в которое входит процесс по завершении перехода. В некоторых случаях выполняемое действие занимает не одну, а две строки (например, для перехода № 3, при условии «тип&СО»). Это легко установить по наличию или отсутствию в строке результирующего состояния. Пробелы в столбцах 2-4 означают, что соответствующее средство в данном переходе не используется. Через, например, ТБЛ-СС (1,2,5)+ обозначено заполнение (для текущего СО столбцов 1,2,5 в ТБЛ-СС (и аналогично для ТБЛ-ТС). Через (ТБЛ-СС) -обозначено вычеркивание из ТБС-СС строки, соответствующей текущему СС. Через ТБЛ-ТС (3)± 1 обозначено прибавление /вычитание единицы в счетчике ТБЛ-ТС. Наконец, запись РДТ-ДИР (+,+,-,-) означает, Что вместе с сигналом РДТ-ДИР первые два параметра должны быть переданы, а последующие два—нет.
9. Диаграммы процессов ДИР и РДТ приведены на рис. и соответственно.
|
Таблица .
| ||||
|
Номер перехода |
Проверяемое условие |
Выполняемое действие
|
Выходной сигнал |
Состояние
|
|
1 |
2 |
3 |
4 |
5 |
|
1 |
1СС |
|
|
Д1 |
|
|
СС&1 трсдн
|
инцсдн:= True; SET ДТМ, ТБЛ-СС(1,2,5)+ |
ПРЖД(+,+,+, +.-) |
Д2
|
|
|
ССА тродн
|
инцсдн:= True; SET ДТМ, ТБЛ-СС(1,2,5)+ |
ПРЖД (+.+.+, +,+) |
Д2
|
|
2 |
1СС |
|
|
Д1 |
|
|
СС
|
инцсдн:= False;трсдн:=False; ТБЛ-СС(1,2.5,)+;SЕТ ДТМ |
|
Д2
|
|
3
|
типАСС
|
Инцсдн:= False;трсдн:= Тгue;TBЛ-CC(1,2,4,5.)+;SETДТМ |
ПРЖД(+,+,+,-. -,+) |
Д2
|
|
|
1 тип v1CC |
|
|
Д1 |
|
4 |
тип |
|
СМР |
Д1 |
|
|
1тип & трсдн |
ТБЛ-СС(1,2,5.)+
|
|
ДЗ
|
|
|
1 тип & трсдн |
ТБЛ-СС(1.2,4.5.)+
|
|
Д4
|
|
5
|
|
ТБЛ-СС(4)+; если в ТБЛ-ТС этого ид-т-снд нет, то ТБЛ-ТС(1,2,)+ |
|
Д4
|
|
6
|
|
ТБЛ-СС(6)+; ТБЛ-ТС(3)+1, RESETДТМ |
|
Д1
|
|
7 |
фс |
ТБЛ-СС–, RESETДТМ |
|
Д1 |
|
|
1фс
|
ТБЛ-СС—, ТБЛ-ТС(З) — 1, RESETДТМ |
|
Д1
|
|
8 |
|
ТБЛ-СС—; RESETДТМ |
|
Д1 |
|
9 |
|
ТБЛ-СС—; RESETДТМ |
СМР |
Д1 |
|
10
|
|
тип:=False; формирование фактических параметров оператораCREATE; выдачаCREATE |
рдт-дир(+,+, ,-,-)
|
Р1
|
|
11 |
|
Тип:=Тгuе |
РДТ-ДИР(+,-, +,+) |
Р2 |
|
1 |
2 |
3 |
4 |
5 |
|
12 |
|
|
СС-ПРЩ; СМР |
Р1 |


