76
ECE 423/544: Computer and Communication Networks, Spring 2020 Prof. D. Raychaudhuri Lecture 1 Includes teaching materials from L. Peterson & R. Govindan

&RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

ECE 423/544: Computer and Communication Networks,

Spring 2020

Prof. D. RaychaudhuriLecture 1

Includes teaching materials from L. Peterson & R. Govindan

Page 2: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Today’s Lecture

• Administrative matters• Course Overview

– topics covered– design & prototyping projects

• Introduction to networking

Page 3: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Class Structure

• Friday 3:45-6:30pm• Lecture format

– Slides, Board, …– Interactive

• Two 80 min sessions– with a 10 min break in between

Page 4: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Contact Information• Instructor:

– Prof. D. Raychaudhuri• Email: [email protected]• Office Hours: by appt, WINLAB Tech Center or Core 501

• Project TA: Sumit Maheshwari– Email: [email protected]– Office hours: by appt

Page 5: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Class Resources• Web page: http://www.winlab.rutgers.edu/comnet2• Mailing list: [email protected]

• Sign up for mailing list at: http://lists.winlab.rutgers.edu/listinfo/comnet2

Page 6: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Course Readings• Textbook (required, to be used for

~75% material)– Peterson & Davie, “Computer Networks: A

Systems Approach”, Morgan Kaufman, 4th or 5th

editions

• Handouts posted to course website• Research papers in networking

– to be distributed either online or in class– collection of classical and topical research

• ~10 papers and standards documents• required reading to supplement text book overview

Page 7: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Course Grading• Class participation & homework: 5%

– Assigned homework from textbook

• Midterm 25% and Final 35%– Open book, 1 page of notes permitted; includes

both descriptive and numerical problems

• Design & Prototyping Assignments: 35%– network project & report 25% (grad), 35% (UG)– network architecture paper 10% (grad only)

• No makeup exams, no extra credit work

Page 8: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Student Commitments• Keep up with your reading

– read applicable text book chapter and distributed papers/RFC’s before and after each class

• Sharpen your programming skills– study C, Python & Unix basics and work on simple

programming exercises early in the semester• Work independently (except group projects)

– no “collaboration” of any sort• Turn in assignments on time• Make sure assignments are gradable

– follow project and program submission rules

Page 9: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Prerequisites

• Curricular prerequisites– General communications and computer

architecture/OS background

• Skills– C and Python programming

• Basic level needed for programming project

– use of design and analysis tools

Page 10: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Course Topics• Introduction• Network Principles• Shared Media/MAC• Packet switching• IP Basics• IP Advanced• Software defined

networks

• Mobility Protocols• Network security• Transport layer• Higher-layer

protocols (TCP)• Hardware issues• Case studies and

research topics– Content networks– Cloud computing services– future Internet architecture

Page 11: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Projects• Network architecture

paper- top-down design- requirements- specifications- system analysis- report

• Warm-up Projects- Mininet setup and programming exercises- simple protocol experiments- Python code for Mininet

• Network prototyping project

- new network design to meet a given service specification- design and run on Mininetplatform

Page 12: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Definition of a Network

ServiceInterface

A network is an inter-connected set of technology componentsdesigned to provide data transfer between attached end points

UE,Mobile,Host/PC

Server,Cloud,etc.

Router,Switch,etc,

Physicalconnections

Address: A

Address: BAddress: C

Connect (CA)Network topology

Page 13: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Structure

Local/AccessNetworks

Nodes,Hosts, CPE

Regional Networks, ISP

National/GlobalNetworks, Backbones

Servers,Data Centers

Routers, Switches

Links, LAN

Page 14: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Topologies

Page 15: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Internet Topology

Page 16: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Internet Topology Visualization

Page 17: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

What is the problem?

Page 18: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Application Considerations• Variety of current and future applications to

be supported by the network

Mobile Data(cellular, hetnet)

Vehicular NetworksContent Delivery

Cloud Services

Internet-of-ThingsEmergency Networks

Page 19: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Application Considerations• Application input to network

– traffic data rate– traffic pattern (bursty or constant bit rate)– traffic target (multipoint or single

destination, mobile or fixed)

• Network service delivered to application– delay sensitivity– loss sensitivity– Mobility, location, multicast, etc.

Page 20: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Circa 1990

Multimedia and Video Applications

~2010 ~2013

The classic Internet App: voice, video, data; streaming BW, latency, ..

Page 21: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Application Considerations (IoT)

