COMPUTER NETWORKS Flashcards
Protocols
TCP/IP
General Network (WAN or LAN)
nodes, aka switches) inside the subnet, connected by
communication links;
(external devices, e.g., computers, servers, terminals, and so
on) outside the subnet, connected via the subnet
Messages
originated at these external devices,
pass into the subnet,
from node to node on the links,
to the external recipient.
: a string of bits
Topology
placement of links between
nodes
LAN
Local Area Networks
on the order of a square kilometer or less.
restricted topology – nodes distributed on a bus, a ring, or a
star
MAN
Metropolitan Area Networks)
WAN
more than a metropolitan,
comparatively arbitrary topology.
Packet
transmitting messages long in length can be harmful – delay,
congestion, complex buffer management…,
solution: messages broken into shorter strings, i.e., packets,
packets transmitted through the subnet as individual entities,
and reassembled into messages at the destination
Session
a sequence of messages. e.g.:
Interactive: short messages, small delay, high reliability,
File: long messages, moderate delays
Shared Media Broadcast Network
defn: terminals share a common channels (for example,
Ethernet, Token Ring);
all will receive the sender’s message, but only the receiver is
interested;
cheap, limited in scalability
Switched Point-to-point Network
defn: information travels over several points from one terminal
to the other;
circuit switched - separate channel for session, e.g., telephone.
packet switched/store-and-forward - several sessions share
channel
Circuit Switching
Packet Switching
virtual circuit routing (generally used in practise, connection
oriented)
a fixed path,
but it is virtual - link capacity shared by sessions, and link use
based on demand.
dynamic routing (connectionless)
packets may be missing,
packets might arrive destination in different order.
, 8
Circuit Switching
assign a rate rs to the session s,
create a path
allocate/reserve rs on each link of the path
condition: sum of all rates cannot exceed the total
transmission capacity of the link
if no such path can be found, the session is rejected,
once a session is setup, it has guaranteed transmission rate rs
through the network
example: telephone network
Packet Switching concepts
circuit Switching: Inefficient Use of Links
Typical data sessions tend to have short bursts of high activity
followed by lengthy inactive periods;
but circuit switching wastes the allocated rate during these
inactive periods.
A quantitative view:
let λ be the message arrival rate for a given session. (e.g.,
λ = 3 messages/min)
1/λ, the expected interarrival time between messages (1/3
minutes, 20 sec.)
̄X , expected transmission time of a message (4 sec).
Delays
Queueing Delay: the time the packet is assigned to a queue
for transmission and the time it starts being transmitted.
During this time, the packet waits while other packets in the
transmission queue are transmitted.
Propagation Delay: the time between the last bit is
transmitted at the head node of the link and the time the last
bit is received at the tail node. This is proportional to the
physical distance between transmitter and receiver
Packet Switching: Control of Queueing Delay
packets queued are from many different sites, when delay
excessive (or buffer full) need to slow down.
hard to control,
largely nonexistent in circuit switching
Circuit Switching vs. Packet Switching
Complexity of Networks
Many issues to address
synchronization, encoding, addressing, error control, ordering
messages, flow control, message segmentation, framing,
routing, scheduling, multiplexing, security, billing, compression,
code conversion.
useful method of dealing with complexity is through the use of
functional modularity.
break complex problem into simple sub-problems,
use “black box” abstraction of sub-problems.
example:
computer: processor, memory, bus, …
processor: control unit, arithmetic unit, I/O Unit …
arithmetic unit: adders, accumulators
, 16
Layered Network Architectures
Hierarchical Layering, a type of functional modularity useful in
communication networks
Peers of Peer Processe
members of the same layer at
different locations
Protocol
set of rules for how peers interac
Service
function performed by layer N for layer N+1 across
an interface
Network Architecture
the set of layers (services and
protocols) that defines a network
Explain a blackbox communication system
Explain the 7 architecture system
Describe the order of growth of data units between:
Transport layer
Network Layer
Data Link layer
Application Layer
Service: Supports applications
Tasks: Connection setup, flow control, error contorl.
Examples: HTTP to support the web, SMTP to support
electronic email, FTP to support file transfer.
, 22
Transport Layer
Service: prepares messages for being transported over the
network
Tasks: splitting/multiplexing of sessions, message
fragmentation and reassembly, flow control, error control,
connection setup
breaks messages into packets at the transmitting end and
reassembles packets into messages at the receiving end,
end-to-end flow control.
Examples: TCP(Transmission Control Protocol), UDP (User
Datagram Protocol
Network Layer
Service: Send data units over the network. All peer processes
work together.
Tasks: Routing, addressing, congestion control
Packet: (Packet Header, Packet Body)
the header is used to accomplish routing and flow control
functions.
virtual circuit vs. dynamic routing - for successive packets of a
session, with/out initiation, same/different routes, arrives
in/out order, with/out dropped packets.
congestion, users demand more than the capacity can offer.
solution? flow-control.
along with new packets arrive from the higher layer, transited
packets arrive from the lower layer.
Examples: IP (Internet Protocol)
, 24
Data Link Layer
Service: Sends data units over a link, asynchronously, but
error free.
Tasks: framing, error control, retransmissions
Frame: Header, Packet, Tailer
overheads control bits determine, whether errors occur, if so
request retransmission, delineate the beginning and ending of
frames.
typically packets leave the receiving DL in the same order in
which they enter the transmitting DL
Physical Layer
Service: Sends a sequence of bits over a link between a pair of
nodes.
Modem (Modulator/Demodulator)
map the incoming bits from Data Link Layer into signals,
map the signals back into bits at the receiving end.
, 26
Why use the layers
users care only about what the underlying system does, not
about how it does it,
standardizing what the system does allows the implementation
to change while the users get the same service,
with this standardization, users can change their systems
without worrying about the underlying system,
this allows overall systems to evolve very rapidly, while
interface standards change slowly,
also allows multiple vendors to offer compatible products.
Layer Functions
error control: makes the logical channel between the layers in
two peer processes more reliable,
flow control: avoids overwhelming a slower peer process,
segmentation and reassembly of data units,
multiplexing: allows several higher-level sessions to share a
single lower-level connection,
connection setup: provides handshaking with peer process
Server
always-on host
permanent IP address
data centers for scaling
clients:
communicate with server
may be intermittently connected
may have dynamic IP addresses
do not communicate directly with each other
process
program running within a host
within same host, two processes communicate using inter-process communication (defined by OS)
processes in different hosts communicate by exchanging messages
client process
process that initiates communication
server process
process that waits to be contacted
Sockets
process sends/receives messages to/from its socket
socket analogous to door
sending process shoves message out door
sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process
Addressing processes
does IP address of host on which process runs suffice for identifying the process?
no, many processes can be running on same host
identifier
Reliable data transfer
some apps (e.g., file transfer, web transactions) require 100% reliable data transfer
other apps (e.g., audio) can tolerate some loss