Download presentation
Presentation is loading. Please wait.
1
ECE544: Communication Networks-II Spring 2009 H. Liu Lecture I Includes teaching materials from D. Raychaudhuri, L. Peterson & L. Govidan
2
Today’s Lecture Administrative matters Course Overview –topics covered –design & prototyping projects Introduction to networking and network principles
3
Class Structure Friday 4:45-7:30pm Lecture format –Slides, Board, … –Interactive Two 80 min sessions –with a 10 min break in between
4
Contact Information Instructor: Dr. Hang Liu –Email: hliu@winlab.rutgers.edu –Office Hours: by appt, CoRE 510 TA (for project) : KC Huang –Email: therom@winlab.rutgers.edu –Office hours: tbd Class Resources –Web page: http://www.winlab.rutgers.edu/comnet2http://www.winlab.rutgers.edu/comnet2 –Mailing list: comnet2@winlab.rutgers.educomnet2@winlab.rutgers.edu –Sign up for mailing list at: http://lists.winlab.rutgers.edu/listinfo/comnet2 http://lists.winlab.rutgers.edu/listinfo/comnet2
5
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
6
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
7
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
8
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
9
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
10
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
11
What is the problem?
12
A Multimedia Application
13
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
14
Back in the old days.. Time bw
15
Then came TDM..TDM muxdemux
16
Logical network view
17
Packet switching (Internet)
18
Packet Switching Interleave packets from different sources Efficient: resources used on demand –statistical multiplexing General –multiple types of applications Accommodates bursty traffic
19
Characteristics of Packet Switching Store and forward –packets are self contained units –can use alternate paths - reordering Contention –congestion –delay
20
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.
21
What is…. Architecture Layering and Protocols OSI Architecture vs. Internet Architecture Implementing Network Software Performance
22
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 Application Host Client Logical Channel Host
23
Network Structure Backbones Regionals Campus LANs
24
Layering Host Application Transport Network Link User A User B Teleconferencing Layering: technique to simplify complex systems Peers
25
Layering General Issues Reliability Flow control Fragmentation Multiplexing Connection setup (handshaking) Addressing/naming (locating peers)
26
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)
27
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
28
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
29
Interfaces Host 1 Protocol Host 2 Protocol High-level object High-level object Peer-to- peer interface Service interface
30
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 Host Application Host Channel
31
IPC Abstractions Request/Reply –distributed file systems –digital libraries (web) Stream-Based –video: sequence of frames 1/4 NTSC = 352 x 240 pixels (352 x 240 x 24)/8=247.5KB 30 fps = 7500KBps = 60Mbps –video applications on-demand video video conferencing
32
32 Protocol Machinery Protocol Graph –most peer-to-peer communication is indirect –peer-to-peer is direct only at hardware level File application Digital library application Video application RRPMSP HHP Host 1 File application Digital library application Video application RRPMSP HHP Host 2 Hardware Host-to-host connectivity Request/reply channel Message stream channel Application programs
33
33 Machinery (cont) Multiplexing and Demultiplexing (demux key) Encapsulation (header/body) RRPDataHHP Application program Application program Host 1Host 2 Data RRP Data HHP Data RRP Data HHP
34
ISO Architecture Application Presentation Session Transport End host One or more nodes within the network Network Data link Physical Network Data link Physical Network Data link Physical Application Presentation Session Transport End host Network Data link Physical
35
Internet Architecture Defined by Internet Engineering Task Force (IETF) Hourglass design Not strict layering, cross-layer design … FTPHTTPNV TFTP TCP UDP IP NET 1 2 n Network IP TCP Application UDP
36
Example: Network Layer Point-to-point communication Network and host addressing Routing
37
Example: Transport layer First end-to-end layer End-to-end state May provide reliability, flow and congestion control
38
Implementing Network Software Open and modular design Application programming interface (API)
39
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)
40
Protocol Implementation Performance is critical OS networking subsystem
41
Process-per-protocol vs. Procecess-per-message Process n+1 Process n Process n-1 Procedure n+1 Procedure n Procedure n-1 Inter-process messages Inter-process messages Procedure Calls Procedure Calls Process per protocol Process per message
42
Message Buffers Message data structure: linked list send() deliver() Topmost protocol Application process Lower layer protocol Data structure pointer passing No buffer copying
43
Network Performance Metrics Bandwidth –transmission capacity Delay –queuing delay –transmission delay –propagation delay (limited by c) Delay-Bandwidth product –important for control algorithms
44
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
45
Perceived Latency vs. Round-Trip Time 10,000 5000 2000 1000 500 200 100 50 20 10 5 2 1 10010 RTT (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 Perceived latency (ms)
46
Delay x Bandwidth Product Amount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB
47
Network Failures Packet loss –queue overflows –line noise Node or link failures Routing transients or failures
48
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
49
Reliable File Transfer Loss sensitive Not delay sensitive relative to round trip times Point-to-point or multipoint Bursty
50
Remote Login Loss sensitive Delay sensitive –subject to interactive constraints –can tolerate up to several hundreds of milliseconds Bursty Point to point
51
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
52
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
53
Web Transactional traffic –short requests, possibly large responses Loss (bug?) tolerant Delay sensitive –human interactivity Point-to-point (multipoint is asynchronous)
54
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.)
55
Example 1: Broadband Wireless Access Draw a general conceptual network diagram to start... Multiservice interface with voice/data, QoS support, and mobility support Internet Broadband Wireless Access Network Mobile Comm Devices Fixed PC/WS Mobile PDA/PIA Semi-mobile Laptop, etc. Switched Telecom Network telco-BWA gateway IP-BWA gateway Metro-area wireless access network (~Km) ~0.1-10 Mbos
56
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 Infostations access point Data cache ~100 MB/s Fast transfer Low-speed control channel (for synch & service setup) Service Zone Access Control Zone Total transit time ~10sec
57
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)
58
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
59
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
60
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
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.