1 / 61

ECE544: Communication Networks-II Spring 2009

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

moesha
Download Presentation

ECE544: Communication Networks-II Spring 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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/comnet2 • Mailing list: comnet2@winlab.rutgers.edu • Sign up for mailing list at: 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. 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 Course Topics

  10. Network architecture paper (10%) - top-down design - requirements - specifications - system analysis Projects • 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? Applications The Global Network Scale Technology Robustness

  12. A Multimedia Application

  13. Connectivity/Channel Application 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

  14. Back in the old days.. bw Time

  15. mux demux Then came TDM..

  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…. The Global Network • 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) Host Application Host Server Host Logical Channel Host Application Host Client

  23. Network Structure Backbones Regionals Campus LANs

  24. Layering Teleconferencing User A User B Peers Application Transport Network Link Host Host Layering: technique to simplify complex systems

  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 Host1 Host2 High-level High-level object object Service interface Service interface Protocol Protocol Peer-to-peer interface

  30. Host Host Application Host Channel Application Host Host 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.

  31. IPC Abstractions • 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 • Request/Reply • distributed file systems • digital libraries (web)

  32. Host 2 Host 1 Digital Digital Video Video File File library library application application application application application application Application programs RRP MSP RRP MSP Request/reply channel Message stream channel HHP HHP Host-to-host connectivity Hardware Protocol Machinery • Protocol Graph • most peer-to-peer communication is indirect • peer-to-peer is direct only at hardware level

  33. 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

  34. 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

  35. FTP HTTP NV TFTP UDP TCP IP … NET NET NET 2 1 n Internet Architecture • Defined by Internet Engineering Task Force (IETF) • Hourglass design • Not strict layering, cross-layer design Application TCP UDP IP Network

  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 Procedure n+1 Process n+1 Procedure Calls Inter-process messages Process n Procedure n Procedure Calls Inter-process messages Process n-1 Procedure n-1 Process per message Process per protocol

  42. Message Buffers Application process • Message data structure: linked list send() deliver() Topmost protocol Data structure pointer passing No buffer copying Lower layer protocol Lower layer protocol

  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. 10,000 5000 2000 1000 500 1-MB object, 1.5-Mbps link 200 1-MB object, 10-Mbps link Perceived latency (ms) 2-KB object, 1.5-Mbps link 100 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) Perceived Latency vs. Round-Trip Time

  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

More Related