ECE 650 Systems Programming & Engineering. Spring 2018

Similar documents
Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

CSCI Computer Networks

CSE3213 Computer Network I

CS3600 SYSTEMS AND NETWORKS

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

ECE 650 Systems Programming & Engineering. Spring 2018

Defining the Internet

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

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

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

Internet Architecture & Performance. What s the Internet: nuts and bolts view

Communicating over the Network

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Chapter 1. Computer Networks and the Internet

Introduction to Computer Networks. CS 166: Introduction to Computer Systems Security

Chapter 2 Network Models 2.1

Switching Networks (Fall 2010) EE 586 Communication and. August 27, Lecture 2. (modified by Cheung for EE586; based on K&R original) 1-1

Network Architecture

CS 204: Advanced Computer Networks

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

Announcements. TAs office hours: Mohamed Grissa: Mohamed Alkalbani:

A closer look at network structure:

Computer Communication Networks

CPS221 Lecture: Layered Network Architecture

ECE 650 Systems Programming & Engineering. Spring 2018

CS 416: Operating Systems Design April 11, 2011

Networking and Internetworking 1

TCP/IP THE TCP/IP ARCHITECTURE

CCM 4300 Lecture 5 Computer Networks, Wireless and Mobile Communications. Dr Shahedur Rahman. Room: T115

Network Protocols and Architectures

Reti di Calcolatori I

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

Lecture 2: Internet Structure

CSCD 433/533 Advanced Networks

Introduction to computer networking

Network and Security: Introduction

JAMES F. KUROSE AND KEITH W. ROSS

Principles behind data link layer services

Introduction and Layered Network Architecture. EEE 538 Dr. Nail Akar Bilkent University Electrical and Electronics Engineering Department

Computer Networking. Introduction. Quintin jean-noël Grenoble university

Computer Networks and the internet. Daniel Graham Ph.D

E&CE 358: Tutorial 1. Instructor: Sherman (Xuemin) Shen TA: Miao Wang

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

Data Link Layer. Our goals: understand principles behind data link layer services: instantiation and implementation of various link layer technologies

Introduction to Information Science and Technology 2017 Networking II. Sören Schwertfeger 师泽仁

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Internetwork Basic. Possible causes of LAN traffic congestion are

Part 5: Link Layer Technologies. CSE 3461: Introduction to Computer Networking Reading: Chapter 5, Kurose and Ross

INTRODUCTORY COMPUTER

Principles behind data link layer services:

Principles behind data link layer services:

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

CS 428/528 Computer Networks Lecture 01. Yan Wang

Overview of Networks

SUBJECT: DATA COMMUNICATION AND NETWORK SEMESTER: V SEMESTER COURSE: BCA SUBJECT TEACHER: Dr.K.Chitra Assistant Professor, Department of Computer

CS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis

Next Steps Spring 2011 Lecture #18. Multi-hop Networks. Network Reliability. Have: digital point-to-point. Want: many interconnected points

end systems, access networks, links 1.3 network core

CS 332: Computer Networks Introduction

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

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

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Computer Networks and the Internet. CMPS 4750/6750: Computer Networks

Part 1: Introduction. Goal: Review of how the Internet works Overview

ECE 4400:427/527 - Computer Networks Spring 2017

PLEASE READ CAREFULLY BEFORE YOU START

Networking interview questions

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Web Protocols and Practice

CSEN 503 Introduction to Communication Networks

BROADBAND AND HIGH SPEED NETWORKS

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Defining Networks with the OSI Model. Module 2

precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

ECE4110 Internetwork Programming. Introduction and Overview

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

Chapter 2 Network Models 2.1

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

A Whirlwind Introduction to the Internet. A Whirlwind Introduction to the Internet Overview

Network.... communication system for connecting end- systems. End-systems a.k.a. hosts PCs, workstations dedicated computers network components

Outline: Connecting Many Computers

ECPE / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Data & Computer Communication

TCOM 370 NOTES 99-1 NETWORKING AND COMMUNICATIONS

Communication Networks

Announcements Computer Networking. What is the Objective of the Internet? Today s Lecture

Peer entities. Protocol Layering. Protocols. Example

CPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

PLEASE READ CAREFULLY BEFORE YOU START

Computer Networks Security: intro. CS Computer Systems Security

Communication Networks

NT1210 Introduction to Networking. Unit 10

Chapter 11: Wide-Area Networks and the Internet

