9/21/2016 Presentation layer Abstract Syntax Notation #1 Basic Encoding Rules.

Slides:



Advertisements
Similar presentations
1 Pertemuan 05 Model Informasi - SMI Matakuliah: H0372/Manajemen Jaringan Tahun: 2005 Versi: 1/0.
Advertisements

TCP/IP Protocol Suite 1 Chapter 21 Upon completion you will be able to: Network Management: SNMP Understand the SNMP manager and the SNMP agent Understand.
End-to-End Data Outline Presentation Formatting Data Compression.
CSTA is a kind of standard communication protocol used between PBX and computer that is famous in Europe. What is CSTA ? Control Requests Event Notifications.
Jump to first page PKI2001 (TIFR, Mumbai) ASN.1 Abstract Syntax Notation One ASN.1 is a standard way to describe a message(a unit application data) that.
SNMP (Simple Network Management Protocol) Jon Sevy Geometric and Intelligent Computing Laboratory Department of Mathematics and Computer Science Drexel.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
SNMP: Simple Network Management Protocol
S/MIME and CMS Presentation for CSE712 By Yi Wen Instructor: Dr. Aidong Zhang.
Abstract Syntax Notation One ASN.1
ASN.1 CNS 4650 Fall 2004 Rev. 2.
Abstract Syntax Notation Computer Networks courses Villanova University.
CIS Computer Programming Logic
Network Management Computer Networks Natawut Nupairoj, Ph.D.
AML ASN.1 Markup Language A markup notation for ASN.1 values Copyright © 2001 Griffin Consulting, All Rights Reserved. Griffin Consulting 1625 Glenwood.
Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: text, section.
Abstract Syntax Notation ASN.1 Week-5 Ref: “SNMP…” by Stallings (Appendix B)
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Abstract Syntax Notation One ASN.1. Abstract Syntax Notation One  Both the information and communications models need to be specified syntactically and.
An Introduction to Abstract Syntax Notation 1 (ASN.1)
Chapter 3 Basic Foundations: Standards, Models, and Language.
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: Data Type Encoding Date Submitted: April 27, 2007 Presented at.
Application support functions Chapter Introduction ASN.1 Security Data encryption Nonrepudiation Authentication Public key certification authorities.
LonWorks Introduction Hwayoung Chae.
BER ENCODING Basic Encoding Rules. Basic Encoding Rules What is it?  BER is the original rules laid out by the ASN.1 standard for encoding information.
Michel Gardie9/29/2016 OSI Reference Model Open Systems Interconnection Basic Reference Model.
HDLC High-level Data Link Control. 10/1/2016 Telecom & Management SudParis 2 Summary ● Overview and features ● The frame structure.
Jaringan Telekomunikasi, Sukiswo ST, MT Sukiswo
Web fundamentals: Clients, Servers, and Communication
Presentation Services
The ITU-T X.500 series and X.509 in a changing world
ASN.1: Introduction Zdeněk Říha.
Presented By: Prof. D.W.Chadwick Other Author: D.Mundy
Network Management Information model
Understand the OSI Model Part 2
Dept. of Computer Science and Engineering
ASN.1 소개 건아정보기술 SW개발팀 김강민 주임연구원.
System and Network Management
Protocols and the TCP/IP Suite
May 2018 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Discussion on Suitable Parameters for SCHC]
Chapter 3 Basic Foundations: Standards, Models, and Language
7. End-to-end data Rocky K. C. Chang Department of Computing
July 2010 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Bit Order Issues] Date Submitted: [ “1 July,
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Robert Moskowitz, Verizon
Chapter 15 – Part 2 Networks The Internal Operating System
May 2018 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title: [Discussion on Suitable Parameters for SCHC]
Robert Moskowitz, Verizon
SNMP (Simple Network Management Protocol) based Network Management
Chapter 2. Protocols and Architecture
The University of Adelaide, School of Computer Science
CX_NET_SAP Primitives
IEEE “ Requirements” Date: Authors:
Introducing 11r-d0.00 Date: Authors: January 2002
MAC Management Messages for Reliable Inter-BS Communication
May 2006 doc.: IEEE /0601r0 May 2006 Handling the Groupcast Sequence Number for Proxied Device in Multihop Mesh Date: Authors: Notice:
Today: Distributed File Systems
Transport service discussion
COMS/CSEE 4140 Networking Laboratory Lecture 10
Protocols and the TCP/IP Suite
doc.: IEEE <doc#>
Client Management Protocol Details
Job Attribute and Event Monitoring Methods
OSI Reference Model Unit II
Media Independent Handover
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Simple Network Management Protocol
Standards, Models and Language
Presentation transcript:

9/21/2016 Presentation layer Abstract Syntax Notation #1 Basic Encoding Rules

9/21/2016 GET/INT/LOR 2 Outline Overview of the presentation layer Notions of syntaxes XDR BER Description languages ASN.1

9/21/2016 GET/INT/LOR 3 Without the presentation layer Layer "5 " " " The internal data representation is different. The final representation is different Real syntax

9/21/2016 GET/INT/LOR 4 With the presentation layer (1) Layer "5 " Layer The source syntax is converted into the target syntax Both syntaxes must be known

9/21/2016 GET/INT/LOR 5 With the presentation layer (2) Layer "5 " Layer The source syntax is converted into the transfer syntax The transfer syntax is decoded into the target syntax

9/21/2016 GET/INT/LOR 6 Interest of the transfer syntax There is no need to know all the real syntaxes used by the communicating applications Acts as a common language between the different applications: different architectures different operating systems different programming languages

9/21/2016 GET/INT/LOR 7 Overview of the presentation layer The presentation layer is the 6 th of the OSI Reference Model The layer is responsible for the delivery and formatting of information to the application layer for further processing or display preservation of the semantics of data negociation of the transfer syntaxes access to the session layer

9/21/2016 GET/INT/LOR 8 XDR eXternal Data Representation XDR is a transfer syntax RFC 1014, then 1832 and finally 4506 (may 2006) Used by RPC (Remote Procedure Call), NFS (Network File System) Associated description language: “C” Encoding: implicit tags

9/21/2016 GET/INT/LOR 9 BER Basic Encoding Rules BER is a transfer syntax ITU Recommendations X.409 (original; BER and ASN.1) X.209 (BER) X.691 (BER, CER, DER) Used by many protocols (SMTP, MAP, SET, LDAP...) Associated description language: ASN.1 Encoding: explicit tags

9/21/2016 GET/INT/LOR 10 ASN.1 ASN.1 stands for Abstract Syntax Notation # 1 This is a language to describe, in an abstract way, data which are subject to transmission By definition, this language is independant from processors, operating systems programming languages

9/21/2016 GET/INT/LOR 11 ASN.1 Used by SMTP X.500 protocols MAP (Mobile Application Part) [GSM, UMTS...] Certificates X.509 PKCS#7 SET (Secured Electronic Transactions) H.323 family (VoIP) LDAP etc.

9/21/2016 GET/INT/LOR 12 ASN.1 The language offers: Basic data types INTEGER BOOLEAN Several String types etc. Special types to build new types SEQUENCE SET CHOICE etc.

9/21/2016 GET/INT/LOR 13 Example of type definitions Badge ::= INTEGER Name ::= Printable String Wage ::= REAL Deceased ::= BOOLEAN First-name ::= [APPLICATION 1] Printable String

9/21/2016 GET/INT/LOR 14 An ASN.1 example The following slides will show the use of ASN.1 to describe some application data. In this example, we want to describe a “Person”. A person will have: a name (family name) one (or more) first name(s) a birthday date a gender a marital status an address etc.

9/21/2016 GET/INT/LOR 15 Construction of a new type Person ::= description “Person” is the name of a newly created type; it begins with a capital letter ::= is the assignment symbol description is the ASN.1 of the newly created type

9/21/2016 GET/INT/LOR 16 Construction of a new type (2) Person ::= SEQUENCE {... } “Person” will be a sequence of different fields (name, birthday, address...) SEQUENCE specifies that the fields will be sent in the order used to describe the new type.

9/21/2016 GET/INT/LOR 17 Construction (3) Person ::= SEQUENCE { Printable String,... } First possibility The first field will contain the family name The second field will contain the first name Other possibility First field: first name Second field: family name

9/21/2016 GET/INT/LOR 18 Construction (4) Person ::= SEQUENCE { familyname Printable String, firstname Printable String,... } This description uses text identifiers (begin with small letters) to identify the different fields. “Printable String” is a basic string type

9/21/2016 GET/INT/LOR 19 Construction (5) Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String,... } The “firstname” field is a sequence of identical fields. The number of these fields is not specified