Large # devices (~100B+), low power, bursty data, ..

Page 22: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Application Considerations (Data Centers, Cloud)

High traffic volume, latency sensitive, …

Page 23: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Reliable File Transfer

• Loss sensitive• Not delay sensitive relative to round trip

times• Point-to-point or multipoint• Bursty

Page 24: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Remote Login

• Loss sensitive• Delay sensitive

– subject to interactive constraints– can tolerate up to several hundreds of

milliseconds

• Bursty• Point to point

Page 25: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Audio

• Relatively low bandwidth– Digitized samples, packetized

• Delay variance sensitive• Loss tolerant• Possibly multipoint, long duration

sessions– natural limit to number of simultaneous

senders

Page 26: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Video

• High bandwidth• Compressed video, bursty• Loss tolerance function of compression• Delay tolerance a function of

interactivity• Possibly multipoint• Larger number of simultaneous sources

Page 27: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Web

• Transactional traffic– short requests, possibly large responses

• Loss tolerant• Delay sensitive

– human interactivity

• Point-to-point (multipoint is asynchronous)

Page 28: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Metrics

• Bandwidth– transmission capacity

• Delay– queueing delay– propagation delay (limited by c)

• Delay-Bandwidth product– important for control algorithms

Page 29: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Bandwidth versus Latency• Relative importance

– 1-byte: 1ms vs 100ms dominates 1Mbps vs 100Mbps– 25MB: 1Mbps vs 100Mbps dominates 1ms vs 100ms

• Infinite bandwidth– RTT dominates

• Throughput = TransferSize / TransferTime

• TransferTime = RTT + 1/Bandwidth x TransferSize

– 1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps link

Page 30: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Delay x Bandwidth Product

• Amount of data “in flight” or “in the pipe”

• Example: 100ms x 45Mbps = 560KB

Bandwidth

Delay

Page 31: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Chapter 1, Figure 1.20

10,000

5000

2000

1000

500

200

100

50

20

10

5

2

1

10010RTT (ms)

1-MB object, 1.5-Mbps link

1-MB object, 10-Mbps link

2-KB object, 1.5-Mbps link

2-KB object, 10-Mbps link

1-byte object, 1.5-Mbps link

1-byte object, 10-Mbps linkPe

rcei

ved

late

ncy

(ms)

Page 32: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Failures

• Packet loss– queue overflows– line noise

• Node or link failures• Routing transients or failures

Page 33: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Statistical Multiplexing Gain

1 Mbps link; users require 0.1 Mbps when transmitting; users active only 10% of the time.

• Circuit switching: can support 10 users• Packet switching: with 35 users,

probability that >=10 are transmitting at the same time = 0.0004.

Page 34: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Back in the old days..

Time

bw

Page 35: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Then came TDM..

mux demux

Page 36: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Logical network view

Page 37: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Packet switching (Internet)

Page 38: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Packet Switching

Interleave packets from different sources• Efficient: resources used on demand

– statistical multiplexing

• General– multiple types of applications

• Accommodates bursty traffic

Page 39: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Characteristics of Packet Switching

• Store and forward– packets are self contained units– can use alternate paths - reordering

• Contention– congestion– delay

Page 40: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Protocols

• On top of a packet switched network, need• Set of rules governing communication

between network elements (applications, hosts, routers)

• Protocols define:– format and order of messages– actions taken on receipt of a message

Page 41: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Protocols (contd.)• Building blocks of a network architecture• Each protocol object has two different

interfaces– service interface: operations on this protocol– peer-to-peer interface: messages exchanged with

peer

• Term “protocol” is overloaded– specification of peer-to-peer interface– module that implements this interface

Page 42: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Layering

Host Host

Application

Transport

Network

Link

User A User BTeleconferencing

Layering: technique to simplify complex systems

Peers

Page 43: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Layering

Page 44: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Layering Characteristics

• Each layer relies on services from layer below and exports services to layer above

• Interface defines interaction• Hides implementation - layers can

change without disturbing other layers (black box)

Page 45: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Packet Headers

Layer 2 hdr Layer 3 hdr Layer 4 hdr Trailer

Data

“Encapsulation”

Packet Headers can contain:- addresses, flow ID, pkt type, service type, error checks, QoS, …

Page 46: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

ISO Architecture

Application

Presentation

Session

Transport

End host

One or more nodeswithin the network

Network

Data link

Physical

Network

Data link

Physical

Network

Data link

Physical

