P561: Network Systems
description
Transcript of P561: Network Systems
![Page 1: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/1.jpg)
P561: Network Systems
Tom Anderson Ratul Mahajan
TA: Colin Dixon
![Page 2: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/2.jpg)
2
“A good network is one that I never have to think about” – Greg Minshall
True some of the time…
![Page 3: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/3.jpg)
3
Course GoalsTechnology Survey
− How things work− How they are likely to work in the future
Design and implementation of network protocols
Research state of the art
![Page 4: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/4.jpg)
4
Project: FishnetBuild an ad hoc wireless network in stages:
− Step 1: basic communication− Step 2: routing− Step 3: transport and congestion control− Step 4: applications
Three modes:− Simulation (all nodes in one process)− Emulation (each node in its own process;
interoperability)− Physical (on a PDA or cell phone)
Details on the web site; due dates week 3, 5, 7, 10
![Page 5: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/5.jpg)
5
BlogsBy 5pm before each class, add a unique new
comment on one of the questions posted to the web site
Example Q: Instead of PPR, why not use smaller packets?
Example blog: ?
Before class, read the other comments
![Page 6: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/6.jpg)
6
Reading < Class
Example: Internet has a TTL (time to live) field in each packet− Decremented on each hop− When it gets to zero, router drops packet and
sends an error packet back to the source− Essential to correct operation of the Internet,
and to its diagnosis
![Page 7: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/7.jpg)
7
Pop Quiz #1How could you use this to determine link
latency?
![Page 8: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/8.jpg)
8
Pop Quiz #2How could you use this to determine link
bandwidth?
![Page 9: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/9.jpg)
9
Pop Quiz #3How else could you determine link
bandwidth?
![Page 10: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/10.jpg)
10
A Systems Approach to Networks
Most interesting applications of computers require:− Fault tolerance− Coordination of concurrent activities− Geographically separated but linked data− Vast quantities of stored information− Protection from mistakes and intentional
attacks− Interactions with many people− Evolution over time
Networks are no different!
![Page 11: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/11.jpg)
11
Network Systems: Design Patterns
Scale by connecting smaller pieces together− With no central state
Reliability out of unreliability− In any system with a billion components, many
will be broken at any point in time− And some will fail in bizarre ways
Interoperability− No single vendor + quasi-formal specs =>
often unpredictable behavior− Layering to manage complexity− Once standardized, hard to impossible to fix
![Page 12: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/12.jpg)
12
An AnecdoteBGP: protocol to exchange routes between
ISPs− Two primary vendors: Cisco and Juniper− Monoculture within a given ISP− Stateful: only send updates; 100K routes
exchanged
When you get a receive an invalid route, what do you do?− And what do you think happened in practice?
![Page 13: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/13.jpg)
Another Anecdote
In 1997 and 2001, a small mis-configuration at one ISP disrupted Internet connectivity on a global scale− Nothing prevented one ISP from announcing
that it can deliver packets for any Internet prefix
Internet is still vulnerable to this same problem− Over half of all new Internet route
announcements are misconfigurations!− Until recently, Cisco’s Internet prefix was
hijacked on a regular basis
![Page 14: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/14.jpg)
14
Internet Design PatternsBe liberal in what you accept, conservative
in what you send
Spread bad news quickly, good news slowly
Use only soft state inside the network
Avoid putting functionality into the network unless absolutely necessary
![Page 15: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/15.jpg)
15
Internet Design Patterns in Practice
Be liberal in what you accept, conservative in what you send− Security suggests the opposite
Spread bad news quickly, good news slowly− Inconsistent state is a barrier to improving
availabilityUse only soft state inside the network
− NATs, firewalls, etc.Avoid putting functionality into the network unless
absolutely necessary• Ubiquitous middleboxes
![Page 16: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/16.jpg)
16
A Brief Tour of the InternetWhat happens when you “click” on a web
link?
This is the view from 10,000 ft …
You at home(client) www.msn.com
(server)
Internetrequest
response
![Page 17: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/17.jpg)
17
9,000 ft: ScalabilityCaching improves scalability
We cut down on transfers:− Check cache (local or proxy) for a copy− Check with server for a new version
Cache
“Changed?”
“Here it is.”
“Have it?”“No”
www.msn.com
![Page 18: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/18.jpg)
18
8,000 ft: Naming (DNS)Map domain names to IP network addresses
All messages are sent using IP addresses− So we have to translate names to addresses
first− But we cache translations to avoid next time
“What’s the IP address for www.msn.com?”
“It’s 207.68.173.231”
128.95.2.106
Nameserver
128.95.2.1
![Page 19: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/19.jpg)
19
7,000 ft: Sessions (HTTP)A single web page can be multiple “objects”
Fetch each “object”− either sequentially or in parallel
GET index.html
GET ad.gif
GET logo.gif
www.msn.com
![Page 20: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/20.jpg)
20
6,000 ft: Reliability (TCP)Messages can get lost
We acknowledge successful receipt and detect and retransmit lost messages (e.g., timeouts); checksums to detect corruption
(lost)retransmission
acknowledgment
![Page 21: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/21.jpg)
21
5,000 ft: Congestion (TCP)Need to allocate bandwidth between users
Senders balance available and required bandwidths by probing network path and observing the response
How fast canI send?
![Page 22: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/22.jpg)
22
4,000 ft: Packets (TCP/IP) Long messages are broken into packets
− Maximum Ethernet packet is 1.5 Kbytes− Typical web object is 10s of Kbytes
Number the segments for reassembly
1. GET2. inde3. x.ht4. ml
GET index.html
![Page 23: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/23.jpg)
23
3,000 ft: Routing (IP)Packets are directed through many routers
R
R
R
RRHH
H
H
H
R
RH
R
H: HostsR: Routers
![Page 24: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/24.jpg)
24
2,000 ft: Multi-access (e.g., Cable)
May need to share links with other senders
Poll headend to receive a timeslot to send upstream− Headend controls all downstream
transmissions− A lower level of addressing is used …
Headend
![Page 25: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/25.jpg)
Different kinds of addressesDomain name (e.g. www.msn.com)
− Global, human readableIP Address (e.g. 207.200.73.8)
− Global, works across all networks Ethernet (e.g. 08-00-2b-18-bc-65)
− Local, works on a particular networkPacket often has all three!
a
IP Hdr HTTP PayloadTCP Hdr HTTP HdrEthernet Hdr
Start of packet End of packet
![Page 26: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/26.jpg)
26
1,000 ft: Framing/Modulation
Protect, delimit and modulate payload as a signal
For cable, take payload, add error protection (Reed-Solomon), header and framing, then turn into a signal− Modulate data to assigned channel and time
(upstream)
Sync / Unique Payload w/ error correcting codeHeader
![Page 27: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/27.jpg)
27
Protocols and Layering
We need abstractions to handle complexity and interfaces to enable interoperability. Protocols are the modularity of networks.
A protocol is an agreement dictating the form and function of data exchanged between parties to effect communication
− Examples: ADSL, ISDN, DS-3, SONET, Frame Relay, PPP, BISYNC, HDLC, SLIP, Ethernet, 10Base-T, 100Base-T, CRC, 802.5, FDDI, 802.11a/b/g/n, ATM, AAL5, X.25, IPv4, IPv6, TTL, DHCP, ICMP, OSPF, RIP, IS-IS, BGP, S-BGP, CIDR, TCP, SACK, UDP, RDP, DNS, RED, DECbit, SunRPC, DCE, XDR, JPEG, MPEG, MP3, BOOTP, ARP, RARP, IGMP, CBT, MOSPF, DVMRP, PIM, RTP, RTCP, RSVP, COPS, DiffServ, IntServ, DES, PGP, Kerberos, MD5, IPsec, SSL, SSH, telnet, HTTP, HTTPS, HTML, FTP, TFTP, UUCP, X.400, SMTP, POP, MIME, NFS, AFS, SNMP, …
![Page 28: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/28.jpg)
28
Layering and Protocol Stacks
Layering is how we combine protocols− Higher level protocols build on services
provided by lower levels− Peer layers communicate with each other
Layer N+1e.g., HTTP
Layer Ne.g., TCP
Home PC www.msn.com
![Page 29: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/29.jpg)
29
Example – Layering at work
We can connect different systems: interoperability
TCP
IP
Ethernet
TCP
IP
CATV
IP IP
Ethernet CATV
host host
router
![Page 30: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/30.jpg)
djw // CSEP561, Spring 2005 30
Layering MechanicsEncapsulation and decapsulation
Hdr
Hdr Data
Data+
+
Layer N+1 PDU
becomes
Layer N ADU
Messagespassed
betweenlayers
![Page 31: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/31.jpg)
31
A Packet on the WireStarts looking like an onion!
This isn’t entirely accurate− ignores segmentation and reassembly,
Ethernet trailers, etc.But you can see that layering adds overhead
IP Hdr Payload (Web object)TCP HdrHTTP HdrEthernet Hdr
Start of packet End of packet
![Page 32: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/32.jpg)
32
More Layering MechanicsMultiplexing and demultiplexing in a
protocol graph
UDPTCP
ARPIP
Ethernet
SMTP HTTP
802.2 identifier
IP protocol field
TCP port number
![Page 33: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/33.jpg)
33
Internet Protocol Framework
Application
Transport
Network
Link
Many(HTTP,SMTP
)
TCP / UDP
IP
Many(Ethernet,
…)Model Protocols
![Page 34: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/34.jpg)
34
OSI “Seven Layer” Reference Model
Seven Layers:Their functions:Your callEncode/decode messagesManage connectionsReliability, congestion controlRouting
Framing, multiple accessSymbol coding, modulation
Application
Presentation
Session
Transport
Network
Link
Physical
![Page 35: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/35.jpg)
35
FiberLong, thin, pure strand of glass
− Enormous bandwidth available (terabits)
− Vary the glass defraction index to guide waves down middle of fiber
Light source(LED, laser)
Light detector(photodiode)
![Page 36: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/36.jpg)
36
WirelessDifferent materials absorb, reflect, defract each
frequency differently802.11: 20MHz range at 2.4GHz; worst possible RF
properties
Freq (Hz)
104 106 108 1010 1012 1014
AM
Coax Microwave
SatelliteFiber
FMTwisted
Pair TV
Radio UVMicrowave IR Light
![Page 37: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/37.jpg)
37
Shannon’s TheoremData rate <= B * log (1 + S/(I + N))
− B = RF bandwidth− S = Signal strength at the receiver− I = Strength of any interfering signal
• Signals add at the receiver− N = Noise (e.g., thermal randomness)
• S/N called SNR, in decibels, log base 10• S/(I + N) called SINR
![Page 38: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/38.jpg)
38
Shannon’s Theorem AppliedData rate vs. S?
S vs. distance?− In a vacuum?− Outside?− Inside?
![Page 39: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/39.jpg)
39
Noise: Amplitude Shift Keying (RFID)
S = ±3, |N| random [0, 2.5]
![Page 40: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/40.jpg)
40
Noise: Amplitude Shift Keying (RFID)
S = ±3, |N| random [0, 5]− Will make errors
![Page 41: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/41.jpg)
41
Another Practical IssueSignals add at the receiver
− Crosstalk between adjacent bands
FCC regulates both transmit power and crosstalk power
![Page 42: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/42.jpg)
42
Coding OutlineFrequency Modulation (FM radio,
pacemakers)
Amplitude Modulation (AM radio, RFID)
Phase Shift Keying (Bluetooth, Zigbee, 802.11)
![Page 43: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/43.jpg)
43
Nyquist LimitReceiver must sample signal at > 2 *
frequency− What if it sampled less often?
![Page 44: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/44.jpg)
44
I/Q PlotsExample: binary amplitude modulation is
the same as binary phase shift keying
![Page 45: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/45.jpg)
45
I/Q PlotsExample: Quadrature Phase Shift Keying
(QPSK)− Zigbee, Bluetooth− Multiple Phase Shift Keying (mPSK)
![Page 46: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/46.jpg)
46
QAM (Quad Ampl Modulation)Combines phase and amplitude keying
− Encode j data bits in k bits for better error recovery
![Page 47: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/47.jpg)
47
OFDM (802.11a, 802.11g)Orthogonal Frequency Division Multiplexing
− Related: frequency hopping (Bluetooth)
![Page 48: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/48.jpg)
48
MIMO: Multiple Antennas (802.11n)
Beamforming: split signal across antennas− Data rate ~ log (1 + 2 SINR)
![Page 49: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/49.jpg)
49
MIMOSpatial multiplexing: multiple signals
− Data rate ~ 2 log (1 + SINR)
![Page 50: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/50.jpg)
50
Beamforming vs. Spatial Reuse
When is beamforming better than spatial multiplexing?− Beamforming ~ log (1 + 2 SINR)− Spatial Reuse ~ 2 log (1 + SINR)
![Page 51: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/51.jpg)
51
Partial Packet Recovery• SoftPhy: label symbols with hamming
distance• Accept symbols with hamming > 0?
• Postamble processing• Sender and receiver clock rates differ slightly• Collisions can prevent synchronization of clock
phase and skew• Partial packet retransmission
• Run length encoding• Results (for test cases!):
• Better than per-packet CRC• Somewhat better than per-fragment CRC
![Page 52: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/52.jpg)
52
Interference is not noiseSINR treats interference and noise equally
− But noise is random, interference has structure
Key idea: Exploit structure of interference to overcome its
effectsApproximate interference Ĩ, subtract it off
![Page 53: P561: Network Systems](https://reader035.fdocuments.us/reader035/viewer/2022081513/56816906550346895de018a0/html5/thumbnails/53.jpg)
53
Example – Amplitude Shift Keying
S = ±3, I = ±5, |N| random [0, 2.5]− ..but the relative angle will vary with time