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.
Packet Switching: Each packet may take a different route to its destination. Used in moderen internet.
Physical Layer
- Real communication channels used by the network
- Interfaces required to transmit and receive digital data
- Appears to higher layers as an unreliable virtual bit pipe
Data Link
Automatic Repeat Request (ARQ)
When the receiver detects errors in frame, how to ask for a retransmission
Stop and Wait
-
Sender
- Transmits information frame I.
- Waits for positive confirmation ACK.
-
Receiver
- Receives I frame.
- If I has no error, send ACK, otherwise send NACK.
-
Sender
- 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
-
Sender
- Send W frames without receiving RR (ACK).
- Cannot send I(i + W) until it receives RR(i+1).
-
Receiver
- Rejects frames out of sequence.
- 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
- Packets of all traffic streams merged in a single queue
- First come first served
, where is the length of the frame and is the capacity
Frequency Division Multiplexing
- Divide the channel into
subchannels of Hz, where is the bandwith of the original channel - Each subchannel has capacity of
- Allows for sending concurrent frames, like in radio, where multiple stations can broadcast at the same time
Time Division Multiplexing
- Divide the channel into
time slots - Each channel gets a time slot (usually 1 byte)
ccccccccm,