Application

Presentation

Session

Transport

End host

Network

Data link

Physical

Page 47: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Internet Architecture• Defined by Internet Engineering Task Force (IETF)• Hourglass Design• Application vs Application Protocol (FTP, HTTP)

FTP HTTP NV TFTP

TCP UDP

IP

NET1 NET2 NETn

Page 48: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Internet Reference Model• IP is the “narrow waist” of the Internet• Supports many different links below and apps above.• Examples of common protocols in each layer

SMTP HTTP RTP DNS

Ethernet 3GCable DSL 802.11

7 Application

TCP UDP4 Transport

IP3 Internet

2/1 Link

Page 49: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Layering General Issues

• Reliability• Flow control• Fragmentation• Multiplexing• Connection setup (handshaking)• Addressing/naming (locating peers)

Page 50: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Example: Transport layer

• First end-to-end layer• End-to-end state• May provide reliability, flow and

congestion control

Page 51: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Example: Network Layer

• Point-to-point communication• Network and host addressing• Routing

Page 52: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Encapsulation

802.11 IP TCP HTTP

HTTPHTTP

TCP HTTPTCP HTTP

IP TCP HTTP IP TCP HTTP

802.11 IP TCP HTTP

802.11 IP TCP HTTP

(Wire)

HTTP

TCP

IP

802.11

HTTP

TCP

IP

802.11

Page 53: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Demultiplexing• Incoming messages must be passed to the protocol it uses.• Done with demultiplexing keys in the headers

SMTP HTTP DNS

TCP UDP

IP ARP

Ethernet Host

TCP port number

IP protocol field

Ethertype value

Ethernet IP TCP HTTP Incoming message

Page 54: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Inter-Process Communication

• Turn host-to-host connectivity into process-to-process communication.

• Fill gap between what applications expect and what the underlying technology provides.

Host Host

Application

Host

Application

Host Host

Channel

Page 55: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network-Application Interface• Defines how apps use the networkLets apps talk to each other via hosts; hide the details of the networkSockets let apps attach to the local network at different

ports

AppApp

AppApp

host host

AppApp

AppApp

Socket,Port #1

Socket, Port #2

ISP

Page 56: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

IPC Abstractions• Request/Reply

– distributed file systems

– digital libraries (web)

• Stream-Based– video: sequence of

frames• 1/4 NTSC = 352x240 pixels• (352 x 240 x 24)/8=247.5KB• 30 fps = 7500KBps =

60Mbps

– video applications• on-demand video• video conferencing

Page 57: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Host 1

Protocol

Host 2

Protocol

High-level

object

High-levelobject

Service

interface

Peer-to-peer

interface

Interfaces

Chapter 1, Figure 1.10

Page 58: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

IP

TCP

send(IP, message) deliver(TCP, message)

Interfaces (contd.)

Page 59: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Chapter 1, Figure 17

send()deliver()

Topmost protocol

Application process

Interfaces (contd.)

Page 60: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

60

Protocol Machinery• Protocol Graph

– most peer-to-peer communication is indirect– peer-to-peer is direct only at hardware level

Fileapplication

Digitallibrary

application

Videoapplication

RRP MSP

HHP

Host 1

Fileapplication

Digitallibrary

application

Videoapplication

RRP MSP

HHP

Host 2

Chapter 1, Figure 1.11

Page 61: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

61

Machinery (cont)• Multiplexing and Demultiplexing (demux key)• Encapsulation (header/body)

RRP DataHHP

Applicationprogram

Applicationprogram

Host 1 Host 2

Data

RRP

RRP Data

HHP

Data

RRP

RRP Data

HHP

Chapter 1, Figure 1.12

Page 62: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

62

Socket Basics

Page 63: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Socket APIPrimitive Meaning

SOCKET Create a new communication endpoint

BIND Associate a local address with a socket

LISTEN Announce willingness to accept connections; give queue size

ACCEPT Passively establish an incoming connection

CONNECT Actively attempt to establish a connection

SEND Send some data over the connection

RECEIVE Receive some data from the connection

CLOSE Release the connection

Page 64: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Client & Server Program OutlineClient Server

socket() //make socket socket() //make a socket

getaddrinfo() //server and port name getaddrinfo() //for port on this host

//www.example.com:80 bind() //associate port with socket

connect() //connect to server [block]

listen() //prepare to accept connections

… accept() //wait for a connection [block]

send() //send request …recv() //wait for request

recv() //await reply [block] …

