protocol layering
play

Protocol Layering An Engineering Approach to Computer Networking An - PowerPoint PPT Presentation

Protocol Layering An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking Peer entities Customer A and B are peers peers Customer A and B are Postal worker A and B are peers peers Postal worker


  1. Protocol Layering An Engineering Approach to Computer Networking An Engineering Approach to Computer Networking

  2. Peer entities Customer A and B are peers peers Customer A and B are ■ ■ Postal worker A and B are peers peers Postal worker A and B are ■ ■

  3. Protocols A protocol protocol is a set of rules and formats that govern the is a set of rules and formats that govern the A ■ ■ communication between communicating peers communication between communicating peers ◆ set of valid messages set of valid messages ◆ ◆ meaning of each message meaning of each message ◆ A protocol is necessary for any function that requires A protocol is necessary for any function that requires ■ ■ cooperation between peers cooperation between peers

  4. Example Exchange a file over a network that corrupts packets Exchange a file over a network that corrupts packets ■ ■ ◆ but doesn’t lose or reorder them but doesn’t lose or reorder them ◆ A simple protocol A simple protocol ■ ■ ◆ send file as a series of packets send file as a series of packets ◆ ◆ send a send a checksum checksum ◆ ◆ receiver sends OK or not-OK message receiver sends OK or not-OK message ◆ ◆ sender waits for OK message sender waits for OK message ◆ ◆ if no response, resends entire file if no response, resends entire file ◆ Problems Problems ■ ■ ◆ single bit corruption requires retransmission of entire file single bit corruption requires retransmission of entire file ◆ ◆ what if link goes down? what if link goes down? ◆ ◆ what if not-OK message itself is corrupted? what if not-OK message itself is corrupted? ◆

  5. What does a protocol tell us? Syntax of a message of a message Syntax ■ ■ ◆ what fields does it contain? what fields does it contain? ◆ ◆ in what format? in what format? ◆ Semantics of a message of a message Semantics ■ ■ ◆ what does a message mean? what does a message mean? ◆ ◆ for example, not-OK message means receiver got a corrupted file for example, not-OK message means receiver got a corrupted file ◆ Actions to take on receipt of a message Actions ■ ■ ◆ for example, on receiving not-OK message, retransmit the entire file

  6. Another way to view a protocol As providing a service service As providing a ■ ■ The example protocol provides reliable file transfer service reliable file transfer service The example protocol provides ■ ■ Peer entities use a protocol to provide a service to a higher-level Peer entities use a protocol to provide a service to a higher-level ■ ■ peer entity peer entity ◆ for example, postal workers use a protocol to present customers for example, postal workers use a protocol to present customers ◆ with the abstraction of an unreliable letter transfer unreliable letter transfer service with the abstraction of an

  7. Protocol layering A network that provides many services needs many protocols A network that provides many services needs many protocols ■ ■ Turns out that some services are independent Turns out that some services are independent ■ ■ But others depend on each other But others depend on each other ■ ■ Protocol A may use protocol B as a step step in its execution in its execution Protocol A may use protocol B as a ■ ■ ◆ for example, packet transfer is one step in the execution of the for example, packet transfer is one step in the execution of the ◆ example reliable file transfer protocol example reliable file transfer protocol This form of dependency is called layering layering This form of dependency is called ■ ■ ◆ reliable file transfer is reliable file transfer is layered layered above packet transfer protocol above packet transfer protocol ◆ ◆ like a subroutine like a subroutine ◆

  8. Some terminology Service access point (SAP) Service access point (SAP) ■ ■ ◆ interface between an upper layer and a lower layer interface between an upper layer and a lower layer ◆ Protocol data units (PDUs PDUs) ) Protocol data units ( ■ ■ ◆ packets exchanged between peer entities packets exchanged between peer entities ◆ Service data units ( Service data units (SDUs SDUs) ) ■ ■ ◆ packets handed to a layer by an upper layer packets handed to a layer by an upper layer ◆ PDU = SDU + optional header or trailer PDU = SDU + optional header or trailer ■ ■ Example Example ■ ■ ◆ letter transfer service letter transfer service ◆ ◆ protocol data unit between customers = letter protocol data unit between customers = letter ◆ ◆ service data unit for postal service = letter service data unit for postal service = letter ◆ ◆ protocol data unit = mailbag (aggregation of letters) protocol data unit = mailbag (aggregation of letters) ◆ ◆ (what is the SDU header?) (what is the SDU header?) ◆

  9. Protocol stack A set of protocol layers A set of protocol layers ■ ■ Each layer uses the layer below and provides a service to the Each layer uses the layer below and provides a service to the ■ ■ layer above layer above Key idea Key idea ■ ■ ◆ once we define a service provided by a layer, we need know once we define a service provided by a layer, we need know ◆ nothing more about the details of how how the layer actually implements the layer actually implements nothing more about the details of the service the service ◆ information hiding information hiding ◆ ◆ decouples decouples changes changes ◆

  10. The importance of being layered Breaks up a complex problem into smaller manageable pieces Breaks up a complex problem into smaller manageable pieces ■ ■ ◆ can compose simple service to provide complex ones can compose simple service to provide complex ones ◆ ◆ for example, WWW (HTTP) is Java layered over TCP over IP (and for example, WWW (HTTP) is Java layered over TCP over IP (and ◆ uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP) uses DNS, ARP, DHCP, RIP, OSPF, BGP, PPP, ICMP) Abstraction of implementation details Abstraction of implementation details ■ ■ ◆ separation of implementation and specification separation of implementation and specification ◆ ◆ can change implementation as long as service interface is can change implementation as long as service interface is ◆ maintained maintained Can reuse functionality Can reuse functionality ■ ■ ◆ upper layers can share lower layer functionality upper layers can share lower layer functionality ◆ ◆ example: example: WinSock WinSock on Microsoft Windows on Microsoft Windows ◆

  11. Problems with layering Layering hides information Layering hides information ■ ■ ◆ if it didn’t then changes to one layer could require changes if it didn’t then changes to one layer could require changes ◆ everywhere everywhere ✦ layering violation layering violation ✦ But sometimes hidden information can be used to improve But sometimes hidden information can be used to improve ■ ■ performance performance ◆ for example, flow control protocol may think packet loss is always for example, flow control protocol may think packet loss is always ◆ because of network congestion because of network congestion ◆ if it is, instead, due to a if it is, instead, due to a lossy lossy link, the flow control breaks link, the flow control breaks ◆ ◆ this is because we hid information about reason of packet loss from this is because we hid information about reason of packet loss from ◆ flow control protocol flow control protocol

  12. Layering There is a tension between information-hiding (abstraction) and There is a tension between information-hiding (abstraction) and ■ ■ achieving good performance achieving good performance Art of protocol design is to leak enough information to allow Art of protocol design is to leak enough information to allow ■ ■ good performance good performance ◆ but not so much that small changes in one layer need changes to but not so much that small changes in one layer need changes to ◆ other layers other layers

  13. ISO OSI reference model A set of protocols is open open if A set of protocols is ■ ■ ◆ protocol details are publicly available protocol details are publicly available ◆ ◆ changes are managed by an organization whose membership and changes are managed by an organization whose membership and ◆ transactions are open to the public transactions are open to the public A system that implements open protocols is called an open open A system that implements open protocols is called an ■ ■ system system International Organization for Standards (ISO) prescribes a International Organization for Standards (ISO) prescribes a ■ ■ standard to connect open systems standard to connect open systems ◆ open system interconnect (OSI) open system interconnect (OSI) ◆ Has greatly influenced thinking on protocol stacks Has greatly influenced thinking on protocol stacks ■ ■

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend