320 likes | 547 Views
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:
E N D
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 )
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
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?
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:
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
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)
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
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
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
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
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
The OSI Environment Figure 2.7 Stallings (2003)
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
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
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
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
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
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
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
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).
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.
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
TCP-IP Protocol Architecture application application Application protocol transport transport Transport protocol network network Data link Data link Network Physical Physical Data link Physical
Encapsulation PDUs for TCP/IP application Application data transport TCP segment TCP/UDP Application data network IP datagram IP TCP/UDP Application data Data link Ethernet frame Physical Application data IP Ethernet TCP/UDP
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 …
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
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
Using a relay (router) application application transport transport network network Data link Data link Network Physical Physical Data link Physical
Encapsulation at each level application Application data transport TCP segment TCP/UDP Application data network IP datagram IP TCP/UDP Application data Data link Ethernet frame Physical Application data IP Ethernet TCP/UDP
Using a relay (switch) application application transport transport network network Data link Data link Physical Physical Data link Physical