Data Communications & Networks. Session 3 Main Theme Data Encoding and Transmission. Dr. Jean-Claude Franchitti

Similar documents
Data Communications & Networks. Session 3 Main Theme Data Encoding and Transmission. Dr. Jean-Claude Franchitti

ET4254 Communications and Networking 1

Chapter 8 OSI Physical Layer

Advantages and disadvantages

Data Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti

L3: Building Direct Link Networks I. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

ECE 4450:427/527 - Computer Networks Spring 2017

Data Transmission Definition Data Transmission Analog Transmission Digital Transmission

IT4405 Computer Networks (Compulsory)

CSCI-1680 Physical Layer Link Layer I Rodrigo Fonseca

Chapter 5 Link Layer and LANs

Data Link Layer Overview

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

UNIT 2-Data Communication Concept

Module 1. Introduction. Version 2, CSE IIT, Kharagpur

Data Link Layer Overview

Data Link Layer Overview

Chapter 6 Digital Data Communications Techniques

Housekeeping. Fall /5 CptS/EE 555 1

Objectives. Learn how computers are connected. Become familiar with different types of transmission media

DATA COMMUNICATION AND NETWORKS

Links. CS125 - mylinks 1 1/22/14

Frequency: it refers to the number of periods in 1 s. It is formally expressed in Hertz (Hz)

Transmission SIGNALs

Data Communications & Computer Networks. Digital Data Communications Techniques

OSI Model. Teran Subasinghe MBCS, Bsc.(Hons) in Computer Science - University of Greenwich, UK

Data Link Layer Overview

Data Link Layer: Multi Access Protocols

Data Communications and Networks Spring Syllabus and Reading Assignments

COMPUTER NETWORKS UNIT I. 1. What are the three criteria necessary for an effective and efficient networks?

COMPONENTS OF DATA COMMUNICATION

Physical Layer V What does the physical layer provide?

Data Link Networks. Hardware Building Blocks. Nodes & Links. CS565 Data Link Networks 1

Overview. Performance metrics - Section 1.5 Direct link networks Hardware building blocks - Section 2.1 Encoding - Section 2.2 Framing - Section 2.

Telecommunications II TEL 202 Spring, 2004

L1: Introduction. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

The Link Layer and LANs. Chapter 6: Link layer and LANs

Solution of Exercise Sheet 2. (Layers of Reference Models)

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

Monash University SAMPLE EXAM. Faculty Of Information Technology. Computer Facilities and Network Management

Direct Link Networks: Building Blocks (2.1), Encoding (2.2), Framing (2.3)

EEC-484/584 Computer Networks

CS 455/555 Intro to Networks and Communications. Link Layer

Course 10: Interfaces Agenda

Direct Link Networks. Lecture - Encoding & Framing 1. Areas for Discussion. Problems

Today. Last Time. Motivation. CAN Bus. More about CAN. What is CAN?

CSC 4900 Computer Networks: The Link Layer

Token Ring and. Fiber Distributed Data Interface (FDDI) Networks: Token Ring and FDDI 1

Lecture 3: Modulation & Layering"

Network Technology and Data Communications

Lecture 4. Data Transmission Modes and Switching. Data Transmission & Switching 1-1

Topics Today. Lecture 8: Physical and Link Layers. Protocol Layering. Physical layer: chips versus bits. Physical Layer (Layer 1) Protocol Layering

Chapter 7: Data Link Control. CS420/520 Axel Krings Page 1

Chapter 7: Data Link Control. Data Link Control Protocols

UNIT - IV Ques.4 Ques.5

Computer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks

Multiple Access Protocols

Lecture 8 Link Layer: functionality, error detection, media access algorithm

The following CompTIA Network+ domain objectives and examples are covered in this module:

DATA COMMUNICATIONS AND COMPUTER NETWORKS

CS1302 / Computer Networks

Introduction to Information Technology Turban, Rainer and Potter John Wiley & Sons, Inc. Copyright 2005

Multimedia Networking

Data Communication. Chapter # 1: Introduction. By: William Stalling

From Signals to Packets Computer Networking. Link Layer: Implementation. Datalink Functions. Lecture 5 - Coding and Error Control

Lecture Outline. Lecture 2. OSI model and networking. The OSI model and networking. The OSI model and networking. The OSI model and networking

CS 640 Lecture 4: 09/11/2014

Review For Exam 2. Internetworking. Summary Questions. School of Business Eastern Illinois University. School of Business Eastern Illinois University

Since enrollment is very small this semester, we have flexibilty. Traditional lecture Assigned reading, and then student(s) present during class time

CS455: Introduction to Distributed Systems [Spring 2018] Dept. Of Computer Science, Colorado State University

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

