Top Banner
1 Lecture #4: Network Lecture #4: Network Architecture - Network Architecture - Network Software Software prof. Boyanov prof. Boyanov C o n t e n t s C o n t e n t s Characteristics and Structure of Characteristics and Structure of the Network Software the Network Software Layered SW Design Layered SW Design Connectivity Services Connectivity Services Service Primitives Service Primitives 2 18 12 8
28

Lecture #4: Network Architecture - Network Software prof. Boyanov

Feb 12, 2016

Download

Documents

Brenna Vinson

Lecture #4: Network Architecture - Network Software prof. Boyanov. C o n t e n t s Characteristics and Structure of the Network Software Layered SW Design Connectivity Services Service Primitives. 2. 8. 12. 18. Network Software: Characteristics. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture #4: Network Architecture - Network Software prof. Boyanov

1

Lecture #4: Network Lecture #4: Network Architecture - Network Architecture - Network

SoftwareSoftwareprof. Boyanovprof. BoyanovC o n t e n t s C o n t e n t s

Characteristics and Structure of the Characteristics and Structure of the Network SoftwareNetwork Software

Layered SW Design Layered SW Design Connectivity ServicesConnectivity Services Service PrimitivesService Primitives

2

18

12

8

Page 2: Lecture #4: Network Architecture - Network Software prof. Boyanov

2

Network Software: Network Software: CharacteristicsCharacteristics

Based on structural programming Based on structural programming approachapproach

Network Layers: hierarchy of SW Network Layers: hierarchy of SW modules providing communication modules providing communication services to the next upper layerservices to the next upper layer

Transparency of the layered Transparency of the layered structure: independence of layer structure: independence of layer nn of the implementation of the lower of the implementation of the lower layerslayers

Page 3: Lecture #4: Network Architecture - Network Software prof. Boyanov

3

Network Software: Network Software: StructureStructure

Layered structure:Layered structure:Protocol - rules and convention of data Protocol - rules and convention of data

exchange between layer exchange between layer nn of host1 and of host1 and layer layer nn of host2 of host2

Peers - entities that locally implement Peers - entities that locally implement the functionality of a given layerthe functionality of a given layer

Interface - the set of primitive Interface - the set of primitive operations and services that lower layer operations and services that lower layer provide to the upper oneprovide to the upper one

Physical media - the signal carrier that is Physical media - the signal carrier that is used by the 1used by the 1stst layer for transmission layer for transmission

1/9

Page 4: Lecture #4: Network Architecture - Network Software prof. Boyanov

4

Network SoftwareNetwork Software Considerations:Considerations:

Virtual exchange between the Virtual exchange between the equilevel layers of two hosts equilevel layers of two hosts according the protocolsaccording the protocols

Physical exchange between the Physical exchange between the neighbor layers of one host neighbor layers of one host according to the interfaceaccording to the interface

Portability of the layers: based Portability of the layers: based on clear simple interfaces and on clear simple interfaces and well defined set of functions of well defined set of functions of each layereach layer

Page 5: Lecture #4: Network Architecture - Network Software prof. Boyanov

5

Network ArchitectureNetwork Architecture Network architecture - the set of Network architecture - the set of

layers and protocols; ignores the layers and protocols; ignores the interfaces as the interfaces of the interfaces as the interfaces of the hosts in a network may differhosts in a network may differ

Protocol stack - the list of protocol Protocol stack - the list of protocol hierarchy in the network; matches hierarchy in the network; matches the layered structurethe layered structure

Analogies to the network protocol Analogies to the network protocol stackstack 1/10

Page 6: Lecture #4: Network Architecture - Network Software prof. Boyanov

6

Network ArchitectureNetwork Architecture Example network architecture:Example network architecture:

5-layer protocol stack5-layer protocol stackLayer 5Layer 5: Application process generates : Application process generates

