ECE544: Communication Networks-II Spring 2009

61
ECE544: Communication Networks-II Spring 2009 H. Liu Lecture I Includes teaching materials from D. Raychaudhuri, L. Peterson & L. Go

description

ECE544: Communication Networks-II Spring 2009. H. Liu Lecture I. Includes teaching materials from D. Raychaudhuri, L. Peterson & L. Govidan. Today’s Lecture. Administrative matters Course Overview topics covered design & prototyping projects - PowerPoint PPT Presentation

Transcript of ECE544: Communication Networks-II Spring 2009

Page 1: ECE544: Communication Networks-II  Spring 2009

ECE544: Communication Networks-II

Spring 2009H. Liu

Lecture I

Includes teaching materials from D. Raychaudhuri, L. Peterson & L. Govidan

Page 2: ECE544: Communication Networks-II  Spring 2009

Today’s Lecture• Administrative matters• Course Overview

– topics covered– design & prototyping projects

• Introduction to networking and network principles

Page 3: ECE544: Communication Networks-II  Spring 2009

Class Structure• Friday 4:45-7:30pm• Lecture format

– Slides, Board, …– Interactive

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

Page 4: ECE544: Communication Networks-II  Spring 2009

Contact Information• Instructor: Dr. Hang Liu

– Email: [email protected]– Office Hours: by appt, CoRE 510

• TA (for project): KC Huang– Email: [email protected]– Office hours: tbd

• 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 5: ECE544: Communication Networks-II  Spring 2009

