В текущем разделе описываются команды настройки и просмотра транспортных протоколов.

peer - описание/настройки транспортного протокола

Ниже описаны общие команды для настройки и просмотра транспортных протоколов.

declare

Команда используется для создания нового peer-а в системе ECSS-10.

Путь команды:

/network/peer/declare

Синтаксис:

declare <NAME> <PROTOCOL> <PROTOCOL_ARGS> <MODE> [<NODE_PARAMS_1> [ <NODE_PARAMS_2> [...]]]

Параметры:

<NAME> - имя peer-а, уникальное на уровне системы;
<PROTOCOL> - sctp | udp | tcp;
<PROTOCOL_ARGS> - для sctp протокола: <IN_STREAMS> <OUT_STREAMS>; для остальных протоколов параметры отсутствуют;
<IN_STREAMS> :: 1..65535 - желаемое количество входящих SCTP потоков;
<OUT_STREAMS> :: 1..65535 - желаемое количество исходящих SCTP потоков;
<MODE> - client | server. server - в этом случае на уровне системы подымается listen интерфейс, и мы ожидаем что сторонние системы будут подключаться к нам; client - в этом случае мы подключаемся к удаленной стороне;
<NODE_PARAMS_N> :: <NODE_N> <IP_1>[, <IP_2> [...]] <PORT>;

<NODE_N> - имя ноды, к которой привязан IPs/Port. Для режима mode = client так же возможно значение any;
<IP_N> - в случае mode = server IP адрес и порт на котором подымает listen интерфейс (для mode = server); в случае mode = client
IP адрес или имя хоста и порт, к которому в рамках данного peer-а будет транспорт с указанной ноды

Пример:

support@[mycelium1@ecss1]:/$ /network/peer/declare smg_224 sctp 10 10 server core1@ecss1 192.168.23.100 2909 core1@ecss2 192.168.23.101 2909

Peer smg_224 successfully created.

support@[mycelium1@ecss1]:/$ /network/peer/declare smg_224 sctp 10 10 server core1@ecss1 192.168.23.100 2909 core1@ecss2 192.168.23.101 2909

Error: peer smg_224 already declared.

remove

Команда используется для удаление ранее созданного peer-а из системы ECSS-10.

Путь команды:

/network/peer/remove

Синтаксис:

remove <NAME>

Параметры:

<NAME> - имя peer-а

Пример:

support@[mycelium1@ecss1]:/$ /network/peer/remove smg_224

Peer smg_224 successfully removed.

support@[mycelium1@ecss1]:/$ /network/peer/remove smg_224

Error: peer smg_224 used in applications: smg_224_m2ua, smg_224_diameter. Change applications parameters before remove current peer.

support@[mycelium1@ecss1]:/$ /network/peer/remove smg_224

Error: peer smg_224 not exists.

info

Команда используется для просмотра информации о ранее созданном peer-е (всех peer-ов) в системе ECSS-10.

Путь команды:

/network/peer/info

Синтаксис:

info [--extended] [<NAME>]

Параметры:

<NAME> - имя peer-а;
--extended - показать расширенную информацию по peer-у (включая расширенные настройки).

Пример:

support@[mycelium1@ecss1]:/$ /network/peer/info --extended smg_224

┌────────┬──────────┬─┬───────────┬───────────────────┬───────────────────────────┬───────────────────┐
│  Name  │ Protocol │M│    Node   │      IP:Port      │         Description       │      Options      │
├────────┼──────────┼─┼───────────┼───────────────────┼───────────────────────────┼───────────────────┤
│smg_224 │sctp      │S│core1@ecss1│192.168.23.100:2909│Peer to SMG 192.168.23.224 │ dscp = 0          │
│        │          │ │core1@ecss2│192.168.23.101:2909│                           │ dontroute = false │
│        │          │ │           │                   │                           │ instreams = 10    │
│        │          │ │           │                   │                           │ outstreams = 10   │
└────────┴──────────┴─┴───────────┴───────────────────┴───────────────────────────┴───────────────────┘
Total: 1

Legend:
  M - mode of peer:
    S - server;
    C - client

support@[mycelium1@ecss1]:/$ /network/peer/info smg_225

