introduction to computer...
TRANSCRIPT
Introduction to Computer ScienceCSCI 109
Andrew GoodneyFall 2019
China – Tianhe-2
Lecture 9: Networks Nov. 9th, 2019
Schedule
1
Computer Networks
u Computer networks everywhere!v Headed towards IoT (*everything* electronic on a network)
u How did we get here?
2
1960’s
3
u 1960’sv ”Mainframe” computers = $$MMv Universities and Government facilities install at designated places
(UIUC, UCSD, etc.)v Allow remote access to researchers across the country to better utilizev Mainframes – 100% busy
1960’s Remote Access
u Dumb Terminals and analog modems
4
Phone call
1960’s Problems
u Any issues with this model?v Analog connections slow (300BPS)v Only so many phone linesv Long distance calls were expensive
5
Digital Circuits
u Mid to late 1960’s digital circuits improve thingsu Also, computer-to-computer communication
6
mainframe
(smaller) mainframe
64kbpsdigital circuit
(smaller) mainframe
(smaller) mainframe
Late 1960’s
u Terminals in office -> local main frameu Local mainframe -> digital circuit -> big main frame
u Key observations:v Multiple usersv Computer-to-computer
7
7
Late 1960’s
u Still not ideal…u Connections are “circuit switched” (dedicated) between
source and destination
u What happens when no one is using the circuit?u Really only one dumb-terminal can use connection at a time
u Do humans time share well?
u Digital circuits still expensive
u Also, computer-to-computer identified as key application
8
Design Goals
u Need a way to:v Connect users at terminals to remote computersv Connect many users at the same time (fairly)v Allow computer-to-computer communicationsv Maximize the utilization of expensive digital links
9
Solution: the packet
u What is a packet?u Chunks of user data
u And VERY IMPORTANTLY
u Meta-data (header) about where the packet is from, and where it needs to go
10
How do packets solve the problem?
u Now we can build “packet-switched” networks
11
64kbpsdigital circuit
= packet switch
Packet Switching
u What do we have now?u Terminals connect to local computers
u Data is broken up into packets sent to switch
u Can go to other local computers
u Or, switch can ”forward” packet to remote switchu Remote switch sends packet to big, expensive main frame
u Main advantage: links are shared amongst all users, or computer-to-computer communication
u Nothing is dedicated to one connection12
Packet Switching Advantage
u Sharing and utilization is main advantage of packet switching
13
Nusers
1 Mbps link…..
example:§ 1 Mb/s link§ each user:
• 100 kb/s when “active”• active 10% of time
u circuit-switching:v 10 users
u packet switching:v with 35 users, probability > 10
active at same time is less than .0004
v with 50 users, P = 0.01
A bit more history…
u How did we make the jump to packet switching?u Idea came about late 1960’s
u ARPA (Advanced Research Projects Agency)v US-DOD wanted packet switched computer-to-computer networksv Seen as crucial to Cold War effort
u This is queueing theory, packet switching is a lot like lines at amusement park/grocery store
14
Len Kleinrock/UCLA
u Len Kleinrock writes PhD thesis on queuing theory/packet switchingv All theoretical, didn’t exist yet
u ARAP contacts and says “Hey you seem like just the right guy, here’s a ton of money, invent the ARPANet…”
u Gets faculty position at UCLA (~1963), embarks on project
u With BBN, builds Interface Message Processor (IMP) (packet switch)
u 50 years ago (Oct. 29th), sends first message from UCLA to Stanford
15
Interface Message Processor
16
Internet Museum: https://la.curbed.com/2011/10/31/10429196/internet-invented-ucla-first-message-museum
Recreated lab as it was 50 years ago. You can go visit: 3420 Boelter Hall
Network Terminology
u Everything on the network is either:v Host
u sends or receives datav Packet switch
u receives packets on interfaces and forwards to other switches or hostsv Communication link
u Physical connection between two devices that carries data
u Store and forwardv Packet switches “store and forward”
u Receive a packetu Store it (store)u Figure out where to send it (forward)
17
Modern Networks
u How do we build modern networks?u The Internet is a network of
networks!
u Internet edge:v Access networks connects hosts to the
networkv Access networks connect to networks in
the core
u Internet Core:v Networks of networks (ISPs) connecting
together18
mobile network
global ISP
regional ISPhome network
institutionalnetwork
More Terminology
u Access networks are Local Area Networks (LANs)v Host (desktops, laptops, servers)v Switchesv Routers
u Routers are special packet switches that bridge (connect) multiple LANs, or from LAN to WAN
u WAN = Wide Area Networkv Connects from LAN to network core
19
More Terminology
u Network Corev LANs and WAN connections from access networks to ISPsv And between ISPs
20
How do we build modern networks
u First look at access networksv How do we connect hosts (pc, laptop, server, phones) to the network
21
Ethernet LANs
u In 2018 (almost?) all LANs are built with Ethernet technologies
u Homes, businesses, university campus
u Built withv twisted pair (“Ethernet cable”)v Wifiv Optical fiberv Power lines
u Wide range of speedsv 10M, 100M, 1G, 10G, 40G, 100G
22
Home Network
23
to/from headend or central office
Cable, DSL modem, or fiber
router, firewall, NAT
wired Ethernet (100 Mbps or 1G)
wireless access point (100->1000
Mbps)
wirelessdevices
Institutional Network
24
Ethernet switch
institutional mail,web servers
institutional router
institutional link to ISP (Internet)
u typically used in companies, universities, etcv 10 Mbps, 100Mbps, 1Gbps, 10Gbps, 40G, 100G transmission ratesv today, end systems typically connect into Ethernet switch
Wireless Network
u Wireless access to phones, etcu Provided by cellular operators
u 2G (dead?), 3G, 4G, now 5G
u Speeds varyv 100’s kilobits/s (2G)v 5G 300Mbps+
25
to Internet
WAN Links
u How to connect access networks to the core?
26
DSL
u Digital Subscriber Line (DSL)v Uses existing phone linesv 10 - 100Mbpsv Homes and small businesses
27
central office
ISP
telephonenetwork
DSLAM
voice, data transmittedat different frequencies over
dedicated line to central office
DSLmodem
splitter
DSL access multiplexer
Cable Modem
28
data, TV transmitted at different frequencies over shared cable
distribution network
cablemodem
splitter
…cable headend
CMTS
ISP
cable modemtermination system
v HFC: hybrid fiber coax§ asymmetric: up to 1Gbps downstream transmission rate, <20 Mbps
upstream transmission ratev network of cable, fiber attaches homes to ISP router
§ homes share access network to cable headend § unlike DSL, which has dedicated access to central office
v Homes and small business
Fiber Optical WAN Links
u Institutional networks, ISP to ISPu Laser light on optical fiber
u Speeds 100M to 100G
u Some homes!v ATT Fiber, Google Home, other lucky people!
29
Physical Links
u Communication links can be made up of different physical media, with different properties
30
Twisted Pair
u Twisted Pair: two copper wires twisted around each otheru Examples: old phone lines, CAT5(6,7) Ethernet cables
u Bandwidth: 100M to 2.5G per pair
u Usually multiple pairs per cable
31
Coaxial cable
u Coaxial cable: center conductor surrounded by insulation then tubular shield
u Carries radio frequency signals
u “CableTV” (cable modem) wires in your house, DS3 other similar telco services
u 100M to 10G per cable
32
Fiber Optic Cable
u Extremely thin glass cables called strandsu Laser light used to transmit datau Can carry multiple wavelengths at once (i.e. multiple
”colors”)u Essentially unlimited bandwidth per strandu Typically 1G to 100G per wavelengthu 96 wavelengths per strandu Short distance: Ethernet on campusu Long distance, underseau Propagates at 60% speed of light
33
Wireless
u Also known as radio wavesu Connects through free space (no wires)
u Wi-fi, cellular, satellite, specialized microwave services
u Bandwidth depends on frequency, channel width, modulation, etc. (kilobits to gigabits)v 900MHz, 2.4GHz, 5GHz, 60GHz
u Propagation affected by walls, buildings, trees, ground, water, other transmission sources
u Some free-space laser links exist, not very common
34
Internet structure
u Keep saying “network of networks”u What do we mean?u Basic goal of Internet “end to end” communication
v Any host can talk to any host
u End systems connect to Internet via access ISPs (Internet Service Providers)v Residential, business and university ISPs
u Access ISPs in turn must be interconnected. v So that any two hosts can send packets to each other
u Resulting network of networks is very complexv Evolution was driven by economics and national policies
u Let’s take a stepwise approach to describe current Internet structure
35
Internet Structureu To enable end-to-end communication, all access nets (millions)
must interconnect… how?
36
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
…
………
…
Internet Structureu Naïve solution: direct connect every ISP together!
37
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
…
………
…
…
…
…
……
connecting each access ISP to each other directly doesn’t
scale: O(N2) connections.
Internet Structureu Solution: One global ISP connects access nets hierarchically
u Not possible, never happened…
38
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
…
………
…
globalISP
Internet Structure
39
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
…
………
…
ISP B
ISP A
ISP C
IXP
IXP
peering link
Internet exchange point
Internet Structure
u Regional ISPs arose to connect access nets (schools, businesses, homes) to the Internet
u Regional ISPs connected together at IXPs (Internet Exchange Points) for mutual economic benefit
u Specialized regional networks connect some access networks togetherv Educational: Los Nettos (socal .edu)v Metro area networks: City chartered networks to lower connection
costs for businesses
40
Network of Networks
41
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnet
accessnetaccess
net
accessnet
…
………
…
…
ISP B
ISP A
ISP C
IXP
IXP
regional net
Hierarchical View
u at center: small # of well-connected large networks
v “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national & international coveragev content provider network (e.g, Google): private network that connects it data centers to Internet,
often bypassing tier-1, regional ISPs 42
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
accessISP
Regional ISP Regional ISP
IXP IXP
Tier 1 ISP Tier 1 ISP Google
IXP
Communicating on the Internet
u Material so far is how we build packet switched networksu From another perspective: how does data get to the other
side?
43
Protocols
u All communication on networks is moderated by one or more protocols
u Human protocols:v ”What time is it?” “Excuse me, where is…”v Introductions, small talk, etc.
u Network Protocolsv Machine to machine
u Network protocols: define the format and order of messages sent and received between network devices, and the actions to be taken upon message transmission or receipt
44
Protocols
45
a human protocol and a computer network protocol:
Hi
Hi
Got thetime?2:00
TCP connectionresponse
<file>time
TCP connectionrequest
Get http://www.awl.com/kurose-ross
Getting Data Across the Internet
u From the programmers perspective, the network is a black-box
u A set of infrastructure components that provide an API to get data from app to server and back
46
GET http://www.usc.edu/
How to provide that service?
u To get from device to server and backv Data must be packetizedv Traverse access network à ISP à ISP à ISP à access network à
server (and back)v Travel across heterogeneous network types, physical layers
u Does (should?) the programmer worry about any of this?
u No! It just works.u What is the solution?
u A series of abstractions!
47
Flying Analogy
u First an analogy
48
ticket (purchase)
baggage (check)
gates (load)
runway takeoff
airplane routing
ticket (complain)
baggage (claim)
gates (unload)
runway landing
airplane routing
airplane routing
Flying Analogy
u Goal: get from one city to the other
layers: each layer implements a servicev via its own internal-layer actionsv relying on services provided by layer below
49
ticket (purchase)
baggage (check)
gates (load)
runway (takeoff)
airplane routing
departureairport
arrivalairport
intermediate air-trafficcontrol centers
airplane routing airplane routing
ticket (complain)
baggage (claim
gates (unload)
runway (land)
airplane routing
ticket
baggage
gate
takeoff/landing
airplane routing
Why Layers
u Explicit structure eases system design in highly complex systemv Adds structure to the design process
u Modularityv Each layer provides a service to the layer above, essentially abstracting
the connection details awayv Layers can be updated and improved as long as services offered don’t
changev Each layer ABSTRACTS the connection between devices at that layer
u Ease for application programmersv Minimum amount to learnv Use the API provided by upper layers, let the rest sort it out 50
Data flow through layers
51
Pack
et fl
ow
abstract connection
Packet Headers
u Each layer adds a header as a packet flows down
u Header contains the information necessary for that layer to do its job
u Header is removed as data flows up
52
Closer look at the layers
53
Typically software layers
Typically hardware layers
TCP/IP
u TCP/IP Most famous protocol suiteu TCP
v Layer 4 protocolv Guarantees in-order delivery of packets
u Either they get to the other side in orderu Or both hosts know a packet was lost
v Offers ”data stream” abstraction to layers above
u IP (Internet Protocol)v Layer 3 protocolv All “Internet” traffic is IP trafficv Handles addressing (IP addresses) and routing of packets across the
Internetv No guarantees, packets routed best effortv Offers host-to-host packet service to layers above
54
Network Performance
u Performance Metrics for Networksu Bandwidth - ”how fast is my network”
v How much data (bits) can I get to the other side per secondv Applies to communication links, as well as across the network
u Latency – “How slow is my network”v How long does it take for data to get from one side to the otherv Measured in time: s, ms, us
u Loss – “How bad is my network”v Fraction of packets that get dropped (don’t make it to the other side)v Needs to be <<1% for good network operation
u Throughput – “How good is my network”v Considering how bandwidth, latency, loss combine with a protocol to
measure how much data is actually delivered per unit timev This is what applications see 55
Original Internet Design Goals
u “the Internet” came out of (D)ARPA projects in the 1960’s, 70’s and 80
u Primary driver was to enable computer-to-computer communications, even under nuclear attack
56
Original Internet Design Goals
u Paper in 1988: “The Design Philosophy of the DARPA Internet Protocols” (David Clark, 1988).
u In PRIORITY orderu 1. Continue despite loss of network infrastructure (degrade, but still function
under attack)
u 2. Support multiple types of communication services (many different applications)
u 3. Accommodate a variety of networks (e.g. early networks were not all Ethernet, today’s networks use Ethernet at layer 2, layer 1 is very different)
u 4. Permit distributed management of Internet resources (no one entity is required for network to function)
u 5. Cost effective
u 6. Host attachment should be easy (only local changes required to add host)
u 7. Resource accountability (security) 57
What about now?
u Many of these goals made the Internet as we know it possible.
u Especially the middle 4:u Support multiple types of communication services (many different
applications)
u Accommodate a variety of networks (e.g. early networks were not all Ethernet, today’s networks use Ethernet at layer 2, layer 1 is very different)
u Permit distributed management of Internet resources (no one entity is required for network to function)
u Cost effective
58
What about now?
u However, some make things interestingu 4. Permit distributed management of Internet resources
u Originally indented to make the network resilient in a military scenario
u Now: basically no one is in charge
v 7. Resource accountabilityu If you read the paper, they basically never got to thisu This is why Internet security is such a disaster, it wasn’t designed
in originallyu Network agents implicitly trusted, this still causes problems, see
re: BGP attacks59
Back to Internet History
60
Growth of the Internet
61
Switch to TCP/IP (layer 4 protocol)
62
u ARPANet switches to TCP/IP – still in use!
USC/ISIu Information Sciences Institute
v Part of USC under Viterbiv Researchers, grad students, undergradsv In beautiful MDR
u Became prominent in developing early Internet protocolsv IP
u “The internet protocol provides for transmitting blocks of data called datagrams from sources to destinations, where sources and destinations are hosts identified by fixed length addresses.”
v ICMPv Domain Name Systemv Simple Mail Transport Protocol
u ICANN nee IANAv Internet Assigned Numbers Authority -> ICANNv (USC basically ran the Internet) 63
Takeaways
u Networks allow computers to communicate (exchange data)u Data is broken into packets (small chunks) and sent over shared circuits
(packet switching) by switches and routersu Internet is a network-of-networks – No one owner/regulatoru The Internet provides an API for a service (networking) that lets app
developers write software (abstraction)u Services are implemented with protocols that are stacked in layers (more
abstraction)u TCP/IP is the core protocol on which most internetworking is basedu Security was not an important design feature when the Internet was invented
– we’re still paying for this nowu Bandwidth, latency, loss, throughput are the important network performance
metricsu USC/ISI has been involved in inventing the modern Internet since (not quite)
the beginning (e.g DNS, IANA, ICANN)64