ASN.1 (Abstract Syntax Notation One)
ASN.1 — это формальное описание данных, передаваемых телекоммуникационными протоколами, независимо от языка и физического представления этих данных. ASN.1 используют для спецификации абстрактных типов данных.
Он представляет собой некоторое количество предопределенных базовых типов:
- целые числа;
- логические значения;
- символьные строки (IA5String, универсальная строка и др.);
- битовые строки.
Также ASN.1 позволяет определять сконструированные типы данных, например, структуры и списки, а также дает возможность выбора между типами.
В отличие от многих других синтаксисов, которые называются расширяемыми, ASN.1 на самом деле предлагает расширяемость, которая решает проблему взаимодействия между ранее развернутыми системами и их более новыми версиями.
Задачи ASN
ASN.1 отправляет информацию в любой форме (аудио, видео, текст и др.) и в любом месте, где она должна передаваться в цифровом виде. ASN.1 охватывает только структурные аспекты информации, то есть операторы не занимаются обработкой значений после их определения или выполнением вычислений.
Определение ASN.1 может быть противопоставлено концепции в ABNF допустимого синтаксиса или в XSD допустимого документа. В последних основное внимание уделяется допустимым кодировкам данных без каких-либо семантических связей.
Преимущества ASN
Одна из основных причин успеха ASN.1 заключается в том, что он связан с несколькими стандартизированными правилами кодирования. Отчасти с BER (основные правила кодирования) или PER (правила упакованного кодирования). Они полезны для приложений, которые подвергаются ограничениям с точки зрения пропускной способности.
Эти правила кодирования описывают, как значения, определенные в ASN.1, должны быть закодированы для передачи, то есть как они могут быть переведены в байты независимо от:
- рабочей машины;
- языка программирования;
- представления в прикладной программе.
Кодировки ASN.1 более оптимизированы, чем многие конкурирующие обозначения, что обеспечивает быструю и надежную передачу расширяемых сообщений. В этом и есть преимущество беспроводной широкополосной связи. ASN.1 — международный стандарт с 1984 года, поэтому у его правил кодирования есть многолетний опыт надежности и совместимости.
Определение ASN.1 может быть легко отображено процессором перед выполнением в структуре данных C, C++ или Java, которая может быть использована кодом приложения.
Инструменты почти во всех операционных системах поддерживают ASN.1. Его также поддерживают популярные языки программирования: Java, C, C++ и даже COBOL. За консультацией в сфере интернет-безопасности вы можете обратиться к экспертам компании TrustSpace