┌────────┬──────────┬─┬───────────┬───────────────────┬───────────────────────────┐
│  Name  │ Protocol │M│    Node   │      IP:Port      │         Description       │
├────────┼──────────┼─┼───────────┼───────────────────┼───────────────────────────┤
└────────┴──────────┴─┴───────────┴───────────────────┴───────────────────────────┘
Total: 0

support@[mycelium1@ecss1]:/$ /network/peer/info

┌──────────┬──────────┬─┬───────────┬───────────────────┬────────────────────────────────────┐
│  Name    │ Protocol │M│    Node   │      IP:Port      │         Description                │
├──────────┼──────────┼─┼───────────┼───────────────────┼────────────────────────────────────┤
│smg_224   │sctp      │S│core1@ecss1│192.168.23.100:2909│Peer to SMG 192.168.23.224          │
│          │          │ │core1@ecss2│192.168.23.101:2909│                                    │
│smg_115_1 │sctp      │S│core1@ecss1│192.168.23.100:2909│Peer to SMG 192.168.23.115 for SCTP │
│          │          │ │core1@ecss2│192.168.23.101:2909│protocol.                           │
│smg_115_2 │tcp       │C│core1@ecss1│192.168.23.115:3868│Peer to SMG 192.168.23.115 for TCP  │
│          │          │ │           │                   │(DIAMETER) protocol.                │
│          │          │ │core1@ecss2│192.168.23.116:3868│                                    │
└──────────┴──────────┴─┴───────────┴───────────────────┴────────────────────────────────────┘
Total: 3

Legend:
  M - mode of peer:
    S - server;
    C - clien

set

Команда используется для изменения свойств для ранее созданного peer-а системы ECSS-10.

Путь команды:

/network/peer/set

Синтаксис:

set <NAME> <KEY> <VALUE>

Параметры:

<NAME> - имя peer-а;

<KEY> :: proto | mode | node-ip | description | max_down | <PROTOCOL_SPECIFIC_KEY>: 

proto :: sctp | udp | tcp - тип протокола;
mode :: client | server - режим работы;
node-ip :: * | <NODE_N> <IP_1>[, <IP_2> [...]] <PORT> - новый список IP-адресов для определенной ноды и порт;
max_down :: - время в секундах после закрытия сокета. По истечении этого времени соединение восстанавливается;;
description - описание данного peer-а;
<NODE> - имя ноды;
<PROTOCOL_SPECIFIC_KEY> - специфичные настройка для определенного протокола.

Для протокола STCP:
instreams :: 1..65535желаемое количество входящих потоков SCTP;
out stream :: 1..65535желаемое количество исходящих потоков SCTP;
sctp_autoclose :: - Определяет время в секундах, после которого незанятая ассоциация автоматически закрывается. 0 означает, что ассоциация никогда не закрывается автоматически;
sctp_disable_fragments :: - Выключение фрагментации SCTP пакетов.;
sctp_i_want_mapped_v4_addr :: Включает | отключает автоматическое сопоставление адресов IPv4 с адресами IPv6 (если семейство адресов сокетов AF_INET6);
sctp_maxseg :: Определяет максимальный размер фрагмента, если используется фрагментация сообщения. Если 0, размер порции ограничен только MTU;
sctp_nodelay :: Включает / выключает алгоритм объединения небольших пакетов в более крупные.;
sctp_rtoinfo :: Определяет параметры времени ожидания повторной передачи в миллисекундах:
min - Минимальный таймаут (>= 0);
max - Максимальный таймаут (>= 0);
sctp_peer_addr_params ::Определяет различные параметры адреса для ассоциации;
hbinterval - интервал Heartbeat сообщений в миллисекундах;
pathmaxrxt - Максимальное количество повторных передач до того, как этот адрес будет считаться недоступным;
pathmtu - Параметр MTU, если автоматическое обнаружение отключено;
sackdelay - Задержка , в миллисекундах, для SAC сообщений;

Флаги:
hb_enable - включить Heartbeat;
hb_disable - выключить Heartbeat;
hb_demand - Инициировать Heartbeat немедленно;
pmtud_enableВключает автоматическое обнаружение MTU размера;
pmtud_disable -  Выключает автоматическое обнаружение MTU размер;
sackdelay_enable - Включить SAC задержку;
sackdelay_disable - Выключить SAC задержку;

