CS4700/5700: Network fundamentals

Similar documents
Lecture 2: Internet Architecture

TDTS21 Advanced Networking

CS4700/CS5700 Fundaments of Computer Networks

How does the Internet Look Like?

CS 268: Internet Architecture & E2E Arguments. Today s Agenda. Scott Shenker and Ion Stoica (Fall, 2010) Design goals.

CS3600 SYSTEMS AND NETWORKS

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

CS 268: Lecture 4 (Internet Architecture & E2E Arguments)

Internet Design Principles

Introduction to computer networking

Component Function Example

Parts of a Network. app. router. link. host. Computer Networks 2

CS 3640: Introduction to Networks and Their Applications

416 Distributed Systems. Networks review; Day 2 of 2 Fate sharing, e2e principle And start of RPC Jan 10, 2018

Network Architecture. TOC Architecture

Introduction to Networks

Lecture 3 Protocol Stacks and Layering

CSE 123A Computer Networks

Need For Protocol Architecture

Network Architecture

Network Architecture. EE 122, Fall 2013 Sylvia Ratnasamy

Peer entities. Protocol Layering. Protocols. Example

416 Distributed Systems. Networks review; Day 2 of 2 And start of RPC Jan 13, 2016

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

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

Network Reference Models

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

Need For Protocol Architecture

The Internet. Overview. Network building blocks

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

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?

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

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

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

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

CS 204: Advanced Computer Networks

Networking and Internetworking 1

Chapter 1. Computer Networks and the Internet

Networking Background

Network Security Fundamentals. Network Security Fundamentals. Roadmap. Security Training Course. Module 2 Network Fundamentals

Probability, Preview, and Principles

Design Principles : Fundamentals of Computer Networks Bill Nace

Networking Applications

Lecture 2: Internet Structure

Network Architecture COS 461: Computer Networks

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

Chapter 2 Network Architectures A global view

Hands-On Network Security: Practical Tools & Methods

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

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

EE 610 Part 2: Encapsulation and network utilities

CS 43: Computer Networks The Network Layer. Kevin Webb Swarthmore College November 2, 2017

Lecture 2 Protocol Stacks. Last Tuesday

Networking and Internetworking 1

Design Considerations : Computer Networking. Outline

Time : 3 hours. Full Marks: 70. The figures in the margin indicate full marks. Answer from all the Groups are directed. Group A.

Network Layering CS 118

ECE 650 Systems Programming & Engineering. Spring 2018

CSCI Computer Networks

Communicating over the Network

Last Time. Internet in a Day Day 2 of 1. Today: TCP and Apps

Computer Networks and Mobile Systems. Shyam Gollakota

IT4405 Computer Networks (Compulsory)

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

Internet Architecture and Experimentation

CS 520 Networking in the TCP/IP enviornment

Page # Last Time. Lecture 2 Protocol Stacks and Layering. Today s Lecture. Why protocols and layering? What is a Protocol.

Communication Networks

Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 28 IP Version 4

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Introduction to TCP/IP networking

Computer Network : Lecture Notes Nepal Engineering College Compiled by: Junior Professor: Daya Ram Budhathoki Nepal Engineering college, Changunarayan

Packet Switching, Layer Models and Protocol Suites

Introduction to Computer Science 2017 Networking. Sören Schwertfeger

Patrick Stuedi, Qin Yin, Timothy Roscoe Spring Semester 2015

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

cs144 Midterm Review Fall 2010

Goal of Today s Lecture. EE 122: Designing IP. The Internet Hourglass. Our Story So Far (Context) Our Story So Far (Context), Con t

Networking Models OSI Model Created by International Organization Standardization

QUESTION BANK EVEN SEMESTER

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

ITEC 3800 Data Communication and Network. Introducing Networks

Data Communication and Network. Introducing Networks

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

ก ก Information Technology II

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

Course on Computer Communication and Networks. Lecture 1 Chapter 1: Introduction Part A: Internet, Protocol Layering and Data

Networking and Health Information Exchange Unit 1a ISO Open Systems Interconnection (OSI) Slide 1. Slide 2. Slide 3

Lecture 2: Layering & End-to-End

THE OSI MODEL. Application Presentation Session Transport Network Data-Link Physical. OSI Model. Chapter 1 Review.

System Programming. Introduction to computer networks

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