… //do something with data!

send() //send the reply

close() //done, disconnect close() //eventually disconnect

Page 65: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Using Sockets

Client (host 1) TimeServer (host 2)

1: socket

5: connect*

7: send

8: receive*

10: close

connect

request

reply

disconnect

1: socket2: bind3: listen4: accept*

6: receive*

9: send

10: close*=call blocks

Page 66: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Architecture• Goal is to design a complete network

solution that meets service requirements and cost constraints

• Design space includes– Application platform & software– Network topology– Core technologies– Protocols – Traffic engineering– Cost estimation

Page 67: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Concept Example 1: Sensor/IoT

The picture can't be displayed.

Mobile Internet (IP-based)

Compute & StorageServers

User interfaces forinformation & control

Ad-Hoc Sensor Net A

Ad-Hoc Sensor Net B

Sensor net/IP gateway

GW

4G/5GBTS

PervasiveApplication

Agents

Relay Node

Virtualized Physical WorldObject or Event

Sensor/Actuator

ZigBee, BTUWB, etc.

Connecting low power sensors and IoT devices to the Internet…

Server/DB

Page 68: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Concept Example 2: Cloud-Assisted Vehicular

5G Edge Network

Zone A Zone B Zone C Zone D

Mapping & AnalyticsApplications (composite image stitching,Object recognition, machineLearning, ..

IndividualImages fromvehicles

Composite mapImage after analysis

Enhanced ARDisplay orSelf-drivingalgorithm

Cloud Assisted Driving and Self-Driving will soon become feasible due to advances in wireless network (“5G”) and edge cloud technology

Traffic light& sensor data

Page 69: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Designing a Network• Identify basic service requirements

– transport service(s)– bit-rates to be supported– network API– # of users– terminal type (fixed, portable, etc.)

• Outline network topology– access network type (wired/wireless, span, etc.)– core network if any (node locations, span, etc.)

Page 70: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Requirements (contd.)• List additional service and network

features– QoS, video/audio, etc.– special routing (mcast, broadcast,..)– mobility– availability– reliability– security/authentication

• Rough system capacity (Mbps) and cost estimates ($/MB or $/user/mo)

Page 71: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Requirements Analysis• Summary table listing key requirements

# of users

Terminal type

Reliability

Security features

Bit rate

Topology

QoS features

Availability

Transport services

Cost

CBR, VBR-rt,..

0.1-10 Mbps

~1000’s per access network

portable/mobile, fixed wireless

hierarchical, access/core

selectable BW, stream support

99.9%

99.99%

mobile authentication, on-air encryption

$0.1/MB or $50/mo/user

Page 72: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Components• Key hardware components of a network

– NIC ~10, 100, 155, 622, 1000 Mbps– shared media channels (Ethernet, HFC,

wireless, satellite, ..) ~Mbps– point-to-point links (DSL, CAT-5,

microwave, fiber,..)– switches (Ethernet, ATM, MPLS/IP) ~ Gbps

-Tbps– routers (IP) ~Mbps - Gbps

Page 73: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

Network Components• Key software components of a network

– CPE/Terminal OS & drivers– Application interface – “socket” spec– Transport layer protocol– Network layer protocol (at client)– Network layer protocol (at network

elements)– Network management system– Any additional directories or network

services

Page 74: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

High-Level Design• Select network topology based on

geographic, capacity, reliability, etc.• Partition into access network, core network,

etc. as required• Assign network hardware components to

each subnetwork based on service and QoSrequirements

• Define service API and protocol stacks• Analyze network performance & cost and

iterate until requirements are met

Page 75: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

High Level Design

Users(#, density, mobility)

Access Net

bpsPkt sizeBurst statisticsStream parameters

Technology choice(e.g. MPLS optical)

Technology choice(e.g. Ethernet SW)

Technology choice(e.g. 802.11n)

Mbps needed?

bps/sq-m for wireless access

Technology choice(e.g. IP router)

PhysicalSpan?

Page 76: &RPPXQLFDWLRQ 1HWZRUNV 6SULQJ(&( &rpsxwhu dqg &rppxqlfdwlrq 1hwzrunv 6sulqj 3uri ' 5d\fkdxgkxul /hfwxuh ,qfoxghv whdfklqj pdwhuldov iurp / 3hwhuvrq 5 *rylqgdq

76

Today’s Homework• Peterson & Davie, Chap 1 (4th ed)

-1.3-1.15-1.17-1.23-1.28