Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2: Protocols and Architecture

Similar presentations


Presentation on theme: "Chapter 2: Protocols and Architecture"— Presentation transcript:

1 Chapter 2: Protocols and Architecture
COE 341: Data & Computer Communications (Term 061) Dr. Radwan E. Abdel-Aal Chapter 2: Protocols and Architecture

2 Agenda Simplified File Transfer Architecture
Need For Protocol Architecture Key Elements of a Protocol Simplified File Transfer Architecture A Three-Layer Model Protocol Architectures and Networks Protocols in Simplified Architecture Standard Protocol Architectures The OSI Protocol Architecture The Model Standardization within the OSI Framework OSI Layers The OSI versus the TCP/IP (the Internet) Protocol Architecture

3 What is a Protocol and Why we Need it?
What’s a protocol? A set of rules or conventions agreed upon and observed by two communicating entities for successful exchange of data between them (think of Human conversation) Example: File transfer Source must activate communications path and inform network of the destination address Source must check if destination is prepared to receive data Source file transfer application must check if destination file management system will accept and can store file May need file format translation Why protocols? Equipment come from different vendors and run different operating systems… Need a common standard language to communicate properly

4 Need for Architecture (hierarchy) for that Protocol
Benefits of problem decomposition Large task split into smaller subtasks (Careful splitting: logical, tradeoffs, effect of changes) The subtasks are implemented separately in layers forming a stack Can be developed simultaneously by different teams Hierarchical nature: A layer provides/requests services to/from an adjacent layer Higher layers handle higher-level tasks Tasks are implemented in both communicating systems Peer layers in the two systems communicate with each other Examples from everyday life High Level, e.g. Applications Low Level, e.g. Signals, Bits

5 Guidelines for layering
Group functions logically: each layer performs a set of related subtasks Each layer provides services to the higher layer and requests services from the lower layer Ideally, changes in one layer should not require changes to other layers, e.g. changing link from wire to optical fibre Information hiding: Each layer sees only what it needs Not too few layers: Not enough splitting of functionality Not too many layers: Difficult to manage Large communication overhead between them

6 Protocol Architecture: Layered Structure
High-level functions Communicating Entity Services Provided Using formatted data blocks that obey a protocol Highest Level Services Requested Communication with peer layers on other entities Lowest Level Most primitive functions Physical Link

7 Key Aspects of a Protocol
Syntax Block formats Semantics Actual control information for coordination and error handling Timing Speed matching, Sequencing

8 Example: Simplified Protocol Architecture
The task of file transfer is broken down into three modules (layers) that handle: File transfer application  Application layer (Top) Communication services  Transport layer Network access  Network access layer

9 Simplified Architecture for File Transfer
A Three-Layer Model Peer layer communications using the Protocol

10 Network Access Layer Exchange of data between the computer and the network Depends on type of network used (LAN, packet switched, etc.) (should be the only layer that worries about these details) The sending computer should specify address of destination computer, and possibly level of service, e.g. priority, delay, etc.

11 Transport Layer (communication services)
Reliable exchange of data Independent of network used (significance) Independent of application (serves all higher-level applications- sharing of resources)

12 Application Layer Supports different user applications running on the communicating entity: e.g. , file transfer, etc.

13 Protocol Architecture and Networks
Applications Layer: contains modules, each supporting an application running on this computer (SAP) Each application accesses the services of the transport layer through a SAP or a Port 3 computers communicating over a network Using a 3-layer protocol architecture

