- If arrival rate (in bits) to link exceeds transmission rate of link for a period of time:
- Packets will queue, wait to be transmitted on link.
- Packets can be dropped (lost) if memory (buffer) fills up
---
# How do loss and delay occur?
- Packets queue in router buffers
- Packet arrival rate to link (temporarily) exceeds output link capacity
- Packets queue, wait for turn
</img>
---
# Packet loss
- Queue (aka buffer) preceding link in buffer has finite capacity
- Packet arriving to a full queue dropped (aka lost)
- Lost packet may be retransmitted by previous node, by source end system, or not at all
</img>
---
# Four sources of packet delay
</img>
## $d_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{prop}$
---
# Four sources of packet delay
- $d_{proc}$: nodal processing
- Check bit errors
- Determine output link
- Typically < msec
- $d_{queue}$: queueing delay
- Time waiting at output link for transmission
- Depends on congestion level of router
- $d_{trans}$: transmission
- L: packet length (bits)
- R: link bandwidth (bps)
- $d_{trans}$ = L/R
- $d_{prop}$: propagation
- d: length of physical link
- s: propagation speed (~2x108 meters/sec)
- $d_{prop}$ = d/s
---
# A practical example
</img>
- How long does it take a packet of 1Mb from source to destination?
- Assume that the propagation speed in all segments is 2 km/s
---
# “Real” Internet delays and routes
- What do “real” Internet delay & loss look like?
- traceroute program: provides delay measurement from source to router along end-end Internet path towards destination.
- For all i:
- Sends three packets to router i on path towards destination
- Router i will return packets to sender
- Sender times interval between transmission and reply
---
# “Real” Internet delays and routes
</img>
---
# Alternative core: circuit switching
### End-end resources allocated to, reserved for “call” between source and destination:
- In diagram, each link has four circuits.
- Call gets 2nd circuit in top link and 1st circuit in right link.
- Dedicated resources: no sharing
- Circuit-like (guaranteed) performance
- Circuit segment idle if not used by call (no sharing)
- Commonly used in traditional telephone networks
---
# Alternative core: circuit switching
</img>
---
# Protocol layers
---
# Protocol layers
- Protocols determine the format and order of messages between devices
- Protocol layering has conceptual and structural advantages
### Protocol stack: protocols of the various layers
---
# Protocol layers
- Layers: each layer implements a service
- Via its own internal-layer actions
- Relying on services provided by layer below
</br>
## Why layering?
---
# Protocol layers
- Explicit structure allows identification, relationship of complex system’s pieces
- Modularization eases maintenance, updating of system
- Change of implementation of layer’s service transparent to rest of system
</br>
---
# Internet protocol stack
### Application: supporting network applications
- FTP, SMTP, HTTP
### Transport: process-process data transfer
- TCP, UDP
### Network: routing of datagrams
- IP, routing protocols
### Link: data transfer between neighboring network elements
- Ethernet, 802.11 (WiFi), PPP
### Physical: bits “on the wire”
---
# ISO/OSI reference model
- Presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine-specific conventions
- Session: synchronization, checkpointing, recovery of data exchange
- Internet stack “missing” these layers!
- These services, if needed, must be implemented in application
</img>
---
# Summary
- Network core,
- Packet-switching
- Circuit-switching
- Packet loss
- Internet delay
- Layering, service models