Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: text, section.

Slides:



Advertisements
Similar presentations
SDL+ The Simplest, Useful Enhanced SDL-Subset The documentation is the design, the design is the system! Copyright © SDL Task Force Consortium.
Advertisements

1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Programming Languages and Paradigms
Spring Remote Procedure Call (5.3) Outline Protocol Stack Presentation Formatting.
RPC Remote Procedure Call Dave Hollinger Rensselaer Polytechnic Institute Troy, NY.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
CS6223: Distributed Systems Remote Procedure Call (RPC)
1 William Stallings Data and Computer Communications 7 th Edition Chapter 2 Protocols and Architecture.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
End-to-End Data Outline Presentation Formatting Data Compression.
PZ04A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ04A - Scalar and composite data Programming Language.
Network Management Network Management. Network Management 9-2 Chapter 9 Network Management Computer Networking: A Top Down Approach Featuring.
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.
EEC-681/781 Distributed Computing Systems Lecture 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Questions for Chapter 6,9 Ying Zhang.
SNMP: Simple Network Management Protocol
Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: Tannenbaum.
Abstract Syntax Notation One ASN.1
ASN.1 CNS 4650 Fall 2004 Rev. 2.
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
Chapter 1 Overview Review Overview of demonstration network
Presentation on Osi & TCP/IP MODEL
Network Management Computer Networks Natawut Nupairoj, Ph.D.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
ICT 6621 : Advanced NetworkingKhaled Mahbub, IICT, BUET, 2008 Lecture 13 Network Management.
Section 2.31 The TCP/IP reference model the de facto Internet standard demonstrates arbitrary nature of layers –various models are possible –OSI & TCP/IP.
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Remote Procedure Call Andrew Whitaker CSE451. Remote Procedure Call RPC exposes a programming interface across machines: interface PriceService { Price.
11 September 2008CIS 340 # 1 Topics To examine the variety of approaches to handle the middle- interaction (continued) 1.RPC-based systems 2.TP monitors.
Abstract Syntax Notation ASN.1 Week-5 Ref: “SNMP…” by Stallings (Appendix B)
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Prof. Younghee Lee 1 1 Computer Networks u Lecture 14: Network Management Prof. Younghee Lee * Some part of this teaching materials are prepared referencing.
I Power Int 2 Computing Software Development High Level Language Constructs.
An Introduction to Abstract Syntax Notation 1 (ASN.1)
Spring 2006CS 3321 Remote Procedure Call Outline Protocol Stack Presentation Formatting.
CSE 451: Operating Systems Winter 2015 Module 22 Remote Procedure Call (RPC) Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Page 1 Remote Procedure Calls Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
 Last Class  Finish Chapter 6  This Class  Chapter 7.
Remote Procedure Call RPC
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
Ch 9. Network Management Myungchul Kim
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
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.
1 Scalar and composite data Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Institute for Visualization and Perception Research 1 © Copyright 1998 Haim Levkowitz Network Layered Protocols.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
9/21/2016 Presentation layer Abstract Syntax Notation #1 Basic Encoding Rules.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Jaringan Telekomunikasi, Sukiswo ST, MT Sukiswo
The Application Layer User Agents Client Server Model Sockets
Chapter 8 Network Management
Presentation Services
Development of a Simulator for the HANARO Research Reactor (Communication Protocol) H.S. Jung.
ASN.1: Introduction Zdeněk Říha.
Prof. Leonardo Mostarda University of Camerino
Chapter 6: Data Types Lectures # 10.
Network Management Information model
Dept. of Computer Science and Engineering
System and Network Management
Chapter 8 Network Management
Chapter 8 Network Management
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
7. End-to-end data Rocky K. C. Chang Department of Computing
XDR External Data Representation
Tutorial 2.
The University of Adelaide, School of Computer Science
Simple Network Management Protocol
Standards, Models and Language
Presentation transcript:

Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: text, section Copyright All Rights Reserved, J. Kurose, D. Towsley

Presentation Services: Motivation Question: suppose we could copy reliably from one computer’s memory to another. Would this “solve” communication problem? Answer: ? Crux of problem:  deal with meaning of information, not representation  different computers, OS, compilers have different conventions for representing data  architecture: big endian versus little endian  floating point format  data type size: 16, 32, 64 bit int  different size, layout of data structures

Solving the representation problem  have sender encode to receiver’s format  have receiver decode from sender’s format  have machine-, OS-, language-independent method for describing data structures  host translatesto/from universal descriptionlanguage from/to own format  pros and cons?

ASN.1: Abstract Syntax Notation 1 ISO standard (one still meaningful) abstract syntax: “language” for describing data structures  data description language, not programming language  defines universal data types  allows user-defined data types basic encoding rules:  convert abstract syntax specification of data structure into series of bytes (for transmission)

ASN.1: a pictorial view

ASN.1: Universal Types predefined types with given tag value Example declarations: think of ::= as defining new data type in terms of universal data type Married ::= BOOLEAN SSN ::= INTEGER Lname ::= OCTETSTRING Salary ::= REAL IPAddress ::= OCTETSTRING (SIZE 4)

ASN.1 Syntax: constructors ASN.1 defines constructor types for building more complex data types of “simpler” data types: example of constructed data type: studentRecord ::= SEQUENCE { Lname OCTETSTRING, Fname OCTETSTRING, Mname OCTETSTRING, Married BOOLEAN DEFAULT FALSE, SSN INTEGER }

ASN.1 Syntax: Tagging and encoding ASN.1 data is self-identifying  BER: Basic Encoding Rules (PER: Packed Encoding Rules ) Packed Encoding RulesPacked Encoding Rules  each transmitted value encoded using tag/length/value (TLV) encoding: 8 -bit tag  tag type, 2 bits. (00 is UNIVERSAL)  primitive versus contructed, 1 bit  tag value (5 bits)

ASN.1 Syntax: Tagging and encoding (cont) 8-bit length: length of encoded data  question: what if length greater than 8-bit expressable? Value: encoded data itself  integers are encoded in 2’s complement, arbitrary length  boolean encoded in one byte, 0 is FALSE  octet string: byte values send  real: several encodings possible

ASN.1 Encoding Example The ASN.1 definition: Attendee ::= SEQUENCE { name OCTET STRING, paid BOOLEAN } The data {“Smith”,T} would be encoded: Note nesting of TLV structure in above example

ASN.1: But how do I use it? Normal people don’t want to write encoding/decoding routines! ASN.1 “compilers” take ASN.1 abstract syntax module and produce  C data type definitions (e.g., typedef’s) that user can #include to create data structures having these types  library of C-callable rouitnes (e.g., one for each data type) to encode/decode each typedef to/from TLV encoding

External Data Representation: XDR  developed by SUN (RFC 1014)  similar to ASN.1 in power  the de facto standard for most client-server applications  underlies SUN RPC and NFS  both stream oriented (TCP) and record oriented (UDP)

Presentation Services: closing thoughts  presentation processing expensive:  up to 90% processing time on ethernet/IP/TCP/presentation stack  cost to encode array of int’s 5-20 times more expensive than copy  too heavyweight?  interesting reading:  John Larmouth's book "Understanding OSI" : chapter 8: ASN.1 chapter 8: ASN.1chapter 8: ASN.1  role of ASN.1 in next generation http next generation httpnext generation http  Neufeld and Y. Yang, “An ASN.1 to C compiler,” IEEE Trans. Software Engineering, Oct  C. Huitema and A. Doghri, “Defining Faster Transfer Syntaxes for the OSI Presentation Protocol,” ACM Computer Communication Rev. Oct  D.E. Comer, D.L. Stevens, Internetworking with TCP/IP, vol. III, Prentice Hall, 1994.