csci5211: Computer Networks and Data Communications

Download Report

Transcript csci5211: Computer Networks and Data Communications

Introduction: Networking Review
Goals:
• review key topics
from intro networks
course
– equalize backgrounds
– identify remedial work
– ease into course
Readings:
Review your csci5211 or
csci4211 textbooks
CSci5221:
Introduction
Review (by yourself):
• overview
• error control
• flow control
• congestion control
• routing
• LANs
• addressing
• synthesis:
– “a day in the life”
– control timescales
1
What’s a Network: Key Features

Providing certain services


Shared resources


used by many users, often concurrently
Basic building blocks



transport goods, mail, information or data
nodes (active entities): process and transfer goods/data
links (passive medium): passive “carrier” of goods/data
Typically “multi-hop”


two “end points” cannot directly reach each other
need other nodes/entities to relay
CSci5221:
Introduction
2
What’s a Network: “Nuts and Bolts” View
router
• network edge: millions of endsystem devices:
– pc’s workstations, servers
– PDA’s, phones, toasters
running network apps
server
workstation
mobile
local net
• network core: routers,
switches forwarding data
regional net
– packets: packet switching
– calls: circuit switching
• communication links
– fiber, copper, radio, …
CSci5221:
Introduction
company
net
3
A Taxonomy of Communication Networks
• Communication networks can be classified based on
the way in which the nodes exchange information:
Communication
Network
Switched
Communication
Network
Circuit-Switched
Communication
Network
Broadcast
Communication
Network
Packet-Switched
Communication
Network
Datagram
Network
CSci5221:
Introduction
Virtual Circuit Network
4
Broadcast vs. Switched
Communication Networks
• Broadcast communication networks
– Information transmitted by any node is received by every
other node in the network
• E.g., LANs (Ethernet, Wavelan)
– Problem: coordinate the access of all nodes to the shared
communication medium (Multiple Access Problem)
• Switched communication networks
– Information is transmitted to a sub-set of designated
nodes
• E.g., WANs (Telephony Network, Internet)
– Problem: how to forward information to intended node(s)
• Done by special nodes (e.g., routers, switches) running
routing protocols
CSci5221:
Introduction
5
Data/Computer Networks

Delivery of information (“data”) among
computers of all kinds


General-Purpose


servers, desktops, laptop, PDAs, cell phones, ......
Not for specific types of data or groups of nodes, or using
specific technologies
Utilizing a variety of technologies

“physical/link layer” technologies for connecting nodes


