signal

advertisement
681450279
Осипов В.С.
Описание программного интерфейса
между модулями DETH и IPCOM
(версия №1 от 4.02.06)
1. Сигналы передачи пакетов
1.1.
Информация из IPCOM в DETH
В модуль DETH из модуля IPCOM передается IP-пакет для выдачи в кадре Ethernet.
Информация передается в виде сигнала MADR_nt_sound со следующими
параметрами:
-
DA (6 байт) - МАС-адрес назначения;
PR_VID (2 байта) – запрашиваемый приоритет передачи (PR) (3бита) и
идентификатор VLAN (VID) (12 бит);
-
L (2 байта) – длина поля данных пользователя кадра Ethernet;
-
IP_packet_sound – данные пользователя (IP-пакет со звуковыми данными).
На рис.1 приведен формат параметров сигнала MADR_nt,
на рис.2 – формат параметра PR_VID.
Рис.1. Формат параметров сигнала MADR_nt_sound
DA
PR_VID
L
IP_packet
Рис.2. Формат параметра PR_VID
Биты 15 14 13 12 11 10
PR
9
8
7
0
6
5
4
3
2
1
0
VID
Если значение параметра PR_VID равно нулю, то для выдачи в сеть Ethernet
IP-пакета, поступившего в сигнале MADR_nt_sound, должен использоваться формат
Ethernet-кадра, приведенный на рис.3,
где DA – MAC-адрес назначения,
SA – МАС-адрес источника - собственный МАС-адрес брикета шлюза,
TYPE – код типа протокола, равный 0x0800 для IP-пакета, вложенного в
Ethernet-кадр,
DATA - IP-пакет и, если требуется, октеты заполнения для обеспечения
минимальной длины поля DATA в 46 октетов,
FCS – контрольная сумма.
Рис. 3. Нетегированный кадр
DA
SA
TYPE=
0x0800
DATA
FCS
6 байт
6 байт
2 байта
46-1500 байт
4 байта
Если значение параметра PR_VID не равно нулю, то для выдачи в сеть Ethernet
IP-пакета, поступившего в сигнале MADR_nt_sound, должен использоваться формат
Ethernet-кадра с тэгом (см. п.3.5 стандарта IEEE Std 802.3), приведенный на рис.4.
Рис. 4. Тегированный кадр
DA
SA
Tag Type=
0x8100
PR_VID
TYPE=
0x0800
DATA
FCS
6 байт
6 байт
2 байта
2 байта
2 байта
42-1496 байт
4 байта
681450279
1.2.
2
Информация из DETH в IPCOM
В модуль IPCOM из модуля DETH передается IP-пакет, принятый в кадре Ethernet.
Информация передается в виде сигнала MADI_nt со следующими параметрами:
-
PR_VID (2 байта) – приоритет передачи (PR) (3бита) и идентификатор VLAN
(VID) (12 бит). Если принятый кадр Ethernet не содержит тэга, то передается
нулевое значение PR_VID;
-
Protocol (1 байт) – тип протокола, равный 0 (IP);
-
L (2 байта) – длина поля данных пользователя кадра Ethernet;
-
MAC_data – данные пользователя (поле DATA Ethernet-кадра, состоящее из
IP-пакета и, если требуется, октетов заполнения для обеспечения минимальной
длины поля DATA в 46 октетов).
На рис.5 приведен формат параметров сигнала MADI_nt.
Рис.5. Формат параметров сигнала MADI_nt
PR_VID Protocol
1.3.
L
MAC_data
Описание сигналов MADR_nt_sound и MADI_nt на языке SDL в модуле MG
Ниже приведено описание на языке SDL сигналов модуля MG - выходного сигнала
MADR_nt_sound и входного сигнала MADI_nt.
Параметр DA имеет тип MAC, параметры PR_VID и L – тип integer,
параметр Protocol – тип octet.
Данные пользователя передаются в параметрах IP_packet_sound и MAC_data начиная с
первых октетов и могут занимать не все поле параметра.
SIGNAL
MADR_nt_sound (MAC, integer, integer,IP_packet_sound),
/* Передача IP-пакета со звуковыми данными для выдачи в кадре Ethernet в IP-сеть.
Параметры: ( DA, PR_VID, L, IP-пакет со звуковыми данными) */
MADI_nt (integer, octet, integer, MAC_data);
/* Передача IP- или ARP-пакета, поступивщего в кадре Ethernet из IP-сети.
Параметры: ( PR_VID, тип протокола (0 - IP, 1 - ARP), L, MAC_data ) */
NEWTYPE MAC /* MAC ADDRESS */
array(Index_m,octet)
ENDNEWTYPE;
SYNTYPE Index_m=integer
constants 1:6
ENDSYNTYPE;
/***
IP-пакет для отправки звуковых данных
(RTP-пакетов)
***/
NEWTYPE IP_packet_sound struct
IP_header IP_header;
UDP_header UDP_header;
RTP_header RTP_header;
RTP_data RTP_data;
ENDNEWTYPE;
681450279
3
/* Общее количество октетов в IP_packet_sound – не более 576 (RFC 791, 3.1, "Total Length").
Определения IP_header, UDP_header, RTP_header и RTP_data даны в пакете MG_declarations */
/***
Массив данных принятого Ethernet-кадра
***/
NEWTYPE MAC_data
array (MAC_data_index,octet)
ENDNEWTYPE;
SYNTYPE MAC_data_index=integer
constants 0:MAC_DATA_LEN -1
ENDSYNTYPE;
/* Максимальный размер массива данных */
SYNONYM MAC_DATA_LEN Integer = 1500;
2. Служебные сигналы
2.1.
Сигнал IPCOM_Start - используется функцией интеграции SDL-системы.
Ниже приведено описание сигнала на языке SDL.
SIGNAL
/* из IPCOM в DETH */
IPCOM_Start; /* Служебный сигнал, выдается при старте процесса */
3. Программная реализация интерфейса
Программная реализация интерфейса определяется Певзнером совместно с Лаптевым.
4. Форматы сигналов могут уточняться в ходе разработки ПО.
Download