Presentation Services

Slides:



Advertisements
Similar presentations
RPC Remote Procedure Call Dave Hollinger Rensselaer Polytechnic Institute Troy, NY.
Advertisements

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)
End-to-End Data Outline Presentation Formatting Data Compression.
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
SNMP: Simple Network Management Protocol
Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: Tannenbaum.
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
Network Management Computer Networks Natawut Nupairoj, Ph.D.
Presentation Services  need for a presentation services  ASN.1  declaring data type  encoding data types  implementation issues  reading: text, section.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
Communication Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
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.
An Introduction to Abstract Syntax Notation 1 (ASN.1)
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.
Remote Procedure Call RPC
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.
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.
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
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Networking Using the OSI Model.
The Transport Layer Implementation Services Functions Protocols
Lec7: SNMP Management Information
Chapter 9: Network Management
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.
Dept. of Computer Science and Engineering
Net 323 D: Networks Protocols
Dave Eckhardt RPC Dave Eckhardt
System and Network Management
Chapter 8 Network Management
CMSC621: Advanced Operating Systems Advanced Operating Systems
Communication Chapter 2.
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Chapter 8 Network Management
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
7. End-to-end data Rocky K. C. Chang Department of Computing
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Net 323 D: Networks Protocols
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
XDR External Data Representation
Distributed Computing
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
The University of Adelaide, School of Computer Science
CS-502, Operating Systems Fall 2009 (EMC)
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Simple Network Management Protocol
Last Class: Communication in Distributed Systems
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Exceptions and networking
Standards, Models and Language
Presentation transcript:

Presentation Services need for a presentation services ASN.1 declaring data type encoding data types implementation issues reading: Tannenbaum 7.3.2

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 translates to/from universal description language 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 ) 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 role of ASN.1 in next generation http Neufeld and Y. Yang, “An ASN.1 to C compiler,” IEEE Trans. Software Engineering, Oct. 1990 C. Huitema and A. Doghri, “Defining Faster Transfer Syntaxes for the OSI Presentation Protocol,” ACM Computer Communication Rev. Oct. 1989 D.E. Comer, D.L. Stevens, Internetworking with TCP/IP, vol. III, Prentice Hall, 1994.