Internet Reference Model

Layer Description Protocol
Application Supporting network applications HTTP, SMTP, FTP, ...
Transport End-to-end data transfer TCP, UDP
Network Routing of data packets from source to destination IP, routing protocols
Data Link Data transfer between beighboring network elements PPP, Ethernet, WLAN
Physical Bits sen on the wire -

Circuit Switching vs Packet Switching

Circuit Switching: Firstly, establish a route for the data, then send the data itself. Used for traditional telephone networks and early analog systems.
DataCall accept signalProcessing delayCall request signalABCCLinkLinkLink

Packet Switching: Each packet may take a different route to its destination. Used in moderen internet.
Queuing delayABCCLinkLinkLinkTransmission delayP1P2P3Propagation delayP1P2P3P1P2P3

Physical Layer

Data Link

Automatic Repeat Request (ARQ)

When the receiver detects errors in frame, how to ask for a retransmission

Stop and Wait

  1. Sender

    1. Transmits information frame I.
    2. Waits for positive confirmation ACK.
  2. Receiver

    1. Receives I frame.
    2. If I has no error, send ACK, otherwise send NACK.
  3. Sender

    1. If received ACK, send next frame, otherwise transmit.

What happens if I, ACK or NACK is lost? A timeout is required...

Use a sequence number that is 0 or 1.
When responding, send ACK(0) if waiting for I(0) or ACK(1) if waiting for I(1).

Go Back N

  1. Sender

    1. Send W frames without receiving RR (ACK).
    2. Cannot send I(i + W) until it receives RR(i+1).
  2. Receiver

    1. Rejects frames out of sequence.
    2. Sends RR(n) to indicate that it received all frames until n-1 and is ready for frame n.

Selective Repeat

Similar to go back n, but instead of rejecting retransmitting every frame after the error, it just retransmits the frame with the error.

Delay Models

Statistical Multiplexing

Frequency Division Multiplexing

Time Division Multiplexing