Книга: UNIX: разработка сетевых приложений
Параметр сокета SCTP_GET_PEER_ADDR_INFO
Параметр сокета SCTP_GET_PEER_ADDR_INFO
Этот параметр позволяет получить информацию о собеседнике, которая включает окно приема, сглаженные значения RTT и MTU. Параметр может быть применен только к конкретному адресу собеседника. Вызывающее приложение заполняет поле spinfo_address
структуры sctp_paddrinfo
интересующим его адресом собеседника. Для максимальной переносимости рекомендуется работать с функцией sctp_opt_info
, а не getsockopt
. Формат структуры sctp_paddrinfo
описан ниже:
struct sctp_paddrinfo {
sctp_assoc_t spinfo_assoc_id;
struct sockaddr_storage spinfo_address;
int32_t spinfo_state;
uint32_t spinfo_cwnd;
u_int32_t spinfo_srtt;
u_int32_t spinfo_rto;
u_int32_t spinfo_mtu;
};
Приложению возвращаются следующие сведения:
? spinfo_assoc_id
содержит информацию об идентификаторе ассоциации, которая доставляется также в уведомлении об установке ассоциации (SCTP_COMM_UP
). Уникальный идентификатор ассоциации может использоваться для обращения к ней в большинстве функций SCTP;
? spinfo_address
позволяет приложению указать конкретный адрес собеседника, для которого оно хочет получить сведения. По возвращении из getsockopt
или sctp_opt_info
значение структуры должно оставаться неизменным;
? spinfo_state
может содержать одно или несколько значений (табл. 7.7).
Таблица 7.7. Состояния адреса собеседника SCTP
Константа | Описание |
---|---|
SCTP_ACTIVE | Адрес активен и доступен |
SCTP_INACTIVE | В настоящий момент адрес недоступен |
SCTP_ADDR_UNCONFIRMED | Доставка данных или проверочных сообщений на данный адрес не была подтверждена |
Неподтвержденным считается адрес, перечисленный собеседником в списке действующих, но не проверенный локальным SCTP. Для проверки адреса требуется, чтобы отправленные на него данные или проверочные сообщения были подтверждены. Для непроверенного адреса не может быть указано корректное значение тайм-аута повторной передачи (RTO). Активными считаются адреса, доступные для передачи данных.
? spinfo_cwnd
хранит текущий размер окна приема для данного адреса. Описание процедуры расчета параметра cwnd приводится в [117, с. 177];
? spinfo_srtt
хранит текущую оценку сглаженного RTT для данного адреса;
? spinfo_rto
хранит текущее значение тайм-аута повторной передачи для данного адреса;
? spinfo_mtu
хранит текущую транспортную MTU, определенную по соответствующему алгоритму.
Параметр полезно использовать для получения идентификатора ассоциации по структуре с IP-адресом собеседника. Это будет продемонстрировано в главе 23. Кроме того, приложение может отслеживать функционирование всех адресов собеседника с несколькими интерфейсами и выбирать лучший из них в качестве адреса по умолчанию. Наконец, все эти сведения полезны для ведения журналов и отладки.
- Параметр сокета SCTP_ADAPTION_LAYER
- Параметр сокета SCTP_ASSOCINFO
- Параметр сокета SCTP_AUTOCLOSE
- Параметр сокета SCTP_DEFAULT_SEND_PARAM
- Параметр сокета SCTP_DISАВLE_FRAGМENTS
- Параметр сокета SCTP_EVENTS
- Параметр сокета SCTP_GET_PEER_ADDR_INFO
- Параметр сокета SCTP_I_WANT_MAPPED_V4_ADDR
- Параметр сокета SCTP_INITMSG
- Параметр сокета SCTP_MAXBURST
- Параметр сокета SCTP_MAXSEG
- Параметр сокета SCTP_NODELAY
- Параметр сокета SCTP_PEER_ADDR_PARAMS
- Параметр сокета SCTP_PRIMARY_ADDR
- Параметр сокета SCTP_RTOINFO
- Параметр сокета SCTP_SET_PEER_PRIMARY_ADDR
- Параметр сокета SCTP_STATUS
- Параметр сокета SCTP_I_WANT_MAPPED_V4_ADDR
- Параметр сокета SCTP_MAXBURST
- 7.10. Параметры сокетов SCTP
- Параметр сокета SCTP_NODELAY
- Основные параметры ЭЛТ-мониторов
- 2.1.3. Функция getopt_long()
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- Единое имя файла параметров InterBase
- Параметры конфигурационного файла InterBase
- Параметры в ibconfig
- Показания к изменению параметра