Distributed Systems Ch3
Distributed Systems Ch3
Performance:
Latency (time between send and start to receive)
Data transfer rate (bits per second) [max]
Transmission time = latency + length / transfer rate
System bandwidth, throughput [actual]: total volume of traffic in
a given amount of time
Using different channels concurrently can make bandwidth >
data transfer rate
traffic load can make bandwidth < data transfer rate
network speed < memory speed (about 1000 times)
Access to local disk is usually faster than remote disk
Networking Issues (2)
scalability
reliability
corruption is rare
mechanisms in higher-layers to recover errors
errors are usually timing failures, the receiver doesn't have
resources to handle the messages
security
firewall on gateways (entry point to org's intranet)
encryption is usually in higher-layers
mobility--communication is more challenging: locating,
routing,...
quality of service--real-time services
multicasting--one-to-many communication
Types of Networks (1)
Internetworks
connecting different kinds of networks
routers, gateways
Network performance
Packet transmission
before a message is transmitted it is subdivided into
packets.
packet: is a sequence of binary of restricted length,
together with addressing information sufficient to
identify the source and destination computers.
Packets of restricted length are used:
To allocate sufficient buffer storage to hold the largest possible
incoming packet;
To avoid the undue delays that would occur in waiting for
communication channels to become free if long messages were
transmitted without subdivision
Network principles (2)
Data Streaming
Streaming: is the transmission and display of audio and video in real
time.
video stream need 120 Mbps (1.5 Mbps if compressed)
UDP internet packets are generally used to hold video frames.
play time: is the time at which video must be displayed
for example, with frame rate 24 frames/second, frame N has a play
time that is N/24 seconds after the stream’s start time. Video
elements that arrive at their destination later than their play time are
no longer useful and will be dropped by the receiving process.
The timely delivery of audio and video streams depends upon the
availability of connections with adequate quality of service
(bandwidth, latency and reliability)
Using ATM and IPv6.
Communication subsystems that provide quality of service: Resource
Reservation Protocol (RSVP), Real-time Transport Protocol (RTP).
Network principles (3)
Switching schemes
1. Broadcast: (Example: Ethernet, Token ring, Wireless)
2. Circuit switching (Example: PSTN)
Involves setup phase: circuit establishment, information transfer, circuit disconnect.
Dedicated path between source and destination is needed.
Information is transmitted at a fixed data rate with no delay.
Blocking may be occur when all lines are busy.
3. Packet switching (connectionless) (Example: Ethernet)
No setup phase .
The message is divided into small units (packets).
No resource dedicating; Each packet is sent independently of other packets.
Data may be reach to the destination out of sequence
Each packet contain the whole address of the source and the destination
The packets has variable length
There is no control on: delay, sequence, loss, and path.
4. Virtual circuit packet switching (connection-oriented) (Example: ATM)
Network principles (3)
Switching schemes
1. Broadcast (Example: Ethernet, Token ring, Wireless)
2. Circuit switching (Example: PSTN)
3. Packet switching (connectionless) (Example: Ethernet)
4. Virtual circuit packet switching (connection-oriented) (Example: ATM)
the unit of information is still Packet.
Each packet contain an information about the path.
All the packets has the same length
Before any data to be transmit, a virtual circuit is established. Then all packet is
sent along this predefined path.
After information is transferred, a virtual circuit is released.
Example: ATM.
Network principles (4)
Protocols
Protocol: refers to a well-known set of rules and
formats to be used for communication between
processes in order to perform a given task.
Protocol has two important parts:
Sequence of messages
Format of messages
Network principles (5)
Protocol layers
Network software is arranged in a hierarchy of layers. Each layer
presents an interface to the layers above it.
Each layer appears to communicate directly with a layer at the
same level in another computer in the network.
Each layer provides a service to the layer above it benefits from
the service provided by the layer below it.
Network principles (5)
Presentation header
Session header
Transport header
Network header
Network principles (7)
Packet assembly
Packets consist of: header and data field.
the data field is variable in length, with the maximum length called
the maximum transfer unit (MTU).
1500 bytes for Ethernet.
8 to 64 Kbytes for IP protocol.
ports: are software-defined destination points at a host
computer. They are attached to processes, enabling data
transmission to be addressed to a specific process at a
destination node.
addressing:
a socket is a software endpoint that acts as a communication
channel between two processes, typically running on different
machines.
a socket is identified by its transport address, which consists of
two components: socket = IP-address + port
Network principles (11)
Router example
A 1 B
Hosts 2
3 Links 4
or local C
networks 5
D 6 E
Routers
Network principles (13): Routing tables
Congestion control
high traffic load, packets dropped due to limited
resources
reducing transmission rate: "choke packets" from
sender to receiver
Networking principles (17)
Tunneling
IPv4 network
IPv6 IPv6
A B
Encapsulators
Internet protocols (1)
In distributed systems:
TCP protocol: is often used for applications that require
reliable communication, such as file transfer, remote login,
and database synchronization.
UDP protocol: is often used for applications that prioritize
performance over reliability, such as streaming media,
online gaming, and real-time control systems.
IP protocol: is the fundamental protocol for all
communication on the network and is used by both TCP
and UDP.
Internet protocols (1)
Message
Layers
Application
Messages (UDP) or Streams (TCP)
Transport
UDP or TCP packets
Internet
IP datagrams
Network interface
Network-specific frames
Underlying network
Internet protocols (3): layer encapsulation
Application message
IP header TCP
Ethernet header IP
Ethernet frame
Internet protocols (4): Programmer’s view
Application Application
TCP UDP
IP
Internet protocols (5): Internet address structure
32-bit
Internet protocols (6): Decimal representation
Internet protocols (9): Network Address Translation (NAT)