Module 1: Introduction to Networked Systems Flashcards
As a programmer of distributed systems, what are some of your key concerns?
performance: latency, bandwidth, loss rate, jitter
number of end systems
service interface (how to invoke the service?)
communication model: reliability, unicast vs. multicast, broadcast, anycast, real-time…
describe three communication models:
- broadcast: one machine sends a message to many other machines (within a range)
- unicast: point to point communication; one machine talks to another machine
- multicast: one machine sends a message to a subset of machines
Based on the service-centric view of networks, the basic service networks offer is to:
send and receive information
goal of The Future Network:
“This era will be defined by the digitization and connection of everything and everyone with the goal of automating much of life, effectively creating time, by maximizing the efficiency of everything we do…”
Marcus K. Weldon
three waves of tech revolutions
- 1985-2000: building of internet
- 2000-2015: building new services on top of the internet
- 2015+: building the internet into everything
Analysis of the Growth in Core Network Traffic
Catalytic Technological Drivers for the Future Network
- cloud-integrated network
- internet-connected machines and devices (IoT)
- augmented intelligence systems
- mobile broadband that brings beyond the basic mobile internet access and covers rich applications in the cloud or augmented reality
Briefly describe a switched network and the issue it addresses:
I mentioned earlier that 5 billion people are connected to the internet. If everybody has 2 or 3 devices, that would be 10 to 15 billion devices. Therefore, it is not realistic for every device to be directly connected to every other device. What should we do in this case? In the core internet infrastructure, we have a smaller group of machines called switches, they connect endpoints in the network. When we say endpoint, we mean the end-host machine, it could be a server machine, desktop, iPhone, iPad, android, and so on. These endpoints connect to a nearby switch, if one of them wishes to talk to another host, they have to send messages through this network of switches.
What are the three phases of circuit switching paradigm?
- circuit establishment
- data transfer
- circuit termination
packet switching
- packets - discrete blocks of data
- routed between nodes over data links shared with other traffics
- at each node the entire packet is received, stored, and then forwarded to the next node (store and forward networks)
- links can be shared
datagram packet switching
most well-known example: IP networks (internet protocol)
each packet is independently switched
– each packet header contains destination address
– routing protocol is used to compute next hop
no resources are pre-allocated in advance
no connection state required:
– easy to recover from errors
– minimal network assumptions
how are resources shared in packet-switching?
multiplexing / demultiplexing
one way of achieving multiplexing is time division multiplexing (TDM): time divided in frames and frames divided in slots
– relative slot position inside a frame determines which conversation the data belongs to
– needs synchronization between sender and receiver
advantage of TDM: it is very fair, everyone has a turn to run
disadvantage: limited by time slots, if more connections than slots, then some cannot be sent, every connection gets equal resources, so not very efficient
what is an alternative to TDM? what issues does it have?
frequency division multiplexing: simultaneous transmission in different frequency band
same problem as TDM: inflexible
how does the internet do packet switching today?
statistical multiplexing:
– packets from any convo can be transmitted at any given time on demand
– upper-bound on packet size for fairness
how to tell them apart?
– use meta-data header to describe packets
con: new easy way to deal with congestion, you could drop packets
time-division vs. statistical
virtual-circuit packet switching
hybrid of circuit switching and packet switching
- data is transmitted as packets
- all packets from one packet stream are sent along a pre-established path
- connection oriented
guarantees in-sequence deliver of packets, allocate resources
examples: asynchronous transfer mode (ATM networks), multi-protocol label switching (MPLS)
Which network paradigms require a connection to be established before sending data?
circuit-switched
virtual circuit network
original goal of internet:
inter-connect multiple networks of different types (wired and wireless) via store and forward gateways
Goal #1: Robustness
if network disrupted and reconfigured:
- communicating endpoint should be able to continue communicating
- mask transient failures
- transport interface only knows “working”and “not working”
how to achieve?
- replication vs. fate-sharing
Why is fate-sharing chosen by the internet over replication?
- easy to engineer
– protects against any number of failures
– gateways are just stateless packet switches
– more trust placed at end-hosts
Goal #2: Types of Service
• not all applications have similar requirements
• reliability vs performance
• original internet model
–> TCP/IP one layer
• today’s internet model
–> break up into TCP (reliable), IP (best effort)
–> UDP uses IP
Goal #3: Variety of Networks
many different network styles and tech
why is this hard? we would need to design Mˆn ways to communicate
Suppose there are 4 applications and 4 transmission media. How many ways of communicating are needed in total?
16
Hourglass solution
the “other” goals
distributed management
cost effectiveness
attaching a host
goal #7: accountability
analogy: registered mail
not a focus in military settings, but important in the commercial world
billing: mostly flat-rate
security: open problem today, internet provides few tools for accounting of packet flows
three layers of properties
- service: what a layer does
- service interface: how to access the service (interface for layer above)
- protocol (peer interface): how peers communicate
layers of internet architecture
application
transport
network
link
physical
physical layer
service: move info between 2 systems connected by a link
interface: specifies how to send a bit
protocol: coding scheme used to represent a bit
examples: coaxial cable, optical fiber links
datalink layer
service:
aggregate stream of bits into frames (attach frame separators)
send data frames between peers
others: per-hop reliable transmission, per-hop flow control
interface:
send a data unit (frame) to a machine (MAC address) connected to the same physical media
protocol: Medium Access Control (MAC) (e.g., CSMA/CD, Token ring)…
Example: Ethernet (LAN), 802.11 (wireless)
Network Layer
service:
- deliver a packet to a specified network destination
- perform segmentation/reassembling (different networks have different package sizes)
-others:
— packet scheduling
— buffer management
interface: send a packet to a specified destination (network address)
protocol: define global unique addresses; construct routing tables
example: IP
transport layer
service:
-process to process channels
- demultiplexing (via prots) to different processes
- optional: error-free and flow-controlled delivery
interface: send messages to a specific destination (address + port)
examples: TCP and UDP
session and presentation layers
session service: combining different transport schemes for each application
-e.g., audio and video stream in a teleconferencing application
presentation: convert data format between various representations to provide a standard interface for the application layer
application layer
service: any service provided to the end user
interface: depends on the application
protocol: depends on the app
examples: FTP, Telnet, WWW browser
7 layers of OSI model
who does what?
7 layers
- lower three layers are implemented everywhere
- next four layers are implemented only at hosts
encapsulation
a layer can only use the service provided by the layer immediately below it
each layer may change and add a header to the data packet
OSI vs. Internet
OSI: conceptually define services, interfaces, protocols
Internet: provide a successful implementation
hourglass breakdown of OSI model
implications of the hourglass
allows networks to interoperate
- any network tech that supports IP can exchange packets
allows applications to function on all networks
- applications that can run on IP can use any network
- simultaneous developments above and below IP