why is the subject important? - piazza
TRANSCRIPT
1
Matta@BUCS - Introduction 1-1
CS 455/655 Computer Networks Abraham Matta Computer Science Boston University Chapter 1 Introduction
Computer Networking: A Top-Down Approach, 6th edition. Jim Kurose, Keith Ross Addison-Wesley.
Why is the subject important? q Networks of processes are ubiquitous
❍ To support a myriad of distributed applications q They are getting larger and more complex q Need experts in leveraging & managing them
Matta@BUCS - Introduction 1-2
Matta@BUCS - Introduction 1-3
2
Syllabus q Available on
https://piazza.com/bu/fall2014/cs455655/home ❍ Only grades on Blackboard: https://learn.bu.edu
q 655 superset of 455
❍ Additional readings and assignments ❍ Participate in Network Reading Group, Mon 11am, MCS 148
• Subscribe at www.cs.bu.edu/groups/nrg • NRG web page: http://www.bu.edu/cs/nrg/
q Basic prerequisites ❍ strong programming, basic algorithms, simple math
q TF: Yuefeng Wang q Grading
❍ 2 exams ❍ assignments (3-4 written, 3 labs, 3 programming) ❍ 3-4 extensions or extra assignments for 655
Matta@BUCS - Introduction 1-4
Hands-on Labs
Matta@BUCS - Introduction 1-5
We’re a stone’s throw away from where many “networking” firsts originated …
q First optical (light) “one-if-by-land-and-two-if-by-sea” signals ❍ Used to signal that the British are coming in
1775 q First telegraph (Morse code)
❍ Used for reporting fires in 1852 q First transatlantic radio message
❍ From Nova Scotia to England in 1902 q First switches and email message
❍ at BBN in 1967-1972 q
Matta@BUCS - Introduction 1-6
Guglielmo Marconi
Paul Revere
3
Expectations q This class IS about...
❍ Concepts, Principles, and Protocols ❍ General-Purpose Computer Networks ❍ Internet Perspective ❍ Network Software ❍ Designing and Building a System
q This class IS NOT about... ❍ Specialized networks (e.g., CATV, telephone) ❍ ISO/OSI Perspective ❍ Network Hardware ❍ Advanced Theoretical Analysis
Matta@BUCS - Introduction 1-7
Why Build a Computer Network?
q To support distributed applications (e.g., FTP, WWW, ...)
q Most functionality in software q General-purpose computers q New functionality easily added ``inside'' the
network (e.g., CDN=Content Distribution Net) q Computers are increasingly faster
Matta@BUCS - Introduction 1-8
Common Functionality
q Specify remote machine q Connect to it (possibly some handshaking) q Transfer data q Close connection
Client process
Request
Reply
Server process
Client machine Server machine
Network
Matta@BUCS - Introduction 1-9
4
Requirements: (1) Connectivity q Building blocks
❍ links: copper wire, coax cable, optical fiber, radio, … ❍ nodes: general-purpose workstations, PCs, routing elements, …
q Direct links ❍ point-to-point (e.g. dial-up, DSL)
❍ multiple access (LAN environment)
Need MAC (Medium Access Control) protocol to control
access to the shared medium (e.g. shared Ethernet, HFC upstream channel, wireless)
. . .
multiple access network
Matta@BUCS - Introduction 1-10
point-to-point network
Requirements: (1) Connectivity q Indirect connectivity
❍ switched networks (WAN environment)
❍ intermediate nodes are called switches ❍ end nodes are called hosts or end-systems (net’s edge) ❍ packet switching: send/receive messages (packets)
• may need fragmentation/reassembly ❍ store-and-forward
Matta@BUCS - Introduction 1-11
Requirements: (1) Connectivity
q internetworks q nodes that connect
networks are called routers or gateways
q A network can be defined recursively as two or more nodes connected by a physical link, or by two or more networks connected by one or more nodes
Matta@BUCS - Introduction 1-12
5
Requirements: (1) Connectivity
Matta@BUCS - Introduction 1-13
q Net’s core managed by a hierarchy of ISPs
access net
access net
access net
access net
access net
access net
access net
access net
access net
access net
access net
access net
access net
access net access
net
access net
…
…
… …
…
…
ISP B
ISP A
ISP C
regional net peering link
customer-provider link
Requirements: (1) Connectivity
q Addressing and routing ❍ address: byte-string that identifies a node;
usually unique ❍ routing: process of determining how to forward
messages toward the destination node based on its address
❍ types of addresses • unicast: node-specific • broadcast: all nodes on the network • multicast: some subset of nodes on the network
Matta@BUCS - Introduction 1-14
Requirements: (2) Cost-effective Resource Sharing q Must share (multiplex) network resources (nodes and
links) among multiple users
q Common Multiplexing Strategies ❍ Time-Division Multiplexing (TDM): pre-assign time slots ❍ Frequency-Division Multiplexing (FDM): pre-assign
frequencies
Matta@BUCS - Introduction 1-15
6
Requirements: (2) Cost-effective Resource Sharing q Statistical Multiplexing q Time-division, but on demand
rather than fixed (no waste) q Reschedule link on a per-packet
basis q Packets from different sources
interleaved on the link q Buffer packets that are
contending for the link q Packet queue may be processed
FIFO, but not necessarily q Buffer overflow, causing packet
drop (loss), is called congestion
Matta@BUCS - Introduction 1-16
. . .
Requirements: (3) Process-to-Process Channels q The application programs
running on the hosts connected to the network must be able to communicate in a meaningful and efficient way
q Network supports common process-to-process channels; e.g., ❍ Reliable (no loss, no errors, no
duplication, in-order): for file access and digital libraries
❍ Secure (privacy, authentication, message integrity)
❍ Delay-bounded: for real-time voice and video
Host
Host
HostHost
Host
Application
Application
Channel
Matta@BUCS - Introduction 1-17
Requirements: (3) e2e Channels
q What Goes Wrong in the Network? ❍ Bit-level errors (electrical interference) ❍ Packet-level errors (congestion) ❍ Link and node failures
❍ Packets are delayed ❍ Packets are delivered out-of-order ❍ Third parties eavesdrop
The key problem is to fill in the gap between what applications expect and what the underlying technology provides
Matta@BUCS - Introduction 1-18
7
Requirements: (3) e2e Channels q Performance: Bit Rate (throughput)
❍ Amount of data that can be transmitted per time unit ❍ Example: 10Mbps ❍ link versus end-to-end ❍ Notation
• KB = 210 bytes • Mbps = 106 bits per second
❍ Bit rate (aka capacity) related to ``bit width''
1 second
1 second
1Mbps (each bit 1 microseconds wide)
2 Mbps (each bit 0.5 microseconds wide)
Matta@BUCS - Introduction 1-19
Requirements: (3) e2e Channels
q Performance: Delay ❍ Time it takes to send message from point A to point B ❍ Example: 24 milliseconds (ms) ❍ Sometimes interested in round-trip time (RTT) ❍ Components of delay
• Total Delay = Processing + Propagation + Transmit + Queue • Propagation Delay = Distance / SpeedOfLight • Transmit = Size / Bit Rate
❍ Speed of light • 3.0 x 108 meters/second in a vacuum • 2.3 x 108 meters/second in a cable • 2.0 x 108 meters/second in a fiber
Matta@BUCS - Introduction 1-20
Requirements: (3) e2e Channels
q Relative importance of bit rate and delay ❍ small message (e.g., 1 byte): 1ms vs 100ms dominates 1Mbps vs
100Mbps ❍ large message (e.g., 25 MB): 1Mbps vs 100Mbps dominates 1ms
vs 100ms q Bandwidth (Bit Rate/thruput) x Delay Product (BxD)
q Example: 100ms RTT and 45Mbps Bit Rate ~ 560 KB of data
Matta@BUCS - Introduction 1-21
delay
bandwidth