Protocol Specification. Using Finite State Machines

Data and Computer Communications

Chapter 5 Link Layer and LANs

Outline: Connecting Many Computers

Framing and Stuffing. Advanced Computer Networks

WEEK 9 TCP/IP, PHYSICAL AND DATA LINK LAYERS

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061/1110. Lecture 8. Medium Access Control Methods & LAN

Strengthening Unlicensed Band Wireless Backhaul

Outline. Introduction to Networked Embedded Systems - Embedded systems Networked embedded systems Embedded Internet - Network properties

INTRODUCTION DATA COMMUNICATION TELECOMMUNICATIONS SYSTEM COMPONENTS 1/28/2015. Satish Chandra satish0402.weebly.com

Overview of Networks

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 16

Message, Segment, Packet, and Frame Link-layer services Encoding, framing, error detection, transmission control Error correction and flow control

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Serial Port Communication Module No: CS/ES/11 Quadrant 1 e-text

Data Communications And Computer Network

Come & Join Us at VUSTUDENTS.net

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

The Diffie-Hellman Key Exchange

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

TIME SCHEDULE. 2 Physical Layer 15. Course General Outcomes: Sl. G.O On completion of this course the student will be able :

Data Communication. Introduction of Communication. Data Communication. Elements of Data Communication (Communication Model)

Introduction to Computer Networks. 03 Data Link Layer Introduction

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Department of Computer Science and Engineering. CSE 3213: Computer Networks I (Summer 2008) Midterm. Date: June 12, 2008

CS 3516: Computer Networks

Data Communications & Computer Networks

Faculty of Science Final Examination. Computer Science B Basics of Computer Networks

What s a protocol? What s a protocol? A closer look at network structure: What s the Internet? Hardware view: What s the Internet?

Transcription:

Data Communications & Networks Session 3 Main Theme Data Encoding and Transmission Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences Adapted from course textbook resources Computer Networking: A Top-Down Approach, 5/E Copyright 1996-2009 J.F. Kurose and K.W. Ross, All Rights Reserved 1 Agenda 11 Session Session Overview Overview 22 Data Data Encoding Encoding and and Transmission Transmission 33 Summary Summary and and Conclusion Conclusion 2

What is the class about? Course description and syllabus:» http://www.nyu.edu/classes/jcf/g22.2262-001/» http://www.cs.nyu.edu/courses/spring10/g22.2262-001/index.html Textbooks:» Computer Networking: A Top-Down Approach (5 th Edition) James F. Kurose, Keith W. Ross Addison Wesley ISBN-10: 0136079679, ISBN-13: 978-0136079675, 5th Edition (03/09) 3 Course Overview Computer Networks and the Internet Application Layer Fundamental Data Structures: queues, ring buffers, finite state machines Data Encoding and Transmission Local Area Networks and Data Link Control Wireless Communications Packet Switching OSI and Internet Protocol Architecture Congestion Control and Flow Control Methods Internet Protocols (IP, ARP, UDP, TCP) Network (packet) Routing Algorithms (OSPF, Distance Vector) IP Multicast Sockets 4

Data Transmission and Encoding Session in Brief Data Transmission and Encoding Concepts ADTs and Protocol Design Summary and Conclusion 5 Icons / Metaphors Information Common Realization Knowledge/Competency Pattern Governance Alignment Solution Approach 6 6

Agenda 11 Session Overview 22 Data Encoding and Transmission 33 Summary and Conclusion 7 Data Encoding and Transmission - Roadmap 22 Data Encoding and Transmission Data Encoding and Transmission Concepts ADTs and Protocol Design 8

Simplified Data Communications Model 9 S(t) = A sin(2πft + Φ) 10

Terminology (1/3) Transmitter Receiver Medium Guided medium E.g., twisted pair, optical fiber Unguided medium E.g., air, water, vacuum 11 Terminology (2/3) Direct link No intermediate devices Point-to-point Direct link Only 2 devices share link Multi-point More than two devices share the link 12

Terminology (3/3) Simplex One direction e.g., television Half duplex Either direction, but only one way at a time e.g. police radio Flux duplex Both directions at the same time e.g., telephone 13 Analog and Digital Data Transmission Data Entities that convey meaning Signals Electric or electromagnetic representations of data Transmission Communication of data by propagation and processing of signals 14

Data Analog Continuous values within some interval e.g., sound, video Digital Discrete values e.g., text, integers 15 Signals Means by which data are propagated Analog Continuously variable Various media e.g., wire, fiber optic, space Speech bandwidth 100Hz to 7kHz Telephone bandwidth 300Hz to 3400Hz Video bandwidth 4MHz Digital Use two DC components 16

