XGEN: Breve introduzione ad ASN.1 e BER

Traduzione articoli Traduzione articoli
Identificativo articolo: 252648 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo vengono descritti Abstract Syntax Notation One (ASN.1) e Basic Encoding Rules (BER), con un chiarimento delle relative differenze.

Molti tecnici IT, inclusi i professionisti pi¨ esperti, spesso non conoscono con chiarezza il significato di ASN.1 e BER, le relative differenze o perchÚ la distinzione sia cosý importante. Questa mancanza di chiarezza Ŕ comprensibile perchÚ anche coloro che conoscono bene ASN.1 e BER spesso utilizzano i termini in modo scorretto.

Essendo ASN.1 il linguaggio degli standard, accade molto spesso che le raccomandazioni relative agli standard siano scritte in ASN.1. Professionisti del supporto tecnico, consulenti e specialisti IT possono trarre vantaggio dalla conoscenza di ASN.1 poichÚ consente di analizzare approfonditamente gli standard, decodificando e interpretando il contenuto dei dati sottoposti per la risoluzione dei problemi. I pi¨ comuni standard scritti in ASN.1 sono prodotti da International Telegraph and Telephone Consultative Committee (CCITT) e da International Telecommunications Union (ITU). Anche i membri di Internet Engineering Task Force (IETF) stanno utilizzando con sempre maggiore frequenza ASN.1 per una definizione sintetica delle loro raccomandazioni. ASN.1 consente di riepilogare in una pagina le informazioni che, in un altro formato, richiederebbero cinque o sei pagine.

Di seguito Ŕ riportato un elenco degli standard pi¨ comuni scritti in ASN.1:
  • X.400 (messaggistica elettronica)
  • X.500 (servizi di directory)
  • X.200 (comunicazioni di rete)
  • Request for Comments (RFC) 2251-2256 (Lightweight Directory Access Protocol o LDAP)
  • Molte altre RFC, troppo numerose da elencare
Qualsiasi specialista di comunicazione dati o di computer che desideri effettivamente distinguersi dovrÓ avere una conoscenza almeno di base di ASN.1 e BER. PoichÚ sia in Microsoft Windows 2000 che in Microsoft Exchange 2000 Server sono implementati i suddetti standard, in una forma o nell'altra, la capacitÓ di leggere correntemente e comprendere ASN.1 e BER renderÓ molto pi¨ facile la risoluzione dei problemi relativi a questi due prodotti.

Informazioni

ASN.1

Abstract Syntax Notation One (pi¨ comunemente conosciuto come ASN.1) Ŕ un linguaggio per la definizione di standard indipendente dall'implementazione. ╚ il linguaggio dei realizzatori di standard. Quando uno sviluppatore desidera scrivere raccomandazioni per la standardizzazione delle procedure seguite da un componente per l'interazione con un altro componente, utilizza la notazione ASN.1 e invia le raccomandazioni a un comitato per la definizione degli standard, come ITU. ASN.1 facilita la comunicazione tra professionisti e membri del comitato, mettendo a disposizione un linguaggio comune per la descrizione di uno standard. ASN.1 Ŕ definito nelle Raccomandazioni ITU-T X.209 e X.690.


Ad esempio, ASN.1 definisce:
  • Che cos'Ŕ un "tipo".
  • Che cos'Ŕ un "modulo" e qual Ŕ il suo aspetto.
  • Che cos'Ŕ un INTERO.
  • Che cos'Ŕ un BOOLEANO.
  • Che cos'Ŕ un "tipo strutturato".
  • Qual Ŕ il significato di determinate parole chiave (ad esempio, BEGIN, END, IMPORT, EXPORT, EXTERNAL e cosý via).
  • Come assegnare un "tag" a un tipo per consentirne la corretta codificazione.
ASN.1 non si riferisce in particolare a uno standard, a un metodo di codifica, a un linguaggio di programmazione o a una piattaforma hardware specifica. ╚ semplicemente un linguaggio per la definizione di standard. In altre parole, gli standard sono scritti in ASN.1.

BER