message M and deposit it to Layer 4message M and deposit it to Layer 4Layer 4Layer 4: Extends M with the : Extends M with the headerheader H H44 containing control information (ordering, size, containing control information (ordering, size,

time, etc.) and deposits Htime, etc.) and deposits H44M to Layer 3M to Layer 3Layer 3Layer 3: Brakes H: Brakes H44M into smaller fixed size M into smaller fixed size

packets (e.g. Hpackets (e.g. H44MM11 and M and M22); extends them with ); extends them with its header Hits header H33; selects an outgoing line for ; selects an outgoing line for transmission and passes the packets to Layer transmission and passes the packets to Layer 22

Layer 2Layer 2: Adds its header and : Adds its header and trailertrailer to each to each packet and deposit them to Layer 1 for packet and deposit them to Layer 1 for physical transmissionphysical transmission

1/11

Page 7: Lecture #4: Network Architecture - Network Software prof. Boyanov

7

Network ArchitectureNetwork Architecture Receiving of the message Receiving of the message MM at the at the

destination machine consists in:destination machine consists in: • moving of its packets upward the layers, moving of its packets upward the layers, • stripping of control header and trailers,stripping of control header and trailers,• merging the packets in a message andmerging the packets in a message and• interpreting the message by the applicationinterpreting the message by the application

Lower layers have Lower layers have hardwarehardware implementationimplementation

Medium layer[s] have Medium layer[s] have firmwarefirmware implementationimplementation

High layers have High layers have softwaresoftware implementationimplementation

Page 8: Lecture #4: Network Architecture - Network Software prof. Boyanov

8

Layers DesignLayers Design Layer’s design issues:Layer’s design issues:

identification mechanism for senders/receivers - identification mechanism for senders/receivers - process ID, machine ID, net ID, etc.;process ID, machine ID, net ID, etc.;

data transfer mode - data transfer mode - simplexsimplex, , half-duplexhalf-duplex and and full-duplexfull-duplex

support of multiple logical channels with priority support of multiple logical channels with priority scalescale

Application of error-detecting and error-Application of error-detecting and error-correcting codes and mechanisms for feed-backcorrecting codes and mechanisms for feed-back

ordering protocols for the packets in messagesordering protocols for the packets in messages buffering between fast and slow processesbuffering between fast and slow processes

Page 9: Lecture #4: Network Architecture - Network Software prof. Boyanov

9

Interfaces and Interfaces and ServicesServices

TerminologyTerminologyEntities: the active elements of each layer - Entities: the active elements of each layer -

either software or hardwareeither software or hardwarePeer Entities: same layer entities of different Peer Entities: same layer entities of different

machinesmachinesService Provider: Layer Service Provider: Layer nn entity that serves entity that serves

requests of Layer requests of Layer nn+1 entities+1 entitiesService User: Layer Service User: Layer nn entity that requests entity that requests

service from Layer service from Layer nn-1 entities-1 entitiesClass of services: Functional set of services in Class of services: Functional set of services in

a layer that differs in quality (e.g. fast/slow, a layer that differs in quality (e.g. fast/slow, expensive/cheap, reliable/unreliable ...)expensive/cheap, reliable/unreliable ...)

Page 10: Lecture #4: Network Architecture - Network Software prof. Boyanov

10

Interfaces and Interfaces and ServicesServices

Terminology (Abbreviations):Terminology (Abbreviations): SAPSAP (Service Access Point) - the unique (Service Access Point) - the unique

