Beruflich Dokumente
Kultur Dokumente
JJ
CDS
Prof. Dr. Jrgen Jasperneite / Prof. Dr.-Ing. Stefan Witte inIT - Institut Industrial IT Ostwestfalen-Lippe University of Applied Sciences
Content
JJ
CDS
Protocol Engineering
Services
JJ
CDS
Computer networks provides services, which realizes the access to the network by a user. Def.: Service Capability of a computer network to support the communication and the cooperation between Users Example:
Services
JJ
Computer networks provides services, which realizes the access to the network by a user. Def.: Service Capability of a computer network to support the communication and the cooperation between Users Example: eMail WWW
CDS
Type of Services
JJ
CDS
Communication relationship
Source: [K2008]
5
Type of Services
JJ
Asymmetrical Services Services, which are performed by a service provider (Server) and requested by the service user (Client) Example: Remote Procedure Call Symmetrical Services provides the service at two or more access points simultaneously Example: Communication Services Hereafter symmetrical services are the main focus!
CDS
Service User
Service Interface
Service Provider
Two Service Users are mandatory, while the service provider is presented as a single unit. Example: Telephone Service: Two Service User and one Service Provider (Network)
7
Two Service Users are mandatory, while the service provider is presented as a single unit. Example: Telephone Service: Two Service User and one Service Provider (Network)
8
Services are offered to the Service User at well-defined Service Access Points (SAP) only. Analogy: Telephone Service SAP Phone Mail delivery SAP Postbox Every SAP must have its unique address Analogy: Phone number, zipcode
CDS
Services are offered to the Service User at well-defined Service Access Points (SAP) only. Analogy: Telephone Service SAP Mail delivery SAP Every SAP must have its unique address Analogy:
10
CDS
11
A Service is realized by service primitives (SP) Abstract Representation of the interaction between Service User and Service Provider SPs doesnt say anything about the implementation of the service. The order of SPs at a SAP is not random. The Syntax of SPs is well defined.
CDS
12
A Service is realized by Abstract Representation of the interaction between Service User and Service Provider SPs do not say anything about the implementation of the service. The order of SPs at a SAP is not random. The Syntax of SPs is well defined.
CDS
(Phone Network)
13
Service User
14
SAP Instance B
CDS
CONNECT.req() CONNECT.ind()
time unconfirmed Service SAP Instance A xx.req() xx.conf(+/-) time Service PDU PDU SAP Instance B xx.ind() xx.resp(+/-)
15
Confirmed Service
CDS
Entity (Instance)
JJ CDS
Service User
Service Interface
Entity
17
Entity (Instance)
JJ CDS
Service User
Service User
Service Provider
18
Entity (Instance)
JJ
A service of the service provider is performed by Entities (instances) Entity: Active Object of the service provider, which exchanges messages with its environment. Entities are related to specific SAPs. Analogy: telephone exchange center, Mail center SAP
CDS
Entity
19
valid
invalid
Entity (Instance)
JJ
20
A service of the service provider is performed by Entities (instances) Entity: Active Object of the service provider, which exchanges messages with its environment. Entities are related to specific SAPs. Analogy: telephone exchange center, Mail center
CDS
10
Service User
Service Interface
21
Service User
Service Interface
Entity
22
11
Peer-Entity
JJ
A entity interacts with another entity, which is assigned to the SAP of the communication partner Peer Entity The interaction between the entities is based on Messages. The procedure of the message exchange is based on rules. defined by a Communication Protocol This messages are called Protocol Data Units (PDU)
23
CDS
What is a Protocol?
JJ
Term Protocol in our daily life: Meeting Minutes / Dialog Convention/Ritual Diplomatic Protocol A Communication Protocol matches the 2nd meaning Convention of the behavior Defined Procedure between two entities, which repeats forever No dialog Dialog is not predictable not repeatable
24
CDS
12
Communication Protocol
JJ
A Communication Protocol is a convention on behavior, which defines the temporal sequence of the interactions between the corresponding entities and the format (Syntax and Semantic) of the exchanged messages. .. A protocol is a set of conventions and rules governing their use that regulates the communication of an entity under observation with its environment. [Pop2006] Consists of two parts:
25
JJ
CDS
WEEK 2
26
CDS
13
Communication Protocol
JJ
A Communication Protocol is a convention on behavior, which defines the temporal sequence of the interactions between the corresponding entities and the format (Syntax and Semantic) of the exchanged messages. .. A protocol is a set of conventions and rules governing their use that regulates the communication of an entity under observation with its environment. [Pop2006] Consists of two parts: Specification of the Sequences Specification of the PDUs
27
CDS
CDS
(N-1)-CONNECT.req()
CR
(N-1)-CONNECT.ind() (N-1)-CONNECT.res()
time
CC
(N-1)-CONNECT.conf()
14
Types of Protocols
JJ
Symmetrical Protocols Same behavior/functionality of both entities E.g. Protocols with duplex Data Exchange Most Protocols are symmetrical Asymmetric Protocols Entities with different behavior E.g. Protocols with unicast Data Exchange
29
CDS
Principle of Transparency
JJ
The principle of Transparency states, that the content of a PDU is not accessible by the service provider. The Data Unit must be delivered unmodified at the SAP. Analogy: privacy of letters Realization of Transparency The delivered Data Unit (SDU: Service Data Unit) will be extended by control informations (PCI: Protocol Control Informations), which are put in front and/or back to the SDU. (N)-PDU = (N)-PCI + (N)-SDU Most Protocols are using only a prefixed PCI (Header). In the lower Layer (DL) sometimes also a Suffix (Trailer)
30
CDS
15
Principle of Transparency
JJ
The principle of Transparency states, that the content of a PDU is not accessible by the service provider. The Data Unit must be delivered unmodified at the SAP. Analogy: privacy of letters Realization of Transparency The delivered Data Unit (SDU: Service Data Unit) will be extended by control informations (PCI: Protocol Control Informations), which are put in front and/or back to the SDU.
CDS
31
Most Protocols are using only a prefixed PCI (Header). In the lower Layer (DL) sometimes also a Suffix (Trailer)
Principle of Transparency
JJ
CDS
Service User
H PDU
H PDU
PCI: Protocol Control Information SDU: Service Data Unit PDU: Protocol Data Unit
32
16
Principle of Transparency
JJ 2.1 Layered Communication CDS
PCI: Protocol Control Information SDU: Service Data Unit PDU: Protocol Data Unit
33
CDS
JJ
Layered Communication
2.1 Layered Communication
34
17
Q:How can we tackle complexity? A: Divide the total problem into smaller pieces Layering (Modularization) as a technique for structuring similar to structured programming techniques Only the functions performed by a module (and not its internal functioning) are known by its users. The basic idea: each layer adds a value to services provided by the set of lower layers the highest layer offers the set of services needed to run distributed applications.
35
CDS
CDS
Ticket (complain) Baggage (claim) Gates (unload) Runway landing Airplane routing
Airplane routing
36
Source: [Ku2008]
18
CDS
CDS
Ticket (purchase)
Ticket (complain)
Baggage (check)
2.1 Layered Communication
Baggage (claim)
Gates (load)
Gates (unload)
Runway takeoff
Runway landing
Airplane Routing Airplane Routing Airplane Routing Intermediate Air-traffic Control center Arrival Airport
Source: [Ku2008]
19
System A
User of Service (N)
System B
User of Service (N)
CDS
User (N-1)
User (N-1)
[Source: Wikipedia]
39
N+1
2.1 Layered Communication
N+1
(N+1) PDU
(N) PCI
N N-1
(N-1) PCI
N
(N) PDU
N-1
(N-1) PDU
40
20
N+1
2.1 Layered Communication
N+1 N N-1
N N-1
41
The virtual communication (peer-to-peer) must be mapped to the services of the (N-1) Layer. Mapping of the (N)-PDUs to (N-1) Service Primitives Assignment of the (N)-Entity to (N-1)-SAPs (N)-Entity
CDS
(N-1)-SAP
42
valid
invalid
21
The virtual communication (peer-to-peer) must be mapped to the services of the (N-1) Layer. Mapping of the (N)-PDUs to (N-1) Service Primitives Assignment of the (N)-Entity to (N-1)-SAPs
43
CDS
CDS
(N-1)-CONNECT.req()
CR
(N-1)-CONNECT.ind() (N-1)-CONNECT.res()
time
CC
(N-1)-CONNECT.conf()
22
Structure of a (N)-Layer
JJ
CDS
(N)-C-SAP
(N)-Config
(N)-PDU
(N)-CODEX
[(N-1) SPs]
45
(N-1)-SAP
Structure of a (N)-Layer
JJ
46
CDS
23
OSI-Reference Model
JJ
The early development of LANs, MANs, WANs was not well structured and coordinated. Result: Proprietary Systems 1977 OSI recognized the special and urgent need for standards for heterogeneous networks and create a new subcommittee (SC16) for Open Systems Interconnection. ISO investigated DECnet, SNA, und TCP/IP to find uniform protocol rules. Result: Architecture (1984) for the development of compatible devices Reference model for Communication Networks Describes Layers and Principles of Interaction
CDS
ISO-7498, 1984
47
Principles
JJ
CDS
ISO determined a number of principles to be considered for defining the specific set of layers in the OSI architecture [Zim1980] 1. Not so much layer 2. Boundaries with small interactions 3. Seperate layers for different functions 4. Similiar functions into the same layer 5. Redesign a layer without changing the interfaces
48
24
Principles
JJ
49
CDS
ISO determined a number of principles to be considered for defining the specific set of layers in the OSI architecture [Zim1980]
Principles
JJ
ISO determined a number of principles to be considered for defining the specific set of layers in the OSI architecture [Zim1980] Do not create so many layers as to make difficult the system engineering task describing and integrating these layers Create a boundary at a point where the services description can be small and the number of interactions across the boundary is minimized. Create separate layers to handle functions which are manifestly different in the process performed or the technology involved. Collect similar functions into the same layer. Create a layer of easily localized functions so that the layer could be totaly redesigned in a major way to take advantages of new advances in technology without changing the services and interfaces with the adjacent layers.
50
CDS
25
The Result
JJ CDS
7Application Layer
End-to-End
2.1 Layered Communication
Presentation Layer 6
Network
2 Data Link Layer 1 Physical Layer
51
CDS
JJ
7Application Layer
Presentation Layer 6
Physical Medium
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
Line Coding Synchronization voltage level Baud Rate Connectors (Pin Assignments)
52
26
CDS
JJ
7Application Layer
Presentation Layer 6
Physical Addressing
3 Network Layer 2 Data Link Layer 1 Physical Layer
53
CDS
JJ
7Application Layer
Presentation Layer 6
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
54
27
CDS
JJ
7Application Layer
Presentation Layer 6
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
Segmentation Reliable Data Transport Service Connect, Disconnect and Maintaining of Connections Flow Control
55
CDS
JJ
7Application Layer
Presentation Layer 6
Session Management Negotiation of Data Transfer (Duplex, Half-Duplex) Introduction of Synchronization and Recovery Flags for long sessions.
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
56
28
1 2 3
7Application Layer
Presentation Layer 6
CDS
JJ
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
Agreement of the used character set (e.g. ASCII for Text) Encryption
57
CDS
JJ
7Application Layer
Presentation Layer 6
Source and Destination of Application Data Offering Services, e.g. File transfer, Web, for the End user
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
58
29
Protocols
TX Process Data RX Process
JJ CDS
7Application Layer
Presentation Layer 6
Application Protocol
1 2 3
7Application Layer
Presentation Layer 6
Presentation-Protocol Session Protocol Transport Protocol Network Protocol Data Link Protocol Physical Layer Protocol
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
59
Peer-to-Peer Communication
Protocols
TX Process Data Application Protocol
1 2 3
RX Process
CDS
JJ
7Application Layer
Presentation Layer 6
7Application Layer
Presentation Layer 6
Presentation-Protocol Session Protocol Transport Protocol Network Protocol Data Link Protocol Physical Layer Protocol
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
60
30
Services
JJ
TX process
Data
RX process
CDS
7Application Layer
Services
AH PH SH TH
7Application Layer
Presentation Layer 6
Presentation Layer 6
2.1 Layered Communication
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
DH NH
Data
61
Services
JJ
TX process
Data
RX process
CDS
7Application Layer
Services
AH PH SH TH
7Application Layer
Presentation Layer 6
Presentation Layer 6
2.1 Layered Communication
5 Session Layer 4 Transport Layer 3 Network Layer 2 Data Link Layer 1 Physical Layer
DH NH
Data
62
31
Intermediate System
Host B
7 6 5 4 3 2
CDS
JJ
5 4 3 2 1 1
Repeater 1
Network1
63
Network 2
Host A
7 6
Intermediate System
Host B
7 6 5 4
CDS
JJ
5 4 3 2 1 2 1 Bridge 2 1
3 2 1
Network1
64
Network 2
32
Host A
7 6
Intermediate System
Host B
7 6 5
CDS
JJ
5 4 3 2 1 3 2 1 Router 3 2 1
4 3 2 1
Network1
65
Network 2
Gateway 7 6 5 4 3 2 1 7 6 5 4 3 2 1
Host B
7 6 5 4 3 2 1
CDS
JJ
5 4 3 2 1
Network1
66
Network 2
33
TCP/IP Model
JJ
OSI
TCP/IP
CDS
7Application Layer
Presentation Layer 6
2.1 Layered Communication
Application
1 Physical Layer
67
Network Access
JJ CDS
Application
Transport Internet
Network Access
All Definitions to transport IP Datagrams via physical channels (Framing) Physical Addressing Error Detection phy. Connection to the Network
68
34
Application Anwendungsschicht
2.1 Layered Communication
69
Transport Layer
JJ CDS
Application Anwendungsschicht
2.1 Layered Communication
Reliable Transport of Byte streams Segmentation Flow Control Multiplexing of simultaneous Connections using Ports
70
35
Application Anwendungsschicht
2.1 Layered Communication
Connection with the Network Provides frequently used Services Covering OSI -Layer 5 and 6
CDS
71
CDS
JJ
36
Protocol Engineering
JJ
Protocol Engineering deals with all issues about the Design, Implementation and Testing of Communication protocols. Developing Communication Protocols with engineerlike Thinking and Computer Science Methods Combines Aspects of Computer Networks, Operating Systems, Software Development and Computer Science Becomes more and more a independent field of interest.
73
CDS
Communication Systems
JJ
Service Specification (What?) How can the Service User (Client) use the Service offered by the Service Provider at a SAP? Describes the dynamic behavior at the SAPs Service Specification is used by the Client Protocol Specification (How?) How is the specified service made available by the service provider? How is the procedure between the service-providing entities and how is the format of the exchanged PDUs?
74
CDS
37
Requirement Analysis
Requirement Specification Service- and Protocol Specification Optimized Design Protocol Verification
CDS
Performance Evaluation
75
Source: [K2008]
Elements of informal descriptions are: Textual Description Descriptions of Sequence Diagrams State machines Tables Problem: Only representation of singular aspects For a complete Protocol a lot of pieces of a puzzle are needed! Not suitable for large complex protocols. Often leads unclear and ambiguous specifications. The complexity of protocols make them very hard to analyze in an informal way.
76
CDS
38
Formal Methods
JJ
Fundament of modern Protocol Engineering is the usage of Formal Description Techniques (FDT) for Protocol Specification Properties of FDTs formal defined Syntax and Semantic unambiguous interpretation Examples: Petri Nets, SDL, UML2.0 UML2.0 will be introduced in the lab
77
CDS
1.Requirements
CDS
Implementation
39
1.Requirements
CDS
Implementation
Code generation
References
JJ
80
[Pop2006] : M. Popovic, Communication Protocol Engineering, CRC Press, 2006 [Zim1980]: H. Zimmermann, OSI Reference Model- The ISO Model of Architecture for Open Systems, Interconnection, IEEE Transactions on Commications, Vol. Com-28, No. 4,1980 [Ku2008]: J.F. Kurose, K.W. Ross, Computer Networking, Pearson International, 2008 [K2008]: H. Knig, Lecture Computer Networks and Communication Systems I (german), BTU Cottbus, 2008
CDS
40