9/21/2016 GET/INT/LOR 20 Construction (6) Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String, birthday GENERALIZED TIME, gender BOOLEAN,... } GENERALIZED TIME is a basic ASN.1 type. In this example, “gender” is obviously badly specified.

9/21/2016 GET/INT/LOR 21 Construction (7) Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String, birthday GENERALIZED TIME, gender ENUMERATED {male(0), female(1), unknown(2)},... } “gender” now uses a type giving the different available values.

9/21/2016 GET/INT/LOR 22 Construction (8) The type Person can be used in a recursive way. In this description, the “children” and “spouse” fields need a definition of some values. This may be not suitable for all real persons. Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String, birthday GENERALIZED TIME, gender ENUMERATED {male(0), female(1), unknown(2)}, children SEQUENCE OF Person, spouse Person,... }

9/21/2016 GET/INT/LOR 23 Construction (9) The “children” and “spouse” fields are described as optional. If no values are available, the content of the fields are not sent. The fields “children” and “spouse” are both SEQUENCES  ambiguity. Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String, birthday GENERALIZED TIME, gender ENUMERATED {male(0), female(1), unknown(2)}, children SEQUENCE OF Person OPTIONAL, spouse Person OPTIONAL,... }

9/21/2016 GET/INT/LOR 24 Construction (10) To avoid ambiguity, the fields “children” and “spouse” must be tagged. A tag is a user-defined numeric identifier. These identifiers are local to the type in which there are defined. Person ::= SEQUENCE { familyname Printable String, firstname SEQUENCE OF Printable String, birthday GENERALIZED TIME, gender ENUMERATED {male(0), female(1), unknown(2)}, children [0] SEQUENCE OF Person OPTIONAL, spouse [1] Person OPTIONAL,... }

