Hosts/End system: a device connected to the Internet
Run network apps
Communication links: wired (fiber, copper) / wireless (radio, satellite)
Bandwidth: transmission rate (rate of putting bits on the links)
Packet switches: forwarding groups of data (packets) over the network
Routers, switches
Network edge
End systems are connected to the network via access networks but are not part of it!
Network edge: The area where the local network of a device interfaces with the internet
Hosts: clients, servers
Access network: Connects end systems to edge routers.
Residential/Institutional/Mobile
Bandwidth, shared/dedicated
Network core
Network core: Interconnected mesh of routers
Packet-switching: break application-level messages into packets and forward them on the links to other routers/hosts
Packets
Sending
Break application message into $L$ bit packets
Transmit packets at $R$ bits/sec (aka link capacity/bandwidth)
Store-and-forward: Entire packet arrives at destination router before transmission to the next link.
\[\text{transmission delay} = \text{ time to push 1 packet on link} = \frac{L}{R} \\
\text{end-to-end delay} = \text{ time to push $N$ packets on link} = N\frac{L}{R} \\\]
Implications:
$R$ is never shared/run in parallel. You can only transmit one packet at a time.
For each link the packet is transmitted on, incurs $\geq L/R$ delay.
End-to-end delay: delay incurred across first source to final destination
The router can send a packet to a destination while receiving another packet from source.
Queueing delay and loss:
If arrival rate $>$ transmission rate of a link:
Buffer for packets to queue
If buffer is full, incoming packets can be dropped
Lost packets may be retransmitted by previous node/source or not at all
Note: each outgoing link has a corresponding buffer
Functions of network core
Routing: Algorithms to determine source-destination route
Creates a local forwarding table for that router to determine where to route different headers to
Headers: Metadata for routing e.g. IP address
Forwarding: Moving the packets from router’s input to output
Alternate core: Circuit switching
Each link can accomodate several reservable “paths”/segments (dedicate resources to) one connection
$s$ propagation speed (in fibre optic, $2 \times 10^8$m/s, close to speed of light)
Throughput
Rate (bits/s) at which bits are transferred between a sender and receiver.
Average throughput:
\(\begin{aligned}
T_\text{ave} &= F/t & \text{where $t$ is the time to send F bits} \\
&= \frac{F}{F/R_s + F/R_c} \\
&= \frac{1}{1/R_s + 1/R_c}
\end{aligned}\)
Instantaneous throughput: Depends on the bottleneck rate $\min(R_s, R_c)$
Reality: in between (due to packet based atomic)
Protocols
Define format
Order of messages sent and received amongst network entities
Actions taken on message transmission
Receipt
Layered structure
Each layer implements a service that
Performs a type of action in that layer
Relies on the layers below it
Modularization makes maintenance and updating easier
change of implementation of layer’s service
Internet protocol stack
Application (FTP, SMTP, HTTP)
Support network applications
Transport (TCP, UDP)
Process-process data transfer
Network (IP, routing protocols)
Source-dest routing
Link (Ethernet, 802.111 - Wifi, PPP)
Data transfer between neighbour elements
Physical (Bits and wiring)
Encapsulation
At each stage, pass through multiple layers. The further lower down the stack, include more headers.