Layer 2, the layer below the Application Layer and layer above the Network Layer
- Unit: Segment
- Responsibilities: Ensures data arrives in order (if required), Recovers lost data (if required), Identifies process on machine, flow control
- Adds an additional addressing space at the port level (historically a 16 bit uint from 0 to 65535)
- Can be either be either packet or stream based
- Packet - best effort, no established connection, no transport level delay/waiting (e.g. video, games, etc.)
- Stream - pipe model, established connection, flow/congestion control, possible delays (e.g. HTTP, email, etc.)