9/21/2016 GET/INT/LOR 25 Other constructions Meal ::= [APPLICATION 0] SEQUENCE { starter [0] CHOICE { salad [0] Printable String, pâté [1] Printable String } main-course [1] CHOICE { meat [0] Printable String, fish [1] Printable String } dessert Printable String } “Meal” is tagged. Useful if there are several main types. All the fields are also tagged. This is needed here to allow the distinction between them.

9/21/2016 GET/INT/LOR 26 Other constructions (2) Person ::= SET { name [0] Printable String, given-name [1] Printable String, birthday GENERALIZED TIME } The three fields can be sent in any order. The two first fields must be tagged (same type).

9/21/2016 GET/INT/LOR 27 BER Principle: Type (tag) Length Value TypeLengthValue 1 to n bytes 1 to 127 bytes 1 to bytes

9/21/2016 GET/INT/LOR 28 BER: type field The type field contains: a class identifier (2 bits) Universal Application Private context-specific a form identifier (1 bit) atomic structured a tag field (several bits)

9/21/2016 GET/INT/LOR 29 BER: length field length < 127 one-byte field length > 127 N bytes (N ≤ 127) the real length is coded on 126 bytes at most. max length:

9/21/2016 GET/INT/LOR 30 Information about this document Initially written with OpenOffice.org 2.1 (impress, calc, draw), then OOo Fonts used in this document:

9/21/2016 GET/INT/LOR 31 Public Documentation licence Notice ● The contents of this Documentation are subject to the Public Documentation License Version 1.0 (the “License”); you may only use this Documentation if you comply with the terms of this License. A copy of the License is available at ● The Original Documentation is “The presentation layer; Abstract Syntax Notation #1; Basic Encoding Rules”. The Initial Writer of the Original Documentation is Michel Gardie, Copyright © All Rights Reserved. (Initial Writer contact(s): ● Contributor(s): none.