Kommunikationssysteme

Transcription

Kommunikationssysteme
Informatik Masterstudium
Computing & Communications, PM2100.1
Kommunikationssysteme
Teil 2: Protokolle und Anwendungen
Übungen
Edition 0.2, April 2014
Autor: Stephan Rupp
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
1/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Inhaltsverzeichnis
1.
Eine Nachricht schicken!
4
2.
Rahmenprotokoll!
4
3.
Netztopologie!
6
4.
Verfügbarkeit!
7
5.
Distributed Computing!
8
6.
Service Inventory !
9
7.
Names, Adresses und Identities!
10
8.
Name Spaces (Namensräume)!
11
9.
Clients and Servers!
12
10. Threads and Processes!
13
11. Memory Leak!
13
12. Viruses and Trojan Horses!
13
13. Service Discovery!
13
14. Bluetooth!
13
15. File-Sharing!
13
16. IPSec!
14
17. IP-VPN!
14
18. Collisions in Piconets!
15
19. Protocol Overhead in VoIP!
16
20. Shopping carts!
17
21. Output Buffer!
17
22. Relations at Examination Time!
17
23. Evaluation of Results!
18
24. Service Discovery!
21
25. UPNP Remote Control!
24
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
2/74
Informatik Masterstudium
Computing & Communications, PM2100.1
26. Client-Server Communication!
26
27. Home Networks!
28
28. Mobile Peer-to-Peer Networks!
30
29. CORBA and RMI!
32
30. CORBA and Web-Services!
33
31. Remote Control for Home Networks!
33
32. Remote Player!
35
33. Universal Remote Control!
37
34. Ethernet basierte Feldbusse!
39
35. Anlagensteuerung!
40
36. Regler mit Anzeige!
48
37. Topologie-Erkennungsdienst!
50
38. Vorfahrt für Prozessdaten!
53
39. Speicherprogrammierbare Steuerung (SPS)!
54
40. Feldbus!
55
41. Ablaufwarteschlange!
59
42. Verfahrene Situationen!
60
43. Task-Synchronisation!
61
44. Vernetzter Feldbus!
62
45. CAN Open als Feldbus!
63
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
3/74
Informatik Masterstudium
Computing & Communications, PM2100.1
1.
Eine Nachricht schicken
Wähle eine Entfernung zwischen den Standorten A und B, sowie eine Ausbreitungsgeschwindigkeit für elektromagnetische Wellen im Medium zwischen A und B. Wie lange
benötigt ein Signal für die Entfernung zwischen A und B (Signallaufzeit, engl. propagation
delay)?
Wähle eine Größe der Nachricht (in Bytes), sowie eine Übertragungsrate (in bit/s). Wie
lange benötigt die Übertragung der Nachricht bei A (Übertragungsdauer, engl. transmission
delay)? Wie lässt sich die Übertragungsdauer minimieren?
A
B
Message
Acknowledge
!
Den Empfang der Nachricht bestätigt B durch Senden einer Quittung zurück an A
(acknowledge). Unter der Annahme einer Nachrichtenlänge (in Bytes) für die Quittung, wie
lange dauert es vom Senden der Nachricht von A bis zum Empfang der Quittung?
Diskutiere den Einfluss der Verzögerungen durch Laufzeit und Übertragungsrate für
unterschiedliche Anwendungen mit unterschiedlich großen Nachrichten: interaktive Spiele,
Telefongespräche, SMS, Datei-Transfers, E-Mail. Welchen Einfluss haben Verzögerungen auf
die Übertragung von Audio (Musik) und Video?
Wie
würde
man
Sonntag,
5. Februar
12 in der Praxis Nachrichten mit Daten von A nach B transportieren?
Können auf dem Weg von A nach B Nachrichten durch Störungen verfälscht werden bzw.
Nachrichten verloren gehen? Was tut man für solche Fälle und in solchen Fällen?
2.
Rahmenprotokoll
Eine Datenmenge von insgesamt 10 000 Bytes sollen über eine Luftschnittstelle
übertragen werden, die eine Bitfehlerrate von 10E-4 hat. Hierzu wird ein Rahmenprotokoll
verwendet (HDLC Protokoll (High Level Data Link Control) mit folgenden Parametern:
•
Fall I): Jeder Rahmen fasst 128 Bytes an Daten
•
Fall II): Jeder Rahmen fasst 512 Bytes an Daten
In beiden Fällen gilt: Sofern bei der Übertragung ein Fehler passiert ist (was der
Empfänger mit Hilfe einer Prüfsumme festgestellt kann), sollte der betroffene Rahmen
nochmals gesendet werden. Für das Übertragungsprotokoll ist pro Rahmen ein Nachrichtenkopf
(engl. header) von 6 Bytes vorgesehen.
Frage 1: Wie viele Rahmen müssen in den beiden Fällen I und II insgesamt übertragen werden
(inklusive der wegen Übertragungsfehlern wiederholten Rahmen)?
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
4/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 2: Wie lange dauert die Übertragung in beiden Fällen über einen Kanal mit einer
Übertragungsrate von 32000 bit/s (Laufzeiten für Quittungen und Wartezeiten nicht
eingerechnet)?
Frage 3: Welcher der beiden Fälle ist in Bezug auf die insgesamt pro Sekunde transportierte
Menge an Nutzinformationen effizienter?
Frage 4: Welcher der beiden Fälle wäre effizienter, wenn die Bitfehlerrate 10E-6 beträgt?
Lösungen:
Frage 1 Fall I):
•
Benötigte Rahmen = 10000 / 128 = 78,125 => 79 Rahmen
•
Anzahl Bytes = 10000 + 79 * 6 = 10474 Bytes
•
Anzahl Bits = 10747 * 8 = 83792 bit
•
Anzahl Fehler = 83792 * 10E–4 = 8,38 => 9 fehlerhafte Rahmen
Anzahl benötigter Rahmen (inkl. fehlerhafter Rahmen) = 79 + 9 = 88 Rahmen
Frage 1 Fall II):
•
Benötigte Rahmen = 10000 / 512 = 19,53 => 20 Rahmen
•
Anzahl Bytes = 10000 + 20 * 6 = 10120 Bytes
•
Anzahl Bits = 10120 * 8 = 80960 bit
•
Anzahl Fehler = 80960 * 10E–4 = 8,1 => 9 fehlerhafte Rahmen!
Anzahl benötigter Rahmen (inkl. fehlerhafter Rahmen) = 20 + 9 = 29 Rahmen
Frage 2 Fall I)
•
Anzahl Bytes (inkl. fehlerhafter Rahmen) = 10474 + 9 * (128 + 6) = 11680 Bytes
•
Anzahl Bits = 11680 * 8 = 93440 bit
Übertragungsdauer = 93440 / 32000 = 2,92 s
Frage 2 Fall II):
•
Anzahl Bytes (inkl. fehlerhafter Rahmen) = 10120 + 9 * (512 + 6) = 14782 Bytes
•
Anzahl Bits = 14782 * 8 = 118256 bit
Übertragungsdauer = 118256 / 32000 = 3,7 s
Frage 3 Fall I):
•
Bytes (eff.) pro Sekunde = 10000 / 2,92 = 3424,66 Bytes pro Sekunde
•
Bits (eff.) pro Sekunde = 3424, 66 * 8 = 27397,28 bit/s (eff.)
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
5/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 3 Fall II):
•
Bytes (eff.) pro Sekunde = 10000 / 3,7 = 2702,70 Bytes pro Sekunde
•
Bits (eff.) pro Sekunde = 2702, 70 * 8 = 21621,6 bit/s (eff.)
Antwort auf Frage 3: Fall I ist effizienter.
Frage 4) Bei einer Bitfehlerrate von 10-6 erhält man in beiden Fällen einen fehlerhaften
Rahmen (siehe Antworten zu Frage 1).
Frage 4) Fall I:
•
Anzahl der Bytes (inkl. fehlerhafte Rahmen) = 10474 + 1 * (128 + 6) = 10608 Bytes
•
Anzahl der Bits = 10608 * 8 = 84864 bit
Übertragungsdauer = 84864 / 3200 = 2,65 s
Frage 4 Fall II:
•
Anzahl der Bytes (inkl. fehlerhafte Rahmen) = 10120 + 1 * (512 + 6) = 10638 Bytes
•
Anzahl der Bits = 10638 * 8 = 85104 bit
Übertragungsdauer = 85101 / 3200 = 2,66 s
Antwort auf Frage 4): Beide Rahmengrößen sind vergleichbar effizient.
3.
Netztopologie
Beschreibe die in der folgenden beiden Abbildung gezeigten Netzwerke. Worin bestehen
die Unterschiede? Was könnte man unter dem Begriff „Topologie“ verstehen?
Nachrichten über das Netz schicken: Wähle zwei Endpunkte A und B für den Versand
einer Nachricht. Auf welchem Weg gelangt die Nachricht von A nach B? Wie kann das Netz die
Nachricht eigenständig von A nach B befördern?
Wie wird eine Route ausgewählt? Wie geht man vor, wenn mehrere Wege von A nach B
führen?
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
6/74
Informatik Masterstudium
Computing & Communications, PM2100.1
S-Bahn-Liniennetz
Favoritepark
Asperg
Benningen (N)
Marbach (N)
Freiberg (N)
Ludwigsburg
Zuffenhausen
Korntal
Neuwirtshaus
(Porscheplatz)
Feuerbach
U6 U13
Eckartshaldenweg
(Pragfriedhof)
Leonberg
U
U1 2
1
U4
U1
Wasenstr.
Hedelfingen
Waldau
U5 U6
U7 U12
Weinsteige
5
2
U1
U1
Degerloch
Winterbach
Heumaden
Leinfelden
Gärtringen
Echterdingen
Nufringen
Schorndorf
Plochingen
Oberaichen
Ehningen
Weiler
Zell
Altbach
U8
U8
Möhringen
Freibad
Möhringen
U5 U6
U3 U5
U8 U12
U6 U8 U12
Geradstetten
Oberesslingen
U7
Waldfriedhof
Vaihinger Str.
Grunbach
Esslingen (N)
Ruhbank
(Fernsehturm)
U7
Rohr
Goldberg
Hulb
Heslach
Vogelrain
U1
U3
Böblingen
U4 U9
Beutelsbach
Mettingen
4
U1
Bopser
Vaihingen
Endersbach
5
Südheimer
Platz
Stetten-Beinstein
Obertürkheim
U1
Österfeld
Sindelfingen
NeckarPark
(Stadion)
Wangener-/
Landhausstr.
Olgaeck
Marienplatz
U1
Maichingen
3
Universität
Charlottenplatz
Rommelshausen
Untertürkheim
U4
U4 14
U2 1 U
U1
Schwabstraße
Fellbach
Bergfriedhof
Staatsgalerie
Neustadt-Hohenacker
Waiblingen
Neckarpark
Fellb. Lutherkirche
(Mercedes-Benz)
Stöckach
U9
U6 2
U5 7 U1 5
U U1
Feuersee
Bad
Cannstatt
Mineralbäder
U1
Stadtmitte
Botnang
Winnenden
Schwaikheim
Nürnberger SommerStr.
rain
Wilhelmspl.
3
Hauptbahnhof
1
U1 4
U9 U1
Malmsheim
U1
Renningen
Nellmersbach
Neugereut
Rosensteinbrücke
Berliner
Türlenstr.
Platz
U9 U11
U14
Hölderlinplatz
Gerlingen
Löwentor
Nordbahnhof
U5 U6
U7 U12
U1
5
Killesberg
Giebel
Rutesheim
Maubach
Neckargröningen
Remseck
Pragsattel
3
U1 15
U
Höfingen
Hohensteinstr.
U8
Weilimdorf
U
U7 6
Ditzingen
Backnang
Mönchfeld
U1
U1 U4 U U2
1 9
U1
4
Stammheim
Kornwestheim
U4 U13
Tamm
Bietigheim
Weil der Stadt
BAHN
vvs
Wernau (N)
Wendlingen (N)
Fasanenhof
Schelmenwasen
Plieningen
Nellingen
Ostfildern
Ötlingen
Flughafen / Messe
Herrenberg
© VVS 12.2011
4.
Filderstadt
im Auftrag des
Kundendialog DB Regio Baden-Württemberg: 0711 2092 7087
Kirchheim (T)
www.bahn.de/s-bahn-stuttgart
Bahn Stuttgart
Verfügbarkeit
Ein experimentelles System (File Server) hat eine Verfügbarkeit (engl. availability) von
80%, d.h. in 20% der Zeit steht das System still und funktioniert nicht. Um die
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
7/74
7.1 Part One (Chapters 1, 3, and 6)
222
7 Exercises
7.1.1 System Availability
Informatik Masterstudium
Computing & Communications, PM2100.1
An experimental system (file server) has an availability of 80%, i.e. the average down time is 20%.
In order to improve the system availability, it is foreAlice
Mobile Network Operator
seen to replicate
the data onsoll
a system
of the same
kind andSystem
to operate
bothbetrieben
Systemverfügbarkeit
zuthe
verbessern,
ein zweites,
baugleiches
parallel
in
parallel.
werden, so, dass alle Daten auf beiden Systemen verfügbar sind.
File Server 1
System
File Server 2
whereIs(UserID)?
you are here
Request:
getLocation(UserID)
Response:
coordinates(UserID)
GIS
Frage 1: Wie groß die
Verfügbarkeit des Gesamtsystems?
Question 1.1: What is the over all system availability after this measure?
Frage 2: Bei hochverfügbaren
Systemen wie z.B. in den Telefonnetzen wird die Verfügbarkeit
Location
Question
1.2: Service
SystemsProvider
in telecommunication networks are called “carrier
mit 99,999% angegeben (die sogenannten „5 Neunen“). Wie viele Minuten im Jahr ist ein
grade” if their availability is better than 99,999%, i.e. their downtime is
solches
System
below
onenicht
hourverfügbar?
per year. In order to achieve this figure, how big needs
the availability
of System
a single
server Frage
to be in
configuration
Frage 3: Wenn
ein6.2:
solches
(siehe
2) the
mitreplicated
Servern
wird, deren
Question
Describe
a procedure,
which
makes
the
relationaufgebaut
between user
shown
above?
and service
provider
an anonymous
by using
UseVerfügbarkeit
nur 99%
beträgt,
wie viele one
solche
Serverpseudonyms
werden imasParallelbetrieb
rIDs.
benötigt?
5.
7.1.2 Mobile Terminating Call
7.1.7 Distributed Computing
Distributed
When calling aComputing
mobile subscriber, the network elements communicate with
eachWithin
other
according
toobjects
the
scenario
as found
shown
in the
figure.
A
mobile
network
a system,
may
be
and
utilised
their
object
refeWithin
a system,
objects
may
be
found
and utilised
by
theirby
object
references
within the
operator
is estimating
the number
of transactions
and volume
of data
whichbetis
rences
within
the
address
space
a
process.
When
distributing
objects
address space of a process. When distributing objects bet- ween systems, object references
used forsystems,
this procedure.
Such an estimation
represents
a foundation
the basobject
also required
to locate
and usefor
remote
obare also ween
required to locate
andreferences
use remoteare
objects.
dimensioning
of the network elements.
jects.
For
his
network,
the network operator
is using
the following
assumptions:
System
2
System
System
1
- 50 million subscribers
Stack Heap
Object Reference
Middleware
Middleware
Object Reference
7.1: What
required
in ordera to
reference
a remote object?
Question 1:Question
What is required
in is
order
to reference
remote
object?
•
O Network
Networkaddress
addressofofthe
theremote
remotesystem
system
•
Serial number of the remote system.
O Serial number of the remote system.
•
Communication end points (port and network protocol)
O
Communication
end points (port and network protocol)
•
Object
Name
O Object Name
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
8/74
System 2
System 1
Informatik Masterstudium
Computing & Communications, PM2100.1
y=f1(a,b)
7.1 Part One (Chapters 1, 3, and 6)
y=f1(a,b)
System 2
f1: type
a : type
b : type
y=f1(a,b)
System 1
f1: type
a : type
b : type
y=f1(a,b)
223
Middleware
Question 7.2: System 1 would like to invoke a method from a remote object.
To do
(see
figure)Middleware
takes care about
f1:this,
typethe middleware in each systemf1:
type
packaging
and
translation
of
the
request
for
remote
method
invokation
a : type
a : type
What exactly needs to be defined by the middleware for the exchange of
b : type
b : type
messages between the systems (pls. mark items of the list):
!
O Formats of messages exchanged
Question
2: System
1 would
like tolike
invoke
a method
from from
a remote
object.
To do this, the
Question
7.2: System
1 would
to invoke
a method
a remote
object.
O
Data
types
of
messages
and
message
elements
middleware
each
system (see
takes care
packaging
and about
translation of the
To do this,inthe
middleware
infigure)
each system
(seeabout
figure)
takes care
packaging
and
translation
of
the
request
for
remote
method
invokation
O
Layer
within
the
OSI-Reference
Model.
request for remote method invokation What exactly needs to be defined by the
What exactly
needs
to be defined
by the between
middleware
for the exchange
middleware
for the
exchange
of messages
the systems
(pls. markofitems of the
Question 7.3: The figure of questrion 7.2 above only shows the request of a
messages
between
the
systems
(pls.
mark
items
of
the
list):
list):method invokaktion for a method with name f1() and the parameters a,b.
Formats
ofthe
messages
exchanged
O •Formats
of messages
exchanged
Supplement
response
of system 2, which implements the correspon• ding
Data
types
of
messages
and message
elements
method and returns y=f1(a,b)
in the
figure below.
O •Data types
of
messages
and
message
elements
Layer within the OSI-Reference Model.
O Layer within the OSI-Reference Model.
System 2
System 1
Question 7.3: The figure of questrion 7.2 above only shows the request of a
method invokaktion for a method with name f1() and the parameters a,b.
Supplement
the response of system 2, whichy=f1(a,b)
implements the correspony=f1(a,b)
ding method and returns y=f1(a,b) in the figure below.
System 1
y=f1(a,b)
System 2
Middleware
y=f1(a,b)
!
Question 3: The figure of questrion 2 above only shows the request of a method invokaktion for
a method with name f1() and the parameters a,b. Supplement the response of system 2, which
Middleware
implements
corresponding
method and returns y=f1(a,b) in the figure
below.
7.1.8 theService
Inventory
A mobile network operator plans to generate a plattform for any kind of ser-
6. vices
Service
based onInventory
his network infrastructure. To do this, he makes a Service In-
ventory available to all service providers and service users. Service providers
A mobile network operator plans to generate a plattform for any kind of services based on
may use the Service Inventory to publish object references to their services
his network infrastructure. To do this, he makes a Service Inventory available to all service
with unique identifiers (UUIDs). The object references point to the servers,
7.1.8
Service
Inventory
providers
service
users.
Service
providers
may usenetwork
the Service
Inventory
publish object
whichand
actually
provide
the
service.
The mobile
operator
onlytoprovireferences to their services with unique identifiers (UUIDs). The object references point to the
A mobile
plans
to generate
a plattform
for any
kind only
of serservers,
whichnetwork
actually operator
provide the
service.
The mobile
network
operator
provides the
vices based
on services.
his network
infrastructure.
Torefernences
do this, he to
makes
a Service
In- in their
inventory
for the
Users
may generate
the Service
Invontory
ventory
available
to all
service
and service
users.
Service
mobile
sets.
The figure
shows
the providers
relations between
entries
in the
mobileproviders
set (personal name
may
use
the
Service
Inventory
to
publish
object
references
to
their
services
space), inventory numbers and object references (Service Inventory).
with unique identifiers (UUIDs). The object references point to the servers,
which actually provide the service. The mobile network operator only provi-
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
9/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Question 1: A service provider uses as object references the connectors of the Generic
Connection Framework of the Java 2 Micro Edition (J2ME GCF). This kind of object
reference includes network address, protocol, ports and object name in a generalised
way into one string, which is handed as a parameter to a method, which opens a
connection:
Connector.open("<Protocol>:<Address>;<Parameters>")
Some examples for the usage of the GCF connector:
(1) Connector.open("http://www.dhbw-stuttgart.de")
(2) Connector.open("socket://162.234.100.200:8090")
(3) Connector.open("comm:0;baudrate=9600")
(4) Connector.open("file:/hiScore.dat")
(5) Connector.open("phone:/+4917123456789")
Which of the examples from the list point to local references (pls. include a short explanation)?
Question 2 Another service provider is offering services based on Web-Services. What would
this service provider use as object reference?
Question 3: One of the service providers offers remote chess as service. Alice and Bob may
deposit their game of chess at a given UUID. The server of the service provider keeps
track of the game and who’s
turn
it is.One
The mobile
sets need
7.1
Part
(Chapters
1, 3,a specific
and 6) client application
which matches the ser- ver application. Name some of the ways to provide such client
applicati- ons for users.
Question
4: The
local
pharmacies
would like
to use the Inventory
Server
entering a reference
which is
on duty
over
night
and during
week-ends.
Describe,
howbythis
to
the
homepage
of
the
respective
pharmacy,
which
is
on
duty
over
night and during
project may be implemented.
weekends. Describe, how this project may be implemented.
7.1.9 Name, Address and Identity
7.
Names, Adresses und Identities
Name
N
Entity
1
Identity
M
Address
Question:
theshown
relations
in theand
figure
andsome
give exsome examples for
Question 9: Describe
theDescribe
relations
in shown
the figure
give
and identities
for usersfor
of mobile
networks,
of regular
telephone
amples adresses
for adresses
and identities
users of
mobileusers
networks,
users
of networks and
domains.networks and web domains.
regular web
telephone
7.1.10 Name
Spaces
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
Name spaces may be represented as labelled, directed graphs. Followingthe
labels of such a diagram results in path descriptions in this general form:
10/74
225
Informatik Masterstudium
Computing & Communications, PM2100.1
8.
M
Address
Question 9: Describe the relations shown in the figure and give some examples for adresses and identities for users of mobile networks, users of
telephone
networks and web domains.
Name regular
Spaces
(Namensräume)
Name spaces may be represented as labelled, directed graphs. Following the labels of
such a diagram
results
in pathSpaces
descriptions in this general form:
7.1.10
Name
N:<label-1><label-2> ...<label-m>
Name spaces may be represented as labelled, directed graphs. Followingthe
where
N indicates
starting
point in
(relative
path) or theinroot
the name
graph. Such
labels
of such athe
diagram
results
path descriptions
thisofgeneral
form:
representations
are familiar from directories
in a file system.
N:<label-1><label-2>
...<label-m>
where N indicates the starting point (relative path) or the root of the name
The graph shown in the following figure represents a hypothetical path in the name space
graph. Such representations are familiar from directories in a file system.
of the directory
Theservice
graph X.500.
shown in the following figure represents a hypothetical path in
!
the name space of the directory service X.500.
C=DE
O = Uni Stuttgart
!
C : Country
O : Organisation
OU : Organisation Unit
CN : Common Name
OU = Informatik
CN = Info_Server
Host_Name =
Andromeda
226
!
Host_Name = Gemini
7 Exercises
Question 1: A file system has the following paths:
/home/files/drafts
Question 10.1: A file system has the following paths:
/home/files/drafts
/home/files/publications
/home/files/publications
/games/tetris
/games/tetris
/games/chess
/games/chess
/publications
/publications
Supplement the corresponding
name
in the diagram:
Supplement the corresponding
name graph in
thegraph
diagram:
Diagram for question 10.1
publications
!
Question 2: The Java 2 Microedition supports (among others) the following packages:
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
Question 10.2: The Java 2 Microedition supports (among others) the following packages:
11/74
Informatik Masterstudium
Computing & Communications, PM2100.1
java.lang
java.util
7.1 Part One (Chapters 1, 3, and 6)
javax.microedition.lcdui
javax.microedition.io javax.microedition.lcdui.games
javax.microedition.media.control
javax.microedition.midlet
Diagram for Question 10.2
javax.microedition.pki
javax.microedition.rms
7.1 Part One (Chapters 1, 3, and 6)
227
Supplement the graph of the corresponding name sapce in the diagram:
Diagram for Question 10.2
Question 10.3: The Domain Name System of the WWW also has a name
space. Supplement the following hypthetical path in the diagram below
Question 3:
The Domain
Name
System
the WWW
also has
name
space. Supplement the
Question
10.3: The
Domain
Name of
System
of the WWW
alsoahas
a name
“www.ikr.uni-stuttgart.de/index.html”:
!
!
following
hypthetical
path
the diagram
belowpath
“www.dhbw-stuttgart.de/index.html”:
space.
Supplement
thein
following
hypthetical
in the diagram below
“www.ikr.uni-stuttgart.de/index.html”:
Diagram for Question 10.3
Diagram for Question 10.3
com
com
edu
edu
org
...
!
deorg
de
...
!
!
9.
Clients and Servers
Explain the difference between a client and a server.
7.1.11 CORBA and RMI
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
7.1.11 CORBA and RMI
12/74
Informatik Masterstudium
Computing & Communications, PM2100.1
10. Threads and Processes
Threads are flows of control within the address space of a process.
Question 1: What happens, when a violation of address space occurs within a thread?
Question 2: A part of the application is moved to a remote system. What happens, when a
violation of the address space happens on the remote system?
11. Memory Leak
A badly written application keeps allocating memory by generating objects without
eliminating all of them after they are not needed any more.
Question 1:The user of a desktop system which extends memory by a hard disk is running such
an application and notices, that the system is continuously getting slower. Why?
Question 2: What would happen on a mobile phone (whithout a hard disk) in the same
situation?
Question 3: The user of the deskttop system has learned to exit and re- start the application it
this situation. How does this measure work?
12. Viruses and Trojan Horses
Which kind of system allows to provide better protection against viruses and trojan
horses: a monotasking operating system or a multitasking operating system (pls. indicate the
reason).
13. Service Discovery
How may a device discover services which are offered in a new environment and how
can the device offer own services? Describe some general ways and mechanisms.
14. Bluetooth
Describe how Service Discovery with Bluetooth works in principle. Explain, how an
application which has been written by yourself may be discoverd on your device.
15. File-Sharing
As shown in the figure, a file sharing network is organised in a way, that network nodes
may escalate a message that they have received to other known network nodes. The figure
shows two levels of escalation.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
13/74
30
7 Exercises
Informatik Masterstudium
Part Onein(Chapters
3,
As&shown
in the figure,
a file sharing network7.1
is organised
a way, that 1,
netComputing
Communications,
PM2100.1
and 6)
work nodes may escalate a message that they have received to other known
network nodes. The figure shows two levels of escalation.
streams shown in the figure. Supplement the figure.
Level 2
Alice
Bob
Plain
Text:
Level
1 0101 1001
........................
Cipher Text
Random Text: 1001 0111
Random Text: 1001 0111
!
Question 36.2 The procedure is considered as extremely difficult to attack
(i.e. analyse and crack). Why is this?
19.1:
We
take
the recommend
assumption,
that
each
network
node
escalates
a
QuestionQuestion
19.1: We
take
the
assumption,
that each
network
node
athe
message
to 100
Question
36.3:
Do
you
Alice
and
Bob escalates
to
re-use
same
ranmessage
to
100
other
network
nodes.
How
many
levels
of
escalation
are
other network
nodes.
Howtimes?
many levels
of escalation
are needed to address a total of 100
dom text
several
Explain
your recommendation.
to 0000
address
a total
of 100nodes?
billion (i.e. 100 0000 million) network
billionneeded
(i.e. 100
million)
network
Question
nodes? 36.4: Describe an appoximation of the procedure which utilises
Question 19.2:
to prevent
escalation
and how to avoid
the Describe
same typeways
of random
text endless
generatorloops
withinAlice
and Bob.
Question 19.2: Describe ways to prevent endless loops in escalation and
escalation to spread to infinity.
how to avoid escalation to spread to infinity.
7.1.34 IPSec
16. 7.1.20
IPSec CORBA and Web-Services
Explain the “tunneling” of ecnrypted or non-encrypted IP packets and the
Explain the “tunneling” of ecnrypted or non-encrypted IP packets and the corresponding
While using CORBA,
client-stub
compiled
from as
a formal
decorresponding
privateaand
public is
address
spaces,
showninterface
in the figure.
private
and public
address
spaces,
as IDL-file.
shown in Name
the figure.
finition
which
is contained
in an
an equivalent formal descrip-
tion of the interface with Web-Services.
Private IP Network
(Intranet)
Public IP Network
(Internet)
Private IP Network
(Intranet)
7.1.21 Direct Provision of Client Applications
Gateway
Gateway
An alternative to the
tedious procedure of generating
client-stub for client
applications from formal descriptions is to provide the complete client application for loading and installation on the target client system. Compare both
alternatives and indicate typical ares of application.
IPpriv
IPpriv
IPpriv
7.1.22 A Sandbox IP
for
Software
IPpub
pub
IPpriv
IPpriv
IPpub
Explain the concept of a “sandbox” for loading and running software on a
system and describe some of the components of such a concept.
IP
IPpub IPpriv
data
priv
7.1.23
Buffer
Overflow
data
IPpriv
data
Why are “buffer overflows” not occuring with Java programs?
17. IP-VPN
7.1.35 IP-VPNs
Explain the concept and areas of application of IP-VPNs.
Explain the concept and areas of application of IP-VPNs.
7.1.36 Identity,
Authentication, Authorisation
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
S. Rupp, 2014
14/74
Informatik Masterstudium
Computing & Communications, PM2100.1
18. Collisions in Piconets
While using the Bluetooth radio technology, devices may7.2
formPart
piconets
shown in theBook)
Twoas(Complete
figure. All devices on one piconet communicate using frequency hopping over a total of 79
channels (channel 0 to 78). In each piconet, one master (M) determines the hopping sequence
of its piconet with all slaves follo- wing this hopping sequence. Also, only one device within a
mitcanattransmit
the same
time.
therethere
are are
no no
collisions
devices
within
one picopiconet
at the
sameThus,
time. Thus,
collisions of
of devices
within
one piconet. net.
M
M
M
But
what
happens,
if several
piconetspiconets
are operating
the same room
at the
sameand at
But
what
happens,
if several
are inoperating
in theand
same
room
time?the
From
the perspective
of one
piconet, how
other piconets can
operate
in other
the
same
time? From
thegiven
perspective
of many
one given
piconet,
how
many
pisameconets
room forcan
a given
collission
rate?
The
assumption
is
taken,
that
collisions
happen
every
operate in the same room for a given collission rate? The assumptime, tion
whenis
any
of
the
piconets
in the room
happen
to usetime,
the same
channel,
every
piconet in the
taken, that
collisions
happen
every
when
any ofi.e.the
piconets
is able to interfere with each other piconet.
room happen to use the same channel, i.e. every piconet is able to interfere
Question
What other
is the piconet.
probability for 2 piconets to operate without collisi- ons? (Hint: Each
with1:each
piconet
runs all
channels
in probability
random sequence,
numberwithout
of devices
Question
1:79
What
is the
for 2irrespective
piconets oftothe
operate
collisiin the piconet. What is the probability that 2 piconets incidently use the same channel?
ons? (Hint: Each piconet runs all 79 channels in random sequence, irrespective
What is the probability of not colliding when operating two piconets?)
of the number of devices in the piconet. What is the probability that 2 piconets
Question
2: What is
thethe
probability
for not colloding
when
operting
3 pico- nets?
Generalise
the when
incidently
use
same channel?
What
is the
probability
of not
colliding
term for the collisionfree operation of N piconets.
operating two piconets?)
QuestionQuestion
3: When a2:
collision
packet is lost
need to bewhen
retransmitted.
The
Whatoccurs,
is the the
probability
forand
notwill
colloding
operting
3 picoprobability
calculatedthe
so far
justfor
represents
collision of one
slot. In Bluetooth,
master and
nets?
Generalise
term
the collisionfree
operation
of N piconets.
slaves
use
alternating
slots
for
transmission,
one
containing
confirmation
of
receipt.
If the to be
Question 3: When a collision occurs, the packet is lost and will need
packet is lost during transmission, it will need to be retransmitted. If the confirmation of
retransmitted.
The probability calculated so far just represents collision of one
receipt is lost in a collision, the packet will also be retransmitted. Adapt the probability for
slot. In Bluetooth, master and slaves use alternating slots for transmission, one
collisionfree operation accordingly.
containing confirmation of receipt. If the packet is lost during transmission, it
Question
If weto
take
assumption, that
collision
rate (probability
of col- lisions)
is
will4:need
be the
retransmitted.
If the
confirmation
of receipt
is lost ofin50%
a collision,
acceptable, how many (N) piconets can operate in the same room?
the
packet will also be retransmitted. Adapt the probability for collisionfree
Answer
1: When 79
channels are used and piconet 1 is transmitting on one of the channels (e.g
operation
accordingly.
channel
0),
there
a 1 to
79 chance
that piconet 2that
is transmittingrate
on the
same channelof colQuestion 4: Ifis we
take
the assumption,
collision
(probability
at the same time. Thus, the probability for not col- liding between 2 piconets is: P2 = 1 lisions)
of 50% is acceptable, how many (N) piconets can operate in the same
1/79.
room?
Answer Answer
2:With 3 piconets,
the79
chance
that neither
the second
or third picowill collide withon one
1: When
channels
are used
and piconet
1 isnettransmitting
the
first
piconet
corresponds
to
the
chance,
that
the
third
piconet
will
not
collide
with2 the
of the channels (e.g channel 0), there is a 1 to 79 chance that piconet
is transmitting on the same channel at the same time. Thus, the probability for not colliding between 2Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
piconets is: P2 = 1 - 1/79.
S. Rupp, 2014
15/74
Answer 2:With 3 piconets, the chance that neither the second or third piconet will collide with the first piconet corresponds to the chance, that the third
piconet will not collide with the first two piconets (answer 2), i.e. P = (1 -
Informatik Masterstudium
Computing & Communications, PM2100.1
first two piconets (answer 2), i.e. P3 = (1 - 1/79)2. In general terms, the probability for N
piconets to operate without col- lission is PN = (1 - 1/79)N-1.
Answer 3: The probability of N piconets not colliding in both the transmit slot and the receive
slot is: PN = (1 - 1/79)2N-2.
Answer 4: With a collision rate of 50%, PN = 0,5 so N in the equation from answer 3 indicates
the number of piconets able to cooperate under thee condi- tions in the same room:
!
0,5 = (1 - 1/79)2N-2
!
log (0,5) = (2N-2) log (1-1/79)
!
N = 1 + log(0,5)/2 log(1-1/79) = 28,2.
Hints: This problem corresponds to what is also called the “birthday pro- blem”. Imagine a
number of N people in the same room.There are two questi- ons concerning “collsions of
birthdays”:
1)
You are one of the people in the room. What is the probability, that no one else has
birthday the same day as you? With 365 possible timeslots (days per year), the
answer follows the same logic as above. Pls. note, that this is all about collisions
between one selected person and any one else. It is well possible, that two or more
other peoples ha- ve colliding birthdays.
2)
What is the probability, that all people in the room have different birthdays? The
solution follows the same logic, but now we need to look at collisions between any
of the N members, not just one selected member agains anyone else. Go step by
step startring with N=2, then N=3 in order to find out the right scheme, and then do
numerical simplifications for given values. There are more exercises which will
make use of this to follow.
7.2 Part Two (Complete Book)
239
19. Protocol Overhead in VoIP
In order
transmitVoice
Voiceover
over IP
IP packets, voice
In order
to to
transmit
voice samples
samples are
are digitised,
digitised,coded
co- and put as
payload
with the packed
Thepacked
ration of
the header
ded andinto
putIPaspackets,
payloadtogether
into IP packets,
togetherheader.
with the
header.
The information
ration
of
the
header
information
to
the
payload
is
called
packet
overhead.
to the payload is called packet overhead.
Vers. Traffic Cl.
Flow Label
Payload Lenght Next H. Hop Limit
10 ms
Source Address
Codec
Destination Address
header voice
IPv6 header
Question 1: Calculate the packet overhead of voice, which is digitised at a
sampling rate of 8 kilo samples per second and coded with 8 bits per sample
(which corresponds to a continuous bitrate of 64 kBits/s), under the condition,
S.that
Rupp,
2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
each
packet is 10 ms
long and that the IP header is 40 Bytes (which corresponds to the IPv6 header shown in the figure). Further overhead which is
introduced by higher protocol layers (such as RTP or UDP) for time-stamps
and packet sequence numbers is neglected.
16/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Question 1: Calculate the packet overhead of voice, which is digitised at a sampling rate of 8
kilo samples per second and coded with 8 bits per sample (which corresponds to a
continuous bitrate of 64 kBits/s), under the condition, that each packet is 10 ms long and
that the IP header is 40 Bytes (which corresponds to the IPv6 header shown in the
figure). Further overhead which is introduced by higher protocol layers (such as RTP or
UDP) for time-stamps and packet sequence numbers is neglected.
Question 2: Calculate the packet overhead under the condition, that before packaging, voice is
compressed from 64 kbits/s to 8 kbits/s. What is the total amount of data to be
transmitted per second?
20. Shopping carts
A super market has one check-out desk in service. One check-out desk can handle 6
customers per minute (on average). At the busy hour, there are 10 customers per minute (on
average) arriving with their shopping carts at the check-out.
Question 1: What will happen?
Question 2: The management immediately reacts to the situation and opens a second checkout desk. How many customers can now be handled with 2 check-out desks? Explain,
why the service rate will always need to be higher than the arrival rate and why a
utilisation factor of 1 (service rate equals arrival rate) cannot be achieved.
Question 3: Same situation as in question 2 (i.e. 2 check-out desks in operation). Under the
assumption, that customers are driven to the check-out according to a Poisson-type of
process, how many customers are in the system (in the queue and being served) on
average?
21. Output Buffer
At the output interface of a system, messages are exchanged with another network
element. A buffer is used to queue messages until they have been transmitted over the
communication channel. The system generates 10 transactions per second. For each
transaction, a message is send to the output buffer. The message size is 600 Bytes.
Frage: Calculate the utilisation factor and the average number of messages in the system
(buffer plus being served) for the following two cases:
1)
the channel provides a bitrate of 64 kbits/s
2)
the channel provides a bitrate of 10 Mbits/s
22. Relations at Examination Time
The class diagram below describes relation at the time of the examination. Read and
explain the figure.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
17/74
242
7 Exercises
The class diagram below describes relation at the time of the examination.
Read and explain the figure.
Informatik Masterstudium
The class diagram
below
Computing & Communications,
PM2100.1
describesAggregation
relation at(“has
the a”)
time of the examination.
Read and explain the figure.
Participant
Generalisation
(“is a”)
Aggregation
(“hasExamination
a”)
takes
part
+time
*
+date
Examination
+location
takes part
+name
Participant
Generalisation
(“is a”)
+name
+time
terminate()
+date
+location
*
Student
Teacher
-immatriculno: int
Student boolean
-confident:
terminate()
Teacher
-immatriculno: int
writes
think()
-confident: boolean
solves
write()
Composition
writes
think()
terminate()
solves
write()
Composition Problem
Task
+number
* Problem
+text
+titel
Task
+date
terminate()
+titel
+date
Association
*
Association
+number
+text
*
Question
*
+questionno
Question
+text
+questionno
+text
More specifically, the examination for Telecommunication Software Engineering
willspecifically,
look
like this:
More
the examination
for Telecommunication
Software
More specifically,
the examination
for Telecommunication
Engineering will look
like this: Engineering will look like this:
Task
Problem
Task
+titel
+date
+titel
2
2
+date
Problem
+number
+text
+number
+text
Question
*
{< 8}*
{< 8}
Question
+questionno
+text
+questionno
+text
23. Evaluation of Results
7.2.11
Evaluation
ofareResults
7.2.11
Evaluation
Results
Following
examination,
the resultsof
evaluated by the teacher and made available to
the students by using the immatriculation numbers as reference. Also the overall results
examination,
the
are
evaluated
by the
themay
teacher
and
made
(average,Following
standard
deviation)
are evaluated
and
made
available,
so everone
find out
his
Following
examination,
theresults
results
are
evaluated
by
teacher
and
made
individual
position to
in to
thethe
results.
Theby
corresponding
classes
and relations
are shown
inreference.
the
available
the
students
numbers
available
students
byusing
usingthe
the immatriculation
immatriculation
numbers
asasreference.
figure.Also
the
overall
results
(average,
standard
deviation)
are
evaluated
and
made
Also the overall results (average, standard deviation) are evaluated and made
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
18/74
7.2 Part Two (Complete Book)
Informatik Masterstudium
Computing & Communications, PM2100.1
available, so everone may find out his individual position in the results. The
corresponding classes and relations are shown in the figure.
7.2 Part Two (Complete Book)
Student
available, so everone may find out his individual position in the results. The
corresponding classes
and relations are shown in the figure.
reads
Student
IndividualScore
immatriculno: int reads
totalPoints
totalPointsAchieved
QuestionNo
*
IndividualScore
maxPoints
pointsAchieved
QuestionNo
countPoints()
immatriculno: int
*
totalPoints
totalPointsAchieved
maxPoints
evaluates
pointsAchieved
Teacher
countPoints()
evaluates
Teacher
assignPoints()
Question 1: Extend the diagram above to allow theassignPoints()
evaluation of the average
results ofQuestion:
all students
total above
score)toand
thetheevaluation
of the
the average
overallresults
stan- of all
Extend(i.e.
the the
diagram
allow
evaluation of
Question
1:
Extend
the
diagram
above
to
allow
the
evaluation
of
the
average
dard deviation.
The total
score
bethe
accessible
all overall
students.
students
(i.e. the
total should
score) and
evaluation to
of the
standard deviation. The
results
of
all
students
(i.e.
the
total
score)
and
the
evaluation
of
the
overall stanSolution: total score should be accessible to all students.
dard deviation. The total score should be accessible to all students.
Solution:
Solution:
Student
Student
reads
reads
reads
reads
IndividualScore
IndividualScore
immatriculno: int
immatriculno: int
totalPoints
totalPoints
totalPointsAchieved
totalPointsAchieved
QuestionNo
*
QuestionNo
*
maxPoints
maxPoints
pointsAchieved
pointsAchieved
countPoints()
countPoints()
*
*
1
1
TotalScore
evaluates
evaluates
Teacher
Teacher
TotalScore
average
average standardDeviation
standardDeviation
assignPoints()
assignPoints()
calcAverage()
calcAverage()
calcDeviation()
calcDeviation()
Question 2: The diagram above represents a class diagram. Show the relations between the IndividualScore, TotalScore and QuestionNo in an object diQuestion
2: The diagram above represents a class diagram. Show the relatiagram
with instancesÜbungen_Kommunikationssysteme_PM_2001_1_Teil_2
for 3 students (with imatriculation numbers 37, 56, and 19/74
S. Rupp,
2014
ons between
the
IndividualScore,
TotalScore
and QuestionNo in an object di89) and 2 questions (QuestionNo)
per IndividualScore.
agram with instances for 3 students (with imatriculation numbers 37, 56, and
89) and 2 questions (QuestionNo) per IndividualScore.
2
44
Informatik Masterstudium
Computing & Communications, PM2100.1
Question 2: The diagram above represents a class diagram. Show the relations between the
IndividualScore, TotalScore and QuestionNo in an object diagram with instances for 3
7 Exercises
students (with imatriculation numbers 37, 56, and 89) and 2 questions (QuestionNo) per
IndividualScore.
Solution
(including
some
arbitrarily
chosen
valuesvalues
for attributes):
Solution
(including
some
arbitrarily
chosen
for attributes):
:TotalScore
average= 74
standardDeviation= 8
:QuestionNo
:IndividualScore
maxPoints= 40
pointsAchieved= 26
immatriculno= 37
totalPoints= 100
totalPointsAchieved= 56
:QuestionNo
maxPoints= 60
pointsAchieved= 30
:QuestionNo
:IndividualScore
maxPoints= 40
pointsAchieved= 36
immatriculno= 56
totalPoints= 100
totalPointsAchieved= 78
:QuestionNo
maxPoints= 60
pointsAchieved= 42
:QuestionNo
:IndividualScore
maxPoints= 40
pointsAchieved= 40
immatriculno= 89
totalPoints= 100
totalPointsAchieved= 88
:QuestionNo
maxPoints= 60
pointsAchieved= 48
3: How
the same as
instances
as in3 question
3 look
like(such
in ta-as tables
QuestionQuestion
3: How would
thewould
same instances
in question
look like in
ta- bles
bles
(such
as
tables
in
a
relational
data
base)?
in a relational data base)?
Solution: Classes thanslate into rows of a table (i.e. relations), objects popuSolution:
Classes
rowsThis
of a table
(i.e.
objects
populate the table
late
the table
(i.e. thanslate
representinto
tuples).
results
in relations),
the following
structure:
(i.e. represent tuples). This results in the following structure:
TotalScore
average
standardDeviation
74
8
IndividualScore
immatricul total
no
Points
totalPoints
Achieved
Question max
No
Points
Question max
Points
Points
Achieved No
Points
Achieved
74
100
56
1
40
26
2
60
30
56
100
78
1
40
36
2
60
42
89
100
88
1
40
40
2
60
48
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
Question 4: In C++ a class can be represented in code as shown in the figure.
20/74
Question 3: How would the same instances as in question 3 look like in tables
(such as tables in a relational data base)?
Informatik Masterstudium
Classes
thanslate into rows of a table (i.e. relations), objects popuComputing &Solution:
Communications,
PM2100.1
late the table (i.e. represent tuples). This results in the following structure:
TotalScore
average
standardDeviation
74
8
IndividualScore
immatricul total
no
Points
totalPoints Question max
No
Points
Achieved
Question max
Points
Points
Achieved No
Points
Achieved
74
100
56
1
40
26
2
60
30
56
100
78
1
40
36
2
60
42
89
100
88
1
40
40
2
60
48
7.2 Part Two (Complete Book)
Question 4: In C++ a class can be represented in code as shown in the figure. How would the
classs “IndividualScore” be expressed in C++ (for “IndividualScore” see the figure at the
Question 4: In C++ a class can be represented in code as shown in the figure.
beginning of this exercise above question 1)?
How would the classs “IndividualScore” be expressed in C++ (for “Indiviclass Table {
Integer column1;
Integer column2;
void setValue() {
// ... (Implementation)
}
void getValue() {
// ... (Implementation)
}
}
Table
column1: int
column2: int
setValue()
getValue()
dualScore” see the figure at the beginning of this exercise above question 1)?
24. Service Discovery
A Service Provider plans to offer services, which are accessible via Blue- tooth access
7.2.12
Service Discovery
points. Access is possible from personal computers (laptops, PCs), but the most popular
devices are supposed to be mobile phones (smart- phones). The Bluetooth access points
A Service Provider plans to offer services, which are accessible via Bluerepresent Server devices, the mobile phones represent Client devices (see Figure below).
tooth access points. Access is possible from personal computers (laptops,
but the most popular devices are supposed to be mobile phones (smartPart PCs),
1
phones). The Bluetooth access points represent Server devices, the mobile
For both the mobile phone and the access point, a software application needs to be
phones represent Client devices (see Figure below).
developed. The figure below shows the design of the Bluetooth access point (Server device)
and the mobile phone (Client device).
Part 1
For both the mobile phone and the access point, a software application needs
to be developed. The figure below shows the design of the Bluetooth access
point (Server device) and the mobile phone (Client device).
Client device
S. Rupp, 2014
Client
application
Server device
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
Server
application
21/74
2
Part 1
both the mobile phone and the access point, a software application needs
InformatikFor
Masterstudium
Computing
Communications,
to be& developed.
The PM2100.1
figure below shows the design of the Bluetooth access
point (Server device) and the mobile phone (Client device).
Client device
Server device
Client
application
Service
discovery
Server
application
Service
access
Service
registration
Bluetooth stack
SDP client
Bluetooth stack
Service
Discovery
Protocol
SDP server
SDDB
Service record
QuestionQuestion
1: Explain
the components
of the Server
devicedevice
and the
de- vice
1: Explain
the components
of the Server
andClient
the Client
de- (i.e. their
viceand
(i.e.how
their
function
andNote:
how they
Note: SDP:
ServiceSDDB:
Dis- Service
function
they
interact).
SDP:interact).
Service Discovery
Protocol,
Discovery Data Base.
Question 2: Indicate the sequence, in which the Server application and Cli- ent application use
the functions which are provided by the Bluetooth stack and explain why this sequence is
used.
Part 2
The figure below shows the life cycle of a Service Record on the Service Discovery Data
Base (SDDB). The Server Application controls the complete process. The Service Record is
generated by a pre-fabricated method of the Connector type of object, and is finally written to
the SDDB.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
22/74
Part 2
The figure below shows the life cycle of a Service Record on the Service
Informatik Masterstudium
Discovery
Computing & Communications, PM2100.1 Data Base (SDDB). The Server Application controls the complete
process. The Service Record is generated by a pre-fabricated method of the
Connector type of object, and is finally written to the SDDB.
Server
Application :
: Connector
: open(ObjRf)
: new
notifier :
: new
rec : ServiceRecord
: set service attributes
return notifier :
: acceptAndOpen()
: create record like rec in SDDB
: SDDBRecord
: wait for client
connection
return connection :
: close()
: remove record from SDDB
Question
3: Describe
thein
role
of figure
the objects
in the
and identify
Question 3: Describe the role of
the objects
shown
the
andshown
identify
thefigure
objects,
which
the objects, which are obviously pre-fabricated and are contained in the
are obviously pre-fabricated and are contained in the API framework of the Server device.
API framework of the Server device.
Question 4: From the perspective
of the
Server
Application,of the
sequence
diagramthecontains
Question
4: From
the perspective
the Server
Application,
sequence
different actions: service diagram
registration,
waiting
and actions:
handling
a client
connection,
contains
different
service
registration,
waitingand
and
handling
a
client
connection,
and
closing
the
connection.Identify
the
acclosing the connection.Identify the actions in the diagram and indicate, between which
tions in the diagram and indicate, between which messages of the Server
messages of the Server Application
Alsoexplain
explain
what
is happening
Applicationthey
they happen.
happen. Also
what
is happening
within within
each of
each of the actions.
the actions.
5: Indicateshown
which of
shown
in the diagram
obviously
Question 5: Indicate which ofQuestion
the messages
in the
themessages
diagram
obviously
correspond
to
correspond to methods contained in the API framework of the Server demethods contained in the API framework of the Server device.
vice.
Part 3
In the Bluetooth API framework described in this task, Object References are defined as
a character string of the follow type:
“<Protocol>:<Address>:<Port>;<Parameters>”
For example
“btspp://008003AB8901:1;authentication=true”
indicates that the Bluetooth Serial Port Profile is used (btspp), that the device has
“008003AB8901” as Bluetooth device address (BD_ADDR), that se- rial port 1 is used, and that
authentication is required.
This Object Reference is handed to the Connector.open method:
Connector.open(“btspp://008003AB8901:1;authentication=true”)
At the server side, this can be seen in the figure of part 2 (first method call “:
open(ObjRf)”). The same Object Reference is also handed to the Connector.open method of the
client.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
23/74
8
Informatik Masterstudium
Computing & Communications, PM2100.1
Question 6: Explain the purpose of handing the Object Reference to the Connector.open
method at the server side and at the client side.
Part 4
7
Exercises
After
the client has succeded in connecting to the server and to invoke the Server
application, it may exchange objects (files, messages etc) using the OBEX protocol. In terms of
the API framework in use, OBEX represents a content type of connection over input streams
However,
serverthesettings
requirerequire
the client
to submit
to to
authentication,
and output
streams. the
However,
server settings
the client
to submit
authentication,
beforebefore
OBEX can
be invoked
authentication).
authentication
followsauthe
OBEX
can be(application
invoked level
(application
level OBEX
authentication).
OBEX
procedure
shown in the
figure the
below.
thentication
follows
procedure shown in the figure below.
Client
Server
password
password
Random
Generator
Challenge
append
append
Password+
Challenge
Password+
Challenge
Response
MD5
Hash
MD5
Hash
compare
[equal]
indicate
success
[not equal]
indicate
authentication
failed
Question 7: Explain the procedure shown in the figure.
Question 7: Explain the procedure shown in the figure.
Question 8: The procedure is only possible under a specific prior condition. What is this
Question
The
is only possible under a specific prior condition.
condition
and 8:
how
canprocedure
it be realised?
What is this condition and how can it be realised?
Question 9: The diagram does not comply with standards for UML activity diagram.
Question 9: The
doesand
not“compare”
comply are
withmissing.
standards
UML
Synchronisation
pointsdiagram
at “append”
Also,for
there
is noactivity
starting
diagram.
Synchronisation
points
at
“append”
and
“compare”
are
mispoint and no end point for the flow of control.
sing. Also, there is no starting point and no end point for the flow of control. Change the figure to comply with UML standards.
25. UPNP Remote Control
It is supposed,
that the suppliers
of Consumer Electronics and Domestic Ap- pliances
7.2.13
Personal
Networks
have agreed on a common interface for controlling devices in order to overcome the problem of
the steadily growing number of individual remote controls in households. It is assumed, that
A Service Provider plans to offer Personal Network Services. The services
they plan to implement Universal Plug and Play as standard for service discovery and service
should enable service subscribers to connect devices from their personal envicontrol.
ronment to a Personal Network and to access their Personal Network from
anywhere.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
24/74
Access is possible
from personal computers (laptops, PCs), but the most
popular device is supposed to be a mobile phone (smart phone). For mobile phones, the Service Provider plans to use Bluetooth access points (or Access Gate-
It is supposed, that the suppliers of Consumer Electronics and Domestic Appliances have agreed on a common interface for controlling devices in order to
Informatik Masterstudium overcome the problem of the steadily growing number of individual remote
controls
in households. It is assumed, that they plan to implement Universal
Computing & Communications,
PM2100.1
Plug and Play as standard for service discovery and service control.
Part 1
Part 1
In Universal Plug and Play, devices are assumed to contain services. Devices and
In Universal
Plugmodel
and Play,
devices
assumed
to contain services. Deservices are required to follow
the general
shown
in theare
figure.
vices and services are required to follow the general model shown in the figure.
Device
Service
deviceType : String
friendlyName : String
manufacturer : String
manufacturerURL : URL
modelDescription : String
modelName : String
modelnumber : String
modelURL : URL
serialNumber : String
UDN : String
UPC : String
urlBase : String
presentatioURL : URL
descriptionURL : URL
serviceType : Stringl
serviceID : String
controlURL : URL
eventSubURL : URL
descriptionURL : URL
0 .. *
0 .. *
Action
StateVariable
name : String
sendingEvents : Boolean
name : String
dataType : String
defaultValue : String
allowedValues : Enumeration
value : String
0 .. *
Icon
mimeType : String
width : Integer
height : Integer
depths : Integer
url : URL
0 .. *
Argument
returnValue : Boolean
name : String
direction : String
value : String
1
related state variable
Question 1: Explain the model for devices and services according to the figure.
Question 1: Explain the model for devices and services according to the fiQuestion 2: In UPNP, actionsgure.
of a service may be invoked by sending messages to the control
URL of the service.
The service
“RemoteTvCtrl”
of a TV
Set-Top-Box
supports
Question
2: In UPNP,
actions of a service
may
be invoked by
sending the
messages
to
the
control
URL
of
the
service.
The
service
“RemoteTvCtrl”
of
following actions:
a TV Set-Top-Box supports the following actions:
mute()
(1) mute()
setVolume(string Level),
(2) setVolume(string Level), where the value of Level is betwhere the value of Level
is between
“0” and “10”
ween
“0” and “10”
(3) getChannelNo(string
ChanNo)
getChannelNo(string
ChanNo)
Show the Actions and Arguments in an object diagram of the “Remo- teTvCtrl” service instance.
Question 3: About states. If the “sendingEvents” attribute of the “StateVa- riable” is set “true”,
the value of the “StateVariable” will be automatical- ly communicated to other devices,
which subscribe to state changes. A technical alternative to Event Notifications would be
explicit State Re- quests by invocation of actions. Explain the pros and cons of an automatic State Eventing versus explicit State Requests.
Question 4: About service descriptions to generate clients. A Remote Con- trol may extract a
formal description of the services offered by the device (XML document) by issuing a
request to the “description URL” contai- ned in the Service object. What information will
the service description need to contain in order to enable the generation of a
corresponding cli-ent function in the Remote Control?
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
25/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Part 2
When a device enters a new environment, it needs to perform Service Dis- covery in
order to find other devices. In UPNP, the device gets a network address (e.g. by DHCP), then
sends a multicast discovery message to the net- work and waits for responses. In order to avoid
collisions by having other de- vices reply at the same time, the device sends a time interval with
its Discovery Requests. Other devices answer within this interval at a randomly chosen point of
time. It is planned to use UPNP discovery for wireless devices (e.g. infrared or Bluetooth) which
operate over 10 kbits/s interfaces. Discovery response mes- sages are 500 Bytes.
Question 5: Calculate the length T of the time interval for responses, which is needed for a
collissionfree operation of Pno-coll=0,9 for a number of 10 devices.
Question 6: When a new device enters a UPNP network, it also multicasts a presence
notification which includes the advertisment of its services. Ex- plain the difference
between issuing service discovery requests and issu- ing such presence notifications.
Indicate, whether there is a useful combination of both methods.
Part 3
256
7 Exercises
With UPNP, the interface of a service contained in a device is specified in a service
description, which may be read from the service as an XML document. From this formal
description of the server interface,
a client
function
may be
for theclient,
UPNPserver
Remote
The figure
on the
left shows
the generated
relations between
and the inControl. The figure on the left
showsThis
the relation
relationsmay
between
serverasand
the in
interface.
terface.
also beclient,
expressed
shown
the classThis
diagram on
the as
right.
relation may also be expressed
shown in the class diagram on the right.
Client
Client
use
<<interface>>
ServerInterface
ServerInterface
Server
Server
<<interface>>
ServerInterface
Question 7: Explain this relation.
Question 7: Explain this relation.
Part 4
Part 4
Using a UPNP Remote Control in a domestic environment generates security issues.
Using a UPNP Remote Control in a domestic environment generates secu-
Question 8: Indicate some
of the issues and describe adequate potential so- lutions.
rity issues.
Question 8: Indicate some of the issues and describe adequate potential solutions.
26. Client-Server Communication
7.2.16
Location
Based
Services
Client and Server of an
application
communicate
with each
other using SOAP as protocol
framework. SOAP is agnostic of the supporting protocol (it binds to it and is aware of its properties), but does not depend on it (i.e. the supporting protocol may be exchanged).
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
26/74
7.2.17 Client-Server Communication
Informatik Masterstudium
Computing & Communications, PM2100.1
Part 1
Messages
from application
SOAP
Message Exchange
Pattern
supporting
protocol ( HTTP, IIOP, ...)
Encoding for
transport
Transport
Protocol (TCP, ...)
!
!
Client and Server of an application communicate with each
other using SOAP as protocol
framework. SOAP is agnostic of
the supporting protocol (it binds
to it and is aware of its properties), but does not depend on it
(i.e. the supporting protocol may
be exchanged).
Question 1: What Question
are the pros
and cons
(benefits
andcons
drawbacks)
using
a protocolof using a
1: What
are the
pros and
(benefitsofand
drawbacks)
framework versusprotocol
directly usind
a specificversus
protocol?
framework
directly usind a specific protocol?
Question 2: The following
table 2:
shows
and events
the SOAP
Request-Reply
Message
Question
The states
following
table ofshows
states
and events of
the SOAP Re7 Exercises
Exchange Patternquest-Reply
which is to be
used forExchange
the client-server
table
Message
Patterncommunication.
which is to beThe
used
for the clishows the clientent-server
side. Translate
the
table
into
a
state
diagram.
How
does
the
communication. The table shows the client side. Translate the
corresponding state
diagram
for
the server
differHow
from does
the client?
table into a state
diagram.
the corresponding state diagram for
the server differ from the client?
Transitions:
State
Description
Event
Next state
Init
Generate & send
request message
Request sent
successfully
Requesting
Failure to
send
Failed
Receive reply
Sending&
Receiving
Reception Failure/
Time out
Failed
Response message
well formed
Success
Reception failure
Failed
Requesting
Sending&
Receiving
Waiting for reply
Receiving reply
message
!
Question 3: For transport, messages will need to be serialised. Name pros and cons of
For transport,
messages
binaryQuestion
encoding 3:
versus
representation
by text.will need to be serialised. Name pros
and cons of binary encoding versus representation by text.
Part 2
The2Client is going to be implemented by using a Finite State Machine according to the
Part
following Class Diagram. The diagram also includes some sug- gestions on the implementation
of theThe
methods
in pseudocode).
Client(asiscomments
going to be
implemented by using a Finite State Machine ac-
cording to the following Class Diagram. The diagram also includes some suggestions on the implementation of the methods (as comments in pseudocode).
Context
State
1
tateVariable : State
transit(c : Context) : void
etState() : void
tateAction() : void
teVariable.transit(this)
InitState
S. Rupp, 2014
transit() : void
RequestingState
SendReceiveState
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
transit() : void
transit() : void
27/74
Question 3: For transport, messages will need to be serialised. Name pros
and cons of binary encoding versus representation by text.
Informatik Masterstudium Part 2
Computing & Communications, PM2100.1
The Client is going to be implemented by using a Finite State Machine according to the following Class Diagram. The diagram also includes some suggestions on the implementation of the methods (as comments in pseudocode).
Context
State
1
stateVariable : State
transit(c : Context) : void
setState() : void
stateAction() : void
...
stateVariable.transit(this)
InitState
RequestingState
SendReceiveState
transit() : void
transit() : void
transit() : void
...
...
...
setState(s : State) {
stateVariable = s; }
...
...
// do actions
// do actions
c.setState(rs : RequestingState);
c.setState( srs : SendReceiveState);
...
...
Question 4: Explain the components of the class diagram and their relations
Question 4: Explain the components
of more
the class
diagram
(syntax only,
questions
follow).and their relations (syntax only, more
questions follow). Question 5: Complete the diagram with the missing states (see Part 1).
Question 5: Complete theQuestion
diagram6:with
thethe
missing
states
Part 1).
Explain
function
of the (see
components
and how state transitions are handled. Hints: Which component holds the state? Why do the
Question 6: Explain the function of the components and how state transitions are handled.
Hints: Which component holds the state? Why do thestate objects do not have attributes?
Which objects handle state transitions? What is the sequence of events in a state
transition (also see comments in the diagram)?
Part 3
While client and server communicate with each other, they exchange SOAP messages.
Most frequently, SOAP messages are represented by text messages (in form of XML
documents which are exchanged over HTTP ).
Question 7: There are security risks in exchanging such messages over the Internet. Name
some potential threats.
Question 8: Name some measures, by which such risks in the communication between client
and server may be mitigated and explain why they improve the situation (i.e. explain the
basic principle of the suggested measures).
27. Home Networks
In a home network, sensors (such as light switches, door bell, temperature measurement,
smoke detection, moisture measurement, counters) are planned to be coupled over wireless
interfaces with actors (such as lights, shutters, lo- cal and remote displays, alarms).
Part 1
The following classes are planned to be used as part of the software for de- vices in
home networks.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
28/74
Informatik Masterstudium
Computing & Communications, PM2100.1
7.2 Part Two (Complete Book)
265
.
Subject
<< abstract >>
Obersver
attach(Oberser)
*
detach(Oberserver)
update()
notify()
...
for all o in Oberservers {
o.update();
}
...
ConcreteOberver
- opservedState
ConcreteSubject
+ update()
- subjectState
+ setState()
+ getState()
return subjectState;
...
observedState = subject.getState();
...
Question 1: Explain the diagram (syntax only, more questions follow).
Question
it works.
Question2:
1:Explain
Explain how
the diagram
(syntax only, more questions follow).
Question
Part
2 2: Explain how it works.
266Question 3: 2 Two 7instances
Exercises of ConcreteObservers have been attached to an inctance of a
Part 2ConreteSubject, as shown in the following sequence dia- gram. Complete the actions in
the sequence diagram.
Question 3: 2 Two instances of ConcreteObservers have been attached to an
inctance of a ConreteSubject, as shown in the following sequence diagram.
Complete the actions in the
sequence diagram.
display1 : ConcreteObserver
display1 : ConcreteObserver
switch : ConreteSubject
setState(on)
notify()
Question
In the
case of the two ConcreteObservers
from(not just
Question 4: In the case
of the 4:two
ConcreteObservers
being different being
from different
each other
each other (not just different instances), how would the class diagram
different instances),
theto class
need to be changed to reflect the
needhow
to bewould
changed
reflect diagram
the difference?
difference?
Part 3
Part 3
Question 5: The 2nd Question
ConcreteObserver
is going to be implemented
in a differentinsystem
5: The 2nd ConcreteObserver
is going to be implemented
a dif- than
ferent
system
than
the
ConcreteSubject
and
the
1st
observer
(e.g.
system
the ConcreteSubject and the 1st observer (e.g. system 1 being a light switch with control
1 being a light switch with control LED and system 2 the light). Explain
which additional context is needed to make both systems interact.
S. Rupp, 2014
Question
6: In such a network, it is essential to connect the right sensor to 29/74
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
the right actor (i.e. match light switches to the right lights). Also, it
should be possible to add and remove devices easily at any time. Explain
the corresponding issues and possible solutions.
70
7 Exercises
Informatik Masterstudium
Computing & Communications, PM2100.1
Part 3
LED and system 2 the light). Explain which additional context is needed to make both
In the service
systems
interact.described in Part 2, authentication of devices is based on Blue-
tooth link keys (K_ab), which are 128 bit numbers. Given a hugh amount of
Question
6: In such
a network,
it ismight
essential
to connect
the right to
sensor
to the
rightby
actor (i.e.
bluetooth
devices,
a device
accidently
authenticate
another
device
match
switcheslink
to the
havinglight
a matching
key.right lights). Also, it should be possible to add and remove
devices easily at any time. Explain the corresponding issues and possible solutions.
Question 7: If link keys are randomly distributed, what is the probablility,
Question 7: that
Security.
security
in such
a keys
network
possible measures for
amongName
10.000
Mio. ofissues
devices,
all link
are and
different?
protection.
Question 8: Given one specific device, what is the probability that no other
Question 8: Explain
how certificates
could
be used
to improve
issues.
device (among
the 10.000
Mio.
devices)
has thesecurity
same link
key?
7.2.21 Mobile
Peer-to-Peer
Networks
28. Mobile
Peer-to-Peer
Networks
ByBy
downloading
and and
installing
software
on mobile
phones,
mobilemobile
peer-topeer networks
downloading
installing
software
on mobile
phones,
peer-tomay bepeer
generated
(in
much
the
same
way
than
instant
messaging
or
file
sharing
works with
networks may be generated (in much the same way than instant mesPCs over
the or
Internet).
A service
provider
plansover
to provide
such client
software
for download.
saging
file sharing
works
with PCs
the Internet).
A service
provider
plans
to
provide
such
client
software
for
download.
Clients
may
become
Clients may become part of the network, when they activate the software, andpart
leave the
ofwhen
the network,
they activate
thespeaking,
software,clients
and leave
the network
when
network
they quit when
the application.
Strictly
can also
receive messages
and
they
quit
the
application.
Strictly
speaking,
clients
can
also
receive
messages
offer services, i.e. act as servers. Because both client and server part are implemented,
and offer
i.e. called
act as “peers”.
servers. Because both client and server part are
participants
in theservices,
network are
implemented, participants in the network are called “peers”.
ByBy
joining
in, peers
generate
a logical
network,
or overlay
network
(see (see
fi- gure
joining
in, peers
generate
a logical
network,
or overlay
network
fi- below).
The service
provider
also
plansprovider
to provide
peers”,
i.e.“super
more peers”,
permanent
participants
gure below).
The
service
also“super
plans to
provide
i.e. moinstalled
servers, which
serve as
directories
or look-up
servers
in order
to facilitate
re on
permanent
participants
installed
on servers,
which
serve
as directories
or network
look-up servers in order to facilitate network organisation.
organisation.
Overlay Networks
(Peer-to-Peer Networks)
Super Peer
Peer
server
Physical Networks
mobile phone
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
30/74
Informatik Masterstudium
Computing & Communications, PM2100.1
7.2 Part Two (Complete Book)
271
Part 1
Part 1
Question 1: Peers can be identified by their PeerID, i.e. a number, which serves as a unique
Question 1:
Peers can
be identified
by can
their PeerID,
i.e. a number,
which
ser-chose a design for the
identifier.
Explain,
how
Peer IDs
be assigned
to peers
and
ves
as
a
unique
identifier.
Explain,
how
Peer
IDs
can
be
assigned
to
peers
service provider.
and chose a design for the service provider.
QuestionQuestion
2: Peers
maymay
joinjoin
thethenetwork,
look-upthethe
presence
of peers,
other peers, and leave the
2: Peers
network, look-up
presence
of other
and leave
the network.
Specify
a principle
design organisafor networktion
organisanetwork.
Specify
a principle
design
for network
for the service provider (i.e.
tion for
provider
(i.e. functions
supported by
functions
tothe
beservice
supported
by peers
and to to
bebedeveloped
forpeers
the and
peer software).
to be developed for the peer software).
QuestionQuestion
3: Alice3: and
have
both
thepeer
peer
software
on motheir mo- bile phones and
AliceBob
and Bob
have
bothinstalled
installed the
software
on their
bile
phones
and
Bob
is
now
trying
to
find
Alice
over
the
network.
There
Bob is now trying to find Alice over the network. There are 100 Mio. peers in the network,
100 knows
Mio. peers
in the network,
each
peer knows
8 other
peers
on ave- requests are required
eachare
peer
8 other
peers on
average.
How
many
discovery
rage. How many discovery requests are required and how many nodes
and (hops)
how many
nodes (hops)
a travel
discovery
request cases:
need (1)
to travel in the following
does a discovery
requestdoes
need to
in the following
without
the super the
peerssuper
(i.e. Bob’s
peer
sends
a request
8 other apeers,
cases:
(1) without
peers
(i.e.
Bob’s
peertosends
request to 8 other peers,
which
again
propagatethe
thediscovery
discovery request),
request), (2)
thethe
super
which
again
propagate
(2)including
including
super peers, with each of
peers, with each of them knowing 100.000 users (peers) and connecting
themtoknowing
100.000
users
connecting
to 82?other super peers. Can you
8 other super
peers. Can
you(peers)
improveand
the design
of question
improve the design of question 2?
Part 2
Part 2
The
softwareneeds
needs
to designed
be designed
to support
interfaces, such as
Thepeer
peer software
to be
to support
differentdifferent
physical physical
interas HTTP type over
of connections
GSMchannels,
or UMTS channels,
serial
HTTP faces,
type such
of connections
GSM orover
UMTS
serial connections
over Infrared or
connections over Infrared or Bluetooth, TCP sockets etc. The following design
Bluetooth,
TCP
sockets etc. The following design has been chosen.
has been
chosen.
Client
uses
<< abstract >>
Generator
generates
Connection:createConnection(typeInfo)
<< abstract >>
Connection
transmit()
receive()
ConcreteGenerator
HTTPConnection
Connection:createConnection(typeInfo)
return new ConcreteConnetion();
SerialConnection
transmit()
transmit()
receive()
receive()
ConcreteConnetion
Question 4: Explain the components of the diagram and their relations (syntax only, more
questions follow). How could the diagram be extended for a TCP socket type of
connection?
Question 5: Explain the function of the diagram, i.e. how it is used to establish a connection
from one peer to another. Explain how the Concrete Generator could be implemented
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
31/74
Informatik Masterstudium
Computing & Communications, PM2100.1
and what the typeInfo needs to contain in order to connect to another peer over the
network.
Question 6: Explain the sequence of events when connecting from one peer to another over a
HTTP connection in a sequence diagram.
Part 3
Alice installs a new service on her mobile phone, which provides access to her photo
library over the peer-to-peer network. Bob has been able to discover the phone of Alice and is
able connect to Alice.
Question 7: How can Bob discover the new service and find out what it is? Explain which
information needs to be specified for service discovery and give some guidelines for
implementation.
Question 8: Following discovery, what is needed to access and use the service? Explain which
information needs to be specified on the phone of Alice and how the service can be
invoked by Bob.
29. CORBA and RMI
The figure shows the process of generating a server application and a matching client
application by use of CORBA, as well as the resulting architecture.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
32/74
228
7 Exercises
Informatik Masterstudium
The figure shows the process of generating a server application and a matComputing & Communications, PM2100.1
ching client application by use of CORBA, as well as the resulting architecture.
IDL to C++
Compiler
C++
Interface
Object
Interface
Definition
C++
Stub
C++
Client
Application
IDL to Java
Compiler
Java
Interface
Java
Skeleton
Java
Server
Application
written by
application
developer
Java
Compiler
C++
Compiler
ObRf
C++
Stub
ORB Core
Middleware
IIOP
Obj.
Java
Skeleton Adapter
ORB Core
Client
Server
!
Question 1: Explain Question
the process
and
the role
the resulting
on the system.
11.1:
Explain
theofprocess
and thecomponents
role of the resulting
components
on the system.
Question 2: When using the Java Remote Method Invokation (RMI), the procedure is similar as
11.2:
Whenare
using
the Java
Remote
Method
InvokationCompare
(RMI), theboth
with CORBA.Question
However,
there
some
characteristic
differences.
procedure
is
similar
as
with
CORBA.
However,
there
are
some
charactechnologies.
teristic differences. Compare both technologies.
30. CORBA7.1.12
and Web-Services
Clients and Servers
While using CORBA, a client-stub is compiled from a formal interface definition which is
Explain the difference between a client and a server.
contained in an IDL-file. Name an equivalent formal description of the interface with WebServices.
7.1.13 Threads and Processes
Threads are flows of control within the address space of a process.
31. Remote Control
for Home Networks
Devices at home, such as TV, stereo, lights, door opener, cookers, washing machines
etc. increasingly support interfaces, which allow to monitor their sta- tes and allow to call actions
on them. However, most of the device interfaces are proprietary, i.e. they are specified any way
their vendor likes. Thus, a universal remote control for a variety of devices needs to be
developed in a way that allows to handle a multitude of interfaces and is easily extensible.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
33/74
are proprietary, i.e. they are specified any way their vendor likes. Thus, a universal remote control for a variety of devices needs to be developed in a way
that allows to handle a multitude of interfaces and is easily extensible.
Informatik Masterstudium
Computing & Communications, PM2100.1
Part 1
Part 1 It is supposed, that each device has an interface description, which is specified
a well known
format
(i.e. using
aninterface
interfacedescription,
descriptionwhich
language).
The in a well
It is in
supposed,
that each
device
has an
is specified
interface
description
may
be
retrieved
as
a
text
document
either
directly
from
known format (i.e. using an interface description language). The interface description may be
the device or it may be downloaded from the Web, so that there is no need for
retrieved as a text document either directly from the device or it may be downloaded from the
the developer of the remote control to study specification papers. The figure
Web, so that there is no need for the developer of the remote control to study specification
below illustrates the principle of how to retrieve, process and use the interface
papers. The figure below illustrates the principle of how to retrieve, process and use the
description to control a device.
interface description to control a device.
Remote Control
Device, e.g. TV
display
selected action
Device: TV
IDL-Doc.
(1) retrieve interface
description
on()
(2) process
interface description
mute()
...
on()
mute()
channelUp()
volumeUp()
off()
...
channelUp()
exec
interface
description
back
(3) call actions
on device
!
execute
command
scroll through
command list
Question 1: Which information needs to be contained in the interface description in order to
allow the remote control to use it?
1: Which
needsin tothe
be figure.
contained
the vendor
interfacespecific
de- actions
QuestionQuestion
2: Explain
the 3 information
steps indicated
Howinare
scription
in
order
to
allow
the
remote
control
to
use
it?
handled?
Part 2
Question 2: Explain the 3 steps indicated in the figure. How are vendor specific actions handled?
Question 3: What do all devices and the remote control need as common runtime environment
Question 3: What do all devices and the remote control need as common
to support
step
1 and 3? to support step 1 and 3?
runtime
environment
Rather than using a display, the developer decides to use a more conventional design
with real
for actions on devices, as shown in the figure below. This design is driven by
Partbuttons
2
the following considerations:
•
At configuration time, commands according to actions contained in the interface
description are associated with device buttons (configuration time corresponds to
step 2 of part 1).
•
Following configuration, the device buttons are labelled and may be used in the
following way: select a device action, then execute the action by pressing a
command button. In the design on the right, selection and execution are combined.
This design leads the developer to the following domain model for the software to be
developed on the remote control.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
34/74
interface description are associated with device buttons (configuration time
corresponds to step 2 of part 1).
(2) Following configuration, the device buttons are labelled and may be used
in the following way: select a device action, then execute the action by presInformatik Masterstudium
sing a command button. In the design on the right, selection and execution are
Computing & Communications,combined.
PM2100.1
This design leads the developer to the following domain model for the software to be developed on the remote control.
Command activeCmd;
public void setCommand(Command c) {
activeCmd = c;
}
Configurator
Activator
<< interface>>
Command
setCommand()
execute()
undo()
contains the vendor
specific actions on devices
ConcreteCommand
DeviceCtrler
creates
action()
execute()
undo()
public void execute() {
creates
deviceCtrler.action();
}
Question 4: 2 Explain the components of the diagram and their relations (syntax only, more
questions follow).
Question 5: Explain the role of each component and how the software is supposed to work.
Question 6: In relation to the design of the remote control (with device buttons and command
buttons), explain what happens at runtime when buttons are pressed. Which difference
does the design of the remote control on the right make in comparison to the design on
the left?
Question 7: Again at runtime, explain how the configuration works (i.e. what the code of the
Configurator is supposed to do). How flexible is the concept really with respect to
configuration?
Question 8: Explain in general, how the concept needs to be extended in order to support the
“undo” command (i.e. what extra information is needed and how it may be processed).
32. Remote Player
For audivisual media in the network, remote players are used to access and play the
media. In order to allow remote players to interoperate with the media servers, there need to be
some conventions concerning the interface between player and server. The interfaces need to
be implemented by both the providers of media servers, and by the providers of remote players,
e.g. as software cli- ents to be installed on mobile devices.
Part 1
A network operator, who provides audiovisual content on media servers in his network,
intends to stimulate the development of player software on mobile devices. For this reason, he
publishes some conventions for the interface to the media servers to be followed by the player
software, as shown in the figure below.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
35/74
282
7 Exercises
Informatik Masterstudium
Computing & Communications, PM2100.1
the media servers to be followed by the player software, as shown in the figure
below.
Media Server
Remote Player
display
movie in focus
Movies
Movie
title1
MovieList
title2
0 .. *
title3
more
Stream
movieTitle : String
genre : String
author : String
duration : String
movieID : String
classifier: String
1
mimeType : String
size : String
controlObjRF : URL
back
0 .. *
Action
1
name : String
Icon
select
command
for more
information
mimeType : String
width : Integer
height : Integer
iconObjRF : URL
scroll through
movie list
0 .. *
Argument
returnValue : Boolean
name : String
value : String
Question 1: Which information needs to be contained in the Object References (ObjRF) for the
Question
1: Whichthe
information
needs
to be contained in the Object Refeicon and the stream in order
to access
referenced
objects?
rences (ObjRF) for the icon and the stream in order to access the referencedfor
objects?
Question 2: Instantiate the model
a media stream with the actions play(), stop() and
goto(SceneNumber)? Question 2: Instantiate the model for a media stream with the actions play(),
stop() and goto(SceneNumber)?
Part 2
Part 2has been selected from the list on the remote player, the next
When a movie or a song
7.2 Part Two (Complete Book)
283
step should be to show the icon of the movie or song on the player. The client on the remote
When a movie or a song has been selected from the list on the remote player,
player is using the structure the
shown
in the
following
diagram.
next step
should
be to show
the icon of the movie or song on the player.
The client on the remote player is using the structure shown in the following
diagram.
.
<< interface>>
Icon
Client
show()
...
ImageProxy
ImageIcon
iconObjRF : URL
imageIcon : ImageIcon
show()
show()
if ( imageIcon == 0 ) {
// display message “loading icon”
imageIcon = new ImageIcon( iconObjRF )
}
imageIcon.show()
...
Question 3: 2 Explain the components of the diagram and their relations (syntax only, more
Questionfollow).
3: 2 Explain the components of the diagram and their relations
questions
(syntax only, more questions follow).
Question 4:
Explain
the role
particular
the
Question
4: Explain
the of
roleeach
of eachcomponent,
component, in in
particular
the role
of role
the of the proxy, and how the
proxy,
and
how
the
software
is
supposed
to
work.
software is supposed to work.
Question 5: Show the sequence of events when an icon needs to be loaded
Question 5: Show
thetime
sequence
of events
for the first
in a sequence
diagram.when an icon needs to be loaded for the first time in
a sequence
Question 6:diagram.
One drawback of the procedure is, that if the proxy needs to load
the image icon, the procedure will not return until the icon has been loaded, which freezes the client interface. Describe a way to improve this
situation.
S. Rupp, 2014
Part 3
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
Not every content on the media server is intended for everybody. The free
movies and songs are available for everone, but there is also material, which
36/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Question 6: One drawback of the procedure is, that if the proxy needs to load the image icon,
the procedure will not return until the icon has been loa- ded, which freezes the client
interface. Describe a way to improve this situation.
Part 3
Not every content on the media server is intended for everybody. The free movies and
songs are available for everone, but there is also material, which is not free of charge and other
material only intended for adults. So the media server will need some access control.
Question 7: What credentials could be used to authenticate users who want to access classified
content? Describe a suitable procedure for authenti- cation.
Question 8: How could the class diagram be extended to support access for authenticated
users? How would the new procedure work? Hint: There can be more than one proxy.
33. Universal Remote Control
Equipment in home networks, such domestic appliances, equipment for entertainment
and communication increasingly has interfaces to communicate over networks (such as
Wireless LAN, Ethernet, Bluetooth, Ö). This allows to monitor and control equipment over the
network. In this task, one universal remote control is used to control two different types of TV
sets.
Part 1
General questions on communication and interfaces.
Question 1: What is needed for two network entities to communicate to each other? What
function does a network need to provide to make network entities aware of each other?
Question 2: In order to call functions on another device, e.g. to control the TV, the functional set
of the device is described in a pre defined format, a so called IDL (Interface Definition
Language). What does an IDL type of document need to contain? How can it be used by
another device, e.g. the remote control?
Part 2
As shown in the figure below, there are two different types of TV sets (type A and type B,
e.g. from different manufacturers). Each device supports a service framework (such as UPNP,
WSDL etc), i.e. it contains an IDL type of document for the services it provides.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
37/74
Part 2
As shown
in the figure below, there are two different types of TV sets (type A and type B, e.g.
Informatik
Masterstudium
from different
manufacturers).
Each device supports a service framework (such as UPNP,
Computing
& Communications,
PM2100.1
WSDL etc), i.e. it contains an IDL type of document for the services it provides.
DO
Tag
public status : Status setParameter(par : Parameter)
TV type A
Parameter.Name
Parameter.Value
status := STATUS_OK / STATUS_FAILED / STATUS_UNKNOWN
IDL
Service Description
DO
public status : int setParameter(par : Parameter)
Domain
Ontology
Parameter.name
Parameter.value
Remote
Control
Status := 0 / 9002 / 9005
DO
Tag
TV type B
IDL
Service Description
public transactionID : int setNode(nodeName : String, nodeValue : String)
public result : int getResult (transactionID : int)
result := 200 / 500 / 0
Question 3: With reference the Service Descriptions in the figure above, explain the
functions of both TV types and how they are used.
Question 3: With reference the Service Descriptions in the figure above, explain the functions
of both4:TV
types
and how
they are
used.use of a Domain Ontology, which allows classifying the
Question
The
home
network
makes
types of devices and describes their functions in a general way. Explain what the Domain
Question 4: The home network makes use of a Domain Ontology, which allows classifying
in the and
figure
above their
contains
and in
how
it can way.
be used.
theOntology
types of devices
describes
functions
a general
Explain what the Domain
Ontology in the figure above contains and how it can be used.
Question 5: Explain how the IDL type of definitions may be extended by DO Tags (Domain
Ontology
Tags) and
thistype
Tags
be used
bybethe
Remote
Question
5: Explain
how how
the IDL
of can
definitions
may
extended
bycontrol.
DO Tags (Domain
Ontology Tags) and how this Tags can be used by the Remote control.
Question 6: Describe a sequence of actions in order to (1) ìzapî one TV channel up on TV A,
and then
(2) ìzapîa one
channel
up oninTV
B. to (1) ìzapî one TV channel up on TV A,
Question
6: Describe
sequence
of actions
order
and then (2) ìzapî one channel up on TV B.
Part 3
Another way to use one remote control is adaptation at syntactic level, i.e. by
programming the device to adapting or translating commands. For a TV of type B, user Bob
would like to use a Remote Control (RC) of type A. So, somehow, he will need to use type B
commands on the type A Remote Control. The figure below illustrates the concept.
S. Rupp
3
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
38/74
Another way to use one remote control is adaptation at syntactic level, i.e. by programming
the device to adapting or translating commands. For a TV of type B, user Bob would like to
a Remote Control (RC) of type A. So, somehow, he will need to use type B commands on
Informatikuse
Masterstudium
the& type
A RemotePM2100.1
Control. The figure below illustrates the concept.
Computing
Communications,
Client
uses
Target_RC_A
Source_RC_B
channelUp () : void
zap (i : int) : void
implements
Adapter
channelUp () : void
adaptedObject.zap(1);
Question 7: Explain the components in the diagram and their relation.
Communications Engineering, 6th Term, Exercises on Networks
Question
8: Explain how the components interact at runtime, e.g. in a sequence diagram.
Question 7: Explain the components in the diagram and their relation.
Question 8:basierte
Explain how
the components interact at runtime, e.g. in a sequence diagram.
34.
Ethernet
Feldbusse
Ethernet
basierte Feldbusse
Es werden
werden N=10
N=10Switches
Switches
Serie
betrieben.
An jedem
der Switches
ein lokaler
Es
in in
Serie
betrieben.
An jedem
der Switches
ist einist
lokaler
Controller
angeschlossen,sowie
sowie
eine
Kamera.
An Anfang
am Ende
der Kette
befinden
Controller angeschlossen,
eine
Kamera.
An Anfang
und und
am Ende
der Kette
befinden
sich sich
Anschlüsse an
regulärem
Ethernet-Verkehr.
Zur bevorzugten
Anschlüsse
an lokale
lokale Netze
Netze(LAN)
(LAN)mitmit
regulärem
Ethernet-Verkehr.
Zur bevorzugten
Behandlung der
diedie
zwischen
den den
lokalen
Controllern
ausgetauscht
Behandlung
der Prozessdaten
Prozessdaten(Daten,
(Daten,
zwischen
lokalen
Controllern
ausgetauscht
werden),
stehen
folgende
Verfahren
zur
Auswahl:
werden), stehen folgende Verfahren zur Auswahl:
(a)
•
(a) Verkehrsklassen
mit Priorisierung
der (QoS)
Prozessdaten (QoS)
Verkehrsklassen
mit Priorisierung
der Prozessdaten
(b)
Zeitmultiplex mit alternierenden Segmenten (1) nur Prozessdaten, (2) alle anderen Daten
(c)
•
(b) Zeitmultiplex mit alternierenden Segmenten (1) nur Prozessdaten, (2) alle
anderen Daten
Sammelpaket:
alle Prozessdaten
werden in einerwerden
geeigneten
Struktur
in den Bereich
der in den
•
(c) Sammelpaket:
alle Prozessdaten
in einer
geeigneten
Struktur
Nutzdaten im Ethernet-Rahmen gepackt. Der Datenaustausch pro Switch erfolgt durch
Bereich der Nutzdaten im Ethernet-Rahmen gepackt. Der Datenaustausch pro
spezielle Hardware während der Weiterleitung der Rahmen.
Switch erfolgt durch spezielle Hardware während der Weiterleitung der Rahmen.
1
S. Rupp
2
…
N
4
Verkehrsmodell:
Ethernet
mit mit
einereiner
Übertragungsrate
von 100
Verkehrsmodell:EsEswird
wirdFast
Fast
Ethernet
Übertragungsrate
von Mbit/s
100 Mbit/s
verwendet. Für
Verkehr
werden
die maximal
möglichen
Rahmenlängen
verwendet.
FürVideo
Videound
undallgemeinen
allgemeinen
Verkehr
werden
die maximal
möglichen
Rahmenlängen
angenommen. Die
betragen
250250
Bytes
pro lokalem
Controller
und lassen
sich in sich in
angenommen.
DieProzessdaten
Prozessdaten
betragen
Bytes
pro lokalem
Controller
und lassen
Rahmen der Länge 256 Bytes übertragen. Für die Weiterleitung der Rahmen wird pro Switch
eine
Verarbeitungszeit
(Latenz)
von 0,01 ms angenommen.
S.
Rupp,
2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
39/74
Frage 1: Berechnen Sie für das Verfahren (a) überschlägig die Laufzeitschwankungen am Ende
der Kette für den unter den folgenden Annahmen: maximale Paketlänge (1) 9000 Bytes,
(2) 1500 Bytes, (3) 512 Bytes.
Informatik Masterstudium
Computing & Communications, PM2100.1
Rahmen der Länge 256 Bytes übertragen. Für die Weiterleitung der Rahmen wird pro Switch
eine Verarbeitungszeit (Latenz) von 0,01 ms angenommen.
Frage 1: Berechnen Sie für das Verfahren (a) überschlägig die Laufzeitschwankungen am Ende
der Kette für den unter den folgenden Annahmen: maximale Paketlänge (1) 9000 Bytes,
(2) 1500 Bytes, (3) 512 Bytes.
Frage 2: Berechnen Sie zum Vergleich überschlägig Verfahren (b).
Frage 3: Berechnen Sie überschlägig zum Vergleich Verfahren (c).
35. Anlagensteuerung
Aufgabe 1 - Kommunikationsprotokolle
Zur Kommunikation zwischen Stationsleitgeräten, Steuergeräten auf Feldebene und
3Geräten
Systemkommunikation
auf Prozessebene soll ein Feldbus verwendet werden. Der Feldbus basiert auf den in
der Abbildung wiedergegebenen Protokollen.
Datenmodell (Datenstruktur, Kommunikationsdienste)
Schutzgeräte
GOOSE
(GOOSE)
Abtastwerte
Abtastwerte
(Samped
(Sampled
Values –Values)
SV)
Client-Server
Client-Server-Dienste
Dienste
Zeitkritische Dienste
(Echtzeitanforderungen)
MMS
7
MMS
6
MMS
5
TCP
4
IP
3
Ethernet link layer
2
Ethernet physical layer
1
(a) Schutzgeräte und Datenerfassung
mit hohen Abtastraten
Tobias Gruber, 2012
ISO/OSI 7-SchichtenModell
Mapping (Abbilden auf Kommunikationsmittel)
(b) Steuern und Überwachen
Date: 26.03.2012
Page 21 of y
Frage 1.1 (6 Punkte): Erläutern Sie die im Bild wiedergegebenen Funktionen und
Protokollschichten.
(1) Die Anwendung kommunizierten Daten nach vorgegebenen Datenmodellen.
(2) Abstrakte Kommunikationsdienste können auf Protokollschichten abgebildet werden
(Mapping).
(3) Als Kommunikationsprotokolle werden Ethernet und IP-basierte Protokolle eingesetzt:
(3a) einerseits direkt über Ethernet (Schicht 2), (3b) andererseits über einen kompletten
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
40/74
Informatik Masterstudium
Computing & Communications, PM2100.1
TCP(IP Stack (Schicht 4 und 3), dem ein anwendungsorientiertes Protokoll überlagert ist
(MMS).
Frage 1.2 (6 Punkte): Die zu übermittelnden Daten sind nach Funktionen aufgeteilt in (a)
Schutzgeräte und Datenerfassung mit hohen Abtastraten, (b) Steuern und Überwachen.
Erläutern Sie die Unterschiede in der Realisierung und mögliche Gründe für die
Aufteilung.
•
Unterschiede: Schutzgeräte erfordern kurz Reaktionszeiten und verzichten daher
auf dem Komfort höherer Protokollschichten. Messungen mit hohen Abtastraten (z.B. im
Bereich einiger kHz) erfordern ebenfalls kurze Reaktionszeiten und bilden daher direkt
auf Schicht 2 ab
•
Für Regelung und Überwachung dagegen steht weniger das zeitkritische Verhalten
im Vordergrund, als die sichere und zuverlässige Kommunikation, wie beispielsweise
durch TCP oder Socket-Verbindungen gegeben. Für Fernwirktechnik ist ist eine netzweite
Reichweite erwünscht, wie durch IP gegeben.
Frage 1.3 (4 Punkte): Welche Daten sind unmittelbar tauglich für Weitverkehrsnetze, welche
Daten verbleiben vom Protokoll aus betrachtet im lokalen Netz?
•
Ethernet (Schicht 2): lokale Netze (Ethernet-Switches arbeiten mit MAC-Adressen,
d.h. Geräteadressen). Da Schutzgeräte lokal wirken, bedeutet das keine Einschränkung.
Messdaten müssen für die netzweite Übertragung von einem Datensammler im lokalen
Netz aus in ein IP-Netz eingespeist werden.
•
IP (Schicht 3): netzweit verfügbar (innerhalb verwendeten privaten oder
öffentlichen des IP-Adressraums). Steuern und Überwachen = Fernwirktechnik, benötigt
große Reichweite.
Aufgabe 2 - Nachrichtenaustausch
Zum Lesen und Schreiben von Datenobjekten werden Nachrichten nach einem
vorgegebenen Muster ausgetauscht.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
41/74
3 Der Standard IEC61850
Seite 23
Informatik Masterstudium
Computing & Communications, PM2100.1
sd Exemplarisches Sequenzdiagramm
Stationsleitgerät
(LN: IHMI)
Schaltersteuerung
(LN: CSWI)
Leistungsschalter
(LN: XCBR)
1. SelectRequest (on)
2. SelectRequest (on)
check()
3. SelectResponse +()
4. SelectResponse +()
5. OperateRequest (on)
6. OperateRequest(on)
7. OperateResponse +()
8. OperateResponse +()
9. Report (on)
10. Report (on)
Frage 2.1 (6 Punkte): Rekonstruieren Sie dieses Muster für den Nachrichtenaustausch aus dem
Abb. 12:Sequenzdiagramm
Sequenzdiagramm
Kommunikationsveranschaulichung
in zur
der Abbildung.
aufbauend auf [Sch04], [IEC10-a] und [ABB10]
Das Muster für den Nachrichtenaustausch arbeitet in 3 Phasen: (1) Select - Auswahl
einer Funktion,
- Ausführen eine
einer Anfrage,
Instruktion,um
(3) Report
- Bericht über das Ergebnis
Zunächst
sendet (2)
dasOperate
Stationsleitgerät
die Betriebsbereitschaft
des Leisder
Ausführung.
In
den
Phasen
(1)
und
(2)
sind
Nachrichten
für
die
Anforderungen (Request)
tungsschalters zu überprüfen. Diese Anfrage geht zuerst an die Schaltersteuerung,
die wiedeund
die Anfrage
Quittierung
Anforderung
(Response)
vorgesehen.
rum
eine
ander
den
Leistungsschalter
sendet
(1. → 2. → 3.). Die Anfrage wird durch
denFrage
Leistungsschalter
(check())
und eine Antwort
mit dem damit
positiven
Betriebszu2.2 (6 Punkte):überprüft
Welche weitere
Vereinbarungen
sind erforderlich,
der Aufruf
von
stand erstMethoden
wieder an
die
Schaltersteuerung
und
dann
von
dieser
an
das
Stationsleitgerät
gezwischen den Geräten funktionieren kann?
schickt (3. → 4.).
(1) Wenn die Methodenaufrufe über ein Netz erfolgen, ist eine Pfadangabe erforderlich,
Anschließend
sendet
das Stationsleitgerät
einen
Befehl zum
(OperateRequest(on))
bestehend aus
Protokoll,
Netzadresse und
Objektname
(fürSchalten
die Methode).
Eine solche
analog
der
Betriebszustandsabfrage.
Nach
der
Aktivierung
des
Antriebes
schickt
derTCPLeisPfadangabe kann in einem IP-Netz beispielsweise durch eine URL erfolgen, bzw. ein
tungsschalter
Nachricht an die Schaltersteuerung zurück, dass der Auftrag ausgeführt
Socket bzw. eine
UDP-Socket.
wird. Nach dem erfolgten Schalten des Leistungsschalters, erfolgt eine spontane Meldung des
(2) dem
Ausserdem
sind Vereinbarungen
über den Methodenaufruf
erforderlich, d.h. die
Wertes mit
neuen Schaltzustand
des Schalters(Report(on))
von 9. → 10.
Namen der Methode, der Übergabeparameter, der Rückgabewerte und die jeweils zugehörigen
Datentypen.
3 - Echtzeitverhalten
3.5Aufgabe
Konfigurationssprache
Die Steuergeräte kommunizieren über eine Kette von Ethernet-Switches. Auf Schicht 2
Umvariieren
ein IEC61850-System
modellieren,
mussund
für alle
beteiligten
Gerätepro
eine
die Paketlängennormkonform
zwischen 64 zu
Bytes
pro Nachricht
maximal
1500 Bytes
logische
Struktur
definiert
werden.
Nachricht. Es wird Fast Ethernet verwendet (100 Mbit/s). Die Prozessdaten verwenden stets
kurze Pakete von 64 Bytes.
Zur logischen Struktur gehören u. a. folgende Punkte:
Welche optionalen Daten werden realisiert
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
42/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Eingangsports
Ausgangsports
Eingangsports
Ausgangsports
Prio 1
3
1
2
3
1
2
Prio 2
(a) Best Effort
(b) Quality of Service
Frage 3.1 (6 Punkte): Es wird überlegt, ob ein Best Effort Verfahren genügt (Fall (a), linker Teil
der Abbildung) oder eine Einteilung in 2 Verkehrsklassen mit Priorisierung eingeführt
werden soll (Fall (b), rechter Teil der Abbildung). Erläutern Sie beide Verfahren sowie die
Unterschiede.
(1) Best Effort Verfahren: Alle Pakete bzw. hier Ethernet-Rahmen werden in der
Reihenfolge ihres Eintreffens an den Ausgangsport gegeben. Ein kurzer Rahmen mit
zeitkritischen Prozessdaten wird daher am Ausgangsport unter Umständen hinter langen
Rahmen mit Überwachungsinformationen oder sonst welchen Daten, die nicht zeitkritisch sind.
(2) Quality-of-Service Verfahren: Es werden mehrere Klassen von Daten eingeführt,
beispielsweise Klasse 1: Prozessdaten, Klasse 2: alle anderen Daten. Rahmen mit Prozessdaten werden markiert (z.B. Tag, Eintrag im Type-of-Service Feld) und in den Switches
bevorzugt behandelt. Die Bevorzugung besteht in der Einordnung der Prozessdaten in einer
höher priorisierten Warteschlange am Ausgangsport (Prio 1 Schlange). Somit wird die Dauer
der Abfertigung von der Reihenfolge des Eintreffens entkoppelt. Dadurch wird die Situation vor
allem bzgl. die langen, niedrig priorisierten Rahmen verbessert (Prio 2 Schlange). Beim
Arbeiten mit mehreren Verkehrsklassen (Quality-of-Service Verfahren), wird in jedem Knoten
(Switch) der Verkehr gemäß Verkehrsklassen neu sortiert.
Frage 3.2 (6 Punkte): Die Signalkette enthält bis zu 10 Knoten (Switches), wobei jeder Knoten
über 3 Eingangsports verfügt, über die sowohl regulärer Verkehr als auch Prozessdaten
kommuniziert werden. Vergleichen Sie die maximalen Laufzeitschwankungen für beide
Verfahren (Fall (a) und Fall (b)) aus der Perspektive der Prozessdaten.
Bei 3 Eingangsports besteht der ungünstigste Fall darin, dass an jedem Fall ein maximal
langer Rahmen mit unkritischen Daten eintrifft, bevor an einem der Ports ein kurzer Rahmen mit
kritischen Prozessdaten eintrifft. (Bemerkung: Vorausgesetzt, die Ankunftsrate ist niedrig im
Vergleich zur Service-Rate, d.h. Systemausnutzung unter 50%, andernfalls kann es beliebig
lange Warteschlangen an den Eingangsports geben).
Fall (a), Best Effort: Anordnung am Ausgangsport gemäß Reihenfolge beim Eintreffen,
d.h. der Rahmen mit Prozessinfo kommt erst auf die Leitung, nachdem die 3 langen Rahmen
übertragen sind. Im ungünstigsten Fall bei 10 Knoten: 3 * 10 * Latenz (1500 Bytes bei 100 Mbit/
s) = 30 * 0,120 ms = 3,6 ms. In der Realität ergeben sich Laufzeitschwankungen bis zu diesem
Wert.
Fall (b), Quality-of-Service mit 2 Verkehrsklassen: Die drei langen Rahmen mit
unkritischen Daten landen in der Reihenfolge ihres Eintreffens in der Prio 2 Schlange am
Ausgangsport. Der Rahmen mit Prozessdaten wird nach Eintreffen in der Prio 1 Schlange
platziert. Zu diesem Zeitpunkt ist allerdings einer der langen Rahmen bereits in Bearbeitung.
Allerdings erfolgt die Übertragung des Rahmens mit Prozessdaten unmittelbar dann, wenn
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
43/74
Informatik Masterstudium
Computing & Communications, PM2100.1
diese Übertragung beendet ist. Der Rahmen mit Prozessdaten kommt somit auf die Leitung,
sobald 1 langer Prio 2 Rahmen übertragen ist. Im ungünstigsten Fall bei 10 Knoten: 1 * 10 *
Latenz(1500 Bytes bei 100 Mbit/s) = 10 * 0,120 ms = 1,2 ms.
Verbesserung von (b) gegenüber (a): Latenz(b)/Latenz(a) = 3
Frage 3.3 (6 Punkte): Durch welche Massnahmen lassen sich die Laufzeitschwankungen weiter
reduzieren?
•
Reduktion der Knoten in Reihe (z.B. weniger als 10 Switches in der Kette)
•
Reduktion der Eingangsports (z.B. 2 statt 3 Eingangsports)
•
Einschränkungen der maximal erlaubten Rahmenlänge (z.B. max 512 Bytes pro
Rahmen)
•
Erhöhung der Übertragungsrate (z.B. 1Gbit/s statt 100 Mbit/s)
•
Einsatz von Sammelpaketen (vgl. Ethercat)
•
Zeitmultiplex (vgl. Profinet)
Aufgabe 4 - Redundanz
Teil 1
Zur Verbesserung der Ausfallsicherheit wird die lineare Verbindung zwischen den
Switches auf eine Ringkonfiguration erweitert. Die Netztopologie bleibt hierbei linear, d.h. es
gibt eine physikalisch vorhandene Reserveverbindung.
Reserve Verbindung
(Ring Protection Link)
RPL
Owner
RPL
Ausgefallene
Verbindung
Frage 4.1 (8 Punkte): Beschreiben Sie, was beim Ausfall einer Verbindung geschieht (d.h. den
Übergang auf den in der Abbildung links gezeigten Zustand auf den Zustand rechts).
(1) Überwachung der Funktion des Ringes durch einen ausgewählten Switch (den RPLOwner): beispielsweise durch Senden und Empfangen von von Kontrollnachrichten in beiden
Richtungen (auch über die für regulären Verkehr nicht benutzte Reserveverbindung).
(2) Ausfall einer Verbindung: Wird durch die Überwachung (vom RPL-Owner) bemerkt.
(3) Aktivieren der Reserveverbindung
(4) Inbetriebnahme der neuen Topologie (z.B. durch Spanning-Tree Algorithmus)
Frage 4.2 (6 Punkte): Welchen Nachteil hat dieses Verfahren bzgl. des Echtzeitverhaltens des
Netzes?
(1) Das Verfahren ist mit Umschaltzeiten verbunden (Schritte (1) bis (4) oben, speziell
Schritt (4) erfordert einige Zeit).
(2) Während dieser Zeit ist keine reguläre Zustellung des Verkehrs möglich. Zwar gehen
für Anwendungen keine Daten verloren, da die höheren Protokollschichten diese nochmals
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
44/74
Informatik Masterstudium
Computing & Communications, PM2100.1
anfordern, allerdings werden während des Umschaltvorgangs vereinbarte Antwortzeiten nicht
eingehalten. Somit ist ein Echtzeitbetrieb (= Einhaltung vereinbarter Antwortzeiten) nur sehr
eingeschränkt möglich.
(3) Die Dauer der Umschaltung ist abhängig von der Topologie und Größe des Netzes.
Teil 2
Zur Verbesserung des Echtzeitverhaltens schlägt der Hersteller der Switches die in der
folgenden Abbildung gezeigte Konfiguration vor.
Ringredundanz mit zwei
gleichzeitig betriebenen VLANs
Red Box: Ringswitch mit Dopplung
der Anschlüsse für Geräte mit
einfachem Anschluss (SAN - Single
Attached Node)
Node: Geräte (Feldbus-Controller,
Schutzgeräte, Messgeräte)
Quelle: ABB
Frage 4.3 (8 Punkte): Interpretieren Sie den Vorschlag und beschreiben Sie das Verhalten im
Fehlerfall. Erläutern Sie die Vorteile und Einschränkungen gegenüber dem Verfahren aus
Teil 1.
(1) Interpretation: Im Unterschied zu Verfahren aus Teil 1 werden zwei unabhängige
Teilnetze in unterschiedlichen Richtungen betrieben. Die Teilnetze sind im Beispiel als VLAN
realisiert. Die Redundanz wird im Endgerät erzeugt: Jede Nachricht (jeder Ethernet-Rahmen)
wird dupliziert (A-Frame und B-Frame) und in die Teilnetze gegeben. Jedes Endgerät empfängt
im Normalfall beide Rahmen und kann einen verwerfen.
(2) Verhalten im Fehlerfall: Bei Ausfall einer Verbindung wird jeder Knoten noch über den
alternativen Pfad erreicht, dann allerdings ohne weitere Redundanz. Wie der Fehler behoben
wird, ist nicht näher beschrieben (Umkonfiguration wie bei dem Verfahren in Teil 1, Intervention
des Betriebspersonals etc.).
(3) Vorteile: keine Umschaltzeiten im Fehlerfall, unterbrechungsfreier Betrieb.
(4) Einschränkungen: komplexere Konfiguration, Duplizieren von Rahmen ist nicht
Bestandteil der Ethernet-Standards und erfordert spezielle Maßnahmen (z.B. RedundanzBoxen), es sind weitere Vereinbarungen erforderlich für die Rückkehr aus dem Fehlerfall in den
redundanten Betrieb.
Teil 3
Die Anbindung an die übergeordnete Leitebene hat noch höhere Anforderungen bzgl. der
Verfügbarkeit. Daher wird hierfür eine Ausführung als echter Doppelring vorgeschlagen, wie in
der folgenden Abbildung gezeigt.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
45/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Übergeordnete Leitebene:
Doppelring
DAN: Gerät mit doppeltem
Anschluss (Double Attached Node)
Untergeordnete Ebene:
Doppelstern
Red Box: Dopplung der Anschlüsse
für Geräte mit einfachem Anschluss
(SAN - Single Attached Node)
Quelle: ABB
Frage 4.4 (8 Punkte): Vergleichen Sie die echte Doppelring-Konfiguration mit der Konfiguration
in Teil 2 bzgl. Ausfallsicherheit und Aufwand. Beschreiben Sie das Verhalten im Fehlerfall.
•
Ausfallsicherheit: besser, da (1) doppelte Verbindungen statt doppelt betriebener
Verbindungen, (2) Ausfall einzelner Switches betreffen nur einen Ring (statt beider Ringe)
•
Aufwand: (1) doppelter Hardware-Aufwand (Knoten, Verbindungsleitungen,
Trassen), (2) keine komplexe Konfiguration (zwei wirkliche LANs statt VLAN), (3)
leichterer Austausch von Komponenten (z.B. fehlerhafte Verbindungsleitungen und
Knoten)
•
Verhalten im Fehlerfall: unterbrechungsfreier Betrieb; bei Einzelfehlern weiterhin
Redundanz im verbliebenen Ring verfügbar (z.B. mit Verfahren nach Teil 1)
Frage 4.5 (8 Punkte): Als Alternative zu der in Teil 2 vorgeschlagenen speziellen
Ringkonfiguration wird in dem in Teil 3 gezeigten Vorschlag auf der untergeordneten
Ebene eine Variante mit doppelter Sternkonfiguration gezeigt. Vergleichen Sie die
Doppelsternkonfiguration mit der Konfiguration in Teil 2 bzgl. Ausfallsicherheit und
Aufwand. Beschreiben Sie das Verhalten im Fehlerfall.
•
Ausfallsicherheit: vergleichbar; Zwar sind doppelte Verbindungen und doppelte
Switches vorhanden (statt doppelt betriebener Verbindungen), bei Ausfall eines Switches
fällt allerdings der zugehörige Stern komplett aus.
•
Aufwand: (1) höherer Hardware-Aufwand (Knoten und deutlich mehr Verbindungsleitungen), (2) keine komplexe Konfiguration (zwei wirkliche LANs statt VLAN), (3)
leichterer Austausch von Komponenten (z.B. fehlerhafte Verbindungsleitungen und
Knoten)
•
Verhalten im Fehlerfall: unterbrechungsfreier Betrieb; Redundanz durch zweiten
Stern vergleichbar mit virtuellem Ring.
Frage 4.6 (8 Punkte): In den in den Teilen 2 und 3 beschriebenen Verfahren werden Ethernet
Rahmen dupliziert. Beschreiben Sie eine Methode, mit der ein Gerät auf möglichst
einfache Weise Duplikate erkennen und ggf. verwerfen kann.
•
Sequenznummern für jedes Frame (anwendungsspezifische Erweiterung, bzw.
spezifisch für dieses Verfahren zur Erzeugung redundanter Rahmen)
•
MAC-Adresse der Quelle (Standard Ethernet)
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
46/74
Informatik Masterstudium
Computing & Communications, PM2100.1
•
Rahmen von der gleichen Quelle mit gleicher Sequenznummer können verworfen
werden.
•
Bemerkungen: (1) Rahmen werden erst verworfen, nachdem der Empfang eines
Duplikat festgestellt wurde. (2) Solch einfache Verfahren lassen sich hardware-nah
implementieren. Auf Anwendungsebene gibt es natürlich weitere Möglichkeiten. (3) Das
Verfahren sollte möglichst wenige falsch negative Identifikationen liefern, d.h. möglichst
wenige gültige Rahmen, die irrtümlich als Duplikate verworfen werden. Hierzu ist
erforderlich, dass einerseits die Tabellen mit gültigen Sequenznummern altern,
andererseits die Sequenznummer hinreichend viele Stellen besitzt (z.B. 16 Bits), um
fehlerhafte Identifikationen bedingt durch Zählerüberlauf auszuschließen.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
47/74
S. Rupp, 2014
mengeBeobachter
prozessDaten
abmelden(Beobachter)
anmelden(Beobachter)
benachrichtige()
dienstAusf ühren()
gibDaten()
+
+
+
+
+
+
+
Prozessmodell
+aktualisiere()
auf ruf en
benachrichtige():
beobachter.aktualisiere()
+anmelden(),
dienstAusf ühren()
auf ruf en
aktualisiere()
behandleEreignis()
initialisiere(Anzeige, Prozessmodell)
+
+
+
Regler
meineAnsicht :Anzeige
meinModell :Prozessmodell
aktualisiere()
+
+
+
«abstract»
Beobachter
+anmelden();
gibDaten()
auf ruf en
+Erzeugen
+
+
+
+
+
+
Anzeige
aktualisiere()
erstelleRegler()
initialisiere(Prozessmodell)
präsentiere()
meinModell :Prozessmodell
meinRegler :Regler
Informatik Masterstudium
Computing & Communications, PM2100.1
36. Regler mit Anzeige
Teil 1 Folgende Abbildung zeigt den Aufbau eines Reglers mit Anzeige.
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
48/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 1.1 (6 Punkte): Erläutern Sie die im Diagramm enthaltenen Blöcke und ihre Rollen.
Frage 1.2 (6 Punkte): Erläutern Sie die Zusammenhänge zwischen den einzelnen Blöcken: Was
geschieht, wenn sich Prozessdaten geändert haben? Wodurch werden Prozessdaten
geändert? Wie reagiert die Anzeige auf geänderte Prozessdaten?
Teil 2
Das folgende Diagramm zeigt den zeitlichen Ablauf.
r :Regler
m :Prozessmodell
a :Anzeige
Benutzer
behandleEreignis()
dienstAusf ühren()
benachrichtige()
aktualisiere()
präsentiere()
gibDaten()
aktualisiere()
gibDaten()
Frage 1.3 (4 Punkte): Ergänzen Sie das Diagramm um eine weitere Anzeige.
Frage 1.4 (4 Punkte) Die zusätzliche Anzeige soll als abgesetzte Einheit über ein Netzwerk
angeschlossen werden. Welche zusätzlichen Informationen und Komponenten werden
hierzu (im Unterschied zur lokalen Anzeige) benötigt?
Teil 3
Folgendes Diagramm zeigt den Beginn der Phase, in der die Klassen instanziert und die
Instanzen initialisiert werden.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
49/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Anwendung
r :Regler
new()
m :Prozessmodell
a :Anzeige
new()
initialisiere(Prozessmodell)
anmelden(Anzeige)
erstelleRegler()
Frage 1.5 (4 Punkte): Erläutern Sie den im Diagramm gezeigten Ablauf.
Frage 1.6 (4 Punkte): Ergänzen Sie das Diagramm um folgenden Ablauf: Nachdem sich die
Anzeige beim Prozessmodell als Beobachter angemeldet hat, erzeugt das Anzeigeobjekt
einen neuen Regler. Dem Regler werden bei der Initialisierung eine Referenz auf das
Prozessmodell und auf die Anzeige übergegeben. Der Regler registriert sich ebenfalls als
Beobachter beim Prozessmodell. Nach Abschluss der Initialisierung startet die
Anwendung die Ereignisbehandlung (siehe Teil 2).
37. Topologie-Erkennungsdienst
Ein Hersteller von Systemen mit netzwerkbasierter Feldbusschnittstelle bietet eine
automatische Topologieerkennung an. Hiermit lässt sich die Netztopologie aus dem laufenden
Netz auslesen, wie in folgender Abbildung 2.1 gezeigt. Damit dieser Dienst mit Geräten
unterschiedlicher Hersteller funktioniert, basiert die Kommunikation unter den Geräten auf Basis
eines internationalen Standards, nämlich dem in IEEE 802.1AB standardisierten Protokoll
LLDP (Link Layer Discovery Protocol).
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
50/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Extreme Networks Technical Brief
col that
using Ethernet
em to peer
nformation
higher layer
point informaly implementsible from the
LLDP significantly aids in the deployment of any network
device that supports the protocol. As a media independent
protocol intended to be run on all IEEE 802 devices, LLDP
may be used to discover routers, bridges, repeaters, WLAN
APs, IP telephones, network camera or any LLDP-enabled
device, regardless of manufacturer. Since LLDP runs over the
data-link layer only, an Extreme Networks switch running
one network layer protocol can discover and learn about an
access device running a different network layer protocol.
ble to
s capabilities
as well as
onnected to
cal Link-Layer
rom other
ion Bases
ip.
LLDP Architecture
OSI Reference
Model Layers
IEEE 802 Model Layer
Application
Higher Protocol Layers
Presentation
MAC Client {Bridge Relay Entity, LLC, etc.}
Link Aggregation Sublayer (Optional)
Session
LLDP
LLDP
LLDP
Network
Data Link
MAC Control
(Optional)
MAC Control
(Optional)
MAC Control
(Optional)
MAC
MAC
MAC
Physical
Physical
Physical
Physical
Figure 2: LLDP Architecture
y
col defines a
e information
and store
rt ids and
n about each
SNMP.
Networks
IEEE 802.1AB
Transport
Ethernet Header
LLDP Daten
Chassis ID
1
PortID
TTL
FCS
PSTN
Ende LLDP
e
LLDP is a data-link layer protocol, operating above the MAC
service layer and, as a result, can be used in any networking
device that implements a MAC service. Figure 2 shows
Abbildung
2.1 Erkannte
Netztopologie
where
LLDP resides
in the IEEE
802 Model Layers.
Optionale Felder:
z.B. IP Adresse, Port,
System Name, ...
LAN Switch
Ethertype:
LLDP
Router
IP Phone
Abbildung 2.2 Link Layer Discovery Protocol
(IEEE802.1AB)
MIB
2
S. Rupp, 2014
3
Network
Management
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
BlackDiamond
8810
MIB
51/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 2.1 (6 Punkte): Welcher Protokollschicht ordnen Sie LLDP zu? Wie weit wird die per
LLDP ausgetauschte Information kommuniziert? Können Protokolle auf Schicht 3 passiert
werden? Begründen Sie Ihre Entscheidung.
Frage 2.2 (4 Punkte): Die Topologie soll netzweit erkannt werden, auch über VLANs und über
Router hinweg. Wie lässt sich dies erreichen? Welche Information wird benötigt? Wie
lässt sich die Kompatibilität zwischen Geräten unterschiedlicher Hersteller gewährleisten? Hinweis: Verwenden Sie lokale Verzeichnisse auf den Geräten.
Frage 2.3 (4 Punkte): Wenn Geräte ausfallen, bzw. aus dem Netz entfernt werden, muss die
Topologie aktualisiert werden. Wie lässt sich verhindern, dass veraltete Informationen in
den Geräten vorgehalten werden?
Frage 2.4 (4 Punkte): Die folgende Abbildung 2.3 zeigt einen mit einem Netzwerk-AnalyseProgramm dekodierten LLDP Rahmen. Identifizieren und interpretieren Sie die
obligatorischen und optionalen Felder im Rahmen.
Abbildung 2.3 Protokoll-Trace
Frage 2.5 (4 Punkte): Der in Abbildung 2.3 dekodierte Rahmen enthält ein Feld TTL (= Time to
Live), das auf 120 s gesetzt ist. Welche Funktion könnte dieses Feld haben? Wie wird die
Information aus dem TTL-Feld in den Geräten vermutlich verwendet?
Frage 2.6 (4 Punkte): Der Systemhersteller bietet beim Austausch von Geräten im Feld ein
besonderes Leistungsmerkmal: die automatische Übernahme der Konfigurationsparameter des ausgetauschten Gerätes. Wie könnte er dieses Leistungsmerkmal
realisieren?
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
52/74
Informatik Masterstudium
Computing & Communications, PM2100.1
38. Vorfahrt für Prozessdaten
Prozessrechner und ihre Peripherie (IO-Geräte) teilen sich ein Netzwerk mit BenutzerPCs und anderer netzwerkfähiger Infrastruktur. Die folgende Abbildung zeigt eine Konfiguration
mit 3 Ethernet-Switches. Prozessrechner und Peripherie kommunizieren miteinander über ein
netzwerkbasiertes Feldbusprotokoll. Wegen der zeitkritischen Anforderungen werden kurze
Ethernet-Rahmen von 64 Bytes verwendet. Das Netzwerk ist als Fast Ethernet mit 100 Mbit/s
Übertragungsrate ausgeführt.
Switches
Port A
Port B
S1
Port D
S2
S3
Port C
Prozessrechner
IO-Gerät
IO-Gerät
VLAN 1
Port A
Port B
Port C
t1
t2
t3
Frage 3.1 (4 Punkte): Am Port A von Switch S1 trifft ein Paket der Länge 512 Bytes mit
Videodaten zum Zeitpunkt t1 ein, an Port B zur Zeit t2 ein Ethernet Rahmen der Länge
1500 Bytes, und an Port C zum Zeitpunkt t3 ein Rahmen mit Prozessdaten. Skizzieren
Sie die Reihenfolge der Pakete am Ausgangsport D, wenn keine weiteren Massnahmen
getroffen werden.
Frage 3.2 (4 Punkte): In welcher Größenordnung sind Laufzeitschwankungen in der gezeigten
Konfiguration zu erwarten? Hinweis: angenommen sei eine geringe Systemauslastung,
d.h. höchstens 1 Rahmen ist in den Eingangswarteschlangen in Bearbeitung.
Ausgangsports
Eingangsports
Ausgangsports
Eingangsports
Prio 1
3
1
3
1
2
2
Prio 2
Ohne Priorisierung
Mit Priorisierung
Frage 3.3 (4 Punkte): Die Prozessrechner und ihre Peripherie werden zu einem VLAN
zusammengefasst und diesem VLAN die höchste Priorität zugeordnet. Skizzieren Sie die
Reihenfolge der Pakete an Port D gemäß Frage 3.1 nach dieser Massnahme. Welchen
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
53/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Einfluss hat diese Massnahme auf die Laufzeitschwankungen? Hinweis: Als zum VLAN
gehörig markierten Pakete erhalten nach dem in der Abbildung oben gezeigten
Mechanismus die höchste Priorität.
Frage 3.4 (6 Punkte): Könnte man durch Verwendung zusätzlicher Ausgangsports weitere
Fortschritte erzielen? Begründen Sie Ihre Aussage. Nennen Sie Massnahmen, wie man
die Laufzeitschwankungen weiter verringern könnte. Begründen Sie Ihre Aussagen.
39. Speicherprogrammierbare Steuerung (SPS)
Eine Task innerhalb einer SPS arbeitet zyklisch nach folgendem Schema (1) Eingänge
abfragen, (2) Ausgänge berechnen, (3) Ausgänge schalten. Das Abfragen der Eingänge
geschieht durch Empfang von Nachrichten von den Sensoren über einen Feldbus. Das
Schalten der Ausgänge erfolgt durch Senden von Nachrichten an die Aktoren über den Feldbus.
Der Busmaster organisiert den Nachrichtenaustausch am Feldbus so, dass innerhalb
eines Buszyklus Zeitpunkte für den Austausch von Meldungen zwischen den angeschlossenen
Geräten vereinbart sind. Hierbei arbeitet der Feldbus also ebenfalls zyklisch, läuft jedoch nicht
synchron mit dem Zyklus der SPS.
Die nachfolgende Abbildung zeigt den zeitlichen Ablauf.
Sensorsignal
wird übertragen
Controller:
Gerät 8
1
2
1
3
2
Sensor:
Gerät
1
N
8
3
2
1
N
8
3
2
N
8
3
Sensorsignal wird gepuffert
1
N
8
2
1
3
2
N
8
3
N
8
Steuerinformation
an alle Aktoren
2
Sensorsignal
ändert sich
I
SPS Zyklus
Berechnung
O
I
Berechnung
O
Sensorsignal gelesen
Steuersignal wird gepuffert
Sensorsignal wird gepuffert
1
2
1
3
2
N
8
3
8
1
N
2
1
3
2
N
8
3
8
1
N
2
1
3
2
N
8
3
Sensorsignal wird gepuffert
N
8
Steuerinformation
an alle Aktoren
Sensorsignal
ändert sich
Frage 1: Welchen Einfluss hat der Buszyklus auf die Weitergabe der Meldungen an die
angeschlossenen Sender und Empfänger im Feld? Welche Verzögerung (gemessen in
Bus-Zyklen) ergibt sich zwischen Senden einer Sensormeldung und Empfangen der
Steuermeldung am Aktor aus Perspektive des Busses?
Frage 2: Erläutern Sie den prinzipiellen Ablauf für den Empfang und das Senden von
Meldungen aus dem Feld aus der Perspektive der SPS.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
54/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 3: Welche Reaktionszeiten (gemessen in Bus-Zyklen) ergeben sich im günstigsten und
ungünstigsten Fall aus Perspektive des Systems (Sensor, SPS, Aktor)?
Frage 4: Mit welchen Modifikationen am Feldbus liessen sich die Reaktionszeiten verkürzen?
40. Feldbus
Teil 1
Der Anschluss an einen Ethernet basierten Feldbus geschieht über einen Schnittstellenbaustein (NIC, Network Interface Controller), der Meldungen per DMA (Direct Memory Access)
in den Arbeitsspeicher eines Mikrocomputers übertragen kann, wie in folgender Abbildung
gezeigt. Der Microcomputer verfügt ausserdem über eigene digitale Eingänge und Ausgänge.
Frage 1: Erläutern Sie den Vorteil von DMA gegenüber einer einfachen Abbildung der
Geräteregister in den Adressraum des Arbeitsspeichers (Memory Mapped IO)
Frage 2: Feldbusklemme: Es sei angenommen, dass die digitalen Eingänge und Ausgänge
(Digital I/O) die einzigen Ports des Mikrocomputers sind. Die einzige Funktion des
Mikrocomputers besteht darin, die vom Feldbus empfangenen Meldungen in Signale an
den Ausgangsports abzubilden, sowie Signale an den Eingangsports als Meldungen über
den Feldbus zu senden. Wie könnte man das Gerät vereinfachen (Alternativen zum
Mikrocomputer)? Welche Vereinbarung ist hierfür erforderlich?
Teil 2
In der folgenden Abbildung sind Feldbusklemmen zu einem Netz verschaltet.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
55/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 3: Beschreiben Sie die dargestellten Topologien. Hinweis: Wenn mehrere Ports pro Gerät
vorhanden sind, ist im Gerät ein Ethernet-Switch enthalten.
Frage 4: Es werden Ethernet Rahmen der Größe 64 Bytes verwendet, die 20 Bytes Header und
44 Bytes Nutzinformation enthalten. Wie viele digitale I/Os lassen sich mit einem solchen
Rahmen schalten? Wie lässt sich die Zahl der digitalen I/Os erhöhen?
Frage 5: Als Übertragungsmedium wird Fast Ethernet mit 100 Mbit/s verwendet. Wie viel Zeit
vergeht von der Sendung des Ethernet Rahmens aus Frage 4 vom Kopf des Netzes
(oben links) bis zum Empfang der Meldung (Schalten der Ausgänge) über den längsten
Pfad des dargestellten Netzes? Wenn alle Geräte in der längsten Kette individuell
adressiert werden, welche Zeit ergibt sich für den Buszyklus?
Frage 6: Statt die dargestellten Geräte individuell mit Ethernet Rahmen zu adressieren, könnte
man die Informationen für alle Geräte auf dem Pfad in den gleichen Ethernet Rahmen
packen. Welcher Zeitvorteil liesse sich hierdurch erreichen? Welche Besonderheit weist
ein Ethernet-Switch für eine solche Anwendung auf?
Einige Erläuterungen im Vergleich zu traditionellen Feldbussystemen:
Traditioneller Feldbus
SPS
I/O Controller
< 30 m
I/O Devices
Sensoren, Aktoren
•
Laufzeit der Signale: 300 * 106 m/s
300 m/μs. 30 m werden also in 100 ns
durchlaufen.
•
Übertragungsrate am Bus: 1 Mbit/s.
Verhältnisse auf der Leitung.
1 Bit dauert 1 μs, damit quaistationäre
•
Größe der Telegramme bzw. Nachrichten: z.B. 12 Bytes = ca 100 Bits
•
Dauer eines Telegramms somit ca. 100 μs.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
56/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Bus-Zyklus
Bsp: N = 10 Geräte, Busmaster organisiert Abfrage, alle Geräte am Bus können mitlesen
1
2
1
Anfrage
3
2
3
t
N
N
Antwort
Buszyklus
•
Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 100 μs: 2 ms)
Ethernet basierter Feldbus:
Daten
H
• Ethernet Rahmen: 64 Bytes (20 Bytes Header, 44 Bytes
Nutzdaten)
wie Schieberegister
• Übertragungsrate: 100 Mbit/s (Fast Ethernet, 1 Bit
dauert 10 ns))
• 64 * 8 Bytes / 100 MBit/s
ca 5 μs Übertragungsdauer
•
Ethernet-Switch: speichern und weiterleiten verursacht ca 5 μs Verzögerung pro
Switch (auch bei längeren Ethernet Rahmen, da die Header-Information zum Auswerten
der Zieladresse zum Weiterleiten genügt)
SPS
I/O Controller
SPS
I/O Controller
I/O Devices
EthernetSwitches
I/O Device
I/O Devices
Ethernet-Switches in Geräten eingebaut
I/O Device
Netz-Topologien:
1
9
2
1
2
1
8
3
N
8
2
3
N
8
3
4
7
Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 5 μs: 100 μs)
5
6
1
S. Rupp, 2014
Traditioneller Buszyklus:
2
3
4
5
6
7
8
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
9
57/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Bus-Zyklen:
A. Traditionell: maximale Laufzeit einkalkulieren: 10 * 5 μs = 50 μs Dauer einer Nachricht
1 ms (immer noch schneller)
B. Laufzeiten optimieren: 2 * 10 * 5 μs = 100 μs (wie in der Stern-Topologie)
10
9
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9
10
C. Sammeltelegramm: 2 * 10 * 5 μs = 100 μs (wie in der Stern-Topologie)
10
10
D. Sammeltelegramm ohne MAC-Adressierung: 2 * 5 μs = 10 μs (besser als Stern-Topologie?)
10
10
Stern-Topologie im Parallelbetrieb
1
1
9
1
2
8
3
2
2
4
7
3
6
5
3
...
10
10
Optimierter Buszyklus:
Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 5 μs: 10 μs)
Teil 3
Zeitsynchrone Steuerung: Um Antriebe zu synchronisieren, werden verteilte Uhren
eingesetzt, wie in der folgenden Abbildung gezeigt.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
58/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 7: Welche Reaktionszeit ist für die winkelgenaue Steuerung (mit 1 Grad Genauigkeit)
eines Antriebs mindestens erforderlich, der mit 3000 Umdrehungen pro Minute läuft?
Welchen Vorteil bringen synchrone Uhren in den Controllern (Antriebe, Feldbusklemmen,
bzw. Prozessrechner)?
Frage 8: Uhrenvergleich: Damit die Uhren synchron bleiben, müssen sie durch ein geeignetes
Protokoll von Zeit zu Zeit nachgestellt werden. Hierzu übernimmt ein Gerät die Zeitbasis
(Master-Clock), alle anderen Geräte werden nach dieser Uhr gestellt (Slave Clocks). Das
Stellen der Uhren erfolgt durch Versand von Nachrichten nach einem geeigneten
Protokoll. Hierbei ist der Gangunterschied der Uhren festzustellen und ausserdem die
Laufzeit der Nachricht zwischen den Geräten zu berücksichtigen. Beschreiben Sie ein
Verfahren, mit dem sich die Uhr eines Gerätes nach der Uhr in einem anderen Gerät
stellen lässt. Hinweis: Gehen Sie schrittweise vor: (1) ohne Berücksichtigung der
Laufzeit, (2) mit Berücksichtigung der Laufzeit.
41. Ablaufwarteschlange
Die folgende Abbildung zeigt eine Ablaufwarteschlange zu dem Zeitpunkt, als durch
Eintreffen eines Ereignisse eine bisher wartende Task ablaufbereit geworden ist.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
59/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Prozessor
Ablaufwarteschlange
...
Prio = 2
S =A
Prio = 2
S =A
Prio = 8
S =A
Prio = 10
S =A
Kopf
Task Control Blöcke
Prio = 8
S =A
neue ablaufbereite Task
Frage 1: Wie reagiert der Scheduler auf die neue ablaufbereite Task? In welcher zeitlichen
Reihenfolge werden die Tasks in einem Multi-Tasking System mit einem Prozessorkern
(CPU) abgearbeitet?
Frage 2: In welcher zeitlichen Reihenfolge werden die Tasks in einem Multi-Tasking System mit
zwei Prozessorkernen abgearbeitet? Beschreiben Sie die Aktivität des Dispatchers in
einem Diagramm.
42. Verfahrene Situationen
In einem Multi-Tasking System kann es zu verfahrenen Situationen kommen.
Frage 1: Erläutern Sie die Ursache der verfahrenen Situation in der Abbildung.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
60/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 2: Wodurch entstehen solche Situationen in einem Multi-Tasking System? Wie lassen
sich solche Situationen vermeiden? Wie lassen sie sich auflösen?
43. Task-Synchronisation
Teil 1
Folgendes Diagramm zeigt den Ablauf zweier Tasks.
Frage 1: Erläutern Sie den Ablauf. Was genau wird durch die Verwendung der Ereignismeldungen (Event Flags) erreicht?
Frage 2: Eine Abfüllanlage soll mit Hilfe dreier paralleler Tasks realisiert werden: (1) Flasche
abfüllen, (2) Kronkorken aufsetzen, (3) Etikett aufkleben. Die Aufgaben sollen in auf
einander folgenden Arbeitsschritten erledigt werden. Erstellen Sie ein Aktivitätsdiagramm.
Task P1
Initialisierung
Fork P2
Initialisierung
Schleif e
Schleif e
EventFlag1
EventFlag2
EventFlag1 zurück setzen
EventFlag2 zurück setzen
Abschnitt A bearbeiten
Abschnitt B bearbeiten
EventFlag2
Schalter
"Aus"
betätigt?
EventFlag1
Ende P1
Teil 2
Drei Antriebsachsen sollen synchronisiert werden. Jede Antriebsachse soll mit Hilfe einer
eigenen Task gesteuert werden. Bezugspunkt für jede Achse ist eine vorgegebene Position, die
von einem Drehgeber gemeldet wird. Durchläuft die Achse diesen Bezugspunkt, wird ein Alarm
erzeugt.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
61/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 3: Mit welcher Methode kann der Gleichlauf der Achsen gewährleistet werden?
Beschreiben Sie ein Konzept in Worten.
Frage 4: Erstellen Sie ein Aktivitätsdiagramm.
44. Vernetzter Feldbus
Teil 1
Folgende Abbildung zeigt verschiedene Möglichkeiten zum Vernetzung von Feldbussen.
Als Prozessrechner arbeitet eine Speicherprogrammierbare Steuerung (SPS) oben rechts in der
Abbildung. Aktoren und Sensoren werden an I/O Geräte (Feldbusklemmen) angeschlossen, die
an die Ethernet Switches angeschlossen sind. Geräte mit mehreren Ethernet Anschlüssen
haben eingebaute Switches und können daher ebenfalls Meldungen weiter geben.
SPS / PLC
Ring Switches
Switch
Switch
(Glasfaser)
Switch
I/O Geräte
(Feldbusklemmen)
Quelle: Phönix Contact
Das Netz wird als Fast Ethernet mit 100 Mbit/s betrieben. Zum Austausch der
Prozessdaten werden kurze Ethernet Rahmen von 64 Bytes verwendet, von denen 44 Bytes für
Nutzdaten zur Verfügung stehen. Die SPS organisiert als I/O Controller bzw. Busmaster den
Buszyklus. In jedem Switch werden die Meldungen gespeichert und weitergeleitet. In den I/O
Geräten werden die Meldungen empfangen und Meldungen mit dem aktuellen Status der
Eingänge als Antwort gesendet.
Frage 1.1 (4 Punkte): Es werden 10 I/O Geräte in Stern-Topologie an einen Switch angeschlossen. Der I/O Controller organisiert den Buszyklus so, dass alle Geräte der Reihe nach
abgefragt werden und antworten. Wie lange dauert der Buszyklus mindestens?
Frage 1.2 (4 Punkte): Es werden 10 I/O Geräte in Linien-Topologie bzw. in Ring-Topologie
miteinander verbunden. Der I/O Controller organisiert den Buszyklus so, dass alle Geräte
der Reihe nach abgefragt werden und antworten. Wie lange dauert der Buszyklus
mindestens?
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
62/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Frage 1.3 (6 Punkte): Skizzieren Sie auf der Zeitachse einen möglichen Buszyklus zu Frage 1.1
und Frage 1.2 aus Sicht des I/O Controllers (Geräte abfragen und Rückmeldungen).
Frage 1.4 (4 Punkte): Für den zu steuernden Prozess genügt eine Zykluszeit von 10 ms. Es
werden maximal 10 I/O Geräte angeschlossen. Die Anordnung soll jedoch Einzelfehler im
Netz verkraften. Welche Topologie wählen Sie? Begründen Sie Ihre Entscheidung durch
Vergleich mit den anderen Topologien.
Teil 2
Damit das Netzwerk neben den zeitkritischen Prozessdaten auch regulären Verkehr
übertragen kann, wird ein Zeitmultiplex eingeführt, d.h. alle Controller, Switches und Geräte
werden im gleichen Takt zwischen einem Zeitschlitz für Prozessdaten und einem Zeitschlitz für
regulären Verkehr umgeschaltet. Der Takt für den Zeitmultiplex kann von 250 μs bis 1 ms
eingestellt werden. Es wird abwechselnd ein Zeitintervall für Prozessdaten verwendet, das
folgende Zeitintervall für regulären Verkehr.
Frage 1.5 (4 Punkte): Zur Steuerung des Prozesses ist eine maximalen Reaktionszeit von 1 ms
erforderlich. Hierbei beschreibt die Reaktionszeit aus Sicht des Prozesses die Zeit
zwischen dem Senden einer Meldung mit Statusinformation und dem Empfang einer
Meldung mit Steuerinformation. Wählen Sie eine Linienkonfiguration für 10 Geräte. Kann
die gewünschte Reaktionszeit erreicht werden? Begründen Sie Ihre Antwort.
CAN
Frage 1.6 (4 Punkte): Wählen Sie eine Einstellung für den Zeitmultiplex. Begründen Sie Ihre
Entscheidung. Skizzieren Sie den Buszyklus auf der Zeitachse aus Sicht des I/O
Controllers (Geräte abfragen und Rückmeldungen empfangen).
45. CAN Open als Feldbus
CANopen application layer
Für das Batteriemanagement in einem Elektrofahrzeug soll der CAN-Bus in Kombination
mit dem Anwendungsprofil CANopen 454 für Energie-Management-Systeme eingesetzt
werden. In den Unterlagen findet sich folgende Abbildung.
Requesting
(confirming)
device
Indicating
(responding)
device
CANopen
application
layer
CANopen COB
CAN data link
layer
CAN physical
layer
CAN frame(s)
Recessive
Recessive
Dominant
COB = communication object
CANopen
application
layer
CAN data link
layer
CAN physical
layer
Quelle: CAN in Automation
Frage 3.1 (6 Punkte): Interpretieren Sie die abgebildeten Protokollschichten und erläutern Sie
die Funktionen jeder Schicht.
•
Schicht 1, Physical Layer: Modulationsverfahren; wie OSI Schicht 1
© CiA
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
63/74
Informatik Masterstudium
Computing & Communications, PM2100.1
•
Schicht 2, Data Link: Rahmenprotokoll mit Fehlerkorrektur; wie OSI-Schicht 2
CAN
•
Schicht 3, Anwendungsschicht: Schnittstelle für den Anwendungsprogrammierer,
Definition von Nachrichten, Nachrichtenformaten und Objekten aus der Anwendungsdomaine; entspricht OSI Schicht 7
Integrated CAN module
Frage 3.2 (8 Punkte): CAN funktioniert als serieller Feldbus, d.h. alle Geräte sind an einem
gemeinsamen Medium (Zweidraht) angeschlossen. Der Anschluss der Geräte an den
Feldbus erfolgt wie in folgender Abbildung gezeigt. Erläutern Sie die Funktion der
einzelnen Komponenten im Zusammenhang mit den den Protokollschichten aus der
letzten Abbildung. Welche Besonderheit hat der dargestellte Mikrocontroller?
CAN Transceiver
CAN_H
CAN_L
Microcontroller
Rx
• Signaling
• Bus Failure
Management
Tx
CAN Module
• Protocol Controller
• Message Filter
• Message Buffer
• CPU Interface
CPU Module
• Additional
Message Filter
• Higher Layer
Protocol
• Application
Quelle: CAN in Automation
•
CAN-Transceiver: Physical Layer, stellt für Schicht 2 eine Schnittstelle zum Senden
(Transmit Tx) und Empfangen (Receive Rx) von Nachrichten zur Verfügung.
•
CAN Module: Schicht 2; sowie Vorverarbeitung von Signalen, z.B. Ausfiltern
relevanter Signale zur weiteren Verarbeitung, sowie Nachrichtenpuffer; stellt Schnittstelle
© CiA
zur Anwendungsschicht bereit.
•
CPU-Module: Verarbeitung des Anwendungsprotokolls (Schicht 3), sowie der der
Anwendung selbst.
•
In der gezeigten Abbildung ist das CAN-Module (Schnittstellenmodul) direkt im
Mikrocontroller integriert. Als Alternative wäre ein externer Baustein zu verwenden, der
dann über eine serielle Schnittstelle an einen Mikrocontroller angeschlossen ist (z.B. über
eine serielle Schnittstelle wie SPI).
Frage 3.3 (8 Punkte): Der Feldbus wird mit einer Datenrate von 1 Mbit/s betrieben. Die Länge
einer Nachricht beträgt 6 Bytes für den Nachrichtenkopf (Header), sowie 0 bis 8 Bytes für
Daten. Die Geräte kommunizieren Kollisionen unter einander (mehrere Geräte senden
gleichzeitig), sowie Quittungen empfangener Nachrichten unmittelbar durch den
Signalpegel eines einzelnen Bits (in Art einer Open-Kollektor-Schaltung bzw. verdrahteter
ODER-Logik der Anschlüsse an den Bus). Wie lange darf die Länge ℓ des Feldbusses
höchstens sein, damit eine Nachricht von einem Ende zum anderen laufen kann und von
dort eine Quittung empfangen werden kann (als Ausbreitungsgeschwindigkeit seien 200 *
106 m/s angenommen)? Wie viele Nachrichten pro Sekunde kann der Bus übertragen,
wenn jede Nachricht 8 Bytes Daten enthält? Nennen Sie eine Möglichkeiten, Nachrichten
bevorzugt zu behandeln (z.B. Steuerinformationen vor Messwerten).
•
Die Übertragungsdauer eines Bits beträgt 1 us (zu berechnen aus der Datenrate).
Während dieser Zeit wird mit der gegebenen Ausbreitungsgeschwindigkeit eine EntS. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
64/74
Informatik Masterstudium
Computing & Communications, PM2100.1
fernung von 200 m durchlaufen. Die Buslänge darf also 100 m nicht überschreiten, damit
eine Quittung nach einer us zurücklaufen kann. Damit die Quittung innerhalb der Bitdauer
ankommt, sollte die Buslänge deutlich kürzer sein (max. 40 m).
•
Nachrichtenlänge: 14 Bytes = 14 * 8 = 112 bits => 112 us pro Nachricht. Somit
können pro Sekunde 8929 Nachrichten übertragen werden.
•
Die Priorität der Nachricht wird im Nachrichtenkopf kennzeichnen. Die Auswertung
erfolgt entweder durch die Anwendung (Software im Mikrocontroller), bzw. gleich bitweise
durch den Buspegel.
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
65/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Englisch - Deutsch
Admission control !
!
!
Zulassungskontrolle
Air Interface!
!
!
!
Funkschnittstelle
Application layer!
!
!
Anwendungsschicht, Verarbeitungsschicht
Basic Services (BS) !
!
!
Basisdienste
Bearer Service! !
!
!
Trägerdienst
Block Error Rate!
!
!
Blockfehlerrate
Broadcast !
!
!
!
Rundsendung
Call Control !
!
!
!
Rufsteuerung
Call Drop Rate !!
!
!
Verbindungsabbruchrate
Call Forwarding (CF) ! !
!
Rufumleitung
Carrier !!
!
!
Verbindungsnetzbetreiber
!
!
Zellkennung
Circuit switched domain!!
!
Leitungsvermittelte Domäne
Circuit switching!
!
!
Leitungsvermittlung
Confidentiality! !
!
!
Vertraulichkeit
Content Provider !
!
!
Inhalteanbieter
Control Plane ! !
!
!
Steuerungsebene
Core Network ! !
!
!
Kernnetz
Credentials !
!
!
!
Beglaubigung, Zeugnis
Data Link Layer !
!
!
Sicherungsschicht
Delay, Latency !!
!
!
Verzögerung, Laufzeit
Downlink!
!
!
!
Abwärtsstrecke
Echo Canceller! !
!
!
Echokompensator
Expedited Forwarding! !
!
beschleunigtes Weiterleiten
Fading! !
!
!
!
Schwund
Firewall!!
!
!
!
Brandschutzmauer, Paketfilter
!
!
Rahmenfehlerrate
!
Cell Identity (CID) !
Frame Error Rate!
Frequency Division Multiple Access!
Frequenzvielfachzugriff
Handover, Handoff!
!
!
(Verbindungs-)Übergabe, Weiterreichen
Integrity!
!
!
!
Unversehrtheit (von Daten bzw. Systemen)
Jitter!
!
!
!
Laufzeitschwankungen
!
!
!
Sichtverbindung
!
Line of Sight!
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
66/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Local Area Network!
!
!
Lokales Rechnernetz
Location Area (LA)!
!
!
Aufenthaltsbereich
Mobile Termination!
!
!
Mobilfunk-Netzabschluss
Mobility Management! !
!
Mobilitätssteuerung
Multicast!
!
!
!
Vielfachsendung
narrowband!
!
!
!
schmalbandig
Network Layer! !
!
!
Vermittlungsschicht
Packet Loss!
!
!
Paketverlust
Packet Switching!
!
!
Paketvermittlung
Penetration Loss!
!
!
Wanddämpfungsverlust
Physical Layer! !
!
!
Physikalische Schicht
Power Control! !
!
!
Leistungsregelung
Presence Service!
!
!
Erreichbarkeitsdienst
Processing Gain!
!
!
Prozessgewinn
Pseudo Noise Sequence!
!
Pseudozufallsfolge
Push Service! !
!
!
Zustelldienst
Quality of Service!
!
!
Dienstgüte
Release!
!
!
Ausgabe (eines Normenpaketes oder Softwarepaketes)
Resource Management!!
!
Administration der Betriebsmittel
Resources!
!
!
!
Betriebsmittel
Routing!!
!
!
!
Verkehrslenkung
Scrambling!
!
!
!
Verwürfelung
Sensitivity!
!
!
!
Empfindlichkeit
Service Provider !
!
!
Dienstanbieter, Diensterbringer
Session !
!
!
!
Sitzung
Session Layer! !
!
!
Sitzungsschicht
Session Management! !
!
Sitzungssteuerung
Short Message!!
!
!
Kurznachricht
State Event Diagram!
!
!
Zustandsübergangsdiagramm
Subframe!
!
!
!
Teilrahmen
Sublayer!
!
!
!
Teilschicht
Subscription!
!
!
!
Vertragsabschluss, Subskription, Diensteinschreibung
!
!
Supplementary Services (SS)! !
Zusatzdienste
Terminal Equipment!
Endgerät
S. Rupp, 2014
!
!
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
67/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Time Division Multiple Access! !
Zeitvielfachzugriff
Traffic Model!
!
!
!
Verkehrsmodell
Transcoding!
!
!
!
Umcodierung
Transport Layer!!
!
!
Transportschicht
Uplink! !
!
!
!
Aufwärtsstrecke
User Equipment!
!
!
Teilnehmerausrüstung
User Plane!
!
!
Nutzerebene
S. Rupp, 2014
!
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
68/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Abkürzungen
2G !
!
2nd Generation (of Mobile Radio)
3G !
!
3rd Generation (of Mobile Radio)
3GPP! !
3rd Generation Partnership Project (UMTS)
AAA!
Authentication, Authorization, Accounting
!
ADSL! !
Asynchronous Digital Subscriber Line
AG !
!
Access Gateway
AP!
!
Access Point
API!
!
Application Programming Interface
ASP!
!
Application Service Provider
AuC!
!
Authentication Center
BER!
!
Bit Error Rate
BLER! !
Block Error Rate
BSC!
!
Base Station Controller
BSS!
!
Base Station System
BTS!
!
Base Transceiver Station
CCBS! !
Customer Care and Billing System
CDMA! !
Code Division Multiple Access
CK!
Ciphering Key
!
CORBA!
Common Object Request Broker Architecture
CPE!
Customer Premises Equipment
!
DECT! !
Digital Enhanced Cordless Telecommunications
DHCP! !
Dynamic Host Configuration Protocol
DIAMETER!
successor to RADIUS
DNS!
!
Domain Name Service
DSL!
!
Digital Subscriber Line
DVB !
!
Digital Video Broadcasting
DVB-S! !
Satellite DVB
DVB-T! !
Terrestrial DVB
EDGE! !
Enhanced Data Rates for Global Evolution
EIR!
Equipment Identity Register
!
ERAN ! !
EDGE Radio Access Network
ETSI!
European Telecommunications Standards Institute
!
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
69/74
Informatik Masterstudium
Computing & Communications, PM2100.1
EU !
!
European Union
FDD!
!
Frequency Division Duplex
FDMA! !
Frequency Division Multiple Access
FEC !
!
Forward Error Correction
FER !
!
Frame Error Rate
FTP!
!
File Transfer Protocol
GERAN!
GSM/EDGE Radio Access Network
GGSN! !
Gateway GPRS Support Node
GMLC ! !
Gateway Mobile Location Center
G-MS! !
Gateway MSC
GPRS! !
General Packet Radio Service GPS: Global Positioning System
GSM!
Global System for Mobile communication
!
HDTV! !
High Definition Television
HLR!
!
Home Location Register
HSS!
!
Home Subscriber Server
HTTP! !
Hypertext Transfer Protocol
IAM!
!
Initial Access Message
ID!
!
Identity
IDL!
!
Interface Description Language
IEEE!
!
Institute of Electrical and Electronics Engineers
IETF!
!
Internet Engineering Task Force
IM!
!
Instant Messaging
IMEI!
!
International Mobile Equipment Identity
IMSI!
!
International Mobile Subscriber Identity
IN !
!
Intelligent Network
INAP!
!
Intelligent Network Application Part
IP!
!
Internet Protocol
IPsec! !
IP Security Protocol
IP-VPN!!
IP Virtual Private Network
ISDN ! !
Integrated Services Digital Network
ISO!
!
International Organization for Standardization ISP: Internet Service Provider
IT!
!
Informations Technologie
ITU!
!
International Telecommunication Union
J2ME! !
S. Rupp, 2014
Java 2 Micro Edition
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
70/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Kc!
!
Ciphering Key
LA!
!
Location Area
LAN!
!
Local Area Network
LBS!
!
Location Based Service
LLC!
!
Logical Link Control
LOS!
!
Line of Sight
MAC!
!
Medium Access Control
MAN!
!
Metropolitan Area Network
MAP!
!
Mobile Application Part
MID!
!
Mobile Information Device
MMS! !
Multimedia Messaging Service
MNC ! !
Mobile Network Code
MP3!
Moving Pictures experts group 1 layer 3 standard
!
MPEG ! !
Moving Pictures Experts Group
MPLS! !
Multi-Protocol Label Switching
MS!
!
Mobile Station
MSC!
!
Mobile Switching Center
MSIN ! !
Mobile Station Identification Number
MSISDN !
Mobile Subscriber ISDN Number
MTP!
!
Message Transfer Part
NAT!
!
Network Address Translation
NSS!
!
Network Subsystem
OFDM! !
Orthogonal Frequency Division Multiplexing
OMA!
Open Mobile Alliance
!
OMG ! !
Object Management Group
OSI!
Open Systems Interconnection
!
OSPF! !
Open Shortest Path First
PCM!
!
Pulse Code Modulation
PDA!
!
Personal Digital Assistant
PHY!
!
Physical Layer
PLMN ! !
Public Land Mobile Network
PPP!
Point to Point Protocolg
!
PSTN! !
Public Switched Telephony Network
P-TMSI!!
Packet TMSI
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
71/74
Informatik Masterstudium
Computing & Communications, PM2100.1
QoS!
!
Quality of Service
RAB !
!
Radio Access Bearer
RADIUS!
Remote Authentication Dial In User Service
RAN!
!
Radio Access Network
RFC!
!
Request For Comments (IETF)
RLC!
!
Radio Link Control
RNC!
!
Radio Network Controller
RTP!
!
Real Time Transport Protocol
SAP!
!
Service Access Point
SAT!
!
SIM Application Toolkit
SCCP! !
Signaling Connection Control Part
SCP!
!
Service Control Point
SDH!
!
Synchronous Digital Hierarchy
SDP!
!
Service Discovery Protocol
SDU!
!
Service Data Unit
SGSN! !
Serving GPRS Support Node
SIG!
!
(Bluetooth) Special Interest Group
SIM!
!
Subscriber Identity Module
SIP!
!
Session Initiation Protocol
SMS!
!
Short Message Service
SMSC ! !
Short Message Service Center
SMTP ! !
Simple Mail Transfer Protocol
SOAP! !
Simple Object Access Protocol
SS7!
!
Signaling Subsystem No 7
STP!
!
Signaling Transfer Point
TCAP! !
Transaction Capability Application Part
TCP!
Transmission Control Protocol
!
TD/CDMA!
Time Division / Code Division Multiple Access
TDD!
!
Time Division Duplex
TDM!
!
Time Division Multiplex(ing)
TDMA! !
Time Division Multiple Access
TE!
Terminal Equipment
!
TMSI! !
Temporary Mobile Subscriber Identity
UDP!
User Datagram Protocol
!
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
72/74
Informatik Masterstudium
Computing & Communications, PM2100.1
UML!
!
Unified Modeling Language
UMTS! !
Universal Mobile Telecommunications System
URL!
Universal Resource Locator
!
USAT! !
USIM Application Toolkit
USIM! !
Universal Subscriber Identity Module
UTRA! !
Universal Terrestrial Radio Access
UTRAN!!
Universal Terrestrial Radio Access Network
VLR!
!
Visitor Location Register
VPN!
!
Virtual Private Network
WAN ! !
Wide Area Network
W-CDMA!
Wideband CDMA
WLAN ! !
Wireless Local Area Network
WSDL! !
Web Services Description Language
WWW! !
World Wide Web
XML!
Extended Markup Language
!
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
73/74
Informatik Masterstudium
Computing & Communications, PM2100.1
Literatur
(1)
Andrew S. Tanenbaum, Computer Netzwerke, Pearson Studium; Auflage: 4.,
überarbeitete Auflage (2003); ISBN-13 978-3827370464
(2)
Gerd Siegmund, Technik der Netze, Band 1 und 2, Band 1: Klassische Kommunikationstechnik: Grundlagen, Verkehrstheorie, ISDN/GSM/IN - Band 2: Neue Ansätze: SIP
in IMS und NGN; VDE-Verlag; Auflage: 6., vollst. neu bearbeitete und erweiterte
Auflage (2010); ISBN-13: 978-3800732203
(3)
Eric Freeman et al, Head First Design Patterns, O'Reilly Media; Auflage: 1 (2004)
ISBN-13: 978-0596007126
(4)
Harald Orlamünder, Paket-basierte Kommunikations-Protokolle: Hüthig Telekommunikation; Auflage: 1 (2005) ISBN-13: 978-3826650468
S. Rupp, 2014
Übungen_Kommunikationssysteme_PM_2001_1_Teil_2
74/74