BER Ŕ il nome comune con cui vengono definite le regole di codifica di base, o Basic Encoding Rules, di ASN.1. BER Ŕ definito nelle Raccomandazioni ITU-T X.209 e X.690. BER Ŕ un insieme di regole per la codifica dei dati ASN.1 in un flusso di ottetti che pu˛ essere trasmesso attraverso un collegamento di comunicazione. Altri metodi per codificare dati ASN.1 comprendono Distinguished Encoding Rules (DER), Canonical Encoding Rules (CER) e Packing Encoding Rules (PER). Ogni metodo di codifica ha una propria applicazione, tuttavia BER Ŕ tendenzialmente il metodo di codifica pi¨ comunemente utilizzato e citato.

BER definisce:
  • Metodi per la codifica di valori ASN.1.
  • Regole per stabilire quando utilizzare un determinato metodo.
  • Il formato di specifici ottetti nei dati.

ASN.1 e BER a confronto

ASN.1 Ŕ come un linguaggio di programmazione (quale C), mentre BER Ŕ paragonabile a un compilatore per quel linguaggio. I compilatori sono specifici della piattaforma, mentre molti linguaggi di programmazione di alto livello non lo sono. C definisce le regole e il linguaggio per la creazione di un programma. Un programma non Ŕ C; Ŕ scritto in C. Il programma non ha alcuna utilitÓ finchÚ non viene compilato per una particolare piattaforma (ad esempio Intel x86). Lo stesso vale per ASN.1 e BER. ASN.1 Ŕ il linguaggio per la scrittura di uno standard. Uno standard non Ŕ ASN.1; Ŕ scritto in ASN.1. I dati generati da un programma compatibile con lo standard possono essere genericamente definiti "dati ASN.1". I dati ASN.1 non sono fruibili, ovvero non possono essere trasmessi attraverso una LAN, finchÚ non vengono codificati in un flusso di ottetti facilmente decodificabili a destinazione. Per illustrare questo concetto, di seguito viene fornito un esempio estratto dalle Raccomandazioni ITU-T X.209, Appendice I. Si tratta di una descrizione informale di un record di dati personali:
   Nome:             Guido Pica
   Data di nascita:  17 luglio 1959
   (altri dati)
					
La descrizione ASN.1 del record personale (standard) potrebbe essere:
   PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
       Name,
       title [0]       VisibleString,
       dateOfBirth [1]          Date,
       (other types defined)          }

   Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
       givenName       VisibleString,
       initial         VisibleString, 
       familyName      VisibleString  }
					
Nella descrizione in ASN.1 Ŕ indicato quale potrebbe essere l'aspetto di un PersonnelRecord. Descrive soprattutto la modalitÓ di formattazione dei dati in modo che diventino dati ASN.1 prima della codifica.

Nell'applicazione i dati personali vengono quindi associati alla struttura di record personali (formato di dati ASN.1), quindi vengono applicate le regole di codifica di base (BER) ai dati ASN.1. Di seguito Ŕ riportato l'aspetto che potrebbero avere i dati, a eccezione dei nomi che vengono convertiti in formato ASCII:
  Personnel
  Record     Length   Contents
  60         8185
                      Name     Length  Contents
                      61       10
                                       VisibleString  Length  Contents
                                       1A             04      "Guido"
                                       VisibleString  Length  Contents
                                       1A             01      "P"
                                       VisibleString  Length  Contents
                                       1A             05      "Pica"

                       DateofBirth     Length  Contents
                       A0              0A
                                               Date    Length  Contents
                                               43      08      "19590717"
					
Alla fine, i dati effettivamente trasmessi (o pi¨ precisamente ci˛ che diventa la porzione di dati per il pacchetto al successivo livello inferiore) sono:
60 81 85 61 10 1A 04 ....
....  0A 43 08 19 59 07 17
					

Riferimenti

Per ulteriori informazioni su ASN.1, consultare le Raccomandazioni ITU-T da X.680 a 683.
Per ulteriori informazioni su BER, consultare la raccomandazione stessa (Raccomandazione ITU-T X.690 o X.691).

Per ulteriori informazioni, fare riferimento a "Modifiche da ASN.1:1988 a ASN.1:2002" nella seguente pagina Web di ITU-T Study Group 17 (informazioni in lingua inglese):
http://www.itu.int/ITU-T/studygroups/com17/changing-ASN/

ProprietÓ

Identificativo articolo: 252648 - Ultima modifica: giovedý 29 aprile 2004 - Revisione: 4.0
Le informazioni in questo articolo si applicano a
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Chiavi:á
kbinfo KB252648
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com