address of for access to the services of Layer address of for access to the services of Layer nn from the Layer from the Layer nn+1 (Analogs: phone #, +1 (Analogs: phone #, street address...)street address...)

IDUIDU (Interface Data Unit): fixed data format (Interface Data Unit): fixed data format for exchange between two layers; it consists for exchange between two layers; it consists of of SDUSDU and and ICIICI

SDUSDU (Service Data Unit): information passed (Service Data Unit): information passed through the network to the peer entitythrough the network to the peer entity

ICIICI (Interface Control Information): control (Interface Control Information): control information assisting the lower layer entity to information assisting the lower layer entity to process the request (e.g. SDU’s length) ….process the request (e.g. SDU’s length) ….

1/12

Page 11: Lecture #4: Network Architecture - Network Software prof. Boyanov

11

Interfaces and Interfaces and ServicesServices

PDUPDU (Protocol Data Unit): fragment (Protocol Data Unit): fragment of SDU (e.g. packet) that is processed of SDU (e.g. packet) that is processed by the lower Layer N. PDU contains by the lower Layer N. PDU contains also control information in header. also control information in header. Header identifies sequence number of Header identifies sequence number of PDU, type of the data PDU, type of the data (control/information) etc. (control/information) etc.

Page 12: Lecture #4: Network Architecture - Network Software prof. Boyanov

12

Connection-Oriented and Connection-Oriented and Connectionless ServicesConnectionless Services

Connection-orientedConnection-oriented service: establishes service: establishes the connection from point to point; caries the connection from point to point; caries the exchange, preserving the order of the the exchange, preserving the order of the bitstream and releases the connection. bitstream and releases the connection. Analogy to telephone system.Analogy to telephone system.

ConnectionlessConnectionless service: each message is service: each message is provided with full destination address and provided with full destination address and it is routed through the system it is routed through the system independently to rest of message stream. independently to rest of message stream.

QoSQoS (quality of service) - reliability to (quality of service) - reliability to losing data losing data 13

Page 13: Lecture #4: Network Architecture - Network Software prof. Boyanov

13

Quality of Services Quality of Services (QoS)(QoS) Implementation of reliability: Implementation of reliability:

based on acknowledgment by the based on acknowledgment by the receiver - acknowledge receipt for receiver - acknowledge receipt for each messageeach message

Acknowledge receipts produceAcknowledge receipts produce– communication overhead and communication overhead and – delaysdelays

Application: file transferApplication: file transfer

Page 14: Lecture #4: Network Architecture - Network Software prof. Boyanov

14

Reliable Connection-Reliable Connection-Oriented ServiceOriented Service

2 methods:2 methods:

Message StreamMessage Stream - preserves message - preserves message boundaries. Example: stream of pages for boundaries. Example: stream of pages for phototype printingphototype printing

Byte StreamByte Stream - brakes the message - brakes the message sequence into stream of ordered bytes: sequence into stream of ordered bytes: Example exchange between a terminal Example exchange between a terminal and a remote system and a remote system

1/13

Page 15: Lecture #4: Network Architecture - Network Software prof. Boyanov

15

Unreliable Connection-Unreliable Connection-Oriented ServiceOriented Service

Application for systems where Application for systems where delays are unacceptable, e.g. real-delays are unacceptable, e.g. real-time systems fortime systems for

voice communicationvoice communication on-line image transmissionon-line image transmission

Page 16: Lecture #4: Network Architecture - Network Software prof. Boyanov

16

Unreliable Unreliable Connectionless ServiceConnectionless Service

Application - all functions where:Application - all functions where:– real-time, interactive or on-line real-time, interactive or on-line

features are not essential butfeatures are not essential but– the cost of communications has to be the cost of communications has to be

minimized and alsominimized and also– reliability is not of crucial importancereliability is not of crucial importance

Example: standard e-mail servicesExample: standard e-mail services Implementation: datagrams - not Implementation: datagrams - not

acknowledged connectionless acknowledged connectionless serviceservice

Page 17: Lecture #4: Network Architecture - Network Software prof. Boyanov

17

Reliable Reliable Connectionless ServiceConnectionless Service

Application: non-interactive short messages Application: non-interactive short messages exchange with guaranteed reliabilityexchange with guaranteed reliability

Example: banking, military, remote queries Example: banking, military, remote queries in data basesin data bases

Implementation: acknowledged Implementation: acknowledged datagramsdatagrams

Variation: Request-Replay services for one-Variation: Request-Replay services for one-cycle interaction. Mostly in remote data-cycle interaction. Mostly in remote data-base access and another client-server base access and another client-server applicationsapplications

Page 18: Lecture #4: Network Architecture - Network Software prof. Boyanov

18

Service PrimitivesService Primitives Set of operations - Set of operations - primitivesprimitives - forms the - forms the

access language to a service. Primitives:access language to a service. Primitives: request some elementary service action;request some elementary service action; inform the service process for some event in inform the service process for some event in

the peer entitythe peer entity 4 classes of service primitives 4 classes of service primitives Parameters of the primitives are usuallyParameters of the primitives are usually

initiating and target entities (peers);initiating and target entities (peers); type of the requested service;type of the requested service; connection parameters (e.g. message size, connection parameters (e.g. message size,

type of coding etc.).type of coding etc.).

1/14

Page 19: Lecture #4: Network Architecture - Network Software prof. Boyanov

19

Confirmed and Confirmed and Unconfirmed ServicesUnconfirmed Services

Confirmed ServicesConfirmed Services: the exchange of : the exchange of primitives between the peer entities follows primitives between the peer entities follows the pattern:the pattern: requestrequest indicationindication responseresponse confirmconfirm

Unconfirmed ServicesUnconfirmed Services: the exchange of : the exchange of primitives between the peer entities follows primitives between the peer entities follows the pattern:the pattern: requestrequest indicationindication

Application: basically for connection oriented servicesreliable services

Application: basically for connectionlessservices unreliable services

Page 20: Lecture #4: Network Architecture - Network Software prof. Boyanov

20

Service Primitives Service Primitives Exchange (Example) Exchange (Example)

1)1) CONNECT.requestCONNECT.request (request for connection to (request for connection to be established)be established)