14 Addressing Requirements
Two levels of addressing: Each computer on the network needs a unique computer address Each application on a (multi-tasking) computer needs a unique application address within that computer We identify the application with the SAP it uses: “Service access point or SAP” in OSI, e.g. SAP 3 “Port” in TCP/IP, e.g. Port 5 Each of the two addressing levels is handled only by the appropriate layer (information hiding): Computer address handled by the Network Access layer Application address (SAP #) handled by the Transport layer

15 Protocol Data Units (PDU)
Peer layers communicate (through the lower layers of course!) by exchanging PDU data blocks At source: Each layer adds its relevant control information (header) to data received from a higher layer to form its PDU At destination: that PDU is handled by the corresponding peer layer: The relevant control header is removed, used, and the remaining part of the PDU is pushed up to higher layers Example: Transport layer may fragment user data into smaller packets A transport header is appended to each packet, which would include: Destination SAP Sequence number of the data fragment Possibly, error detection code This makes one transport protocol data unit (PDU)

16 Protocol Data Units (PDUs)
Application Layer User Data Transport Layer Address of destination application on the destination computer Packet sequence # Error detection code? What to include in the header? Network Access Layer Address of destination computer on the network Network facilities required, e.g. priority Network

17 Rules for generating PDUs at layers
Layer L generates its PDU by appending control part to data received from the next higher layer (L+1) Appended control part takes the form of a header That header will be used by the peer layer L on the destination entity Both the PDU and the header are labeled (identified) by the layer generating and using them PDU (L+1) + Header (L)  PDU (L) . Lower Layers L+1 L .

18 Operation of a Protocol Architecture
TFER (record, DSAP, Dhost) PDU Decapsulation PDU Encapsulation (Transport PDU) TFER (transport_PDU, Dhost) Network (Network Access PDU)

19 Framework for Standardization
Well-defined interfaces at layer boundaries Standards/code for various layers can be developed independently and simultaneously (Advantage) Requests Services Changes and upgrades in a layer need not affect other layers

20 Layer-Specific Standards
Service Definitions: Only as a functional description- not how to be implemented (for flexibility) For internal use only within this communicating entity (not a protocol) 2 SAP # 1 SAP # 2 Here we are dealing with other (foreign) systems! Need a strict protocol Addressing within the same system 1 3

21 So, three standardization elements:
Addressing within the same system Referencing by SAPs: We name the entity in a layer requesting a service from a lower layer by the SAP used on that lower layer Service definitions (vertically within a system) Only Functional description of what is required between layers within the same system Protocol specification (Horizontally, more strict) Operates between the same layer on the two communicating entities (peer layers) May involve different operating systems So, protocol specifications must be defined precisely Format of data units Semantics (meanings) of all fields

22 Service Primitives and Parameters
Services between vertically adjacent layers within the same system are expressed in terms of primitives and parameters Primitives specify the action to be performed Parameters pass data and control information required to perform the action Services are requested by a service user layer … and performed by a service provider layer TFER (record, DSAP, Dhost)

23 Primitive Types REQUEST
Source (X) Destination (Y) Primitive Types A: Service User D: Service User 1 4 2 3 B: Service Provider C: Service Provider REQUEST A primitive issued by a service user to invoke some service and to pass the parameters needed to specify fully the requested service INDICATION A primitive issued by a service provider, either to: indicate that a procedure has been invoked by the peer service user on the connection and to provide the associated parameters, or Notify the service user of a provider-initiated action RESPONSE A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user CONFIRM A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user Time Sequence: A to B: “Deliver this packet to Y” 1 C to D: “Here is a packet for you!” 2 D to C: “Thanks!” 3 B to A: “Done it!” 4 Which pair of primitives is more important?

24 Timing Sequence for Service Primitives
Source System Source System Provider Provider Provider Provider A B C D Destination System Destination System No Response or Confirm (Assumed Done!) Saves time…

25 Standardized Protocol Architectures
Required to allow devices from different manufacturers to communicate (inter-operability) A win-win environment: Helps vendors market their products better Customers can shop around for best deals from different manufacturers as they are sure equipment will work together Main standards: OSI Reference model (X.200, 1977) A theoretical system delivered too late! Never lived up to early promises TCP/IP protocol suite (Developed for early forms of the internet) Most widely used (The Internet protocol): A de facto Standard

26 OSI - The Model Developed by the International Standardization Organization (ISO) in 1977 A 7-layer model Each layer performs a subset of the required communication functions Each layer relies on the next lower layer to perform more primitive functions Each layer provides services to the next higher layer Changes in one layer should not require changes in other layers

27 The OSI Seven Layers The Physical Medium End to End Internetworking
(network of networks) (Internet) End to End The Physical Medium

28 The OSI Environment Hardware or software Trailer
Marking end of frame Note information hiding! e.g. DL layer does not look inside the N-DPU

29 OSI Layers with examples (1)
Physical Example: 10Base-T for Ethernet LAN Physical interface between devices Mechanical: Connectors, etc. Electrical: Bit representation, V and I levels, Data rates,... Functional: Functions of individual interface circuits Procedural: Sequence of events for exchanging bit streams Data Link (Chapter 7) Example: HDLC Activating, maintaining and deactivating a reliable data link (link management): Synchronization, error detection and control, flow control, so that higher layers may assume error free transmission over a direct link

30 OSI Layers with examples (2)
Network Example: X.25 (packet switching) Data transportation over a network Higher layers do not need to know about underlying technology (transmission, routing, etc) Only needs info on destination address and required facilities Not needed (bypassed) on direct (point-to-point) connections Transport Example: TCP (Transmission Control) Exchange of data between end systems (possibly across multiple networks!) Without errors Without loss Without duplication Allows different levels of Quality of Service (QoS): Regarding acceptable error rates, maximum delay, priority, and security

31 OSI Layers (3) Session Control of dialogues between applications running on end systems Dialogue disciplines, e.g. full duplex or half duplex Grouping: Marking of data to indicate different groups Recovery: Use of data check points Presentation Data formats and coding Data compression Data Encryption Application Means for applications to access the OSI environment Support for , file transfer, terminal access to remote computers (telnet)

32 Do we always use/need all 7 layers?
Only end points need to have all 7 layers Point-to-Point on a single link: Network layer is bypassed Intermediate nodes in network are not interested in user data!- Will have only the minimum number of required lower layers: Within the same network: Intermediate node needs only the bottom 3 layers Between multiple networks: Intermediate node between two networks (router) needs only the bottom … layers

33 Layers for a Relay node in a network
A 3-Layer node (Network node) Router Relay Node, Joins: Different physical links Different data links In the same network What about a router that connects two networks? (Intermediate Network node is not interested in the data content- so, the lower 3 layers only)

34 TCP/IP Protocol Architecture
Developed by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network ARPANET (mother of the Internet, 1966) Used today by the Internet Did not start as a formal model.. but as a working one Five Layers: Application layer Host to host (end to end) Transport layer Internet layer (multiple interconnected networks) Network access layer (similar to Data link) Physical layer = Same layer exists also in OSI

35 OSI vs. TCP/IP


Download ppt "Chapter 2: Protocols and Architecture"

Similar presentations


Ads by Google