copper wires, optical links, wireless radio, satellite
or even “non-electronic” means: e.g., cars, postal services,
humans -- e.g., recent “delay-tolerant networks” efforts
for 3rd world countries
CSci5221:
Introduction
6
Circuit Switching
End-end resources
reserved for “call”
• link bandwidth, switch
capacity
• dedicated resources:
no sharing
• circuit-like
(guaranteed)
performance
• call setup required
CSci5221:
Introduction
7
Packet Switching
each end-end data stream
divided into packets
• user A, B packets share
network resources
• each packet uses full link
bandwidth
• resources used as needed,
Bandwidth division into
“pieces”
Dedicated allocation
Resource reservation
CSci5221:
Introduction
resource contention:
• aggregate resource
demand can exceed
amount available
• congestion: packets
queue, wait for link use
• store and forward:
packets move one hop
at a time
– transmit over link
– wait turn at next link
8
Packet Switching vs Circuit Switching: Why?
•
“reliability” – no congestion, in order data in
circuit-switching
• packet switching: better bandwidth use
• state, resources: packet switching has less
state
•
– good: less control-plane processing resources along the
way
– More dataplane (address lookup) processing
failure modes (routers/links down):
– packet switching routing reconfigures sub-second
timescale;
– circuit-switching: more complex recovery – need to
involve all (downstream) switches on path
CSci5221:
Introduction
9
The Internet
• Global scale, general purpose,
heterogeneous-technologies, public,
computer network
• Internet Protocol
– Open standard: Internet Engineering Task Force
(IETF) as standard body ( http://www.ietf.org )
– Technical basis for other types of networks
• Intranet: enterprise IP network
• Developed by the research community
CSci5221:
Introduction
10
Services Provided by the Internet
• Shared access to computing resources
– Telnet (1970’s)
• Shared access to data/files
– FTP, NFS, AFS (1980’s)
• Communication medium over which people interact
– Email (1980’s), on-line chat rooms (1990’s)
– Instant messaging, IP Telephony (2000’s)
• A medium for information dissemination
– USENET (1980’s)
– WWW (1990’s)
• Replacing newspaper, magazine
– Audio, video (2000’s): peer-to-peer systems
• Replacing radio, telephony, TV, …
CSci5221:
Introduction
11
Origin of Internet?
Started by U.S. research/military
organizations:
• Three Major Actors:
– DARPA: Defense Advanced Research Projects Agency
• funds technology with military goals
– DoD: U.S. Department of Defense
• early adaptor of Internet technology for production use
– NSF: National Science Foundation
• funds university
CSci5221:
Introduction
12
Brief History of the Internet
• 70’s: started as a research project, 56 kbps, < 100
computers
• 80-83: ARPANET and MILNET split,
• 85-86: NSF builds NSFNET as backbone, links 6
Supercomputer centers, 1.5 Mbps, 10,000 computers
• 87-90: link regional networks, NSI (NASA),
ESNet(DOE), DARTnet, TWBNet (DARPA), 100,000
computers
• 90-92: NSFNET moves to 45 Mbps, 16 mid-level
networks
• 94: NSF backbone dismantled, multiple private
backbones
• Today: backbones run at >10 Gbps, >300 millions
computers in 150 countries
CSci5221:
Introduction
13
Growth of the Internet
• Number of Hosts on
the Internet:
Aug. 1981
213
Oct. 1984
1,024
Dec. 1987
28,174
Oct. 1990
313,000
Oct. 1993
2,056,000
Apr. 1995
5,706,000
Jan. 1997 16,146,000
Jan. 1999 56,218,000
Jan. 2001 109,374,000
Jan. 2003 171,638,297
Jul 2004 285,139,107
Jul 2005 353,284,187
CSci5221:
Introduction
15
Today’s Internet
Internet: “networks of networks” at global scale!
International
lines
NAP
Internic
3G cellular
networks
regional
network
national
network
ISP
company
on-line
services
ISP
university
access via
modem
company
LANs
WiFi
CSci5221:
Introduction
16
Internet
Network
Leveraging Sprint’s SONET-based, gigabit switch
Internet backbone
Private
Peering
Ameritech
Exchange Point
Pacific Bell
Exchange Point
Private
Peering
Private
Peering
Sprint
Exchange Point
MAE-West
Exchange Point
Private
Peering
Private
Peering
MAE-East
Exchange Point
Private
Peering
Private
Peering
CSci5221:
Introduction
Private
Peering
17
Sprint
Network
Seattle
Tacoma
Click here for
a closer look
at the Sprint
network on the
East Coast
Click here for a closer look at the
Sprint network in Washington state
Stockton
Cheyenne
San Jose
Click here for
a closer look
at the Sprint
network in
Northern
California
DS3
OC3
OC12
OC48
Legend
Kansas City
New York
Pennsauken
Relay
Wash. DC
Chicago
Roachdale
Anaheim
Atlanta
Pearl City in Hawaii is
a future network location
Fort Worth
Orlando
CSci5221:
Introduction
18
CSci5221:
Introduction
19
OC1 (45 Mbps), OC2 (155 Mbps), …, OC192 (10 Gbps)
UUNET Global BackBone
CSci5221:
Introduction
20
UUNET North America
Backbone
CSci5221:
Introduction
21
UUNET Europe
CSci5221:
Introduction
22
Fundamental Issues in Networking
Networking is more than connecting nodes!
• Naming/Addressing
– How to find name/address of the party (or parties) you
would like to communicate with
– Address: bit- or byte-string that identifies a node
– Types of addresses
• Unicast: node-specific
• Broadcast: all nodes in the network
• Multicast: some subset of nodes in the network
• Routing/Forwarding:
– process of determining how to send packets
towards the destination based on its address
– Finding out neighbors, building routing tables
CSci5221:
Introduction
23
Other Key Issues in Networking
• Detecting whether there is an error!
• Fixing the error if possible
• Deciding how fast to send, meeting user
demands, and managing network resources
efficiently
• Make sure integrity and authenticity of
messages,
• ……
CSci5221:
Introduction
24
Fundamental Problems in Networking …
What can go wrong?
• Bit-level errors: due to electrical interferences
• Packet-level errors: packet loss due to buffer
overflow/congestion
• Out of order delivery: packets may takes
different paths
• Link/node failures: cable is cut or system crash
• Others: e.g., malicious attacks
CSci5221:
Introduction
25
Fundamental Problems in Networking
What can be done?
• Add redundancy to detect and correct erroneous packets
• Acknowledge received packets and retransmit lost packets
• Assign sequence numbers and reorder packets at the
receiver
• Sense link/node failures and route around failed links/nodes
Goal: to fill the gap between what applications
expect and what underlying technology provides
Key Challenges in Internet:
large, complex, decentralized, ever-evolving,
distributed network of networks!
CSci5221:
Introduction
26
Key Performance Metrics
• Bandwidth (throughput)
– data transmitted per time unit
– link versus end-to-end
• Latency (delay)
– time to send message from point A to point B
– one-way versus round-trip time (RTT)
– components
Latency = Propagation + Transmit + Queue
Propagation = Distance / c
Transmit = Size / Bandwidth
Delay Bandwidth Product: # of bits that can be carried in
transit
• Reliability, availability, …
• Efficiency/overhead of implementation, ……
CSci5221:
Introduction
27
Network Architecture and Structure
• Network components: (edge/core) nodes and links
How do we talk about “structure” of network and its
architecture?
• layered architecture
– structure allows identification, relationship of complex
system’s pieces: layered reference model for discussion
– layer N builds on services provided by layer N-1
– Layer N provides service to layer N+1
• Notions of protocol, service and peer interfaces
• physical topology, interconnection
CSci5221:
Introduction
28
What’s a Protocol?
human protocols:
• “what’s the time?”
• “I have a question”
• introductions
… specific msgs sent
… specific actions taken
when msgs received,
or other events
CSci5221:
Introduction
network protocols:
• machines rather than
humans
• all communication
activity in Internet
governed by protocols
protocols define format,
order of msgs sent and
received among network
entities, and actions
taken on msg
transmission, receipt
29
What’s a Protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
req.
Hi
TCP connection
reply.
Got the
time?
Get http://gaia.cs.umass.edu/index.htm
2:00
<file>
time
CSci5221:
Introduction
30
Protocols and Interfaces
• Protocols: specification/implementation of a
“service” or “functionality”
• Each protocol object has two different
interfaces
– service interface: operations on this protocol
– peer-to-peer interface: messages exchanged with peer
Host 1
Service
interface
High-level
object
Protocol
CSci5221:
Host 2
Peer-to-peer
interface
Introduction
High-level
object
Protocol
31
Internet Protocol Stack
• application: supporting network
applications
– ftp, smtp, http
• transport: host-host data transfer
– tcp, udp
• network: routing of datagrams from
source to destination
– ip, routing protocols
• link: data transfer between
neighboring network elements
– ppp, ethernet
application
transport
network
link
physical
• physical: bits “on the wire”
CSci5221:
Introduction
32
Layering: Logical Communication
E.g.: transport
• take data from app
• add addressing,
reliability check
info to form
“datagram”
• send datagram to
peer
• wait for peer to
ack receipt
• analogy: post
office
CSci5221:
data
application
transport
transport
network
link
physical
application
transport
network
link
physical
Introduction
ack
data
network
link
physical
application
transport
network
link
physical
data
application
transport
transport
network
link
physical
33
Layering: Physical Communication
data
application
transport
network
link
physical
application
transport
network
link
physical
CSci5221:
Introduction
network
link
physical
application
transport
network
link
physical
data
application
transport
network
link
physical
34
Internet Hourglass Architecture
CSci5221:
Introduction
35
Implications of Hourglass
A single Internet layer module:
• Allows all networks to interoperate
– all networks technologies that support IP can exchange
packets
• Allows all applications to function on all
networks
– all applications that can run on IP can use any network
• Simultaneous developments above and
below IP
CSci5221:
Introduction
36
Internet Names and Addresses
• host and domain names
• other “names”: email addresses, URLs, …
• IP addresses: logical, with global reachability
– IPv4: 32 bits, IPv6: 128 bits, “global”
– two-level hierarchy: network part and host part
• CIDR: network prefixes, e.g., 128.101.0.0/24
– Network Address Translation (NAT) complicates global
reachability
• MAC (and other physical-layer) addresses
– used and understood by “native” physical technologies!
According to Shoch (IEEE COMPCON’78)
– name: identifies what you want
– address: identifies where it is
– route: identifies how to get there
CSci5221:
Introduction
37
A Closer Look at Network Structure:
• network edge:
applications and
hosts
• network core:
– routers
– network of networks
• access networks,
physical media:
communication links
CSci5221:
Introduction
38
The Network Edge:
• end systems (hosts):
– run application programs
– e.g., WWW, email
– at “edge of network”
• client/server model
– client host requests, receives
service from server
– e.g., WWW client (browser)/
server; email client/server
• peer-peer model:
– host interaction symmetric
– e.g.: Gnutella, KaZaA
CSci5221:
Introduction
39
Network Edge: Connection-Oriented Service
Goal: data transfer
TCP service [RFC 793]
between end sys.
• reliable, in-order byte• handshaking: setup
stream data transfer
(prepare for) data
– loss: acknowledgements and
transfer ahead of time
retransmissions
– Hello, hello back human
protocol
– set up “state” in two
communicating hosts
• TCP - Transmission
Control Protocol
– Internet’s connectionoriented service
CSci5221:
Introduction
• flow control:
– sender won’t overwhelm
receiver
• congestion control:
– senders “slow down sending
rate” when network congested
40
Network Edge: Connectionless Service
Goal: data transfer
between end systems
– same as before!
• UDP - User Datagram
Protocol [RFC 768]:
Internet’s
connectionless service
– unreliable data transfer
– no flow control
– no congestion control
CSci5221:
Introduction
App’s using TCP:
• HTTP (WWW), FTP
(file transfer), Telnet
(remote login), SMTP
(email)
App’s using UDP:
• streaming media,
teleconferencing,
Internet telephony
41
Access Networks and Physical Media
Q: How to connect end
systems to edge router?
• residential access nets
• institutional access networks
(school, company)
• mobile access networks
Keep in mind:
• bandwidth (bits per second)
of access network?
• shared or dedicated?
CSci5221:
Introduction
42
Example Access Net: Home Network
Typical home network components:
• ADSL or cable modem
• router/firewall
• Ethernet
• wireless access
point
to/from
cable router/
cable
modem firewall
headend
Ethernet
(switched)
CSci5221:
Introduction
wireless
laptops
wireless
access
point
43
The Network Core
• mesh of interconnected
routers
• the fundamental
question: how is data
transferred through net?
– circuit switching:
dedicated circuit per call:
telephone net
– packet-switching: data
sent thru net in discrete
“chunks”
CSci5221:
Introduction
44
Network Core: Routing
Goal: move data among routers from source to dest.
datagram packet network:
– destination address determines next
hop
– routes may change during session
– analogy: driving, asking directions
– No notion of call state
virtual circuit network:
– packet carries tag, tag determines
next hop
– fixed path (for call) determined at
circuit-switched network:
– call allocated time slots of
bandwidth at each link
– fixed path (for call)
determined at call setup
– switches maintain lots of
per call state (what?):
resource allocation
call setup time
– routers maintain little per-call state;
resources not allocated
CSci5221:
Introduction
45
Internet Structure: Network of Networks
• roughly hierarchical
• at center: “tier-1” ISPs (e.g., UUNet, BBN/Genuity,
Sprint, AT&T), national/international coverage
– treat each other as equals
Tier-1
providers
interconnect
(peer)
privately
CSci5221:
Tier 1 ISP
Tier 1 ISP
Introduction
NAP
Tier-1 providers
also interconnect
at (public/private)
Internet exchange
points, or private
peering links
Tier 1 ISP
46
Internet Structure: Network of Networks
• “Tier-2” ISPs: smaller (often regional) ISPs
– Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier-2 ISP pays
tier-1 ISP for
connectivity to
rest of Internet
 tier-2 ISP is
customer of
tier-1 provider
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
CSci5221:
Tier-2 ISP
Introduction
IXP
Tier 1 ISP
Tier-2 ISPs
also peer
privately with
each other,
interconnect
at IXPs
Tier-2 ISP
Tier-2 ISP
47
Internet Structure: Network of Networks
• “Tier-3” ISPs and local ISPs
– last hop (“access”) network (closest to end systems)
local
ISP Tier 3
ISP
Tier-2 ISP
local
ISP
local
local
ISP
ISP
Tier-2 ISP
Local and
tier- 3 ISPs
Tier 1 ISP
are
customers of
NAP
higher tier
ISPs
Tier 1 ISP
connecting
Tier 1 ISP
them to rest
Tier-2 ISP
Tier-2 ISP
of Internet
local
local
local
ISP
ISP
ISP
CSci5221:
Introduction
Tier-2 ISP
local
ISP
48
Internet Structure: Network of Networks
• a packet passes through many networks!
local
ISP Tier 3
ISP
Tier-2 ISP
local
local
ISP
ISP
Tier-2 ISP
Tier 1 ISP
Try a
traceroute!
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
CSci5221:
local
ISP
Introduction
host/network edge:
IP addresses, port no’s
network core:
intra-domain vs.
inter-domain routing
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
49
Who Runs the Internet
“nobody” really!
• standards: Internet Engineering Task Force (IETF)
• names/numbers: The Internet Corporation for
Assigned Names and Numbers (ICANN)
• operational coordination: IEPG(Internet Engineering
Planning Group)
• networks: ISPs (Internet Service Providers), NAPs
(Network Access Points), ……
• fibers: telephone companies (mostly)
• content: companies, universities, governments,
individuals, …;
CSci5221:
Introduction
50
Internet “Governing” Bodies
• Internet Society (ISOC): membership organization
– raise funds for IAB, IETF& IESG, elect IAB
• Internet Engineering Task Force (IETF):
– a body of several thousands or more volunteers
– organized in working groups (WGs)
– meet three times a year + email
• Internet Architecture Board
– architectural oversight, elected by ISOC
• Steering Group (IESG): approves standards,
– Internet standards, subset of RFC
• RFC: “Request For Comments”, since 1969
– most are not standards, also
• experimental, informational and historic(al)
CSci5221:
Introduction
51
Internet Names and Addresses
• Internet Assigned Number Authority (IANA):
– keep track of numbers, delegates Internet address assignment
– designates authority for each top-level domain
• InterNIC, gTLD-MOU, CORE:
– hand out names
– provide “root DNS service”
• RIPE, ARIN, APNIC:
– hand out blocks of addresses
Many responsibilities (e.g., those of IANA) are now taken
over by the Internet Corporation for Assigned Names
and Numbers (ICANN)
CSci5221:
Introduction
52
Internet Standardization Process
• All standards of the Internet are published as
RFC
• But not all RFCs are Internet Standards
• A typical (but not only) way of standardization is:
–
–
–
–
–
•
Internet Drafts
RFC
Proposed Standard
Draft Standard (requires 2 working implementation)
Internet Standard (declared by IAB)
David Clark, MIT 1992: “We reject: kings,
presidents, and voting. We believe in: rough
consensus and running code.”
CSci5221:
Introduction
53