1Protocol ArchitectureThe “Common Language”Copyright by Jorg Liebeherr 98, 99Need for Protocols Protocols are a set of rules and conventions. By enforcing that communicating parties adhere to a common protocol, communication is made possible.2Copyright by Jorg Liebeherr 98, 99Network Architecture A Network Architecture is a structured set of protocols that implement the exchange of information between computersCopyright by Jorg Liebeherr 98, 99Programming the Communication Any complex programming task is made simpler by using several levels of abstraction Abstraction hides the programming details of lower levels Communication tasks give rise to standard abstractions Committees such as the IETF (Internet Engineering Task Force) are in charge for standardizing the abstractions related to internet communication3Copyright by Jorg Liebeherr 98, 99The Levels of Abstraction Multiple levels of communication abstractions have been defined by standardization bodies Each level is enforced by a corresponding protocol Each level uses the abstract services of the level below Abstraction achieves separation of concerns A protocol needn’t know how the lower-level abstractions are implemented and what the higher level abstractions are.Copyright by Jorg Liebeherr 98, 99Layered Network Architecture In a Layered Network Architecture, the services are grouped in a hierarchy of layers. A protocol of layer N uses only services of layer N-1. A protocol of layer N provides services only to layer N+1.ACEBD EBlayer 3layer 2layer 1not layeredlayeredACD4Copyright by Jorg Liebeherr 98, 99Service PrimitivesN+1 LayerN+1 LayerN+1 LayerN+1 LayerEntityEntityEntityEntityN+1 LayerN+1 LayerN+1 LayerN+1 LayerEntityEntityEntityEntityN LayerN LayerN LayerN LayerEntityEntityEntityEntityN LayerN LayerN LayerN LayerEntityEntityEntityEntityN+1 Layer ProtocolN+1 Layer ProtocolN+1 Layer ProtocolN+1 Layer ProtocolX. RequestX. RequestX. RequestX. Request X. IndicationX. IndicationX. IndicationX. Indication X. ResponseX. ResponseX. ResponseX. ResponseX. ConfirmX. ConfirmX. ConfirmX. Confirm Assume that some protocol implements service “X”.Copyright by Jorg Liebeherr 98, 99Service PrimitivesRecall: A layer N+1 protocol entity sees the lower layers only as an abstract service providerN+1 LayerN+1 LayerN+1 LayerN+1 LayerEntityEntityEntityEntityN+1 LayerN+1 LayerN+1 LayerN+1 LayerEntityEntityEntityEntityN+1 Layer ProtocolN+1 Layer ProtocolN+1 Layer ProtocolN+1 Layer ProtocolX. RequestX. RequestX. RequestX. RequestX. IndicationX. IndicationX. IndicationX. IndicationX. ConfirmX. ConfirmX. ConfirmX. ConfirmService ProviderService ProviderService ProviderService ProviderX. ResponseX. ResponseX. ResponseX. Response5Copyright by Jorg Liebeherr 98, 99Example: Sending a LetterBobBobBobBob’’’’s s s s mailboxmailboxmailboxmailboxBobBobBobBob AliceAliceAliceAliceAliceAliceAliceAlice’’’’ssssmailboxmailboxmailboxmailboxPostmanPostmanPostmanPostmanLogical flow of informationLogical flow of informationLogical flow of informationLogical flow of informationCopyright by Jorg Liebeherr 98, 99(Un-)Acknowledged Service Unconfirmed service: Acknowledged service: US MailUS MailUS MailUS MailL.RequestL.RequestL.RequestL.Request L.IndicateL.IndicateL.IndicateL.IndicateL.IndicateL.IndicateL.IndicateL.IndicateL.ConfirmL.ConfirmL.ConfirmL.ConfirmUS MailUS MailUS MailUS MailL.RequestL.RequestL.RequestL.Request L.IndicateL.IndicateL.IndicateL.Indicate6Copyright by Jorg Liebeherr 98, 99Protocol Architectures There are only few protocol architectures that are relevant today: OSI Reference Model TCP/IP Protocols Suite ATM Protocol StackCopyright by Jorg Liebeherr 98, 99OSI Reference Model The OSI model defines seven layers:Layer 7: Application LayerLayer 6: Presentation LayerLayer 5: Session LayerLayer 4: Transport LayerLayer 3: Network LayerLayer 2: Data Link LayerLayer 1: Physical LayerInterconnection Media7Copyright by Jorg Liebeherr 98, 99OSI LayersPhysicalLayerPhysicalLayerPhysicalLayerPhysicalLayerData LinkLayerData LinkLayerData LinkLayerData LinkLayerNetworkLayerSessionLayerSessionLayerTransportLayerTransportLayerApplicationLayerApplicationLayerPresentationLayerPresentationLayerNetworkLayerNetworkLayerNetworkLayerApplicationHOSTNODEHOSTNODEApplicationCopyright by Jorg Liebeherr 98, 99OSI Layers and EncapsulationPhysicalLayerPhysicalLayerData LinkLayerData LinkLayerNetworkLayerSessionLayerSessionLayerTransportLayerTransportLayerApplicationLayerApplicationLayerPresentationLayerPresentationLayerNetworkLayerApplicationApplicationAHPHSHTHNHDHBitsDataAH DataPH AH DataSH PH AH DataTH SH PH AH DataNH TH SH PH AH DataDataApplicationDataHeader ofApplicationLayer8Copyright by Jorg Liebeherr 98, 99OSI Model in a Switched Communication NetworkTransportSessionPresentationApplicationTransportSessionPresentationApplicationPhysicalData LinkNetworkPhysicalData LinkNetworkPhysicalData LinkNetworkPhysicalData LinkNetworkPhysicalData LinkNetworkPhysicalData LinkNetworkStation (Host)Node (Router)Copyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Physical Layer (Layer 1): Converts bits into electrical or optical signals Transmits these signals over the hardware communication medium Example: RS-2329Copyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Data Link Layer (Layer 2): Reliably transfers frames over a link Performs synchronization, error control, flow control Example: PPPCopyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Network Layer (Layer 3): Moves packets inside the network Performs routing, addressing, switching, congestion control Example: IP10Copyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Transport Layer (Layer 4): Controls delivery of data between hosts Connection management, error control, flow control, multiplexing, TCP, UDP.Copyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Session Layer (Layer 5): Support the dialog between cooperating application programs Session management, synchronization Example: RPC11Copyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Presentation Layer (Layer 6): Data conversion into application format Encryption/decryption Secure socketsCopyright by Jorg Liebeherr 98, 99A Tour of the OSI Layers Application Layer (Layer 7): Provides network access to application programs Everything is application
View Full Document