lecture #4: network architecture - network software prof. boyanov
Post on 12-Feb-2016
46 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
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
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
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
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
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
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 ...)
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
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.
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
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
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
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
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
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
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
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
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
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
22
23
24
25
26
27
28
top related