CMPT 371 Data Communications and Networking Summary Switching ,throughput, Multiplexing Protocol layers
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements of a protocol are: Syntax: definitions of data format, size and content of messages or packets (headers and data) Semantics: control, responses to messages or packets, coordination, error handling Timing/Synchronization: maintaining synchronization between the communicating entities (speed matching, sequencing, recovery from timing related errors ) Janice Regan © Sept. 2007-2013
Characteristics of Protocols: 1 Direct: data passes from source to destination without active intervention (point to point or multipoint link) Indirect: data from source must pass through intermediate active entities to reach the destination (switched networks) Set Switch Fixed connection Source Destination Network Active Intermediate nodes Source Destination Janice Regan © Sept. 2007-2013
Characteristics of Protocols: 2 Monolithic: Single protocol for all aspects of data transfer Structured: uses a set of protocols interacting based on a chosen architecture. (Layered, client server …) Consider computer networks, A lot of complexity Hosts , routers, switches, applications, varied hardware and software, varied communication needs Any chance a single monolithic protocol is the best way to organize and manage the Internet? Janice Regan © Sept. 2007-2013
Characteristics of Protocols: 3 Symmetric: communications between peers that is the same regardless of which entity is source and which is destination (peer to peer) Asymmetric: unequal source and receiver (client – server) Internet needs to support both Source/Destination Destination/Source Source: Controls Transfer Destination: Janice Regan © Sept. 2007-2013
Characteristics of Protocols: 4 Standard: independent of hardware and application Used by all members of network, no need for translation Operates in a given layer regardless of operating system or system hardware (may require multiple implementations) Nonstandard: designed for specific hardware or application Must translate between nonstandard protocols increasing load on system rapidly as number of nonstandard systems increases Janice Regan © Sept. 2007-2013
Internet Protocol Choices Structured (layered): uses a set of protocols, several different protocols per layer Standardized: uses same protocols, may use different implementation on different hardware Figure 2.3 Stallings (2003) Janice Regan © Sept. 2007-2013
Layered Protocol Architecture Flexible protocols can become very complicated very quickly. Reduce complexity, separate communication functions into modules. Layer these modules using clean interfaces Each module becomes a separate protocol layer Each layer provides services to the layer above through an interface that hides the complexities of how the service is implemented. With one or more protocols per layer the complete network architecture is known as a protocol stack Janice Regan © Sept. 2007-2013
Standardization Clearly defined functions for each layer allow for independent and simultaneous development of multiple layers (Lower layers = more detail) Protocol specification for each layer and for interfaces between layers must be exact Format of data units allowed sequence of PDUs Semantics (meanings) of all fields Janice Regan © Sept. 2007-2013
Standardization Particular operations are localized in a given layer regardless of operating system or system hardware (may require multiple implementations) Service Definition: standards for services provided by a layer, using a given set of protocols, to the layer above it Addressing: Provide the defined services to entities with particular addresses Janice Regan © Sept. 2007-2013
The OSI model A classic model that is not generally implemented Layered Each layer performs a different set of communications functions. Each layer encapsulates and hides complexity from the layer above it Each layer uses the layer below it the perform more primitive and detailed functions Clear interfaces between layers make independent changes in one layer independent of the other layers Janice Regan © Sept. 2007-2013
Encapsulation The addition of control information to data before passing the resulting frame to the next protocol level A PDU (protocol data unit) may or may not contain data but will contain control information such as Addresses Error detection checksums or redundancy checks Sequence numbers Other control information Janice Regan © Sept. 2007-2013
The OSI Environment Figure 2.7 Stallings (2003) Janice Regan © Sept. 2007-2013
The OSI layers: Application Application Layer: Working environment / support for applications Provides services used directly by applications Hides the complexities of services provided by the other layers from the user Janice Regan © Sept. 2007-2013
The OSI layers: Session Layer Initiation, management, termination of sessions between local and remote devices Presentation Layer: Defines the format of the data to be exchanged between applications Data compression, encryption as Implemented in the internet as part of applications/protocols like SSL, Mime Janice Regan © Sept. 2007-2013
The OSI layers: Transport Transport Layer: Manages exchange of application data between end systems Connection oriented reliable delivery (TCP) Manages connections and error free, In sequence, loss and duplication free data transfer Best effort delivery (UDP) Packet oriented, connectionless Process level addressing, Segmentation, Multiplexing / De-multiplexing Janice Regan © Sept. 2007-2013
The OSI layers: Network Network Layer: managing how data moves from one host to another in a network Hides specifics of network technology from higher levels Addressing, forwarding and routing in the network. How to get your packet from A to B Fragmentation / Reassembly Error detection and handling Janice Regan © Sept. 2007-2013
The OSI layers: Data Link Data Link Layer: making the physical link reliable Operates on frames containing messages sent between directly connected devices. Bit level error detection and handling (finds corruption that happens during transmission) Link control and management, Link level addressing Media access control, sharing the physical media between multiple devices Janice Regan © Sept. 2007-2013
The OSI layers: Physical Physical Layer: raw bit stream service. Operates on bits Mechanical: properties of connection to network (connector) Electrical: representation of bits as voltages (encoding and signaling) Functional: Defines functions performed by particular circuits at the interface between the system and the transmission media Procedural: Defines how bit streams are exchanged through the physical media Janice Regan © Sept. 2007-2013
Janice Regan © Sept. 2007-2013 Figure 1.11 Stallings (2000)
TCP/IP Protocol Suite TCP/IP is the most commonly used protocol stack on the internet TCP/IP uses a layered structure, with fewer layers than the OSI model TCP/IP protocols for a given layer use the services available from lower levels to complete the tasks they are responsible for Janice Regan © Sept. 2007-2013
Some Application layer Protocols Users most commonly directly use application layer protocols like Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP); Telnet, Other common application layer protocols help facilitate the use and management of TCP/IP networks: These include Domain Name System (DNS), the Routing Information Protocol (RIP), the Simple Network Management Protocol (SNMP). Janice Regan © Sept. 2007-2013
TCP/IP Protocol Architecture Application layer: Provides interface to communications between processes or applications on separate hosts Transport Layer: (TCP, UDP) Provides end to end data transfer service, including reliability control and sequencing. Encapsulates the network, hiding networking details from applications. Includes the protocols the applications use to exchange data. Janice Regan © Sept. 2007-2013
TCP/IP Protocol Architecture Internet Layer: (IP) procedures for routing across multiple heterogeneous networks and through routers Network Access Layer: Interface between end system and network, routing within a single network, access to a particular network, Depends on type of network Physical Layer: Defines characteristics of the transmission medium, signaling rate, and encoding Janice Regan © Sept. 2007-2013
TCP-IP Protocol Architecture Physical Data link network transport application Application protocol Physical Data link network transport application Transport protocol Network Data link Physical Janice Regan © Sept. 2007-2013
Encapsulation PDUs for TCP/IP Physical Data link network transport application Application data TCP segment TCP/UDP Application data IP datagram IP TCP/UDP Application data Ethernet frame Ethernet IP TCP/UDP Application data Janice Regan © Sept. 2007-2013
Encapsulation: PDU Headers TCP segment: User data +Transport Header Destination and source process address of each occurrence of an application, called a port Sequence Number used to manage packet flow, deliver packets in the correct order Checksum preserves reliability of data transfer and assure delivery to correct destination Lengths, flags … Janice Regan © Sept. 2007-2013
Encapsulation: PDU Headers IP Datagram: TCP segment + IP Header Destination and/or source network address (IP address) Protocol Identification Indicate transport protocol used Flow and error control information (including fragmentation) Error detection (header only) information Janice Regan © Sept. 2007-2013
Encapsulation: PDU Headers Ethernet Frame: IP Datagram + Ethernet header Next hop and/or source Ethernet address May be hardware specific (works for hardwares other than Ethernet) Flow and sharing for the physical media Error detection information Janice Regan © Sept. 2007-2013
Using a relay (router) application application transport transport Physical Data link network transport application Physical Data link network transport application Network Data link Physical Janice Regan © Sept. 2007-2013
Encapsulation at each level Physical Data link network transport application Application data TCP segment TCP/UDP Application data IP datagram IP TCP/UDP Application data Ethernet frame Ethernet IP TCP/UDP Application data Janice Regan © Sept. 2007-2013
Using a relay (switch) application application transport transport Physical Data link network transport application Physical Data link network transport application Data link Physical Janice Regan © Sept. 2007-2013