Course Readings• Textbook (required, to be used for

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

Systems Approach”, Morgan Kaufman, 4th ed• 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 6: ECE544: Communication Networks-II  Spring 2009

Course Grading• Class participation & homework: (10%)

– Brief in-class presentations– Assigned homework from textbook

• Midterm (20%) and Final (30%)– Open book, 1 page of notes permitted; includes

both descriptive and numerical problems• Design & Prototyping Assignments: (40%)

– Network architecture paper (10%)– Protocol/software projects & reports (3 projects)

30%• No makeup exams, no extra credit work

Page 7: ECE544: Communication Networks-II  Spring 2009

Student Commitments• Keep up with your reading

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

• Sharpen your programming skills– study C/C++ & Unix programming as needed

and work on simple programming exercises early in the semester

• Work independently– no “collaboration” of any sort

• Turn in assignments on time• Make sure assignments are gradable

– follow project and program submission rules

Page 8: ECE544: Communication Networks-II  Spring 2009

Prerequisites• Curricular prerequisites

– Computer Networks I or equivalent– General communications and

computer architecture/OS background• Skills

– C/C++ programming • significant programming project

– use of design and analysis tools

Page 9: ECE544: Communication Networks-II  Spring 2009

Course Topics• Introduction• Shared Media/MAC• Switched Networks

(ATM)• IP Basics• IP Advanced• IP Multicast• Network Hardware &

Software-- mid-term (3/13)

• Mobility Protocols• Transport Layer• Quality of Service• Network Security• Case studies and

research topics (TBD)– Optical IP network– Content

distribution network and P2P network

– Future Internet

Page 10: ECE544: Communication Networks-II  Spring 2009

Projects• Network architecture

paper (10%)- top-down design- requirements- specifications- system analysis

• 2 Warm-up Software Projects (each 5%)- C/C++ programming exercises- Unix sockets, etc.- simple link protocols

• Network software project (20%)- new routing protocol- student teams will write competing protocol specs - meeting to select “standard”- system integration & demo- software platform provided

Page 11: ECE544: Communication Networks-II  Spring 2009

What is the problem?

Page 12: ECE544: Communication Networks-II  Spring 2009

A Multimedia Application

Page 13: ECE544: Communication Networks-II  Spring 2009

Applications <=> Networks• Application programmer: application needs• Network designer: cost-effective design

– meet the needs efficiently and fairly• Network provider: easy to administrate and manage

Application

Connectivity/Channel

Application

Page 14: ECE544: Communication Networks-II  Spring 2009

Back in the old days..

Time

bw

Page 15: ECE544: Communication Networks-II  Spring 2009

Then came TDM..

mux demux

Page 16: ECE544: Communication Networks-II  Spring 2009

Logical network view

Page 17: ECE544: Communication Networks-II  Spring 2009

Packet switching (Internet)

Page 18: ECE544: Communication Networks-II  Spring 2009

Packet SwitchingInterleave packets from different

sources• Efficient: resources used on demand

– statistical multiplexing• General

– multiple types of applications• Accommodates bursty traffic

Page 19: ECE544: Communication Networks-II  Spring 2009

Characteristics of Packet Switching

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

• Contention– congestion– delay

Page 20: ECE544: Communication Networks-II  Spring 2009

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 21: ECE544: Communication Networks-II  Spring 2009

What is….

• Architecture• Layering and Protocols• OSI Architecture vs. Internet Architecture• Implementing Network Software• Performance

Page 22: ECE544: Communication Networks-II  Spring 2009

Support Common Communications Services

• Internet is a general global network – support a wide and ever growing range of applications (video,

voice, data)

Application

Server

Host

ApplicationHost

Client

Logical Channel

Host

Host

Host

Page 23: ECE544: Communication Networks-II  Spring 2009

Network Structure

Backbones

Regionals

Campus LANs

Page 24: ECE544: Communication Networks-II  Spring 2009

Layering

Host Host

Application

Transport

Network

Link

User A User BTeleconferencing

Layering: technique to simplify complex systems

Peers

Page 25: ECE544: Communication Networks-II  Spring 2009

Layering General Issues• Reliability• Flow control• Fragmentation• Multiplexing• Connection setup (handshaking)• Addressing/naming (locating

peers)

Page 26: ECE544: Communication Networks-II  Spring 2009

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 27: ECE544: Communication Networks-II  Spring 2009

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 28: ECE544: Communication Networks-II  Spring 2009

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 29: ECE544: Communication Networks-II  Spring 2009

InterfacesHost 1

Protocol

Host 2

Protocol

High-levelobject

High-levelobject

Peer-to-peer

interface

Service interface

Service interface

Page 30: ECE544: Communication Networks-II  Spring 2009

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 HostApplication

Host

Application

Host Host

Channel

Page 31: ECE544: Communication Networks-II  Spring 2009

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 32: ECE544: Communication Networks-II  Spring 2009

32

Protocol Machinery• Protocol Graph

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

Fileapplication

Digitallibrary

applicationVideo

application

RRP MSP

HHP

Host 1

Fileapplication

Digitallibrary

application

Videoapplication

RRP MSP

HHP

Host 2

Hardware

Host-to-host connectivity

Request/replychannel

Message stream channel

Application programs

Page 33: ECE544: Communication Networks-II  Spring 2009

33

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

Page 34: ECE544: Communication Networks-II  Spring 2009

ISO ArchitectureApplication

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 35: ECE544: Communication Networks-II  Spring 2009

Internet Architecture• Defined by Internet Engineering Task Force (IETF)• Hourglass design• Not strict layering, cross-layer design

FTP HTTP NV TFTP

TCP UDP

IP

NET1 NET2 NETn

Network

IP

TCP

Application

UDP

Page 36: ECE544: Communication Networks-II  Spring 2009

Example: Network Layer• Point-to-point communication• Network and host addressing• Routing

Page 37: ECE544: Communication Networks-II  Spring 2009

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

congestion control

Page 38: ECE544: Communication Networks-II  Spring 2009

Implementing Network Software

• Open and modular design• Application programming interface (API)

send()deliver()

Topmost protocol

Application process

Page 39: ECE544: Communication Networks-II  Spring 2009

Sockets• Server

– int socket(int domain, int type, int protocol)– int bind(int socket, struct sockaddr *address, int addr_len)– int listen (int socket, int backlog)– int accept(int socket, struct sockaddr *address, int

*addr_len)• Client

– int connect(int socket, struct sockaddr *address, int addr_len)

• Send and Receive– int send (int socket, char *message, int msg_len, int flags)– int recv (int socket, char *buffer, int buf_len, int flags)

Page 40: ECE544: Communication Networks-II  Spring 2009

Protocol Implementation• Performance is critical• OS networking subsystem

IP

TCP

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

Page 41: ECE544: Communication Networks-II  Spring 2009

Process-per-protocol vs. Procecess-per-message

Process n+1

Process n

Process n-1

Procedure n+1

Procedure n

Procedure n-1

Inter-processmessages

Inter-processmessages

ProcedureCalls

ProcedureCalls

Process per protocol Process per message

Page 42: ECE544: Communication Networks-II  Spring 2009

Message Buffers• Message data structure:

linked list

send()deliver()

Topmost protocol

Application process

Lower layer protocol

Lower layer protocol

Data structure pointer passingNo buffer copying

Page 43: ECE544: Communication Networks-II  Spring 2009

Network Performance Metrics• Bandwidth

– transmission capacity• Delay

– queuing delay– transmission delay– propagation delay (limited by c)

• Delay-Bandwidth product– important for control algorithms

Page 44: ECE544: Communication Networks-II  Spring 2009

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 45: ECE544: Communication Networks-II  Spring 2009

Perceived Latency vs. Round-Trip Time

10,000

5000

2000

1000

500

200

100

50

20

10

5

2

1

10010R TT (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 link

Per

ceiv

ed la

tenc

y (m

s)

Page 46: ECE544: Communication Networks-II  Spring 2009

Delay x Bandwidth Product

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

• Example: 100ms x 45Mbps = 560KB

Bandwidth

Delay

Page 47: ECE544: Communication Networks-II  Spring 2009

Network Failures• Packet loss

– queue overflows– line noise

• Node or link failures• Routing transients or failures

Page 48: ECE544: Communication Networks-II  Spring 2009

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

Page 49: ECE544: Communication Networks-II  Spring 2009

Reliable File Transfer• Loss sensitive• Not delay sensitive relative to

round trip times• Point-to-point or multipoint• Bursty

Page 50: ECE544: Communication Networks-II  Spring 2009

Remote Login• Loss sensitive• Delay sensitive

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

milliseconds• Bursty• Point to point

Page 51: ECE544: Communication Networks-II  Spring 2009

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 52: ECE544: Communication Networks-II  Spring 2009

Network Video• High bandwidth, long duration sessions• Compressed video, constant bitrate or

variable bitrate• Loss tolerance function of compression• Delay tolerance a function of interactivity• Possibly multipoint• Larger number of simultaneous sources

Page 53: ECE544: Communication Networks-II  Spring 2009

Web• Transactional traffic

– short requests, possibly large responses• Loss (bug?) tolerant• Delay sensitive

– human interactivity• Point-to-point (multipoint is

asynchronous)

Page 54: ECE544: Communication Networks-II  Spring 2009

Network Design• 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 55: ECE544: Communication Networks-II  Spring 2009

Example 1: Broadband Wireless Access• Draw a general conceptual network diagram to

start...

Multiserviceinterface withvoice/data ,

QoS support,and mobility

support

Internet

Broadband WirelessAccess Network

Mobile CommDevices

Fixed PC/WS

Mobile PDA/PIASemi-mobileLaptop, etc.

Switched TelecomNetwork telco-BWA

gateway

IP-BWAgateway

Metro-areawireless access

network(~Km)

~0.1-10 Mbos

Page 56: ECE544: Communication Networks-II  Spring 2009

Example 2: Infostations• Mobile user passes through Infostations in sec during which ~MB

files are downloaded from (or uploaded to) network– Requires fast synchronization and service setup– Motivates 2-tier architecture with ~10m service zone (for high-speed

data transfer) and ~50m access control zone (for sync, authentication, ..)

Transit time ~sec

Infostationsaccess pointData cache

~100 MB/sFast transfer

Low-speed control channel(for synch & service setup)

ServiceZone

Access ControlZone

Total transit time ~10sec

Page 57: ECE544: Communication Networks-II  Spring 2009

Requirements • 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 58: ECE544: Communication Networks-II  Spring 2009

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 59: ECE544: Communication Networks-II  Spring 2009

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 60: ECE544: Communication Networks-II  Spring 2009

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 QoS requirements

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

and iterate until requirements are met

Page 61: ECE544: Communication Networks-II  Spring 2009

61

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

-1.1-1.3-1.8-1.15-1.17-1.23-1.28-1.33