Data and Signals Usually use digital signals for digital data and analog signals for analog data Can use analog signal to carry digital data Modem Can use digital signal to carry analog data Compact Disc audio 17 Analog Transmission Analog signal transmitted without regard to content May be analog or digital data Attenuated over distance Use amplifiers to boost signal Also amplifies noise 18

Digital Transmission Concerned with content Integrity endangered by noise, attenuation etc. Repeaters used Repeater receives signal Extracts bit pattern Retransmits Attenuation is overcome Noise is not amplified 19 Advantages/Disadvantages of Digital Cheaper Less susceptible to noise Greater attenuation Pulses become rounded and smaller Leads to loss of information 20

Attenuation of Digital Signals 21 Interpreting Signals Need to know Timing of bits - when they start and end Signal levels Factors affecting successful interpreting of signals Signal to noise ratio Data rate Bandwidth 22

Encoding Schemes Non-return to Zero-Level (NRZ-L) Non-return to Zero Inverted (NRZI) Bipolar AMI Pseudoternary Manchester Differential Manchester B8ZS HDB3 23 Non-Return to Zero-Level (NRZ-L) Two different voltages for 0 and 1 bits Voltage constant during bit interval No transition (i.e. no return to zero voltage) e.g., Absence of voltage for zero, constant positive voltage for one More often, negative voltage for one value and positive for the other This is NRZ-L 24

Non-Return to Zero Inverted Nonreturn to zero inverted on ones Constant voltage pulse for duration of bit Data encoded as presence or absence of signal transition at beginning of bit time Transition (low to high or high to low) denotes a binary 1 No transition denotes binary 0 An example of differential encoding 25 NRZ 26

Differential Encoding Data represented by changes rather than levels More reliable detection of transition rather than level In complex transmission layouts it is easy to lose sense of polarity 27 Summary of Encodings 28

NRZs Pros and Cons Pros Easy to engineer Make good use of bandwidth Cons DC component Lack of synchronization capability Used for magnetic recording Not often used for signal transmission 29 Biphase Manchester Transition in middle of each bit period Transition serves as clock and data Low to high represents one High to low represents zero Used by IEEE 802.3 Differential Manchester Mid-bit transition is clocking only Transition at start of a bit period represents zero No transition at start of a bit period represents one Note: this is a differential encoding scheme Used by IEEE 802.5 30

Biphase Pros and Cons Con At least one transition per bit time and possibly two Maximum modulation rate is twice NRZ Requires more bandwidth Pros Synchronization on mid bit transition (self clocking) No dc component Error detection Absence of expected transition 31 Asynchronous/Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and receiver Two solutions Asynchronous Synchronous 32

Asynchronous Data transmitted on character at a time 5 to 8 bits Timing only needs maintaining within each character Resync with each character 33 Asynchronous (Diagram) 34

Asynchronous - Behavior In a steady stream, interval between characters is uniform (length of stop element) In idle state, receiver looks for transition 1 to 0 Then samples next seven intervals (char length) Then looks for next 1 to 0 for next char Simple Cheap Overhead of 2 or 3 bits per char (~20%) Good for data with large gaps (keyboard) 35 Synchronous Bit Level Block of data transmitted without start or stop bits Clocks must be synchronized Can use separate clock line Good over short distances Subject to impairments Embed clock signal in data Manchester encoding Carrier frequency (analog) 36

Synchronous Block Level Need to indicate start and end of block Use preamble and postamble e.g. series of SYN (hex 16) characters e.g. block of 11111111 patterns ending in 11111110 More efficient (lower overhead) than async 37 Synchronous (diagram) 38

Data Encoding and Transmission - Roadmap 22 Data Encoding and Transmission Data Encoding and Transmission Concepts ADTs and Protocol Design 39 Common Issues in Design When building protocol software, there are two common problems that designers face: 1) How to handle data that arrives from two independent sources Down from the higher layer Up from the lower layer 2) How to implement the protocol 40

Data from Two Sources Down from the Higher Layer (HL) Higher layer (HL) sends requests (control and data) Cannot always process the request immediately, so we need a place to hold the request We may get many HL users (e.g., many TCP, only one IP) Requests may need to be processed out of order (out of band, QOS, etc) 41 Data from Two Sources Up from the Lower Layer (LL) Lower layer sends data and indications Data must be separated from indications Read requests from HL may use different data boundaries than LL LL may be providing data at same time as HL wants to read it 42

Ring Buffer of Size N 0 1 2... Inititial State Input: 0 Output: 0 N-1 43 Ring Buffer of Size N 0 1 2 Element 0... New Element Arrives Input: 1 Output: 0 N-1 44

