Protocol Layers & Encapsulation Flashcards
Network intercommunication was the main design goal of the Internet
TCP/IP was designed to enable network intercommunication
Abstraction is the solution!
Abstraction leads to layering
The Internet Protocol Stack (TCP/IP)
- Packet Switching: the
fundamental Internet principle! - Routing: necessary to
interconnect distinct networks - Bit Transmission: enables data
communication
Benefits of Protocol Layering
- Structure
– Does not specify an implementation
– Instead, tells us how to organize functionality - Modularity
– Eases maintenance, updating of system
– Allows identification, relationship of complex system’s pieces - Flexibility
– Reuse of code across the network - Extensibility
– Module implementations may change
Layer Features
- Service
– What does this layer do? - Interface
– How do you access this layer? - Protocol
– How is this layer implemented?
Communication Service
- Specification of
– Functionality a layer offers
– How this functionality is provided
– Interaction between layers (service user & service provider) - Service definitions abstract from how the service is actually implemented
– Service interface hides complexity
– Service is implemented through protocols
Communication Protocol
- Specification of
– How and when data is transmitted and received
– Allowed messages and expected/required replies
– Ordering and timing of transmissions
– Exact format of transmitted data - Protocols often make assumptions that demand lower-level protocols
– We talk of communicating peers using the same protocol
Internet Protocol Stack: Application Layer
- Service
– Whatever we want :) - Interface
– Whatever you want :D - Protocol
– Whatever you want ;) - Examples:
– File Transfer (FTP)
– World Wide Web (HTTP)
– Email (SMTP)
– Directory Services (DNS)
Internet Protocol Stack: Transport Layer
- Service
– Multiplexing/demultiplexing
– Congestion control
– Reliable, in-order delivery - Interface
– Send messages to a destination - Protocol
– Port numbers
– Reliability/error correction
– Flow-control information - Examples:
– Transmission Control Protocol (TCP)
– User Datagram Protocol (UDP)
Internet Protocol Stack: Network Layer
- Service
– Deliver packets across the network
– Handle fragmentation/reassembly
– Packet scheduling
– Buffer management - Interface
– Send a packet to a specific destination - Protocol
– Define globally unique addresses
– Maintain routing tables - Example: Internet Protocol (IP), IPv6
Internet Protocol Stack: Data Link Layer
- Service
– Data framing: boundaries between packets
– Media access control (MAC)
– Per-hop reliability and flow-control - Interface
– Send one packet between two hosts connected to the same media - Protocol
– Physical addressing (e.g. MAC address) - Examples:
– Ethernet
– Wifi
– DOCSIS
Internet Protocol Stack: Physical Layer
- Service
– Move information between two systems connected by a physical link - Interface
– Specifies how to send one bit - Protocol
– Encoding scheme for one bit
– Voltage levels
– Timing of signals - Examples:
– coaxial cable
– fiber optics
– radio frequency transmitters
– Twisted pair
– Infrared (IR)
The ISO/OSI model
- Presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine specific conventions
- Session: synchronization, checkpointing, recovery of data exchange
- Internet model “misses” these layers!
– These services, if needed, must be implemented in application
– Needed?
Data flow in the TCP/IP model
Services, Layering and Encapsulation (Application)
- Application exchanges messages to
implement some application service using
services of transport layer
Services, Layering and Encapsulation (Transport)
Services, Layering and Encapsulation (Network)
Services, Layering and Encapsulation (Link)
Services, Layering and Encapsulation Flow
Encapsulation: an end-end view
Encapsulation
Encapsulation in practice