Для протоколов SCTP/UDP/TCP:
broadcast :: Включает / отключает разрешение на отправку широковещательных сообщений;
buffer :: Размер буфера пользовательского уровня, используемого драйвером;
dontroute ::Включает / отключает обход маршрутизации для исходящих сообщений;
high_msgq_watermark :: Размер очереди сообщений сокета. По умолчанию до 8 кБ;
keepalive - Включает / отключает периодическую передачу по подключенному разъему, когда никакие другие данные не передаются. По умолчанию false;
low_msgq_watermark :: Значение, при котором статус очереди сообщений устанавливается как активный. По умолчанию 4 кБ;
linger - Определяет время ожидания в секундах для сброса неотправленных данных, когда сокет закрыт;
nodelay - Небольшие объемы данных отправляются немедленно;
packet_size - Устанавливает максимально допустимую длину тела пакета;
priorityУстанавливает приоритет на платформах, где реализован данный функционал;
read_packetsУстанавливает максимальное количество пакетов UDP для чтения без вмешательства со стороны сокета, когда данные доступны. По умолчанию 5;
recbuf - Минимальный размер приемного буфера для использования в сокете;
reuseaddr - Разрешает или запрещает локальное повторное использование номеров портов. По умолчанию false;
sndbuf - Минимальный размер буфера отправки, используемый для сокета;
send_timeout - Указывает самое длительное время ожидания операции отправки, которая будет принята базовым стеком TCP. По умолчанию до бесконечности;
send_timeout_closeИспользуется вместе с send_timeout, чтобы указать, должен ли сокет автоматически закрываться, когда операция send возвращает {error, timeout}. По умолчанию false;
show_econnreset - Если для этой опции задано значение false, которое является значением по умолчанию, RST, полученный от однорангового узла TCP, рассматривается как нормальное закрытие;
tos - Устанавливает параметры IP-уровня IP_TOS на платформах, где это реализовано. Поведение и допустимый диапазон варьируются в зависимости от системы.;
tclass - Устанавливает параметры IP-уровня IPV6_TCLASS на платформах, где это реализовано. Поведение и допустимый диапазон варьируются в зависимости от системы.;
ttlВремя жить пакета;
recvtos - Если установлено значение true, активирует возврат полученного значения TOS на платформах, которые реализуют опцию протокола IPPROTO_IP IP_RECVTOS для сокета;
recvttlЕсли установлено значение true, активирует возврат полученного значения TTL на платформах, которые реализуют опцию протокола IPPROTO_IP IP_RECVTTL для сокета;
recvtclass - Если задано значение true, активирует возврат полученного значения TCLASS на платформах, реализующих опцию протокола IPPROTO_IPV6 IPV6_RECVTCLASS или IPV6_2292RECVTCLASS для сокета;

<VALUE> - новое значение свойства

Пример:

support@[mycelium1@ecss1]:/$ /network/peer/set smg_224 node-ip core1@ecss3 192.168.23.102 192.168.23.103 2909

Property node-ip for peer smg_224 successfully changed.

support@[mycelium1@ecss1]:/$ /network/peer/set smg_224 mode client

Error: peer smg_224 not exists.

clean

Команда используется для удаления/скидывания на дефолт свойств для ранее созданного peer-а системы ECSS-10.

Путь команды:

/network/peer/clean

Синтаксис:

clean <NAME> <KEY>

Параметры:

<NAME> - имя peer-а;
<KEY> :: proto | mode | node-ip <NODE> | description | max_down | <PROTOCOL_SPECIFIC_KEY>;
<NODE> - имя ноды;
<PROTOCOL_SPECIFIC_KEY> - специфичные настройка для определенного протокола. На текущей момент доступны значения: buffer | description | dontroute | heartbeat_interval | high_msgq_watermark | instreams | linger | low_msgq_watermark | mode | node-ip | outstreams | priority | proto | recbuf | recvtclass | recvtos | recvttl | reuseaddr | sctp | sctp_disable_fragments | sctp_i_want_mapped_v4_addr | sctp_maxseg | sctp_nodelay | sndbuf | tclass | tos | ttl

Пример:

support@[mycelium1@ecss1]:/$ /network/peer/clean smg_224 node-ip core1@ecss3

Property node-ip for peer smg_224 successfully cleaned.

support@[mycelium1@ecss1]:/$ /network/peer/clean smg_224 mode

Error: peer smg_224 not exists.