Upload
moesha
View
41
Download
0
Tags:
Embed Size (px)
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
Citation preview
ECE544: Communication Networks-II
Spring 2009H. 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
• Introduction to networking and network principles
Class Structure• Friday 4:45-7:30pm• Lecture format
– Slides, Board, …– Interactive
• Two 80 min sessions– with a 10 min break in between
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
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
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
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
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
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
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
What is the problem?
A Multimedia Application
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
Back in the old days..
Time
bw
Then came TDM..
mux demux
Logical network view
Packet switching (Internet)
Packet SwitchingInterleave packets from different
sources• Efficient: resources used on demand
– statistical multiplexing• General
– multiple types of applications• Accommodates bursty traffic
Characteristics of Packet Switching
• Store and forward– packets are self contained units– can use alternate paths - reordering
• Contention– congestion– delay
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.
What is….
• Architecture• Layering and Protocols• OSI Architecture vs. Internet Architecture• Implementing Network Software• Performance
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
Network Structure
Backbones
Regionals
Campus LANs
Layering
Host Host
Application
Transport
Network
Link
User A User BTeleconferencing
Layering: technique to simplify complex systems
Peers
Layering General Issues• Reliability• Flow control• Fragmentation• Multiplexing• Connection setup (handshaking)• Addressing/naming (locating
peers)
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)
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
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
InterfacesHost 1
Protocol
Host 2
Protocol
High-levelobject
High-levelobject
Peer-to-peer
interface
Service interface
Service interface
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
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
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
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
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
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
Example: Network Layer• Point-to-point communication• Network and host addressing• Routing
Example: Transport layer• First end-to-end layer• End-to-end state• May provide reliability, flow and
congestion control
Implementing Network Software
• Open and modular design• Application programming interface (API)
send()deliver()
Topmost protocol
Application process
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)
Protocol Implementation• Performance is critical• OS networking subsystem
IP
TCP
send(IP, message) deliver(TCP, message)
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
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
Network Performance Metrics• Bandwidth
– transmission capacity• Delay
– queuing delay– transmission delay– propagation delay (limited by c)
• Delay-Bandwidth product– important for control algorithms
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
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)
Delay x Bandwidth Product
• Amount of data “in flight” or “in the pipe”
• Example: 100ms x 45Mbps = 560KB
Bandwidth
Delay
Network Failures• Packet loss
– queue overflows– line noise
• Node or link failures• Routing transients or failures
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
Reliable File Transfer• Loss sensitive• Not delay sensitive relative to
round trip times• Point-to-point or multipoint• Bursty
Remote Login• Loss sensitive• Delay sensitive
– subject to interactive constraints– can tolerate up to several hundreds of
milliseconds• Bursty• Point to point
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
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
Web• Transactional traffic
– short requests, possibly large responses• Loss (bug?) tolerant• Delay sensitive
– human interactivity• Point-to-point (multipoint is
asynchronous)
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.)
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
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
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)
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
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
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
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