Introductions. Computer Networking Lecture 01. January 16, HKU SPACE Community College. HKU SPACE CC CN Lecture 01 1/36

Network Reference Models

Transcription:

ECE 650 Systems Programming & Engineering Spring 2018 Networking Introduction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke)

Computer Networking A background of important areas was covered in 550 What is a network 7 layer OSI networking stack IP and routing TCP sessions We will cover more depth on these topics and more Homework 3 will be network focused May want to review this background material 2

What is a Computer Network? A network is a group of interconnected computers Motivations for computer networks Share resources: Files, information, databases (and remote data access) Compute resources (distributed computing) Devices (e.g. printers) Communication (any-to-any) between users & applications Separate client and server Connection to Internet network is now an important part of a PC 3

Internet Network We are familiar with network endpoints : PCs, servers, mobile devices, etc. Network goal is for any-to-any communication 4

Network Links At the lowest level we have links DSL, T1, T3, Fiber, etc. Characterized by Bit rate (e.g. 100 Mbps, 1Gbps) Propagation delay (latency; mostly a function of distance) Transfer time on a link = #bits / bit rate + propagation delay 5

Connectivity in the Internet A point-to-point mesh? Clearly not sustainable for large networks N 2 links required Add new endpoint: new link added to all existing endpoints 6

Network Structure Need to share infrastructure! Routers and switches (intermediate nodes) allow sharing Home network Mobile network Regional ISP e.g., corporate network Global ISP 7

Internet Backbone From Wikipedia: Due to sharing, we get a structure that looks like this Localized stars connected to others 8

Usage Models Network endpoints run application programs Web browser, email client, ftp, ssh, etc. Client / Server model Client endpoints requests a service from a server E.g. client / server web page service Peer-to-peer (P2P) Direct client communication (e.g. Skype, BitTorrent) 9

Network Backbone Network of interconnected routers is the internet core Key questions: How is data transferred between endpoints through the network? How are the network links shared for communication? 10

Two Sharing Strategies Circuit Switching Create & allocate dedicated path for a transmission From one endpoint to another through a series of routers / switches This is how the old telephone network operates Packet Switching Divide each message up into a sequence of packets Packets sent from one network node (e.g. router) to the next Each router decides the destination for the next hop Eventually, packets of the message should arrive at destination 11

Circuit Switching Reserve end-to-end resources for each transmission Link bandwidth, router resources Performance guaranteed Requires a setup process 12

Circuit Switching Process 1. Establish the end-to-end circuit Dialing in phone network 2. Communication Send information through network 3. Close circuit ( tear down ) Deallocate resources If no end-to-end circuit can be established E.g. due to lack of resources available Re-try is required (e.g. busy signal on phone) 13

Circuit Switching Networks Often not efficient Capacity of circuit is allocated for entire duration of connection The transmission often does not fully utilize channel for duration Delay is required to establish the circuit Network is transparent to users after circuit is established Like having a dedicated wire to the target endpoint Data may be transmitted at fixed rate w/ propagation delay 14

Multiplexing Routers & links can carry multiple communications E.g. if each communication uses only a fraction of total bandwidth Need a mechanism to divide network resources into pieces How can we divide link bandwidth into pieces? Multiplexing! Frequency division multiplexing (FDM) Time division multiplexing (TDM) Code division multiplexing (often used in cellular technology) Motivation Carry multiple signals on a single medium More efficient use of transmission medium 15

Time division multiplexing (TDM) Divide time into frames; frames into slots Each transmission stream gets a relative slot position within a frame frames slots 0 1 2 3 4 5 0 1 2 3 4 5 Requires synchronization between sender and receiver 16

Frequency division multiplexing (FDM) Separate frequency spectrum of the medium Into non-overlapping, smaller frequency bands A channel is allocated to a smaller frequency band Has access to that frequency band for the entire life of circuit Can combine TDM + FDM Use FDM to divide frequency spectrum Use TDM to time-slice channels across slots within each band 17

Packet Switching Break information in small chunks: packets Each packet forwarded independently Must add metadata to each packet Allows statistical multiplexing + High utilization + Very flexible Fairness not automatic Highly variable queueing delays Different paths for each packet 18

Packet Switched Routers Router Multiplex w/ queue(s) in the router Demultiplex with packet header info: Destination endpoint 19