Ring Buffer of Size N 0 1 2 Element 0 Element 1... New Element Arrives Input: 2 Output: 0 N-1 45 Ring Buffer of Size N 0 1 2 Element 0 Element 1 Read next (element 0) Input: 2 Output: 1 N-1... Read next (element 1) Input: 2 Output: 2 46

Ring Buffer of Size N 0 1 2 Element 0 Element 1 Element 2 After Nth input: Input: 0 Output: 2... How many more input elements can we accept? N-1 Element N-1 47 Ring Buffer Spec (1/3) Let B be a buffer. Let S be the size of the buffer B in bytes. Let I be an index into the buffer where the producer will store the next new byte of data. Let O be the index of the next byte that the consumer should remove from the buffer. Let N be the number of unconsumed bytes in the buffer. Define % as the modulus operator. Initially, I = O = N = 0. The buffer is full (has no room for new data) when N == S. The available space (for new data) A = S - N 48

Ring Buffer Spec (2/3) To Add m bytes of data from buffer D to the buffer B the producer will: (1) Check that m <= A (if not an error has occurred) (2) put bytes into the buffer using this model: int j = I; I = (I+m)%S N += m; for (int q = 0; q < m; q++) B[(j+q)%S] = D[q] 49 Ring Buffer Spec (3/3) To remove r bytes from the buffer B to buffer D, the consumer will: (1) Check that r <= N. If not, adjust r (r = N) or signal error. (2) take bytes from the buffer using this model: int j = O; O = (O+r)%S N -= r for (int q = 0; q < r; q++) D[q] = B[(j+q)%S] 50

Ring Buffer: Making it Safe So, you see that the idea is that the input (I) and output (O) pointers change continuously from the beginning of the buffer to the end and then wrap around back to the beginning again. Conceptually, it appears as if the end of the buffer is connected back the front of the buffer as if to form a ring (or circle). We enforce that the input pointer never tries to overtake the output pointer! To make these two methods thread safe, we need only to protect the 3 lines of code that update the class variables O, N, I: NOT the loops that move data! This is a better real-time approach than serializing access to the loop itself, or worse, the entire object. 51 Ring Buffer Characteristics Elements are all same size and type Elements are typically primitives (byte, int, etc) but can be pointers or even structures Finite Fixed space must be allocated a priori Low overhead No per element costs like we have in a Queue Elements MUST be processed in order. 52

Queue Elements are linked together in a list List can be single (forward) or double (forward and backward) linked Queue Control Block contains (as a minimum) pointer to first element (head) and last element (tail) Queues are almost always used as FIFOs, but can support iteration, random access, and reverse (LIFO) processing 53 Queue (Singly Linked) head tail Queue Control Block a z Payload can be ANY object or structure. Elements need not contain similar payloads. Forward link b z null Payload element a element b element z 54

Queue (Doubly Linked) head tail Queue Control Block a z Forward link Backward link b z null null a b Payload element a element b element z 55 Queue Operations Required Operations Put (add to tail) Get (get from head) Nice to Have Operations Remove (remove specific element) Insert (add element after a specific element) Deluxe Operations Peek (non-destructive Get) Put to head Get from tail Iterate (head to tail or tail to head) 56

Queue Characteristics Not fixed in length ( unlimited in length) Does not require pre-allocated memory Allows processing of elements in arbitrary order Can accommodate elements of different type Additional per element cost (links) 57 Queue or Ring Buffer Stream data: Use a ring buffer Arriving elements are primitives that make up a data stream (no record boundaries) TCP data is an example Service requests: Use a queue Arriving elements are requests from a user layer (or clients) and must be processed individually. 58

What is a FSM? Let s define the idea of a machine Organism (real or synthetic) that responds to a countable (finite) set of stimuli (events) by generating predictable responses (outputs) based on a history of prior events (current state) A finite state machine (fsm) is a computational model of a machine 59 FSM Elements States represent the particular configurations that our machine can assume Events define the various inputs that a machine will recognize Transitions represent a change of state from a current state to another (possibly the same) state that is dependent upon a specific event The Start State is the state of the machine before is has received any events 60

Machine Types Mealy machine one that generates an output for each transition Moore machine one that generates an output for each state Moore machines can do anything a Mealy machine can do (and vice versa) In my experience, Mealy machines are more useful for implementing communications protocols The fsm that I ll provide is a Mealy machine 61 State Diagram 62

From State Diagram to FSM Identify States Events Transitions Actions (outputs) Program these elements into an FSM Define an event classification process Drive the events through the FSM Example. 63 Agenda 11 Session Overview 22 Application Layer 33 Summary and Conclusion 64

Assignments & Readings Readings» Chapters 1 and 5 65 Next Session: Data Link Control 66