Download presentation
Published byHugh Trevor Horton Modified over 9 years ago
1
ECE544: Communication Networks-II, Spring 2016
Prof. D. Raychaudhuri Lecture 1 Includes teaching materials from L. Peterson & R. Govindan
2
Today’s Lecture Administrative matters Course Overview
topics covered design & prototyping projects Introduction to networking
3
Class Structure Friday 3:45-6:30pm Lecture format Two 80 min sessions
Slides, Board, … Interactive Two 80 min sessions with a 10 min break in between
4
Contact Information Instructor: Prof. D. Raychaudhuri Office Hours: by appt, WINLAB Tech Center or Core 501 Project TA: Francesco Bronzino Office hours: by appt
5
Class Resources Web page: http://www.winlab.rutgers.edu/comnet2
Mailing list: Sign up for mailing list at:
6
Course Readings Textbook (required, to be used for ~60% 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
7
Course Grading Class participation & homework: 5%
Brief in-class presentations 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 architecture paper 10% protocol project & report 25% No makeup exams, no extra credit work
8
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/C++ & Unix programming as needed 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
9
Prerequisites Curricular prerequisites Skills
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
10
Course Topics Software defined networks Introduction
Network security Transport layer Higher-layer protocols Hardware issues Case studies and research topics Content networks Cloud computing services future Internet architecture Introduction Network Principles Shared Media/MAC Packet switching IP Basics IP Advanced Mobility Protocols -- mid-term Describe each topic broadly: what it covers: give examples, make it interesting. Routing: (examples of ad-hoc routing, examples of synchronization, how you can encode policy in routing), Multicast: (tree construction algorithms for conferencing and other applications), queueing and congestion control/avoidance (big problem of packet losses, recovery latency): how router mechanisms can improve this: what does traffic look like etc.
11
Projects Warm-up Projects Network architecture paper
- C/C++ programming exercises - Unix sockets, etc. - simple link protocols Network software project - new routing protocol - software platform provided - student teams will write competing protocol specs - meetings to specify “standard” - group demo & inter-op demo Network architecture paper - top-down design - requirements - specifications - system analysis - report Describe each topic broadly: what it covers: give examples, make it interesting. Routing: (examples of ad-hoc routing, examples of synchronization, how you can encode policy in routing), Multicast: (tree construction algorithms for conferencing and other applications), queueing and congestion control/avoidance (big problem of packet losses, recovery latency): how router mechanisms can improve this: what does traffic look like etc.
12
What is the problem? Applications The Global Network Scale Technology
Holy grail: unified theory of networking: one collection of mechanisms that supports a variety of applications (give application examples: TV/video to the home etc.), that scales to every home (5 billion people, one computer per person, people talking of even bigger networks), keeps up with technological progress What do we mean by “the network”? Talk about global network structure later. But at this point, introduce the notions of hosts, routers, links. Mention that what we usually mean by “the network” is the collection of links and routers, together with the transmission algorithms running at the host. Technology Robustness
13
Application Considerations
Variety of current and future applications to be supported by the network Content Delivery Vehicular Networks What the application delivers to the network? What the application needs from the network: a target data rate, target latencies etc. Talk about each one of these and how it affects network design. What kinds of tradeoff can we do? How traffic burstiness affects the aggregate characteristics; in turn, how are applications affected by delay and loss Cloud Services Mobile Data (cellular, hetnet) Emergency Networks Internet-of-Things
14
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. What the application delivers to the network? What the application needs from the network: a target data rate, target latencies etc. Talk about each one of these and how it affects network design. What kinds of tradeoff can we do? How traffic burstiness affects the aggregate characteristics; in turn, how are applications affected by delay and loss
15
Multimedia and Video Applications
The classic Internet App: voice, video, data; streaming BW, latency, .. Circa 1990 ~2010 ~2013
16
Application Considerations (IoT)
Large # devices (~100B+), low power, bursty data, ..
17
Application Considerations (Data Centers, Cloud)
High traffic volume, latency sensitive, …
18
Reliable File Transfer
Loss sensitive Not delay sensitive relative to round trip times Point-to-point or multipoint Bursty Eg. FTP. Cannot tolerate loss, can tolerate modest amounts of delay, not inherently bursty, but because of some control algorithms… Analogy of humans transferring (taking dictation). Other characteristics: large packet sizes etc.
19
Remote Login Loss sensitive Delay sensitive Bursty Point to point
subject to interactive constraints can tolerate up to several hundreds of milliseconds Bursty Point to point
20
Network Audio Relatively low bandwidth Delay variance sensitive
Digitized samples, packetized Delay variance sensitive Loss tolerant Possibly multipoint, long duration sessions natural limit to number of simultaneous senders
21
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
22
Web Transactional traffic Loss tolerant Delay sensitive
short requests, possibly large responses Loss tolerant Delay sensitive human interactivity Point-to-point (multipoint is asynchronous)
23
What is…. The Global Network Structure Metrics Failure modes Functions
24
Network Structure Servers, Data Centers National/Global
Networks, Backbones Regional Networks, ISP Routers, Switches Local/Access Networks Links, LAN Nodes, Hosts, CPE
25
Network Topologies
26
Network Metrics Bandwidth Delay Delay-Bandwidth product
transmission capacity Delay queueing delay propagation delay (limited by c) Delay-Bandwidth product important for control algorithms
27
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
28
Delay x Bandwidth Product
Amount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB
29
10,000 5000 2000 1000 500 1-MB object, 1.5-Mbps link 200 1-MB object, 10-Mbps link Perceived latency (ms) 100 2-KB object, 1.5-Mbps link 2-KB object, 10-Mbps link 50 1-byte object, 1.5-Mbps link 1-byte object, 10-Mbps link 20 10 5 2 1 10 100 R TT (ms) Chapter 1, Figure 1.20
30
Network Failures Packet loss Node or link failures
queue overflows line noise Node or link failures Routing transients or failures
31
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 =
32
Back in the old days.. bw Time
33
Then came TDM.. mux demux
34
Logical network view
35
Packet switching (Internet)
36
Packet Switching Interleave packets from different sources
Efficient: resources used on demand statistical multiplexing General multiple types of applications Accommodates bursty traffic
37
Characteristics of Packet Switching
Store and forward packets are self contained units can use alternate paths - reordering Contention congestion delay
38
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
39
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
40
Layering Layering: technique to simplify complex systems
Teleconferencing User A User B Peers Application Transport Network Link Host Host Layering: technique to simplify complex systems
41
Layering
42
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)
43
Packet Headers Packet Headers can contain:
- addresses, flow ID, pkt type, service type, error checks, QoS, … Layer 2 hdr Layer 3 hdr Trailer Layer 4 hdr Data “Encapsulation”
44
ISO Architecture End host End host Application Application
Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical One or more nodes within the network
45
Internet Architecture
Defined by Internet Engineering Task Force (IETF) Hourglass Design Application vs Application Protocol (FTP, HTTP) … FTP HTTP NV TFTP TCP UDP IP NET 1 2 n
46
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 3G Cable DSL 7 Application TCP UDP 4 Transport IP 3 Internet 2/1 Link
47
Layering General Issues
Reliability Flow control Fragmentation Multiplexing Connection setup (handshaking) Addressing/naming (locating peers)
48
Example: Transport layer
First end-to-end layer End-to-end state May provide reliability, flow and congestion control
49
Example: Network Layer
Point-to-point communication Network and host addressing Routing
50
Encapsulation HTTP HTTP HTTP HTTP TCP HTTP TCP HTTP TCP TCP IP TCP
802.11 IP TCP HTTP 802.11 IP TCP HTTP 802.11 802.11 (Wire) 802.11 IP TCP HTTP
51
Demultiplexing SMTP HTTP DNS TCP UDP IP ARP Ethernet Host
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
52
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 Application Channel
53
Network-Application Interface
Defines how apps use the network Lets apps talk to each other via hosts; hide the details of the network Sockets let apps attach to the local network at different ports App host Socket, Port #1 Port #2 ISP
54
IPC Abstractions Stream-Based Request/Reply 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 Request/Reply distributed file systems digital libraries (web)
55
Interfaces Chapter 1, Figure 1.10 Host 1 Host 2 Service High-level
object interface object Protocol Protocol Peer-to-peer interface Chapter 1, Figure 1.10
56
Interfaces (contd.)
57
Interfaces (contd.) Chapter 1, Figure 17
58
Protocol Machinery Protocol Graph
most peer-to-peer communication is indirect peer-to-peer is direct only at hardware level Host 1 Host 2 Digital File Digital Video File Video library library application application application application application application RRP MSP RRP MSP HHP HHP Chapter 1, Figure 1.11
59
Machinery (cont) Multiplexing and Demultiplexing (demux key)
Encapsulation (header/body) Host 1 Host 2 Application Application program program Data Data RRP RRP RRP Data RRP Data HHP HHP HHP RRP Data Chapter 1, Figure 1.12
60
Socket Basics
61
Socket API Primitive 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
62
Client & Server Program Outline
socket() //make socket //make a socket getaddrinfo() //server and port name //for port on this host // blind() //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 //await reply [block] //do something with data! //send the reply close() //done, disconnect //eventually disconnect
63
Using Sockets Client (host 1) Time Server (host 2) 1: socket 2: bind
connect 3: listen 4: accept* 5: connect* request 6: receive* 7: send 8: receive* reply 9: send 10: close disconnect 10: close *=call blocks
64
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
65
Concept Example 1: Sensor Nets
Compute & Storage Servers Pervasive Application Agents User interfaces for information & control Sensor net/IP gateway Mobile Internet (IP-based) Overlay Sensor Network Infrastructure 3G/4G BTS GW ZigBee, UWB, etc. Relay Node Ad-Hoc Sensor Net A Sensor/ Actuator Ad-Hoc Sensor Net B Virtualized Physical World Object or Event
66
Concept Example 2: Infostations
Networks to support opportunistic delivery of data to mobiles Internet Mobile DTN Router Roadway Sensors Ad-Hoc Network Opportunistic High-Speed Link (MB/s) Mobile P2P User Static DTN Router
67
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.)
68
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)
69
Requirements Analysis
Summary table listing key requirements Transport services CBR, VBR-rt,.. Bit rate Mbps # of users ~1000’s per access network Terminal type portable/mobile, fixed wireless Topology hierarchical, access/core QoS features selectable BW, stream support 99.9% Availability 99.99% Reliability Security features mobile authentication, on-air encryption Cost $0.1/MB or $50/mo/user
70
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
71
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
72
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
73
High Level Design Access Net Users (#, density, mobility)
Technology choice (e.g. MPLS optical) Mbps needed? Technology choice (e.g. IP router) Access Net Physical Span? Technology choice (e.g. Ethernet SW) bps Pkt size Burst statistics Stream parameters Technology choice (e.g n) bps/sq-m for wireless access Users (#, density, mobility)
74
Today’s Homework Peterson & Davie, Chap 1 (4th ed) -1.3 -1.15 -1.17
-1.23 -1.28
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.