Download Internetworking I - Carnegie Mellon School of Computer Science

Document related concepts

Airborne Networking wikipedia , lookup

Network tap wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Net neutrality wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Peering wikipedia , lookup

Deep packet inspection wikipedia , lookup

Net neutrality law wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Net bias wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Transcript
20-755: The Internet
Lecture 4: Internetworking I
David O’Hallaron
School of Computer Science and
Department of Electrical and Computer Engineering
Carnegie Mellon University
Institute for eCommerce, Summer 1999
Lecture 4, 20-755: The Internet, Summer 1999
1
Today’s lecture
•
•
•
Connecting computers (50 min)
Break (10 min)
Connecting networks (50 min)
Lecture 4, 20-755: The Internet, Summer 1999
2
Typical computer system
Keyboard
Processor
Interrupt
controller
Mouse
Keyboard
controller
Modem
Serial port
controller
Printer
Parallel port
controller
Local/IO Bus
Memory
IDE disk
controller
SCSI
controller
Video
adapter
Network
adapter
Display
Network
SCSI bus
disk
disk
Lecture 4, 20-755: The Internet, Summer 1999
cdrom
3
Simple example
Starting Point: Want to send bits between 2 computers
•
•
•
•
FIFO (First-in First-out) queue (buffer) on each end
Can send both ways (“full duplex”)
Name for standard group of bits sent: “packet”
Packet format and rules for communicating them (“protocol”)
Simple request/response protocol and packet format:
header
payload
0/1
data/address
0: please send the data word at “address”
1: here is the data word you asked for.
Lecture 4, 20-755: The Internet, Summer 1999
4
Questions about simple example
•
What if more than 2 computers want to communicate?
– Need an interconnect? Need computer address field in packet?
•
What if the machines are far away?
– WAN vs LAN
•
How do multiple machines share the interconnect?
– multiple paths? arbitration? congestion control?
•
What if a packet is garbled in transit?
– Add error detection field in packet?
•
What if a packet is lost?
– More elaborate protocols to detect loss?
•
What if multiple processes per machine?
– one queue per process? separate field in packet to identify process?
•
Warning: You are entering a buzzword-rich
environment!!!
Lecture 4, 20-755: The Internet, Summer 1999
5
Generic network
host
host
host
OS code
protocol
stack
network adapter/
interface card
software
software
software
hardware
hardware
hardware
link
link
link
Interconnect (wires, repeaters, bridges, etc)
Lecture 4, 20-755: The Internet, Summer 1999
6
Protocols
•
•
A protocol defines the format of packets and the rules
for communicating them across the network.
Different protocols provide different levels of service:
–
–
–
–
–
•
simple error correction (ethernet)
uniform name space, unreliable best-effort datagrams (host-host) (IP)
reliable byte streams (TCP)
unreliable best-effort datagrams (process-process) (UDP)
multimedia data retrieval (HTTP)
Crucial idea: protocols leverage off of the capabilities
of other protocols.
Lecture 4, 20-755: The Internet, Summer 1999
7
Protocol layering
interface between user
code and OS code
(Application program
interface (API))
Protocols provide specialized services by
relying on services provided by lowerlevel protocols (I.e., they leverage lowerlevel services).
User application program (FTP, Telnet, WWW, email)
Unreliable
best effort
datagram
delivery
(processprocess)
Unreliable
best effort
datagram
delivery
(host-host)
User datagram protocol
(UDP)
Transmission control
protocol (TCP)
Internet Protocol (IP)
Reliable
byte stream
delivery
(processprocess)
Network interface (ethernet)
Lecture 4, 20-755: The Internet, Summer 1999
hardware
Physical
connection
8
Encapsulation
Application program
User code
data
User Interface (API)
OS code
TCP segment
header
data
IP datagram TCP segment
header
header
data
Ethernet frame IP datagram TCP segment
header
header
header
data
IP
TCP
OS/adapter interface
(exception mechanism)
Adapter
Adapter/Network interface
Network
Lecture 4, 20-755: The Internet, Summer 1999
9
Basic network types
•
System area net (SAN)
•
– same room (meters)
– 300 MB/s Cray T3E
•
Local area network (LAN)
– same bldg or campus
(kilometers)
– 10 Mb/sEthernet
– 100 Mb/s Fast Ethernet
– 100 Mb/s FDDI
– 150 Mb/s OC-3 ATM
– 622 Mb/s OC-12 ATM
Lecture 4, 20-755: The Internet, Summer 1999
Metropolitan area
network (MAN)
– same city (10’s of kilometers)
– 800 Mb/s Gigabit Nectar
•
Wide area network (WAN)
– nationwide or worldwide
(1000’s of kilometers)
– telephone system
» AT&T, MCI, Sprint
– 1.544 Mb/s T1 carrier
– 44.736 Mb/s T3 carrier
10
Examples of transmission media
twisted pair:
(1-2 Mb/s at 1 km)
fiber:
(100-200 Gb/s at 1 km)
2 insulated copper wires
light source
silica
coaxial cable:
(1-2 Gb/s at 1 km)
plastic cover
station wagon full of mag tapes
hurtling down the highway every
hour:
(15 Gb/s at 1 hour)
insulator
stiff copper wire
braided outer conductor
7 GBytes/tape
1000 tapes/station wagon (50x50x50cm)
7,000 GBytes total
7,000 GBytes/3600 seconds = 15 Gb/s
$5/tape reused 10 times -> $500 tape cost
$200 for shipping ->10 cents /GByte
Lecture 4, 20-755: The Internet, Summer 1999
11
Shared vs switched media
Shared media (e.g., Ethernet)
a
b
c
d
a
b
c
d
a
b
c
d
a
b
c
d
Lecture 4, 20-755: The Internet, Summer 1999
Switched media (e.g., ATM)
a
c
input ports
output ports
b
switch
a
b
d
c
switch
d
12
Network performance measures
•
Link bandwidth
– throughput measure
expressed as rate
» MB/s = 220 bytes/sec
» Mb/s = 106 bits/sec
– transfer rate across link
•
Bisection bandwidth
– smallest achievable
throughput if network is
cut in half
•
Latency
– elapsed time (s, ms, etc)
– time to cross network
•
Overhead
– another latency measure
– time to snd/rcv first byte.
Lecture 4, 20-755: The Internet, Summer 1999
13
Example performance measures
Interconnect
Example
Bisection BW
Link BW
Latency
HW Overhead to/from
SW Overhead to/from
SAN
CM-5
N x 5MB/s
20 MB/s
5 µsec
0.5/0.5 µs
1.6/12.4 µs
LAN
WAN
Ethernet
ATM
1.125 MB/s
N x 10 MB/s
1.125 MB/s
10 MB/s
15 µsec
50 to 10,000 µs
6/6 µs
6/6 µs
200/241 µs
207/360 µs
(TCP/IP on LAN/WAN)
N = number of hosts
Lecture 4, 20-755: The Internet, Summer 1999
14
AT&T Telephone Hierarchy
2
3
4
5
1
10 regional offices
(fully interconnected)
10
6
7
8
9
1
2
3
65
66
67
67 sectional offices
1
2
3
228
229
230
230 primary offices
1
2
3
1298
1299
1300
1,300 toll offices
19,000 end offices
local loops
local loops
200 million telephones
Lecture 4, 20-755: The Internet, Summer 1999
Source: Tannenbaum
15
Connecting distant
computers with modems
28.8 Kb/s
analog
local loop
V.34 modem
digital
(short cable
or bus)
33 MB/s
1.544 Mb/s (T1 carrier)
digital
codec
local
office
home
computer
Lecture 4, 20-755: The Internet, Summer 1999
28.8 Kb/s
analog
local loop
digital
codec
toll
office
local
office
V.34 modem
digital
(short cable
or bus)
33 MB/s
ISP
computer
16
Modulating digital signals
0
1
0
1
1
0
0
1
0
0
1
0
binary signaling
sine wave carrier (1kHz-2kHz)
amplitude
modulation
phase
modulation
00 : no shift
01: 1/4 shift left
10: 1/2 shift left
11: 3/4 shift left
(shifts are relative
to previous wave)
Lecture 4, 20-755: The Internet, Summer 1999
17
Quadrature amplitude modulation (QAM)
Modern modems use a combination of of amplitude and phase modulation to
encode multiple bits per “symbol”, i.e. amplitude/phase pair.
phase angle
is 1/4
1/8
3 bits/symbol QAM modulation
(8 symbols)
Lecture 4, 20-755: The Internet, Summer 1999
4 bits/symbol QAM modulation
(16 symbols)
18
Conventional Modems
MOdulate: convert from digital to analog
DEModulate: convert from analog to digital
modem standards:
type
symbols/sec
bits/symbol
Kb/s
v.32
v.32.bis
v.34
2400
2400
3200
4
6
9
9.6
14.4
28.8
Theoretical limit for modulated signals is approx 35 Kb/s:
Shannon's law: max bits/s = H log2(1 + S/N), where H is
bandwidth
and S/N is signal to noise ratio. For phone network, H~3,600 bps
and 10 log10 (S/N) = 30 dB. Thus max rate is ~35 Kb/s.
Lecture 4, 20-755: The Internet, Summer 1999
19
T1 carrier (1.544 Mb/s)
Digital part of phone system based on the T1 carrier:
193 bit frame (125 us, 8000 samples/s, 8 bits/sample/channel)
channel 1
channel 2
channel 3
channel 24
8 data bits
per channel
bit 1 is a
framing code
Each channel has a data rate
of 8000 samples/s * 8 bits/channel = 64 Kb/s
Lecture 4, 20-755: The Internet, Summer 1999
20
56KB “Modems”
V.90 modem
receiver
1.544 Mb/s (T1 carrier)
Analog Samples:
92 or 128 levels
8000 samples/second
ADC
digital
DAC
Binary Signal:
56,000 bits/second
home computer
Key: no analog
conversion at ISP
local
office
digital
Interface
digital
(short cable
or bus)
toll
office
Service Provider
(ISP)
– Asymmetric: home to SP uses conventional v.34 modem
– SP has digital connection into phone system
» Channel sending 8000 samples / second, up to 8-bits/sample
– DAC encodes each sample with 92 or 128 voltage levels
» Not enough precision on analog side to handle finer resolution
– Receiver converts samples back to digital values
» Must match frequency & phase of senders DAC
» Establish using “training” signals from sender
Lecture 4, 20-755: The Internet, Summer 1999
21
Connecting nearby computers
using Ethernet
•
History
– 1976- proposed by Metcalfe and Boggs at Xerox PARC
– 1978 - standardized by Xerox, Intel, DEC
•
Bandwidth
– 10 Mbits/sec (old) , 100 Mbits/sec (current), 1GB/s (new)
•
Key features
– broadcast over shared bus (the ether)
» no centralized bus arbiter
» each adapter sees the same bit stream
– each adapter has a unique (for all time!) 48-bit address
– variable length frames (packets) (64 - 1518 bytes)
Lecture 4, 20-755: The Internet, Summer 1999
22
Ethernet cabling
transceiver &
controller
controller
50 m
transceiver &
controller
transceiver
(carrier and
collision
detection)
hub
10Base5
(“thick ethernet”)
10Base2
(“thin ethernet”)
10Base-T
name
cable
max segment
nodes/segment advantages
10Base5
10base2
10Base-T
10Base-F
thick coax
thin coax
twisted pair
fiber
500 m
200 m
100 m
2000 m
100
30
1024
1024
Lecture 4, 20-755: The Internet, Summer 1999
good for backbones
cheapest
easy maintenance
best between bldgs
Source: Tannenbaum
23
Ethernet packet (frame) format
64 - 1518 bytes
Preamble
Dest
addr
Src
addr
Frame
type
64 bits
48 bits
48 bits
16 bits
Payload
368-12000 bits
CRC
Postamble
32 bits
8 bits
visible from the host
Preamble: 101010101 (synch)
Dest and Src addr: unique ethernet addresses
Frame type: indicates what packet type it encapsulates
E.g. encapsulated IP packets are denoted by 0x0800
Payload: data (may include encapsulated packets of other protocols)
CRC: cyclic redundancy check (error detection/correction)
Lecture 4, 20-755: The Internet, Summer 1999
24
Ethernet receiving algorithm
•
•
Ethernet adapter receives all frames.
Accepts:
– frames addressed to its own address
– frames addressed to broadcast address (all 1’s).
– frames addressed to multicast address (1xxx...), if it has
been instructed to listen to that address
– all frames, if it has placed in promiscuous mode
•
Passes to the host OS (via the exception
mechanism) only those packets it accepts.
Lecture 4, 20-755: The Internet, Summer 1999
25
Ethernet sending algorithm (CSMA/CD)
•
•
•
Problem: how to share one wire without centralized
control.
Ethernet solution: Carrier Sense Multiple Access with
Collision Detection (CSMA/CD):
1. Adapter has frame to send and line is idle:
– then send frame immediately
•
2. When adapter has frame to send and line is busy:
– wait for line to become idle, then send frame immediately.
•
3. If “collision” (simultaneous sends) occurs during
transmission:
–
–
–
–
send at least 1024 bits
send “jam signal” to notify receivers
wait some period of time (binary exponential backoff)
retry
Lecture 4, 20-755: The Internet, Summer 1999
26
Binary exponential backoff
Contention Slots (51.2 us per slot)
Frame
Frame
Contention interval
Frame
Frame
Idle
Binary exponential backoff algorithm:
• after 1st collision, wait 0 or 1 contention slots, at
random.
• after 2nd collision, wait 0, 1, 2, or 3 contentio slots at
random.
• etc up to 1023 slots.
• after 16 collisions, exception.
Lecture 4, 20-755: The Internet, Summer 1999
27
Why the 64 byte minimum packet size?
Assume propagation delay from A to B is tau microseconds (us).
A sends to B at time 0
A
B
packet almost at B at
time tau-eps
A
B
For ethernet, 2*tau is specified by standard
(2500 m cable w/ 4 repeaters) to be 51.2 us,
which at 10 Mb/s is 512 bit times, or 64 bytes.
Rough estimate: propagation through copper
is about 20 cm/ns. With a 2500 m cable,
tau is 12.5 us and 2*tau is 25 us.
B sends at time tau: collision
A
Conclusion: Senders must take more
than 2*tau seconds to send their packets.
B
As speeds increase there are two possibilities:
1. increase packet sizes
2. decrease maximum cable length
A
Noise burst gets back to A at
time 2*tau
Lecture 4, 20-755: The Internet, Summer 1999
B
Neither is particularly appealing.
28
Ethernet pros and cons
•
Pros:
– simple
– robust
– cheap ($50/adapter in 1998)
•
Cons:
– no quality of service guarantees
» OK for data
» not always OK for real-time bit streams like video or
voice
– fixed bit rate
» not keeping up with faster processors
» workstations can produce data at 10-50 MBytes/sec
– prone to congestion
» processors getting faster
» bridged Ethernets can help
Lecture 4, 20-755: The Internet, Summer 1999
29
Break time!
Lecture 4, 20-755: The Internet, Summer 1999
30
Today’s lecture
•
•
•
Connecting computers (50 min)
Break (10 min)
Connecting networks (50 min)
Lecture 4, 20-755: The Internet, Summer 1999
31
The internetworking idea
(Kahn, 1972)
•
Build a single network (an interconnected set of
networks, or internetwork, or internet) out of a large
collection of separate networks.
– Each network must stand on its own, with no internal changes
allowed to connect to the internet.
– Communications would be on a best-effort basis.
– “black boxes” (later called routers) should be used to connect the
networks.
– No global control at the operations level.
Lecture 4, 20-755: The Internet, Summer 1999
32
Internetworking challenges
•
Challenges:
– heterogeneity
» lots of different kinds of networks (Ethernet, FDDI,
ATM, wireless, point-to-point)
» how to unify this hodgepodge?
– scale
» how to provide uniques names for potentially billions
of nodes? (naming)
» how to find all these nodes? (forwarding and routing)
•
Note: internet refers to a general idea, Internet
refers to a particular implementation of that
idea (The global IP Internet).
Lecture 4, 20-755: The Internet, Summer 1999
33
Internetworking with repeaters
r
Repeaters (also called hubs)
(r in the figure) directly transfer
bits from their inputs to their
outputs
r
r
r
Lecture 4, 20-755: The Internet, Summer 1999
34
Internetworking with repeaters
Telnet, FTP,
HTTP, email
10Base-T
application
application
transport
transport
network
network
data link
data link
physical
physical
Host on
network A
Repeater
(forwards bits)
Lecture 4, 20-755: The Internet, Summer 1999
Host on
network B
35
Internetworking with repeaters:
Pros and cons
•
Pros
– Transparency
» LANS can be connected without any awareness from
the hosts.
– Useful for serving multiple machines in an office from
one ethernet outlet.
•
Cons
– Not scalable
» ethernet standard allows only 4 repeaters.
» more than 4 would introduce delays that would break
contention detection.
– No heterogeneity
» Networks connected with repeaters must have
identical electrical properties.
Lecture 4, 20-755: The Internet, Summer 1999
36
Internetworking with bridges
b
Bridges (b In the figure)
maintain a cache of hosts on
their input segments.
b
Selectively transfer
ethernet frames from their
inputs to their outputs.
b
b
Lecture 4, 20-755: The Internet, Summer 1999
37
Internetworking with bridges
Telnet, FTP,
HTTP, email
application
application
transport
transport
network
network
CSMA/CD
data link
data link
10Base-T
physical
physical
Host on
network A
Bridge
(forwards ethernet
frames)
Lecture 4, 20-755: The Internet, Summer 1999
Host on
network B
38
Bridges
adapter (interface)
A
B
Ethernet A
C
port 1 (really just another adapter)
bridge
port 2
Unlike repeaters (which operate
at the physical level), bridges
operate at the data link level
(or link level).
X
Ethernet X
Y
Z
By link level, we mean that they
can parse and understand e.g. ethernet frames (as opposed to IP packets).
Basic forwarding algorithm (flooding): copy each received frame to all
other ports.
Lecture 4, 20-755: The Internet, Summer 1999
39
Learning bridges
Problem: Flooding is wasteful
A
B
Ethernet A
C
port 1
bridge
port 2
X
Ethernet X
Y
Z
Optimization: Forward packets only when necessary by learning and
remembering which hosts are connected to which bridge ports.
Lecture 4, 20-755: The Internet, Summer 1999
40
Learning bridges
(cont)
Learning algorithm:
1. start with empty hash table T that maps hosts to ports
2. receive frame from host src on port p
3. add (src,p) to T
4. delete old entries
Forwarding algorithm:
1. receive frame f from host src to host dst on port p
2. if T(dst) = n/a then flood f.
else if T(dst) = p then discard f
else forward f on port T(dst).
Lecture 4, 20-755: The Internet, Summer 1999
41
Learning bridges (example)
A
B
C
P
1
Ethernet A
Q
R
3
Ethernet P
bridge
2
Ethernet X
X
B -> A
A -> C
host
A
port
1
flood 2 & 3
Y
host
A
B
port
1
1
discard
Z
X -> A
host
A
B
X
port
1
1
2
forward on 1
Lecture 4, 20-755: The Internet, Summer 1999
42
Cycles in bridged networks
1. host writes frame F
to unknown destination
2. B1 and B2 flood
3. B2 reads F1,
B1 reads F2
F
B1
B2
B1
F1
4. B1 and B2 flood
F2
F1
B1
B2
B1
B2
B2
F2
F2
5. B1 reads F1
B2 reads F2
F1
F1
6. B1 and B2 flood
F2
B1
B2
B1
F1
Lecture 4, 20-755: The Internet, Summer 1999
B2
F2
43
Spanning tree bridges
A
B
A
B
G
B3
C
B4
G
B5
B3
D
C
B2
B5
D
B2
F
E
B4
F
E
B1
B1
• Networks are graph nodes, ports are graph edges
• Tree is constructed dynamically by a distributed “diffusing computation”
that prunes ports.
• “spanning” refers only to networks, not bridges
Lecture 4, 20-755: The Internet, Summer 1999
44
Portion of the bridged CMU internet
gw.cs
interlink.sw.net
baker
rtrbone.net
backbone-1.net.cs
es-weh-cle-4.net.cs
(PDL/CMCL Labs)
porter
7th floorWean
cyert host
cmu-fddi.psc.net
es-weh-cl6-2.net.cs
8th floor Wean
ATM
poconos.cmcl
PSC
pitt.edu
AT&T
Sprint
Lecture 4, 20-755: The Internet, Summer 1999
45
Internetworking with bridges:
Pros
and
cons
• Pros
– Transparency
» LANS can be connected without any awareness from the hosts
» popular solution for campus-size networks
•
Cons
– Transparency can be misleading
» looks like a single Ethernet segment, but really isn’t
» packets can be dropped, latencies vary
– Homogeneity
» can only support networks with identical frame headers (e.g.,
Ethernet/FDDI)
» however, can connect different speed Ethernets
– Scalability
» tens of networks only
– bridges forward all broadcast frames
– increased latency
Lecture 4, 20-755: The Internet, Summer 1999
46
Internetworking with
application gateways
•
Network A
g
x
– User on host x posts
news item to gateway
machine on network A.
– Gateway on A passes item
(along with others) to
gateway B.
– User on host y reads
message from gateway on
B.
phone
system
Network B
g
•
application gateways (g
in the figure) connect
different networks for
particular applications.
Example:
y
Lecture 4, 20-755: The Internet, Summer 1999
47
Internetworking with
application gateways
Gateway program
usenet news
application
application
transport
network
modem
data link
data link
phone
physical
physical
Application gateway
on network A
Application gateway
on network B
Lecture 4, 20-755: The Internet, Summer 1999
host on network B
48
Internetworking with
application gateways:
Pros and cons
•
Pros
– Heterogeneous
» can connect different types of networks
– Simple
» modems + gateway software
•
Cons
– Not general-purpose
» each solution is application-specific
Lecture 4, 20-755: The Internet, Summer 1999
49
Internetworking with routers
•
Def: An internetwork (internet for short) is an
arbitrary collection of physical networks
interconnected by routers to provide some
sort of host-to-host packet delivery service.
host
host
internet
host
Lecture 4, 20-755: The Internet, Summer 1999
host
50
Building an internet
We start with two separate, unconnected computer networks (subnets),
which are at different locations, and possibly built by different vendors.
A
B
C
X
Y
Z
adaptor
adaptor
adaptor
adaptor
adaptor
adaptor
network 1 (SCS)
Ethernet
network 2 (ECE)
ATM
Question: How to present the illusion of one network?
Lecture 4, 20-755: The Internet, Summer 1999
51
Building an internet (cont)
Next we physically connect one of the computers, called a router
(in this case computer C), to each of the networks.
A
B
adaptor
adaptor
C (router)
adaptor
network 1 (SCS)
Lecture 4, 20-755: The Internet, Summer 1999
adaptor
X
Y
Z
adaptor
adaptor
adaptor
network 2 (ECE)
52
Building an internet (cont)
Finally, we run a software implementation of the Internet Protocol (IP)
on each host and router. IP provides a global name space for the hosts,
routing messages between network1 and network 2 if necessary.
IP addresses:
128.2.250.1
128.2.250.2
A
B
adaptor
adaptor
network 1 (SCS)
Lecture 4, 20-755: The Internet, Summer 1999
128.2.250.0
128.2.80.0
C (router)
adaptor
adaptor
128.2.80.1
128.2.80.2
128.2.80.3
X
Y
Z
adaptor
adaptor
adaptor
network 2 (ECE)
53
Building an internet (cont)
At this point we have an internet consisting of 6 computers built from
2 original networks. Each computer on our internet can communicate
with any other computer. IP provides the illusion that there is just
one network.
128.2.80.1
128.2.250.1
128.2.250.2
internet
128.2.80.2
128.2.80.3
128.2.250.0
128.2.80.3
Lecture 4, 20-755: The Internet, Summer 1999
54