Defining Networks with the OSI Model. Module 2

Chapter 2 Communicating Over the Network

Modern Internet architecture, technology & philosophy Advanced Internet Services Dept. of Computer Science Columbia University

Network Architecture Models

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

Protocol Layers & Wireshark TDTS11:COMPUTER NETWORKS AND INTERNET PROTOCOLS

Networking and Health Information Exchange: ISO Open System Interconnection (OSI)

Transcription:

Cristina Nita-Rotaru CS4700/5700: Network fundamentals.

1:

Organizing network functionality } Networks are built from many components } Networking technologies } Ethernet, Wifi, Bluetooth, Fiber Optic, Cable Modem, DSL } Network types (different characteristics, performance, designs) } Circuit switch, packet switch } Wired, Wireless, Optical, Satellite } Applications } Email, Web (HTTP), FTP, BitTorrent, VoIP } How does all work together?! 3

A possible design Web Email Bittorrent VoIP This is a nightmare scenario Huge amounts of work to add new apps or media Limits growth and adoption 4 Ethernet 802.11 Bluetooth Cellular

What if application endpoints are on different type of networks Bittorrent Bittorrent Application endpoints may not be on the same media 5 Ethernet 802.11

A better design: Use indirection Web Email Bittorrent VoIP API O(1) work to add new apps, media Magical Network Abstraction Layer API Few limits API on new technology API 6 Ethernet 802.11 Bluetooth Cellular

Layered Network Stack Applications Layer N Layer 2 Layer 1 Physical 7Media } Modularity } Does not specify an implementation } Instead, tells us how to organize functionality } Encapsulation } Interfaces define cross-layer interaction } Layers only rely on those below them } Flexibility } Reuse of code across the network } Module implementations may change } Unfortunately, there are tradeoffs } Interfaces hide information } Interfaces may hurt performance

Key questions } How do we divide functionality into layers? } Routing } Congestion control } Error checking o Security o Fairness o And many more } How do we distribute functionality across devices? } Example: who is responsible for security? 8 Switch Router Switch

ISO OSI Model Application Presentation Session Transport Network Data Link Physical 9 OSI: Open Systems Interconnect Model Host 1 Switch Host 2 Layers All devices communicate Layers implement the peer-to-peer communicate peer-to-peer first three layers Network Data Link Physical Application Presentation Session Transport Network Data Link Physical

Layer features Application Presentation Session Transport Network Data Link Physical } Service } What does this layer do? } Interface } How do you access this layer? } Protocol } How is this layer implemented? 10

Physical layer } Service Application Presentation Session Transport Network Data Link Physical } Move information between two systems connected by a physical link } Interface } Specifies how to send one bit } Protocol } Encoding scheme for one bit } Voltage levels } Timing of signals } Examples: coaxial cable, fiber optics, radio frequency transmitters 11

Data link layer Application Presentation Session Transport Network Data Link Physical } Service } Data framing: boundaries between packets } Media access control (MAC) } Per-hop reliability and flow-control } Interface } Send one packet between two hosts connected to the same media } Protocol } Physical addressing (e.g. MAC address) } Examples: Ethernet, Wifi, DOCSIS 12

Network layer Application Presentation Session Transport Network Data Link Physical } Service } Deliver packets across the network } Handle fragmentation/reassembly } Packet scheduling } Buffer management } Interface } Send one packet to a specific destination } Protocol } Define globally unique addresses } Maintain routing tables } Example: Internet Protocol (IP), IPv6 13

Transport layer Application Presentation Session Transport Network Data Link Physical } Service } Multiplexing/demultiplexing } Congestion control } Reliable, in-order delivery } Interface } Send message to a destination } Protocol } Port numbers } Reliability/error correction } Flow-control information } Examples: UDP, TCP 14

Session layer Application Presentation Session Transport Network Data Link Physical } Service } Access management } Synchronization } Interface } It depends } Protocol } Token management } Insert checkpoints } Examples: none 15

Presentation layer } Service Application Presentation Session Transport Network Data Link Physical } Convert data between different representations } E.g. big endian to little endian } E.g. Ascii to Unicode } Interface } It depends } Protocol } Define data formats } Apply transformation rules } Examples: none 16

Application layer Application Presentation Session Transport Network Data Link Physical } Service } Whatever you want :) } Interface } Whatever you want :D } Protocol } Whatever you want ;) } Examples: turn on your smartphone and look at the list of apps 17