Sample Packet Format Highly simplified example we will look more closely later Header Source Address (SA) Destination Address (DA) Sequence number (which packet index within a transmission)? Data (or payload) Trailer: e.g. CRC for error detection 1010 0110 0001 1010100010110001 010110 SA DA SEQ Payload CRC 20

Packet Routing Store & Forward Routing Entire packet must arrive at router before next hop Each router adds delay to the packet transmission latency Cut-through Routing Pieces of a packet may be forwarded onto next hop right away More difficult to manage packet transmission 21

Packet Routing Queues introduce new effects: Variable delay Delay = queueing delay + propagation delay + transmission delay + processing delay Packet loss When packet arrive to a router with a full queue, they are dropped Ordering is impacted: Packets of a stream may arrive at destination endpoint out of order May take different paths through network 22

Comparison Circuit Switching Constant delay In-order packet arrival Inefficient use of bandwidth Simple routing Quality is all or nothing Low complexity of control Packet Switching Variable delay Out-of-order packet arrival Efficient use (sharing) of bandwidth Complex routing Graceful degradation of quality High complexity of control 23

Managing Complexity Let s turn attention back to the endpoints Now that we briefly understand what the network looks like Very large number of computers Incredible variety of technologies Each with very different constraints No single administrative entity Evolving demands, protocols, applications Each with very different requirements! How do we make sense of all this? 24

Layering We see layers of abstraction Separation of concerns Break problem into separate parts Solve each one independently Tie together through common interfaces: abstraction Encapsulate data from layer above inside data from layer below Allow independent evolution 25

OSI Reference Model 26

Protocol Hierarchies - Example 27

Protocol Each abstraction layer communicates via a protocol Protocols define: Message format Order of messages sent / received Actions to take on message transmission / receipt 28

TCP/IP Model 29

Layer 1 & 2 Layer 1: Physical Layer Encoding of bits to send over a single physical link Layer 2: Link Layer Framing and transmission of a collection of bits into individual messages sent across a single subnetwork (one physical topology) Provides local addressing (MAC) May involve multiple physical links Often the technology supports broadcast: every node connected to the subnet receives Examples: Modern Ethernet WiFi (802.11a/b/g/n/etc) MAC address is 48-bit value burned into network card; globally unique First 3 bytes are assigned to manufacturer (OUI: Organizationally Unique Identify) Examples: Ethernet, 802.11 WiFi (the part of the spec that says how to send bits) Examples: Ethernet, 802.11 WiFi (the part of the spec that how to send packets to a host on this network) 30

Layer 1/2 demo: ARP Address Resolution Protocol (ARP): how we figure out the layer 2 address (MAC address) for a given layer 3 address (IP address) Can inquire to see known MAC addresses Can use OUI (first 3 bytes) to check manufacturer of devices! Left: ARP listing for my home server Below: Lookup of manufacturer of the TB-Galaxy-S7 device http://www.whatsmyip.org/mac-address-lookup/ 31

Layer 3 Example: Internet Protocol (IP) (how to send packets between networks) Bridges multiple subnets to provide end-to-end connectivity between nodes Provides global addressing (IP addresses) Only provides best-effort delivery of data No retransmissions, etc. Works across different link technologies Below: Diagnostic tool showing the the IP addresses passed on the way from my home to duke.edu 32

Layer 4 Example: TCP/UDP (how to establish a logical channel, maybe even a reliable channel) End-to-end communication between processes Different types of services provided: UDP: unreliable datagrams TCP: reliable byte stream Reliable = keeps track of what data were received properly and retransmits as necessary This is the layer that applications talk with Below: Sending data between two computers via a raw TCP socket using the netcat (nc) tool. 33

Layer 5 Example: HTTP, lots more (fulfill the actual use case) Communication of whatever you want Can use whatever transport(s) is(are) convenient/appropriate Freely structured Examples: Skype (UDP) SMTP = email (TCP) HTTP = web (TCP) Online games (TCP and/or UDP) Below: Manually speaking HTTP to request http://google.com/ using the netcat (nc) tool. 34

Demo: Wireshark Can observe packets in transit with network sniffer, e.g. Wireshark Below: Trace of a Firefox request for http://www.gnu.org/ 35

Summary Get http://pics.com/dog.jpg (overall goal) Transport dog.jpg data stream reliably Send packets of data stream across world to pics.com Send packet to router on my network; I assume it can eventually reach pics.com Put electrical pulses on wire that represent the packet 36