2)2) CONNECT.indicationCONNECT.indication (signal the called party) (signal the called party)3)3) CONNECT.responceCONNECT.responce (callee accepts/rejects the (callee accepts/rejects the

connection)connection)4)4) CONNECT.confirmCONNECT.confirm (Caller notified for (Caller notified for

acceptance)acceptance)5)5) DATA.requestDATA.request (request data to be sent) (request data to be sent)6)6) DATA.indicationDATA.indication (receive data request) (receive data request)7)7) DATA.requestDATA.request (grant data to caller) (grant data to caller)8)8) DATA.indicationDATA.indication (caller accepts the data) (caller accepts the data)9)9) DISCONNECT.requestDISCONNECT.request (Caller requests release (Caller requests release

of the connection)of the connection)10)10) DISCONNECT.indicationDISCONNECT.indication (request for (request for

connection to be established)connection to be established)

1/15

Page 21: Lecture #4: Network Architecture - Network Software prof. Boyanov

21

Service and ProtocolsService and Protocols

If the protocols are not distinguished If the protocols are not distinguished from the services than any change in from the services than any change in the protocol is visible to the user and the protocol is visible to the user and limits the portability of the netware. limits the portability of the netware.

Service ProtocolSet of primitives (i.e.elementary operations)provided to the upper layerand using the layerinterface

Set of rules of theexchange between the peerentities of a layer (e.g.message format, packetlength etc.)

Transparentimplementation

Used in implementation ofservices

Page 22: Lecture #4: Network Architecture - Network Software prof. Boyanov

22

Page 23: Lecture #4: Network Architecture - Network Software prof. Boyanov

23

Page 24: Lecture #4: Network Architecture - Network Software prof. Boyanov

24

Page 25: Lecture #4: Network Architecture - Network Software prof. Boyanov

25

Page 26: Lecture #4: Network Architecture - Network Software prof. Boyanov

26

Page 27: Lecture #4: Network Architecture - Network Software prof. Boyanov

27

Page 28: Lecture #4: Network Architecture - Network Software prof. Boyanov

28