Encapsulation How does data move through the layers? Data Application 18 Presentation Session Transport Network Data Link Physical Data

Real life analogy Doesn t know how the Postal network works Label contains Un-packing routing info Doesn t know contents of letter 19 Postal Service

Network stack in practice Host 1 Switch Host 2 Application Presentation Application Presentation FTP Session Client Transport TCP UDP Network IP Data Ethernet 802.11n Link Physical Network IP Data Ethernet 802.11n Link Physical FTP Session Server Transport TCP UDP Network IP Data Ethernet 802.11n Link Physical Video Client 20 Video Server

Encapsulation, revisited HTTP Header Web Page Web Server TCP Header HTTP Header TCP Segment Web Page TCP IP Header TCP Header HTTP Header Web Page IP IP Datagram Ethernet Header IP Header TCP Header HTTP Header Web Page Ethernet Trailer Ethernet 21 Ethernet Frame

Hourglass design HTTP, FTP, RTP, IMAP, Jabber, One Internet layer means all networks TCP, UDP, ICMP interoperate All applications function on all networks IPv4 Room for development above and below IP But, changing IP is insanely hard Ethernet, 802.11x, DOCSIS, Fiber, Coax, Twisted Pair, Radio, Think about the difficulty of deploying IPv6 22

Orthogonal planes Control plane: How Internet paths are established Application Presentation Session Transport IP Data Link Physical 23 We ll cover this later BGP RIP OSPF Control Plane

Orthogonal planes Data plane: How data is forwarded over Internet paths Host 1 Switch(es) Host 2 Application Transport Network Data Link 24 Network Data Link Application Transport Network Data Link

Reality check } The layered abstraction is very nice } Does it hold in reality? No. Firewalls Transparent Proxies NATs Analyze application layer headers Simulate application endpoints within the network Break end-to-end network reachability 25

From layers to eating cake } IP gives us best-effort datagram forwarding } So simple anyone can do it } Large part of why the Internet has succeeded } but it sure isn t giving us much } Layers give us a way to compose functionality } Example: HTTP over TCP for Web browsers with reliable connections } but they do not tell us where (in the network) to implement the functionality 26

Where to place functionality } How do we distribute functionality across devices? } Example: who is responsible for security?????? Switch Router Switch The End-to-End Arguments in System Design Saltzer, Reed, and Clark The Sacred Text of the Internet 27 Endlessly debated by researchers and engineers

Basic observation } Some applications have end-to-end requirements } Security, reliability, etc. } Implementing this stuff inside the network is hard } Every step along the way must be fail-proof } Different applications have different needs } End hosts } Can t depend on the network } Can satisfy these requirements without network level support 28

Example: Reliable File Transfer Integrity Check Integrity Check Integrity Check App has to do a check anyway! Solution 1: Make the network reliable Solution 2: App level, end-to-end check, retry on failure 29

Example: Reliable file transfer Please Retry Solution 1: Make the network reliable Full functionality can be built at App level Solution 2: App level, end-to-end check, retry on failure 30

Conservative interpretation Don t implement a function at the lower levels of the system unless it can be completely implemented at this level (Peterson and Davie) Basically, unless you can completely remove the burden from end hosts, don t bother 31

Radical interpretation } Don t implement anything in the network that can be implemented correctly by the hosts } Make network layer absolutely minimal } Ignore performance issues 32

Moderate interpretation } Think twice before implementing functionality in the network } If hosts can implement functionality correctly, implement it at a lower layer only as a performance enhancement } But do so only if it does not impose burden on applications that do not require that functionality } and if it doesn t cost too much $ to implement 33

Another example: Anonymity } Should we implement this in the network? } How about at the endpoints?????? 34

Reality check, again } Layering and E2E principals regularly violated Firewalls Transparent Proxies NATs Conflicting interests Architectural purity Commercial necessity 35

Takeaways } Layering for network functions } Helps manage diversity in computer networks } Not optimal for everything, but simple and flexible } Narrow waist ensures interoperability, enables innovation } E2E argument (attempts) to keep IP layer simple } Think carefully when adding functionality into the network 36

Reading } J. Saltzer, D. Reed, and D. Clark, "End-to-end Arguments in System Design". ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 4, 1984, pp. 195-206. 37