270 likes | 291 Views
Protocols and Reference Models. Babu Ram dawadi. Protocol Hierarchies. A protocol is an agreement that standardizes the way communication will be handled. Differing from the standard protocol may result in the other party not understanding the communication.
E N D
Protocols and Reference Models Babu Ram dawadi
Protocol Hierarchies • A protocol is an agreement that standardizes the way communication will be handled. • Differing from the standard protocol may result in the other party not understanding the communication. • Networks are organized as a stack of levels or layers. • We build each layer on the one below it. • Layers differ in number and function from one network to another. • Each layer hides underlying details from the one above it – sort of like a virtual machine. • Each layer talks to the ones above & below it
Data Transfer • No data is transferred directly from one machine to another on that layer – the layers can only talk to the ones above or below them on their host. • A message from layer 5 will have to travel to layer 1, move across the physical medium, and then back up to layer 5 on the different machine. • Layer 1 is the only layer able to move data from one machine to another, through the physical medium.
Network Architecture • A set of layers and protocols is called a network architecture. • The architecture contains enough information for a programmer to be able to write code to interface with the protocol at any layer. • A list of protocols used by a system (with one protocol per layer) is called a protocol stack.
Abstraction • The process of abstracting the work done at each layer is important to networking. • This allows us to break up a big problem (networking) and reduce it to smaller problems that can more easily be solved (the design of the individual layers). • Many of these layers are now implemented in hardware or firmware.
Layer Design Issues • Some form of addressing needed. • which machine should get the data? • Some form of error control needed. • electronics are not perfect…. • Some form of flow control needed. • for when the order of the messages becomes mixed up. • What happens when we want to send multiple unrelated packets to the same address? • we multiplex and demultiplex the messages • How do we determine that which path data should follow? • we use routing algorithms.
Interfaces & Services • The function of each layer is to provide services to its upper layer. • Active elements on each layer are called entities. • The entities in layer n implement a service used by layer n+1 where layer n is called service provider and layer n+1 is called service user • At a typical interface, the layer n+1 entity passes an IDU to the layer n through SAP.
Interfaces and services (contd’) • IDU=SDU+control information • The SDU is passed across the network to the peer entity and then upto layer n+1 • Layer n fragment SDU into small pieces and add header and send as separate PDU (packet) IDU Layer n+1 ICI SDU SAP Interface ICI SDU Layer n hdr PDU
Connection Types • Connectionless Service • like the postal system • data is packaged and sent to the destination • no time limit is placed on the transport of the data • each packet of data is determined to be a single message in and of itself with no relation to other messages • Example: DNS • Connection-Oriented service • like the phone system • a “live” connection must be established • data is sent in “real time” and received by the other end • the other end will respond back as data is received • Example: a telnet connection
Quality of Service • We may need to know if the data arrived okay. • There are two types of reliable connection-oriented service: • message sequencing (a series of messages) • byte streams (a long stream of data)
QoS (cont’d) • For the most part, connectionless protocols do not worry about QoS. • We do not get a response when they are received because they are connectionless. • We can ask for an acknowledgement if so desired. • We can also just wait for a reply to the initial message.
Reference Models • We will look at two important network architectures, the OSI Reference Model and the TCP/IP model. • The OSI reference model will be used as the basis for the rest of the book (and this class) • The OSI Reference Model • The ISO have divided up these issues over a layered hierarchy of 7 levels called the Reference Model for Open Systems Interconnection (OSI/RM). • The OSI model is not a network architecture as it does not specify the exact services and protocols to be used by each layer. It simply says what each layer should do. • The OSI model deals with connecting open systems i.e. systems that are open for communication to other systems.
The OSI Model 4343 X2
Ideas behind the model • Layers should be created where abstraction is needed. • Each layer should perform a well-defined function. • The function of the layer should be chosen while defining protocols. • The layer boundaries should be chosen to minimize the information flow across the interfaces. • There should not be too many or too few layers.
The Physical Layer • Converts bits into signals for outgoing messages & signals into bits for incoming messages • Issues are mainly mechanical, electrical and timing interfaces, and the physical medium itself. • Transmits bits. (bitstream) 10 Base 2 – Co Ax 10 Base 5 – Thicknet Fibre Optic Connectors UTP
Layer 2: Data Link • Defines psychical addressing, network topology, and is also concerned with error notification, sequencing of frames and flow control. • Deals with transforming a raw line into a line that appears free of errors to the network layer. • This layer deals with breaking up the data, sending it and then receiving acknowledgements back. • This layer also deals with different hardware speeds by slowing some transmissions if the other end can’t keep up.
Layer 2: Data Link • Examples of Data Link WAN specifications are: • Frame Relay (operates also on the Physical layer) • PPP (operates also on the Physical layer) • X.25 (operates also on the Physical and Network layer) • Transmits Frames. • Bridges and Switches operate at this layer. • The Data Link layer consists of two sublayers: • LCC (Logical Link Control) sublayer • Manages communication between devices over a single link of a network. • Enables multiple higher-layer protocols to share a single physical data link. • MAC sublayer • Manages protocol access to the physical network medium. • Determines hardware addresses.
Layer 3 – Network Layer • Defines logical addressing for nodes and networks/segments. • Enables internetworking, passing data from one network to another. • Defines the logical network layout so routers can determine how to forward packets trough an internetwork. • Routing occurs at this layer, hence Routed and Routing protocols reside on this layer. • Routed protocols are used to encapsulate data into packets. The header added by the Network layer contains a network address so it can be routed trough an internetwork. • Examples of Network layer Routed protocols are: • IP, IPX, AppleTalk • Routing protocols are used to create routing tables; routing tables are used to determine the best path / route. Routing protocols provide periodic communication between routers in an internetwork to maintain information on network links in a routing table. • Examples of Network layer Routing protocols are: • OSPF, IGRP/EIGRP, RIP, BGP. • Transmits Packets. • Routers operate at this layer.
Layer 4 – Transport Layer • The main purpose of this layers is making sure that the data is delivered error-free and in the correct sequence. • Establishes, maintains and terminates virtual circuits. • Provides error detection and recovery. • Is concerned with reliable and unreliable transport. When using a connection-oriented, reliable transport protocol, such as TCP, acknowledgments are send back to the sender to confirm that the data has been received. • Provides Flow Control and Windowing. • Provides multiplexing; the support of different flows of data to different applications on the same host. • Examples of Transport layer protocols are: • TCP (connection-oriented, reliable, provides guaranteed delivery.) • UDP (connectionless, unreliable, less overhead, reliability can be provided by the Application layer) • SPX • Transmits Segments.
Layer 5 – Session Layer • The session layer establishes, manages, maintains and terminates communication channels between software programs on network nodes. • Provides error reporting for the Application and Presentation layer. • Examples of Session layer protocols are: • NFS • SQL • RPC • Transmits Data.
Layer 6 – Presentation Layer • Defines coding and conversion functions. • Ensures that information sent from the application layer of one system is readable by the application layer of another system. • Includes common data representation formats, conversion of character representation formats, common data compression schemes, and common data encryption schemes, common examples of these formats and schemes are: • MPEG, QuickTime • ASCII, EBCDIC • GIF, TIFF, JPEG • Transmits Data.
Layer 7 – Application Layer • Provides network services directly to applications. Software programs itself are not part of the OSI model. • Determines the identity and availability of communication partners, and determines if sufficient resources are available to start program-to-program communication. • This layer is closest to the user. • Examples of Application layer protocols are: • Telnet • SMTP • FTP • SNMP • Transmits Data.
Data Encapsulation • Data Encapsulation is the process of adding a header to wrap the data that flows down the OSI model. • Each OSI layer may add it's own header to the data received from above. (from the layer above or from the software program 'above' the Application layer.) • The 5 Steps of Data Encapsulation are: • 1. The Application, Presentation andSession layers create DATA from users‘input. • 2. The Transport layer converts the DATA to SEGMENTS • 3. The Network layer converts the SEGMENTS to PACKETS (or datagrams) • 4. The Data Link layer converts the PACKETS to FRAMES • 5. The Physical layer converts the FRAMES to BITS. • At the sending computer the information goes from top to bottom while each layers divides the information received from upper layers in to smaller pieces and adds a header. At the receiving computer the information flows up the model discarding the corresponding header at each layer and putting the pieces back together.
Each layer contains a Protocol Data Unit (PDU). PDU’s are used for peer-to-peer conversations. Data encapsulation
Why Layered Model? • Reduces Complexity • Standardzes Interface • Facilitates Modular Engineering • Ensures Interoperable Tech. • Accelerates Evolution • Simplifies teaching and learning