1 ECE544: Communication Networks-II, Spring 2017Abhigyan Sharma Lecture 1 (adapted from Prof. Raychaudhuri’s slides) Includes teaching materials from L. Peterson & R. Govindan
2 Today’s Lecture Administrative matters Course Overviewtopics covered design & prototyping projects Introduction to networking
3 Class Structure Friday 3:45-6:30pm Lecture format Two 80 min sessionsSlides, Board, … Interactive Two 80 min sessions with a 10 min break in between
4 Contact Information Instructor: Abhigyan Sharma Office Hours: Friday 2:45 PM, EE 113
5 Class Resources Web page: http://www.winlab.rutgers.edu/comnet2Mailing list: Sign up for mailing list at: https://groups.google.com/a/winlab.rutgers.edu/d/forum/comnet2-2017
6 Course Readings Textbook (required, to be used for ~60% material)Peterson & Davie, “Computer Networks: A Systems Approach”, Morgan Kaufman, 5th edition (preferred) or 4th edition 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 (30%) and Final (35%) Open book, 1 page of notes permitted; includes both descriptive and numerical problems Design & Prototyping Assignments: 30% Intermediate programming assignments Protocol project & report No makeup exams, no extra credit work
8 Student Commitments Keep up with your readingread 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 SkillsComputer Networks I or equivalent General communications and computer architecture/OS background Skills Programming (C/C++) significant programming project use of design and analysis tools
10 Course Topics Textbook chapters (5th edition)Current networking research Ch 1: Introduction Ch 2: Shared media/MAC Ch 3: Packet switching & IP basics Ch 4: Advanced IP Ch 5: E2E transport Ch 6: Resource allocation Ch 8: Network security Ch 9: Applications Software-defined networks Datacenter networks Network middleboxes Future internet architectures 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 Network software project Warm-up Projects- new datacenter traffic engineering solution - software platform provided - student teams will write competing protocol specs - meetings to specify “standard” - group demo & inter-op demo Warm-up Projects - Programming exercises - Unix sockets, etc. 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 Networking Analogy Network may appear different to end-users, programmers, network admins, architects, standards committees, device manufacturers … Source: Wikipedia: Blind men and an elephant
13 What is the problem? Applications The Global Network Scale TechnologyHoly 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
14 Application ConsiderationsVariety 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
15 Application ConsiderationsApplication 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
16 Multimedia and Video ApplicationsThe classic Internet App: voice, video, data; streaming BW, latency, .. Circa 1990 ~2010 ~2013
17 Application Considerations (IoT)Large # devices (~100B+), low power, bursty data, ..
18 Application Considerations (Data Centers, Cloud)High traffic volume, latency sensitive, … Common datacenter topologies (leaf-spine)
19 Reliable File TransferLoss 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.
20 Remote Login Loss sensitive Delay sensitive Bursty Point to pointsubject to interactive constraints can tolerate up to several hundreds of milliseconds Bursty Point to point
21 Network Audio Relatively low bandwidth Delay variance sensitiveDigitized samples, packetized Delay variance sensitive Loss tolerant Possibly multipoint, long duration sessions natural limit to number of simultaneous senders
22 Network Video High bandwidth Compressed video, burstyLoss tolerance function of compression Delay tolerance a function of interactivity Possibly multipoint Larger number of simultaneous sources
23 Web Transactional traffic Loss tolerant Delay sensitiveshort requests, possibly large responses Loss tolerant Delay sensitive human interactivity Point-to-point (multipoint is asynchronous)
24 What is…. The Global Network Structure Metrics Failure modes Functions
25 Network Structure (~ 2000) Servers, Data Centers National/GlobalNetworks, Backbones Regional Networks, ISP Routers, Switches Local/Access Networks Links, LAN Nodes, Hosts, CPE
26 Network Structure (~ 2010) Labovitz et al., Internet Inter-Domain Traffic, SIGCOMM 2010
27 Network Topologies
28 Network Metrics Bandwidth Delay Delay-Bandwidth producttransmission capacity Delay queueing delay propagation delay (limited by c) Delay-Bandwidth product important for control algorithms
29 Bandwidth versus LatencyRelative 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
30 Delay x Bandwidth ProductAmount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB
31 Chapter 1, Figure 1.17 (5th ed)
32 Network Failures Packet loss Node or link failuresqueue overflows line noise Node or link failures Routing transients or failures
33 Statistical Multiplexing Gain1 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 =
34 Back in the old days.. bw Time
35 Then came TDM.. mux demux
36 Logical network view
37 Packet switching (Internet)
38 Packet Switching Interleave packets from different sourcesEfficient: resources used on demand statistical multiplexing General multiple types of applications Accommodates bursty traffic
39 Characteristics of Packet SwitchingStore and forward packets are self contained units can use alternate paths - reordering Contention congestion delay
40 Data & control plane packetsTwo types of packets Control plane: configures packet switching elements (e.g. routers) Data plane: carries actual user traffic Control plane logic Data packet DP
41 Control plane implementationSoftware defined networks (SDN) Classical networking protocols Centralized control plane Distributed control plane Peer-to-peer exchanges
42 Software-defined networks (SDN)Concepts Separation of control & data plane SDN controller: Logically-centralized implementation of control plane based on global view Key benefits Independent evolution of each plane Ease of control plane implementation faster innovation Adoption Relatively new idea (< 10 yrs old) Increasing use in campus LAN, datacenters, WAN ..
43 (Classical) Network ProtocolsBuilding blocks of most of today’s Internet Definition: Set of rules governing communication between network elements (applications, hosts, routers) Specification: format and order of messages actions taken on receipt of a message
44 Network Protocols (contd.)Each protocol object has two interfaces service interface: operations on this protocol peer-to-peer interface: msgs exchanged with peer Term “protocol” is overloaded specification of peer-to-peer interface module that implements this interface
45 Layering Layering: technique to simplify complex systemsTeleconferencing User A User B Peers Application Transport Network Link Host Host Layering: technique to simplify complex systems
46 Layering
47 Layering CharacteristicsEach 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)
48 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”
49 ISO Architecture End host End host Application ApplicationPresentation 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
50 Internet ArchitectureDefined 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
51 Internet Reference ModelIP 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
52 Layering General IssuesReliability Flow control Fragmentation Fairness Congestion control Connection setup (handshaking) Addressing/naming (locating peers)
53 Example: Transport layerFirst end-to-end layer End-to-end state May provide reliability, flow and congestion control
54 Example: Network LayerPoint-to-point communication Network and host addressing Routing
55 Encapsulation HTTP HTTP HTTP HTTP TCP HTTP TCP HTTP TCP TCP IP TCP802.11 IP TCP HTTP 802.11 IP TCP HTTP 802.11 802.11 (Wire) 802.11 IP TCP HTTP
56 Demultiplexing SMTP HTTP DNS TCP UDP IP ARP Ethernet HostIncoming 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
57 Inter-Process CommunicationTurn host-to-host connectivity into process-to-process communication. Fill gap between what applications expect and what the underlying technology provides. Host Application Channel
58 Network-Application InterfaceDefines 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
59 IPC Abstractions Stream-Based Request/Reply video: sequence of frames1/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)
60 Interfaces Chapter 1, Figure 1.10 Host 1 Host 2 Service High-levelobject interface object Protocol Protocol Peer-to-peer interface Chapter 1, Figure 1.10
61 Interfaces (contd.)
62 Interfaces (contd.) Chapter 1, Figure 17
63 Protocol Machinery Protocol Graphmost 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
64 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
65 Socket Basics
66 Socket API Primitive Meaning SOCKETCreate 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
67 Client & Server Program Outlinesocket() //make socket //make a socket getaddrinfo() //server and port name //for port on this host //www.example.com:80 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
68 Using Sockets Client (host 1) Time Server (host 2) 1: socket 2: bindconnect 3: listen 4: accept* 5: connect* request 6: receive* 7: send 8: receive* reply 9: send 10: close disconnect 10: close *=call blocks
69 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
70 Concept Example 1: Sensor NetsCompute & 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
71 Concept Example 2: InfostationsNetworks 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
72 Designing a Network Identify basic service requirementstransport 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.)
73 Requirements (contd.) List additional service and network featuresQoS, video/audio, etc. special routing (mcast, broadcast,..) mobility availability reliability security/authentication Rough system capacity (Mbps) and cost estimates ($/MB or $/user/mo)
74 Requirements AnalysisSummary 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
75 Network Components Key hardware components of a networkNIC ~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
76 Network Components Key software components of a networkCPE/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
77 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
78 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)
79 Today’s Homework Peterson & Davie, Chap 1 (4th ed) -1.15 -1.17 -1.23-1.28 Supplemental Reading Design Philosophy of DARPA Internet Protocols