systeme - KOBRA - Universität Kassel

Transcrição

systeme - KOBRA - Universität Kassel
Entwurf und Betrieb von Regelungs- und
Monitoringsystemen für dezentrale Energiesysteme auf
der Basis von verteilten Embedded Systems
Dissertation zur Erlangung des akademischen Grades eines Doktors
der Ingenieurwissenschaften (Dr.-Ing.) im Fachbereich
Elektrotechnik/Informatik der Universität Kassel
vorgelegt von
Dipl.-Biol. Rainer Becker
Eingereicht im
November 2008
Datum der Disputation 20.01.2009
1. Gutachter
2. Gutachter
Prof. Dr.-Ing. Jürgen Schmid
Prof. Dr.-Ing. Birgit Vogel-Heuser
3
Erklärung
Hiermit versichere ich, dass ich die vorliegende Dissertation selbständig und ohne unerlaubte
Hilfe angefertigt und andere als die in der Dissertation angegebenen Hilfsmittel nicht benutzt
habe. Alle Stellen, die wörtlich oder sinngemäß aus veröffentlichten oder unveröffentlichten
Schriften entnommen sind, habe ich als solche kenntlich gemacht. Kein Teil dieser Arbeit ist in
einem anderen Promotions- oder Habilitationsverfahren verwendet worden.
Kassel, 25. November 2008
4
5
Noch sind wir zwar keine gefährdete Art, aber es ist nicht so, dass wir nicht oft genug versucht
hätten, eine zu werden.
Douglas Adams (Die Letzten ihrer Art)
Auf welche Irrwege werden noch heut die jungen Leute durch die neue Mode gelockt, alles
durchs Mikroskop zu betrachten.
Feodor Lösch (Amöbenruhr, 1874)
A distributed system is one in which the failure of a computer you didn’t even know existed can
render your own computer unusable.
Leslie Lamport (Subject: distribution (Email message to DEC SRC bulletin board, 1987))
Inhaltsverzeichnis
1 Einleitung
13
2 Stand der Technik und Motivation
2.1 Monitoringsysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Stand der Technik . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Motivation zur Entwicklung verteilter Monitoringsysteme mit vernetzten
Embedded Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Verteilte Regelungssysteme für dezentrale Energiesysteme . . . . . . . . . . .
2.2.1 Stand der Technik . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Motivation zur Entwicklung verteilter Regelungssysteme mit vernetzten
Embedded Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Gemeinsamkeiten der Regelungs- und Monitoringsysteme . . . . . . . . . . .
17
. 17
. 17
. 19
. 20
. 20
. 20
. 21
3 Embedded Systems
23
3.1 Prozessorarchitekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Betriebssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Verteilte Systeme
4.1 Definition für Verteilte Systeme . . . . . . . . . . . .
4.2 Grundsätzliche Anforderungen an Verteilte Systeme .
4.3 Verteilte Regelungssysteme . . . . . . . . . . . . . .
4.4 Anforderungen an verteilte Regelungssysteme . . . .
4.5 Unterschiedliche Strukturen von Regelungssystemen
4.6 Vorteile verteilter Regelungssysteme . . . . . . . . .
4.6.1 Maskierung von Komplexität . . . . . . . . .
4.6.2 Handling von Kommunikationsausfällen . . .
4.6.3 Lokale Lösungen von lokalen Problemen . .
4.6.4 Zusammenarbeit von Regler und Komponente
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
29
30
30
31
33
33
34
34
34
5 Anwendungsbeispiele für Verteilte Systeme
5.1 Verteilte Regelungssysteme . . . . . . . . . . . . . . . . . . .
5.1.1 Innovationsmotor Klimapolitik . . . . . . . . . . . . .
5.1.2 Erzeugungsmanagement von EEG- und KWK-Anlagen
5.1.3 Zeitliche Lastverschiebung durch dynamische Tarife .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
37
37
38
39
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INHALTSVERZEICHNIS
8
5.2
Verteilte Monitoringsysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.1 Energieverbrauchs-Monitoring im gewerblichen Bereich . . . . . . . . . 40
5.2.2 Smart-Metering-Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6 Genormte Kommunikation
6.1 Bedeutung normierter Kommunikation . . . . . . . . . . . . .
6.2 Kommunikation in der elektrischen Energieversorgungstechnik
6.3 Kommunikation in der Automatisierungstechnik . . . . . . . .
6.3.1 OLE for Process Control (OPC) . . . . . . . . . . . .
6.3.2 OPC Unified Architecture (OPC UA) . . . . . . . . .
6.4 Kommunikationsprobleme durch unzureichende Normung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Stand der Internet-Technik für Verteilte Systeme
7.1 Lokale Vernetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.1 Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1.2 Very High Data Rate Digital Subscriber Line (VDSL) . . . . . . . . . .
7.1.3 Powerline Communication (PLC) . . . . . . . . . . . . . . . . . . . .
7.1.4 Wireless Local Area Network (WLAN) . . . . . . . . . . . . . . . . .
7.1.5 Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Drahtgebundene Internetzugänge . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Digital Subscriber Line (DSL) . . . . . . . . . . . . . . . . . . . . . .
7.2.2 Internet per TV-Kabel . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.3 Analog-Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.4 Integrated Services Digital Network (ISDN) . . . . . . . . . . . . . . .
7.2.5 Nutzung bereits vorhandener Internetzugänge . . . . . . . . . . . . . .
7.3 Drahtlose Internetzugänge . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3.1 Global System for Mobile Communications (GSM) . . . . . . . . . . .
7.3.2 Universal Mobile Telecommunication System (UMTS) . . . . . . . . .
7.3.3 Worldwide Interoperability for Microwave Access (WiMAX) . . . . . .
7.4 Technische Probleme bei der Internet-Nutzung . . . . . . . . . . . . . . . . . .
7.4.1 Network Address Translation (NAT) . . . . . . . . . . . . . . . . . . .
7.4.2 Wechselnde IP-Adressen . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.3 Verbindungsabbrüche bei Einwahlverbindungen . . . . . . . . . . . . .
7.5 Netzwerkdienste für Verteilte Systeme . . . . . . . . . . . . . . . . . . . . . .
7.5.1 Zuweisung von IP-Adressen mittels Dynamic Host Configuration
Protocol (DHCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.2 Domain Name System (DNS) . . . . . . . . . . . . . . . . . . . . . .
7.5.3 Zeitsynchronisation mit dem Network Time Protocol (NTP) . . . . . .
7.5.4 Sicherheitsupdates . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5.5 Fernwartung mit der Secure Shell (SSH) . . . . . . . . . . . . . . . . .
7.5.6 rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 Überwachung von Verteilten Systemen . . . . . . . . . . . . . . . . . . . . . .
7.6.1 Smokeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
45
45
45
47
48
48
49
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
51
52
52
52
52
53
54
54
54
55
55
57
58
58
58
62
63
63
63
68
69
70
.
.
.
.
.
.
.
.
70
71
72
73
74
79
80
80
INHALTSVERZEICHNIS
7.6.2
7.6.3
9
Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Sonderlösungen für per GSM vernetzte Systeme . . . . . . . . . . . . . . 82
8 Sicherheitsaspekte bei der Internet-Nutzung
8.1 Virtual Private Network (VPN) . . . . . . . . . . . . . . . . . . . . . .
8.2 Secure Socket Layer (SSL) und Transport Layer Security (TLS) . . . .
8.3 Secure Shell (SSH) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5 Sicherheitsaspekte bei Netzwerkstrukturen . . . . . . . . . . . . . . . .
8.6 Sicherheitstools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6.1 Rechtliche Schwierigkeiten bei der Nutzung von Sicherheitstools
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
87
87
91
92
92
94
99
100
9 Online-Visualisierung mit Java-Applets und XML-RPC
9.1 Visualisierungs-Client-Software . . . . . . . . . . .
9.2 Server-Software für die Visualisierung . . . . . . . .
9.3 Ablauf des Visualisierungsprozesses . . . . . . . . .
9.4 Grafische Erstellung von Online-Visualisierungen . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
103
105
106
108
111
10 Visualisierung auf Mobiltelefonen mit WAP
10.1 WAP 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2 Infrastruktur zur Auslieferung von WAP-Dokumenten . . . . . . . . . . . . . . .
10.3 WAP 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
115
115
117
118
11 Simulation verteilter Regelungssysteme
11.1 Virtualisierungstechniken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Simulation mit User-mode Linux und ColSim . . . . . . . . . . . . . . . . . . .
11.2.1 User-mode Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.2 Installation eines Debian-User-mode Linux auf einem Debian-LinuxHost-System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.3 Simulationsumgebung ColSim . . . . . . . . . . . . . . . . . . . . . . .
11.2.4 Netzwerkstruktur der Simulationsumgebung . . . . . . . . . . . . . . . .
11.2.5 Zeitskala – Realtime oder Jahressimulation . . . . . . . . . . . . . . . .
11.2.6 Anwendungsbeispiel Reglerentwicklung für eine thermische Solaranlage
121
123
125
125
12 Betriebssysteminstallation
12.1 Betriebssystem-Images . . . . . . . . . . . . . . . . . . . . .
12.1.1 Blockweises Kopieren des gesamten Massenspeichers .
12.1.2 Dateibasiertes Kopieren eines Massenspeichers . . . .
12.2 Klonen eines laufenden Systems . . . . . . . . . . . . . . . .
12.3 Nutzung von Paketmanagern zur Softwareinstallation . . . . .
139
139
140
140
142
143
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
126
127
127
135
136
13 Konfigurations- und Parametriersoftware
145
13.1 Konfiguration und Parametrierung in der industriellen Prozess- und Fertigungsautomatisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
INHALTSVERZEICHNIS
10
13.1.1 Electronic Device Description Language (EDDL) .
13.1.2 Field Device Tool (FDT) . . . . . . . . . . . . . .
13.2 Softwareinstallation . . . . . . . . . . . . . . . . . . . . .
13.2.1 Grafisches Userinterface zur Systemparametrierung
13.2.2 Automatische Hardwareerkennung für Messtechnik
13.2.3 Automatisierte Softwareinstallation . . . . . . . .
14 Hardware-Anforderungen an Verteilte Systeme
14.1 Speichermedien . . . . . . . . . . . . . . . . . . . . .
14.1.1 Festplatten . . . . . . . . . . . . . . . . . . . .
14.1.2 Speichermedien aus Flash-Bausteinen . . . . .
14.1.3 Maßnahmen zur Erhöhung der Betriebsstabilität
14.2 Datensicherheit . . . . . . . . . . . . . . . . . . . . .
14.3 Stabilisierung der Spannungsversorgung . . . . . . . .
14.4 Watchdog . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
145
146
146
147
150
151
.
.
.
.
.
.
.
155
155
155
156
157
158
159
160
15 Evaluation
161
15.1 Verteiltes Monitoringsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
15.1.1 Projekte Wärmepumpen im Gebäudebestand und Wärmepumpen-Effizienz161
15.1.2 Kommunikationsinfrastruktur . . . . . . . . . . . . . . . . . . . . . . . 162
15.1.3 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
15.1.4 Betriebssystemanpassung . . . . . . . . . . . . . . . . . . . . . . . . . . 174
15.1.5 Softwareinstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
15.1.6 Probebetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
15.1.7 Prozessliste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
15.1.8 Systemüberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
15.1.9 Messdatenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
15.1.10 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
15.2 Verteiltes Regelungssystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
15.2.1 Power Flow and Power Quality Management System (PoMS) . . . . . . . 187
15.2.2 Erstellung von Fahrplänen . . . . . . . . . . . . . . . . . . . . . . . . . 187
15.2.3 Infrastruktur des verteilten Regelungssystems . . . . . . . . . . . . . . . 188
15.2.4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
15.2.5 Software der Power Interface Boxes . . . . . . . . . . . . . . . . . . . . 196
15.2.6 Aufgaben der PoMS Central Unit (PCU) . . . . . . . . . . . . . . . . . . 197
15.2.7 Aufgaben der Power Interface Boxes (PIBs) . . . . . . . . . . . . . . . . 197
15.2.8 Mechanismen zur Überwachung des PoMS . . . . . . . . . . . . . . . . 198
15.2.9 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
16 Zusammenfassung und Ausblick
201
16.1 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
16.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
INHALTSVERZEICHNIS
11
17 Danksagung
205
Abbildungsverzeichnis
206
Tabellenverzeichnis
210
Literaturverzeichnis
211
12
INHALTSVERZEICHNIS
Kapitel 1
Einleitung
Wir leben heute in einer Welt, in der Kommunikation zwischen technischen Systemen eine
zunehmend bedeutende Rolle spielt. Unser alltägliches Leben wird an vielen Stellen dadurch
erleichtert, dass eine große Anzahl dieser Systeme reibungslos zusammenarbeiten. Dabei gewinnen sogenannte verteilte Systeme – d. h. Rechner, die per Netzwerk miteinander in Verbindung
stehen – immer mehr an Bedeutung. Sie begegnen uns z. B., wenn wir von untereinander vernetzten Verkehrsampeln im städtischen Straßenverkehr geleitet werden oder wenn miteinander
vernetzte Kleinrechner in der Gebäudeleittechnik dafür sorgen, dass alle technischen Systeme
eines Gebäudes (Heizung, Kühlung, Lüftung, etc.) sinnvoll zusammenarbeiten.
Mit steigender Rechenleistung und fallenden Kosten für Hardware wird es immer interessanter,
nicht nur handelsübliche PCs und Server miteinander zu vernetzen, sondern alle Arten von
Geräten mit netzwerkfähiger Computertechnik auszustatten. Leistungsschwache eigenständig
arbeitende Mikrocontroller zur Gerätesteuerung werden durch leistungsstarke netzwerkfähige
Embedded Systems ersetzt.
Für die Zuverlässigkeit dieser Systeme ist dabei entscheidend, mit welcher Software und
unter welchen Randbedingungen sie betrieben werden. Verteilte Systeme, die auf intensiver
Kommunikation basieren, müssen beim Ausfall von Kommunikationskanälen zumindest einen
Notbetrieb aufrecht erhalten können. Das gelingt jedoch nur, wenn die einzelnen Knoten eines
verteilten Systems ausreichend Systemressourcen haben, um auch eigenständig zu funktionieren.
Oftmals sind verteilte Systeme aber so strukturiert, dass die dezentralen sehr leistungsschwachen
Knoten durch einen leistungsstarken zentralen Server gesteuert werden. Solche Systeme können
bei Kommunikationsausfall nicht weiter funktionieren.
In dieser Arbeit stehen deshalb vergleichsweise leistungsstarke Embedded Systems im Mittelpunkt der Betrachtung, die eigenständig sinnvoll arbeiten können.
Während der letzten Jahre haben Internet-Technologien – insbesondere die für die Kommunikation im Internet genutzten Kommunikationsprotokolle – proprietäre Kommunikationssysteme
und -protokolle an vielen Stellen abgelöst und zu einer Standardisierung geführt. Daher
13
14
KAPITEL 1. EINLEITUNG
werden in dieser Arbeit ausschließlich Kommunikationsmittel behandelt, die standardmäßig
Transmission Control Protocol/Internet Protocol (TCP/IP) benutzen.
Diese Familie von Netzwerkprotokollen hat den großen Vorteil, dass sie mit ganz verschiedenen Medien (Ethernet, Mobilfunk, Wireless LAN, . . . ) funktioniert und dabei Transparenz
gewährleistet, d. h. dass es für das Format und die Behandlung der übertragenen Daten völlig
unerheblich ist, welches Transportmedium genutzt wird.
Die Administration von verteilten Monitoring- und Regelungssystemen mit vielen Knoten ist
eine große Herausforderung. Sie setzt die Entwicklung und Nutzung spezieller Softwaretools
zur weitgehend automatisierten Überprüfung der Funktionalität der Systeme voraus. Dazu
gehören sowohl die Kontrolle der Mess- und Regelungsprozesse als auch die Überprüfung der
Kommunikationsverbindungen. Automatisch erstellte und per Email versandte Reports über die
Systemzustände können dabei die Arbeit erleichtern. Die Visualisierung von Messdaten und
Regelungsprozessen mittels Internet- und Mobilfunktechnologien vereinfacht die Funktionskontrolle und Fehlerbehebung beim Betrieb der Systeme.
Spezielle Software zur Funktionskontrolle und Visualisierung der Betriebszustände wurde im
Rahmen dieser Arbeit entwickelt und soll hier diskutiert werden.
Immer häufiger nutzen verteilte Systeme die Internet-Technologie nicht nur im lokalen Netzwerk, sondern auch zur direkten Kommunikation ihrer Knoten untereinander über das Internet.
Dadurch entsteht die Notwendigkeit, diese Systeme möglichst gut vor Angriffen aus dem
Internet zu schützen und Softwarefehler, die Sicherheitslücken verursachen, schnell zu beheben.
Die Untersuchung von Sicherheitssoftware und Netzwerktechnologien stellt einen weiteren Teil
dieser Arbeit dar.
Da Regelungs- und Kommunikationssoftware auf den verschiedenen Knoten eines Systems
störungsfrei zusammenarbeiten müssen, ist die Entwicklung von verteilten Regelungssystemen
eine sehr komplexe Aufgabe. Zum Zeitpunkt der Softwareentwicklung stehen die Embedded
Systems sowie die zu regelnde Hardware oft noch nicht zur Verfügung.
In dieser Arbeit wird gezeigt, wie mit Hilfe von virtuellen Maschinen, virtuellen Netzwerken
und Software zur Anlagensimulation eine Entwicklungsumgebung geschaffen wird, in der die
Kommunikations- und Regelungssoftware für verteilte Systeme schon entwickelt und getestet
werden kann, bevor die echte Hardware zum Einsatz kommt.
Das Installieren von verteilten Monitoring- und Regelungssystemen mit vielen Knoten ist nur
dann ohne allzu großen Aufwand möglich, wenn sie mit Installationssoftware weitgehend automatisiert erfolgen kann. Derartige Software ermöglicht das komfortable Installieren sowohl der
Betriebssysteme als auch der Applikationssoftware auf den Embedded Systems des verteilten
Systems. Sie enthält auch Funktionen für die Parametrierung der Applikationssoftware mit Hilfe
von grafischen Benutzeroberflächen.
In dieser Arbeit werden verschiedene Ansätze zur automatisierten Softwareinstallation von
verteilten Monitoring- und Regelungssystemen mit vielen Knoten und zur Parametrierung von
Messsoftware diskutiert.
15
Zahlreiche praktische Aspekte beim Aufbau und Betrieb von verteilten Systemen aus Embedded
Systems werden am Beispiel von zwei großen verteilten Monitoringsystemen zur Messung
der Energieeffizienz von Wärmepumpen und am Beispiel eines verteilten Regelungssystems
zum Betrieb eines Niederspannungsnetzes behandelt. Die hier vorliegende Arbeit wurde im
Zusammenhang mit der Planung, Entwicklung und Realisierung dieser drei Projekte erstellt.
16
KAPITEL 1. EINLEITUNG
Kapitel 2
Stand der Technik und Motivation
2.1 Monitoringsysteme
2.1.1 Stand der Technik
Zum langfristigen Monitoring von dezentralen Energiesystemen werden heute in den meisten
Fällen handelsübliche Datenlogger oder PC-basierte Lösungen eingesetzt. Die beiden Technologien unterscheiden sich in ihren grundlegenden Konzepten und weisen deshalb auch ganz unterschiedliche Eigenschaften auf. Im Folgenden werden Vor- und Nachteile der beiden Messystemtypen beschrieben
Datenlogger
Klassische Datenlogger arbeiten in den meisten Fällen sehr zuverlässig und wartungsarm.
Mit Hilfe von entsprechender Parametrierungs- und Auslesesoftware können sie auch von
Nicht-IT-Fachkräften eingerichtet und betrieben werden. Sie arbeiten aufgrund ihrer Ausstattung
mit stromsparenden Mikrocontrollern sehr energieeffizient. Die Nutzung von leistungsschwachen Mikrocontrollern bewirkt jedoch auch, dass die Geräte hinsichtlich Erweiterbarkeit und
Programmierung wenig flexibel sind.
Datenlogger lassen sich meist gar nicht oder nur mit Messmodulen erweitern, die vom gleichen
Hersteller produziert wurden. Z. B. ist eine Erweiterung der Messtechnik mit Messgeräten,
die auf der Basis von standardisierten Industrie-Bussystemen arbeiten, nicht möglich. Die zu
messenden Signale müssen für die Messung mit dem Datenlogger entsprechend konditioniert
werden, da diese Geräte in den meisten Fällen nur Standard-Industriesignale loggen können.
Viele Datenlogger können einfache Auswertungsfunktionen durchführen, wie z. B. das
Skalieren der Messwerte einzelner Messkanäle. Für diesen Zweck gibt es oftmals einfache
Programmierwerkzeuge oder auch Programmiersprachen, mit denen derartige Aufgaben gelöst
17
18
KAPITEL 2. STAND DER TECHNIK UND MOTIVATION
werden können. Die Logger sind jedoch nicht frei programmierbar, so dass vom Hersteller nicht
vorgesehene Zusatzfunktionen auch nicht implementiert werden können.
Der Datenabruf erfolgt bei den meisten Datenloggern mit Hilfe von Einwahlverbindungen. Dabei werden entweder Analogmodems oder GSM-Modems genutzt. Meist wird der Datenlogger
einmal täglich angerufen, um die seit dem letzten Anruf aufgelaufenen Daten abzurufen. Die
Technologie der Einwahlverbindungen hat mehrere Nachteile. Da Einwahlverbindungen über
die Verbindungszeit und nicht über das transferierte Datenvolumen abgerechnet werden, ist es
finanziell nicht sinnvoll, über längere Zeiträume Online-Daten von Datenloggern abzurufen. Ein
weiter Nachteil der Einwahlverbindungen ist, dass die Abrufprozesse mehrerer Datenlogger
nicht parallel laufen können. Da der Datenabruf für jeden Datenlogger eine gewisse Zeit
beansprucht und die Logger sequentiell abgearbeitet werden müssen, ist die Anzahl der pro
Telefonleitung und Tag abrufbaren Datenlogger und damit auch die Skalierbarkeit des gesamten
Messsystems begrenzt.
In den letzten Jahren wurden auch Datenlogger entwickelt, bei denen der Datenabruf über
das Internet erfolgt. Diese Geräte sind meist mit einem Ethernet-Interface (siehe Abschnitt
7.1.1) zum Betrieb an einem DSL-Router oder mit einem GPRS-Modem (siehe Abschnitt
7.3.1) ausgestattet. Mit dieser Internettechnologie ist ein zeitgleicher Abruf der Daten von sehr
vielen Datenloggern möglich, so dass es beim Datenabruf keine Skalierungsprobleme gibt.
Eine Online-Visualisierung der Messdaten ist mit diesen Geräten nur dann möglich, wenn der
Hersteller die Funktionalität softwaretechnisch unterstützt.
Die internetfähigen Datenlogger sind oftmals softwaretechnisch nur unzureichend für eine sichere Kommunikations vorbereitet, da sie nur unverschlüsselte Kommunikationsprotokolle, wie
z. B. das File Transfer Protocol (FTP), nutzen und damit leicht angreifbar sind.
PC-basierte Messtechnik für Monitoringsysteme
Wenn Messaufgaben durchgeführt werden sollen, die mit den von Datenloggern zur Verfügung
gestellten Funktionalitäten nicht zu bewerkstelligen sind, werden oftmals PC-basierte Lösungen
genutzt. Die Hardware solcher Systeme ist nicht selten deutlich preiswerter als Datenlogger. Im
Gegensatz zu den Loggern gibt es PC-basierte Messsysteme meist nicht fertig konfiguriert zu
kaufen. Sie müssen von Fachkräften eingerichtet und betrieben werden.
Die große Vorteil der PC-basierten Lösungen ist ihre Flexibilität. Da PCs frei programmierbar
sind und hinsichtlich ihrer Schnittstellen stark erweitert werden können, gibt es kaum Messaufgaben, die mit PC-basierten Messystemen nicht bewerkstelligt werden können. Der PC als
“Universalwerkzeug” ist jedoch für die meisten Messtätigkeiten völlig überdimensioniert und
damit alles andere als energieeffizient.
2.1. MONITORINGSYSTEME
19
Mit PCs lassen sich alle Varianten von Kommunikationsverbindungen für den Datenabruf
realisieren. Auch verschlüsselte Verbindungen über das Internet sind damit völlig problemlos
möglich.
PC-basierte Messsysteme sind im Vergleich zu Datenloggern meist deutlich anfälliger für
Störungen und Ausfälle. Dementsprechend ist der Wartungsaufwand für sie auch erheblich
größer.
In Tabelle 2.1 sind die Vor- und Nachteile von Datenloggern und PC-basierten Messsystemen
zusammengefasst.
Datenlogger Datenlogger
PC mit
klassisch
internetfähig Messtechnik
Konfiguration durch Laien
ja
ja
nein
flexible Anbindung von Messtechnik
nein
nein
ja
Online-Datenabruf
nein
nein
ja
frei programmierbar
nein
nein
ja
Kommunikation per Internet
nein
ja
ja
verschlüsselte Kommunikation
nein
nein
ja
wartungsarm
ja
ja
nein
preisgünstige Hardware
nein
nein
ja
energieeffizient
ja
ja
nein
Tabelle 2.1: Stand der Technik bei Monitoringsystemen für verteilte Energiesysteme
2.1.2 Motivation zur Entwicklung verteilter Monitoringsysteme mit vernetzten Embedded Systems
Sowohl Datenlogger als auch PC-basierte Messsysteme stellen keine Ideallösung für komplexe
Messprojekte dar, da beiden Technologien notwendige Eigenschaften und Funktionalitäten fehlen. Die Nutzung von vernetzten Embedded Systems ermöglicht die Entwicklung eines Messsystems, das die positiven Eigenschaften der Datenlogger und der PC-basierten Messsysteme in
sich vereint. Das Ergebnis ist ein bedienungsfreundliches, flexibel erweiterbares Messsystem aus
preiswerten Komponenten, das energieeffizient arbeitet und sicher über das Internet kommunizieren kann.
20
KAPITEL 2. STAND DER TECHNIK UND MOTIVATION
2.2 Verteilte Regelungssysteme für dezentrale Energiesysteme
2.2.1 Stand der Technik
Dezentrale Energiesysteme, wie z. B. Blockheizkraftwerke, sind sehr häufig mit einer eigenen
Regelungshardware ausgestattet. Die Regler können entweder gar nicht mit der Außenwelt
kommunizieren, oder aber sie kommunizieren über eine exklusiv für sie zur Verfügung gestellte
Infrastruktur, wie z. B. eine eigene Telefonleitung. Befinden sich mehrere Energiesysteme an
einem Ort, so wird nicht selten zu jedem einzelnen Gerät eine Telefonleitung gelegt. Dadurch
entstehen unnötig hohe Kommunikationskosten.
Die Kommunikationsinterfaces werden von den Betreibern, Wartungsfirmen und Herstellern
zur Fernwartung genutzt. Dabei kommen proprietäre Kommunikationsprotokolle zum Einsatz,
die oft nur von der hersteller-eigenen Kommunikationssoftware beherrscht werden. Eine
Interoperabilität mit Produkten anderer Hersteller wird dadurch unterbunden.
Ein weiteres Problem der dezentralen Energiesysteme ist die mangelnde Abstimmung der verschiedenen Regelungssysteme aufeinander. Es gibt bisher kaum Kommunikationsnormen, die
für eine Kommunikation zwischen den Reglern verschiedener Energiesysteme genutzt werden
könnten. In Folge dessen müssen die Regler weitgehend ohne Informationen von anderen Systemen arbeiten. Eine Optimierung des Gesamtsystems ist damit kaum möglich. Bei Änderungen,
z. B. durch Hinzufügen oder Entfernen von Teilsystemen, müssen alle Regler neu von Hand
parametriert werden. Es ergibt sich ein sehr unflexibles Gesamtsystem.
2.2.2 Motivation zur Entwicklung verteilter Regelungssysteme mit vernetzten Embedded Systems
Zur energetischen und monetären Effizienzsteigerung von dezentralen Energiesystemen aus
mehreren Einzelsystemen ist es notwendig, dass die Komponenten untereinander kommunizieren und Kommunikationsmedien gemeinsam nutzen. Die Regelungskomponenten heutigen
dezentralen Energiesystemen sind dafür meist nicht ausgelegt. Sie können durch Netzwerkfähige
Embedded Systems ersetzt oder ergänzt werden, die Regelung und Kommunikation übernehmen.
Zur Vernetzung der Teilsysteme und zur Schaffung einer übergreifenden Kommunikationsinfrastruktur mit Fernwartungsfunktionen bieten sich Internet-Technik an, da sie preiswert ist und
sich bei ähnlichen Problemstellungen vielfach bewährt hat. Lokale Netzwerke ermöglichen die
Kommunikation der Emgbedded Systems untereinander. Mit Hilfe eines Internetzugangs können für die Regelung notwendige Zusatzinformationen, wie z. B. Wetterdaten bezogen werden.
Außerdem kann über diesen Zugang eine Fernwartung des Gesamtsystems und der einzelnen
Komponenten realisert werden. Dabei ist der Zugriff auf die Systeme im Gegensatz zu Einwahllösungen jederzeit möglich.
2.3. GEMEINSAMKEITEN DER REGELUNGS- UND MONITORINGSYSTEME
21
2.3 Gemeinsamkeiten zwischen verteilten Regelungs- und
Monitoringsystemen
Verteilte Regelungs- und Monitoringsysteme müssen hardware- und softwaretechnisch flexibel
an die jeweiligen Projektanforderungen anpassbar sein. Sie sollen dabei energieeffizient und zuverlässig im Feld arbeiten. Netzwerkfähige Embedded Systems können diesen Anforderungen
gerecht werden. Sowohl Regelungs- als auch Monitoringsysteme sollten jederzeit per Internet
erreichbar sein. Dadurch ergeben sich auch ganz ähnliche Anforderungen an die kommunikationstechnische Anbindung der Systeme. Auch die damit verbundenen Anforderungen an die
informationstechnische Sicherheit der Systeme gleichen sich.
22
KAPITEL 2. STAND DER TECHNIK UND MOTIVATION
Kapitel 3
Embedded Systems
Eingebettete Systeme (Embedded Systems) sind Computersysteme, die als Teile größerer
Geräte oder Anlagen regelungs- und steuerungstechnische Aufgaben übernehmen. Klassische
Beispiele sind die Motorsteuergeräte von Automobilen oder die Regler von Waschmaschinen.
Zur Interaktion mit Nutzern sind Embedded Systems nicht mit der klassischen Peripherie eines
Personalcomputers (Tastatur, Maus, Bildschirm, etc.) ausgestattet. Stattdessen verfügen sie
über eine für die Aufgabenstellung speziell zugeschnittene Peripherie (z. B. LC-Display und
Drucktasten eines Videorecorders). Viele Embedded Systems funktionieren völlig autark und
interagieren gar nicht mit Nutzern.
Personalcomputer sind so ausgelegt, dass sie sich für eine große Anzahl verschiedener Aufgaben eignen und oftmals für die Aufgaben, die sie verrichten, völlig überdimensioniert sind.
Embedded Systems hingegen sind Bestandteile anderer Geräte und erfüllen im Allgemeinen
nur begrenzte Aufgaben, für die sie speziell entwickelt wurden. Diese Hardware kann passend
für die benötigte Leistung zugeschnitten werden. Dabei wird ein besonderes Augenmerk auf
den Stromverbrauch gerichtet. Für Embedded Systems ist deshalb eine große Anzahl von
speziell auf geringen Stromverbrauch optimierten Prozessoren verfügbar. Diese beherrschen
z. B. verschiedene Schlafmodi, um den Stromverbrauch in Betriebspausen rapide zu senken.
Außerdem arbeiten sie oft mit niedrigen Taktfrequenzen, wodurch verringerte Betriebsspannungen ermöglicht werden. Der geringere Energiebedarf hat außerdem zur Folge, dass die Systeme
ohne Lüfter betrieben werden können, da weniger Abwärme entsteht. Durch den Verzicht auf
Lüfter werden die Geräte zudem leiser und auch deutlich zuverlässiger, da Lüfterausfälle ein
häufig auftretendes Problem sind.
Die Anforderungen hinsichtlich ihrer Zuverlässigkeit sind an Embedded Systems sehr viel höher
als an handelsübliche Personalcomputer.
Während man PCs im Falle eines Absturzes einfach per Druck auf den Resetknopf wiederbelebt,
ist die Notwendigkeit eines manuellen Eingriffs für Embedded Systems oft nicht hinnehmbar.
23
24
KAPITEL 3. EMBEDDED SYSTEMS
Embedded Systems müssen in der Regel wartungsfrei und ohne Nutzerinteraktion über lange
Zeiträume zuverlässig funktionieren. Ihre Gesamtlebensdauer ist im Allgemeinen auch wesentlich höher als die von PCs. Um die notwendige Zuverlässigkeit zu erzielen, wird spezielle Hardware eingesetzt, die bestimmte Fehlerarten selbständig beheben und kritische Systemzustände
erkennen kann. Als Beispiele seien hier Speicherbausteine, die per Error-correcting Code (ECC)
1-bit-Fehler automatisch korrigieren können, und Watchdogschaltungen, die bei Systemstillstand
automatisch einen Reset auslösen, genannt.
Ein anderer maßgeblicher Faktor für die Zuverlässigkeit der Systeme ist die verwendete Software. Siehe dazu Abschnitt 3.2.
3.1 Prozessorarchitekturen
Der Prozessor ist die zentrale Einheit eines jeden Computers. In Personalcomputern findet
man meist Prozessoren, die mit der so genannten x86-Architektur arbeiten. x86 bezeichnet
den Befehlssatz, der von der Firma Intel [133] für die Prozessoren der 8086/8088 Reihe
entwickelt wurde. Bei anderen Geräten finden oft Prozessoren mit abweichenden Architekturen
Verwendung.
In Embedded Systems werden meist spezielle stromsparende Prozessoren eingesetzt, da
hohe Stromverbräuche oft nicht akzeptabel sind. Lange Zeit beherrschten Systeme mit
x86-Architektur den Markt. Mit der zunehmenden Verbreitung von ARM-Prozessoren [12] bei
Mobiltelefonen und PDAs wird der Marktanteil der ARM-Systeme unter den Embedded Systems
immer größer. Besonders die Modelle der ARM7- und ARM9-Serien sind sehr erfolgreich. Die
Firma ARM stellt selbst keine Prozessoren her, sondern verkauft nur Prozessor-Designs, die
dann von weiteren Firmen umgesetzt werden. So gibt es z. B. Prozessoren mit ARM9-Design
von Philips [182], Atmel [16] und vielen anderen Firmen.
Neben ARM und x86 sind noch zahlreiche andere Prozessorarchitekturen anzutreffen. Recht verbreitet sind z. B. die von IBM [108] und Motorola [160] entwickelten PowerPC-Prozessoren. Die
MIPS-Architektur [157] ist oft in Netzwerkgeräten (z. B. Routern, NAS) anzutreffen.
3.2 Betriebssysteme
Die DIN 4430 definiert ein Betriebssystem als
die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der
Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden
und insbesondere die Abwicklung von Programmen steuern und überwachen.
Computersysteme bestehen aus einer großen Anzahl von Komponenten (Prozessor, Speicher,
Festplatten, Ein-/Ausgabeschnittstellen (IO), Bussysteme, Peripherie, . . . ). Die Koordination
3.2. BETRIEBSSYSTEME
25
all dieser Komponenten ist Aufgabe des Betriebssystems. Damit beim Zugriff von Anwendungsprogrammen auf die Hardware des Rechners keine Konflikte entstehen, unterbindet
das Betriebssystem einen direkten Zugriff auf die Hardware und stellt stattdessen definierte
Schnittstellen für den Zugriff auf die Hardwarekomponenten zur Verfügung. Es steht als
vermittelnde Schicht zwischen der Hardware des Rechners und den Systemdiensten und
Anwendungsprogrammen (siehe dazu Abbildung 3.1). Das Betriebssystem verwaltet alle zur
Verfügung stehenden Ressourcen. Die Verwaltung der auf dem System laufenden Prozesse
ist ebenfalls seine Aufgabe. Dabei weist es den einzelnen Prozessen auch die zur Verfügung
stehende Rechenzeit zu.
Applikationen
(Webbrowser, Textverarbeitung, etc.)
Anwendungsschicht
Systemdienste
(Druckdienst, Soundsystem, etc.)
Betriebssystem
Systemschicht
Computer− und Netzwerk−Hardware
(Prozessor, RAM, IO, etc.)
Abbildung 3.1: Schichten in einem Computersystem
Embedded Systems decken ein sehr breit gefächertes Leistungsspektrum ab. Für sehr einfache
Anwendungen, wie z. B. die Steuerung von Haushaltsgeräten, reichen preisgünstige Mikrocontroller aus (im Reiskocher z. B. 4-Bit-Mikrocontroller). Auf diesen Systemen wenig komplexen
Systemen läuft nur eine einzige recht einfache Applikation. Dafür wird kein Betriebssystem
benötigt. Je komplexer die Aufgabe des Embedded Systems wird, um so leistungsstärker muss
seine Hardware sein und um so mehr Aufgaben müssen parallel abgearbeitet werden. Dazu
werden dann entsprechende Betriebssysteme benötigt.
26
KAPITEL 3. EMBEDDED SYSTEMS
Für Systeme mit vielen Nutzerinteraktionen (z. B. in Navigationssystemen für PKWs) werden
vielfach spezielle Embedded-Versionen von Standard-Betriebssystemen eingesetzt, z. B. Embedded Windows CE oder Embedded Windows XP der Firma Microsoft [156].
Häufig müssen Embedded Systems Echtzeitanforderungen erfüllen. Echtzeitbetrieb wird in der
DIN 4430 (dort Realzeitbetrieb genannt) definiert als:
“Ein Betrieb eines Rechnersystems, bei dem Programme zur Verarbeitung anfallender Daten
ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich
zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen.”
Laut [145] und [232] wird von Echtzeitsystemen im Allgemeinen Rechtzeitigkeit, Gleichzeitigkeit und Verfügbarkeit gefordert:
Rechtzeitigkeit: Die Forderung nach Rechtzeitigkeit der Datenverarbeitung bedeutet, dass Eingabedaten rechtzeitig abgerufen werden müssen und dass die aus Eingabedaten ermittelten
Ausgabedaten rechtzeitig verfügbar sein müssen. [145]
Gleichzeitigkeit: Dies bedeutet, die Rechtzeitigkeit muss für mehrere Aktionen gleichzeitig gewährleistet sein. [232]
Verfügbarkeit: Echtzeitsysteme müssen unterbrechungsfrei betriebsbereit sein, da es sonst zu
Verletzungen von Zeitbedingungen kommen kann. [232]
Die Anforderungen an die Rechtzeitigkeit lassen sich noch in weiche und harte Echtzeit einteilen.
Weiche Echtzeitanforderungen bedeuten, dass Zeitfenster im Regelfall einzuhalten sind, eine Verletzung dieser aber in Ausnahmefällen tolerabel ist.
Beispiel: Für eine Videoübertragung reicht weiche Echtzeit aus. Überschreitungen der Zeitfenster führen zum Ruckeln der Bildübertragung. Der Prozess der Übertragung läuft jedoch weiter.
Bei harten Echtzeitanforderungen muss das vollständige Ergebnis auf jeden Fall im definierten
Zeitfenster vorliegen.
Beispiel: Die Motorsteuerung eines Autos arbeitet mit harten Echtzeitanforderungen. Ein
Überschreiten der Zeitfenster führt zum Stottern oder Ausgehen des Motors und kann deshalb
nicht toleriert werden.
Während sich weiche Echtzeitanforderungen auch mit Standardbetriebssystemen erreichen
lassen, benötigt man für harte Echtzeitanforderungen Betriebssystemerweiterungen wie z. B.
RTLinux der Firma FSMLabs [88] oder spezielle Realtime-Betriebssysteme wie z. B. VxWorks
von Windriver [226].
3.2. BETRIEBSSYSTEME
27
Angesichts des Kostendrucks bei Embedded Systems haben sich in den letzten Jahren zunehmend Open-Source-Betriebssysteme wie Linux oder das Ressourcen sparende Ecos [65]
etabliert. Im Folgenden sollen Linux-Systeme genauer betrachtet werden, da die komplette in
dieser Arbeit beschriebene Software unter Linux arbeitet.
Zentrales Element eines jeden Linux-Systems ist der Kernel. Die jeweils aktuelle Kernel-Version
kann unter [139] heruntergeladen werden. Der Großteil der Programme eines Linux-Systems
besteht aus freier Software, die von der Free Software Foundation [87] im Rahmen des GNUProjekts [89] entwickelt wurde.
Es gibt nicht das Linux, sondern sehr viele verschiedene Linux-Varianten, die als Distributionen bezeichnet werden. Die zur Zeit bekanntesten und erfolgreichsten Distributionen sind SUSE
[171], Red Hat [187], Debian [50] und das auf Debian basierende Ubuntu [212].
28
KAPITEL 3. EMBEDDED SYSTEMS
Kapitel 4
Verteilte Systeme
4.1 Definition für Verteilte Systeme
“Wir definieren ein verteiltes System als System, in dem sich Hardware- oder Softwarekomponenten auf vernetzten Computern befinden und nur über den Austausch von Nachrichten
kommunizieren und ihre Aktionen koordinieren.” [46]
Aus der obigen Definition ergeben sich nach [46] einige Systemeigenschaften:
Nebenläufigkeit: beschreibt die Eigenschaft, dass Aktionen kausal voneinander unabhängig
sind und somit unabhängig von einander ausgeführt werden können. [181]
In einem Computernetzwerk laufen im Regelfall verschiedene Programme auf verschiedenen Rechnern parallel und unabhängig voneinander. Dabei können im Bedarfsfall Ressourcen gemeinsam genutzt werden (z. B. Dateien oder Webseiten). Das funktioniert aber nur,
wenn nebenläufige Programme, die gemeinsame Ressourcen nutzen, koordiniert werden.
Fehlen einer globalen Uhr: Programme können im Netzwerk ihre Aktionen nur durch den
Austausch von Nachrichten koordinieren. Da die Genauigkeit, mit der Computer ihre Uhren im Netzwerk synchronisieren können, begrenzt ist, können Timingprobleme bei der
Koordination der Programme auftreten.
Unabhängige Ausfälle: In einem Netzwerk können sowohl einzelne Computer als auch die
Netzwerktechnik ausfallen. Die einzelnen Knoten des Netzwerks müssen auch im Falle
einer zeitweisen Isolation weiter funktionieren.
4.2 Grundsätzliche Anforderungen an Verteilte Systeme
Verteilte Systeme werden für deutlich andere Anwendungsfälle genutzt als Einzelrechner. Daher sind auch die Anforderungen an die Systeme deutlich andere. Für einen sinnvollen Betrieb
müssen verteilte Systeme nach [181] unter anderem folgende Anforderungen erfüllen:
29
30
KAPITEL 4. VERTEILTE SYSTEME
Transparenz: Mit Transparenz ist in diesem Zusammenhang gemeint, dass die Verteiltheit des
Systems verborgen bleibt und damit ein Teil der Komplexität des Systems für den Anwender und den Programmierer nicht sichtbar ist.
Skalierbarkeit: “Ein System, dass als skalierbar bezeichnet wird, bleibt auch dann effektiv,
wenn die Anzahl der Ressourcen und die Anzahl der Benutzer wesentlich steigt.” [46]
Wie stark ein verteiltes System wachsen kann, hängt dabei von vielen Faktoren ab. Ein
Ausbau kann eventuell dadurch erleichtert werden, dass innerhalb des verteilten Systems
Hierarchieebenen eingefügt werden und Subsysteme mit eigenen Netzwerken gebildet
werden.
Offenheit: Verteilte Systeme können sowohl im Bereich der Software als auch der Hardware heterogene Komponenten enthalten. Es ist außerdem oftmals notwendig, die Systeme
mit neuen Diensten und Komponenten zu erweitern. Um eine Kommunikation zwischen
unterschiedlichen Systemen zu ermöglichen, ist es notwendig, die Kommunikation über
standardisierte Schnittstellen und Protokolle abzuwickeln.
Sicherheit: “Mit zunehmender Verbreitung von verteilten Systemen und dem Anstieg der Bedeutung der Systeme bzw. der verarbeiteten Daten steigen die Anforderungen an die Sicherheit
in diesen Systemen im Bezug auf Datenschutz, Zugriffsschutz, Authentizität, usw.” [181]
4.3 Verteilte Regelungssysteme
Verteilte Regelungssysteme sind verteilte Systeme im Sinne der Informatik. Zusätzlich sind sie
dadurch gekennzeichnet, dass jede größere zu regelnde Komponente des Systems eine eigene
Regelungshardware hat. Dafür werden meist Embedded Systems verwendet, die über irgendeine
Form von Netzwerk miteinander kommunizieren können.
Beispiel:
Für verteilte Regelungssysteme ist die Regelungstechnik in modernen Automobilen ein Beispiel.
Dort können die Steuergeräte für die verschiedenen Systeme des Autos (Motor, Bremssystem,
etc.), welches typische Embedded Systems sind, durch einen Datenbus (z. B. FLEXRAY [85]
oder CAN [39]), der eine Form von Netzwerk darstellt, miteinander kommunizieren.
Die Aktionen der verschiedenen Regelungssysteme werden mittels Nachrichtenaustausch über
das Netzwerk koordiniert. Dadurch erlangen die verschiedenen Embedded Systems Informationen aus anderen Teilsystemen, die für die Regelung notwendig sind.
4.4 Anforderungen an verteilte Regelungssysteme
Zusätzlich zu den Anforderungen an verteilte Systeme müssen verteilte Regelungssysteme noch
weiteren Anforderungen genügen, die sich aus der Art und Weise ihrer Nutzung ergeben.
4.5. UNTERSCHIEDLICHE STRUKTUREN VON REGELUNGSSYSTEMEN
31
Verfügbarkeit: Verteilte Regelungssysteme müssen sehr zuverlässig und wartungsarm arbeiten.
Im Anwendungsfall von dezentralen Energiesystemen können sehr hohe Kosten entstehen,
wenn z. B. zum Austausch der Hardware weite Strecken zurückgelegt werden müssen.
Häufige Ausfälle von Hard- und Software sind deshalb auf keinen Fall hinnehmbar.
Verwaltbarkeit: Die Verwaltung eines verteilten Regelungssystems gestaltet sich immer aufwändiger als die eines zentral organisierten. So ist schon allein die Anzahl der Rechner, an
denen Wartungsarbeiten wie z. B. Softwareupdates für die IT-Sicherheit durchgeführt werden müssen, bei verteilten Systemen größer. Wie umfangreich der Verwaltungsaufwand für
ein verteiltes System ist, hängt stark von der Art des Systems ab. Werden für alle Knoten
die gleiche Hardware, das gleiche Betriebssystem und die gleiche Softwarebasis verwendet, können viele Verwaltungsprozesse automatisiert werden. Bei verteilten Systemen mit
extrem heterogener Hard- und Software müssen die einzelnen Knoten zu einem großen Teil
individuell gepflegt werden. Wegen des zu großen Wartungsaufwandes machen derartige
Systeme bei größeren Knotenzahlen keinen Sinn.
Anpassungsfähigkeit: Die Anforderungen an verteilte Regelungssysteme können sich während
des Zeitraums ihres Betriebes verändern. Daher ist es dringend notwendig, dass im laufenden Betrieb Softwareänderungen und Updates durchgeführt werden können, um neuen
Anforderungen gerecht zu werden. Ein weiterer wichtiger Faktor für die Anpassungsfähigkeit eines verteilten Systems ist der Umfang des zu betreibenden Aufwandes, um
dem System neue Knoten hinzuzufügen oder alte Knoten zu entfernen. Dieser Aufwand
kann stark minimiert werden, wenn Technologien zur automatischen Erkennung neuer
Komponenten und deren Integration in das Netzwerk eingesetzt werden.
4.5 Strukturunterschiede zwischen zentralistisch organisierten und verteilten Regelungssystemen
Zentralistisch organisierte Regelungssysteme (siehe Abb. 4.1) sind dadurch charakterisiert, dass
es nur eine einzige Regelungshardware gibt. Jede zu regelnde Komponente dieser Systeme wird
direkt von einem zentralen Regler angesteuert.
Versagt jedoch der zentrale Regler oder wird die Verbindung zwischen dem Regler und den
zu regelnden Komponenten unterbrochen, führt das unweigerlich zu einem Totalausfall des
Systems, da die zu regelnden Komponenten keinerlei dezentrale Intelligenz besitzen.
Vorteilhaft bei zentralistisch organisierten Regelungssystemen ist ein geringerer Wartungsaufwand als bei verteilten Systemen.
32
KAPITEL 4. VERTEILTE SYSTEME
zentraler Server mit
zentralem Regler
zu regelnde
Geräte
Abbildung 4.1: Struktur eines Regelungssystems mit zentraler Regelungsinstanz
Verteilte Regelungssysteme können in ganz verschiedenen Strukturen organisiert sein. Allen
gemeinsam ist, dass für ihre zu regelnden Komponenten jeweils eine eigene Regelungshardware existiert. Diese führt die Regelung durch. Die verteilten Regler können mit Hilfe eines
Netzwerks Nachrichten untereinander austauschen und damit die für die Regelung notwendigen
Informationen erlangen. Neben Strukturen mit gleichberechtigten Reglern (siehe z. B. Abb. 4.2)
existieren auch Regelungsnetzwerke mit zusätzlichen zentralen Instanzen (siehe z. B. Abb. 4.3),
die übergeordnete Aufgaben, wie z. B. Optimierungsrechnungen, bewerkstelligen.
Verteilte Regelungssysteme können auch aus Reglern in verschiedenen Hierarchieebenen aufgebaut sein, die sich je nach Ebene mehr um übergeordnete oder lokale Regelungsaspekte kümmern.
dezentrale Regler
zu regelnde
Geräte
Abbildung 4.2: Struktur eines Regelungssystems mit verteilten Reglern
4.6. VORTEILE VERTEILTER REGELUNGSSYSTEME
33
zentraler Server
dezentrale Regler
zu regelnde
Geräte
Abbildung 4.3: Struktur eines Regelungssystems mit verteilten Reglern und einer zentralen Instanz
4.6 Vorteile verteilter Regelungssysteme
4.6.1 Maskierung von Komplexität
Ein komplexes Regelungssystem kann mit der Regelung verschiedenster Komponenten betraut
sein. Alle Komponenten besitzen verschiedene Eigenschaften und liefern ganz verschiedene
Informationen, aufgrund derer die Regelung stattfinden muss. Dabei ist es schwierig, alle
Informationen bis ins Detail auszuwerten und trotzdem nicht den Blick auf das Gesamtsystem
zu verlieren. Zur Lösung dieses Problems bietet sich die Nutzung einer hierarchischen Struktur
an. Dabei wird das Regelungssystem in lokale Regler für die einzelnen Komponenten aufgeteilt.
Diese Regler tauschen entweder untereinander oder auch mit einem zusätzlichen zentralen
Regler, der die übergeordnete Regelung durchführt, nur die Informationen aus, die für die
Regelung des Gesamtsystems notwendig sind. Nur lokal benötigte Informationen werden dabei
auch nur von den lokalen Reglern verarbeitet.
Bsp.: Ein Dieselgenerator, der Teil eines verteilten Regelungssytems aus verschiedenen Stromerzeugern und -verbrauchern ist, hat keinen Treibstoff mehr oder sein Motor ist defekt. Für die
übergreifende Regelung des Gesamtsystems reicht die Information “Gerät ist nicht verfügbar“
aus. Für den Generator als Subsystem hingegen ist die Ausfallursache wichtig, da die Entscheidung, welche Maßnahmen einzuleiten sind, davon abhängt.
34
KAPITEL 4. VERTEILTE SYSTEME
4.6.2 Handling von Kommunikationsausfällen
Kommunikationsausfälle sind bei zentralistisch organisierten Regelungssystemen mit räumlich
voneinander getrennten Komponenten sehr folgenreich. Die verteilt platzierten Geräte können
beim Ausfall der Kommunikationsmittel überhaupt nicht mehr geregelt werden. Im Gegensatz
dazu kann ein verteiltes Regelungssystem mit Reglern für jede einzelne Komponente einen
Kommunikationsausfall teilweise kompensieren, indem ein Notprogramm, das auf lokal verfügbaren Informationen basiert, ausgeführt wird.
Bsp.: Bei dem im Abschnitt 15.2 beschriebenen Power Flow and Power Quality Management System werden die dezentralen Komponenten mit Hilfe von vernetzten Embedded Systems angesteuert. Dazu bekommen die dezentralen Embedded Systems von einem zentralen Server generierte
Fahrpläne übermittelt, mit deren Hilfe sie die Regelung durchführen. Bei einem Kommunikationsausfall kann der zentrale Server keine Fahrplankorrekturen mehr übermittlen. Der gerade
aktuelle Fahrplan kann aber trotzdem weiter abgearbeitet werden. Sollte nach Ablauf des Fahrplans immer noch keine Kommunikation möglich sein, schaltet der dezentrale Regler auf einen
Default-Fahrplan um, mit dem ein Notbetrieb durchgeführt wird, bis die Kommunikation wieder
hergestellt ist.
4.6.3 Lokale Lösungen von lokalen Problemen
In einem verteilten Regelungssystem können viele Regelungsaufgaben, die nicht die Regelung
des Gesamtsystems betreffen, lokal erledigt werden. Beim Auftreten von Fehlfunktionen
betreiben die Regler der Komponenten selbständig Fehleranalysen und generieren Fehlerreports,
die dann automatisch an Wartungspersonal verschickt werden. Die Regler können außerdem
entscheiden, ob ein Notbetrieb ihrer Komponenten möglich und sinnvoll ist.
Bsp.: Der dezentrale Regler eines Blockheizkraftwerks (BHKW) kann Drehzahlschwankungen
des Motors feststellen. Schon bei geringen Schwankungen schickt der Regler frühzeitig eine
Warnmeldung an Wartungspersonal. Durch rechtzeitige Wartung kann ein Totalausfall oftmals
unterbunden werden. Erfolgt keine Wartung, entscheidet der Regler aufgrund des Ausmaßes der
Drehzahlschwankungen über den Zeitpunkt der automatischen Abschaltung des BHKW.
4.6.4 Optimale Zusammenarbeit von Regler und zu regelnder
Komponente
Bei verteilten Regelungssystemen sollten Regler und zu regelnde Komponenten von einer
Firma hergestellt werden. In dem Fall kann der Hersteller bei der Reglerentwicklung auf sein
gesamtes Wissen über die zu regelnde Komponente zurückgreifen. Damit ist es möglich, die
Regelungsalgorithmen optimal an die zu regelnde Komponente anzupassen. Auch Schutzfunktionen können einfach implementiert werden, die im Falle einer Fehlbedienung der Komponente
diese vor einer Selbstzerstörung bewahren (Bsp.: Unterbinden von häufigen Start-Stopp-Zyklen
4.6. VORTEILE VERTEILTER REGELUNGSSYSTEME
35
bei Diesel-Generatoren). Durch seine Systemkenntnis ist der Hersteller befähigt, die Regelung
um Algorithmen zur Erkennung von Fehlfunktionen zu erweitern.
Bsp.: Der Hersteller eines Blockheizkraftwerks kennt alle Details der Abgasreinigung seines
Gerätes. Der von ihm mitgelieferte Regler kann anhand der Motorabgastemperatur auf den Zustand des Rußfilters schließen und einen Rußabbrand einleiten, wenn die Abgastemperatur zu
sehr ansteigt.
36
KAPITEL 4. VERTEILTE SYSTEME
Kapitel 5
Anwendungsbeispiele für verteilte
Monitoring- und Regelungssysteme im
Energiesektor
5.1 Verteilte Regelungssysteme
5.1.1 Innovationsmotor Klimapolitik
Die Europäische Union hat sich im Rahmen der im Kyoto-Protokoll [144] definierten Ziele
verpflichtet, bis zum Jahr 2012 in ihren Mitgliedsländern eine CO2 -Reduktion von 8 % unter
das Niveau von 1990 zu erreichen [93]. Daraus ergeben sich für die einzelnen Mitgliedsländer
rechtsverbindliche Reduktionsziele. Deutschland hat sich verpflichtet, seinen CO2 -Ausstoß um
21 % zu senken.
Zur Umsetzung der CO2 -Reduktionsziele wurde von der EU der sogenannte European Strategic
Energy Technology Plan (SET PLAN) entwickelt [195]. Dieser sieht für das Jahr 2020 vor, dass
20 % der gesamten Primärenergie aus erneuerbaren Energiequellen (EEG) stammen soll. Dabei
wird aufgrund der technologischen Ausprägungen der größte Anteil auf die Erzeugung von
Elektroenergie entfallen.
Neben dem Ausbau der Nutzung regenerativer Energiequellen soll zum Erreichen der Klimaziele
auch die Effizienz der Nutzung konventioneller Energieträger gesteigert werden. Dazu hat z. B.
die deutsche Bundesregierung Ende 2007 in ihrem Energie- und Klimaprogramm (siehe [35])
beschlossen, den Anteil der Stromerzeugung durch Kraft-Wärme-Kopplung (KWK) von derzeit
rund 12 % bis zum Jahr 2020 auf 25 % zu verdoppeln.
Für das Jahr 2020 erwarten die Autoren der VDE-Studie “Smart Distribution 2020 – Virtuelle
Kraftwerke in Verteilungsnetzen“ [32] für die Stromerzeugung durch regenerative Energien und
die Kraft-Wärme-Kopplung einen Anteil von 50 %. Bis 2030 wird sogar eine Steigerung auf
75 % vorausgesagt.
37
38
KAPITEL 5. ANWENDUNGSBEISPIELE FÜR VERTEILTE SYSTEME
Die im Jahresmittel von EEG- und KWK-Anlagen erzeugte Leistung ist viel geringer als ihre maximal erreichbare Leistung (Peak-Leistung). Um mit diesen Anlagen einen entsprechend hohen
Anteil an der gesamten Stromerzeugung zu erzielen, müssen sie also stark ausgebaut werden.
Daraus ergibt sich das Problem, dass zu Schwachlastzeiten (z. B. in der Nacht oder am Wochenende) bei gleichzeitig starkem Wind und hoher KWK-Stromerzeugung ein Energieüberschuss
entsteht. Zum Abbau dieses Energieüberschusses bieten sich u. a. die beiden folgenden Strategien an:
1. Erzeugungsmanagement der EEG-/KWK-Anlagen, d. h. Anpassung der Erzeugung an den
Bedarf
2. Lastverschiebung durch dynamische Tarife
Technische Lösungen für die Umsetzung dieser Strategien gibt es bisher nur vereinzelt für große
Erzeuger und Verbraucher. Um die Klimaziele zu erreichen und gleichzeitig die Netzstabilität zu gewährleisten, werden aber in Zukunft auch Lösungen für kleine Erzeuger (z. B. private
Photovoltaik-Anlagen) und kleine Verbraucher (z. B. Haushalte) notwendig sein. Zum jetzigen
Zeitpunkt kann man schon voraussagen, dass die zukünftigen Energiemanagementsysteme mit
dezentraler Intelligenz arbeiten werden. Außerdem werden sie untereinander und mit zentralen
Informationsquellen vernetzt sein, d. h. sie werden als verteilte Regelungssysteme arbeiten.
5.1.2 Erzeugungsmanagement von EEG- und KWK-Anlagen
Für einen sicheren und zuverlässigen Netzbetrieb müssen die Betreiber von Übertragungsnetzen
Systemdienstleistungen wie Frequenzstabilität, Spannungsqualität und Blindleistungsregelung
erbringen. Prinzipiell können auch EEG- und KWK-Anlagen solche Dienste leisten. Die
bisherige Förderpolitik, die rein auf die Quantität der Stromerzeugung durch EEG und KWK
abzielt, sieht jedoch ein Erbringen von Systemdienstleistungen durch diese Anlagen nicht vor.
Mit wachsendem Anteil von EEG- und KWK-Anlagen bei der Stromerzeugung steigt also
die Notwendigkeit, für diese Systeme ein Erzeugungsmanagement zu implementieren, um sie
an den Systemdienstleistungen für die Stromnetze zu beteiligen. Dazu ist es notwendig, die
Systeme entweder direkt zu regeln oder über Anreizsysteme zu beeinflussen.
Zur Regelung der EEG- und KWK-Anlagen können verschiedene Technologien zum Einsatz
kommen. Ein Beispiel sind die heute schon vereinzelt realisierten sogenannten virtuellen Kraftwerke. Sie fassen große Anzahlen von dezentralen Stromversorgungseinheiten kleiner Leistung
mit Hilfe von Kommunikationsnetzen zu großen Erzeugern zusammen. Die Verfügbarkeit
von virtuellen Kraftwerken ist im Vergleich zu einzelnen großen Kraftwerken sogar deutlich
höher, da der Ausfall einzelner Teileinheiten kaum ins Gewicht fällt. Beim Handel mit der
erzeugten elektrischen Energie können virtuelle Kraftwerke wie konventionelle Kraftwerke am
Markt agieren. Sie erzielen für ihren Strom bessere Preise als voneinander unabhängige kleine
Erzeugungseinheiten.
5.1. VERTEILTE REGELUNGSSYSTEME
39
Eine bisher kaum praktizierte Möglichkeit zur Einflussnahme auf verteilte Erzeuger sind
Anreizsysteme mit je nach Energiebedarf wechselnden Einspeisevergütungen. In [32] wird
dazu vorgeschlagen, die Einspeisevergütung für EEG- und KWK-Anlagen an den Preisen
der Leipziger Strombörse European Energy Exchange (EEX) zu orientieren. Dadurch wäre
die Einspeisung zu Zeiten hohen Bedarfs deutlich lukrativer als zu Schwachlastzeiten. Ein
verstärkter Betrieb der Anlagen zu Starklastzeiten wäre die Folge.
Durch Aufschläge auf die EEX-Preise könnten mit diesem Modell die gleichen Renditen wie
bei den heutigen Tarifmodellen erzielt werden, so dass für die Betreiber der Anlagen keine
Nachteile entstünden. Die Aufschläge könnten in zyklisch wiederkehrenden Schwachlastzeiten
(z. B. von ein Uhr bis fünf Uhr nachts) ausgesetzt werden, um Erzeugungsspitzen zu vermeiden.
Sowohl das Betreiben von virtuellen Kraftwerken als auch die Nutzung von variablen Tarifsystemen funktionieren nur, wenn die Erzeugungseinheiten über Kommunikationsschnittstellen
verfügen, über die sie mit Informationen (Fahrpläne, Tarifinformationen, etc. ) versorgt werden,
die für den Betrieb notwendig sind. Diese Kommunikationsschnittstellen können für weitere
Aufgaben, z. B. Fernwartungsfunktionen, genutzt werden. Da die Besitzer und Betreiber der
Anlagen oft nur sehr wenig über die technischen Hintergründe der Anlagen wissen, sind
für einen kostengünstigen Betrieb solche Fernwartungsfunktionen sehr hilfreich. Durch ein
ständiges Erfassen der Betriebsdaten mittels verteilter Monitoringsysteme lassen sich belastbare
Aussagen über den Zustand der Anlagen treffen. Dadurch können notwendige Wartungs- und
Reparaturarbeiten frühzeitig eingeleitet und größere Schäden vermieden werden. Der Betrieb
der Anlagen wird durch das Monitoring kostengünstiger.
5.1.3 Zeitliche Lastverschiebung durch dynamische Tarife
Durch den zunehmenden Anteil von EEG- und KWK-Erzeugern treten stärkere Schwankungen
bei der Stromproduktion auf. Die Betreiber der Übertragungsnetze müssen diese Fluktuationen
ausgleichen. Das geschieht im Allgemeinen mit regelbaren Kraftwerken. Der Betrieb solcher
Kraftwerke ist aufwändig und energetisch nicht sinnvoll, da sie einen hohen Primärenergiebedarf
haben. Das Vorhalten von großen Regelenergiereservern ist außerdem volkswirtschaftlich nicht
vertretbar, da die dafür eingesetzten Kraftwerke nur kurzeitig genutzt werden und für die
sonstige Produktion nicht zur Verfügung stehen.
Zur Anpassung der Lasten an die jeweilige Erzeugungssituation ist deshalb eine Flexibilisierung
der Verbrauchssituation anzustreben.
Es ist zu aufwändig, die Lasten der meisten gewerblichen und erst recht der Haushaltskunden
durch eine zentrale Instanz (z. B. die Leitwarte eines Stromversorgers) schalten zu lassen [32].
40
KAPITEL 5. ANWENDUNGSBEISPIELE FÜR VERTEILTE SYSTEME
Lastverschiebungen können anstelle von direktem Ansteuern der Lasten auch durch dynamischen Tarife erreicht werden. Dabei ändern sich die Strompreise in Abhängigkeit von Angebot
und Nachfrage. Der Handlungsanreiz für den Kunden besteht darin, Kosten zu sparen, indem er
Teile seiner Verbräuche in Zeiten geringer Strompreise verlegt. Ein automatisiertes Auswerten
der Tarifsignale durch Energiemanagementsysteme erzielt dabei die größten Ersparnisse.
Die Einführung von variablen Tarifen wird von der EU in einer Endenergieeffizienzrichtlinie
[80] forciert. Diese Richtlinie wird zurzeit auch in nationales Recht umgesetzt. So heißt es
im Paragraph 40 der Beschlussempfehlung zum Entwurf eines Gesetzes zur Öffnung des
Messwesens bei Strom und Gas für den Wettbewerb vom 04.06.2008 [36] :
”Energieversorgungsunternehmen haben, soweit technisch machbar und wirtschaftlich zumutbar, bis zum 30. Dezember 2010 für Letztverbraucher von Elektrizität einen Tarif anzubieten,
der einen Anreiz zur Energieeinsparung oder Steuerung des Energieverbrauchs setzt. Tarife im
Sinne von Satz 1 sind insbesondere lastvariable und tageszeitabhängige Tarife“.
Dynamische Tarife führen nur dann zu Lastverschiebungen, wenn die Preis-Spreizung zwischen
den verschiedenen Tarifstufen ausreichend groß und damit ein echter Anreiz zur Verschiebung
gegeben ist [86]. Das lässt sich seitens der Stromversorger wirtschaftlich sehr wahrscheinlich nur
dann realisieren, wenn die Grundgebühren angehoben werden [32].
5.2 Verteilte Monitoringsysteme
5.2.1 Energieverbrauchs-Monitoring im gewerblichen Bereich
Steigende Energiepreise und ein wachsendes Umweltbewußtsein machen es auch im gewerblichen Bereich immer mehr erforderlich, Daten über Energieverbräuche zu sammeln, um damit zu
ermitteln, welche Verbraucher wieviel Energie konsumieren. Nur wenn detaillierte Verbrauchsdaten vorliegen, ist es möglich Ineffizienzen aufzudecken und Energieverbräuche zu senken. Das
Sammeln von Verbrauchsdaten geschieht dabei oftmals mit verteilten Monitoringsystemen, die
Messdaten lokal aufnehmen und per Internet an zentrale Server übermitteln. Auf den zentralen
Servern analysiert eine Energy Data Management-Software (EDM-Software) die Messdaten.
Diese Software beinhaltet eine Fülle von Funktionen, wie z. B. Messdatenplausibilisierung,
Trendanalyse, Generieren von Reports und Visualisierung.
Als Anwendungsbeispiel für die Nutzung verteilter Monitoringsysteme soll hier der Einzelhandel angeführt werden. Die drei größten Einzelhandelsunternehmen der Welt, Wal-Mart Stores
Inc., Tesco Plc. und Carrefour, führen mittlerweile ein Energiemonitoring ihrer Filialen durch.
Tesco Plc. z. B. setzt in allen seinen britischen Filialen, die unter den Namen Tesco und Asda betrieben werden, Monitoringsysteme der belgischen Firma EnergyICT N.V. [73] für das Erfassen
von Verbrauchsdaten ein. In den Filialen befinden sich dazu handelsübliche Messgeräte, die die
Verbräuche messen. Datenkonzentratoren von EnergyICT lesen die Messgeräte per Impulszäh-
5.2. VERTEILTE MONITORINGSYSTEME
41
ler oder per Feldbus (z. B. M-Bus) aus und aggregieren die Messwerte. Zur Datenübertragung an
die zentralen Auswertungsserver wählen sich die Datenkonzentratoren über das Mobilfunknetz
in das Internet ein. Die Datenübertragung erfolgt dann verschlüsselt per Hypertext Transfer Protokoll (HTTP).
5.2.2 Smart-Metering-Systeme
Die im Abschnitt 5.1.1 genannten Klimaziele sollen nicht allein durch Fortschritte bei der
Energieerzeugung erreicht werden. Zusätzlich dazu hat die Europäische Union das Ziel gesetzt,
den Energieverbrauch in ihren Mitgliedsländern nachhaltig zu verringern. Dazu werden den
Mitgliedsstaaten durch die Richtlinie 2006/32/EG über Endenergieeffizienz und Energiedienstleistungen vom 05. April 2006 (EDL-RL) [80] Energie-Sparziele vorgegeben. Die Staaten sollen
innerhalb von neun Jahren nach Inkrafttreten der Richtlinie Energieeinsparungen von neun
Prozent im Vergleich zum durchschnittlichen Endenergieverbrauch der Jahre 2001 bis 2005
erreichen. Das soll im Wesentlichen durch Energiedienstleistungen und andere Energieeffizienzmaßnahmen auf der Nachfrageseite geschehen.
Zur Erhöhung der Energieeffizienz beim Endkunden fordert die Richtlinie:
“Soweit es technisch machbar, finanziell vertretbar und im Vergleich zu den potenziellen Energieeinsparungen angemessen ist, stellen die Mitgliedstaaten sicher, dass alle Endkunden in den
Bereichen Strom, Erdgas, Fernheizung und/oder -kühlung und Warmbrauchwasser individuelle
Zähler zu wettbewerbsorientierten Preisen erhalten, die den tatsächlichen Energieverbrauch
des Endkunden und die tatsächliche Nutzungszeit widerspiegeln.”
Bei der Umsetzung der Richtlinie in nationales Recht im Jahr 2008 soll definiert werden, welche
Informationen die Zähler liefern müssen. Als sicher kann gelten, dass die im Elektrizitätsbereich
bisher meist anzutreffenden “Ferraris”-Zähler den neuen Anforderungen nicht gerecht werden.
Dadurch wird zwangsläufig eine Umstellung auf elektronische Zähler notwendig. Um für die
Kunden mehr Transparenz hinsichtlich ihres Energieverbrauchs zu schaffen, sollen monatliche
Rechnungen oder zumindest monatlich Informationen über den Energieverbrauch erstellt
werden. Das ist jedoch nur möglich, wenn die Zähler in irgendeiner Form informationstechnisch
vernetzt sind und die Verbrauchswerte zu einer zentralen Instanz übermitteln können – sogenanntes smart metering.
Für den Endkunden steigt die Transparenz seiner Verbräuche mit der zeitlichen Auflösung der
zur Verfügung stehenden Verbrauchswerte. Je höher die Auflösung, desto mehr kann der Energiekunde über sein Verbrauchsverhalten erfahren und desto nachhaltiger wird er sein Verhalten
ändern, um Energie einzusparen. Da monatliche Verbrauchsinformationen dem Verbraucher
kaum ausreichende Grundlagen für eine Verbrauchsanalyse liefern, bleibt zu hoffen, dass sich
smart metering-Systeme durchsetzen werden, die Schnittstellen für lokale Feedback-Systeme
besitzen oder zumindest per Internet zeitlich hoch aufgelöste Daten bieten.
42
KAPITEL 5. ANWENDUNGSBEISPIELE FÜR VERTEILTE SYSTEME
Ein Beispiel für ein smart metering-System mit einem lokalen Feedback-System ist die vom
Fraunhofer ISE im Rahmen eines Forschungsprojekts für den Strom-, Erdgas- und Telekommunikationsanbieter EWE [81] entwickelte EWE-Box. Sie ist ein Embedded System, das per
M-Bus Messgeräte für Strom und Gas ausliest. Die Messdaten werden per DSL über eine
VPN-Verbindung an einen zentralen Datenabrufserver übermittelt. Zusätzlich stellt das System
die Verbrauchsdaten einem per Funkschnittstelle (Zigbee) angebundenen mobilen Display (siehe
Abb. 5.1) zur Verfügung. Das Display stellt die Daten sowohl zeitlich hoch aufgelöst (minütlich)
als auch kumuliert (z. B. als Tageswerte) dar. Dabei werden nicht nur die Verbräuche, sondern
auch die damit verbundenen Kosten und die CO2 -Emissionen dargestellt.
Abbildung 5.1: Display des vom Fraunhofer ISE entwickelten smart-metering-Systems
EWE-Box
Für eine flächendeckende Einführung von smart metering-Systemen sollten möglichst folgende
Anforderungen erfüllt werden:
• Die Systeme sollten mit offenen Schnittstellen und Standards arbeiten. Dadurch werden
proprietäre Strukturen vermieden, die zwangsläufig zu einer Herstellerbindung führen würden.
• Eine Interoperabilität zwischen Teilsystemen verschiedenen Hersteller von smart metering-Technologie sollte gegeben sein.
5.2. VERTEILTE MONITORINGSYSTEME
43
• Es sollte eine logische und gerätetechnische Trennung zwischen Messeinrichtungen und
Kommunikationsinfrastruktur vorliegen. Im Normalfall ist Messtechnik deutlich langlebiger als Kommunikationstechnik. Durch eine Trennung dieser Teilsysteme können alte
Messeinrichtungen mit neuen Kommunikationssystemen kombiniert werden.
• Die Systeme müssen skalierbar sein, d. h. ein Betrieb von sehr vielen Einheiten muss
problemlos möglich sein.
Laut Bolder [28] gab es Mitte 2006 in Europa kein einziges smart metering-System, das die
oben genannten Anforderungen erfüllt. Zur Zeit gibt es in Deutschland mehrere miteinander
kooperierende Arbeitsgruppen und Gremien, die um eine Standardisierung von smart meteringSystemen bemüht sind:
1. Multi-Utility-Communication (MUC)
2. Smart Metering Initiative Querverbund (SMIQ)
3. Open Metering Communication (OMC)
Multi-Utility-Communication (MUC)
Die MUC-Gruppe besteht seit Anfang 2007. Sie wurde vom Verband der Netzbetreiber e. V.
(VDN) [216] beim Bundesverband der Energie- und Wasserwirtschaft e. V. (BDEW) [19] initiiert. Ziel der Gruppe ist die Erstellung eines herstellerübergreifenden Standards für die Kommunikation von Gas-, Wasser- und Wärmemengenzählern. Die Spezifikation deckt den gesamten
Bereich der Kommunikation vom Messgerät bis zum Endsystem ab. Kernstück ist dabei der sogenannte MUC-Controller, der als ein eigenständiges Gerät Messdaten drahtgebunden oder per
Funktechnologie von den Zählern abruft und dann per Internet sowohl den Kunden als auch den
Versorgungsunternehmen zur Verfügung stellen soll.
Smart Metering Initiative Querverbund (SMIQ)
Den Stadtwerken, die die SMIQ bilden, geht es im wesentlichen um die Mehrspartenfähigkeit
der neuen Technik. Sie wollen zusammen mit der MUC-Gruppe Mindestanforderungen festlegen
und den Herstellern für die Weiterentwicklung ihrer Systeme vermitteln.
Open Metering Communication (OMC)
OMC ist ein Zusammenschluss von Messgeräteherstellern, die in den beiden BranchenDachverbänden Bundesvereinigung der Firmen im Gas- und Wasserfach e.V. (figawa) und Zentralverband Elektrotechnik und Elektronikindustrie e.V. (ZVEI) [243] organisiert sind. Ziel der
Gruppe ist es, die Anforderungen der Anwender mit Hilfe von möglichst schon bestehenden
Standards zu erfüllen und in Produktspezifikationen umzusetzen. Besonderes Augenmerk wird
dabei auf die Spezifikation der Kommunikationsschnittstellen für den Nahbereich gelegt. Außerdem beschäftigt sich die Gruppe mit dem Transport der Daten von den Liegenschaften zu den
Marktteilnehmern.
44
KAPITEL 5. ANWENDUNGSBEISPIELE FÜR VERTEILTE SYSTEME
Kapitel 6
Kommunikationsnormen und -protokolle
für verteilte Regelungssysteme
6.1 Bedeutung normierter Kommunikation
Verteilte Regelungssysteme können nur dann funktionieren, wenn die einzelnen Regler der Teilsysteme miteinander kommunizieren können. Dazu ist grundsätzlich zunächst ein Kommunikationsmedium notwendig. Die einzelnen Geräte benötigen für eine sinnvolle Kommunikation
darüber hinaus ein gemeinsames Kommunikationsprotokoll, d. h. sie müssen eine Art gemeinsame Sprache “sprechen”. Während Geräte eines einzelnen Herstellers unter Einsatz seiner proprietären Protokolle sinnvoll zusammenarbeiten können, ist für eine Interoperabilität zwischen
Produkten verschiedener Hersteller eine normierte Kommunikation notwendig.
6.2 Kommunikation in der elektrischen Energieversorgungstechnik
In der elektrischen Energietechnik finden sehr viele verschiedene Bussysteme und Protokolle
Anwendung. Für die Kommunikation in Schaltanlagen werden z. B. neben Profibus [183],
Modbus [158], Distributed Network Protocol DNP [59] auch komplett proprietäre Systeme
verwendet. Dadurch wird eine Interoperabilität zwischen Geräten verschiedener Hersteller
erschwert oder sogar ganz unmöglich.
Mit der seit dem Jahr 2005 verfügbaren Normenreihe IEC61850 versucht die International
Electrotechnical Commission (IEC) [111] eine Standardisierung der gesamten Kommunikation
in Schaltanlagen durchzusetzen [194]. Die Wichtigkeit dieses Vorhabens zeigt sich schon
allein durch die am Standardisierungsprozess beteiligten Firmen. Bei der Normung arbeiten
sowohl Stromversorgungsunternehmen, z. B. die Firmen EDF [67], EON [74], RWE [188],
ENEL [72], als auch Technologie-Konzerne wie z. B. ABB [1], Alstom [6] und Siemens [196] mit.
45
46
KAPITEL 6. GENORMTE KOMMUNIKATION
Die Normung soll den freien Einsatz von Komponenten unterschiedlicher Hersteller von Leitund Schutztechnik ermöglichen. Durch Modularität und einheitliche Schnittstellen sind Wettbewerbsverbesserungen und Vereinfachungen bei Erweiterungen und Umbauten von Anlagen zu
erwarten. Dadurch sind Kostenersparnisse zu erzielen.
Bei Investitionen in neue Anlagen entfallen bis zu 30% der Investitionskosten auf das Engineering [97]. Die Vereinfachung des Engineering-Prozesses ist deshalb ein weiteres Ziel der
Normung. Es soll z. B. ermöglicht werden, Parametriersoftware unabhängig vom Hersteller der
zu parametrierenden Anlagen zu nutzen. Zur Realisierung diese Ziels definiert die IEC 61850 ein
objektorientiertes Datenmodell, das über die reine Kommunikation weit hinausgeht. Die im Teil
6 der Norm definierte Substation Configuration Description Language (SCL) ermöglicht eine
vollständige Beschreibung von Schaltanlagen auf der Basis von XML. Sie wird während des
Engineering-Prozesses genutzt, um neue Anlagen zu planen. Später dient sie der Konfiguration
und Inbetriebnahme. Auch im laufenden Betrieb kann sie genutzt werden, um Informationen
über die Anlagen zu erlangen, ohne einen direkten Zugriff auf diese zu haben.
Informationen über Systeme und Komponenten werden immer komplexer. Mit steigender
Komplexität wird es notwendig, Informationen direkt aus den Systemen auslesen zu können.
Dazu braucht man sogenannte Metadaten. Das sind Daten, die die aus den Geräten auslesbaren
Informationen beschreiben. Ein Beispiel für eine solche Information ist die Einheit eines
Messwertes. Kann die Einheit direkt aus dem entsprechenden Gerät ausgelesen werden, wird
verhindert, dass ein Gerät Messwerte in Prozent abspeichert und ein auslesendes Gerät die
Messwerte als Absolutwerte interpretiert. Zu den benötigten Metadaten gehören eindeutige
Benennungen, Formatbeschreibungen, SI-Einheiten, Skalierungen etc. In der IEC 61850 wird
deshalb mit mehrfach hierarchischen Datenmodellen gearbeitet. Diese werden in den Teilen
7-1 bis 7-4 der Norm definiert, die außerdem auch die dazugehörigen Kommunikationsdienste
festlegt. Die Metadaten können sowohl während des Betriebs aus den Schaltanlagen ausgelesen
werden, als auch aus den Systembeschreibungen entnommen werden, die in der Substation
Configuration Description Language vorliegen.
Eine sehr wichtige Eigenschaft der IEC 61850-Normenreihe ist die schon in [97] geforderte
strenge Trennung zwischen abstrakten Methoden zum Informationsaustausch und den Abbildungen (Mappings) dieser abstrakten Methoden auf verschiedene Anwendungsprotokolle. Durch
diese Vorgehensweise kann die Normenreihe bei Bedarf um weitere Kommunikationsstacks
erweitert werden, ohne Änderungen an den abstrakten Methoden zum Informationsaustausch
vornehmen zu müssen. Wie sinnvoll die Trennung ist, zeigte sich schon mit der Erweiterung
der IEC 61850 um die IEC 61400-25-4 zur Kommunikation mit Windenergie-Anlagen. Um
mit diesen Anlagen kommunizieren zu können, erwiesen sich die bis dahin verfügbaren
Mappings der abstrakten Kommunikationsmethoden auf Webservices und die Manufacturing
Message Specification MMS als nicht ausreichend. Zusätzlich wurden deshalb Mappings für
OPC XML DA, IEC 60870-5-101 und das Distributed Network Protocol (DNP) 3.0 definiert.
6.3. KOMMUNIKATION IN DER AUTOMATISIERUNGSTECHNIK
47
Eine andere Erweiterung der IEC 61850-Normenreihe – zur Zeit noch in der Entwicklung
– ist die IEC 61850-7-420 (siehe [57]). Dieser Teil der Norm befasst sich mit verteilten
Erzeugern wie z. B. Photovoltaikanlagen und Blockheizkraftwerken. Beim Betrieb von Smart
Grids werden verteilte Erzeuger eine wichtige Rolle spielen. Smart Grids sind Stromnetze, die
durch den Einsatz von Kommunikationstechnik, Sensorik und verteilten Regelungssystemen
energieeffizienter, zuverlässiger und sicherer arbeiten sollen, als dies bei den heutigen Netzen möglich ist. Eine zunehmende Durchdringung der Niederspannungsnetze mit verteilten
Erzeugern und die daraus resultierenden bidirektionalen Energieflüsse müssen zwangsläufig
zu einer Umstellung der elektrischen Verteilnetze hin zu Smart Grids führen. Interessant in
diesem Zusammenhang sind auch Bestrebungen der Deutschen Gesellschaft für Solarenergie
e. V. [54], die Batteriekapazitäten von an das Stromnetz angeschlossenen Elektrofahrzeugen,
sog. plug-in-cars, zum Ausgleich von Netzschwankungen zu nutzen. Dazu soll auch die IEC
61850-7-420 genutzt werden [198].
Für die Zukunft sind Erweiterungen der IEC 61850 geplant, um die Kommunikation für weitere
Bereiche der elektrischen Energieversorgung zu standardisieren. Zur Zeit wird die Edition
2 der IEC 61850 von den Normungsgremien bearbeitet [102]. Mit dieser Edition werden
Erweiterungen für Power Quality, IT-Security und ein Internet-basiertes System zur Erfassung
von Fehlermeldungen erwartet. Ein durchgängiges Datenmodell für alle Anwendungen wird es
sicher nie geben, so dass die Normungsgremien auch in Zukunft Erweiterungen der Normenreihe
durchführen müssen.
Ob sich die IEC 61850 für alle Kommunikations-Ebenen durchsetzen wird, ist fraglich, da es
Konkurrenz durch bereits etablierte andere Normen gibt. Innerhalb von Netzleitstellen wird z. B.
per IEC 61970 und IEC 61968 kommuniziert. Für die Kommunikation zwischen Leitstellen
kommt oft die IEC 60870-6 (auch als TASE.2 oder ICCP bekannt) zum Einsatz. Ein Nachteil
dieser Normen ist jedoch, dass sie unterschiedliche Datenmodelle nutzen [63]. Eine durchgängige Anwendung der IEC 61850 wäre deshalb wünschenswert.
6.3 Kommunikation in Automatisierungstechnik mit OLE for
Process Control
In der Automatisierungstechnik gibt es eine große Anzahl standardisierter Kommunikationslösungen. Dabei steht laut [193] sowohl bei den Feldbussen als auch bei Lösungen, die auf Ethernet
basieren, die Standardisierung der unteren Schichten des ISO/OSI-Schichtenmodells im Vordergrund. Die oberen Schichten werden hingegen meistens vernachlässigt. Es gibt folglich sehr viele
verschiedenen Konzepte, mit denen die Kodierung der zu übertragenden Daten realisiert wird.
Bei den Feldbussen existieren jedoch auch Gemeinsamkeiten. Die meisten von ihnen übertragen
die Datentypen Bit, Integer und Floating-Point sowie Arrays, die aus den Datentypen gebildet
werden. Da kaum komplexere Datentypen als diese vorkommen, ist eine Realisierung von Gateways zwischen verschiedenen Feldbussen möglich. Sie ist jedoch sehr kostenintensiv.
48
KAPITEL 6. GENORMTE KOMMUNIKATION
6.3.1 OLE for Process Control (OPC)
Um aus Regler-, Sensorik- und Aktorikbausteinen verschiedener Hersteller ein gemeinsames
Netzwerk realisieren zu können, wurde 1996 von der OPC Task Force, einem Zusammenschluss
verschiedener großer Firmen aus der Automatisierungsindustrie, OLE for Process Control (OPC)
[172] entwickelt [173]. OLE steht dabei für die von Microsoft [156] entwickelte Object Linking
and Embedding-Technologie, die einen Datenaustausch zwischen verschiedenen Applikationen
ermöglicht. Sie wird eingesetzt, um Dokumente aus verschiedenen Datentypen zu realisieren.
OPC stellt eine einheitliche Schnittstelle zwischen Windows-Applikationen und der Regelungsund Messhardware dar. Um OPC nutzen zu können, müssen die Hardware-Hersteller für ihre
Hardware sogenannte OPC-Server implementieren. Die Windows-Applikationen fungieren
dann als OPC-Clients.
Ein großer Nachteil von OPC ist seine Bindung an das (Distributed) Component Object Model
(COM/DCOM). Dabei handelt es sich um ein objektorientiertes System für Remote Procedure
Calls. Diese werden genutzt, um Funktionen auf anderen Rechnern aufzurufen und damit deren
Funktionalität zu nutzen. COM/DCOM ist nur für die Betriebssysteme der Firma Microsoft
[156] verfügbar. Für Entwickler von OPC-Software gibt es keinen Zugang zu den Softwarequellen von COM/DCOM. Sie sind damit Fehlern in der COM/DCOM-Sofware ausgeliefert.
Aufgrund der Bindung an COM/DCOM gibt es nur relativ wenige OPC-Implementationen für
andere Betriebssysteme. Für Linux-Betriebssysteme vertreibt die Firma Matrikon Inc. [150]
OPC-Software. Die Nutzung dieser Software ist jedoch sehr kompliziert und kostspielig. Für
die in dieser Arbeit betrachteten Regelungs- und Monitoringsysteme auf Linux-Basis kam die
Nutzung von OPC deshalb nicht in Betracht, zumal für die verwendete Sensorik und Aktorik
auch keine OPC-Server für Linux verfügbar sind.
6.3.2 OPC Unified Architecture (OPC UA)
Kurz nach der Herausgabe einer ersten Spezifikation wurde die OPC-Foundation [172] gegründet, die seitdem die Pflege und Weiterentwicklung des Standards betreibt. Um die Bindung
von OPC an Betriebssysteme von Microsoft und die damit verbundenen Probleme zu lösen,
wurde im Herbst 2006 eine neue Spezifikation, die OPC Unified Architecture (OPC UA)
verabschiedet. OPC-UA verwendet statt COM/DCOM einen eigenen Kommunikationsstack.
Bei der Konzeption des Stacks wurde auf Skalierbarkeit und Portabilität geachtet, so dass
OPC-UA z. B. auch auf Embedded Systems einsetzbar ist. Die Datenübertragung im Netzwerk
kann mit zwei unterschiedlichen Protokollen auf TCP-Basis erfolgen. Das erste Protokoll
ist ein binäres Protokoll, mit dem Daten sehr effizient und ressourcenschonend übertragen
werden können. Insbesondere für den Einsatz auf Embedded Systems ist das sehr wichtig. Das
zweite Protokoll arbeitet mit dem XML-basierten Simple Object Access Protocol (SOAP) als
Webservice. Für Webservices gibt es eine große Anzahl von Softwaretools. Sie werden auch von
vielen Programmiersprachen (z. B. Java und .net) sehr gut unterstützt.
6.4. KOMMUNIKATIONSPROBLEME DURCH UNZUREICHENDE NORMUNG
49
Mit seiner guten Skalierbarkeit und offenen Architektur ist OPC UA ein interessanter Standard
für den Betrieb von dezentralen Energiesystemen. Besonders die Möglichkeit zum Einsatz auf
Embedded Systems mit ganz unterschiedlichen Betriebssystemen und Systemarchitekturen lässt
einen Einsatz im Bereich der Energiesysteme sinnvoll erscheinen. Auch die Verfügbarkeit von
Entwicklungstools, z. B. direkt durch die OPC-Foundation, und die Unterstützung zahlreicher
Programmiersprachen kann sicher zur Verbreitung von OPC UA beitragen.
6.4 Probleme bei der Kommunikation durch unzureichende
Normung
Die Normung von Kommunikation erleichtert heute in vielen Bereichen die Interoperation
zwischen ganz verschiedenen technischen Systemen. Leider gibt es jedoch auch Bereiche, in
denen bisher gar keine oder nur eine sehr unzureichende Normung stattgefunden hat.
Ein Beispiel für Geräte mit unzureichenden Kommunikationsinterfaces sind Blockheizkraftwerke (BHKWs) für Privathaushalte oder das Kleingewerbe. Derartige Geräte verfügen meist über
eine vom Hersteller entwickelte Regelung, die nur wenig Möglichkeiten zur Kommunikation
mit z. B. Energiemanagementsystemen bietet. Die Schnittstellenausstattung beschränkt sich in
den meisten Fällen auf Relaiskontakte oder einfache Industrieschnittstellen wie z. B. ein 010V-Interface). Damit können nur die einfachsten regelungstechnischen Aufgaben durchgeführt
werden. Selbst die rudimentären Schnittstellen gehören nicht unbedingt zur Serienausstattung
der Geräte, so dass sie bei Bedarf kostspielig nachgerüstet werden müssen. Sollen BHKWs
dieser Kategorie durch eine übergreifende externe Regelung angesprochen werden, bedeutet das
immer, dass eine speziell für den Gerätetyp zugeschnittene Treibersoftware entwickelt werden
muss.
Ein weiteres Problem der Nutzung genormter Kommunikation stellen schlecht spezifizierte
Normen und schlechte Implementationen der in den Normen festgeschriebenen Standards dar.
Der in den europäischen Normen EN13757-2 und EN13757-3 beschriebene M-Bus (siehe auch
Abschnitt 15.1.3) ist ein anschauliches Beispiel für solche Probleme. Diese Normen sind an
verschiedenen Stellen nicht eindeutig definiert, so dass man bei verschiedenen Herstellern von
M-Bus-Geräten sich widersprechende Implementationen der Norm findet. Das führt dazu, dass
Auslesesoftware, die eigentlich universell für alle M-Bus-Geräte funktionieren sollte, manche
Geräte nicht auslesen kann. Einige M-Bus-Geräte verhalten sich aber auch ganz offensichtlich
nicht konform zu den Normen. Die im Abschnitt 15.1.3 gezeigten F96-Wärmemengenzähler
der Firma ELSTER Messtechnik GmbH [71] wechseln z. B. mitten im Betrieb ohne ersichtlichen Grund die Übertragungsrate. Dem Hersteller ist dieses Verhalten der Zähler bekannt.
Er unternimmt aber keine Anstalten, daran etwas zu ändern, da der Datenratenwechsel nur
bei sehr häufigem Auslesen der Zähler auftritt, was bei den allermeisten Anwendungen nicht
der Fall ist. Dennoch ist das Verhalten der Zähler nicht normkonform. Für das im Abschnitt
15.1 beschriebene verteilte Monitoringsystem musste deshalb die Auslesesoftware um eine
50
KAPITEL 6. GENORMTE KOMMUNIKATION
Resetfunktion für die F96-Wärmemengenzähler erweitert werden, damit ein zuverlässiges
Auslesen der Geräte gewährleistet werden kann.
Um Konkurrenzprodukte inkompatibel zu machen und damit das eigenen Software- und
Hardware-“Ökosystem” vor Mitbewerbern zu schützen, wandeln manche Hersteller bewusst
Kommunikationsprotokolle geringfügig ab. Der M-Bus wurde z. B. von den Firmen Texas Instruments Inc. [206] und Techem AG [205] sowie der Universität Paderborn [213] entwickelt.
Dennoch be- und vertreibt die Techem AG Auslesesysteme, die ein etwas abgewandeltes Protokoll nutzen, um Mitbewerbern das Auslesen von Techem-Messtechnik zu erschweren. Dadurch
können Techem-Kunden nicht so leicht zu einem anderen Dienstleister wechseln.
Kapitel 7
Stand der Internet-Technik für Verteilte
Systeme
In der Gebäuderegelung, der Automatisierungstechnik und allgemein im Bereich räumlich
verteilter Installationen gibt es zahlreiche Bussysteme und Übertragungsprotokolle für die
Kommunikation zwischen verschiedenen Anlagenteilen (z. B.: EIB [69], LON [148][62],
BACNET [18]. Der große Vorteil dieser Bussysteme und Übertragungsprotokolle ist, dass ihnen
die technisch mögliche Übertragungsbandbreite exklusiv für ihre Zwecke zur Verfügung steht.
Dem stehen jedoch große Nachteile hinsichtlich der Wirtschaftlichkeit und der Interoperabilität
zwischen Produkten verschiedener Hersteller gegenüber.
In den letzten Jahren ist ein Trend hin zur Verwendung standardisierter Internet-Technologie
zu beobachten. Die entsprechenden Geräte werden in sehr großen Stückzahlen gefertigt und
sind deshalb sehr preiswert. Zur Datenübertragung werden die Protokolle der TCP/IP-Familie
(siehe [46]) genutzt. Es existiert eine große Anzahl von Kommunikationsmedien, die TCP/IP
transportieren können.
Die Internet-Technologie ermöglicht auch die Kommunikation zwischen Regelungssystemen,
die sich an weit voneinander entfernten Orten befinden. Dazu müssen die jeweiligen lokalen
Netzwerke der Regelungssysteme an das Internet angebunden sein. Oftmals können für andere
Zwecke eingerichtete Internetzugänge mitgenutzt werden. Ist kein entsprechender Anschluss
vorhanden, gibt es verschiedene weitere Möglichkeiten einer Internetanbindung.
Internetzugänge mit hohen Bandbreiten können per (A)DSL (Asymmetric Digital Subscriber
Line) oder mit Modems für das TV-Kabel realisiert werden. In beiden Fällen wird das jeweilige
LAN (LAN = Local Area Network) über einen Router an das entsprechende Modem angebunden.
Internet-Zugänge via Satellit kommen nicht in Frage, weil der Uplink in den meisten Fällen
nicht über den Satelliten geht, sondern über ein Analog-Modem oder ISDN (Integrated Services
Digital Network) realisiert werden muss. Die dabei verfügbaren Bandbreiten sind nicht ausreichend. Außerdem funktionieren Satelliten-Internetzugänge oft nur mit proprietärer Software,
die nur für Betriebssysteme der Microsoft-Windows-Familie zur Verfügung steht.
51
52
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Internetzugänge über das TV-Kabel sind in vielen Regionen nicht erhältlich und auch (A)DSL
ist in ländlichen Gebieten oft nicht verfügbar. Sind (A)DSL- und TV-Kabelmodem-Zugang nicht
möglich, können nur noch schmalbandige Zugänge realisiert werden. In Zukunft wird in ländlichen Gebieten eventuell WiMAX zur Verfügung stehen.
7.1 Lokale Vernetzung
7.1.1 Ethernet
Für die lokale Vernetzung wird der Netzwerkstandard Ethernet (IEEE802.3, siehe [112])
genutzt. Dabei werden alle Geräte des LAN (Local Area Network = Lokales Netzwerk) über
Patchkabel mit einem Switch verbunden. Dieser vermittelt die Datenpakete dann zwischen den
angeschlossenen Geräten. Dazu wird jeweils zwischen den beiden Kommunikationspartnern
eine exklusive Verbindung aufgebaut, die im Normalfall abhörsicher gegenüber den anderen
an dem Switch angeschlossenen Geräten ist (Ausnahmen siehe Abschnitt 8.5). Die exklusive
Verbindung stellt den beiden Kommunikationspartnern unabhängig vom sonstigen Datenverkehr
auf dem Switch auch die maximal mögliche Bandbreite zur Verfügung. Aktuelle Switches
arbeiten mit Datenraten zwischen 100 Mbit und 1 Gbit.
Zunehmende Verbreitung finden in letzter Zeit verschiedenen Varianten von Industrial Ethernet.
Dabei handelt es sich um Anpassungen für industrielle Umgebungsbedingungen (staub- und
wasserdichte Steckverbinder, Befestigung auf DIN-Tragschienen, redundante Auslegung, Echtzeitfähigkeiten, . . . ). Laut Ahlers [3] gibt es zur Zeit 26 verschiedene Varianten von Industrial
Ethernet.
Interessant sind in diesem Zusammenhang die Webseiten der EtherCAT Technology Group [78]
und der Ethernet Powerlink Standardization Group [79].
7.1.2 Very High Data Rate Digital Subscriber Line (VDSL)
Wenn kein Ethernet verfügbar ist, können vorhandene Zweidraht-Leitungen über VDSL-Modems
genutzt werden. Diese verbinden zwei Ethernet-Netzwerksegmente transparent miteinander, so
dass sie für die Software wie ein einzelnes Netzsegment erscheinen. VDSL-Produkte gibt es z. B.
von der Firma Allied Telesis [5].
7.1.3 Powerline Communication (PLC)
Powerline Communication ist eine Technologie, für die es sehr viele verschiedene Umsetzungen
und Anwendungsbereiche gibt. Bei der lokalen Vernetzung in einem LAN (Local Area Network)
kommen dabei meist Geräte zum Einsatz, die entweder den Standard Homeplug (AV) der HomePlug Powerline Alliance [104] oder den Standard Digital Home Specification der Universal
7.1. LOKALE VERNETZUNG
53
Powerline Association (UPA) [214] unterstützen. In Deutschland sind meist Geräte anzutreffen,
die Homeplug (AV) unterstützen, z. B. Produkte der Firmen Devolo [53], D-Link [58] und
Linksys [147].
Die Integration in ein lokales Netzwerk erfolgt meist durch eine Wandlung von PLC zu
Ethernet, so dass Powerline-Strecken transparent in ein Ethernet integriert werden können.
Dabei werden Datenraten von 1 Mbit bis zu 200 Mbit erreicht. Mit zunehmender Entfernung
zwischen zwei PLC-Knoten nimmt die Datenrate allerdings stark ab. Erwähnenswert ist noch,
dass eine PLC-Übertragung zwischen zwei Netzwerk-Knoten, die mit verschiedenen Phasen des
Stromnetzes verbunden sind, nur dann erfolgen kann, wenn spezielle Überträger zwischen den
Phasen vorhanden sind. Das ist bei älteren Gebäuden nicht der Fall, so dass dort die Nutzung
von PLC problematisch werden kann.
Für die Datenübertragung mit PLC werden Frequenzen im Bereich zwischen 1 MHz und
30 MHz genutzt. Im gleicher Frequenzbereich arbeiten auch verschiedene Funkdienste (z. B.
Kurzwellenrundfunk, Amateurfunk). Die von Powerline-Geräten erzeugten Störungen waren
deshalb schon Gegenstand zahlreicher Gerichtsverfahren (z. B. [91]).
Die Firmen Infineon Technologies AG [131], Intel Corporation [133], Panasonic Corporation
[179], Texas Instruments Inc. [206] und fünf weitere kleine Firmen haben im April 2008 zusammen das HomeGrid Forum [103] gegründet. Ziel dieser Vereinigung ist die Schaffung eines
einheitlichen Standards für die häusliche Vernetzung. Als Medien für die Vernetzung sollen Telefonleitungen, TV-Kabel und auch Stromnetze genutzt werden. Dazu sollen die bisher verfügbaren Technologien zusammengeführt und in einem einzigen Standard vereint werden.
7.1.4 Wireless Local Area Network (WLAN)
Bei der lokalen Vernetzung können auch drahtlose Netzwerke (WLAN = Wireless Local Area
Network) nach IEEE 802.11 [113] zum Einsatz kommen. Dabei sind jedoch einige Sicherheitsaspekte zu beachten. Datenverkehr in unverschlüsselten drahtlosen Netzwerken kann sehr leicht
abgehört werden. Außerdem können Unbefugte ohne größeren Aufwand in solche Netzwerke
eindringen. Um Vertraulichkeit, Integrität und Authentisierung im WLAN zu gewährleisten,
wurde in der IEEE802.11 das Verschlüsselungsprotokoll WEP (Wireless Equivalent Privacy)
festgeschrieben. Die Verwendung dieses Protokolls bietet zwar mehr Sicherheit als gar keine
Verschlüsselung, stellt aber keinen hinreichenden Schutz mehr dar. Aufgrund von Schwachstellen im Protokoll muss WEP seit Mitte 2001 als vollständig kompromittiert angesehen werden
(siehe [47]). Im Internet sind zudem zahlreiche Tools zum einfachen Einbrechen in die mit
WEP arbeitenden WLANs zum Download erhältlich (z. B. Airsnort [4]). Als Reaktion auf die
Sicherheitslücken von WEP wurde Ende 2002 von der Hersteller-Vereinigung Wi-Fi-Alliance
[223] das zur IEEE802.11 abwärtskompatible WPA (Wi-Fi Protected Access) entwickelt.
Auch bei WPA sind mittlerweile einige Sicherheitslücken aufgetreten. Der Sicherheitslevel ist
aber dennoch deutlich höher als bei WEP. Mitte Juni 2004 wurde mit dem neuen Standard
IEEE802.11i das nochmals verbesserte Sicherheitssystem WPA2 eingeführt.
54
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Da WPA2-fähige Hardware nur bedingt verfügbar ist und vermutlich auch WPA2 in Zukunft
Sicherheitslücken zeigen wird, muss bei der Verwendung von drahtlosen Netzwerken über
zusätzliche Sicherheitsmechanismen, z. B. ein VPN (Virtual Private Network, siehe Abschnitt
8.1) nachgedacht werden. Bei sicherheitskritischen Regelungssystemen sollte man besser
von der Verwendung drahtloser Netzwerke absehen. Sie sind zusätzlich zu den bekannten
Sicherheitslücken auch noch anfällig gegen hochfrequente Störimpulse, so dass die notwendige
Betriebssicherheit nicht gewährleistet werden kann.
7.1.5 Bluetooth
Bluetooth [26] – benannt nach dem Wikingerkönig Harald Blauzahn – ist ein von den Firmen
Ericsson [76], Nokia [169], IBM [108], Toshiba [210] und Intel [133] entwickelter Industriestandard nach IEEE802.15 [114]. Die Technologie arbeitet im gleichen Frequenzbereich wie WLAN.
Es handelt sich um eine Funktechnik, mit der personal area networks (PAN) aufgebaut werden
können. Bluetooth wird meist genutzt, um Geräte im Nahbereich drahtlos zu verbinden. Beispiele dafür sind die Sprachübertragung zwischen einem Mobiltelefon und dem per Bluetooth daran
angebundenen Headset. Aber auch TCP/IP-Verbindungen sind möglich. Die verwendeten Sendeleistungen können bei Bluetooth je nach Geräteklasse geringer als bei WLAN sein, so dass auch
nur geringere Reichweiten erzielt werden können. Außerdem sind die verfügbaren Übertragungsbandbreiten deutlich geringer als bei WLAN (Bluetooth bis zu 2.1 Mbit/s, WLAN >100 Mbit/s).
Ein weiterer Nachteil von Bluetooth ist der im Vergleich zu WLAN deutlich schlechtere Sicherheitslevel. In [101] wird beschrieben, dass viele Bluetooth-Geräte bei verschlüsselten Verbindungen eine Schlüssel-Länge von nur 56 Bit erzwingen, was für kritische Daten aus Sicherheitsgründen nicht akzeptabel ist. Ohne zusätzliche Sicherheitsmechanismen wie z. B. Virtual Privat
Networks (siehe Abschnitt 8.1) ist Bluetooth damit für verteilte Regelungssysteme nicht geeignet.
7.2 Drahtgebundene Internetzugänge
7.2.1 Digital Subscriber Line (DSL)
Die drei Buchstaben DSL stehen für Digital Subscriber Line, was soviel bedeutet wie digitale Teilnehmeranschlussleitung. Es handelt sich dabei um ein Verfahren, mit dem über
Kupfer-Doppeladern herkömmlicher Telefonleitungen hohe Datenraten übertragen werden.
Dabei werden die zu übertragenden Bit-Informationen mit einem als Discrete Multitone (DMT)
bezeichneten Verfahren auf bis zu 255 Trägerfrequenzen codiert. Der serielle Datenstrom
wird dazu jeweils in eine definierte Anzahl von Bits zusammengefasst und auf komplexen
Subsymbolen abgebildet, die dann parallel gesendet werden.
7.2. DRAHTGEBUNDENE INTERNETZUGÄNGE
55
Die in Deutschland überwiegend anzutreffende DSL-Variante ist ADSL (Asymmetric Digital
Subscriber Line) oder – je nach Anbieter – eine der Varianten ADSL2 und ADSL2+. Bei diesen
Verfahren sind die erreichbaren Bandbreiten für Up- und Downstream unterschiedlich. Dabei ist
der Upstream meist um den Faktor zehn langsamer als der Downstream. Mit ADSL2+ lassen
sich Übertragungsbandbreiten von bis zu 25 Mbit im Downstream erreichen. Für die Datenübertragung zwischen den Knoten eines verteilten Reglernetzwerks sind die erzielbaren Bandbreiten
ausreichend. Sollen jedoch parallel dazu auch Serverdienste für Visualisierungszwecke mit
mehreren Clients über den DSL-Zugang abgewickelt werden, kann es beim Upstream zu
Engpässen kommen. In diesem Fall muss gewährleistet werden, dass die Datenübertragung für
den Regelungsprozess Vorrang hat. Das kann z. B. über die Quality-of-Service-Funktionen eines
Routers oder durch eine Beschränkung der Nutzerzahl des Webservers geschehen.
In einigen Städten Deutschlands ist mittlerweile das deutlich schnellere VDSL2 verfügbar. Damit
sind theoretisch Datenübertragungsraten von bis zu 100Mbit in beide Richtungen möglich. Da
die zulässigen Leitungslängen bei VDSL2 deutlich kürzer sind als bei ADSL2+, ist der Ausbau
der Infrastruktur jedoch sehr aufwändig, so dass sehr wahrscheinlich noch viel Zeit bis zu einer
flächendeckenden Verfügbarkeit vergehen wird.
7.2.2 Internet per TV-Kabel
Für den Internet-Zugang per TV-Kabel gilt Ähnliches wie für den Zugang per DSL. In den meisten Fällen ist die maximale Upstream-Bandbreite deutlich geringer als die des Downstreams.
Damit ergibt sich auch die gleiche Bandbreitenproblematik für den Upstream. Internet-Zugänge
über das TV-Kabel sind deutlich seltener anzutreffen als Zugänge per DSL. Die Standardisierung
der Technologie ist noch nicht weit fortgeschritten. Es werden Systeme verschiedener Hersteller
(z. B. Motorola Inc. [160], Zenith Electronics Corporation [241], International Business Machines Corp. IBM [108]) eingesetzt, die zueinander nicht kompatibel sind.
7.2.3 Analog-Modems
Analog-Modems nutzen als Übertragungsmedium eine Telefonleitung. Die dabei erzielbaren Datenraten hängen von der Art der Verbindung ab. Es gibt prinzipiell zwei verschiedene Möglichkeiten zur Nutzung analoger Modems:
• Zugriff auf den Einwahlknoten eines Internetproviders
• Punkt zu Punkt-Verbindung zwischen zwei Modems
Nutzung von Einwahlknoten eines Internetproviders
Die besondere Infrastruktur der Internetprovider erlaubt für den Datentransfer vom Provider zum
eingewählten Modem eine maximale Übertragungsbandbreite von 56000 bps. Beim Upload hingegen werden nur 33600 bps erreicht. Die maximal erreichbare Bandbreite für den Download
56
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
ist ein eher theoretischer Wert, der aufgrund der physikalischen Beschaffenheit der Telefonleitungen nur sehr selten erreicht wird. In der Praxis werden meist nur Bandbreiten von ca. 40000
bis 45000 bps erzielt. Nach dem Aushandeln der möglichen Übertragungsbandbreite zwischen
Einwahlknoten und einwählendem Modem wird die eigentliche Verbindung per PPP (Point to
Point Protocol) aufgebaut. Dabei bekommt der einwählende Rechner vom Einwahlknoten eine IP-Adresse zugeteilt. Die IP-Adresse ändert sich in den allermeisten Fällen bei jeder neuen
Einwahl. Soll der eingewählte Rechner aus dem Internet erreichbar und eindeutig identifizierbar
sein, müssen die im Abschnitt 7.4.2 beschriebenen Techniken angewandt werden.
Punkt zu Punkt-Verbindung zwischen zwei Modems
Bei einer Punkt zu Punkt-Verbindung zwischen zwei Analog-Modems beträgt die maximal erzielbare Übertragungsbandbreite 33600 bps. Diese Geschwindigkeit wird sowohl beim Upload
als auch beim Download erreicht. Beim Aufbau einer solchen Verbindung fungiert ein Rechner
als Einwahlserver. Der andere Rechner baut eine Verbindung zu diesem Rechner auf. Die Konfiguration des Einwahlservers ist unter Linux mit Bordmitteln recht einfach zu bewerkstelligen:
1. Zunächst wird das Programm mgetty installiert. Dieses Programm sorgt dafür, dass das
angewählte Modem den Anruf entgegen nimmt und mit dem einwählenden Modem die
Übertragungsmodalitäten verhandelt. Wichtig bei der Installation von mgetty ist, dass die
ausgewählte Version die Funktion AutoPPP unterstützt. Das ist nicht bei allen verfügbaren
Installationspaketen für mgetty der Fall.
2. mgetty wird einer seriellen Schnittstelle zugewiesen. Das geschieht unter Linux in der
Datei /etc/inittab (Bsp.: siehe Abbildung 7.1).
ppp0:2345:respawn:/sbin/mgetty -D ttyS0
Abbildung 7.1: Zeile aus der Datei /etc/inittab zur Konfiguration von mgetty für die erste serielle
Schnittstelle /dev/ttyS0
3. Die Konfigurationsdateien in den Verzeichnissen /etc/ppp und /etc/mgetty müssen für
eingehende Verbindungen konfiguriert werden. In /etc/ppp/options werden die Hostnamen für den Einwahlserver und den einwählenden Rechner eingetragen. (Bsp.: siehe Abbildung 7.2). In der Datei /etc/ppp/pap-secrets werden die Logins der einwahlberechtigten
Nutzer mit zugehörigem Passwort hinterlegt.
4. In der Datei /etc/hosts werden den Hostnamen des Einwahlservers und des einwählenden
Rechners die IP-Adressen zugewiesen, die die Rechner für die PPP-Verbindung benutzen.
5. Benutzernamen und Passwörter für den Einwahlzugang werde in /etc/ppp/pap-secrets
abgelegt (siehe Abb. 7.3).
7.2. DRAHTGEBUNDENE INTERNETZUGÄNGE
57
pppserver:pppclient
Abbildung 7.2: In der Datei /etc/ppp/options werden die Hostnamen für Einwahlserver und einwählenden Rechner im Format <hostname Einwahlserver>:<hostname einwählender Rechner> festgelegt.
#user
remote
server
*
secret
caller
addrs
*
Abbildung 7.3: In der Datei /etc/ppp/pap-secrets werden die Logins (z. B. remote) und Passwörter (z. B. caller) der zur PPP-Einwahl berechtigten Nutzer hinterlegt.
Die Linux-Kernel für Embedded Systems sind so konfiguriert, dass darin nur notwendige
Funktionen enthalten sind. Das führt manchmal dazu, dass die benötigten Treiber für PPPVerbindungen nicht vorhanden sind. In einem solchen Fall muss der Linux-Kernel aus den
Kernel-Sourcen, die von [139] bezogen werden können, neu kompiliert werden oder zumindest müssen die entsprechenden Kernelmodule kompiliert und geladen werden. Dabei müssen
folgenden Optionen aktiviert werden:
• PPP allgemein
• PPP für serielle Schnittstellen
Zusätzlich kann noch eine Option für die Datenkompression bei der Übertragung aktiviert werden.
7.2.4 Integrated Services Digital Network (ISDN)
Bei ISDN handelt es sich um ein System für die digitale Übertragung von Sprache und Daten
über eine herkömmliche Kupfer-Telefonleitung. Die Technik wurde entwickelt, um eine bessere Sprachqualität und höhere Datenübertragungsraten zu ermöglichen, als dies beim klassischen
analogen Telefonnetz PSTN (Public Switched Telephone Network) technisch machbar ist. Pro
Kanal wird eine Bandbreite von 64 kbit/s erreicht. Durch die Bündelung von zwei Kanälen kann
eine Gesamtbandbreite von 128 kbit/s erzielt werden. Für die Datenübertragung ist ISDN seit der
Verfügbarkeit von DSL (Digital Subscribe Line) weitgehend uninteressant geworden, da DSL
wesentlich höhere Bandbreiten bietet, z. B. 1 Mbit/s beim günstigsten DSL-Anschluss der Firma T-Com [203], und im Gegensatz zu ISDN nicht nach dem teuren Zeittakt abgerechnet wird.
Die Nutzung von ISDN kann dann sinnvoll sein, wenn schon ein ISDN-Zugang und die dafür
notwendige Infrastruktur vorhanden sind und nur sehr kleine Datenmengen übertragen werden
sollen. Außerdem kann ISDN eine Alternative zu DSL darstellen, wenn DSL nicht verfügbar ist
und eine Telekommunikationsfirma deshalb eine ISDN-Flatrate anbietet.
58
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
7.2.5 Nutzung bereits vorhandener Internetzugänge
Um Kosten zu sparen, bietet sich für die Realisation verteilter Monitoring- und Regelungssysteme die Nutzung bereits vorhandener Kommunikations-Infrastruktur an. Dabei ist jedoch
Folgendes zu beachten:
Werden Kommunikationskanäle durch verschiedene Nutzer gleichzeitig genutzt, sollte sichergestellt werden, dass die zur Verfügung stehende Bandbreite für die zeitgleiche Nutzung durch
alle Nutzer ausreicht. Soll z. B. ein bereits vorhandener DSL-Zugang mitgenutzt werden, um
bandbreitenaufwändige Visualisierungsprozesse für mehrere gleichzeitig zugreifende Nutzer
anzubieten, ist die für Uploads zur Verfügung stehende Bandbreite mit hoher Wahrscheinlichkeit
nicht ausreichend. Der gelegentliche Upload von Messdaten wäre problemlos möglich. Qualitativ hochwertige Internet-Router bieten oft die Möglichkeit, verschiedene Dienste zu priorisieren
und ihnen damit höhere Bandbreiten und kürzere Antwortzeiten zu ermöglichen. Man spricht
dabei von Dienstgüte oder auch Quality of Service (QoS).
Ein weiterer wichtiger Punkt bei der Mitnutzung von bereits vorhandenen Internet-Zugängen
ist die Art der zur Verfügung stehenden IP-Adressen. Sind nur private IP-Adressen (siehe
Abschnitt 7.4.1) erhältlich, müssen alle mit der NAT (Network Adress Translation) in Zusammenhang stehenden Probleme gelöst werden, um aus dem Internet Zugriff auf die Rechner zu
bekommen. Diese Probleme treten mit “echten” IP-Adressen nicht auf.
Ist das Netzwerk, welches mitgenutzt werden soll, durch eine Firewall (siehe Abschnitt 8.4)
geschützt, muss geklärt werden, ob die Ports für die benötigten Netzwerkdienste geöffnet sind
(z. B. Port 22 für die Secure Shell SSH oder Port 80 für den World Wide Web-Zugang).
7.3 Drahtlose Internetzugänge
7.3.1 Global System for Mobile Communications (GSM)
Für abgelegene Standorte, an denen drahtgebundene Internetzugänge nicht verfügbar sind, bietet
sich die Nutzung der Mobilfunknetze zur Datenübertragung an. Die in Europa verfügbaren
Mobilfunknetze arbeiten mit dem Global System for Mobile communications (GSM). Diese
Technik wird weltweit in ca. 200 Ländern genutzt und ist damit der am weitesten verbreitete
Mobilfunk-Standard.
Für eine zuverlässige Datenübertragung in Mobilfunknetzen muss eine Mindestsignalstärke am
Antenneneingang des GSM-Modems garantiert werden. Diese liegt laut [209] zwischen -77 dBm
und -53 dBm (1 dBm entspricht dabei 1 mW). Problematisch dabei ist, dass Signalstärken stark
schwanken können, z. B. in Abhängigkeit von bestimmten Wetterbedingungen. Deshalb muss
bei der Installation von Antennen darauf geachtet werden, dass Standorte mit möglichst ho-
7.3. DRAHTLOSE INTERNETZUGÄNGE
59
hen Signalstärken ausgewählt werden. GSM-Modems können die aktuelle Signalstärke messen.
Der gemessene Wert kann dann per AT-Befehl ausgelesen werden. Der AT-Befehlssatz wurde
von der mittlerweile aufgelösten Firma Hayes Communications zur Parametrierung von Modems entwickelt. AT steht dabei für attention. Für GSM-Geräte wurde der AT-Befehlssatz um
GSM-spezifische Befehle erweitert. Siehe dazu [197]. Ein Beispiel für die Kommunikation zum
Abfragen der Signalstärke ist in Abb. 7.4 dargestellt.
AT+CPIN=1234
OK
AT+CSQ
+CSQ: 19,99
Abbildung 7.4: Kommunikation eines Rechners mit einem GSM-Modem zur Abfrage der vom
GSM-Modem gemessenen Signalstärke am Antenneneingang
Zunächst muss das Modem im Mobilfunknetz angemeldet werden. Das geschieht durch Eingabe
der PIN mit dem Befehl AT+CPIN=<pin> wobei <pin> für die persönliche Identifikationsnummer der GSM-SIM-Karte steht. Danach wird der Befehl zur Abfrage der Signalstärke
AT+CSQ an das Modem gesendet. Das Modem gibt daraufhin zwei durch ein Komma getrennte
ganzzahlige Werte zurück. Der erste Werte ist die Received Signal Strength Indication (RSSI)).
Der zweite Wert wird als bit error rate (ber) bezeichnet. Die ber ist für die Ermittlung der
Signalstärke uninteressant. Die RSSI wird nach Tabelle 7.1 in eine Signalstärke in dBm umgerechnet.
In Mobilfunknetzen werden für Mobiltelefone und Modems meist Antennen genutzt, die in der
horizontalen Ebene in alle Richtungen eine gleichförmige Abstrahlcharakteristik aufweisen.
Solche Antennen werden auch als Rundstrahler bezeichnet. Ihr großer Vorteil ist, dass sie im
mobilen Betrieb nicht auf den nächsten Mobilfunkumsetzer ausgerichtet werden müssen. Durch
die Rundstrahlcharakteristik ist der erzielbare Antennengewinn jedoch sehr gering. Dieser liegt
meist im Bereich zwischen 0 dB und 3 dB. Bei abgelegenen Standorten kann es vorkommen,
dass die mit Rundstrahlern erzielbaren Signalstärken nicht ausreichen, um eine zuverlässige
RSSI
Signalstärke
0
-113 dBm oder geringer
1
-111 dBm
2. . . 30
-109 dBm . . . -53 dBm
31
-51 dBm oder höher
99
unbekannt oder nicht feststellbar
Tabelle 7.1: Umrechnung der vom GSM-Modem gemessenen Signalstärke von RSSI in dBm
60
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Erreichbarkeit der Mobilfunkknoten zu gewährleisten. In diesem Fall können Richtantennen
eingesetzt werden. Sie haben meist Antennengewinne zwischen 9 dB (z. B. Flächenantenne)
und 12 dB (z. B. Yagi-Antenne). Richtantennen müssen auf den nächsten Mobilfunkumsetzer
ausgerichtet werden, da sonst aufgrund der Richtcharakteristik die Feldstärken so gering sind,
dass gar keine Kommunikation stattfinden kann. Beim Ausrichten der Antenne ist darauf zu
achten, dass wirklich ein Mobilfunkumsetzer angepeilt wird und nicht andere Objekte, die die
Strahlung des Mobilfunkumsetzers und der Antenne lediglich reflektieren. Im Prinzip kann
zwar auch mit Reflexionen gearbeitet werden, jedoch sind reflektierende Objekte manchmal
nicht dauerhaft vorhanden (z. B. ein temporär aufgestellter Baukran), so dass beim Verlust des
reflektierenden Objekts die Antenne neu ausgerichtet werden muss.
Beim Datentransport per GSM können prinzipiell zwei verschiedene Übertragungstechniken zum
Einsatz kommen. Es handelt sich dabei um das leitungsvermittelte High Speed Circuit Switched Data (HSCD) und den paketorientierten, verbindungslosen General Packet Radio Service
(GPRS). HSCD wird aufgrund der leitungsvermittelten Technik immer zeitbasiert abgerechnet
und konnte sich deshalb auf dem Mark nicht durchsetzen. Beim paketorientierten GPRS wird
auf Basis des übertragenen Datenvolumens abgerechnet, so dass die Systeme immer online sein
können, ohne dadurch hohe Kosten zu verursachen.
Zur Nutzung von GPRS muss dem mobilen Endgerät der Access Point Name (APN) mitgeteilt
werden. Das geschieht mit einem AT-Befehl. Soll z. B. der Web-Accesspoint des Mobilfunkanbieters Vodafone [219] genutzt werden, geschieht das mit dem folgenden Befehl:
AT+CGDCONT=1,"IP","web.vodafone.de"
Anschließend wird das Modem ebenfalls per AT-Befehl in den GPRS-Modus umgeschaltet:
AT+CGATT=1
Nun kann – ebenfalls per AT-Befehl – die Einwahlnummer des Providers angewählt werden:
ATDT*99***1#
Um die recht bescheidenen Bandbreiten bei der mobilen Datenübertragung zu erhöhen, wurde
Enhanced Data Rates for GSM Evolution (EDGE) entwickelt. Bei EDGE wird ein zusätzliches
Modulationsverfahren eingeführt. Die Technik ist abwärtskompatibel zum bisherigen GSM-Netz,
so dass vorhandene Komponenten nicht gestört werden. Die GPRS-Variante von EDGE heißt
Enhanced GPRS (E-GPRS). Nicht alle Mobilfunkanbieter stellen ihre Netze auf EDGE um.
Bisher wird es in Deutschland nur von T-Mobile [204] und Vodafone [219] angeboten und das
auch noch nicht flächendeckend.
Sowohl bei GPRS als auch bei E-GPRS können durch Kanalbündelung höhere Datenraten
erzielt werden. Dazu gibt es die so genannten Multislot-Klassen. Sie definieren die Anzahl
der bündelbaren Kanäle sowie die Anzahl der in Sende- und Empfangsrichtung maximal
7.3. DRAHTLOSE INTERNETZUGÄNGE
61
nutzbaren Kanäle . Eine entsprechende Übersichtstabelle der Multislot-Klassen ist in Tabelle 7.2
dargestellt.
Multislot-Klasse
1
2
3
4
5
6
7
8
9
10
11
12
maximale
maximale
maximale Kanäle
Empfangskanäle Sendekanäle
(gesamt)
1
1
2
2
1
3
2
2
3
3
1
4
2
2
4
3
2
4
3
3
4
4
1
5
3
2
5
4
2
5
4
3
5
4
4
5
Tabelle 7.2: GPRS Multislot-Klassen (Quelle: Elektronik-Kompendium [70])
Nicht jedes GPRS-Endgerät beherrscht alle Multislot-Klassen. So verfügt z. B. das GSM/GPRSModem MC35i Terminal der Siemens AG [196] nur über die Multislot-Klassen 1, 2, 4 und 8. Das
bedeutet, dass maximal vier Downloadkanäle gebündelt werden können. Eine Bündelung von
Upload-Kanälen ist nicht möglich.
GSM/GPRS-Modems arbeiten nicht automatisch im Multislot-Betrieb, sondern sie müssen per
AT-Befehl vom Rechner mitgeteilt bekommen, welche Multislot-Klasse genutzt werden soll.
Das MC35i Terminal wird z. B. mit dem Befehl
AT\^SGCONF=,8
angewiesen, die Multislot-Klasse 8 zu nutzen.
Jedes GSM/GPRS-Modem beinhaltet eine Form von Mikrocontroller oder Kleinstrechner. Die
Wahrscheinlichkeit, dass ein solches Gerät softwaretechnisch abstürzt und damit nicht mehr korrekt funktioniert, steigt mit der Laufzeit des Gerätes. Deshalb ist es empfehlenswert, GSM/GPRSModems in regelmäßigen Abständen zurückzusetzen. Das kann entweder durch ein definiertes
Abschalten der Betriebsspannung (z. B. per Zeitschaltuhr) geschehen oder, falls nicht möglich,
kann ein Reset per Software erfolgen. Dieser wird durch folgenden AT-Befehl eingeleitet:
AT+CFUN=1,1
Bei GSM/GPRS-Verbindungen werden fast immer so genannte private IP-Adressen von den
Providern vergeben. Es ergeben sich dadurch die im Abschnitt 7.4.1 näher beschriebenen
62
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Probleme, durch die ein Verbindungsaufbau aus dem Internet zum GSM/GPRS-Endgerät sehr
erschwert wird. Zusätzlich zu den in 7.4.1 beschriebenen Lösungsansätzen bieten manche
Mobilfunkprovider Lösungen an, bei denen die mobilen Endgeräte in einem virtuellen Subnetz
versammelt werden, welches dann über ein virtual private network (VPN) (siehe Abschnitt 8.1)
an das Kundennetz angebunden wird. Ein Beispiel für eine solche Lösung ist Corporate Data
Access (CDA) von Vodafone [219]. Derartige Lösungen lohnen sich aber meist nur dann, wenn
eine größere Anzahl von mobilen Endgeräten erreichbar sein soll. Der administrative Aufwand
zur Einrichtung und zum Betrieb einer solchen Lösung ist recht groß.
Zahlreiche Informationen zum Thema GSM sind auf der Website der GSM Association [95]
verfügbar. Informationen zum Thema Sicherheit in Mobilfunknetzen können dem Artikel [31]
entnommen werden.
7.3.2 Universal Mobile Telecommunication System (UMTS)
Das Universal Mobile Telecommunication System (UMTS) ist ein Mobilfunkstandard der so
genannten dritten Generation (3G). Die per UMTS erzielbaren Übertragungsbandbreiten sind
deutlich höher als bei GSM. Damit ist UMTS für Multimedia-Inhalte und die Übertragung von
großen Datenmengen prädestiniert. Leider gibt es zum jetzigen Zeitpunkt kaum UMTS-fähige
Endgeräte, die sich für den Betrieb an einem Embedded Systems eignen. Die auf dem Markt
verfügbaren Mobiltelefone mit UMTS-Modem eignen sich in der Regel nicht für den Dauerbetrieb. Auch viele der Laptop-Karten mit PCMCIA/Cardbus-Interface haben Stabilitätsprobleme.
Außerdem können sie praktisch nicht verwendet werden, weil die meisten Embedded Systems
nicht über einen PCMCIA/Cardbus-Steckplatz verfügen. Die Marktsituation wird sich sicherlich
in den nächsten Jahren ändern. So hat z. B. die Firma Wavecom [221] UMTS-Einsteckmodule
zur Integration auf Platinen angekündigt. Diese Module werden über eine USB- oder/und eine
RS232-Schnittstelle verfügen, so dass sie an die allermeisten Embedded Systems angeschlossen
werden können. Um die volle Bandbreite einer UMTS-Verbindung nutzen zu können, sollte
möglichst eine Rechneranbindung per USB erfolgen, da die Übertragungsgeschwindigkeit der
RS232 nicht ausreichend ist, um die komplette Bandbreite der UMTS-Verbindung zu nutzen.
Eine Möglichkeit zur Anbindung von Embedded Systems an das Internet per UMTS ist die
Nutzung von UMTS-Routern, die mit den Embedded Systems per Ethernet kommunizieren.
Derartige Geräte gibt es z. B. von Linksys [147] und Digi International [55].
Wie bei GSM werden auch bei UMTS von den Mobilfunkprovidern so genannte private IPAdressen vergeben. Die damit verbundenen Probleme für ein verteiltes Regelungs- oder Monitoringsystem können wie bei GSM gelöst werden.
7.4. TECHNISCHE PROBLEME BEI DER INTERNET-NUTZUNG
63
7.3.3 Worldwide Interoperability for Microwave Access (WiMAX)
Worldwide Interoperability for Microwave Access (WiMAX) ist eine andere Bezeichnung für
den Industrie-Standard IEEE 802.16 [115]. Mit dieser Technik sollen breitbandige Zugänge
zum Internet via Funknetz angeboten werden. Im Dezember 2006 wurden in Deutschland von
der Bundesnetzagentur [34] die für den Betrieb von WiMAX-Netzen benötigten Frequenzen
an die drei Firmen DBD [48], Inquam Broadband [132] und Clearwire [43] versteigert. Mit
der Nutzung der Frequenzen ist für die Firmen die Auflage verbunden, bis 2009 insgesamt 15
Prozent und bis 2011 insgesamt 25 Prozent aller Gemeinden in ihrem Versorgungsgebiet mit Internetanschlüssen zu versorgen. WiMAX ist besonders gut für die Erschließung ländlicher Räume
geeignet, in denen kein DSL verfügbar ist, da die Kosten der benötigten WiMAX-Infrastruktur
deutlich geringer als die der DSL-Installationen sind.
Hardware für den WiMAX-Betrieb wird schon sehr bald von vielen Herstellern verfügbar sein
(siehe [224]). Der Trend geht dabei zur Integration mehrerer Funkdienste in einen Chipsatz.
Dazu schreibt z. B. die österreichische Zeitung Der Standard [52] am 17. April 2007 in ihrer
Web-Ausgabe:
“Intel will mit Hilfe einer neuen Chipentwicklung die Kommunikation mit mobilen Geräten vereinfachen. Der neue Chipsatz soll alle verfügbaren Funkstandards und Sendefrequenzen wie
UMTS, WLAN, WiMAX oder Ultra-Breitband unterstützen und mit weniger Antennen auskommen.”
7.4 Technische Probleme bei der Nutzung von InternetTechnologie
7.4.1 Network Address Translation (NAT)
Die Entwickler des Internet waren der Meinung, dass die Zahl der durch 4 Byte darstellbaren
Internetadressen in der aktuellen Internet-Protocol-Version 4 (IPv4) [117] auf unabsehbare Zeit ausreichen würde. Immerhin wären bei vollständiger Auslastung dieses Systems
2554 = 4.228.250.625 Einzeladressen verfügbar.
Mit der rasanten Entwicklung des Internets zeigt sich jedoch schon heute ein Mangel an
Internetadressen. Eine Lösung dieses Problems soll mit der Internet-Protocol-Version 6 (IPv6)
[124] erreicht werden. Sie ist technisch bereits realisiert. Ihre Einführung findet jedoch sehr
zögerlich statt, obwohl mit IPv6 sprichwörtlich jedem Grashalm auf der Erde eine IP-Adresse
zugewiesen werden könnte.
Mit der zunehmenden Knappheit von IP-Adressen entstand die Notwendigkeit, Rechnern einen
Zugang zum Internet zu ermögliche, ohne ihnen eine “öffentliche” IP-Adresse zuzuweisen.
64
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Dazu wurde die Network Address Translation (NAT) erfunden. Bei der Network Address
Translation bekommen alle Rechner eines Netzwerkes sogenannte “private” IP-Adressen aus
einem der dafür vorgesehen IP-Adressbereiche (siehe Tabelle 7.3). Die drei entsprechenden
Adressbereiche wurden von der Internet Engineering Task Force IETF [116] im Request
For Comments RFC1918 [121] festgelegt. Sie können beliebig oft vergeben werden, da ihre
Internetzugriffe nur über Rechner mit “öffentlichen” IP-Adressen stattfinden.
Das Netzwerk mit den “privaten” IP-Adressen wird über einen NAT-Router an das Internet
angebunden. Dieser Router verwaltet eine Liste, in der allen Rechnern des Netzwerkes mit
“privaten” IPs, die einen direkten Internetzugriff benötigen, eine “öffentliche” IP zugewiesen
wird. Will einer dieser Rechner auf das Internet zugreifen, so tut er das über den NAT-Router.
Dabei übersetzt der Router die Anfragen von der “privaten” IP in Anfragen der in seiner Liste
zugewiesenen “öffentlichen” IP (siehe Abb. 7.5). Auch ein Zugriff vom Internet auf den Rechner
mit der “privaten” IP ist möglich. Da nicht immer alle Rechner eines Netzwerks Zugriff zum
Internet benötigen oder der Zugriff über einen Proxy (siehe Abschnitt 8.4) realisiert werden
kann, sind nur wenige “öffentliche” IPs erforderlich.
Name
IP Adressbereich
Anzahl der IPs
24-bit block
10.0.0.0-10.255.255.255
16,777,215
20-bit block 172.16.0.0-172.31.255.255
1,048,576
16-bit block 192.168.0.0-192.168.255.255
65,535
Netze
1 Klasse A
16 Klasse B
256 Klasse C
Tabelle 7.3: die in RFC1918 festgelegten IP-Bereiche für “private” IPs
Der Nachteil des Verfahrens ist, dass jeder Rechner, der direkten Internetzugriff haben soll,
neben seiner “privaten” IP auch eine “öffentliche” IP benötigt, da immer nur eine 1:1 Zuordnung
zwischen “privaten” und “öffentlichen” IPs möglich ist.
Um dieses Problem zu umgehen, wurde die Network Address Port Translation (NAPT)
entwickelt. Wenn von NAT gesprochen wird, ist in den meisten Fällen NAPT gemeint. Bei
diesem Verfahren werden neben den IP-Adressen auch die Port-Nummern vom NAT-Router
umgeschrieben. Dadurch ist es möglich, die Internetzugriffe aller Rechner eines Netzwerks mit
“privaten IPs” auf eine einzige “öffentliche” IP-Adresse zu mappen (siehe Abb. 7.6).
NAPT wird manchmal auch als Port Translation PAT oder IP Masquerading bezeichnet.
Die Einrichtung eines LINUX-Rechners für NAPT ist unter [141] beschrieben. Der große Nachteil der NAPT besteht darin, dass zwar aus dem Subnetz Verbindungen ins Internet aufgebaut
werden können, aber nicht umgekehrt, da die Adressen mehrfach vergeben sein können. Für
Serverdienste ist aber gerade die Erreichbarkeit aus dem Internet unerlässlich.
7.4. TECHNISCHE PROBLEME BEI DER INTERNET-NUTZUNG
65
192.168.0.3
89.110.146.76
192.168.0.2
192.168.0.1
Abbildung 7.5: Ein Rechner mit “privater” IP (192.168.0.1) bekommt per Network Address
Translation unter der “öffentlichen” IP 89.110.146.76 Zugang zum Internet. Die
anderen Rechner des Netzwerks haben keinen Internetzugriff.
192.168.0.3:5000
89.110.146.76:5000
89.110.146.76:5001
192.168.0.2:5000
89.110.146.76:5002
192.168.0.1:5000
Abbildung 7.6: Alle Rechner eines Netzes mit “privaten” IPs bekommen per Network Address
Port Translation über eine “öffentliche” IP Zugang zum Internet.
66
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Mit Hilfskonstruktionen ist es dennoch möglich, Verbindungen zu Rechnern mit “privaten” IPAdressen aufzubauen. Im Wesentlichen lässt sich eine solche Verbindung mit zwei verschiedenen
Mechanismen bewerkstelligen:
• Port-Forwarding
• NAT-Traversal
Port-Forwarding
Das Internet ist ein Transportmedium, über das ganz unterschiedliche Dienste abgewickelt
werden können. Um die verschiedenen Dienste unterscheiden und adressieren zu können,
werden so genannte Ports verwendet. Jedem standardisierten Dienst ist ein Port zugewiesen.
Der Dienst World Wide Web (WWW) arbeitet z. B. auf Port 80. Insgesamt stehen 65536 Ports zur
Verfügung. Die ersten 1024 sind für privilegierte Dienste wie WWW reserviert.
Wenn ein Client-Rechner Anfragen an einen bestimmten Dienst auf einem anderen Rechner
(Server) stellen will, schickt er die Anfrage an die IP-Adresse und den entsprechenden Port des
Rechners, auf dem der Dienst läuft. Der Rechner, der die Anfrage erhält, ermittelt anhand des
Ports, auf dem die Anfrage einläuft, welcher Dienst angefragt wird und leitet die Anfrage an das
entsprechende Programm weiter.
Wenn der Server nur eine “private” IP-Adresse besitzt, dann ist ein direkter Zugriff aus dem Internet auf diesen nicht möglich. Um den Server zu erreichen, ist ein so genannter Router notwendig.
Dieser ist gleichzeitig aus dem Internet und aus dem Subnetz mit privaten IP-Adressen, in dem
der Server steht, erreichbar. Der Router besitzt die Fähigkeit, Anfragen, die ihn erreichen, auf
einen anderen Rechner weiterzuleiten. Welcher Dienst angefragt wird, erkennt der Router dabei
an der Port-Nummer. Der Router kann so konfiguriert werden, dass er Anfragen an verschiedene
Ports auch an verschiedene Rechner weiterleiten kann. Bekommt der Router z. B. eine Anfrage auf Port 80 (WWW), leitet er diese an einen vorher im Router eingetragenen Rechner mit
Web-Server weiter (siehe Abb. 7.7). Bekommt er eine Anfrage auf Port 22, wird diese an einen
Rechner weitergeleitet, auf dem ein SSH-Server läuft. Die Fähigkeit eines Routers, Anfragen an
einen seiner Ports zu einem anderen Rechner weiterzuleiten, nennt man Port-Forwarding. Eine
besondere Spielart des Port-Forwardings ist die Port-Redirection, bei der der Router Anfragen
an einen Port zu einem anderen Port weiterleitet.
NAT-Traversal
Der Mechanismus des Port-Forwardings funktioniert nur, wenn man Zugriff auf den entsprechenden NAT-Router hat und selbst das Port-Forwarding einrichten kann. Bei Einwahlverbindungen
ins Internet per GSM (siehe Abschnitt 7.3.1) werden dem einwählenden Rechner oft “private”
IP-Adressen zugeteilt. In diesem Fall besteht jedoch keinerlei Zugriff auf den NAT-Router,
so dass Port-Forwarding nicht funktioniert. Ein direkter Verbindungsaufbau zum Rechner mit
7.4. TECHNISCHE PROBLEME BEI DER INTERNET-NUTZUNG
67
A:
Rechner mit "echter" IP
WWW−Anfrage, PORT 80
Client
Rechner mit "privater" IP
WWW−Server
B:
WWW−Anfrage, PORT 80
WWW−Server
SSH−Anfrage, PORT 22
Client
Router mit
Port Forwarding
SSH−Server
Abbildung 7.7: Zugriff von einem Client-Rechner auf einen Server ohne (A) und mit (B) PortForwarding
der privaten IP ist somit nicht realisierbar. Verbindungen können nur dann zustande kommen,
wenn der Rechner mit der “privaten” IP-Adresse selbständig eine Verbindung ins Internet zu
einem Server mit einer “echten” IP-Adresse aufbaut. Dieser Server reicht dann entweder die
Verbindung an andere anfragende Rechner weiter (Simple Traversal of UDP over NATs STUN)
oder transferiert direkt alle Daten für den Rechner mit “privater” IP-Adresse weiter (Traversal
Using Relay NAT TURN).
Eine Sonderlösung kann auch die Nutzung von VPN-Technologie, wie z. B. openVPN oder
Hamachi (siehe Abschnitt 8.1) sein.
Detailliertere Information zum Thema Network-Address-Translation und NAT-Traversal finden
sich unter:
• RFC 1579: Firewall Friendly FTP [120]
• RFC 2663: IP Network Address Translator (NAT) Terminology and Considerations [125]
• RFC 2709: Security Model with Tunnel-mode IPsec for NAT Domains [126]
• RFC 2993: Architectural Implications of NAT [127]
68
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
• RFC 3027: Protocol Complications with the IP Network Address Translator (NAT) [128]
• RFC 3235: NAT-Friendly Application Design Guidelines [129]
7.4.2 Wechselnde IP-Adressen
Bei Einwahlverbindungen (z. B. per DSL oder per Telefon-Modem) wird dem einwählenden
Rechner eine IP-Adresse zugeteilt. Bei den meisten Einwahlverbindungen findet nach einer
gewissen Zeit eine Zwangstrennung der Verbindung statt (bei DSL oft alle 24 h). Im Zuge der
Neueinwahl wird dem einwählenden Rechner dann auch wieder eine IP-Adresse zugewiesen.
Diese ist meist nicht mit der IP der letzten Einwahl identisch. Mit einer neuen IP ändert sich
dann auch noch der Eintrag im Domain Name System (DNS) (siehe Abschnitt 7.5.2). Soll
jetzt auf einem Rechner mit Einwahlverbindung ein Serverdienst betrieben werden, ergibt sich
das Problem, diesen Rechner im Internet zu finden, da weder die IP noch der Hostname aus
dem DNS bekannt sind. Die Lösung des Problems besteht in der Nutzung eines dynamischen
Domain-Name-Systems. DynDNS ist eine spezielle Form des DNS (siehe Abschnitt 7.5.2).
Im Internet gibt es ca. 100 Anbieter für derartige Dienstleistungen. Der bekannteste und
softwaretechnisch am besten unterstützte Dienst ist DynDNS von Dynamic Network Services
Inc. [61].
In Abb. 7.8 wird ein Verbindungsaufbau unter Nutzung von DynDNS beschrieben. Zunächst wird
dem Einwahlrechner vom Einwahlserver eine IP-Adresse zugewiesen (1). Ein auf dem Einwahlrechner laufendes Programm registriert jede Änderung der IP-Adresse und teilt die jeweils neue
Adresse dem DynDNS-Server mit (2). Der DynDNS-Server hat für den Einwahlrechner einen festen Hostnamen (Fully Qualified Name (FQN)), der einmalig per Hand über ein Web-Formular
eingetragen werden muss. Diesem festen Namen wird jetzt die neue IP-Adresse zugeordnet. Will
jetzt ein Client die Serverdienste des Einwahlrechners nutzen, fragt er im DNS die IP-Adresse
des Einwahlrechners ab. Diese Anfrage wird automatisch an den DynDNS-Server weitergeleitet
(3). Er antwortet mit der aktuellen IP-Adresse des Einwahlservers. Jetzt kann der Client eine
direkte Verbindung zum Serverdienst des Einwahlrechners aufbauen (4), da ihm die IP-Adresse
bekannt ist.
Der große Nachteil von dynamischen Domain-Name-Systemen ist die Abhängigkeit von den
DNS-Servern der Anbieter. Beim Ausfall des Servers und einem Wechsel der IP-Adresse des eingewählten Rechners ist dieser nicht mehr zu erreichen. Eine einfach Lösung dieser Problematik
besteht darin, dass der eingewählte Rechner in festen Zeitintervallen Emails mit seiner eigenen
IP-Adresse an eine Service-Emailadresse verschickt, so dass die jeweils aktuelle IP im Notfall
auch ohne DynDNS zugänglich ist. Befindet sich zwischen Rechner und Internet ein NAT-Router
(NAT = Network Address Translation, siehe Abschnitt 7.4.1), kennt der Rechner die IP-Adresse,
über die er aus dem Internet erreicht werden kann, gar nicht. Er kann sie aber ermitteln, indem
er einen Webserver wie z. B. den von MyIp [164] abfragt, der eine html-Datei (html=Hypertext
Markup Language) zurückliefert, in der die IP des abfragenden Rechners enthalten ist. Ein einfaches Shell-Skript, das alle 24 Stunden eine Email mit der IP-Adresse des eigenen Rechners
verschickt, ist in Abb. 7.9 dargestellt.
7.4. TECHNISCHE PROBLEME BEI DER INTERNET-NUTZUNG
69
1
Einwahl−Server
2
DynDNS−Server
Einwahlrechner
3
4
Client
Abbildung 7.8: Verbindungsaufbau von einem Client zum Einwahlrechner unter Nutzung von
DynDNS (1 - IP-Zuweisung, 2 - DynDNS-Update, 3 - DNS-Abfrage, 4 - Verbindungsaufbau)
7.4.3 Verbindungsabbrüche bei Einwahlverbindungen
Bei Einwahlverbindungen per Telefonmodem, Integrated Services Digital Network (ISDN),
Global System for Mobile Communications (GSM) oder Digital Subscriber Line (DSL) ist die
Verbindungsdauer oft durch den Internetprovider begrenzt, so dass nach einer bestimmten Zeit
die Verbindung automatisch abgebaut wird. Es besteht dann keine Möglichkeit, über das Internet
eine Verbindung zu dem vormals eingewählten Computer aufzubauen. Wenn ein Computer
für andere Rechner Serverdienste anbieten soll, ist meist eine permanente Internetanbindung
notwendig. Das bedeutet, dass bei Einwahlverbindungen sofort nach deren Abbau durch den
Internetprovider eine erneute Einwahl stattfinden muss, um eine möglichst hohe Verfügbarkeit
zu gewährleisten. Bei DSL-Verbindungen beherrscht die Verbindungssoftware meist von Haus
aus eine direkte Neueinwahl. Auch handelsübliche Internet-Router können meist für einen
sofortigen Wiederaufbau der Verbindung konfiguriert werden.
Komplizierter ist die Situation bei Verbindungen per Telefonmodem oder GSM. Für diese
beiden Techniken sind kaum Router verfügbar, die es ermöglichen, Serverdienste anzubieten,
da kein Routing vom Internet zu einem an den Router angeschlossenen Rechner stattfindet.
Sollen Serverdienste angeboten werden, muss der Rechner das Modem direkt selbst ansteuern.
70
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
#!/bin/bash
while true
//ewige Wiederholung
do
echo "hole IP-Adresse"
# hole die Datei index.html vom Webserver
wget http://www.myip.dk/
echo "verschicke IP"
# wandele index.html in Text um und
# verschicke ihn per Email an
# [email protected]
html2text -nobs index.html | \\
mail -s "IP" [email protected]
# lösche index.html, damit am nächsten
# Tag wieder Platz für die Datei ist
rm index.html
# warte 24 Stunden
echo "schlafe..."
sleep 24h
done
Abbildung 7.9: Skript zum Ermitteln der IP-Adresse eines Rechners und anschließenden Versenden dieser Adresse per Email
Die dafür erhältliche Software ist in den meisten Fällen nicht in der Lage, selbständig eine
abgebrochene Internetverbindung wieder aufzubauen.
Für das Betriebssystem Linux wurde im Rahmen dieser Arbeit das Programm ppp0-checker entwickelt. Es fragt ständig den Status der Internetverbindung mit Hilfe von Kommandozeilentools
für die Internet-Einwahl und die Netzwerkkonfiguration ab. Bei Verbindungsabbrüchen führt es
sofort eine neue Einwahl durch.
7.5 Netzwerkdienste für Verteilte Systeme
7.5.1 Zuweisung von IP-Adressen mittels Dynamic Host Configuration
Protocol (DHCP)
Das Dynamic Host Configuration Protocol dient dazu, auf einfache Weise die Netzwerkzugänge
von Rechnern in einem lokalen Netzwerk zu konfigurieren. Die dazu benötigten Parameter sind
z. B. die IP-Adresse, die Netzmaske, die IP-Adresse des Gateways und die IP-Adresse des Servers für den Domain Name Service (siehe dazu 7.5.2). Die zu konfigurierenden Client-Rechner
können alle diese Parameter von einem DHCP-Server abfragen, so dass eine Konfiguration per
Hand komplett entfällt.
7.5. NETZWERKDIENSTE FÜR VERTEILTE SYSTEME
71
Eine Nutzung von DHCP ermöglicht die dynamische Aufnahme von zusätzlichen Knoten in ein
Netzwerk und ist damit auch die Grundlage für viele Plug-and-Play-Systeme.
Jedes Netzwerk-Gerät besitzt eine sogenannte Media Access Control address (MAC address),
über die es eindeutig identifiziert werden kann. Diese Adressen können zur Erkennung von
Geräten genutzt werden, so dass der DHCP-Server ihnen eine feste IP-Adresse zuweisen kann.
DHCP ermöglicht außerdem eine große Flexibilität bei der Bildung von Netzwerken. Durch
eine entsprechende IP-Vergabe können Subnetze gebildet oder auch Netzwerke zusammengelegt
werden. Außerdem sorgt DHCP dafür, dass keine IP-Adressen doppelt vergeben werden, was
bei statischer IP-Vergabe leicht passiert und eine nicht zu unterschätzende Fehlerquelle darstellt.
Das DHCP bringt aber auch Nachteile mit sich. Fällt der DHCP-Server aus, sind nach einiger
Zeit (nach Ablauf der sog. lease time) die von ihm vergebenen IP-Adressen nicht mehr gültig
und die per DHCP konfigurierten Rechner haben keine IP-Adresse mehr. Sie sind damit nicht
mehr erreichbar. Ist der DHCP-Server dann irgendwann wieder verfügbar, sollten die Clients
theoretisch wieder bei ihm anfragen, neue IP-Adressen erhalten und wieder erreichbar sein. Die
Praxis zeigt aber, dass sich nicht jede DHCP-Client-Software zuverlässig so verhält. Infolge
dessen sind manche Rechner dauerhaft nicht mehr zu erreichen. Die Ausfallwahrscheinlichkeit
eines per DHCP konfigurierten Netzwerks ist deshalb deutlich höher als die eines Netzwerks
mit statisch vergebenen IP-Adressen.
Eine ausführliche Beschreibung des DHCP ist im Request for Comments RFC2131 [122] zu
finden.
7.5.2 Domain Name System (DNS)
Das DNS stellt eine Art Telefonbuch des Internets dar. Seine Hauptaufgabe ist die Übersetzung
der von Menschen einfach lesbaren Hostnamen (z. B. rainerbecker.org) in IP-Adressen (z. B.
89.110.146.76), die dann von Netzwerkgeräten verarbeitet werden können. Die Nutzung von
Hostnamen in Verbindung mit dem DNS hat den Vorteil, dass man die entsprechende Maschine
immer erreicht, auch wenn sich ihre IP-Adresse verändert hat. Außerdem stellt das DNS
Informationen darüber zur Verfügung, welcher Rechner in einem Netzwerk (genauer: in einer
Domain) für den Empfang und die Auslieferung von Emails zuständig ist.
Das DNS ist für verteilte Monitoring- und Regelungssysteme besonders in seiner Ausprägung
DynDNS (siehe Abschnitt 7.4.2) von großer Bedeutung, weil es eine Möglichkeit bietet, Rechner
mit wechselnden IP-Adressen im Internet aufzufinden.
Das DNS ist ausführlich in den requests for comment 1034 [118] und 1035 [119] beschrieben.
72
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
7.5.3 Zeitsynchronisation mit dem Network Time Protocol (NTP)
Bei verteilten Systemen ist es oft notwendig, die Systemuhren der einzelnen Rechner untereinander zu synchronisieren und dafür zu sorgen, dass sie korrekte Uhrzeiten haben. Besonders
wichtig ist das bei verteilten Regelungssystemen, die zu bestimmten Tageszeiten synchron
bestimmte Aktionen durchführen sollen. Zeitabweichungen können bei solchen Systemen fatale
Folgen haben. Auch für die Messdatenerfassung sind exakt gehenden Systemuhren notwendig,
um Datensätze verschiedener Systeme zueinander in Relation setzen zu können.
Zur Synchronisation von Rechneruhren werden im allgemeinen Zeitserver genutzt, die über
eine exakt gehende Uhr verfügen. Bei den Zeitservern ptbtime1.ptb.de und ptbtime2.ptb.de der
Physikalisch Technischen Bundesanstalt (PTB) [184] ist das z. B. eine Atomuhr. Zeitserver
können aber auch Signale von Zeitsignalsendern, z. B. dem DCF77-Sender (siehe [49]) der
PTB, oder Signale von Satelliten des Global Positioning System (GPS) nutzen, die über exakt
funktionierende Uhren verfügen.
Für die Synchronisation eines Rechners im Feld mit einem Zeitserver kann das Network Time
Protocol (NTP) genutzt werden.
Im Gegensatz zu handelsüblichen Personalcomputern verfügen Embedded Systems oft nicht
über einen Batteriepuffer für die Echtzeituhr. Das führt dazu, dass nach einer Spannungsunterbrechung die Systemuhr mit einer festgelegten Startzeit (z. B. 1.1.1980, 00:00 Uhr) losläuft. Soll
die Systemuhr nun auf die aktuelle Zeit eingestellt werden, muss also ein sehr großer Zeitsprung
stattfinden. Mess-Software reagiert aber oft sehr empfindlich auf derartige Zeitsprünge, so dass
diese Software sicherheitshalber erst nach dem Stellen der Systemuhr gestartet werden sollte.
Das Stellen der Systemuhr wiederum funktioniert erst dann, wenn eine Netzwerkverbindung zu
einem Timeserver verfügbar ist, was z. B. beim Aufbau einer PPP-Verbindung per GPRS über
ein Mobilfunknetz nicht sofort nach dem Systemstart gewährleistet ist.
In der Praxis hat sich für die Zeitsynchronisation unter Linux die Nutzung der Softwarepakete
ntpdate und ntp-simple bewährt. Ein Linux-System baut während des Bootvorgangs alle Netzwerkverbindungen auf. Ein anschließend ausgeführtes Skript nutzt den Befehl ifconfig, um festzustellen, ob das Netzwerk-Interface für eine Verbindung zum Zeitserver (z. B. ppp0 für eine
Mobilfunkverbindung) vorhanden ist. Ist das nicht der Fall, wird in regelmäßigen Abständen erneut überprüft, ob das Netzwerk verfügbar ist. Wenn das der Fall ist, wird ntpdate gestartet. Es
gleicht die Zeit mit einem im Konfigurationsfile festgelegten Zeitserver per ntp ab. Nach dem Abgleich wird ntp-simple gestartet. Dieses Programm läuft dauerhaft im Hintergrund und korrigiert
regelmäßig die geringfügigen Abweichungen zwischen der Systemuhr und der vom Zeitserver
zur Verfügung gestellten Zeitinformation. Durch die Regelmäßigkeit der Korrektur wird gewährleistet, dass nur noch sehr kleine Zeitsprünge (<1 Sekunde) stattfinden, welche unproblematisch
für Mess-Software sind. Sobald ntp-simple läuft, kann die Mess-Software gestartet werden.
7.5. NETZWERKDIENSTE FÜR VERTEILTE SYSTEME
73
7.5.4 Sicherheitsupdates
Praktisch jede Software hat Fehler. Softwarefehler stellen insbesondere bei vernetzten Computersystemen eine beträchtliche Gefahr dar. Pufferüberläufe und ähnliche Sicherheitslücken
können von Angreifern genutzt werden, um über das Internet ein Computersystem unter
ihre Kontrolle zu bringen. Damit solche Angriffe möglichst zuverlässig unterbunden werden,
müssen neu gefundene Sicherheitslücken im Betriebssystem und in Anwendungsprogrammen sofort geschlossen werden. Dazu müssen anfällige und fehlerhafte Programme durch
korrigierte Versionen ersetzt werden. Die aktuellen Versionen können im Prinzip von jedem
Datenträger aus eingespielt werden. Bei verteilten Embedded Systems bietet sich ein Update
über das Netzwerk an. Bei vielen Linux-Distributionen gibt es zu diesem Zweck spezielle
Server mit gepatchten Softwarepaketen, von denen die jeweils aktuellsten Programmversionen bezogen werden können. Bei der Linux-Distribution Debian z. B. erfüllt der Server
http://security.debian.org diese Funktion. Weitere Infos zur Sicherheit von Debian
sind unter [51]) zu finden.
Server mit fehlerbereinigten Softwarepaketen decken einen Großteil der aufgetretenen Sicherheitslücken ab, jedoch nicht immer sofort alle. Es ist deshalb sinnvoll, regelmäßig Websites zum
Thema Sicherheitslücken zu lesen und entsprechende Mailinglisten zu abonnieren.
Seit 2001 gibt es beim Bundesamt für Sicherheit in der Informationstechnik [29] das Computer
Emergency Response Team für Bundesbehörden (CERT Bund). Beim Warn- und Informationsdienst (WID) des CERT Bund [30] können zwei Mailinglisten zu den Themen “Aktuelle
Warnungen zu Computer-Viren, Würmern und anderen Schadprogrammen“ und ”Aktuelle
Informationen zu Sicherheitslücken und Schwachstellen in IT-Systemen“ abonniert werden.
Bei großen Netzwerken mit softwaretechnisch nicht identischen Rechnern ist der Aufwand für
tägliche Sicherheitsupdates von Hand beträchtlich. Ein automatisiertes Einspielen aller verfügbaren Sicherheitsupdates ist aber kaum realisierbar, da bei deren Installation oft Nutzereingaben erforderlich sind. Es gibt zwar oft Default-Werte für die entsprechenden Angaben. Leider
sind diese nicht immer passend und können im Extremfall dazu führen, dass der Rechner nicht
mehr per Netzwerk erreichbar ist. Um das Update-Problem für verteilte System, die auf DebianLinux basieren, zu lösen, wurde im Rahmen der im Abschnitt 15.1 beschriebenen MonitoringProjekte das Tool updatecheck entwickelt. Dieses Tool fragt im 24-Stunden-Rhythmus den Debian-Updateserver http://security.debian.org ab und gleicht die Liste der Sicherheitsupdates für die ganze Distribution mit der Liste der auf dem jeweiligen Rechner installierten
Softwarepakete ab. Nur wenn Sicherheitsupdates für die auf dem Rechner installierte Software
vorliegen, verschickt das Tool eine Email (siehe Abb. 7.10) mit der Liste der zu aktualisierenden
Softwarepakete an eine vorher in einem Config-File angegebene Email-Adresse. Updatecheck
läuft dann auf allen Rechnern eines verteilten Systems, so dass der Administrator per Email
immer zeitnah über anstehende Sicherheitsupdates informiert ist.
74
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Subject:
From:
Date:
To:
UPDATES AVAILABLE: wp-eff-4-24813a
root <[email protected]>
13:39
[email protected]
libisc11
libdns22
libisccc0
libisccfg1
libbind9-0
liblwres9
bind9-host
dnsutils
file
libmagic1
libkrb53
Abbildung 7.10: vom Tool updatecheck generierte Email mit einer Liste von Programmpaketen,
für die Sicherheitsupdates zur Verfügung stehen
7.5.5 Fernwartung mit der Secure Shell (SSH)
In verteilten Systemen können die Rechner räumlich und netzwerktechnisch weit voneinander
entfernt sein. Das kann dazu führen, dass der Netzwerkverkehr zwischen den Knoten des
verteilten Systems auch durch ungeschützte Netze läuft. Die Nutzung derartiger Netze birgt
immer die Gefahr in sich, dass Unbefugte den Netzwerkverkehr mitschreiben (“sniffen”) und
nach unverschlüsselt übertragenen Logins und Passwörtern suchen, mit denen sie sich dann
Zugriff auf die Systeme verschaffen können.
Viele Netzwerkdienste übertragen auch heute noch Logins und Passwörter im Klartext. Dazu
zählen das oft zur Übertragung von Dateien genutzte File Transfer Protocol FTP und auch der
Telnet-Dienst. Diese Dienste sind aus sicherheitstechnischen Gründen nicht vertretbar, werden
jedoch trotzdem oft genutzt, da die Clients für diese Dienste zum Lieferumfang der Betriebssysteme der Firma Microsoft [156] gehören. Clients mit verschlüsselter Datenübertragung für
Dienste gleicher Funktion werden von Microsoft hingegen nicht mitgeliefert.
Die Gefahr des Diebstahls von Zugangsdaten kann nur umgangen werden, indem der Netzwerkverkehr in irgend einer Form verschlüsselt wird. Eine in der Nutzung sehr komfortable, aber
bei der Installation sehr aufwändige Variante der Verschlüsselung sind Virtual Private Networks
(Siehe dazu Abschnitt 8.1).
Mit wesentlich weniger Aufwand ist die Anwendung der Secure Shell (SSH) verbunden. SSH
kann dabei verschiedene Funktionen übernehmen:
7.5. NETZWERKDIENSTE FÜR VERTEILTE SYSTEME
75
1. Fernadministration eines Rechners über das Netzwerk
2. “Tunneln” von Netzwerkdiensten über eine verschlüsselte Verbindung
3. Dateitransfer per Secure Copy (SCP)
1. Fernadministration
Eine Shell ist ein Interpreter für Kommandozeilen-Befehle, der es ermöglicht, Programme zu
starten und Standardoperationen auf einem System durchzuführen (z. B. Dateien kopieren, Verzeichnisse löschen, . . . ).
SSH stellt eine solche Shell über eine gesicherte Netzwerkverbindung zur Verfügung, so dass
auch aus der Ferne mit der Shell gearbeitet werden kann. Damit ist SSH ein effizientes Werkzeug
zur Fernadministration. Da Linux ein Betriebssystem der UNIX-Familie ist und UNIX entwickelt
wurde, als an grafische Benutzeroberflächen noch nicht zu denken war, kann man über eine Shell
ein komplettes Linux-System mit Befehlen in der Kommandozeile administrieren.
2. Tunneln
Von manchen Netzwerkdiensten gibt es keine sicherheitstechnisch zuverlässige Implementation.
Ein Beispiel dafür ist der VNC-Dienst, der zur Fernsteuerung von Rechnern über das Netzwerk
genutzt wird. Ein vom Autor auf einem Rechner mit Microsoft Windows XP Professional
Betriebssystem installierter VNC-Server der Firma RealVNC Ltd. [186], der zum Zeitpunkt
des Einsatzes die neuste Softwareversion hatte, wurde innerhalb der ersten 24 Betriebsstunden
“geknackt”. Das komplette System war damit kompromittiert.
Ist man auf die Nutzung eines solch unsicheren Dienstes angewiesen, kann die notwendige
Sicherheit durch ein Virtual Private Network oder über das “Tunneln” der Netzwerk-Ports durch
eine SSH-Verbindung erreicht werden. In der Grafik 7.11, Teilbild B ist die Funktion eines
solchen Tunnels dargestellt.
Das Teilbild A zeigt eine VNC-Verbindung ohne SSH-Tunnel. Der VNC-Client baut von seinem
Port 5900 eine direkte Verbindung per Internet zum Port 5900 des VNC-Servers auf (in der
Abbildung als rote Linie dargestellt). Die Kommunikation verläuft unverschlüsselt, so dass die
Zugangsdaten auf der Verbindungsstrecke zwischen den beiden Rechnern durch eine Analyse
des Netzwerkverkehrs einfach ermittelt werden könnten. Um eine derartige Verbindung zu
realisieren, muss die VNC-Serversoftware direkt aus dem Internet erreichbar sein. Das kann
dazu führen, dass Sicherheitslücken in der Implementation der Software genutzt werden können,
um einen unbefugten Zugriff auf den Server zu erlangen.
Im Teilbild B der Abbildung 7.11 wird ein SSH-Tunnel genutzt. Dabei baut der VNC-Client keine
direkte Verbindung zum VNC-Server auf, sondern verbindet sich mit dem VNC-Serverport (Port
5900) des lokalen Rechners. Auf diesem Port “lauscht” die SSH-Software und reicht alle eingehenden Daten über eine verschlüsselte Verbindung (ausgehend von Port 22 des Client-Rechners,
76
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
dargestellt als grüne Linie) weiter an den SSH-Serverprozess des Servers (auf Port 22). Der SSHServer-Prozess des Servers seinerseits reicht die Daten über eine lokale Verbindung an den Port
5900 des VNC-Serverprozesses weiter. Bei diesem Prozess laufen alle ungesicherten Verbindungen jeweils nur lokal auf einem Rechner ab, so dass sie nicht abgehört werden können.
3. Secure Copy (SCP)
SCP kann dazu genutzt werden, einzelne Dateien, einzelne Verzeichnisse oder auch ganze
Verzeichnisstrukturen über das Netzwerk auf einen entfernten Rechner zu kopieren. Zu den
meisten SSH-Programmpaketen gehört auch ein SCP-Client. SSH-Server beherrschen immer
auch SCP.
Im Gegensatz zum häufig für Dateitransfers genutzten File Transfer Protocol (FTP) wird bei
SCP nur ein einzelner Port (Port 22) benötigt. Beim FTP hingegen wird neben einem Port für
die Kontrollverbindung für jede zu übertragende Datei eine neue Socket-Verbindung auf einem
neuen Port geöffnet. Sollen sehr viele Dateien kopiert werden, kann es passieren, dass nicht
ausreichend viele Sockets zur Verfügung stehen. Dann bricht die Übertragung der Dateien plötzlich ab. SCP hingegen überträgt auch sehr viele Dateien und sehr tiefe Verzeichnisstrukturen
zuverlässig ohne Abbrüche.
Ein weiterer Vorteil von SCP besteht in der Möglichkeit, die Daten zur Übertragung zu komprimieren. So lässt sich die zur Verfügung stehende Bandbreite optimal nutzen und das Übertragungsvolumen minimieren.
Authentifikationsmechanismen bei der Nutzung von SSH
SSH besitzt verschiedene Sicherheitsmechanismen für die Authentifikation von Rechnern und
Nutzern, um sogenannte Man-in-the-Middle-Attacken zu unterbinden, bei denen die Kommunikation auf dem Weg zwischen zwei Rechnern von einem weiteren Rechner abgefangen und
manipuliert wird.
Die Authentifikation des Rechners, mit dem kommuniziert werden soll, erfolgt mit Hilfe von
sogenannten hostkeys. Bei der Installation einer SSH-Serversoftware wird der hostkey für diesen
Rechner per Zufallsprinzip erzeugt. Verbindet sich ein SSH-Client mit einem SSH-Server, wird
zunächst der hostkey zum Client übertragen und dort überprüft. Dabei gibt es drei mögliche
Szenarien:
1. Der hostkey ist unbekannt:
Der Nutzer wird gefragt, ob der hostkey akzeptiert werden soll. Stimmt der Nutzer zu,
wird der hostkey zusammen mit dem Hostnamen oder der IP-Adresse des Kommunikationspartners dauerhaft lokal gespeichert. Unter Linux erfolgt z. B. der Eintrag im homeVerzeichnis des Nutzers und zwar im Verzeichnis .ssh in der Datei known_hosts. Danach
wird die Nutzerauthentifikation durchgeführt.
7.5. NETZWERKDIENSTE FÜR VERTEILTE SYSTEME
A:
Client
VNC
B:
Server
Port
Port
5900
5900
Client
VNC
77
VNC
Server
Port
Port
5900
5900
5900
5900
SSH
VNC
SSH
22
22
verschlüsselte sichere Verbindung
unverschlüsselte unsichere Verbindung
Abbildung 7.11: Teilbild A: unsichere VNC-Verbindung über das Internet
Teilbild B: Eine VNC-Verbindung wird über eine SSH-Verbindung sicher durch
das Internet getunnelt.
78
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
2. Der hostkey ist bekannt und stimmt mit dem für den Kommunikationspartner lokal gespeicherten Schlüssel überein:
Der Verbindungsaufbau wird mit der Nutzerauthentifikation fortgesetzt.
3. Der hostkey stimmt nicht mit dem für den Kommunikationspartner gespeicherten Schlüssel
überein:
Der Verbindungsaufbau wird mit einer Warnmeldung abgebrochen.
Neben der Nutzerauthentifikation per Login und Passwort bietet SSH noch die Möglichkeit der
Verwendung von Schlüsselpaaren. Diese bestehen aus einem privaten und einem öffentlichen
Schlüssel. Sie werden unter Linux z. B. mit dem Programm ssh-keygen erzeugt. Soll die
Authentifikation mittels Schlüsselpaar bewerkstelligt werden, muss auf dem Rechner, zu
dem die Verbindung aufgebaut werden soll, der öffentliche Schlüssel hinterlegt werden. In
einem challenge-response-Verfahren weist sich der Client gegenüber dem Server aus. Dabei
verschlüsselt der Server Nachrichten mit dem öffentlichen Schlüssel des Clients, die nur der
Client mit seinem privaten Schlüssel wieder entschlüsseln kann.
Lässt man nur die Authentifikation mittels Schlüsselpaaren zu, ergibt sich dadurch ein Sicherheitsvorteil. Sogenannte Wörterbuchattacken, bei denen die Inhalte ganzer Wörterbücher
als Login/Passwort-Kombinationen per Skript automatisch durchprobiert werden, können bei
diesem Verfahren komplett unterbunden werden.
Bei der Authentifikation mit Schlüsselpaaren werden diese meist mit einer Art Passwort, der sogenannten Passphrase geschützt. Es können jedoch auch Schlüsselpaare ohne Passphrase erzeugt
werden. Das ermöglicht die Automatisierung von Prozessen, welche die SSH für die Verbindung
zwischen zwei Rechnern nutzen.
Implementationen von SSH
SSH ist für alle gängigen Betriebssysteme verfügbar. Für Linux gibt es z. B. das Paket OpenSSH
[175], für Microsoft Windows z. B. die Programme putty [92] und WinSCP [227]. Für die Verwendung auf Embedded Systems stehen spezielle Versionen mit verringertem Funktionsumfang
wie z. B. DropBear [14] zur Verfügung.
Viele Netzwerkdienste, die eigentlich unverschlüsselt arbeiten, können auch in einem Modus
betrieben werden, in dem sie SSH zur gesicherten Datenübertragung benutzen. Beispiele
dafür sind das Tool rsync zum Abgleich von Datenbeständen verschiedener Rechner und das
Versionsverwaltungssystem subversion.
SSH ist eine Client-Server-Applikation, d. h. eine SSH-Verbindung kann nur von einem SSHClient zu einem SSH-Server aufgebaut werden. Der SSH-Server “lauscht” dazu auf Port 22
(Portzuweisungen erfolgen durch die Internet Assigned Numbers Authority (IANA) [107].).
7.5. NETZWERKDIENSTE FÜR VERTEILTE SYSTEME
79
7.5.6 rsync
Das Tool rsync dient zum Abgleich von Dateien, Verzeichnissen oder ganzen Verzeichnisbäumen
zwischen verschiedenen Rechnern. Es ist unter [189] als Quellcode verfügbar. Dort gibt es auch
fertige Installationspakete für zahlreiche Betriebssysteme. Bei den meisten Linux-Distributionen
gehört rsync zum Standard-Installationsumfang.
Die große Stärke dieses Tools besteht darin, dass bei Unterschieden zwischen zwei Dateien
nicht die komplette aktuellere Version übertragen werden muss, sondern nur die wirklich unterschiedlichen Teile über das Netzwerk transportiert werden. Damit ist es möglich, in kürzeren
Zeitintervallen Messdaten von einem Messrechner mit einem zentralen Server abzugleichen,
ohne dadurch signifikant mehr Datenverkehr zu erzeugen als beim einmaligen Kopieren eines
fertigen Tagesdatensatzes. Bei Internetverbindungen mit hohen Kosten für das Transfervolumen
(z. B. Verbindungen per GPRS) wird dadurch häufiges Abgleichen überhaupt erst bezahlbar.
rsync kann als eigenständiges Programm im Client-Server-Betrieb genutzt werden. Dazu muss
auf einem System ein rsync-Serverprozess laufen. Der Datentransfer erfolgt dann auf Port
873. Für Embedded Systems, die per Internet vernetzt sind, ist diese Betriebsart jedoch eher
ungeeignet, weil dazu auf beiden Seiten der entsprechende Port verfügbar sein muss. Dazu
ist oftmals eine Umkonfiguration der Firewalls notwendig und es können außerdem auch
Sicherheitsrisiken bei der Authentifizierung entstehen.
Für verteilte Monitoring- und Regelungssysteme bietet sich die Nutzung von rsync zusammen
mit der im Abschnitt 7.5.5 beschriebenen Secure Shell SSH an. Die Kommunikation zwischen
zwei Rechnern, deren Datenbestände synchronisiert werden sollen, erfolgt dann über eine verschlüsselte Verbindung auf Port 22, dem SSH-Standardport. Außer dem Einspielen der Installationspakete von rsync und SSH sind keine weiteren Konfigurationsarbeiten notwendig.
Da rsync ein Kommandozeilen-Tool ist, lässt es sich sehr gut automatisiert betreiben, indem es
z. B. aus Shell-Skripten heraus aufgerufen wird. Prinzipiell wird rsync immer mit dem Befehl
rsync <Quelle> <Ziel>
aufgerufen. Über zusätzliche Parameter kann das Verhalten von rsync hinsichtlich der Behandlung von symbolischen Links, Dateiattributen, Zeitstempeln, etc. beeinflusst werden. Folgendes
Beispiel soll das verdeutlichen. Der Aufruf
rsync -e ssh -a -z messrechner:/home/data /Messdaten
bewirkt, dass alle Dateien aus dem Verzeichnis /home/data, die auf dem Rechner messrechner
liegen, in das Verzeichnis Messdaten auf dem abfragenden Rechner kopiert werden. Durch den
Schalter -e ssh wird die Verbindung über eine Secure Shell abgewickelt. Der Schalter -a steht für
80
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
archive mode und bewirkt eine Beibehaltung von symbolischen Links, Dateiattributen, Schreibrechten usw. Um das Transfervolumen über das Netzwerk zu minimieren, kann mit -z eine Datenkompression für die Übertragung per Netzwerk eingeschaltet werden.
7.6 Überwachung von Verteilten Systemen
Beim Betrieb von verteilten Monitoring- und Regelungssystemen muss der Zustand der einzelnen Rechner möglichst automatisch überprüft werden, um Ausfälle schnell zu registrieren und
die Ausfallzeiten damit zu minimieren. Entsprechend der zur Verfügung stehenden NetzwerkBandbreite und Leistungsfähigkeit der verteilten Rechner können dazu ganz verschiedene Tools
zum Einsatz kommen. Bei leistungsstarken Systemen und schnellen Internet-Verbindungen, deren Datenvolumina nicht begrenzt sind, können verteilte Systeme komfortabel mit Tools wie
Smokeping und Nagios kontrolliert werden.
7.6.1 Smokeping
Abbildung 7.12: Screenshot vom Webinterface der Überwachungssoftware Smokeping
Die Qualität der Internetverbindung zwischen dem Überwachungsrechner und
einem zu überwachenden Server wird über einen Zeitraum von 3 h dargestellt.
7.6. ÜBERWACHUNG VON VERTEILTEN SYSTEMEN
81
Zur Überwachung der generellen Erreichbarkeit eines Rechners werden oftmals ICMP Echo
Requests (ICMP = Internet Control Message Protocol) – auch Ping-Pakete genannt – eingesetzt, die der angefragte Rechner jeweils mit einem ICMP Echo Reply beantwortet. Dieser
Mechanismus wird von der Software Smokeping genutzt, um die Verfügbarkeit und die Güte
von Internetverbindungen zu messen. Zu diesem Zweck schickt Smokeping in regelmäßigen
Zeitabständen jeweils 20 ICMP Echo Requests, zählt die mit einem ICMP Echo Reply beantworteten Pakete und misst die Zeit zwischen Anfrage und Antwort. Die dabei ermittelten Daten
werden grafisch aufbereitet und per Webserver zur Verfügung gestellt. Zusätzlich können bei
der Feststellung eines kompletten Verbindungsausfalls automatisch Emails an Wartungspersonal
verschickt werden.
In Abb. 7.12 ist ein von Smokeping generierter Report für einen Zeitraum von drei Stunden abgebildet. Die durchschnittliche Laufzeit der ICMP-Pakete betrug ca. 120 ms. Über die Farbgebung
wird im Diagramm die Anzahl der beantworteten ICMP Echo Requests kodiert. Im Normalfall
gehen keine Pakete verloren, was durch die Farbe Grün dargestellt wird. Die Farbe Rot deutet
auf einen Verlust aller verschickten ICMP-Pakete hin. Solche Paketverluste können mit einem
Abbruch und Wiederaufbau der PPPoE-Verbindung des DSL-Zugangs, über den der überwachte
Rechner an das Internet angebunden ist, erklärt werden.
7.6.2 Nagios
Abbildung 7.13: Screenshot vom Webinterface der Monitoring-Software Nagios
82
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Nagios [165] ist eine Open-Source-Monitoring-Software, die zur Überwachung von Rechnern
und Netzwerken dient. Es überprüft die Verfügbarkeit von Netzwerkdiensten (z. B. HTTP, SSH,
PING) auf entfernten Rechnern über das Netzwerk. Beim Ausfall der Dienste werden per Email
oder SMS Warnmeldungen verschickt. Neben den automatisch verschickten Warnmeldungen
bietet Nagios auch noch ein Web-Interface (siehe Abb. 7.13), das die Zustände der überwachten
Rechner und die überwachten Dienste auf diesen Rechnern darstellt. Der Betrieb von Nagios ist
aber nur bei größeren Netzwerken sinnvoll, da die Einrichtung der Software sehr komplex und
zeitintensiv ist.
7.6.3 Sonderlösungen für per GSM vernetzte Systeme
Bei verteilten Systemen, die per GSM (siehe Abschnitt 7.3.1) vernetzt sind, besteht die Notwendigkeit, sehr sparsam mit dem übertragenen Datenvolumen umzugehen, da sonst sehr schnell
erhebliche Kosten entstehen. Tools wie das in Abschnitt 7.6.2 beschriebene Nagios sind nicht
mit dem Ziel entwickelt worden, sparsam mit dem Transfervolumen umzugehen, so dass sie für
die Überwachung von GSM-basierten Systemen eher ungeeignet sind. Außerdem fehlen ihnen
für die Überwachung der GSM-Funktionalität einige notwendige Funktionen.
Wenn die im Abschnitt 7.6.1 beschriebenen ICMP-Pakete häufig verschickt werden, können
schnell mehrere Megabyte an Transfervolumen entstehen. Bei GSM-Verbindungen, die nach
Daten-Transfervolumina abgerechnet werden, muss die Anzahl der Anfragen stark begrenzt werden. Sinnvoll ist z. B. das “Anpingen” aller verteilten Rechner in einem 24 h-Intervall. Dabei kann
eine jeweils definierte Anzahl von Paketen geschickt werden. Anschließend wird ausgewertet,
wie viele dieser Pakete beantwortet wurden und welche Laufzeiten dabei auftraten. Rückschlüsse auf die Verbindungsqualität werden damit möglich.
mobil-rda033
mobil-rda034
mobil-rda035
mobil-rda036
mobil-rda048
(5
(5
(5
(5
(5
tries,timeout:100s)
tries,timeout:100s)
tries,timeout:100s)
tries,timeout:100s)
tries,timeout:100s)
0% percent!
100.00% percent!
100.00% percent!
100.00% percent!
60.00% percent!
Abbildung 7.14: Auszug aus einem automatisch generierten Report über die Erreichbarkeit von
per GSM vernetzten Systemen
Dialcounter überwacht kostenträchtige Mobilfunk-Verbindungsaufbauten
GSM-Verbindungen haben nur eine begrenzte Lebensdauer, da die Mobilfunkprovider im
Normalfall mindestens alle 24 h die Verbindung abbauen. Beim Verbindungsaufbau müssen
zwischen dem mobilen System und der Basisstation Informationen ausgetauscht werden (Authentifikation, IP-Adressen, Gateway, DNS-Server, . . . ). Das bei diesem Informationsaustausch
7.6. ÜBERWACHUNG VON VERTEILTEN SYSTEMEN
83
anfallende Datenvolumen ist kostenpflichtig. Solange nur alle 24 h eine Neueinwahl stattfinden
muss, ist das unproblematisch. Es kann jedoch passieren, dass durch technische Probleme beim
Betrieb der mobilen Station deutlich häufiger Neueinwahlen durchgeführt werden. Z. B. fanden
bei einem Monitoringsystem für eine Wärmepumpe durch Probleme bei der Spannungsversorgung über einen längeren Zeitraum ständig Neueinwahlen in ca. 15minütigen Intervallen statt.
Das dabei angefallene Transfervolumen verursachte innerhalb eines Monats Kosten in Höhe von
ca. 1.200 e.
Um ungewollt häufige Einwahlen eines mobilen Systems frühzeitig registrieren zu können und
damit das Entstehen solch hoher Kosten zu verhindern, wurde für das im Kapitel 15.1 beschriebene Monitoringsystem die Software DialCounter entwickelt. Sie wird auf dem System installiert,
welches sich per GSM ins Internet einwählt, und zählt alle Einwahlversuche und erfolgreichen
Einwahlen. Die nicht erfolgreichen Versuche müssen mitgezählt werden, da – je nach Fehlerursache – auch bei diesen Versuchen ein Datentransfervolumen anfallen kann. DialCounter loggt
die Anzahl der Einwahlversuche lokal in einem File mit. Eine Mess-Software auf dem System
kann den Inhalt dieses Files über einen zusätzlichen Messkanal ebenfalls mitloggen. Anhand der
Messdatensätze lässt sich die zeitliche Verteilung der Einwahlen nachvollziehen. Mit Hilfe dieser Verteilung kann die Fehleranalyse stark vereinfacht werden.
Das vom DialCounter erzeugte File oder die Messdatenfiles werden regelmäßig von einem zentralen Server abgerufen. Auf diesem Rechner läuft eine zusätzliche Software, die die Dateien
analysiert. Sie verschickt bei einem zu schnellen Ansteigen der Anzahl der Einwahlen bzw. Einwahlversuche eine Alarm-Email an das Wartungspersonal. Diese Email-Funktionalität wurde
bewusst nicht in DialCounter integriert, da zum Versand von Emails auf jedem mobilen Knoten
eine Email-Software laufen müsste. Das würde unnötig Systemressourcen beanspruchen.
Kontrolle des übertragenen Datenvolumens
Verträge zur Datenübertragung über Mobilfunknetze beinhalten in der monatlichen Grundgebühr oftmals ein Freivolumen an zu übertragenden Daten. Wird dieses überschritten, fallen pro
übertragene Datenmenge zusätzliche Gebühren an. Die Abrechnung erfolgt überlicherweise
in 10KB-Blöcken. In der Regel wird ein Vertrag gewählt, bei dem das Freivolumen dem
erwarteten Transfervolumen angepasst ist. Die übertragene Datenmenge sollte während des
Betriebs in regelmäßigen Intervallen überprüft werden (z. B. alle 24 h), um Überschreitungen
des Freivolumens zu vermeiden.
Bei der Nutzung des Betriebssystems Linux kann der Inhalt der Datei /proc/net/dev oder
die Ausgabe des Tools ifconfig genutzt werden, um das bisher angefallene Transfervolumen
einer Internetverbindung zu ermitteln. ifconfig dient normalerweise dazu, Netzwerkinterfaces
zu konfigurieren (z. B. Einstellung von IP-Adresse, Gateway, etc.). Ruft man ifconfig ohne
zusätzliche Parameter auf, wird die aktuelle Konfiguration der Netzwerkinterfaces ausgegeben.
In der Abbildung 7.15 ist die Ausgabe von ifconfig für das Netzwerk-Device ppp0 eines
Embedded Systems dargestellt. Der Name ppp0 für das Device kommt dadurch zustande,
84
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
dass Netzwerkverbindungen per GSM über das Point-to-Point Protocol (PPP) abgewickelt
werden. In der letzten Zeile der Ausgabe wird hinter RX bytes die Anzahl der empfangenen
und hinter TX bytes die Zahl der gesendeten Bytes angegeben. Mittels einfacher Shell-Skripten
kann die Ausgabe von ifconfig gefiltert werden, so dass nur noch die RX- und TX-Volumina
ausgegeben werden. Diese können dann von einer ohnehin vorhandenen Mess-Software als
weiterer Messkanal mitgeloggt werden. Ein zentraler Server, der die Messdaten von vielen
per GSM angebundenen Systemen abruft, kann die Daten hinsichtlich der Transfervolumina
überprüfen und bei drohender Überschreitung von Freikontingenten per Email einen Alarm
auslösen.
ppp0
Link encap:Point-to-Point Protocol
inet addr:192.168.36.20 P-t-P:192.168.254.254
Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1200 Metric:1
RX packets:17271 errors:0 dropped:0 overruns:0 frame:0
TX packets:17402 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1669221 (1.5 MiB) TX bytes:1763408 (1.6 MiB)
Abbildung 7.15: Ausgabe von ifconfig für eine PPP-Verbindung per GSM
In der Abbildung 7.16 ist die Verteilung des übertragenen Datenvolumens für eines der im Kapitel 15.1 beschriebenen Messsysteme innerhalb eines Tages dargestellt. Die blaue Kurve stellt
das gesendete Datenvolumen, die schwarze das empfangene Datenvolumen dar. Der kontinuierliche Anstieg beider Kurven über den Tag entsteht durch die Synchronisation der Systemzeiten
der Embedded Systems mit einem Zeitserver (siehe Abschnitt 7.5.3) sowie durch ICMP-EchoRequests zur Kontrolle der GSM-Verbindung. In der Abbildung ist um ca. 00:30 Uhr ein sprunghafter Anstieg der gesendeten Datenmenge zu verzeichnen. Zu dieser Zeit hat der Abrufrechner
das Messdatenfile des Vortages abgerufen. Die kleinen Anstiege beider Kurven um ca. 14:00 Uhr
entstehen durch die Überprüfung der Funktion des Messsystems mittels Fernwartung.
7.6. ÜBERWACHUNG VON VERTEILTEN SYSTEMEN
85
Abbildung 7.16: Verteilung des innerhalb von 24 h von einem Messsystem per GSM übertragenen Datenvolumens
86
KAPITEL 7. STAND DER INTERNET-TECHNIK FÜR VERTEILTE SYSTEME
Kapitel 8
Sicherheitsaspekte bei der Nutzung von
Internet-Technologie
Grundsätzlich muss die Übertragung von Daten über das Internet als unsicher gelten. Da kein
Einfluss darauf genommen werden kann, über welche Zwischenstationen Daten von einem Rechner durch das Internet zu einem anderen Rechner gelangen, muss davon ausgegangen werden,
dass die Daten unterwegs abgehört und/oder verfälscht werden können. Es gibt deshalb zahlreiche Technologien, mit denen die unsichere Übertragung per Internet abgesichert werden kann.
Neben den Gefahren bei der Datenübertragung stellen Angriffe aus dem Internet auf Rechner
mit Internetzugang ein sehr großes Gefahrenpotential dar. Diesen Gefahren kann mit entsprechenden Sicherheitstechnologien wie Virtual Private Networks, Firewalls, verschlüsselten
Netzwerkdiensten und sicheren Netzwerkstrukturen begegnet werden.
“Sicherheit ist kein Zustand, sondern ein Prozess.” (Wau Holland, CCC [100], † 29. Juli 2001).
Sicherheitsmechanismen funktionieren nur dann zuverlässig, wenn sie stetig überprüft und der
aktuellen Bedrohungslage angepasst werden. Diese Aufgabe kann mit Hilfe von Sicherheitstools
stark vereinfacht werden.
8.1 Virtual Private Network (VPN)
Eine der sicherlich elegantesten Varianten zur Absicherung von Datenverkehr über das Internet
ist die Verwendung von Virtual Private Networks (VPNs). VPNs verbinden Rechner oder lokale
Netzwerke so miteinander, dass diese scheinbar Mitglieder eines gemeinsamen Netzwerks
sind (siehe Abb. 8.1). Dazu wird zwischen den Rechnern/Netzwerken eine verschlüsselte und
damit abgesicherte Verbindung aufgebaut, über die Kommunikation auf allen Ports transparent
weitergeleitet wird. Die Rechner, die ein VPN nutzen, arbeiten wie in einem lokalen Netzwerk,
in dem sie untereinander ohne Einschränkungen kommunizieren können. VPNs bieten sich
87
88
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
immer dann an, wenn die Rechner mehr als einen Dienst zur Kommunikation benutzen. Je
größer die Anzahl der Dienste ist, desto größer wird ohne ein VPN der Aufwand, sie alle gegen
Abhören und Einbrüche abzusichern. Bei mehreren Diensten lohnt sich deshalb sehr schnell ein
VPN.
lokales Netzwerk
ungesicherte Internetverbindung
VPN−Tunnel
VPN−Router
VPN−Router
Abbildung 8.1: Zwei lokale Netzwerke werden per VPN-Tunnel über das Internet verbunden.
Grundsätzlich sind zur Erstellung eines VPNs drei Dinge notwendig:
Ausreichende Bandbreite: Durch die Verschlüsselung des VPNs entsteht zusätzlich zum Datenverkehr ein Overhead, der im Vergleich mit einer unverschlüsselten Verbindung zu mehr
Bandbreitenbedarf führt. Eine DSL-Verbindung ist für ein VPN auf alle Fälle ausreichend.
Je nach Anwendung funktionieren VPNs auch über Mobilfunkverbindungen recht gut.
Verschlüsselung: Die Kommunikation innerhalb des VPN kann unverschlüsselt ablaufen. Es
muss deshalb dafür gesorgt werden, dass die Daten, die durch den VPN-Tunnel fließen,
auf dem Weg durch das unsichere Internet keinesfalls abgehört werden können. Eine starke
Verschlüsselung ist deshalb unabdingbar.
Zertifikate (digitale Ausweise): Damit nicht unbefugt auf ein per VPN gesichertes Netzwerk
zugegriffen werden kann, müssen sich Clients beim VPN-Zugangsrechner authentifizieren.
Die einfachste Lösung stellen dabei Passwörter dar. Sicherer sind jedoch Zertifikate, da sie
8.1. VIRTUAL PRIVATE NETWORK (VPN)
89
in beide Richtungen funktionieren. Der Client legitimiert sich beim VPN-Zugangsrechner
und umgekehrt.
Es gibt zahlreiche VPN-Technologien. Die gebräuchlichsten sind:
1. IP Security (IPSec)
IPSec ist im kommerziellen Bereich eine der am häufigsten anzutreffenden VPN-Varianten.
Zahlreiche Hardwarekomponenten wie z. B. VPN-Router sind auf dem Markt verfügbar.
Alle in großem Maßstab eingesetzten Betriebssysteme (Windows XP, Windows2000, aktuelle
Microsoft-Serverbetriebssysteme, Linux, Mac OS X, etc.) unterstützen IPSec von Haus aus. Es
gibt sehr viele verschiedene Implementationen von IPSec und gleichzeitig eine Vielzahl von
anzupassenden Parametern. Damit ist eine problemlose Interoperabilität zwischen verschiedenen IPSec-Stacks kaum möglich. Die Sicherheitsexperten Bruce Schneier und Niels Ferguson
schreiben in ihrem Paper A Cryptographic Evaluation of IPsec [191] dazu:
“IPSec is too complex to be secure.”
Ein weiteres Problem bei der Nutzung dieser Technologie ist der Wechsel von IP-Adressen des
IPSec-Servers bei Einwahlverbindungen. Oft entstehen dadurch Verbindungsabbrüche.
2. OpenVPN
OpenVPN [177] ist eine plattformübergreifende Technik, die es für alle wichtigen Betriebssysteme gibt. Sie bietet sich deshalb auch für mit Linux arbeitende Embedded Systems an. Im Gegensatz zu IPSec funktioniert sie auch bei wechselnden IP-Adressen. Dazu ist allerdings die Nutzung
eines dynamischen DNS-Dienstes notwendig (siehe Abschnitt 7.4.2). Die Basistechnologien von
OpenVPN sind Secure Socket Layer (SSL) und Transport Layer Security (TLS) (siehe Abschnitt
8.2). SSL wird z. B. bei der verschlüsselten Übertragung von Webseiten genutzt. TLS ist der
Nachfolger von SSL. Die von OpenVPN genutzte OpenSSL-Bibliothek [176] ist sehr gut auf
Sicherheitslücken untersucht worden. OpenVPN bietet ähnlich viele Parameter wie IPSec. Die
meisten davon werden jedoch auf Standardwerte gesetzt, so dass sich die Konfiguration deutlich
einfacher gestaltet als bei IPSec.
3. Point-to-Point Tunneling Protocol (PPTP)
PPTP ist seit der Einführung von Windows 98 OSR 2 Bestandteil aller Mitglieder der Microsoft
Windows-Familie. Es ist deshalb sehr stark verbreitet. Mittlerweile gibt es für alle wichtigen Betriebssysteme PPTP-Clients. Für Linux ist PPTP erst seit der Kernel-Version 2.6.14 verfügbar,
da Teile der Verschlüsselung (Microsoft Point-to-Point Encryption MPPE) lange irrtümlich als
patentgeschützt galten.
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
90
Anfänglich enthielt die PPTP-Implementierung der Firma Microsoft [156] sicherheitskritische
Fehler (siehe [192]), die aber mittlerweile behoben sind. Ein Schwachpunkt blieb jedoch
erhalten: Die Stärke der Verschlüsselung von PPTP hängt direkt von der Länge des gewählten
Passworts ab.
Ein weiterer Nachteil von PPTP ist die Notwendigkeit von zwei Socket-Verbindungen auf unterschiedlichen Ports. Dadurch wird die Konfiguration von Firewalls für PPTP erschwert.
4. Hamachi
Hamachi ist eine der am einfachsten zu konfigurierenden VPN-Varianten und deshalb bei privaten Anwendern sehr beliebt. Es ist jedoch nur für die Microsoft Windows-Betriebssystemfamilie,
für Mac OS X und für Linux verfügbar. VPN-Router und andere Netzwerk-Hardware, die Hamachi beherrschen, existieren nicht. Ein dedizierter VPN-Server wird im Gegensatz zu anderen
VPN-Varianten nicht benötigt, da die entsprechenden Leistungen sowie die Authentifikation von
Servern des Hamachi-Anbieters Applied Networking [98] bereitgestellt werden. Wegen der Abhängigkeit von den Servern dieser Firma verbietet sich eine Nutzung von Hamachi für professionelle Anwendungen. Außerdem kann nicht nachvollzogen werden, wie die Hamachi-Software
funktioniert, da sie nicht quelloffen ist. Es kann deshalb nicht garantiert werden, dass der Anbieter keinen Einblick in die per VPN übertragenen Daten hat.
Bewertung
In Tabelle 8.1 sind die Eigenschaften der verschiedenen VPN-Varianten zusammengefasst.
Open Source
Bestandteil des Betriebssystems
Komplexität der Konfiguration
Interoperabilität verschiedener
Implementationen
Von Servern Dritter abhängig
Aufwand der Firewall-Konfiguration
Sicherheit
IPSec
ja
ja
hoch
OpenVPN
ja
ja
mittel
PPTP
ja
ja
mittel
Hamachi
nein
nein
gering
gering
nein
mittel
groß
hoch
nein
gering
groß
mittel
nein
groß
mittel
ja
gering
gering
Tabelle 8.1: VPN-Varianten und ihre Eigenschaften
IPSec bietet sich dann an, wenn auf beiden Seiten der Verbindung gleiche Betriebssysteme
arbeiten oder IPSec-fähige Netzwerkhardware des gleichen Herstellers verwendet wird. Da
diese Hardware jedoch zusätzliche Kosten verursacht, empfiehlt es sich eher OpenVPN zu
nutzen.
8.2. SECURE SOCKET LAYER (SSL) UND TRANSPORT LAYER SECURITY (TLS)
91
OpenVPN kann ohne Zusatzhardware direkt auf einem Embedded System ausgeführt werden.
Es funktioniert auch bei wechselnden IP-Adressen, die bei den für verteilte Regelungssysteme
oft genutzten DSL- und GSM-Verbindungen häufig vorkommen.
PPTP ist zwar einfach einzurichten, kann aber beim Einsatz einiger Firewalls Probleme bereiten
und hat bei unachtsamer Konfiguration Sicherheitslücken. Es besitzt keine wesentlichen Vorteile,
die für seine Verwendung sprechen.
Hamachi scheidet für einen Einsatz in verteilten Regelungssystemen wegen der Abhängigkeit
von fremden Servern aus.
8.2 Secure Socket Layer (SSL) und Transport Layer Security
(TLS)
SSL wurde ursprünglich von der Firma Netscape [167] für den sicheren Transport von Daten
durch das Internet entwickelt. 1996 wurde SSL an die Internet Engineering Task Force IETF
[116] übergeben. Das Ergebnis der Standardisierung wurde 1999 unter dem Namen Transport
Layer Security (TLS) veröffentlicht (siehe dazu auch RFC2246 [123]). SSL und TLS sind in
großen Teilen identisch. TLS ist etwas sicherer als SSL, da es mit stärkerer Verschlüsselung arbeitet. Die Sicherheit wird bei SSL und TLS durch die Nutzung dreier verschiedener Mechanismen
gewährleistet:
Privatheit der Verbindung: Mittels symmetrischer Verschlüsselungsverfahren wird sichergestellt, dass der Klartext der übertragenen Daten nur den beiden Kommunikationspartnern
zugänglich ist.
Zuverlässigkeit der Verbindung: Durch den Einsatz von Message Authentifikation Codes
(MACs), einer Art Fingerprint-Verfahren, wird sichergestellt, dass die übertragenen Daten auf dem Übertragungsweg nicht modifiziert wurden.
Authentifikation: Die Nutzung von Zertifikaten stellt sicher, dass der jeweilige Kommunikationspartner auch derjenige ist, mit dem kommuniziert werden soll.
SSL und TLS bauen sichere Verbindungen zwischen zwei Sockets auf. Sie stellen den Anwendungen, die sie nutzen wollen, bestimmte Netzwerk-Funktionen zur Verfügung. Von zahlreichen
Protokollen zur Datenübertragung im Internet gibt es Versionen, die SSL oder TLS zur Absicherung benutzen, z. B. https zur Übertragung von HTML-Dokumenten und smtps zur Übertragung
von Emails. Außerdem ist SSL/TLS die Basistechnologie des im Abschnitt 8.1 beschriebenen
OpenVPN.
92
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
8.3 Secure Shell (SSH)
Die Secure Shell stellt weitere Mechanismen zur gesicherten Datenübertragung zur Verfügung.
Diese wurden im Abschnitt 7.5.5 detailliert beschrieben.
8.4 Firewalls
Firewalls dienen dazu, den Datenverkehr zwischen zwei Netzwerken (z. B. dem Internet
und einem privaten Netzwerk hinter einem DSL-Zugang) zu kontrollieren. Dabei sind die
beiden Netzwerke im typischen Fall unterschiedlich vertrauenswürdig, so dass unbefugte
Zugriffe vom weniger vertrauenswürdigen Netz in das vertrauenswürdigere unterbunden
werden müssen. Rechner eines verteilten Netzwerks, die über das Internet kommunizieren,
müssen auf alle Fälle durch Firewalls vor unbefugtem Zugriff aus dem Internet geschützt werden.
Es gibt ganz verschiedene Arten von Firewalls, von denen einige nachfolgend beschrieben werden sollen.
Einfache Paketfilter: Die Funktionsweise eines einfachen Paketfilters ähnelt der eines Routers.
Er betrachtet jeweils einzelne IP-Pakete und entscheidet, wie mit dem entsprechenden Paket verfahren werden soll. Dazu analysiert der einfache Paketfilter die Inhalte der Header
des entsprechenden IP-Pakets. Anhand eines Regelwerks wird dann entschieden, wie mit
dem Paket weiter verfahren wird. Es gibt drei Möglichkeiten, wie ein Paket behandelt werden kann:
• Das Paket wird angenommen und an den Empfänger weitergeleitet.
• Das Paket wird angenommen und verworfen. Das erscheint dem Absender des Pakets
so, als ob das Paket nie angekommen wäre.
• Das Paket wird abgelehnt. Es wird eine Fehlermeldung an den Absender geschickt.
Bei der Erstellung des Regelwerks für einen einfachen Paketfilter ist Vorsicht geboten. Der
Filter sollte zunächst so konfiguriert werden, dass jeglicher Datenverkehr durch die Firewall unterbunden wird. Danach wird der Filter so umkonfiguriert, dass nur Datenverkehr
für wirklich benötigte Dienste die Firewall passieren können.
Bsp.: Ein Regelungssystem soll aus dem Internet per Secure Shell (siehe Abschnitt 7.5.5)
erreichbar sein. Andere Netzwerk-Dienste sollen außen vor bleiben. Das Regelwerk des
Paketfilters muss dann so gestaltet sein, dass Anfragen für das Regelungssystem auf Port
22 (dem Port des SSH-Servers) durchgeleitet werden und auch Antworten des Regelungssystems wieder passieren dürfen. Alle anderen Pakete werden verworfen.
8.4. FIREWALLS
93
Zustandsorientierte Paketfilter arbeiten ebenfalls mit einem Regelwerk. Sie betrachten aber
nicht einzelne Pakete, sondern orientieren sich an Verbindungen. Dazu stellt die Firewall
dynamische Tabellen mit den aktuell bestehenden Verbindungen auf. Nach dem Aufbau
einer Verbindung werden alle weiteren Pakete dieser Verbindung automatisch zugelassen.
Bsp.: Rechner A will ein Dokument vom Webserver des Rechners B abfragen. Dazu baut
Rechner A eine Verbindung zu Rechner B auf und fordert das Dokument an. Die Firewall
lässt automatisch zu, dass Rechner B das angeforderte Dokument an Rechner A sendet.
Die Firewall würde aber einen Verbindungsaufbau von Rechner B zu Rechner A unterbinden.
Durch die Möglichkeit einer Bewertung von Verbindungen ist die Erstellung von Regelwerken für zustandsorientierte Paketfilter sehr viel einfacher zu bewerkstelligen als für
einfache Paketfilter. Außerdem entsteht durch zustandsorientierte Paketfilter zusätzliche
Sicherheit.
Der große Nachteil beider Arten von konventionellen Paketfiltern ist ihre Unfähigkeit, bösartige Inhalte im Datenstrom (z. B. Viren) zu erkennen. Deshalb wurden spezielle Paketfilter entwickelt, die sich nicht nur die Header der Pakete, sondern auch deren Inhalte anschauen (Inspection oder auch deep Inspection). Die Erkennung einer bösartigen Verwendung von Protokollen ist jedoch sehr aufwändig, da praktisch jede mögliche Abweichung
einzeln durch den Paketfilter abgefangen werden muss.
Application-Layer-Firewall (Proxy): Proxies filtern auf der Basis von Applikationsprotokollen. Der Proxy implementiert dazu das Applikationsprotokoll und kann deshalb seine korrekte Verwendung überprüfen. Abweichungen vom Applikationsprotokoll werden nicht
zugelassen. Der Proxy funktioniert dabei als eine Art man in the middle. Anfragen eines
Clients gehen nicht, wie in Abb. 8.2, Teilbild A, direkt an einen Server, sondern werden
an den Proxy gerichtet (Teilbild B). Der Proxy prüft die Anfrage auf Korrektheit und stellt
selbst eine inhaltsgleiche Anfrage an den Server. Die Antwort des Servers wird dann vom
Proxy ebenfalls auf Korrektheit geprüft und dann an den Client weitergeleitet. Eine direkte
Kommunikation zwischen Client und Server findet nicht statt.
Während Paketfilter universell funktionieren, muss für jedes Applikations-Protokoll ein
eigener Proxy implementiert werden, was sich sehr aufwändig gestalten kann. Bei sehr
komplexen Protokollen ist die Implementierung eines Proxies manchmal gar nicht möglich. Außerdem ist die Protokollanalyse sehr rechenintensiv, so dass es sehr schwierig sein
kann, eine ausreichend schnelle Verarbeitung der Datenströme durch einen Proxy zu gewährleisten.
Viele Hardware-Router besitzen heute Firewall-Funktionalität (Paketfilter). Dabei wird die
in Abschnitt 7.4.1 beschriebene Network Address Translation oft auch von der Firewall
durchgeführt. Generell empfiehlt es sich, die Firewall immer auf einer von den zu schützenden
Rechnern unabhängigen Hardware zu betreiben. Das kann ein Hardware-Router, eine separate
Hardware-Firewall oder auch ein dedizierter Rechner mit Firewall-Software sein.
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
94
A:
Anfrage
Antwort
Client
Web−Server
B:
"man in the middle"
Client
Anfrage
Anfrage
Antwort
Antwort
Proxy
Web−Server
Abbildung 8.2: A: Direkte Kommunikation zwischen Client und Webserver
B: Nutzung eines Proxies zur Kommunikation zwischen Client und Webserver
So genannte personal Firewalls sind zwar besser als gar keine Firewall, stellen aber keine
Alternative zu einer dedizierten Firewall dar, da sie, zumindest für abgehende Verbindungen,
recht leicht zu umgehen sind.
8.5 Sicherheitsaspekte bei Netzwerkstrukturen
Die Entwicklung von Betriebssystemen und Anwendungsprogrammen ohne Sicherheitslücken
ist praktisch nicht möglich. Oftmals werden diese Lücken erst entdeckt, wenn die Software
schon längere Zeit im Einsatz ist. Bei vielen Systemen kann die Software im laufenden Betrieb
aktualisiert werden (siehe dazu auch Abschnitt 7.5.4), um Sicherheitslücken zu schließen.
Bei großen Netzwerken mit vielen Rechnern ist das jedoch mit sehr viel Aufwand verbunden. Außerdem besteht immer die Gefahr, durch Updates die Funktionalität der Systeme zu
beeinträchtigen. Aus diesen Gründen werden bei Produktivsystemen (z. B. bei Rechnern in
der Leitwarte eines Stromversorgers) Sicherheitsupdates oft gar nicht oder nur in sehr großen
Zeitintervallen (z. B. einmal im Jahr) eingespielt.
Je nach genutzter Speichertechnologie ist es bei Embedded Systems im laufenden Betrieb oft
gar nicht möglich, Teile der Software auszutauschen, um Sicherheitslücken zu schließen. Die
dafür notwendigen Ausfallzeiten und der erforderliche Arbeits- und Zeitaufwand für Updates
haben häufig zur Folge, dass gar keine Updates eingespielt werden.
8.5. SICHERHEITSASPEKTE BEI NETZWERKSTRUKTUREN
95
Neben der installierten Software hat die Netzwerkstruktur, über die Rechner mit dem Internet
verbunden sind, einen maßgeblichen Einfluss darauf, wie leicht sie angegriffen werden können.
Im Folgenden sollen beispielhaft einige Netzwerkstrukturen unter dem Aspekt der Sicherheit
betrachtet werden.
Direkter Internetzugriff
Eine direkte Verbindung mit dem Internet (siehe Abb. 8.3) stellt den sicherheitstechnisch
ungünstigsten Fall dar. Bei einer solchen Netzwerkstruktur sind alle Rechner Angriffen aus
dem Internet direkt ausgesetzt. Sie müssen deshalb fortwährend softwaretechnisch aktualisiert
werden. Die Anzahl der vom Internet aus sichtbaren Dienste muss möglichst gering gehalten
werden. Je mehr Dienste sichtbar sind, um so mehr mögliche Sicherheitslücken in diesen
Diensten können genutzt werden, um das System anzugreifen. Alle Dienste sollten daher per
Secure Socket Layer (SSL) genutzt oder per Secure Shell (SSH) abgesichert werden. Zusätzlich
ist die Nutzung einer lokalen Firewall sehr zu empfehlen.
Abbildung 8.3: Rechner mit direktem Zugang zum Internet
Die Kommunikation zwischen den direkt mit dem Internet verbundenen Rechnern muss auf
alle Fälle verschlüsselt abgewickelt werden. Bei unverschlüsselter Kommunikation wäre es sehr
einfach, die Zugangsdaten zu den Rechnern aus dem Datenstrom herauszulesen, so dass die
Systeme komplett kompromittiert wären. Die Systemressourcen der Rechner eines verteilten
Systems müssen so ausgelegt sein, dass diese Rechner neben ihren eigentlichen Aufgaben auch
noch die Firewall-Funktionalität und die Verschlüsselung bewältigen können.
Mit Rechnern, die nicht updatefähig sind, darf eine solche Infrastruktur nicht genutzt werden, da
sie viel zu leicht angreifbar wären.
96
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
Absichern von Rechnern mit Firewall-Routern
Bei verteilten Netzwerken aus Embedded Systems ist es sinnvoll, Sicherheitsaufgaben möglichst
nicht von den Kleinrechnern, sondern von dedizierten Geräten wie z. B. Firewall-Routern
durchführen zu lassen.
Bei einer Netzwerkstruktur mit Firewall-Routern (siehe Abb. 8.4) schotten diese Geräte die
Embedded Systems vor direkten Zugriffen aus dem Internet weitgehend ab. Die Router werden
so konfiguriert, dass sie Anfragen aus dem Netz nur an wirklich notwendige Dienste (wie z. B.
Secure Shell SSH) weiterleiten (vergleiche Port Forwarding, siehe Abschnitt 7.4.1).
Die Kommunikation muss auch bei dieser Netzwerkstruktur aus den schon weiter oben genannten Gründen verschlüsselt erfolgen, so dass entsprechend leistungsstarke Embedded Systems
benötigt werden.
Auch bei einer Netzwerkstruktur mit Firewall-Routern haben alle Embedded Systems direkten
Zugang zum Internet.
Router
mit
Firewall
Abbildung 8.4: Rechner mit Internet-Zugang per Firewall-Router
Bsp.: Einige der im Abschnitt 15.1 beschriebenen Messsysteme sind per DSL an das Internet
angebunden, da an ihren Standorten eine Anbindung per GPRS nicht möglich ist. Die verwendeten Embedded Systems sind nicht leistungsstark genug, um neben ihren Messaufgaben zusätzlich
noch eine Firewall-Funktionalität zu bewerkstelligen. Deshalb kommen Firewall-Router vom Typ
WRT54GS der Firma Linksys [147] zum Einsatz. Aus dem Internet sind die Embedded Systems
nur per Secure Shell auf Port 22 erreichbar. Anfragen auf alle anderen Ports werden durch die
Firewalls der Router abgeblockt.
8.5. SICHERHEITSASPEKTE BEI NETZWERKSTRUKTUREN
97
Virtuelle Netzwerke mit VPN-Routern
Kommen VPN-Router zum Einsatz (VPN = Virtual Private Network, siehe Abschnitt 8.1),
spannen diese zwischen den verteilten Rechnern ein virtuelles Netz auf (siehe Abb. 8.5). Die
Kommunikation zwischen den Routern wird dabei automatisch verschlüsselt abgewickelt.
Daraus ergibt sich der Vorteil, dass die Embedded Systems die zu übertragenden Daten nicht
selber verschlüsseln müssen. Sie können deshalb entsprechend leistungsarm ausgelegt werden.
Die Datenübertragung zwischen den Routern durch das Internet ist bei dieser Struktur sehr
sicher. Ein lokaler Angreifer kann aber den Datenverkehr zwischen Embedded Systems und
Routern leicht abhören, da dieser unverschlüsselt stattfindet. Eine solche Netzwerkstruktur ist
deshalb nur sinnvoll, wenn man einen unbefugten lokalen Zugriff sicher ausschließen kann.
VPN−Router
verschlüsselte Verbindung
unverschlüsselte Verbindung
Abbildung 8.5: Netzwerk aus per VPN verbundenen Rechnern
Da bei einer Netzwerkstruktur mit VPN-Routern keine Netzwerkdienste der Embedded Systems
direkt im Internet sichtbar sind, können die Embedded Systems auch nicht direkt angegriffen
werden. Sie haben allerdings auch keinen direkten Zugriff auf das Internet.
Bei einer Netzwerk-Struktur mit VPN-Routern müssen alle Sicherheitslücken der VPN-Router
sehr schnell geschlossen werden, da ein Einbruch in diese Router aufgrund der unverschlüsselten
Kommunikation zwischen den Embedded Systems gleich das komplette Netzwerk kompromittieren würde.
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
98
Bsp.: Für ein Photovoltaik-Monitoring-System des Fraunhofer ISE werden UMTS-Router mit
VPN-Funktion genutzt. Die von den Embedded Systems im Feld aufgenommenen Messdaten der
PV-Anlagen werden über einen OpenVPN-Tunnel regelmäßig in die Datenbank eines zentralen
Abrufservers übertragen.
Trusted Network
Befinden sich alle Embedded Systems eines verteilten Systems in einem dedizierten Netzwerk,
kann man von einem trusted network ausgehen (siehe Abb. 8.6). Die Embedded Systems können
in diesem Netzwerk unverschlüsselt kommunizieren, ohne dass Angriffe aus dem Internet zu befürchten sind. Angriffe können nur von innerhalb des Netzes durchgeführt werden. Soll aus dem
Internet ein Zugang zu dem Netzwerk geschaffen werden, kann dies mit einem Zugangsrechner
bewerkstelligt werden. Dieser Rechner führt kein Routing zwischen dem Internet und dem Netz
der Embedded Systems durch. Dadurch kann weder aus dem Internet auf die Embedded Systems,
noch umgekehrt direkt zugegriffen werden. Der Zugangsrechner dient nur als “Sprungbrett”. Ein
Zugriff auf die Embedded Systems kann aus dem Internet nur indirekt erfolgen, indem sich der
Nutzer zunächst auf dem Zugriffsrechner einloggt. Erst von dort aus kann er eine Verbindung zu
den Embedded Systems aufbauen. Der “wunde Punkt” dieser Netzwerkstruktur ist der Zugangsrechner. Alle Sicherheitslücken dieser Maschine müssen schnellstmöglich gepatched werden, da
von ihr aus das Netzwerk der Embedded Systems sehr einfach angegriffen werden kann.
Switch
Zugangsrechner
mit Firewall
Abbildung 8.6: Trusted network hinter einem Zugriffsrechner mit Firewall
Bsp.: Bei dem im Abschnitt 15.2 beschriebenen Power Flow and Power Quality Management
System trennt ein zentraler Server mit zwei Netzwerk-Interfaces das Regelungs-Netzwerk vom
Internet. Ein Zugriff auf die Embedded Systems des Regelungssystems ist nur über diesen Rechner möglich.
8.6. SICHERHEITSTOOLS
99
Angriffe aus dem lokalen Netzwerk
Angriffe aus dem lokalen Netzwerk können bei allen Netzwerkstrukturen stattfinden. Sie können
nur durch einen physikalischen Zugangsschutz unterbunden werden.
Weitere Sicherheitsrisiken ergeben sich durch die gemeinsame Nutzung von lokalen Netzwerken
durch verschiedene Nutzergruppen (z. B. gemeinsame Nutzung eines lokalen Netzwerks
durch Verwaltungsrechner und Produktionsanlagen). Dabei besteht immer die Gefahr, dass die
Mitglieder einer Nutzergruppe die Infrastruktur einer anderen Nutzergruppe angreifen.
Viele Systemadministratoren gehen davon aus, dass lokale Netzwerke auf der Basis von Ethernet, wie in Abschnitt 7.1.1 beschrieben, abhörsicher sind. Netzwerk-Switches bauen zwischen
den Kommunikationspartnern individuelle Verbindungen auf, so dass der Datenverkehr an
anderen Switch-Ports nicht mitgelesen werden kann. Mittels sogenanntem ARP-Spoofing (ARP
= Address Resolution Protocol) lassen sich Datenströme jedoch in lokalen Netzwerken sehr
einfach umleiten und können dann mitgelesen werden [84].
Netzwerk-Switches speichern die Zuordnungen zwischen Switch-Ports und MAC-Adressen
der angeschlossenen Netzwerkgeräte in einem speziellen Speicherbereich. Durch Überfluten
dieses Speichers mit sehr vielen MAC-Adressen schalten viele Switches in einen HUB-Modus
um. Bei diesem Modus werden alle vom Switch empfangenen Datenpakete an allen Ports
ausgegeben. Dadurch kann der komplette Netzwerkverkehr des Switches an einem einzelnen
Port “mitgelesen” werden. Ein Tool zum Überfluten von Switches mit zufälligen MAC-Adressen
ist z. B. macof aus der Netzwerk-Tool-Sammlung dsniff [159].
Für wirklich sicherheitskritische Anwendungen (z. B. die Steuerung von Produktionsrobotern) ist
es deshalb sehr wichtig, dass für sie Netzwerke betrieben werden, die von anderen Netzwerken
physikalisch getrennte sind. Ist das nicht möglich, sollte wenigstens mit Hilfe von Virtuellen
LANs (VLANs) eine logische Trennung der Netze stattfinden.
8.6 Sicherheitstools
Bei der Konfiguration von Netzwerken, Firewalls und Serverdiensten schleichen sich leicht
Fehler ein. Deshalb besteht die Notwendigkeit, Netzwerke und Rechner regelmäßig auf ihre Sicherheit zu überprüfen. Verschiedene Sicherheitstools ermöglichen eine effiziente Überprüfung
der Netzwerksicherheit.
Portscanner wie z. B. nmap [168] dienen dazu, offene Netzwerkports zu entdecken und unnötig
im Netzwerk sichtbare Netzwerkdienste zu finden. Da jeder unnötig sichtbare Netzwerkdienst
ein potentielles Angriffsziel ist, sollten Netzwerke regelmäßig mit Portscannern auf unnötige
Dienste untersucht werden.
100
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
Mit Vulnerability Scannern wie z. B. nessus [166] lassen sich Rechner weitgehend automatisiert
auf bekannte Sicherheitslücken in Betriebssystemen und Serverdiensten untersuchen.
Netzwerksniffer, wie z. B. Wireshark [228] protokollieren alle Datenpakete mit, die die Netzwerkkarte des Rechners “liest”. Sie ermöglichen damit eine sehr detaillierte Analyse des gesamten Netzwerkverkehrs.
8.6.1 Rechtliche Schwierigkeiten bei der Nutzung von Sicherheitstools
Mit dem 41. Strafrechtsänderungsgesetz zur Bekämpfung der Computerkriminalität (41.
StrÄndG) vom 7. 8. 2007 (siehe Bundesgesetzblatt Jahrgang 2007, Teil I, Nr. 38, Bonn, 10. August 2007 [33]) wurde der 15. Abschnitt des Strafgesetzbuches - Verletzung des persönlichen
Lebens- und Geheimbereichs (§§ 201 - 210) um den § 202c - den sogenannten Hackerparagraphen - erweitert:
§ 202c
Vorbereiten des Ausspähens und Abfangens von Daten
(1) Wer eine Straftat nach § 202a oder § 202b vorbereitet,
indem er
1. Passwörter oder sonstige Sicherungscodes, die
den Zugang zu Daten (§ 202a Abs. 2) ermöglichen,
oder
2. Computerprogramme, deren Zweck die Begehung einer
solchen Tat ist,
herstellt, sich oder einem anderen verschafft, verkauft,
einem anderen überlässt, verbreitet oder sonst zugänglich
macht, wird mit Freiheitsstrafe bis zu einem Jahr oder mit
Geldstrafe bestraft.
(2) § 149 Abs. 2 und 3 gilt entsprechend.
Die Gesetztesänderung war schon im Vorfeld von den beiden Branchenverbänden Bundesverband Informationswirtschaft Telekommunikation und neue Medien e. V. (BITKOM) [25] und
Verband der deutschen Internetwirtschaft e. V. (eco) [64], sowie vom Chaos Computer Club e.
V. (CCC) [40] stark kritisiert worden. So schreibt z. B. der CCC in seiner Pressemitteilung vom
25. September 2006 [41]:
Der Gesetzentwurf wird die Arbeitsgrundlagen von Sicherheitsberatern und Netzwerkexperten
unter Strafe stellen. Bereits der Besitz und die Verbreitung von Werkzeugen zur Netzwerkanalyse und zur Aufdeckung von Sicherheitslöchern in Rechnersystemen sollen strafbar werden. Die
Arbeit der Sicherheitsexperten wäre damit kaum mehr möglich und von ungerechtfertigter Kriminalisierung bedroht.
8.6. SICHERHEITSTOOLS
101
"Dieser Gesetzentwurf wird nicht gegen Computerkriminalität helfen. Stattdessen werden der ITSicherheitsbranche dringend benötigte Werkzeuge zur Aufdeckung von Schwachstellen aus der
Hand geschlagen", sagte CCC-Sprecher Andy Müller-Maguhn. "Die Vorstellungen des Gesetzgebers zeugen von einer ausgeprägten Unkenntnis der technischen Vorgehensweisen. Testangriffe
zum Auffinden von Sicherheitslöchern sind für die IT-Sicherheit wie Crashtests für die Autoindustrie. Niemand käme auf die Idee, Crashtests zu verbieten", kommentierte der CCC-Sprecher.
Verboten werden sollen sogenannte ’Hackertools’ und damit zugleich die öffentliche Diskussion
von Sicherheitslücken. Der allgemein akzeptierte Standard zur Überprüfung der Sicherheit eines
Systems ist es aber, dieses mit Angriffswerkzeugen zu testen (sog. penetration testing), um die
dabei gefundenen Lücken schließen zu können.
Mit der nun rechtskräftigen Gesetzesänderung bewegen sich die Nutzer von “Hackertools” stark
am Rande der Legalität. Dennoch kann auf die Nutzung solcher Tools nicht verzichtet werden,
da eine effiziente Suche nach Sicherheitslücken auf einzelnen Rechnern und in Netzwerken
ohne diese Tools kaum möglich ist.
Eine weitere Folge der Gesetztesänderung ist der komplette Entwicklungsstop oder die Verlagerung der Entwicklung von Securitytools ins Ausland. Die Entwicklung des WLAN-Scanners
KisMAC [142] wurde z. B. aus Deutschland in die Schweiz verlagert [143].
102
KAPITEL 8. SICHERHEITSASPEKTE BEI DER INTERNET-NUTZUNG
Kapitel 9
Online-Visualisierung mit Java-Applets
und XML-RPC
Die Entwicklung und Wartung von verteilten Monitoring- und Regelungssystemen erfordert den
Online-Zugriff auf aktuelle Messdaten. Meist ist das jedoch nur sehr eingeschränkt möglich.
Messdaten liegen bestenfalls in Textform (American Standard Code for Information Interchange
(ASCII)) auf dem Messrechner vor.
Bei Arbeiten an einem Brennstoffzellen-Monitoring-System des Fraunhofer ISE entstand die
Idee, Messdaten online per Internet mit Hilfe von Anlagenschemata zu visualisieren. Durch
eine solche Darstellung kann der Betrachter die Bedeutung der Messwerte einfach und schnell
erfassen und damit einen Überblick über den jeweiligen Systemzustand gewinnen.
Bei der Realisierung einer entsprechenden Visualisierungssoftware sollten verschiedenen Anforderungen erfüllt werden:
1. Visualisierungen von Messdaten sollten auf unterschiedlichen Plattformen, wie z. B. Windows- und Linux-Systemen, funktionieren.
2. Das Betrachten von Online-Visualisierungen sollte ohne großen Installationsaufwand
möglich sein.
3. Die Grafiken der Visualisierungen sollten sich in Abhängigkeit von den Messdaten ändern
können (z. B. Farben in Abhängigkeit von gemessenen Temperaturen).
4. Die Programmierung der Visualisierungen sollte ohne kostenpflichtige Software realisierbar sein.
5. Das System sollte auch in Umgebungen funktionieren, in denen ein Internetzugriff nur mit
Hilfe von Proxies und geschützt durch Firewalls stattfinden kann.
Verschiedene Programmiersprachen wurden auf ihre Eignung bezüglich der o. g. Anforderungen
untersucht. Die Ergebnisse sind in der Tabelle 9.1 zusammengefasst.
103
104
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
JavaApplikation
läuft im Webbrowser
nein
plattformunabhängig
ja
freie Entwicklungstools
ja
Grafik frei programmierbar ja
ohne Installation nutzbar
nein
JavaApplet
ja
ja
ja
ja
ja
JavaScript Flash C/C++Applikation
ja
ja
nein
ja
ja
nein
ja
nein ja
nein
ja
ja
ja
ja
nein
Tabelle 9.1: Programmiersprachen und ihre Eignung für die Online-Visualisierung von Messdaten
Es zeigte sich, dass Webbrowser-basierte Software am besten geeignet ist, um auf verschiedenen
Plattformen eingesetzt zu werden und den Installationsaufwand zu minimieren. Die Anforderungen hinsichtlich der freien Grafikprogrammierung und kostenloser Entwicklungstools werden
am besten von der Programmiersprache Java erfüllt. Die Kommunikation zwischen Java-Applet
im Webbrowser und der Quelle der zu visualisierenden Daten können prinzipiell über jede
Art von Internetverbindung abgewickelt werden. Da die Visualisierungssoftware aber auch in
Umgebungen mit Web-Proxy und Firewall funktionieren soll, muss die Kommunikation auf
Basis des Hypertext Transfer Protocols (HTTP) stattfinden.
Für die Kommunikation per HTTP standen die Entwicklung eines eigenen proprietären Protokolls zur Messdatenübertragung, die Nutzung von XML-Rmote Procedure Calls (XML-RPC)
oder des Simple Object Access Protocol (SOAP) zur Wahl. Die wichtigsten Eigenschaften der
hier genannten möglichen Protokolle sind in Tabelle 9.2 dargestellt.
funktioniert zusammen mit
Proxies und Firewalls
Webserver-Software nutzbar
Softwarebibliotheken vorhanden
Komplexität
Client-Software verfügbar
Funktionalität einfach erweiterbar
Socketverb.
proprietär
HTTP
XML-RPC
proprietär
SOAP
nein
nein
nein
gering
nein
nein
ja
ja
nein
gering
nein
nein
ja
ja
ja
hoch
ja
ja
ja
ja
ja
mittel
ja
ja
Tabelle 9.2: Eignung von Optionen zur Datenübertragung zwischen Visualisierungs-Client und
-Server
Aufgrund des Vorhandenseins von gebrauchsfertigen Softwarebibliotheken für Java-Applets, der
Möglichkeit zur Nutzung von Webserver-Software zur Kommunikationsabwicklung und der im
9.1. VISUALISIERUNGS-CLIENT-SOFTWARE
105
Vergleich zu SOAP geringeren Komplexität wurde XML-RPC für die Messdatenübertragung zwischen Visualisierungssoftware und Datenquelle gewählt. Es wurde ein Programmpaket entwickelt, das aus einer Client- und einer Serversoftware besteht, die per XML-RPC miteinander
kommunizieren. Die Serversoftware stellt die aktuellen Messwerte mit Hilfe eines Webservers
zur Verfügung. In einem Webbrowser wird die Client-Software ausgeführt. Sie ruft die Daten in
regelmäßigen Zeitabständen vom Webserver ab und stellt sie grafisch dar [20].
9.1 Visualisierungs-Client-Software
Zur Realisierung der Client-Software wurde die von der Firma Sun Microsystems [202]
entwickelte Programmiersprache Java [137] eingesetzt. Java geht auf ein Projekt aus dem
Jahr 1991 zur Entwicklung einer einfachen und plattformunabhängigen Sprache für Geräte der
Konsumelektronik zurück. 1996 wurden die Internet-Browser der Firmen Netscape (Netscape)
und Microsoft (Internet Explorer) so gestaltet, dass sie Java-Programme aus dem Netz laden
und im Browser ausführen konnten. Diese Programme, so genannte Applets, haben den Vorteil,
dass sie lokal auf dem Rechner laufen, auf dem der Webbrowser ausgeführt wird [77][149].
Die aufwändigen Berechnungen, die für die grafische Darstellung von Messwerten notwendig
sind, übernimmt somit komplett der Client-Rechner, so dass die Ressourcen des Servers, der die
Messdaten liefert, geschont werden.
Ein weiterer Vorteil der Nutzung von Java-Applets für die Visualisierung ist die Plattformunabhängigkeit dieser Lösung. Java ist für alle gängigen Internet-Browser (Mozilla Firefox
[162], Microsoft Internet Explorer [156], Opera [178], Apple Safari [11]) in Form von Plugins
verfügbar. Voraussetzung für die Visualisierung ist ein installiertes Java Runtime Environment
(JRE). Diese Software gibt es für alle weit verbreiteten Betriebssysteme (Microsoft Windows,
Linux, Apple MacOS, etc.) unter [137] zum Download.
Basis der Visualisierung ist ein Hintergrundbild. Es stellt schematisch die Anlage dar, deren
Messwerte visualisiert werden sollen. Das Hintergrundbild kann mit jedem beliebigen Grafikprogramm erstellt werden. Für die Visualisierung muss es entweder als JPG- oder GIF-Datei
vorliegen.
Bei der Darstellung im Webbrowser wird das Hintergrundbild mit Messwerten und grafischen
Elementen überlagert. Dabei können die überlagernden Elemente wahlweise auch transparent
dargestellt werden, so dass das Hintergrundbild durchscheint.
Mit der Nutzung von Double Buffering wird verhindert, dass die Darstellung im Webbrowser bei
der Aktualisierung von Messwerten flackert. Beim Double Buffering wird der Bildschirminhalt
mit Hilfe von zwei verschiedenen Speicherbereichen gerendert und dargestellt. Während der
erste Speicherbereich auf dem Bildschirm dargestellt wird, werden alle Aktualisierungen
der Messwerte und grafischen Elemente im zweiten Speicherbereich durchgeführt. Ist diese
Aktualisierung abgeschlossen, wird für die Darstellung auf den zweiten Speicherbereich umge-
106
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
schaltet, usw. Die nächsten Aktualisierungen finden dann im ersten Speicherbereich statt. Sind
sie dort abgeschlossen, wird wieder umgeschaltet, usw. Durch dieses Verfahren finden keine
Aktualisierungen direkt auf dem Bildschirm statt, wodurch ein Flackern des Bildes entstehen
würde, sondern es werden immer nur komplette Speicherinhalte auf den Bildschirm geschrieben.
Ein Screenshot der Online-Visualisierung eines Wärmepumpensystems im Webbrowser Mozilla
Firefox ist in Abb. 9.1 dargestellt. Das Java-Applet mit dem Anlagenschema wird in ein
html-Dokument eingebettet, das neben dem Applet auch noch andere Elemente enthalten
kann. Beim dargestellten Beispiel wird das Java-Applet durch Logos und eine Überschrift im
html-Dokument ergänzt.
9.2 Server-Software für die Visualisierung
Die Serversoftware, die die Messdaten zur Verfügung stellt, wurde in der Programmiersprache
C implementiert. C-Compiler gibt es für viele verschiedene Betriebssysteme und Rechnerarchitekturen, so dass die Software leicht auf neue Zielsysteme portiert werden kann. Ein weiterer
Vorteil von C ist der im Vergleich zu Java sehr geringe Ressourcenverbrauch, wodurch die
Serversoftware auch für Embedded Systems geeignet ist.
Die Datenübertragung zwischen Client-Rechner und Server erfolgt mit dem Hypertext Transfer
Protocol (HTTP). Dieses Protokoll wird im Internet für die Übertragung von Webseiten
genutzt, so dass die Datenübertragung zwischen Server und Visualisierungs-Client auch über
Web-Proxys und durch die meisten Firewalls hindurch funktioniert.
Die Client-Software für die Visualisierung kommuniziert nicht direkt mit der VisualisierungsServer-Software. Die HTTP-Datentransfers werden auf der Server-Seite von einer WebserverSoftware durchgeführt, die die Daten per Common Gateway Interface (CGI) an die
Visualisierungs-Server-Software weitergibt. Das CGI ist eine standardisierte Schnittstelle,
die bei sehr vielen verschiedenen Webserver-Programmen verfügbar ist. Je nach Anwendungsfall können ganz unterschiedliche Webserver-Pakete genutzt werden. Sollen z. B. viele Personen
gleichzeitig Zugriff auf die Visualisierung haben, kommt eine leistungsstarke WebserverSoftware (z. B. das Programm Apache der Apache Software Foundation [10]) auf einem
dedizierten schnellen Server zum Einsatz. Wenn nur wenige Personen gelegentlich auf die Visualisierung zugreifen sollen und nur ein leistungsschwaches Embedded System zum Ausliefern
der Messdaten zur Verfügung steht, wird eine ressourcenschonende Webserver-Software (z. B.
der tiny/turbo/throttling HTTP-Server THTTPD der ACME Laboratories [2]) eingesetzt.
Für die Kommunikation zwischen Server und Visualisierungs-Client werden Extensible Markup
Language Remote Procedure Calls (XML-RPC, Spezifikation siehe [239]) genutzt. Dabei
handelt es sich um eine Kombination aus dem oben schon angeführten HTTP und der Extensible
Markup Language (XML) [238].
9.2. SERVER-SOFTWARE FÜR DIE VISUALISIERUNG
107
Abbildung 9.1: Online-Visualisierung einer Wärmepumpenanlage per Java-Applet im Webbrowser Mozilla Firefox
108
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
XML-RPC ermöglicht es, über das Netzwerk auf einem entfernten Rechner Methoden aufzurufen
und deren Rückgabewerte zum aufrufenden Rechner zurück zu übertragen. Die Methodenaufrufe und Rückgabewerte können dabei aus komplexen Strukturen mit ganz verschiedenen
Datentypen bestehen.
Um XML-RPC-Funktionalität auch auf Embedded Systems mit stark eingeschränkten
Ressourcen nutzen zu können, wurde für die hier vorgestellte Java-Visualisierung eine XMLRPC-Server-Software in ANSI-C implementiert, die mit Ausnahme von Binärdaten alle in
der XML-RPC-Spezifikation [239] festgeschriebenen Datentypen unterstützt und trotzdem nur
einen Footprint von unter 15 KB hat. Diese Software dient als Visualisierungs-Server-Software.
Sie liest die Messdaten des Messprozesses und gibt sie über die weiter oben beschriebene
CGI-Schnittstelle an den Webserver weiter.
Die XML-RPC-Infrastruktur kann neben der Visualisierung parallel auch für andere Zwecke genutzt werden (z. B. zur Reglerparametrierung, zum Setzen von Stellwerten und zur Fernwartung),
da sie geeignet ist, beliebige Daten an Programme auf dem Serversystem weiterzuleiten.
9.3 Ablauf des Visualisierungsprozesses
Wenn eine Online-Visualisierung im Webbrowser betrachtet werden soll, laufen folgende Prozesse ab (siehe auch Abb. 9.2 ):
1. Nach
der
Eingabe
des
Uniform
Ressource
Locator
(URL)
(Bsp.:
http://www.meinevisualisierung.de) lädt der Webbrowser ein HTML-Dokument vom
Webserver.
2. Im HTML-Dokument ist ein Tag für den Aufruf des Java-Applets enthalten (z. B. <applet code=”meinevisu” archive=”meinevisu.jar” height=”606”
width=”872”></applet></div>). Dieses Applet wird vom Webserver der Maschine
(z. B. einem Embedded System) heruntergeladen, welche die zu visualisierenden Daten
liefern soll.
3. Der Webbrowser startet die Java-Ausführungsumgebung (Java Runtime Environment JRE)
und führt in dieser das Java Applet aus.
4. Das Hintergrundbild für die Visualisierung wird vom Java-Applet auf dem Bildschirm
dargestellt.
5. Das Java-Applet generiert die XML-Daten für einen XML-RPC und schickt die Anfrage
per HTTP an den Webserver des Embedded Systems.
6. Der Webserver erkennt aus der Anfrage, dass er die XML-Daten per CGI an die
Visualisierungs-Server-Software weiterleiten soll und führt diesen Auftrag aus.
9.3. ABLAUF DES VISUALISIERUNGSPROZESSES
109
7. Die Visualisierungs-Server-Software (XML-RPC-CGI) wertet die XML-Daten aus (Parsing), erkennt, dass die Methode zur Abfrage von Messwerten aufgerufen werden soll,
und startet den Abrufprozess.
8. Der Abrufprozess fragt beim Messprozess die entsprechenden Messdaten ab (z. B. per
Socket-Verbindung auf der lokalen Maschine) und übergibt sie an den XML-Generator,
der sie XML-RPC-konform “einpackt” und an den Webserver zurückgibt.
9. Der Webserver schickt die Daten per HTTP zurück zum Java-Applet.
Die Prozesse fünf bis neun werden fortlaufend wiederholt, solange das Java-Applet im Webbrowser läuft. In der Praxis ergeben sich dabei meist Update-Intervalle zwischen zehn Sekunden
und einer Minute.
Visualisierungs−Client
Java−fähiger
Webbrowser
Embedded Linux
System im Feld
Webserver (thttpd)
XML−RPC−CGI
Visualisierungsdaten
Abbildung 9.2: Schema einer Visualisierung der Messdaten eines Embedded Systems mittels JAVA-Applet und XMLRPC
Sollen viele Rechner gleichzeitig die Messdaten visualisieren oder sollen gleichzeitig die Messdaten von mehreren Messrechnern visualisiert werden, empfiehlt es sich, einen leistungsfähigen
Rechner als Webserver zwischen Clients und Messrechner zu schalten (siehe Abb. 9.3).
110
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
Visualisierungs−Client
Java−fähiger
Webbrowser
Webserver
Embedded Linux
System im Feld
Webserver (Apache)
Prozess−Server
XML−RPC−CGI
Visualisierungsdaten
Embedded Linux
System im Feld
Abbildung 9.3: Schema einer Visualisierung der Messdaten mehrerer Embedded Systems mit
Hilfe eines zentralen Webservers
9.4. GRAFISCHE ERSTELLUNG VON ONLINE-VISUALISIERUNGEN
9.4 Software zur grafischen
Visualisierungen
Erstellung
von
111
Online-
Bei der Online-Visualisierung mit Java-Applets und XML-RPC werden die zu visualisierenden
Messdaten vom Webserver in Form von Label-Wert-Paaren (Bsp.: T_ruecklauf: 13.3) an das
Java-Applet übertragen. Das Label bezeichnet dabei jeweils den Messkanal. Für jeden einzelnen
Messkanal wird ein Parametersatz erzeugt, der in den Java-Code integriert wird. Im Vergleich zu
einer Konfiguration mit einem Config-File können neue grafische Elemente und Anpassungen an
spezielle Visualisierungsaufgaben im Programmcode auf diese Weise schneller realisiert werden.
Da die Konfiguration der Visualisierungen direkt im Java-Code sehr unübersichtlich ist und von
Personen ohne Programmier-Kenntnisse gar nicht bewerkstelligt werden kann, wurde ein grafischer Editor zur Erstellung der Visualisierungen entwickelt. Ein Screenshot des Editor-GUI ist
in Abb.9.4 dargestellt.
Abbildung 9.4: Editor zum Erstellen von Java-Online-Visualisierungen
112
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
Die Erstellung einer Visualisierung beginnt mit dem Laden des Hintergrundbildes in den Editor.
Das geschieht über den File-Dialog mit der Option Load Image. Das Bild wird daraufhin im
Editor dargestellt.
Für jeden zu visualisierenden Messkanal muss zunächst ein Dataobject erzeugt werden. Im Insert-Menü gibt es dazu die Option Dataobject. Das Objekt wird auf dem Hintergrundbild mit der
Maus positioniert. Jedes Dataobject besteht aus einer Textzeile und einem dazugehörigen Rahmen. Im Properties-Dialog (siehe Abb. 9.4, linkes Fenster) können die Eigenschaften von Text
und Rahmen eingestellt werden. Folgende Parameter können eingestellt werden:
xpos
ypos
width
height
value
sensorlabel
description
unit
sensordatalabel
stringdata
Schriftart
size
Xoff
Yoff
drawable
usefillcolor
wrap
fillcolor
fontcolor
datatype
shapetype
X-Position des Textrahmens
Y-Position des Textrahmens
Breite des Textrahmens
Höhe des Textrahmens
Wert, der beim Start der Visualisierung dargestellt werden soll, bevor
Messdaten vorliegen
Bezeichnung des Messwertes in der Visualisierung (z. B. T_außen)
Beschreibung des Messkanals
Einheit des Messwertes (z. B. m3 )
Bezeichnung des Messkanals
Text, der beim Start der Visualisierung dargestellt werden soll
Drop-Down-Menü für die Schriftartenwahl
Schriftgröße
X-Position des Textes im Textrahmen
Y-Position des Textes im Textrahmen
Schalter legt fest, ob Textrahmen mit einer vom Messwert abhängigen
Füllfarbe hinterlegt wird
Schalter legt fest, ob Textrahmen mit der durch fillcolor definierten
Farbe gefüllt wird
Schalter legt fest, ob Text zwischen Label und Wert umgebrochen wird
Füllfarbe des Textfeldes
Schriftfarbe
Behandlung der Messdaten als String oder Float (Floats werden auf eine
Nachkommastelle gerundet)
Form des Textrahmens (Rechteck oder Polygonzug)
Textrahmen können mit der Maus ausgewählt und verschoben werden. Das gerade ausgewählte
Dataobject wird durch einen gelben Rand gekennzeichnet. Es kann mit dem Properties-Dialog
bearbeitet werden.
Nach dem Beenden des Parametrierens kann die Konfiguration gespeichert werden. Mit der Option Export to Java-Code im File-Menü wird die Konfiguration in den Java-Programmcode der Visualisierung exportiert. Der Programmcode wird dann kompiliert und das kompilierte Programm
9.4. GRAFISCHE ERSTELLUNG VON ONLINE-VISUALISIERUNGEN
113
(die Java-Class-Files) wird in ein jar-Archiv eingepackt. Das jar-Archiv enthält außerdem das
Hintergrundbild für die Visualisierung. Es kann in dieser Form direkt auf einem Webserver abgelegt werden. Ein zusätzlich beim Code-Export vom Editor generiertes html-Dokument, das ein
Tag zum Aufruf des jar-Archivs enthält, kann auch auf dem Webserver hinterlegt werden, um
die Visualisierung gleich zu testen.
114
KAPITEL 9. ONLINE-VISUALISIERUNG MIT JAVA-APPLETS UND XML-RPC
Kapitel 10
Visualisierung auf Mobiltelefonen mit dem
Wireless Application Protocol (WAP)
Die komfortabelste Zugriffsvariante auf aktuelle Messdaten eines vernetzten Monitoring- oder
Regelungssystems ist sicher die Online-Visualisierung auf einem Computerbildschirm (siehe
Abschnitt 9). Computer stehen jedoch nicht immer und überall zur Verfügung. Bei der Entwicklung eines Regelungssystems einer großen solarthermischen Anlage für ein Studentenwohnheim
im Freiburger Stadtteil Vauban sollte eine Kontrolle des Anlagenverhaltens auch ohne Computer
ermöglicht werden. Es wurde deshalb eine Visualisierung mittels Mobilfunktechnologie entwickelt.
10.1 WAP 1.x
Moderne Mobiltelefone beherrschen die Darstellung von Grafiken und Texten, die mit dem Wireless Application Protocol (WAP) zum Gerät übertragen werden. WAP wurde vom WAP-Forum
[220], welches heute Teil der Open Mobile Alliance [174] ist, entwickelt. Es soll Inhalte aus dem
Internet auch für die Nutzer von Mobiltelefonen zugänglich machen. WAP-Dokumente in den
1.x-Versionen werden in der Wireless Markup Language (WML) erstellt. Diese beruht auf XML
[238]. In Abb. 10.2 wird beispielhaft der WML-Code für die Darstellung des Anlagenverhaltens
der oben erwähnten Solaranlage abgebildet. Auf der linken Seite der Abbildung wird gezeigt,
wie ein Mobiltelefon das Dokument darstellt.
Die Software, die dieses WML-Dokument generiert, ermöglicht jederzeit den Zugriff auf die
Messwerte des Regelungssystems der Solaranlage. Das Dokument wird ca. einmal pro Minute
aktualisiert, so dass stets aktuelle Messdaten abgefragt werden können.
115
116
KAPITEL 10. VISUALISIERUNG AUF MOBILTELEFONEN MIT WAP
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="Solaranlage Vauban">
<p align="center">
<img src="logo.wbmp" alt="ise-logo"/>
</p>
<p><big>Solaranlage Vauban:</big></p>
<p><small>Datum: 09.01.06</small></p>
<p><small>Uhrzeit: 14:08:25 UTC</small></p>
<p><i>Beladegruppe:</i></p>
<p><small>W&#xE4;rmetauschereingang 8.93&#176;C</small></p>
<p><small>W&#xE4;rmetauscherausgang 7.72&#176;C</small></p>
<p><i>Entladegruppe:</i></p>
<p><small>W&#xE4;rmetauschereingang 8.39&#176;C</small></p>
<p><small>W&#xE4;rmetauscherausgang 8.74&#176;C</small></p>
<p><i>Speicher:</i></p>
<p><small>Temperatur oben: 13.44&#176;C</small></p>
<p><small>Temperatur unten: 10.14&#176;C</small></p>
</card></wml>
Abbildung 10.1: WML-Code der in Abb. 10.2 links dargestellten WAP-Seite
Abbildung 10.2: WAP 1.x-Seiten dargestellt auf einem Mobiltelefon
10.2. INFRASTRUKTUR ZUR AUSLIEFERUNG VON WAP-DOKUMENTEN
117
Bei der Entwicklung musste berücksichtigt werden, dass die erzielbaren Übertragungsbandbreiten in den Mobilfunknetzen deutlich geringer sind als im Internet. Eine weitere Einschränkung
ergibt sich aus den im Vergleich zu Bildschirmen von Personalcomputern sehr viel kleineren
Displays von Mobiltelefonen.
10.2 Infrastruktur zur Auslieferung von WAP-Dokumenten
WAP-Seiten werden wie normale Internetseiten auf herkömmlichen Webservern (z. B. apache
[10] oder Microsoft Internet Information Server [156]) im Internet abgelegt. Der Weg der
Daten vom Webserver zum Mobiltelefon wird in Abb. 10.3 beschrieben. Die Daten werden
zunächst in Form von WML-Dateien per Hypertext Transfer Protocol (http) über das Internet
zum WAP-Gateway des Mobilfunk-Providers übertragen. Der WAP-Gateway übersetzt die
Daten dann in eine komprimierte Form, die so genannte Wireless Markup Language Compiled
(WMLC), die mit wesentlich geringeren Übertragungsbandbreiten auskommt. In dieser Form
werden die Daten dann an eine Mobilfunk-Basisstation übertragen und von dort mit den
standardisierten Methoden zur Datenübertragung per Mobilfunk (Circuit Switched Data - CSD,
General Packet Radio Service - GPRS, etc.) zum Mobiltelefon gesendet.
Wenn, wie im Kapitel 9 beschrieben, schon ein Online-Visualisierung für eine Anlage realisiert
wurde, kann mit vergleichsweise kleinem Aufwand zusätzlich auch ein Zugang zu den Messdaten per WAP realisiert werden.
1
Webserver
WAP−
Gateway
0
GSM−
Basisstation
Mobil−
telefon
Abbildung 10.3: Übertragungsweg von WAP-Seiten vom Webserver zum Mobiltelefon
118
KAPITEL 10. VISUALISIERUNG AUF MOBILTELEFONEN MIT WAP
10.3 WAP 2.x
Im Jahr 2001 wurde von der Open Mobile Alliance [174] die Version 2.0 der WAP-Spezifikation
angekündigt (siehe [13]). Mehr Rechenleistung und größere Displays bei den Mobiltelefonen
sowie größere zur Verfüngung stehende Bandbreiten bei Mobilfunkverbindungen ermöglichten
die Integration zahlreicher neuer Features in den Standard. Während WAP 1.x nur Bilder mit
1 Bit Farbtiefe (schwarz-weiß) im Wireless Application Protocol Bitmap Format (WBMP)
unterstützte, können WAP 2.x-Dokumente auch farbige Bilder in den Dateiformaten Graphics
Interchange Format (GIF), JPG/JPEG (benannt nach der Joint Photographic Experts Group)
und Portable Network Graphics (PNG) enthalten. Grafiken in diesen Formaten lassen sich
mit allen herkömmlichen Bildbearbeitungsprogrammen einfach erzeugen. Außerdem können
Grafikbibliotheken wie z. B. die für viele Programmiersprachen verfügbare GDLIB [146]
genutzt werden, um Daten für die Darstellung auf einem Mobiltelefon grafisch aufzubereiten.
Im Rahmen eines Projekts des Fraunhofer ISE für ein Energieversorgungsunternehmen, bei dem
es um Smart-Metering und Feedbacksysteme ging, wurde die Software WAPplot entwickelt.
Das Programm erzeugt Balkendiagramme, die Verbräuche in Form von Viertelstundenwerten
für jeweils einen Tag darstellen. Die erzeugten JPG-Grafiken sind für die Darstellung auf
Mobiltelefonen optimiert. Sie sind jeweils nur 127 x 127 Punkte groß.
Die in Abb. 10.4 dargestellten Diagramme (links: Darstellung auf einem Mobiltelefon, rechts:
Originalbilder) wurden mit WAPplot erstellt. Sie zeigen für einen Privathaushalt den Stromverbrauch und die elektrische Leistungsaufnahme in Form von Viertelstundenwerten. Abgebildet
ist ein Zeitraum von 24 Stunden.
WAPplot ist ein in C programmiertes Kommandozeilen-Tool. Zu seiner Entwicklung wurde die
weiter oben erwähnte GDLIB [146] genutzt. Bei der Diagrammerstellung wird zunächst ein Hintergrundbild im JPG-Format benötigt. Da die GDLIB Transparenz unterstützt (Alphakanal), kann
das Hintergrundbild mit dem Diagramm so überschrieben werden, dass der Hintergrund durchscheint. Der Programmaufruf von WAPplot erfolgt mit folgender Kommandozeile:
WAPplot <title> <ordinate> <file> <scale> <background> <outfile>
Dabei haben die einzelnen Parameter folgende Bedeutungen:
<title>
<ordinate>
<file>
<scale>
<background>
<outfile>
Titel der Grafik
Beschriftung der Ordinate des Diagramms (z. B. Einheit der Messwerte)
Messdaten-Datei
Skalierung der Messdaten für die Grafik
Hintergrundbild
Name der erzeugten JPG-Datei
10.3. WAP 2.X
119
Abbildung 10.4: links: Diagramm der elektrischen Leistungsaufnahme eines Haushalts aus dem
Stromnetz in Viertelstundenwerten. Die Darstellung erfolgt in Form eines WAP
2.x-Dokuments auf einem Mobiltelefon.
rechts: Für die Darstellung auf einem Mobiltelefon optimierte Diagramme zum
Stromverbrauch und zur Leistungsaufnahme eines Privathaushalts.
WAPplot wird im Normalfall von einem Timer in regelmäßigen Abständen aufgerufen (z. B.
von dem im Kapitel 15.1 beschriebenen Scheduler), um die in der Zwischenzeit seit dem letzten
Aufruf neu gemessenen Daten in die grafische Darstellung zu integrieren.
Weitere interessante Neuerungen bei WAP 2.x sind Push-Dienste, Verschlüsselung und Datenübertragung bis zum Endgerät per Hypertext Transfer Protocol (HTTP). Bei WAP 2.x wird die
Wireless Markup Language (WML) aus WAP 1.x ersetzt durch das Extensible HyperText Markup
Language Mobile Profile (XHTML MP), ein Subset von XHTML, das durch eine Verschmelzung
aus HTML und XML entstanden ist. Durch die Nutzung von XHTML kann parallel Content für
Mobiltelefone und Webbrowser entwickelt werden.
120
KAPITEL 10. VISUALISIERUNG AUF MOBILTELEFONEN MIT WAP
Kapitel 11
Simulation verteilter Regelungssysteme
Handelsübliche Rechner sind heute so leistungsfähig, dass eine simultane Simulation von
einem verteilten Regelungssystem und der zu regelnden Anlage problemlos möglich ist. Zur
Simulation eines Netzwerks mit zahlreichen Knoten bietet sich die Nutzung von virtuellen
Maschinen an. Mit Hilfe solcher Software können auf einem einzelnen Rechner gleichzeitig
mehrere Betriebssysteme ausgeführt werden, die alle voll funktionsfähig sind und über ein
virtuelles Netzwerk miteinander kommunizieren können (siehe Abb. 11.1). Mit Hilfe eines
aus virtuellen Maschinen gebildeten Netzwerks lassen sich verteilte Regelungssysteme auf
einem einzigen Rechner simulieren. Dazu müssen die virtuellen Maschinen mit klassischer
Simulationssoftware kombiniert werden, die die zu regelnden Anlagenkomponenten abbildet.
Im Gegensatz zur konventionellen Anlagensimulation, bei der Regelungsalgorithmen und die
Simulation der Anlagenkomponenten in einer geschlossenen Simulationsumgebung ausgeführt
werden, bietet die Simulation mit mehreren virtuellen Maschinen zahlreiche Vorteile:
• Da der Zugriff auf die virtuellen Maschinen sehr einfach ist, können Änderungen der Software schnell durchgeführt und getestet werden.
• Mit Netzwerk-Analysetools, wie z. B. Wireshark [228], kann auf das Netzwerk der virtuellen Maschinen zugegriffen werden. Dadurch ist das Protokollieren und Analysieren des
Datenverkehrs zwischen den virtuellen Maschinen sehr einfach möglich.
• Das Netzwerk der virtuellen Maschinen kann in ein bestehendes Computernetzwerk integriert werden, um dort vorhandene Dienste für das simulierte Regelungsnetzwerk zu
nutzen. So ist es z. B. möglich, bei Echtzeitsimulationen auf im Internet verfügbare Wetterdaten zuzugreifen.
• Eine Übertragung der mit virtuellen Maschinen entwickelten und erprobten Regelungssoftware auf ein echtes Regelungsnetzwerk aus Embedded Systems ist ohne größere Änderungen möglich. Dabei ist auch ein fließender Übergang vom simulierten zu einem komplett
realen Regelungssystem möglich.
121
122
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
Server für virtuelle Maschinen
Internet
virtuelles Netzwerk
virtuelle Maschine 1
virtuelle Maschine 2
virtuelle Maschine 3
Abbildung 11.1: Mehrere virtuelle Maschinen werden auf einem Rechner ausgeführt. Sie sind
dabei durch ein virtuelles Netzwerk untereinander und mit dem Server verbunden. Über den Server können die virtuellen Maschinen auf das Internet zugreifen.
Abbildung 11.2: Auf einem Rechner mit Ubuntu Linux 7.10 werden mit der Virtualisierungssoftware Virtualbox drei virtuelle Maschinen mit Damn-Small-Linux, Microsoft
Windows XP Professional und OpenSuSe 10.0 Linux gleichzeitig ausgeführt.
11.1. VIRTUALISIERUNGSTECHNIKEN
123
11.1 Virtualisierungstechniken
Mit Virtualisierungstechniken ist es heute möglich, auf einem Computersystem ein oder mehrere
Computersysteme komplett nachzubilden. Dabei muss generell zwischen zwei verschiedenen
Ansätzen unterschieden werden:
• Komplette Emulation des Zielsystems mit Emulatoren
• Teilemulation des Zielsystems mit Virtualisierern
Emulatoren
Ein Emulator ist die komplette Nachbildung einer Architektur durch eine Software, die sämtliche
Hardware inklusive Prozessor, Chipsatz und allem Drumherum in einer Umgebung abbildet, in
der die jeweiligen Betriebssysteme und Applikationen laufen können [242].
Emulatoren kommen dann zum Einsatz, wenn Systeme nachgebildet werden sollen, deren Hardware komplett anders ist als die des Wirtssysstems (z. B. kann ein Apple Rechner mit PowerPCProzessor auf einem x86-kompatiblen System abgebildet werden). Im Emulator müssen dazu
alle Komponenten des zu emulierenden Systems nachgebildet werden. Dieses Vorgehen benötigt
sehr viel Rechenleistung (z. B. für die Übersetzung der Prozessorbefehle) und ist deshalb für
aufwändigere Anwendungen kaum nutzbar, da die erzielbaren Verarbeitungsgeschwindigkeiten
nicht ausreichend für eine Echtzeitsimulation sind. Für die Entwicklung verteilter Regelungssysteme mit Embedded Systems mit Nicht-x86-Prozessoren (z. B. Systeme mit Mips- oder ARMArchitektur) können Emulatoren dennoch ein sinnvolles Entwicklungswerkzeug sein.
Bekannte Beispiele für Open Source Emulatoren sind PearPC [180] (für die Emulation von Systemen mit PowerPC-Architektur), Bochs [27] und Qemu [185].
Virtualisierer
Im Gegensatz zu den Emulatoren wird bei den Virtualisierern auf eine ressourcenhungrige
Hardwareemulation soweit wie möglich verzichtet. Deshalb werden bei den Virtualisierern
Prozessor und Hauptspeicher des Wirtssystems direkt genutzt. Dadurch müssen nur sehr wenige
Komponenten des Systems emuliert werden (z. B. Netzwerkinterfaces und Festplattencontroller). Mit Virtualisierungssoftware können allerdings auch nur Systeme nachgebildet werden, die
die gleiche Hardwarearchitektur haben wie das Wirtssystem.
Bekannte kommerzielle Virtualisierungsprodukte sind Virtual Server von Microsoft [156] und
GSX-Server von VMware [218]. Beide Firmen stellen auch kostenlos nutzbare Versionen ihrer
Software zur Verfügung. In der Open-Source-Szene wurde das sehr leistungsfähige XEN [233]
entwickelt. Es handelt sich dabei um ein Projekt der University of Cambridge (England) [234].
Bei XEN fallen die Leistungsverluste gegenüber einer direkten Installation mit 0,1% bis 5%
[242] sehr gering aus.
124
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
Im Gegensatz zu vielen Großrechnern, z. B. der Z-Serie von IBM [108], ist die heute am häufigsten anzutreffende x86-Architektur ursprünglich nicht für die Virtualisierung entwickelt worden.
Mittlerweile haben jedoch die beiden größten Prozessorhersteller neue Prozessorerweiterungen
zur Virtualisierung für x86-Systeme vorgestellt, durch die eine effiziente Nutzung der Ressourcen des Wirtssystems möglich wird:
• AMD Virtualization (AMD-V) – auch Pacifica genannt – von Advanced Micro Devices [8]
• Intel Virtualization Technology (Intel VT) – ehemals Vanderpool – von Intel [133]
Die Betriebssystemvirtualisierung ist eine besondere Variante der Virtualisierung. Bei dieser
Technologie wird auf dem Wirtssystem ein einzelner Betriebssystemkern ausgeführt. Die
Gastsysteme nutzen Kernel, Systembibliotheken und Schnittstellen des Wirtssystems mit. Ihre
Daten liegen in Verzeichnissen im Dateisystem des Wirtssystems. Die Gastsysteme sind im
Vergleich zum Wirtssystem deutlich schlanker und brauchen deshalb sehr viel weniger Speicher,
als wenn sie allein auf einem Rechner installiert würden. Auf einem sparsam ausgestatteten
Rechner können somit vergleichsweise viele Betriebssysteme parallel ausgeführt werden.
Das Softwarepaket Virtuozzo [217] der Firma SWsoft arbeitet mit Betriebssystemvirtualisierung.
Es wird häufig bei virtuellen Mietservern – sogenannten VServern – eingesetzt.
Bewertung
Es hängt stark vom Anwendungsfall ab, welches die geeignete Virtualisierungstechnologie
für die Simulation eines verteilten Regelungssystems ist. Für die Simulation von verteilten
Systemen auf der Basis von x86-Prozessoren, die mit dem Betriebssystem Linux arbeiten, hat
sich User Mode Linux [215] bewährt. Diese Software arbeitet als Virtualisierer. Dabei laufen
das Host-System und die Gast-Systeme ausschließlich mit Linux. Die virtuellen Systeme sind
bei dieser Technik sehr performant. Installation und Wartung gestalteten sich im Vergleich zum
weiter oben erwähnten Xen als sehr einfach.
Versuche mit den Emulatoren Bochs und Qemu zeigten im Vergleich zu User Mode Linux
sehr große Performanceeinbußen. Diese sind in der kompletten Hardwarenachbildung der
Emulatoren begründet. Emulatoren sollten möglichst nur genutzt werden, wenn aufgrund
unterschiedlicher Systemarchitekturen von Host-System und Gastsystemen eine Nutzung von
Virtualisierern nicht möglich ist. Wenn keine hardwarenahe Emulation notwendig ist, kann es
zunächst sinnvoll sein, das Regelungssystem mit einem Virtualisierer zu entwickeln und es erst
anschließend auf die Zielplattform zu portieren.
Ein wichtiges Auswahlkriterium ist sicherlich die Hardwareunterstützung des genutzten Virtualisierungssystems. Die verschiedenen Softwarepakete unterscheiden sich z. B. sehr stark in der
Unterstützung von Schnittstellen (z. B. USB).
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
125
11.2 Simulation verteilter Regelungssysteme mit User-mode
Linux und ColSim
11.2.1 User-mode Linux
User-mode Linux [215] ist eine spezielle Variante der Virtualisierung. Es handelt sich nicht
um eine Hardware-Virtualisierung, sondern um eine Virtualisierung des Betriebssystems.
User-mode Linux basiert auf einem abgewandelten Linux-Kernel, der als Anwendungsprozess
in einem Standard-Linux-System ausgeführt wird. Da er nur mit den Rechten eines Nutzers ausgeführt wird, hat er keinerlei Einfluss auf die Konfiguration und die Stabilität des Host-Systems.
Seit der Version 2.6 ist User-mode Linux Bestandteil des Linux-Kernels [139] und wird als
solcher kontinuierlich weiterentwickelt. Auch zur Entwicklung neuer Kernel wird es eingesetzt,
da das Debugging eines User-mode Linux-Kernels mit den gleichen Debugging-Tools möglich
ist, die zur Anwendungsentwicklung in der Programmiersprache C genutzt werden. Das
Debugging von nativ laufenden Linux-Kerneln hingegen gestaltet sich deutlich schwieriger.
Die Dateisysteme von User-mode Linux befinden sich in großen Imagedateien, die vom Hostrechner aus als sogenanntes Loop-Device gemountet werden können. Dadurch können Veränderungen am User-mode Linux sehr einfach vorgenommen werden. User-mode Linux kann bei
entsprechender Konfiguration auch auf das Dateisystem des Host-Rechners zugreifen. Ein Austausch von Dateien ist über diese Schnittstelle auch ohne die Nutzung von Netzwerkdiensten im
laufenden Betrieb möglich.
Copy on Write
Wenn mit User-mode Linux gleichzeitig sehr viele virtuelle Maschinen betrieben werden sollen,
wird für die Imagedateien sehr viel Festplattenplatz benötigt. Unterscheiden sich die Systeme
nur marginal, kann die sogenannte Copy on Write-Technologie (COW) genutzt werden, um
Speicherplatz einzusparen.
Ein COW-Festplattenimage besteht aus zwei Dateien. Die erste, schreibgeschützte Datei (Hintergrunddatei) enthält das eigentlich Image. Sollen an diesem Image Änderungen vorgenommen
werden, werden diese in eine zweite Datei (Delta-Datei) geschrieben, die nur die Unterschiede
zur Hintergrunddatei beinhaltet. Eine Einsparung von Festplattenplatz wird erzielt indem mehrere virtuelle Maschinen eine einzige Hintergrunddatei benutzen. Jede Maschine bekommt jedoch
eine eigene Delta-Datei. Backups und Snapshots aller Maschinen können erstellt werden, indem
einmalig die Hintergrunddatei und für jede Maschine einzeln die jeweilige Delta-Datei gespeichert werden.
126
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
11.2.2 Installation eines Debian-User-mode Linux auf einem DebianLinux-Host-System
Um User-mode Linux-Systeme aufsetzen zu können, müssen auf dem Rechner, auf dem die
virtuellen Maschinen später laufen sollen, folgende Softwarepakete installiert sein:
User-mode-linux:
uml-utilities:
bridge-utils:
debootstrap:
Dieses Paket beinhaltet den User-mode Linux-Kernel.
Tools zur Wartung und zum Betrieb von User-mode Linux-Maschinen
Paket zum Erstellen von Netzwerk-Bridges
Programm zur Installation von Debian-Linux per Netzwerk-Verbindung
von einem Debian-FTP-Server
Zunächst wird ein Image-File erzeugt, in das später das Betriebssystem installiert wird. Mit der
Befehlszeile
dd if=/dev/zero of=root\_fs bs=1 count=1 seek=1G
wird das 1 Gigabyte große File root_fs angelegt und mit Nullen aufgefüllt. Um mit diesem ImageFile arbeiten zu können, muss in ihm ein Dateisystem erzeugt werden. Mit der Befehlszeile
mkfs.ext3 ./root\_fs
lässt sich z. B. ein ext3-Dateisystem anlegen. Damit das Betriebssystem in das Image-File installiert werden kann, muss es zunächst mit
mount -o loop root\_fs ./tmp
gemountet werden. Im Verzeichnis ./tmp wird dann mit debootstrap ein Minimal-Debian-Linux
installiert:
debootstrap --arch i386 sid ./tmp ftp://ftp.debian.org/debian/
Dabei gibt arch die Rechnerarchitektur an, für die das System installiert werden soll. Ist der
Host-Rechner eine X86-Maschine, muss auch das zu installierende User-mode Linux-System
mit diesem Befehlssatz arbeiten. Die zu installierenden Programmpakete werden von einem
Debian-Mirror-Server (z. B. ftp://ftp.debian.org ) heruntergeladen.
Nach der Installation des Basis-Systems müssen die Konfigurationsdateien für das Netzwerk
(/etc/network/interfaces) und eventuell benötigte Konsolen (/etc/inittab) angepasst werden. Sind
diese Arbeiten abgeschlossen, kann das Imagefile mit
umount ./tmp
aus dem Dateisystem des Host-Rechners entfernt werden. Die Konfiguration der virtuellen Maschine ist damit soweit abgeschlossen, dass das System zum ersten Mal gestartet werden kann.
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
127
11.2.3 Simulationsumgebung ColSim
ColSim [44][229] wurde als eine modulare Simulationsumgebung für die Entwicklung von
Reglern für thermische Energiesysteme – wie z. B. Blockheizkraftwerke – am Fraunhofer ISE
entwickelt. Mit ColSim ist eine Simulation der Energiesysteme inklusive daran angeschlossener
Gebäude möglich. In den letzten Jahren wurde ColSim um Simulationsmodelle für elektrische
Komponenten erweitert, so dass auch eine gemischte Simulation von thermischen und elektrischen Komponenten möglich ist.
Mit ColSim können Jahressimulationen mit einer zeitlichen Auflösung von bis zu wenigen
Sekunden durchgeführt werden. Die Software wurde in ANSI-C entwickelt, um die mit der
Simulationsumgebung entwickelten Regelungsalgorithmen ohne große Änderungen direkt auf
Regelungssystemen einsetzen zu können.
Für die Parametrierung der Simulationsumgebung wird eine abgewandelte Variante des VektorZeichenprogramms xfig [235] genutzt (siehe Abb. 11.8 oben rechts.). Konfigurationsänderungen
können aber auch direkt im ASCII-Konfigurationsfile der Simulationsumgebung vorgenommen
werden. Der eigentliche Simulator ist komplett ohne grafische Oberfläche lauffähig. Konfigurationsdateien für ColSim können auch per Skript ohne grafische Parametrierung erstellt werden.
11.2.4 Netzwerkstruktur für eine Simulationsumgebung mit User-mode
Linux und ColSim
Für die kombinierte Simulation verteilter Regelungssysteme und energietechnischer Anlagen
mit Hilfe von virtuellen Maschinen und einer Simulationssoftware ist eine komplexe Netzwerkstruktur notwendig. Ein Beispiel für eine solche Struktur ist in Abbildung 11.3 dargestellt. Die
einzelnen Teile der Abbildung werden in den folgenden Abschnitten erklärt:
Kommunikation zwischen virtuellen Maschinen, Hostrechner und Internet
Virtuelle Maschinen und daraus gebildete Netzwerke bieten die Möglichkeit, Software für
verteilte Systeme praxisnah zu entwickeln. Dazu muss die Netzwerkstruktur, mit der ein
reales verteiltes System arbeiten soll, mit virtuellen Netzwerken nachgebildet werden. Für die
Entwicklung von verteilten Regelungssystemen, die für ihren Regelungsprozess Informationen
von Internetdiensten benötigen, muss das Entwicklungs-Netzwerk mit virtuellen Maschinen
einen Internetzugang ermöglichen.
Die Entwicklung von Netzwerkprotokollen und Kommunikationssoftware kann dadurch erleichtert werden, dass Netzwerktools, wie z. B. der Protokollanalysator Wireshark [228] zur
Protokollanalyse genutzt werden. Dazu muss der komplette Netzwerkverkehr für die Tools
zugänglich gemacht werden.
Host−Rechner
Netzwerk−
Analyse−
Tool
Virtuelle Maschine 1
B
C
A
virtuelles Netzwerk 2
API für
Sensoren / Aktoren
Regler
Kommunikations−
Software
virtuelles Netzwerk 1
Virtuelle Maschine 2
B
C
virtuelles Netzwerk 3
A
API für
Sensoren / Aktoren
Regler
Kommunikations−
Software
Anlagensimulator
Virtuelle Maschine 3
Socket−Interface für
Sensoren / Aktoren
B
C
A
API für
Sensoren / Aktoren
Kommunikation
innerhalb der
virtuellen Maschine
Kommunikation
zwischen virtuellen
Maschinen
Kommunikation
zwischen virtuellen
Maschinen und
Simulationssoftware
Internet −
Kommunikation
Regler
Kommunikations−
Software
Datenquelle
Abbildung 11.3: Struktur für Simulationen eines verteilten Regelungssystems mit virtuellen Maschinen
Netzwerk Bridge
Virt. Net. / Host
Internet
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
129
Wie im Abschnitt 8.5 beschrieben, bieten Netzwerkswitches im Allgemeinen keine Zugriffsmöglichkeit, um den kompletten Datenverkehr eines Netzwerks zu sniffen (Ausnahme: managed
switches mit einen dedizierten Port für solche Zwecke). Auch virtuelle Switches bieten im
Standardbetrieb nicht die Möglichkeit zum Abhören des kompletten Datenverkehrs.
User-mode Linux bringt die Software uml_switch mit, die die Funktion eines virtuellen Switches
übernimmt. Zu Analysezwecken bietet uml_switch auch eine Betriebsart als Netzwerk-Hub
an. Bei Netzwerk-Hubs ist im Gegensatz zu Netzwerk-Switches der komplette Datenverkehr
an jedem Port sichtbar. Um uml_switch im Hub-Modus zu starten, muss es mit dem Schalter
-hub aufgerufen werden. Die komplette Kommunikation zwischen Host-Rechner und virtuellen
Maschinen sowie der virtuellen Maschinen untereinander wird über uml_switch im Hub-Modus
abgewickelt. Das entsprechende Netzwerk ist in Abb. 11.3 als virtuelles Netzwerk 2 dargestellt.
Für die Internet-Anbindung kann es sinnvoll sein, neben dem Netzwerk für die Kommunikation
zwischen virtuellen Maschinen und Host-Rechner noch ein weiteres Netzwerk einzurichten. Das
hat den Vorteil, dass in diesem Netzwerk mit per DHCP (siehe Abschnitt 7.5.1) zugewiesenen,
wechselnden IP-Adressen gearbeitet werden kann. Die virtuellen Maschinen können sich
untereinander auch noch mit statisch vergebenen IPs im virtuellen Netzwerk 2 erreichen. In Abb.
11.3 ist das Netzwerk für den Internet-Zugang mit virtuelles Netzwerk 3 gekennzeichnet.
Für die Internet-Anbindung des virtuellen Netzwerks gibt es mehrere Möglichkeiten. Eine der
Varianten ist die im Abschnitt 7.4.1 beschriebene Network Address Port Translation (NAPT).
Bei dieser Technik hat jede der virtuellen Maschinen Internetzugriff. Dazu werden sie mit
privaten IP-Adressen versehen, die beim Internet-Zugriff auf eine einzelne echte IP gemapped
werden. Nachteil dieses Verfahrens ist, dass ein Zugriff aus dem Internet auf die virtuellen
Maschinen nur sehr schwer möglich ist, so dass kaum Serverdienste durch die virtuellen
Maschinen zur Verfügung gestellt werden können. Nur mit Hilfe von Port-Forwarding oder Tunnelkonstruktionen ist ein direkter Zugriff vom Internet auf einzelne virtuelle Maschinen möglich.
Um für die virtuellen Maschinen einen vollwertigen Internetzugang zu realisieren, mit dem
auch Serverdienste ohne Hilfskonstruktionen möglich sind, bietet sich die Einrichtung einer
Netzwerk-Bridge zwischen dem Host-Netzwerk und dem virtuellen Netzwerk der virtuellen
Maschinen an (siehe Abb. 11.4). Eine Netzwerk-Bridge verknüpft zwei physikalisch getrennte
Netzwerksegmente logisch miteinander, so dass sie als ein Netzwerk mit einem gemeinsamen
IP-Space fungieren. Der Host-Rechner ist über sein Hardware-Netzwerkinterface eth0 an das
Internet angebunden. Mit den virtuellen Maschinen kommuniziert er über das virtuelle Netzwerkinterface tap0. TAP-Devices werden durch ein Linux-Kernelmodul bereitgestellt und emulieren
Ethernet-Geräte. Ihre Ethernet-Frames werden auf Device-Files /dev/tap<Nummer> umgeleitet,
auf die dann entsprechende Anwendungsprogramme, z. B. User-mode Linux, zugreifen können.
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
130
Wenn die beiden Netzwerkdevices eth0 und tap0 mittels einer Bridge zusammengefasst sind,
werden alle Daten, die an einem Netzwerkdevice auflaufen, an das jeweils andere Netzwerkdevice übertragen. Die Bridge wird dadurch für den Datenverkehr transparent. Alle virtuellen
Maschinen haben vollen Zugriff auf das Netzwerk, an das der Host-Rechner angeschlossen ist.
Sie können z. B. per DHCP “echte” IP-Adressen beziehen und Serverdienste gegenüber dem
Internet anbieten.
virtuelle Maschinen
Internet
Netzwerk Bridge
virtueller Switch
Host Netzwerk− virtuelles Netzwerk−
Interface tap0
Interface eth0
Abbildung 11.4: Internetzugriff für virtuelle Maschinen mittels einer Netzwerk-Bridge zur
Ethernet-Karte des Host-Rechners
Anbindung der virtuellen Maschinen an die Simulationssoftware
Um verteilte Regelungssysteme mit ColSim entwickeln zu können, muss ColSim die zu
regelnden Komponenten der einzelnen Anlagenteile simulieren. Dazu könnte man auf jeder
der virtuellen User-mode Linux-Maschinen eine ColSim-Instanz ausführen, auf die dann die
Regelungssoftware, die auf der virtuellen Maschine läuft, direkten zugreifen könnte. Das ist
jedoch wenig sinnvoll, da die zu regelnden Anlagenkomponenten thermisch und elektrisch oft
aneinander gekoppelt sind. Eine solche Koppelung lässt sich mit voneinander unabhängigen
Simulationumgebungen nicht abbilden. Die Anlagenkomponenten müssen folglich in einer einzigen Simulationsumgebung simuliert werden. Daraus ergibt sich jedoch die Aufgabenstellung,
für die Regelungssoftware, die auf den virtuellen Maschinen läuft, eine Zugriffsmöglichkeit auf
die zu regelnden Komponenten in der Anlagensimulation zu schaffen.
Die flexibelste Variante zur Anbindung von Regelungssoftware auf virtuellen Maschinen an
einen Anlagensimulator ist die Nutzung der Netzwerk-Konnektivität zwischen den virtuellen
Maschinen und dem Host-Rechner. Dazu wird wie in Abb. 11.5 vorgegangen. Alle Anlagenkomponenten in der Simulationsumgebung werden um ein Socket-Interface erweitert, über das
Messwerte abgefragt und Stellwerte gesetzt werden können. In die Regelungssoftware auf den
virtuellen Maschinen wird ein Software-Modul eingebunden, das mit den Socket-Interfaces
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
131
im Anlagensimulator kommuniziert. Für die Entwicklung der Regelungssoftware stellt das
Softwaremodul ein Application Programming Interface (API) zur Verfügung, über das auf die
Systemkomponenten in der Simulationssoftware zugegriffen werden kann.
Anlagensimulator
Socket−
Interface
zu regelnde
Komponente
Virtuelle Maschine
Aktor−API mit
Socket−Client
B
C
A
Regler
Abbildung 11.5: Anbindung von Regelungssoftware auf einer virtuellen Maschine an die Simulationssoftware
Soll die Regelungssoftware später für eine “echte” Anlage genutzt werden, kann dies ohne Änderungen an den Regelungsalgorithmen geschehen. Nur das Software-Modul für den
Simulatorzugriff muss gegen ein Modul für den Zugriff auf echte Hardware ausgetauscht werden.
Für die Socket-Kommunikation zwischen Anlagensimulator und virtuellen Maschinen wird ein
gesondertes virtuelles Netzwerk eingerichtet. Dadurch kann der Netzwerkverkehr von und zum
Anlagensimulator einfach von sonstigen Netzwerkaktivitäten unterschieden werden. In Abb.
11.3 wird das entsprechende Netzwerk als virtuelles Netzwerk 1 bezeichnet.
Netzwerk-Setup des Host-Rechners
Die Netzwerkkonfiguration der virtuellen Maschinen, die für die Simulation von verteilten
Regelungssystemen benötigt werden, geschieht durch den Host-Rechner, auf dem die User-mode
Linux-Maschinen ausgeführt werden. Die dazu notwendigen Netzwerkkomponenten werden mit
Ausnahme der Netzwerkkarte des Host-Rechners komplett virtualisiert.
In Abb. 11.6 ist ein Shell-Skript zur Netzwerkkonfiguration des Host-Rechners dargestellt.
Zunächst wird das Ethernet-Interface eth0 des Host-Rechners in den sogenannten promiscuous
mode versetzt. Im non-promiscuous mode wertet eine Netzwerkkarte nur für ihre NetzwerkAdresse bestimmte Pakete aus. Im promiscuous mode hingegen werden alle Pakete ausgewertet.
Für den Betrieb einer Bridge ist dieser Modus notwendig, da sie alle Pakete aus einem Teilnetzwerk in das jeweils andere Teilnetzwerk übertragen soll.
Mit dem Tool brctl aus dem Programm-Paket bridge-utils wird die Netzwerk-Bridge uml-bridge
angelegt und ihr Verhalten konfiguriert (Minimieren von Latenzen, Abschalten des Spanning
Tree Protocol (STP) zur Vermeidung von redundanten Netzwerkpfaden, etc.).
132
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
#!/bin/bash
#Internet-Anbindung über Bridge uml-bridge
#eth0 in den promiscuous mode
ifconfig eth0 0.0.0.0 promisc up
# bridge anlegen
brctl addbr uml-bridge
# bridge forward delay abschalten
brctl setfd uml-bridge 0
# hello-funktion abschalten
brctl sethello uml-bridge 0
# spanning tree protocol abschalten
brctl stp uml-bridge off
# bridge aktivieren
ifconfig uml-bridge 0.0.0.0
up
# eth0 des hostrechners an bridge binden
brctl addif uml-bridge eth0
#switch für Zugriff auf bridge einrichten
uml_switch -hub -tap tap0 -unix /tmp/umlswitch0 &
ifconfig tap0 0.0.0.0 promisc up
#switch an die bridge binden
brctl addif uml-bridge tap0
#ip-Adresse für bridge beziehen
dhclient uml-bridge
#switch für Kommunikation VM-Simulator
uml_switch -hub -tap tap1 -unix /tmp/umlswitch1 &
ifconfig tap1 10.0.1.1 netmask 255.255.255.0
#switch für Kommunikation VM-VM
uml_switch -hub -tap tap2 -unix /tmp/umlswitch2 &
ifconfig tap2 10.0.2.1 netmask 255.255.255.0
Abbildung 11.6: Shell-Skript zur Netzwerk-Konfiguration zum Betrieb von virtuellen Usermode Linux-Maschinen
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
133
Das virtuelle Netzwerkinterface tap0 wird ebenfalls in den promiscuous mode umgeschaltet.
Dann werden die beiden Interfaces eth0 und tap0 an die Bridge gebunden. Danach bezieht die
Bridge vom DHCP-Server eine IP-Adresse. Neben der Bridge-Funktion fungiert uml_bridge
auch als Netzwerkinterface für den Host-Rechner.
Am Ende des Skripts werden für die beiden weiteren Netzwerke der Simulationsumgebung noch
virtuelle Switches angelegt und dem Host-Rechner IP-Adressen aus den Netzwerken zugewiesen.
Systemstart von User-mode Linux-Maschinen
Der Start der virtuellen Maschinen erfolgt mit Hilfe von Shell-Skripten (siehe Abb. 11.7). Mit
diesen Skripten werden Kommandozeilenparameter an den User-mode Linux-Kernel übergeben,
die das Systemverhalten beeinflussen.
Mit dem Parameter mem wird festgelegt, wieviel Arbeitsspeicher der virtuellen Maschine zur
Verfügung gestellt wird. Das Imagefile, in dem das Dateisystem der virtuellen Maschine liegt,
wird mit dem Parameter ubd0s spezifiziert.
Mit umid kann man jeder virtuellen Maschine einen Namen geben. Der Name wird im
Kommandozeilentool uml_mconsole genutzt, um auf die virtuelle Maschine zuzugreifen. Die
uml_mconsole ist eine Wartungskonsole, mit der virtuelle Maschinen angehalten, neu gestartet
und zurückgesetzt werden können. Außerdem können mit dem Tool Änderungen an der
virtuellen Hardware vorgenommen werden (z. B. Hinzufügen zusätzlicher Netzwerkinterfaces).
Wie schon im Abschnitt 11.2.4 beschrieben, werden die virtuellen Maschinen und der HostRechner mit virtuellen Switches untereinander vernetzt. Die Zuordnung von virtuellen Switches
und virtuellen Netzwerkkarten der virtuellen Maschinen erfolgt beim Start der virtuellen Maschinen. Mit eth0=daemon„unix,/tmp/umlswitch0 wird im Startskript z. B. dem ersten Netzwerkinterface eth0 der Switch mit dem Namen umlswitch0 zugewiesen.
#!/bin/bash
linux mem=64M ubd0s=root_fs umid=emb1 \\
eth0=daemon,,unix,/tmp/umlswitch0 \\
eth1=daemon,,unix,/tmp/umlswitch1 \\
eth2=daemon,,unix,/tmp/umlswitch2
Abbildung 11.7: Shell-Skript zum Start einer virtuellen User-mode Linux-Maschine mit drei
Netzwerkinterfaces
134
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
Zugriff auf virtuelle Maschinen mittels Secure Shell (SSH) und Xnest
Auf virtuelle Linux-Maschinen mit Netzwerkfunktionalität kann mit Hilfe der im Abschnitt
7.5.5 beschriebenen Secure Shell zugegriffen werden. Dazu muss auf den Maschinen eine
SSH-Serversoftware ausgeführt werden. Mit Hilfe von SSH können alle KommandozeilenOperationen, die zur Wartung der Systeme und zur Softwareentwicklung notwendig sind,
durchgeführt werden.
Grafische Bildschirmausgaben werden bei Linux-Systemen im Allgemeinen mit Hilfe des
X-Window-Systems realisiert. Dazu stellt ein sogenannter X-Server die Grundfunktionalität für
das Zeichnen und Bewegen von Fenstern sowie die Interaktion mit Eingabegeräten wie z. B.
Tastatur und Maus zur Verfügung. Unter Linux verwenden zur Zeit die meisten Distributionen
die X-Server-Software der X.Org Foundation [240] oder des XFree86 Project, Inc. [236].
Das X-Window-System ist netzwerkfähig, so dass Programme auf einem Rechner ausgeführt
werden können und die grafische Ausgabe der Programme von den X-Servern anderer Rechner
bewerkstelligt werden kann. Diese Funktionalität ist sehr vorteilhaft, wenn man grafische
Programme auf virtuellen Maschinen ausführen will. Das ist z. B. der Fall, wenn mit einem
grafischen Editor direkt auf einer virtuellen Maschine Programmcode geändert werden soll.
Auch wenn die hier beschriebene Entwicklungsumgebung primär für die Entwicklung von Software für Embedded Systems gedacht ist, ist bei den Entwicklungsarbeiten anstelle von einzelnen
grafischen Anwendungsfenstern manchmal eine komplette Desktop-Umgebung für die virtuellen Embedded Systems wünschenswert. Da die virtuellen Maschinen mangels Grafik-Hardware
keine eigenen X-Server betreiben können, müssen die X-Server der virtuellen Maschinen als Anwendung auf der Hostmaschine laufen. Dazu kann der X-Server Xnest genutzt werden, der als
Applikation auf der grafischen Oberfläche des Host-Rechners läuft (Dokumentation unter [237]).
Zusammen mit Xnest kann man gleichzeitig auch eine Terminal-Emulation (z. B. xterm) starten:
Xnest :1 \& xterm -display :1
Der virtuellen Maschine wird dann im Terminalfenster “erlaubt”, Grafiken in das Xnest-Fenster
auszugeben. Dazu wird der Befehl xhost <IP-Adresse> im Terminalfenster eingegeben. Per
Secure Shell wird im Anschluss auf der virtuellen Maschine die Umgebungsvariable für die
Grafikausgabe export DISPLAY=<Host-IP>:1 auf den Xnest-Server des Hosts eingestellt. Nach
dem Start eines Window-Managers (z. B. Windowmaker [225]) auf der virtuellen Maschine
kann im Xnest-Fenster eine komplette grafische Oberfläche genutzt werden.
In Abb. 11.8 sind drei Xnest-Fenster mit drei Instanzen des Window-Managers Windowmaker
abgebildet, die auf unterschiedlichen virtuellen Maschinen ausgeführt werden.
Andere Möglichkeiten zur Nutzung von grafischen Oberflächen für die Bedienung der virtuellen
Maschinen sind VNC (z. B. RealVNC [186]) und NoMachine [170].
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
135
Abbildung 11.8: Screenshot: Simulationsumgebung ColSim (oben rechts) und drei Windowmaker-Sessions, die auf drei verschiedenen mit Usermode-Linux realisierten virtuellen Maschinen ausgeführt werden
11.2.5 Zeitskala – Realtime oder Jahressimulation
ColSim wurde als Tool zur Entwicklung von Regelungsalgorithmen geschrieben. Die Güte von
Regelungsalgorithmen lässt sich sehr gut anhand energetischer Betrachtungen von Jahressimulationen abschätzen. Sogar komplexe Energiesysteme lassen sich mit ColSim sehr viel schneller
als in Echtzeit simulieren. Zur Entwicklung und Evaluation von Kommunikationsprotokollen ist
es jedoch meist nicht sinnvoll, schneller als in Echtzeit zu simulieren. Für das Zusammenspiel
mit Reglern in virtuellen Maschinen wurde ColSim deshalb um ein Zeitsynchronisationssystem
erweitert, das ein Abbremsen von ColSim auf Echtzeit ermöglicht. Dabei rechnet ColSim immer
den nächsten Simulationsschritt und wartet nach dem Beenden der Berechnungen, bis der im
Simulationsschritt schon abgebildete Zeitpunkt erreicht ist.
136
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
11.2.6 Anwendungsbeispiel Reglerentwicklung für eine thermische Solaranlage
Das Bundesministerium für Umwelt, Naturschutz und Reaktorsicherheit förderte in den Jahren
1993 bis 2002 mit seinem Solarthermie-2000-Programm solarthermische Demonstrationsanlagen. Eine dieser Anlagen wurde im Studentendorf Vauban in Freiburg im Breisgau errichtet. Sie
verfügt über eine Kollektorfläche von 143 m2 und ein Puffervolumen von 6 m3 . Zweck dieser
Anlage ist die Brauchwasservorwärmung für ein Studentenwohnheim mit 580 Bewohnern.
Die Nacherwärmung erfolgte zunächst mit herkömmlichen Heizkesseln, später jedoch mit
Fernwärme.
Im Rahmen des vom Bundesministerium für Wirtschaft und Technologie geförderten Projekts
ConCheck wurde die Anlage modernisiert. Der Forschungsgegenstand von ConCheck war die
Entwicklung und Erprobung von Regelungssystemen für die Be- und Entladeseite von großen
solarthermischen Anlagen. Bei der Modernisierung der Solaranlage des Freiburger Studentenwohnheims wurden die Be- und Entladeeinrichtungen für die Solarspeicher durch zwei Kompaktstationen mit integrierten Wärmeübertragern realisiert (siehe Abbildung 11.9).
Abbildung 11.9: Mit Embedded Systems bestückte Kompaktbaugruppen der Solarthermie 2000Anlage im Studentendorf Vauban in Freiburg im Breisgau
11.2. SIMULATION MIT USER-MODE LINUX UND COLSIM
137
Die Kompaktstationen sind mit jeweils einem netzwerkfähigen Embedded System bestückt, das
als Regelungseinheit fungiert. Diese Embedded Systems können Temperaturen, Volumenströme
sowie einige andere Größen messen. Außerdem steuern sie alle Aktoren (Pumpen, Mischer, etc.)
an.
Über das Netzwerk des Studentenwohnheims haben die Embedded Systems Zugang zum
Internet. Dieser Zugang wird für Fernwartungszwecke wie z. B. das Aktualisieren der Regelungssoftware oder das Abrufen von Messdaten genutzt. Die Visualisierung des Anlagenzustands
per Webbrowser (siehe Abschnitt 9) und ein WAP-Zugang (siehe Abschnitt 10) wurden ebenfalls
implementiert. [22].
Die Regelungsalgorithmen auf den Embedded Systms wurden zunächst so realisiert, dass die
komplette Regelung aufgrund lokaler Messwerte erfolgte. Bei der Analyse des Betriebs anhand
von Messdaten zeigte sich dann, dass zusätzliche Informationen und Messgrößen aus der
Systemperipherie und dem Internet (z. B. Wetterdaten) für einen optimierten Betrieb relevant
sind. Um die Regelungssoftware um entsprechende Funktionen zu erweitern und zu optimieren,
wurde das komplette thermische System der Solaranlage in ColSim modelliert. Die Embedded
Systems wurden mit Hilfe von virtuellen Maschinen emuliert und – wie im Abschnitt 11.2.4
beschrieben – an ColSim angebunden [23].
Beide Kompaktstationen benötigen für eine effiziente Regelung Informationen über den
Ladezustand des thermischen Speichers. Deshalb wurde ein Speicherregelungsmodul erstellt
und im Simulator getestet. Anhand der Messwerte zweier Temperatursensoren bestimmt es den
Ladezustand des thermischen Speichers. Im Simulator wurde mit Hilfe des virtuellen Netzwerks
ein Kommunikationsmodul für die Regelungssoftware entwickelt, das einen Austausch von
Messdaten und anderen Informationen zwischen den beiden Kompaktstationen ermöglicht.
Anhand von Jahressimulationen konnte anschließend der Regelungsbetrieb einschließlich der
Kommunikationsprozesse getestet und analysiert werden.
Die Simulationsumgebung diente außerdem der Entwicklung von internetbasierten Zusatzfunktionen. Es wurde z. B. ein Softwaremodul programmiert, das Messdaten der Anlage auf Plausibilität überprüft und im Fehlerfall Störungsmeldungen per Email und SMS verschickt.
138
KAPITEL 11. SIMULATION VERTEILTER REGELUNGSSYSTEME
Kapitel 12
Betriebssysteminstallation für Verteilte
Systeme
Bei der Installation von verteilten Systemen mit Embedded Systems muss das Betriebssystem auf
jedes einzelne Embedded System aufgespielt werden. Der Aufwand, dies für jedes System von
Hand zu tun, ist sehr groß. Bei größeren Stückzahlen empfiehlt sich deshalb ein Automatisieren
der Prozesse.
12.1 Betriebssystem-Images
Das Betriebssystem könnte man von standardisierten Installationsmedien auf jedes einzelne
Embedded System des verteilten Systems aufspielen. Dieses wäre jedoch sehr zeitaufwändig,
da ständig Nutzereingaben, wie z. B. Spracheinstellung oder Netzwerkkonfiguration notwendig
wären. Bei den meisten Betriebssystemen ist der Prozess nicht automatisierbar. Eine Ausnahme bilden jedoch Betriebssysteme, bei denen eine Installation mittels Templates stattfinden kann.
Da bei verteilten Systemen die Hardware aller Embedded Systems und das grundsätzliche
Betriebssystem oft bei allen Systemen gleich sind, bietet es sich an, mit Betriebssystem-Images
zu arbeiten.
Um ein Betriebssystem-Image zu erstellen, wird das gewünschte Betriebssystem zunächst auf
einem einzelnen Embedded System installiert. Anschließend folgt die Installation der Software, die später auf allen Embedded Systems vorhanden sein soll. Danach wird der Massenspeicher (Festplatte, CompactFlash oder Ähnliches) aus dem Embedded System ausgebaut und an
einen anderen Rechner angeschlossen. Das geschieht bei CompactFlash z. B. mit einem USBKartenleser (USB = Universal Serial Bus) und bei Festplatten z. B. mit einem USB-to-IDEAdapter (IDE = Integrated Drive Electronics). Auf diesem Rechner sollte dann der Inhalt des
Massenspeichers des Embedded Systems abgelegt werden, um damit später die Massenspeicher
aller anderen Embedded Systems des verteilten Systems zu beschreiben. Für das Kopieren des
Massenspeicherinhalts gibt es verschiedene Ansätze, z. B. das blockweise Kopieren und das dateibasierte Kopieren.
139
140
KAPITEL 12. BETRIEBSSYSTEMINSTALLATION
12.1.1 Blockweises Kopieren des gesamten Massenspeichers
Dieses Verfahren hat den Vorteil, dass mit einem einzigen Befehl und ohne weitere Nutzereingaben der gesamte Kopiervorgang durchgeführt werden kann. Dabei werden auch der Bootloader
und alle Partitionsinformationen kopiert.
Zum blockweisen Kopieren wird das Programm dd unter Linux genutzt. Die Befehlszeile
dd if=/dev/sda of=linux.img
veranlasst das blockweise Auslesen des kompletten Inhalts eines Speichermediums (z. B. einer
CompactFlash-Karte). Die ausgelesenen Daten werden in die Datei linux.img geschrieben.
Die Bezeichnung if steht dabei für input file = Eingabedatei. Unter Linux werden die meisten
Hardwarekomponenten in Form von sogenannten Gerätedateien (device files) angesprochen.
/dev/sda ist die Gerätedatei für einen Massenspeicher. Die Bezeichnung of steht für output file =
Ausgabedatei. Damit wird der Name der Ausgabedatei festgelegt.
Das so erzeugte Betriebssystemimage linux.img kann auch mit einem einzigen Befehl auf einen
anderen Massenspeicher zurückgeschrieben werden. Dazu werden im Vergleich zum Auslesen
nur input file und output file vertauscht.
dd of=/dev/sda if=linux.img
Das blockweise Kopieren von Massenspeichern hat einen großen Nachteil: Der Prozess ist sehr
zeitaufwändig, da der komplette Inhalt des Massenspeichers gelesen werden muss. Das gilt auch,
wenn nur ein kleiner Teil des Massenspeichers beschrieben ist, weil auch ungenutzte Teile des
Massenspeichers “kopiert” werden. Das Zurückschreiben des Images auf einen anderen Massenspeicher dauert sogar noch länger. Zum Kopieren eines 512 MB-Abbildes auf eine CompactFlash-Karte mit einem USB-Kartenleser werden ca. 23 Minuten benötigt. Für das Kopieren
von ganzen Festplatteninhalten ergeben sich daraus Wartezeiten (z. B. >5 Stunden bei einer 20
GB-Festplatte), die bei größeren Anzahlen von zu beschreibenden Massenspeichern sicher nicht
tolerabel sind
12.1.2 Dateibasiertes Kopieren eines Massenspeichers
Im Gegensatz zum blockweisen Kopieren eines Massenspeichers werden beim dateibasierten
Kopieren mehrere Schritte durchgeführt. Zunächst wird die Partitionierung des zu kopierenden
Massenspeichers festgestellt. Das kann unter Linux zum Beispiel mit dem Programm fdisk bewerkstelligt werden. Mit der Befehlszeile
fdisk /dev/sda
wird fdisk für den Massenspeicher sda aufgerufen. Durch das Drücken der Taste p wird die
Partitionstabelle ausgegeben (siehe Abb.: 12.1).
12.1. BETRIEBSSYSTEM-IMAGES
141
The number of cylinders for this disk is set to 9729.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot
/dev/hdb1
*
/dev/hdb2
Start
1
9637
End
9636
9729
Blocks
77401138+
747022+
Id
83
82
System
Linux
Linux swap/Solaris
Abbildung 12.1: Partitionstabelle einer 80 GB Festplatte mit einer Linux- und einer Linux-SwapPartition
Auf dem Zielmassenspeicher wird danach eine Partitionstabelle erstellt, die aus der gleichen
Anzahl von Partitionen mit den gleichen Partitionstypen besteht. Die Größen der Partitionen
dürfen variieren. Es muss jedoch gewährleistet werden, dass die neuen Partitionen ausreichend
Platz bieten.
Die Inhalte der einzelnen Partitionen des Massenspeichers werden nun in einzelne Verzeichnisse
auf der Festplatte des Rechners kopiert, von dem aus sie hinterher wieder auf die Zielmassenspeicher übertragen werden. Vor dem Kopieren müssen die Partitionen noch mit dem mount-Befehl
in den Dateibaum des Rechners eingebunden werden. Bsp.:
mount /dev/hdb1 /mnt/partition1
Die erste Partition der Festplatte /dev/hdb wird unter /mnt/partition1 in das Dateisystem eingebunden. Danach kann der Kopiervorgang durchgeführt werden. Bsp.:
cp -r -p /mnt/partition1/* /home/nutzer/partition1
Dabei werden alle Dateien aus dem Verzeichnis /mnt/partition1 in das Verzeichnis
/home/nutzer/partition1 kopiert. Wichtig ist dabei, dass mit dem Schalter -r dafür gesorgt wird,
dass die Inhalte aller Verzeichnisse unter /mnt/partition1 mitkopiert werden. Der Schalter -p bewirkt, dass die Zugriffsrechte aller Dateien beim Kopieren erhalten bleiben. Nach dem Beenden
des Kopierens müssen die Partitionen wieder aus dem Dateisystem entfernt werden. Bsp.:
umount /dev/hdb1
Sind alle Daten des Quelldatenträgers in Verzeichnissen gesichert, kann mit der Vorbereitung des
Zieldatenträgers begonnen werden. Zunächst wird, wie schon oben beschrieben, eine Partitions-
142
KAPITEL 12. BETRIEBSSYSTEMINSTALLATION
tabelle angelegt. Das kann auch per Skript erfolgen. Bevor die Partitionen beschrieben werden,
müssen zunächst Dateisysteme angelegt werden. Bsp.:
mkfs.ext3 /dev/hdb1
Mit dem obigen Befehl wird auf der ersten Partition der Festplatte /dev/hdb ein ext3-Dateisystem
angelegt. Sind alle Dateisysteme angelegt worden, können die Partitionen mit mount in das Dateisystem des Rechners eingebunden werden und die Inhalte der Verzeichnisse der Kopien des
Quellmassenspeichers auf die entsprechenden Partitionen kopiert werden. Beim Kopieren mit cp
müssen wieder die Schalter -r und -p gesetzt sein.
Sind alle Kopiervorgänge abgeschlossen, fehlt nur noch die Installation des Bootloaders, ohne
den das Betriebssystem nicht gestartet werden kann. Unter Linux wird der Bootloader GRUB
[94] mit dem Befehl grub-install installiert. Bsp.:
grub --root-directory=<Beispielverzeichnis> /dev/hdb
Dabei gibt <Beispielverzeichnis> in der Befehlszeile den Ort an, an dem die BootloaderKomponenten abgelegt werden sollen.
12.2 Klonen eines laufenden Systems
Sollen Betriebssystem und Software eines bereits fertig installierten Embedded Systems auf ein
zweites System übertragen werden, kann dies auch ohne die Erstellung eines BetriebssystemImages realisiert werden. Dabei werden alle Daten des fertig installierten Systems per Netzwerk
auf das zweite System kopiert. Das funktioniert jedoch nur, wenn das Zielsystem über die
Fähigkeit verfügt, per Netzwerk zu booten. Dazu werden die Mechanismen des von Intel [133]
entwickelten Preboot Execution Environment (PXE) genutzt. Außerdem wird ein Rechner
benötigt, auf dem Serversoftware für die Netzwerk-Dienste Dynamic Host Configuration
Protocol (DHCP, siehe Abschnitt 7.5.1), Trivial File Transfer Protocol (TFTP) und Network
File System (NFS) läuft.
Das Embedded System, auf dem die Software installiert werden soll, wird angeschaltet und folgende Schritte laufen automatisiert ab:
1. Das Zielsystem bekommt vom DHCP-Server eine IP-Adresse zugewiesen. Es erhält zusätzlich die Informationen, unter welcher IP-Adresse der TFTP-Server zu erreichen ist und
welche Datei auf dem TFTP-Server das Network Bootstrap Program (NBP) enthält.
2. Das NBP wird vom TFTP-Server heruntergeladen und ausgeführt.
3. Das NBP bootet einen Linux-Kernel.
4. Der Linux-Kernel bindet das root-Dateisystem per Network File System ein und startet die
benötigten Systemdienste, um von außen auf das System zugreifen zu können.
12.3. NUTZUNG VON PAKETMANAGERN ZUR SOFTWAREINSTALLATION
143
Sind diese Schritte erfolgt, kann das Zielsystem per Netzwerk administriert werden. Nach
dem Einloggen auf dem System wird zuerst die Systemuhr per Network Time Protocol (siehe
Abschnitt 7.5.3) gestellt.
Dann muss der Massenspeicher für die Installation vorbereitet werden. Dazu wird er, wie im
Abschnitt 12.1.2 beschrieben, partitioniert und es werden Dateisysteme angelegt. Danach wird
der Massenspeicher unter /mnt gemountet.
Mit der Befehlszeile
ssh -c blowfish root@<Maschine> tar clf - / | (cd /mnt;tar xf -)
erfolgt das eigentliche Klonen. Die Befehlszeile lässt sich in drei Teile untergliedern:
ssh -c blowfish root@<Maschine> : Dieser Teil der Befehlszeile baut eine Verbindung zu dem
Rechner auf, der als Klonvorlage dient. Über die Verbindung können auf diesem Rechner Befehle ausgeführt werden. Mit -c blowfish wird eine schwache Verschlüsselung für
die Verbindung gewählt. Dadurch entsteht weniger Prozessorlast als bei der Standardverschlüsselung von SSH und das Clonen wird beschleunigt.
tar clf - / : Auf dem Rechner, der als Klonvorlage dienen soll, wird mit tar (tape archive) der
komplette Inhalt des Dateisystems (in der Befehlszeile dargestellt als “/”) in einen Datenstrom verpackt, der per SSH auf das Zielsystem übertragen wird. tar wird mit den Schaltern
c, l und f aufgerufen. c ist die Anweisung zum Erzeugen des Datenstroms. Durch l wird tar
angewiesen, innerhalb des Dateisystems zu bleiben. Dadurch wird ein Kopieren des vom
Linux-Kernel erzeugten /proc-Verzeichnisses unterbunden, was zu Fehlern führen würde.
Der Schalter f bewirkt das Anlegen einer Datei. Der Dateiname “-” bewirkt die Ausgabe
auf der Kommandozeile.
| (cd /mnt; tar xf - ) : Durch “|” (eine sogenannte pipe) wird der per SSH auf das Zielsystem
übertragene Datenstrom an den dritten Teil der Befehlszeile übergeben. Dort wird zunächst mit cd /mnt in das Zielverzeichnis gewechselt. tar xf - wandelt den übertragenen
Datenstrom zurück in Dateien und Verzeichnisse.
Nach dem Beenden des Kopiervorgangs muss jetzt noch der Bootloader auf dem Zielsystem
installiert werden. Die Installation erfolgt wie im Abschnitt 12.1.2 beschrieben.
12.3 Nutzung von Paketmanagern zur Softwareinstallation
Die Administration von verteilten Systemen mit vielen Knoten ist eine komplexe Aufgabe. Bei
derartigen Systemen fallen immer wieder Softwareupdates an, da Sicherheitslücken beseitigt
werden müssen und Regelungs- und Messprogramme aktualisiert werden sollen. Alle damit
verbundenen Arbeiten lassen sich im Prinzip durch das Einspielen der entsprechenden Dateien
144
KAPITEL 12. BETRIEBSSYSTEMINSTALLATION
per Fernadministration durchführen. Dabei kann jedoch sehr schnell der Überblick darüber
verloren gehen, welche Softwareversionen auf welchem Knoten vorhanden sind und welche
Abhängigkeiten bei der Installation aufgelöst werden müssen. Zur Vermeidung solcher Probleme
empfiehlt sich die Nutzung von Paketmanagern, wie z. B. Redhat Package Manager (rpm [187])
oder dpkg und apt (Debian [50]).
Bei der Paketinstallation übernimmt der Paketmanager alle zur Installation notwendigen
Schritte. Er lädt das zu installierende Paket von einem Installationsserver, löst Abhängigkeiten
zu anderen Paketen auf – sorgt also für das Vorhandensein aller zur Installation der Software
benötigten Komponenten – entpackt das Paket, kopiert alle im Paket enthaltenen Dateien auf
die dafür vorgesehen Plätze im System und führt eine erste Konfiguration der Software durch.
Mit Hilfe der im Paket enthaltenen Informationen ist der Paketmanager auch in der Lage, die
Software wieder rückstandsfrei zu deinstallieren. Paketmanager pflegen eine Datenbank, in der
die installierten Pakete mit ihren Versionsnummern katalogisiert werden. Durch ein Abfragen
der Datenbank kann schnell ermittelt werden, welche Software auf einem System installiert ist.
Zu jedem Paketmanager sind entsprechende Developer-Programme erhältlich, mit denen sich
Pakete mit eigener Software einfach erstellen lassen. Diese können dann ebenfalls über einen Installationsserver auf alle Rechner des verteilten Systems verteilt und dort installiert werden. Wird
später eine neuere Version des Pakets auf dem Installationsserver abgelegt, erfolgt im Rahmen
des nächsten Systemupdates der verteilten Systeme das Update auf die neuere Version der Software. Zur Verifizierung der Authentizität der zu installierenden Pakete können diese mit einer
digitalen Signatur versehen werden, die vom Paketmanager ausgewertet wird.
Kapitel 13
Konfigurations- und Parametriersoftware
13.1 Konfiguration und Parametrierung in der industriellen
Prozess- und Fertigungsautomatisierung
In der industriellen Prozess- und Fertigungsautomatisierung muss heute eine große Zahl von
Geräten in Betrieb genommen und im laufenden Betrieb parametriert werden. Das Parametrieren
erfolgt dabei meist über Feldbus-Schnittstellen. Dazu bieten die Hersteller Softwaretools an, die
oft spezifisch für ihre Geräte und die genutzten Feldbusschnittstellen sind. Um die Parametrierung zu erleichtern und nicht für jedes Geräte eine eigene Software einsetzen zu müssen, wurden
verschiedene Technologien entwickelt, die mit Hilfe einer einzigen Software einen Zugriff auf
die Geräte ermöglichen.
13.1.1 Electronic Device Description Language (EDDL)
Die Electronic Device Description Language (EDDL) [66] ist ein in der IEC 61804 beschriebener Standard zur elektronischen Beschreibung von Geräten. Er wird zur Konfiguration und
zum Betrieb der Geräte genutzt. EDDL enstand aus einem Zusammenschluss der jeweiligen
Beschreibungssprachen der HART Communication Foundation [99], der PROFIBUS Nutzerorganisation e.V [183] und der Fieldbus Foundation [83].
EDDL definiert eine eigene speziell für die Gerätebeschreibung zugeschnittene Sprache, deren
Sprachumfang viel kleiner als der einer Standard-Programmiersprache ist. Gerätehersteller erstellen in dieser Sprache für jedes ihrer Geräte jeweils eine textbasierte Beschreibung, die sogenannte Electronic Device Description (EDD). Eine Host-Applikation liest die EDD eines Geräte
und lernt daraus, wie mit diesem Geräte kommuniziert werden kann und welche Informationen zur Verfügung stehen. Der Zugriff auf EDDs ist unabhänig von Betriebssystem und Rechnerplattform, da sie keinen Programmcode enthalten. Stattdessen wird der in ihnen enthaltene
Text von der Hostapplikation interpretiert. Für alle gängigen Betriebssysteme existieren HostApplikationen. Nachteilig ist, dass sich EDDL nur für Geräte von geringer bis mittlerer Komplexität eignet [24].
145
146
KAPITEL 13. KONFIGURATIONS- UND PARAMETRIERSOFTWARE
13.1.2 Field Device Tool (FDT)
FDT ist hervorgegangen aus einem Zusammenschluss von großen Unternehmen der Automatisierungsbranche, die 2003 die FDT Joint Interest Group gegründeten. In 2005 wurde aufgrund
der steigenden Mitgliederzahl der Gruppe und des damit verbundenen Verwaltungsaufwands
die FDT Group [82] als ein Verein nach belgischem Recht gegründet, der die Pflege und
Weiterentwicklung der in der IEC 62453 festgeschriebenen Norm betreibt.
Field Device Tool dient dazu, die Kommunikationsschnittstellen zwischen Feldgeräten und
Leitsystemen zu vereinheitlichen. Die definierten Schnittstellen funktionieren unabhängig vom
Kommunikationsprotokoll und den jeweiligen Softwareumgebungen auf dem Leitsystem und
den Geräten.
Gerätehersteller müssen für ihre Geräte oder Gerätegruppen jeweils eine gerätespezifische
Bedienapplikation, den sogenannten Device Type Manager (DTM) entwickeln. Dieser beinhaltet
alle wichtigen gerätespezifischen Daten und Funktionen. Er enthält Informationen über die
Gerätestruktur, Kommunikations- und interne Abhängigkeiten. Der DTM kann genutzt werden,
um ein Gerät zu konfigurieren, zu bedienen und Geräteparameter abzurufen. Er besitzt dafür
eine grafische Benutzeroberfläche, die je nach Ausprägung sehr unterschiedlich aussehen kann,
da bisher keine Styleguides für die Erstellung existieren. Ein großer Nachteil dieser Technik
ist, dass die meisten Gerätehersteller DTM-Software liefern, die eng an Microsoft-Windows
gebunden ist [24]. Dadurch entsteht eine starke Abhängigkeit von dieser Plattform.
Device Type Manager sind nicht allein lauffähig, sondern benötigen eine sogenannte Frame Application, auch FDT Container genannt. Die FDT Container können zu ganz unterschiedlichen
Zwecken eingesetzt werden (Konfiguration, Bedienung, Werkzeug für das Asset-Management,
etc.). Sie stellen auch alle Funktionen zur Verfügung, die die Kommunikation zwischen dem
Hostsystem und den angeschlossenen Feldbussen ermöglichen.
FDT und EDDL konkurrieren schon einige Jahre miteinander. Ein übergreifender Standard, der
die Vorteile beider bisheriger Standards in sich vereinigt, wäre wünschenswert. Ansätze zur Vereinigung von FDT, EDDL und dem im Abschnitt 6.3.2 vorgestellten OPC UA sind in [24] beschrieben.
13.2 Softwareinstallation für verteilte Regelungs- und Monitoringsysteme für dezentrale Energiesysteme
Die Installation des Betriebssystems kann für eine größere Anzahl identischer Rechner mit den
im Abschnitt 12 beschriebenen Methoden recht einfach bewerkstelligt werden. Zusätzlich zur
Installation des Betriebssystems und der Anwendungssoftware müssen oft Zugangsdaten für die
Telekommunikation, Sensorlisten für Messwerterfassungssysteme und ähnliche Daten parame-
13.2. SOFTWAREINSTALLATION
147
triert werden. Es wäre wünschenswert, die im Abschnitt 13.1 beschriebenen Techniken auch hier
einsetzen zu können. Das ist aber leider nicht möglich, da für die genutzte Sensorik und Aktorik meist keine entsprechenden elektronischen Beschreibungen existieren. Ein weiterer Hinderungsgrund ist, dass die benötigte Software für die in dieser Arbeit beschriebenen Systeme, die
unterschiedliche Linux-Betriebssysteme nutzen, nicht verfügbar ist. Es bleibt zu hoffen, dass die
technische Entwicklung hin zu Software ohne Plattformabhängigkeiten geht, so dass in Zukunft
auch für dezentrale Energiesysteme standardisierte Software zur Konfiguration und zum Betrieb
der Systeme genutzt werden kann.
13.2.1 Grafisches Userinterface zur Systemparametrierung
Damit Parametrierungs-Aufgaben auch von Personen ohne programmiertechnische Fähigkeiten durchgeführt werden können, wurde für die zweite Ausbaustufe des im Abschnitt 15.1
beschriebenen Wärmepumpen-Monitoringsystems eine Parametriersoftware mit grafischer
Oberfläche entwickelt. Für die Entwicklung dieser Software kamen das GTK+ -Toolkit [96] und
die Programmiersprache C zum Einsatz.
Die hier beschriebene Parametriersoftware wurde für Linux-Betriebssysteme entwickelt. Da C
und GTK+ auch für Microsoft Windows-Betriebssysteme verfügbar sind, ist eine Portierung mit
überschaubarem Aufwand möglich. Ein Screenshot des Hauptfensters der Parametrieroberfläche
ist in Abb. 13.1 abgebildet.
Für die Kommunikationsanbindung der Monitoring-Systeme wird GPRS (siehe Abschnitt
7.3.1) genutzt. Zur Einwahl in das Mobilfunknetz muss eine PIN eingegeben werden. Aus der
ebenfalls einzugebenden RDA-Nummer werden die Zugangsdaten zum GSM-Accesspoint des
Mobilfunk-Providers generiert.
Die eingesetzten Monitoringsysteme verfügen über unterschiedliche Ausstattungen an Messtechnik, da verschiedene Wärmepumpensysteme vermessen werden müssen. Aus diesem
Grund muss jedes einzelne Monitoringsystem den angeschlossenen Messgeräten entsprechend
individuell parametriert werden.
Eines der Ziele bei der Softwareentwicklung war es, eine möglichst weitreichende Überprüfung
der Nutzereingaben zur Verhinderung von Fehlparametrierungen zu gewährleisten. Dazu
analysiert die Software die Nutzereingaben und weist den Nutzer auf Fehler und ungültige
Anweisungen hin. In Abb 13.2 sind zwei derartige Fehlermeldungen dargestellt. Die Software
überprüft z. B. die Länge der eingegebenen PIN oder die Gültigkeit von Zugriffs-IDs für
Wärmemengenzähler. Soweit das möglich ist, werden keine Textfelder, sondern Menüs mit
vorgegebenen Optionen genutzt, um nur gültige Eingaben zuzulassen (z. B. nur Typen von
Wärmemengenzählern, die im Projekt auch wirklich genutzt werden).
148
KAPITEL 13. KONFIGURATIONS- UND PARAMETRIERSOFTWARE
Abbildung 13.1: Hauptfenster der Parametriersoftware für WP-Effizienz-Messsysteme
Abbildung 13.2: Fehlermeldungen der WP-Effizienz-Parametriersoftware bei einer ungültigen
PIN-Eingabe bzw. bei der Eingabe einer falschen ID für einen Wärmemengenzähler
13.2. SOFTWAREINSTALLATION
149
Nach Abschluss der Parametrierung bekommt der Nutzer der grafischen Oberfläche eine Zusammenfassung der von ihm getätigten Eingaben in einem Dialogfenster präsentiert (siehe Abb.
13.3). Durch die übersichtliche Darstellung der Zusammenfassung ist eine einfach Kontrolle aller Eingaben möglich. Sind noch Fehler in der Parameterliste vorhanden, kann der Nutzer zum
vorherigen Programmfenster zurückkehren und Korrekturen durchführen. Durch die nochmalige Überprüfung aller Eingaben wird die Wahrscheinlichkeit für Fehler gesenkt. Erst wenn der
Programmnutzer bestätigt, dass die Parameterliste korrekt ist, wird mit dem Generieren der Konfigurationsfiles für das Messsystem begonnen (siehen Abb. 13.4).
Abbildung 13.3: Zusammenfassung aller Eingaben für die Parametrierung eines WP-EffizienzMesssystems
Abbildung 13.4: Ausgabe der WP-Effizienz-Parametriersoftware beim Generieren von Konfigurationsdateien
150
KAPITEL 13. KONFIGURATIONS- UND PARAMETRIERSOFTWARE
13.2.2 Automatische Hardwareerkennung für Messtechnik
Neben klassischer Messtechnik, bei der keine Informationen über die Konfiguration aus den
Messgeräten ausgelesen werden können, gibt es zunehmend Bussystem-basierte Messwerterfassungssysteme. Bei diesen Systemen ist es von Vorteil, dass die an den Bus angekoppelten
Sensorik- und auch Aktorikbausteine sehr häufig über Identifikationsnummern verfügen,
aus denen sich Rückschlüsse ziehen lassen, um welche Art von Bausteinen es sich handelt.
Durch ein Scannen des Busses nach angeschlossenen Geräeten mit Hilfe der Identifikationsnummern lässt sich im günstigsten Fall die komplette Konfiguration des Messsystems automatisieren.
Ein Beispiel für ein Bussystem mit aussagekräftigen Identifikationsnummern der Bus-Bausteine
ist der OneWire-Bus der Firma Dallas Semiconductors/Maxim [151]. Jeder der Sensorik- und
Aktorik-Bausteine hat eine Identifikationsnummer, über die er beim Auslesen des Bussystems
identifiziert werden kann. Die Identifikationsnummern bestehen aus 16 Stellen. Die ersten
beiden Stellen beinhalten den sogenannten Family Code, über den der Typ des Bausteins identifiziert werden kann. Die weiteren 14 Stellen enthalten eine Seriennummer, die den einzelnen
Baustein identifiziert.
Bsp.: Identifikationsnummer 28E05FCC000000E6 für einen OneWire-Baustein:
28
|{z}
{z
}
|E05F CC000000E6
F amilyCode
Seriennummer
Der Family Code (siehe Tabelle 13.1) sagt aus, dass es sich um einen Temperatursensor vom
Typ DS18B20 handelt. Aus dieser Information kann abgeleitet werden, wie der Baustein
softwaretechnisch angesprochen werden muss. Sind mehrere Temperatursensoren an das
OneWire-Bussystem angeschlossen, lassen sie sich über die Seriennummern zweifelsfrei
voneinander unterscheiden und ansprechen. Die Informationen können dann zum automatischen
Generieren einer Sensorliste für die Messtechnik genutzt werden.
Family Code
Baustein
Funktion
05
DS2405
Single adressable Switch
10
DS1820, DS18S20
Temperature with alarm trips
1D
DS2423
4KB NV RAM memory with external counters
20
D2450
4-Channel A/D converter
28
DS18B20
Adjustble resolution temperature
Tabelle 13.1: Identifikation ausgesuchter OneWire-Bausteine über ihre Family Codes (siehe
[153])
13.2. SOFTWAREINSTALLATION
151
13.2.3 Automatisierte Softwareinstallation
Die Software der Knoten des verteilten Monitoring-Systems besteht aus dem Betriebssystem,
den Kommunikationsprogrammen für die GPRS-Kommunikation und der Mess-Software. Für
alle drei Bereiche müssen Konfigurationsdateien erstellt und auf dem Zielsystem installiert
werden.
Konfiguration von Betriebssystem und Kommunikationssoftware
Jeder Knoten im verteilten Monitoringsystem bekommt einen generischen Hostnamen. Diese
Hostnamen ergeben sich aus den jeweils letzten Stellen der IP-Adressen, die den einzelnen SIMKarten des Systems zugeordnet sind. Die Parametriersoftware erfragt diese Nummern (sog. RDANummern) und generiert daraus die verschiedenen Konfigurationsdateien:
1. /etc/hostname: Beim Einloggen auf dem Embedded System und beim Arbeiten mit dem
System wird in der Shell der in /etc/hostname eingetragene Hostname angezeigt. Das erleichtert beim parallelen Arbeiten mit mehreren Systemen den Überblick.
2. pap-secrets: Diese Datei enthält die Zugangsdaten für die GPRS-Einwahl.
3. pppstart: Alle Parameter für die GPRS-Einwahl werden in dieser Datei festgelegt (z. B.
Baudraten, Einwahlverhalten, etc.).
4. dialup.chat: Dieses Einwahlskript ist für die Eingabe der PIN, die Einwahl und die Authentifikation gegenüber dem Mobilfunkprovider zuständig.
Messtechnik-Konfiguration
Da die verwendeten M-Bus-Zähler zum Zeitpunkt der Parametrierung der Messsysteme nicht
zur Verfügung stehen, müssen ihre Daten über die grafische Oberfläche der Parametriersoftware
eingegeben werden.
Ablauf der Parametrierung und Aufspielen der Software auf das Zielsystem
Je nach verwendetem Embedded System werden zwei verschiedene Arten der Softwareinstallation ausgeführt. Bei den im Abschnitt 15.1.3 beschriebenen Embedded Systems werden
CompactFlash-Karten als Massenspeicher verwendet. In diesem Fall wird für die Parametrierung die in Abb. 13.5 dargestellte Infrastruktur genutzt.
152
KAPITEL 13. KONFIGURATIONS- UND PARAMETRIERSOFTWARE
Cardreader
Parametrier−Software
Parametrier−Rechner
RS232
CompactFlash−Karte
OneWire−Messtechnik
Abbildung 13.5: Infrastruktur für die Softwareinstallation von Wärmepumpen-Monitoringsystemen
Die Parametrierung läuft in folgenden Schritten ab:
1. Einlegen der CompactFlash-Karte des Embedded Systems in den USB-Cardreader des
Parametrierrechners
2. Anschluss von Bus-basierter Messtechnik (z. B. OneWire-Bausteine) an den Parametrierrechner
3. Starten der Parametriersoftware
4. Eingabe aller notwendigen Daten für die Parametrierung
5. Schreiben eines Betriebssystem-Images mit dem im Abschnitt 12.1.1 beschriebenen Verfahren auf die CompactFlash-Karte
6. Hardwareerkennung der Bus-basierten Messtechnik
7. Automatisches Generieren der Konfigurationsdateien für die GPRS-Einwahl und die Messtechnik
8. Kopieren der Konfigurationsdateien auf die CompactFlash-Karte
9. Installation der CompactFlash-Karte in das Embedded System
10. Testlauf des Messsystems im Labor
Der Testlauf des fertig konfigurierten Systems mit angeschlossener Messtechnik ist notwendig,
um das korrekte Zusammenspiel aller Komponenten zu überprüfen. Im Labor können Fehlerkorrekturen sehr viel einfacher vorgenommen werden als später im Feld.
13.2. SOFTWAREINSTALLATION
153
Wenn Embedded Systems genutzt werden, die über einen fest eingebauten Massenspeicher verfügen, auf dem schon ein Betriebssystem vorinstalliert ist, können die erstellten Konfigurationsdateien per Netzwerkanbindung (z. B. per FTP oder SCP) vom Parametrierrechner auf das
Embedded System übertragen werden. Dabei müssen auf dem Massenspeicher des Embedded
Systems bestimmte weitere Änderungen vorgenommen werden. Z. B. müssen neue Verzeichnisstrukturen angelegt und an zahlreichen Stellen im System Zugriffsrechte geändert werden.
Die Installation gestaltet sich dadurch insgesamt sehr viel komplexer als bei einem System, bei
dem mit Betriebssystemimages gearbeitet werden kann.
154
KAPITEL 13. KONFIGURATIONS- UND PARAMETRIERSOFTWARE
Kapitel 14
Hardware-Anforderungen an Verteilte
Systeme
14.1 Speichermedien
Embedded Systems benötigen wie jeder andere Computer auch Speichermedien, die nicht flüchtig sind. Die Anforderungen an die Speicher können bei Embedded Systems jedoch wesentlich
höher sein als bei handelsüblichen Personalcomputern, da sie unter ungünstigen Umgebungsbedingungen über lange Zeiträume wartungsfrei laufen müssen. Prinzipiell muss zwischen zwei
Arten von nicht flüchtigen Speichern unterschieden werden, die bei Embedded Systems Verwendung finden:
• Festplatten
• Speichermedien, die aus Flash-Bausteinen aufgebaut sind.
Je nach Anwendung können beide Varianten oder sogar eine Kombination von beiden geeignet
sein.
14.1.1 Festplatten
Festplatten sind immer dann geeignet, wenn sehr schnelle Speichermedien benötigt werden und
wenn mit sehr vielen Schreib- und Lesezyklen gerechnet werden muss. Ein großes Problem
der Festplatten ist ihre Störanfälligkeit bei hohen Temperaturen. Sollen Festplatten in einem
Embedded System bei hohen Umgebungstemperaturen genutzt werden, müssen geeignete
Kühlmechanismen verwendet werden (z. B. Lüfter, Heatpipes).
Die Lebensdauer von Festplatten hängt sehr stark von ihrer Bauform und dem Anwendungsfeld
ab, für das sie entwickelt wurden. Die längste Lebensdauer haben Server-Festplatten im
3,5-Zoll-Format mit hohen Umdrehungszahlen (z. B. 10000 U/min). Das gilt jedoch nur, wenn
sie ständig laufen und nur selten Starts und Stopps auftreten. Ihr Stromverbrauch und die damit
155
156
KAPITEL 14. HARDWARE-ANFORDERUNGEN AN VERTEILTE SYSTEME
verbundene Abwärme sind außerdem so hoch, dass sie für Embedded Systems kaum geeignet
sind. 2,5-Zoll-Notebookfestplatten haben sich aufgrund ihres sparsamen Stromverbrauchs und
ihrer geringen Wärmeentwicklung besser bewährt. Sie sind auch für eine wesentlich höhere
Anzahl von Start-Stopp-Zyklen ausgelegt, so dass sich durch häufiges Ein- und Ausschalten
des Embedded Systems keine Probleme ergeben. Viele Notebookfestplatten sind nicht für einen
Dauerbetrieb ausgelegt und sollten deshalb auch nicht dafür genutzt werden, da sie sonst nur
geringe Lebensdauern erreichen.
Seit einiger Zeit sind auch Server-Festplatten im 2,5-Zoll-Format verfügbar.
Die Nutzung von Festplatten im Compact Flash II Gehäuse (so genannte Microdrives) ist
sinnvoll, wenn nur gelegentlich Daten gespeichert werden müssen. Diese Festplatten benötigen
sehr wenig Energie, da ihre Platten sich nicht ständig drehen, sondern erst beim Zugriff anlaufen
und kurze Zeit nach dem Zugriff auch wieder stoppen. Die Laufwerke sind jedoch nicht für den
Dauerbetrieb geeignet.
Allgemein sind Festplatten sehr empfindlich gegen starke Magnetfelder und mechanische Beanspruchungen. Bei Arbeitsumgebungen, in denen derartige Belastungen vorkommen, sollten
Speichermedien mit Flash-Speichern genutzt werden.
14.1.2 Speichermedien aus Flash-Bausteinen
Aus Flash-Bausteinen aufgebaute Speichermedien gibt es in ganz verschiedenen Bauformen
(z. B. USB-Stick, Multimedia Card (MMC), Secure Digital Memory Card (SD-Card), Memory
Stick, . . . ). Sehr häufig anzutreffen und für Embedded Systems besonders geeignet ist die
compact flash card (CF-Card). Sie besitzt elektrisch die gleiche Schnittstelle wie StandardFestplatten, nämlich das so genannte Advanced Technology Attachment with Packet Interface
(ATA/ATAPI). Es wurde vom International Committee for Information Technology Standards
[130] erarbeitet. Mit einem mechanischen Adapter können CF-Karten anstelle von Festplatten
in Embedded Systems eingesetzt werden. Sie verhalten sich wie Festplatten und werden
softwaretechnisch vom Betriebssystem auch so angesprochen.
CF-Karten haben den großen Nachteil, dass sie nur eine sehr begrenzte Anzahl von Schreibund Lesezyklen zulassen und dann ausfallen. Je nach Hersteller (z. B. Kingston [140], Sandisk
[190], . . . ) werden Zyklenzahlen zwischen einer Million und fünf Millionen angegeben.
Der Standard der CompactFlash-Association [45] sieht sogar nur 10.000 Zyklen vor. Da oft
auch für einfache Betriebssystemfunktionen, wie z. B. das Schreiben von Log-Files, auf den
Massenspeicher zugegriffen wird, ist diese Zyklenanzahl recht schnell erreicht. Deshalb müssen
Mechanismen entwickelt werden, die die Anzahl der Schreib- und Lesezyklen minimieren. Ein
entscheidender Faktor ist dabei die Wahl des Dateisystems, mit dem die Daten auf der CF-Karte
abgelegt werden. Völlig ungeeignet ist z. B. das beim Betriebssystem Linux sehr häufig genutzte
ext3-Dateisystem, da es bei jedem Lesezugriff auf eine Datei auch schreibend tätig wird und
14.1. SPEICHERMEDIEN
157
damit die Zahl der Schreib- und Lesezyklen unnötig in die Höhe treibt. Viel besser geeignet ist
sein Vorgänger ext2, der bei Leseoperationen wirklich nur liest.
14.1.3 Maßnahmen zur Erhöhung der Betriebsstabilität
Soll ein Embedded System über mehrere Jahre ohne Wartung laufen und ist mit unvorhersehbaren Unterbrechungen der Stromversorgung zu rechnen, sollten Schreibzugriffe auf den
Massenspeicher ganz unterbunden werden. Fehler beim Schreiben des Dateisystems (durch
defekte Speicherzellen oder Stromausfall) könnten sonst dazu führen, dass das System nicht
mehr booten und damit ausfallen würde. Um Schreibzugriffe zu unterbinden, wird die Speicherkarte nur noch im Modus readonly betrieben. Alle Schreibzugriffe, die das Betriebssystem
durchführen will, müssen entweder komplett unterbunden werden, was sehr aufwändig ist,
oder aber in einen Teil des Random Access Memory (RAM = Arbeitsspeicher) umgeleitet
werden. Dazu müssen die Verzeichnisse, in die das Betriebssystem schreiben will, entweder
transparent (d. h. für den schreibenden Prozess nicht als andersartig erkennbar) auf eine so
genannte RAM-Disk abgebildet werden, oder aber es wird ein überlagertes RAM-Dateisystem in
die Verzeichnisse eingehängt. Ein solches Dateisystem ist z. B. Unionfs [7]. Es wird oftmals für
sogenannte LiveCDs genutzt, bei denen ein komplettes Betriebssystem von einer CD oder DVD
gebootet werden kann. Ein anderer Anwendungsbereich sind Kleinrechner mit einer Solid State
Disk SSD (z. B. der EEE-PC der Firma ASUSTeK Computer Inc. [15]). Um bei diesen Rechnern
Schreibzugriffe auf den Massenspeicher zu reduzieren, wird ebenfalls Unionfs eingesetzt.
Unionfs wird als Stackable Unification File System beschrieben. Es sorgt dafür, dass die
Inhalte verschiedener Verzeichnisse als der Inhalt eines einzigen Verzeichnisses erscheinen.
Dabei bleiben die Inhalte physikalisch getrennt. In Abbildung 14.1 wird die Funktionsweise
beschrieben.
Das schreibbare Verzeichnis “Obst” der RAM-Disk wird über das Verzeichnis “Obst” auf der
schreibgeschützten CF-Karte gelegt. (siehe Teilabbildung A). Soll nun die Datei “Apfel” gelesen
werden, wird auf die Originaldatei auf der CF-Karte zugegriffen. Versucht jetzt ein Prozess die
Datei “Apfel” zu verändern und diese Veränderungen abzuspeichern, wird die geänderte Datei
in der RAM-Disk abgelegt (siehe Teilabbildung B). Von jetzt an werden alle Lese- und Schreibzugriffe auf die Datei “Apfel” auf der RAM-Disk ausgeführt, während Lesezugriffe auf nicht
geänderte Dateien (z. B. auf die Datei “Birne”) weiterhin auf die CF-Karte erfolgen. Mit dieser Methode kann das Betriebssystem ohne irgendwelche Modifikationen sämtliche benötigten
Schreibzugriffe ausführen ohne dabei auf die Schreibzugriffe auf die CF-Karte zu schreiben.
Bei einem Stromausfall geht der Inhalt des überlagerten Dateisystems lediglich auf der RAMDisk verloren. Da hier aber für den Betrieb des Embedded Systems unwichtige Dateien des
Betriebssystems (z. B. Logfiles) angelegt wurden, stellt das keinen großen Verlust dar. Auf der
CF-Karte bleibt auf jeden Fall ein bootfähiges Betriebssystem erhalten, das ohne Probleme neu
booten kann. Will man auf dem Embedded System dauerhaft Daten ablegen, muss man zusätzlich zur schreibgeschützten Partition, die das Betriebssystem enthält, noch eine beschreibbare
158
KAPITEL 14. HARDWARE-ANFORDERUNGEN AN VERTEILTE SYSTEME
Überlagerung
mit Unionfs
Datei, readonly
Apfel
Datei, geändert
Obst
Obst
Verzeichnis
RAM−Disk
Apfel
Apfel
Birne
Birne
Obst
Obst
A
CF−Karte, readonly
B
Abbildung 14.1: A: Das Verzeichnis “Obst” auf der RAM-Disk wird per Unionfs dem Verzeichnis
“Obst” auf der readonly CompactFlash-Card überlagert.
B: Änderungen an der Datei “Apfel” auf der CompactFlash- Karte werden als
Datei “Apfel” auf der RAM-Disk gespeichert
Datenpartition anlegen. Bei Stromausfall während eines Schreibzugriffs kann es auf dieser Partition zu Datenverlusten kommen. Davon ist aber nie das Betriebssystem selbst betroffen, so dass
das System trotz des möglichen Datenverlusts immer bootfähig bleibt.
14.2 Datensicherheit
Das Anlegen von Sicherheitskopien (Backups) ist eine gute Möglichkeit, um Datenverlusten
durch den Ausfall eines Massenspeichers vorzubeugen. Dazu gibt es verschiedene Möglichkeiten:
Lokale Kopien und Früherkennung von Festplattenschäden
Lokale Kopien von Daten auf dem Embedded System können mit so genannten RAIDs erzeugt
werden. Ein RAID (Redundant Array of Independent (oder Inexpensive) Disks) ist ein System,
bei dem die zu speichernden Daten auf mehrere Festplatten verteilt werden. Dabei ist es je nach
RAID-Level (der Art der RAID-Nutzung) möglich, die Daten einer ausgefallenen Festplatte aus
den anderen am RAID-Verbund beteiligten Festplatten zu rekonstruieren.
14.3. STABILISIERUNG DER SPANNUNGSVERSORGUNG
159
Wenn kein RAID zur Verfügung steht, sollten zumindest Mechanismen zur Früherkennung von
Festplattenschäden genutzt werden. Moderne Festplatten verfügen dazu über Self-Monitoring,
Analysis and Reporting Technology (SMART). Festplatten mit SMART überprüfen sich selbst
auf Anzeichen eines drohenden Ausfalls und geben bei Fehlern entsprechende Fehlermeldungen
aus. Mit Auswertungs-Software (z. B. smartmontools [199] unter Linux) lassen sich frühzeitig
Festplattendefekte ausmachen und entsprechende Fehlermeldungen per Email absetzen, so dass
ein Austausch der Platte möglich ist, bevor Datenverluste entstehen.
Backup über das Netzwerk
Sicherheitskopien auf einer lokalen Festplatte sind besser als gar keine Sicherheitskopien. Eine
wirkliche Datensicherheit ist mit ihnen allerdings nicht zu erreichen, da z. B. durch Blitzschäden sämtliche Festplatten eines Rechners auf einmal zerstört werden können. Sicherheitskopien
sollten deshalb an einem anderen Ort als dem des Rechners aufbewahrt werden. Bei vernetzten
Embedded Systems bietet sich deshalb die Nutzung der Netzwerk-Konnektivität an. Dabei ist es
bedeutend einfacher, Daten von den Netzknoten auf einem zentralen Rechner einzusammeln und
dort ein zentrales Backup für alle Knoten eines verteilten Systems durchzuführen, als Backups
für jedes einzelne Embedded System eines Netzwerks zu implementieren.
14.3 Stabilisierung der Spannungsversorgung
Embedded Systems müssen oftmals unter Bedingungen arbeiten, bei denen eine stabile Spannungsversorgung durch das Stromnetz nicht gewährleistet werden kann. Beschädigungen durch
Spannungsspitzen können mit Überspannungsfiltern zwar vermieden werden, gegen ungewollte
Resets der Embedded Systems durch Spannungsunterbrechungen (black outs) und gegen
Systemabstürze durch Spannungseinbrüche (brown outs) helfen diese Filter allerdings nicht.
Um Resets und Abstürze zu vermeiden, sind entweder ausreichend große Pufferkondensatoren
in den Netzteilen oder unterbrechungsfreie Stromversorgungen (USVs) notwendig. USVs sind
Geräte, die fortwährend mit hoher zeitlicher Auflösung die Netzspannung messen. Bei Einbruch
des Spannungsniveaus stützen sie die Spannung mittels eines eingebauten Akkus über einen
Wechselrichter. Manche USVs können bei einem kompletten Stromausfall die Stromversorgung
eines Embedded Systems mehrere Tage lang bewerkstelligen. Die meisten USVs verfügen über
eine Kommunikationsschnittstelle, über die das Embedded System den Betriebszustand abgefragen kann. Wenn z. B. der Akku einer USV fast leer ist, kann das Embedded System diesen
Zustand frühzeitig erkennen und kontrolliert herunterfahren. Dadurch können Datenverluste
vermieden werden.
Manche Prozessoren für Embedded Systems verfügen über eine brown out detection. Sie sorgt
dafür, dass bei einem Spannungseinbruch ein definierter Reset des Systems durchgeführt wird.
160
KAPITEL 14. HARDWARE-ANFORDERUNGEN AN VERTEILTE SYSTEME
14.4 Watchdog
Ein Watchdog (engl, Wachhund) ist ein Mechanismus, der dazu dient, Systemkomponenten oder
Prozesse zu beobachten und im Falle eines Ausfalls entsprechende Maßnahmen einzuleiten.
Watchdogs gibt es als Hardware- oder als Softwarelösung.
Hardware-Watchdogs sollen sicherstellen, dass das Betriebssystem eines Rechners ständig
läuft. Ein Hardware-Watchdog arbeitet meist mit einem Zähler, dessen Stand in regelmäßigen
Zeitabständen automatisch dekrementiert wird. Erreicht der Zählerstand den Wert 0, führt
der Watchdog einen Reset des Gesamtsystems durch. Läuft das Betriebssystem des Rechners
korrekt, wird durch eine Software der Zählerstand des Hardware-Watchdogs regelmäßig
inkrementiert oder auf einen bestimmten Wert gesetzt. Dadurch wird ein Reset des Systems
durch den Hardware-Watchdog unterbunden.
Software-Watchdogs sind Programme, die die Arbeit anderer Programme überwachen und
kontrollieren, ob diese korrekt laufen und Aufgaben innerhalb eines bestimmten Zeitfensters
abarbeiten. Sie dienen dazu, essentielle Prozesse zu überwachen. Außerdem können sie dazu
genutzt werden, kritische Systemzustände, z. B. durch unsauber arbeitende Programme (memory
leak) verursachten Speichermangel, frühzeitig zu erkennen und Gegenmaßnahmen einzuleiten.
Software-Watchdogs können ihrerseits wieder durch Hardware-Watchdogs überwacht werden,
so dass ein mehrstufiges Überwachungssystem entsteht.
Beim Betriebssystem Linux kann der init-Prozess, der nach dem Booten des Systems als erster Prozess gestartet wird, als Software-Watchdog genutzt werden. Programme, die mit der sogenannten respawn-Option in die Datei /etc/inittab eingetragen sind, werden durch init sofort
nach ihrem Absterben erneut gestartet. Der erste Start erfolgt automatisch beim Systemstart. In
Abb. 14.2 ist ein Beispiel für zwei Eintragungen in /etc/inittab dargestellt. Zwei Prozesse werden
hier von init überwacht. ppp0 und ppp1 sind frei gewählte Bezeichnungen für diese Prozesse. Die
Zahl 2 steht jeweils für das Runlevel, in dem die Programme aktiv sein sollen. Eintragungen für
mehrere Runlevel sind möglich. Viele Linux-Systeme laufen im Normalbetrieb im Runlevel 2.
Die Startbefehle für die Prozesse sind /root/soekris/pppstart und /root/soekris/pppsentry .
ppp0:2:respawn:/root/soekris/pppstart
ppp1:2:respawn:/root/soekris/pppsentry
Abbildung 14.2: Eintragung zweier Programme zum Aufbau einer Einwahl-Internetverbindung
als respawn-Prozesse in /etc/inittab
Kapitel 15
Evaluation
In den beiden folgenden Abschnitten soll beschrieben werden, wie die in den vorangehenden
Kapiteln dieser Arbeit erläuterten Konzepte und technischen Lösungsansätze in Form von zwei
Monitoringprojekten für Wärmepumpen und einem Regelungssystem für Energieströme in einem
Niederspannungsnetz umgesetzt wurden. Diese Systeme arbeiten zum Zeitpunkt der Fertigstellung dieser Arbeit schon über ein Jahr und haben ihre Praxistauglichkeit bewiesen. An ihnen
lässt sich gut ablesen, dass es keine technischen Patentrezepte gibt, die sich für alle Einsatzfälle
sinnvoll anwenden lassen. Je nach Randbedingungen müssen immer wieder spezielle technische Lösungen gefunden werden. Die Projekte zeigen aber auch, dass Embedded Systems und
Internet-Technologie als flexible Basis für die Regelung und das Monitoring von dezentralen
Energiesystemen geeignet sind.
15.1 Ein verteiltes Monitoringsystem zur Vermessung von
Wärmepumpen
15.1.1 Projekte Wärmepumpen im Gebäudebestand und WärmepumpenEffizienz
Im Rahmen der Projekte “Wärmepumpen im Gebäudebestand” [231] und “WärmepumpenEffizienz” [230] des Fraunhofer Instituts für Solare Energiesysteme ISE [134] (siehe auch
[38][155]) wurde ein Monitoring von Wärmepumpensystemen in Einfamilienhäusern durchgeführt. Dazu wurde ein verteiltes Montoringsystem mit insgesamt ca. 150 Messstellen in
ganz Deutschland auf der Basis von vernetzten Embedded Systems konzipiert und über einen
Zeitraum von mehr als zwei Jahren erstellt und betrieben. Die geografische Verteilung der
Systeme ist in Abb. 15.1 dargestellt.
Die in den beiden Projekten erhobenen Daten dienten zur Ermittlung der Energieeffizienz von
Wärmepumpensystemen der an den Projekten beteiligten Hersteller. Die Messdaten wurden
dazu in grafischer Form übersichtlich aufbereitet und den Projektpartnern auf Projekt-Webseiten
161
162
KAPITEL 15. EVALUATION
Abbildung 15.1: Geografische Verteilung der Messsysteme aus den Projekten Wärmepumpen im
Gebäudebestand (links) und Wärmepumpen-Effizienz (rechts) in Deutschland
(Quelle: Screenshots der Projekt-Webseiten [231][230] )
zugänglich gemacht. Ein Beispiel für eine grafische Aufbereitung der Messwerte eines Jahres
ist in der Abbildung 15.3 dargestellt.
Einige Messsysteme wurden per DSL an das Internet angebunden, um das Reglerverhalten der
Wärmepumpen in nahezu Echtzeit visualisieren zu können. Dazu wurde die im Kapitel 9 beschriebene Visualisierung mit Java-Applets im Webbrowser genutzt. Ein Screenshot der JavaVisualisierung eines Wärmepumpensystems ist in Abb. 9.1 auf Seite 107 abgebildet.
15.1.2 Kommunikationsinfrastruktur
Die Messdaten der Messsysteme im Feld sollten einmal täglich abgerufen werden. Aufgrund
der hohen Kosten und des großen Einrichtungsaufwandes schied für die Kommunikation die
Nutzung von DSL, ISDN und Telefonmodems für die meisten Messsysteme aus. Stattdessen
wurde die Nutzung von Mobilfunktechnologie für die Datenübertragung beschlossen. Die Wahl
fiel auf das Produkt Corporate Data Access (CDA) der Firma Vodafone [219]. Vodafone konnte
zum Zeitpunkt des Projektstarts als einziger Anbieter die Möglichkeit eines Verbindungsaufbaus
von einem Abfragerechner zu den mobilen Stationen mittels eines per Virtual Private Network
(VPN) angebundenen privaten Subnetzes offerieren. Die Infrastruktur des Abrufprozesses ist in
Abbildung 15.2 dargestellt. Jedes Messsystem baut selbständig eine GPRS-Verbindung (siehe
15.1. VERTEILTES MONITORINGSYSTEM
163
Abschnitt 7.3.1) zum Mobilfunkprovider auf. Beim Verbindungsaufbau werden den Systemen
private IP-Adressen (siehe Abschnitt 7.4.1 und Tabelle 7.3) zugeteilt. Die IPs aller Messsysteme
stammen aus dem Class-C-Subnetz 192.168 36.0/24. Der Rechner, der täglich die Messdaten
von den Messsystemen abholt, wird per Virtual Private Network VPN (siehe Abschnitt 8.1)
an das Subnetz der Messsysteme angebunden. Er kann dadurch per Secure Shell (SSH) (siehe
Abschnitt 7.5.5) direkt auf die Messsysteme zugreifen. Durch diese Infrastruktur wurden
sämtliche Probleme umgangen, die bei der sonst üblichen Network Address Translation (NAT)
(siehe Abschnitt 7.4.1) entstehen.
Mittlerweile bieten auch andere Mobilfunk-Netzbetreiber VPN-Lösungen an. Die Einrichtung
einer solchen Kommunikationslösung ist recht aufwändig und teuer. Sie lohnt sich nur, wenn
eine große Anzahl von Messstellen benötigt wird. Auch GSM-Zugänge mit festen IP-Adressen
sind inzwischen verfügbar. Ein Anbieter ist z. B. die I.T.E.N.O.S GmbH [135], die unter dem
Markennamen White [222] derartige Zugänge vertreibt.
KAPITEL 15. EVALUATION
164
Daten−Abrufrechner
VPN−Router
Abrufseite
VPN−Router
Mobilfunk−Anbieter
Netzwerk Mobilfunk−Anbieter
virtuelles Subnetz
Messstellen
VPN
Abbildung 15.2: Infrastruktur des Messdatenabrufs per GSM für im Feld verteilte Messsysteme. Der Abrufrechner wird per Virtual Private Network an das Netzwerk des
Mobilfunkanbieters angebunden.
15.1. VERTEILTES MONITORINGSYSTEM
Abbildung 15.3: Jahresauswertung des Betriebs einer Fluid-Wärmepumpe
165
KAPITEL 15. EVALUATION
166
15.1.3 Hardware
Embedded Systems
Die Monitoringprojekte waren für einen Betrieb von insgesamt ca. 150 Messstellen geplant, so
dass die Entwicklung von ressourcenschonender Software sinnvoll war. Diese Software ermöglicht den Einsatz von entsprechend leistungsschwächeren, dafür aber deutlich kostengünstigeren
Embedded Systems. Die Wahl fiel auf das Modell net4501 der Firma Soekris Engineering Inc.
[200]. Die Komponenten dieser Embedded Systems werden nachfolgend beschrieben:
Prozessor: Das Embedded System enthält einen Prozessor vom Typ Elan SC520 der Firma
Advanced Micro Devices AMD [8]. Diese CPU arbeitet mit 133 MHz und hat einen x86kompatiblen Befehlssatz. Die Leistungsaufnahme unter Volllast liegt bei ca. 3 W. Die Rechenleistung entspricht der eines 486er-PC-Prozessors mit 133 MHz. Systeme mit gleicher Rechenleistung, aber Prozessoren anderer Architektur (z. B. ARM9) benötigen deutlich weniger elektrische Leistung, sind dafür aber auch sehr viel teurer (siehe dazu auch
Abschnitt 3.1). Durch die x86-Architektur entfällt bei der Softwareentwicklung auch eine
Crosscompilation für das Zielsystem.
Arbeitsspeicher: Der 64 MB-Arbeitsspeicher (SDRAM) des Rechners ist ausreichend für ein
angepasstes Linux-Betriebssystem, die Mess-Software, die Kommunikationssoftware und
eine 15 MB RAM-Disk für das temporäre Ablegen von Messdaten.
Typische Linux-Installationen auf PCs benutzen eine Swap-Partition auf der Festplatte.
Ist der Bedarf an Arbeitsspeicher größer als der vorhandene Arbeitsspeicher, werden Teile
des Arbeitsspeicherinhalts in die Swap-Partition der Festplatte ausgelagert.
Bei der Linux-Installation für das Messsystem wurde auf eine Swap-Partition verzichtet,
da der verwendete Massenspeicher (eine CompactFlash-Karte) nicht für den Betrieb als
Swap-Medium geeignet ist.
Die verwendete Software ist so ausgelegt, dass mit einem Überlaufen des Arbeitsspeichers
nicht zu rechnen ist. Sollte dieser Zustand dennoch eintreten, sorgt ein Watchdog für einen
Reset des Systems. Das führt zwar zu Verlusten bei den Messdaten, sorgt aber dafür, dass
das System wieder in einen definierten Betriebszustand überführt wird. Ohne Reset könnte
das Verhalten des Systems nicht vorhergesagt werden. Im ungünstigsten Fall könnte der
Rechner sogar komplett stehen bleiben.
Massenspeicher: Als Massenspeicher kommen CompactFlash Type I-Karten der Firma SanDisk [190] mit einer Kapazität von 512 MB zum Einsatz. Ihre Speicherkapazität ist ausreichend groß für das Betriebssystem und die Messdaten von mehreren Monaten Messbetrieb. Festplatten sind für diesen Anwendungsfall nicht geeignet, da nur Microdrives in der
Bauform einer CompactFlash Type II-Karte in das Gehäuse des net4501 integriert werden
können. Microdrives sind jedoch nicht für den Dauerbetrieb ausgelegt.
15.1. VERTEILTES MONITORINGSYSTEM
167
Schnittstellen: Das Embedded System net4501 verfügt über zwei serielle Schnittstellen vom
Typ RS232, die für den Anschluss von Messtechnik und Kommunikationsgeräten genutzt
werden. Die erste Schnittstelle ist direkt an der Geräterückseite über einen 9-poligen SUBD-Stecker zugänglich (siehe Abb. 15.5, Console). Die zweite RS232-Schnittstelle ist nur
als Pfostenleiste im Inneren des Gehäuses zugänglich (siehe Abb. 15.4, COM2). Sie wird
über ein Flachbandkabel nach außen geführt (siehe Abb. 15.5, externer Stecker). Im Messsystem werden beide seriellen Schnittstellen genutzt. An die erste Schnittstelle ist ein
M-Bus-Master angeschlossen, welcher zum Auslesen von Wärmemengenzählern benötigt wird. Die zweite Schnittstelle ist mit einem GSM-Modem verbunden, mit welchem die
Kommunikation zum Abrufrechner bewerkstelligt wird.
Netzwerk: Das Gerät verfügt über drei 10/100 Mbit Ethernet-Ports. Für Installationszwecke
kann der Rechner von der ersten Netzwerkschnittstelle über das Netzwerk booten.
Watchdog: Der Prozessor Elan SC520 verfügt über einen integrierten Hardware-Watchdog (siehe Abschnitt 14.4). Dieser kann mit Hilfe eines Linux-Kerneltreibers bei kritischen Systemzuständen den Rechner zurücksetzen.
Temperaturbereich: Der net4501 ist für einen Temperaturbereich von 0-60 ◦ C spezifiziert.
COM1
Netzwerkschnittstellen
COM2
Ethernet−Transceiver
PCI−Ethernet−Controller
COM2
CPU/Chipsatz
PCI−Slot
RAM
CF−Slot
BIOS
Abbildung 15.4: Innenleben des net4501 der Firma Soekris Engineering Inc. [200]
KAPITEL 15. EVALUATION
168
COM2
Netzwerkschnittstellen
COM1
Spannungsversorgung
Abbildung 15.5: Rückseite des net4501 der Firma Soekris Engineering Inc. [200] mit Anschlüssen für Netzwerk (eth0, eth1, eth2), seriellen Schnittstellen (Console und externer Stecker) und Spannungsversorgung (Power)
Anschluss
Eth0
Eth1
Eth2
Console
silberner externer Stecker
Power
Typ
Netzwerkinterface (IP: 10.0.0.100)
Netzwerkinterface (IP: 192.168.127.1)
Netzwerkinterface
serielle Schnittstelle
serielle Schnittstelle
Stromversorgungsbuchse
Verbindung zu
Service-Laptop
COM-Server
M-Bus-Master
GSM-Modem
Netzeil (12V)
Tabelle 15.1: Anschlüsse des net4501 der Firma Soekris Engineering Inc [200] und deren Nutzung
GSM-Modem
Zum Einsatz kommt ein MC35i Terminal der Firma Siemens [196]. Das Gerät wurde deshalb
ausgewählt, weil es eine sehr großen Stabilität im Betrieb aufweist. Die mit diesem Modem
erzielbaren Übertragungsraten sind vergleichsweise gering, da es nur die Multislot-Klasse 4
(siehe Abschnitt 7.2) beherrscht und deshalb für den Datenupload keine Kanalbündelung nutzen
kann.
15.1. VERTEILTES MONITORINGSYSTEM
169
Im Gegensatz zu GSM-Routern, die selbständig GSM-Datenverbindungen aufbauen und aufrecht erhalten können, verfügt das MC35i Terminal nicht über diese Fähigkeiten. Deshalb muss
das Embedded System sämtliche Aktionen im Zusammenhang mit dem Verbindungsaufbau und
dem Aufrechterhalten der Verbindung durchführen. Durch die Nutzung des “dummen” Modems
ergibt sich dafür aber ein Kostenvorteil von ca. 500 Euro pro Messsystem gegenüber der Nutzung
eines GSM-Routers.
COM-Server
Das gewählte Embedded System verfügt nur über zwei serielle Schnittstellen. Für die zwei unterschiedlichen Bus-Systeme der Messtechnik (OneWire-Bus [151] und M-Bus [154]) sowie das
GSM-Modem werden jedoch drei serielle Schnittstellen benötigt. Die Hauptplatine des net4501
verfügt zwar über einen PCI-Steckplatz, in den eine kostengünstige Schnittstellenkarte passen
würde. Das Gehäuse hat jedoch keine Aussparung für die Montage einer solchen Erweiterung.
Deshalb kommt ein sogenannter COM-Server vom Typ NPort DE-211 der Firma Moxa Technologies Inc. [161] zum Einsatz. Dieses Gerät stellt über eine 10 Mbit Netzwerkverbindung per
Socket eine weitere serielle Schnittstelle zur Verfügung. Der Netzwerk-Port des COM-Servers
wird dabei per Netzwerk-Cross-Kabel direkt mit einem der Ethernet-Ports des net4501 verbunden.
Auswahl der Messtechnik
Für das Monitoring der Wärempumpen müssen folgende Messgrößen und abgeleitete Größen
erfasst werden.
• Vorlauf-, Rücklauf- und Differenztemperaturen für verschiedene Wasser- und Solekreise
• Wärmemengen
• Wärmeleistungen
• Lufttemperaturen
• Luftfeuchten
• elektrische Energie
Für die Messung der Wärmemengen, Wärmeleistungen und Temperaturen werden Wärmemengenzähler eingesetzt, da diese Geräte auch bei Stromausfall weiterarbeiten und keine Messdaten
verlieren. Diese Geräte gibt es in verschiedenen Ausführungen mit unterschiedlichen Kommunikationsschnittstellen (siehe Tabelle 15.2). Da mehrere Wärmemengenzähler über eine serielle
Schnittstelle des Embedded Systems ausgelesen werden sollen, kamen nur busfähige Kommunikationstechniken in Frage. Die Impulsausgänge der Wärmemengenzähler scheiden neben der
mangelnden Busfähigkeit auch aus, weil über sie nur Leistung und Energie, aber nicht die ebenfalls benötigten Temperaturen ausgelesen werden können. Für die Messung der Wärmemengen von Sole-Kreisen werden Wärmemengenzähler benötigt, die an die im Vergleich zu Wasser
KAPITEL 15. EVALUATION
170
abweichende Wärmekapazität der Sole angepasst sind. Derartige Zähler sind nur mit M-BusSchnittstelle oder Impulsausgang verfügbar, so dass M-Bus die einzige für den Anwendungsfall
geeignete Busvariante ist.
busfähig alle Messgrößen
auslesbar
RS232
nein
ja
RS485
ja
ja
M-Bus
ja
ja
Impulsausgang nein
nein
verfügbar für
Solekreise
nein
nein
ja
ja
Tabelle 15.2: Kommunikationsschnittstellen für Wärmemengenzähler
Die anderen Messgrößen könnten auch per M-Bus erfasst werden. Stromzähler und AnalogDigital-Wandler für die Erfassung von Temperaturen und Luftfeuchten sind erhältlich. Die Geräte sind jedoch so teuer, dass die Technik in den beiden Monitoringprojekten nicht zum Einsatz
kommen konnte und eine kostengünstigere Lösung gefunden werden musste. Eine sehr preisgünstige, aber technisch anspruchsvolle und nur unter sehr eng definierten Randbedingungen
einsetzbare Technik für die Anbindung von Sensoren, ist der OneWire-Bus. Da aufgrund des
Kostendrucks keine andere busfähige Sensorik finanzierbar war, wurde diese Bustechnologie
dennoch eingesetzt. In den beiden folgenden Abschnitten wird die eingesetzte Messtechnik beschrieben.
M-Bus-Messtechnik
Der M-Bus (= Metering Bus, siehe [154]) ist ein in den europäischen Normen EN13757-2 und
EN13757-3 beschriebenes Feldbus-System zur Zählerfernauslesung. In den Messprojekten werden drei verschiedene Typen von M-Bus-Wärmemengenzählern mit integrierten Rechnerwerken
der Firma ELSTER Messtechnik GmbH [71] genutzt. Zum Einsatz kommen die Modelle F4,
F22 und F96.
M-Bus-Geräte lassen sich im Prinzip durch ein Scannen des Busses erkennen. Da die M-BusWärmemengenzähler aber zum Zeitpunkt der Parametrierung des Messsystems nicht zur Verfügung stehen, findet die Konfiguration per Skript und Konfigurationsdatei statt. In Abb. 15.6
ist eine Konfigurationsdatei für einen M-Bus mit 4 Wärmemengenzählern abgebildet. Die erste
Spalte enthält die IDs, über die sich die Wärmemengenzähler über den Bus ansprechen lassen.
Der jeweilige Typ des Wärmemengenzählers ist in der zweiten Spalte angegeben, so dass die
Mess-Software typenspezifische Ausleseroutinen anwenden kann. Das Beispiel stellt die Konfiguration von zwei Wärmemengenzählern vom Typ F96 mit den IDs 1 und 5, einem Zähler vom
Typ F4 mit der ID 2 und einem Zähler vom Typ F22 mit der ID 4 dar.
15.1. VERTEILTES MONITORINGSYSTEM
1
2
4
5
171
F96
F4
F22
F96
Abbildung 15.6: Konfigurationsdatei zur Erstellung einer Sensorliste für ein M-Bus-basiertes
Messsystem mit mehreren Wärmemengenzählern
Messtechnik mit OneWire-Bus
Der OneWire-Bus wurde von der Firma Dallas Semiconductors/Maxim [151] entwickelt. Für
dieses Bussystem ist eine große Zahl von sehr preisgünstigen Sensorik- und Aktorik-Bausteinen
verfügbar. Der Bus besteht aus nur zwei Adern und ist deshalb recht störanfällig. Um die
Störanfälligkeit zu reduzieren, wird die Busverkabelung des Messsystems, wie von Dallas
Semiconductors/Maxim in [152] vorgeschlagen, mit Cat5-Netzwerkkabeln ausgeführt.
Der OneWire-Bus wird mit Hilfe eines Busmasters betrieben. Dieser wird mit Hilfe von zwei
Steckadaptern an die RS232-Schnittstelle des COM-Server angeschlossen Das CAT5-Kabel des
OneWire-Bus wird mit einem RJ45-Stecker an den Busmaster gesteckt.
In beiden Wärmepumpen-Messprojekten werden OneWire-Bausteine zur Messung von Temperaturen, Luftfeuchten, Stromverbräuchen und elektrischen Leistungen genutzt. Für die
Temperaturmessungen und die Feuchtemessungen kommen montagefertige Sensoren von
iButtonLink [109] zum Einsatz. Diese enthalten jeweils einen DS2438-Baustein der Firma
Dallas Semiconductors/Maxim, der Temperaturen messen kann und zusätzlich über einen
Analog-Digital-Wandler verfügt. Der AD-Wandler wird für die Feuchtemessung mit einem
Feuchtesensor HIH-3610 [106] der Firma Honeywell [105] gekoppelt.
Um die elektrischen Energiemengen für den Wärmepumpenbetrieb möglichst kostengünstig zu
erfassen, werden Zähler mit S0-Impulsausgang verwendet. Die Zählung der Impulse erfolgt mit
OneWire-Counterbausteinen vom Typ DS2423. Dazu wurde am Fraunhofer ISE eine Basisplatine
mit vier Counterbausteinen und der dazugehörigen Spannungsversorgung entwickelt.
172
KAPITEL 15. EVALUATION
Abbildung 15.7: Schaltkasten mit Embedded System, GSM-Modem und Messtechnik für ein
Wärmepumpen-Monitoring-Projekt
15.1. VERTEILTES MONITORINGSYSTEM
Abbildung 15.8: Schemazeichnung des im Bild 15.7 abgebildeten Schaltkastens
173
KAPITEL 15. EVALUATION
174
15.1.4 Betriebssystemanpassung
Bei der Wahl des Betriebssystems gab es zahlreiche Randbedingungen, die beachtet werden
mussten:
Speicherplatz:
Auf der CompactFlash-Karte (CF-Karte) des Embedded Systems stehen nur
250 MB für das Betriebssystem zur Verfügung.
Softwareupdates:
Im laufenden Betrieb muss die Neuinstallation oder das Aktualisieren
von Software auf dem System möglich sein.
Kostenfaktor:
Das Betriebssystem darf aufgrund des Kostendrucks im
Projekt keine zusätzlichen Kosten verursachen.
Support:
Das Betriebssystem soll möglichst weit verbreitet sein, um den Support
einer breiten Usercommunity nutzen zu können.
Fernadministration:
Die komplette Administration des Systems muss über eine langsame
GPRS-Verbindung möglich sein. Betriebssysteme mit aufwändiger
grafischer Oberfläche können deshalb nicht genutzt werden.
Treiberunterstützung:
Für alle essentiellen Hardwarekomponenten des Rechners
müssen Treiber vorhanden sein.
Ausgewählt wurde die weit verbreitete Linux-Distribution Debian [50] in der Version 3.1 Sarge. Debian ist ein Community-Projekt und wird von einer sehr großen Gemeinde Freiwilliger
entwickelt. Die Nutzung des Systems ist kostenlos. Die Debian-eigene Paketverwaltung ist sehr
gut geeignet, im laufenden Betrieb Software zu installieren und Updates durchzuführen. Eigene
Installationspakete für selbst entwickelte Software können ohne großen Aufwand erstellt und in
die Debian-Paketverwaltung integriert werden. Alle zur Administration notwendigen Tools gibt
es in Versionen für die Kommandozeile.
Debian ist die umfangreichste aller bekannten Linux-Distributionen, so dass für die meisten Anwendungen schon fertige Installationspakete zur Verfügung stehen.
Betriebssystem-Kernel
Der zentrale Bestandteil jeder Linux-Installation ist der Betriebssystem-Kernel. Im hier beschriebenen Messsystem kommt ein Linux-Kernel der Version 2.4.27 zum Einsatz, der auf den
Kernel-Sourcen des 2.4.27-3-Kernels der Debian-Distribution basiert. Für das Embedded System net4501 wurden einige Anpassungen der Kernelkonfiguration durchgeführt und der Kernel
aus den Quellen neu kompiliert. Die Version 2.4.27 ist eine zum Zeitpunkt der Erstellung dieser Arbeit schon relativ alte Kernelversion. Sie bietet jedoch den Vorteil sehr großer Stabilität,
geringen Ressourcenverbrauchs und einer guten Verfügbarkeit von Treibern für Zusatzhardware
(Watchdog, Comserver, u. a.).
15.1. VERTEILTES MONITORINGSYSTEM
175
Watchdog-Treiber
Der Linux-Kernel 2.4.27 enthält einen Treiber für den Hardware-Watchdog des im net4501
verbauten Chipsatzes Elan SC520. Bei Tests mit Watchdog-Software, die auf den Kernel-Treiber
zugreift, wurde jedoch festgestellt, dass der Treiber nicht korrekt funktionierte und deshalb bei
einem Systemstillstand auch kein Hardware-Reset durch den Watchdog ausgelöst wurde. Nach
längeren Recherchen im Internet fand sich ein Kernelpatch, der dieses Problem schließlich löste.
Aufgrund des Kostendrucks in den Monitoringprojekten konnten keine gepufferten Netzteile
mit USV-Funktionalität (siehe dazu Abschnitt 14.1) und keine Netzfilter zum Einsatz kommen.
Systemabstürze der Embedded Systems aufgrund von Spannungseinbrüchen müssen daher
durch den Watchdog behoben werden. Er setzt die Systeme in einer solchen Situation zuverlässig
zurück, so dass sie nach kurzer Zeit wieder den Messprozess aufnehmen können. Nicht nur bei
einem kompletten Systemstillstand, sondern auch bei anderen kritischen Systemzuständen, führt
der Watchdog einen Reset des Systems durch.
Läuft der Hauptspeicher des Systems über, kann es in einen Zustand geraten, in dem sein Verhalten nicht mehr vorhersagbar ist. In diesem Fall wird das System durch eine Watchdog-Software
ebenfalls zurückgesetzt.
Für jegliche Kommunikation des Systems über die GPRS-Schnittstelle wird eine Secure Shell
(SSH) (siehe Abschnitt 7.5.5) genutzt. Fällt der SSH-Server aus, führt die Watchdog-Software
gleichfalls einen Reset durch.
Partitionen und Dateisysteme
Die CompactFlash-Karte des Systems wurde in zwei gleich große Partitionen unterteilt. Die
erste Partition enthält das Betriebssystem und wird teilweise mit einem Unionfs (siehe Abschnitt
14.1.2 und Unterüberschrift Massenspeicher-Schutz durch Unionfs in diesem Abschnitt) überlagert, um die Zahl der Schreib- und Lesezyklen auf der CF-Karte zu verringern. Zu diesem
Zweck wurde eine spezielle Version des Unionfs in den Kernel integriert.
Die zweite Partition der CF-Karte enthält die Messsoftware und speichert die während des Messprozesses anfallenden Daten. Die Messdaten werden zunächst in eine RAM-Disk gespeichert,
um auch hier die Schreib- und Lesezugriffe auf die CF-Karte gering zu halten. Einmal täglich
wird der Messdatensatz des vorhergehenden Tages auf die CF-Karte übertragen. Die Daten
werden dabei mit bzip komprimiert, um Speicherplatz zu sparen und das Datentransfervolumen
beim Datenabruf gering zu halten.
Für beide Partitionen wird das ext2-Dateisystem verwendet. Dieses Dateisystem ist der
Vorgänger des heute bei Linuxinstallationen auf Standard-PCs oft verwendeten JournalingDateisystems ext3.
Journaling-Dateisysteme bieten eine höhere Datensicherheit, haben aber den Nachteil, dass sie
im Betrieb deutlich mehr Schreib- und Lesezugriffe durchführen müssen als Dateisysteme ohne
176
KAPITEL 15. EVALUATION
Journaling-Funktion. Dieses Verhalten ist bei der Nutzung von Festplatten kein Problem. Da
CF-Karten jedoch nur eine sehr begrenzte Anzahl von Schreib-/Lesezyklen verkraften (siehe
Abschnitt 14.1.2), würde sich die Lebensdauer der Karten durch die Nutzung von ext3 rapide
verkürzen.
Linux-Kernel-Treiber für den COM-Server
COM-Server können auf verschiedene Art genutzt werden. Eine Möglichkeit ist der direkte
Zugriff vom Anwendungsprogramm auf den COM-Server über das Netzwerk. Das bedeutet
aber, dass für jedes Anwendungsprogramm die Netzwerkfunktionalität neu implementiert
werden muss. Geschickter ist die zweite Nutzungsvariante, bei der ein Betriebssystemtreiber
dafür sorgt, dass der COM-Server gegenüber Anwendungsprogrammen transparent als serielle
Schnittstelle des Rechners dargestellt wird. Jede Software, die serielle Standardschnittstellen
nutzen kann, funktioniert dann auch mit dem COM-Server. Ein weiterer Vorteil dieser Variante
ist die bessere Eignung für Anwendungen mit kritischem Timing. Ein Betriebssystemtreiber bekommt dabei eine deutlich höhere Priorität als ein Anwendungsprogramm, wodurch schnellere
Reaktionszeiten erzielt werden.
Die Firma Moxa Technologies Inc. [161] stellt für ihre COM-Server einen Linux-Treiber als
Sourcecode zur Verfügung. Dieser wurde für den verwendeten Linux-Kernel kompiliert und in
das System integriert.
Massenspeicher-Schutz durch Unionfs
Beim Betrieb von Embedded Systems sollte eine stabile Spannungsversorgung gewährleistet
sein. Kann diese aufgrund technischer oder finanzieller Randbedingungen nicht realisiert
werden, empfiehlt sich die Nutzung eines Read Only Memory (ROM). Beim Systemstart wird
der Inhalt des ROM in den Arbeitsspeicher entpackt und ausgeführt. Ein solches Konstrukt
hat den Nachteil, dass im laufenden Betrieb keine dauerhaften Aktualisierungen des Systems
durchgeführt werden können. Bei den hier vorgestellten Wärmepumpen-Monitoringprojekten
sind Aktualisierungen der Systeme im laufenden Betrieb jedoch unumgänglich. Sie können
durch die Nutzung einer anderen Technologie ermöglicht werden. Es handelt sich um das im
Abschnitt 14.1.3 beschriebene Unionfs, das auf ein ext2-Dateisystem aufgesetzt wird.
Da beim ext2-Dateisystem nur die Unterbrechung von Schreiboperationen zu Dateisystemproblemen führt, wurde versucht, möglichst viele Schreiboperationen im Arbeitsspeicher durchzuführen. Viele Systemprozesse der Messrechner führen Schreiboperationen in den Verzeichnissen /var und /tmp auf dem Massenspeicher durch. Diese Schreibzugriffe müssen unbedingt
abgefangen werden. Außerdem sollen die minütlichen Schreiboperationen der Messprozesse
im Arbeitsspeicher stattfinden, um ein "Kaputtschreiben" des Massenspeichers (siehe Abschnitt
14.1.2) zu vermeiden. Diese Ziele sind zu erreichen, indem die entsprechenden Verzeichnisse mit
einem Unionfs überlagert werden. Dazu wird während des Bootprozesses des Systems frühzeitig
das in Abb 15.9 abgebildete Skript ausgeführt.
15.1. VERTEILTES MONITORINGSYSTEM
1:
2:
3:
4:
5:
177
#!/bin/bash
mount -t tmpfs tmpfs -o size=15M /ramfs
mount -t unionfs -o dirs=/ramfs:/var-tmp=ro none /var
rm -rf /tmp
ln -s /var /tmp
Abbildung 15.9: Shellskript zum Anlegen einer RAM-Disk und zum Überlagern von /var mit der
RAM-Disk per Unionfs
Die Ausführung des Skripts gliedert sich in folgende Teilschritte:
Zeile 1:
Der Befehlsinterpreter bash wird ausgeführt.
Zeile 2:
Es wird eine 15 MB große RAM-Disk, sprich ein “Laufwerk” im Arbeitsspeicher des Rechners, erzeugt und am Mountpoint /ramfs des Dateisystems eingehängt.
Alle Dateien, die bei einem Standard-Linux-System im Verzeichnis /var liegen, befinden sich beim Linux für das Messsystem im Verzeichnis /var-tmp.
Dieses Verzeichnis wird mit /ramfs überlagert, so dass alle Schreiboperationen in /ramfs und damit im Arbeitsspeicher durchgeführt werden. Das überlagerte Verzeichnis /var-tmp wird nach /var gemountet. Damit können wieder
alle Dienste auf das Standardverzeichnis /var zugreifen. Bei einem Systemabsturz bleibt der Inhalt von /var-tmp erhalten und nur die Änderungen, die in
/ramfs durchgeführt wurden, gehen verloren.
Zeile 3:
Zeilen 4 und 5:
Um für das Verzeichnis /tmp nicht eine zweite RAM-Disk anlegen zu müssen,
wird das Verzeichnis /var und damit auch /ramfs für die temporären Dateien
“missbraucht”. Dazu wird das alte Verzeichnis /tmp gelöscht und ein Link von
/tmp nach /var angelegt. Alle temporären Dateien der Messprozesse werden
in /tmp und durch den Link damit in /var geschrieben. Da /var durch /ramfs
überlagert wird, werden die files in den Arbeitsspeicher geschrieben.
15.1.5 Softwareinstallation
Die Installation der kompletten Software erfolgt mit Hilfe der im Kapitel 13 beschriebenen Parametriersoftware. Diese wird auf einem Parametrier-PC mit Linux-Betriebssystem ausgeführt. Sie
fragt in einer grafischen Oberfläche vom Nutzer alle zum Betrieb des Messsystems notwendigen
Daten ab, erkennt automatisch die Teile der Messtechnik, die an den Parametrier-PC angeschlossene sind, und erstellt daraus Konfigurationsdateien. Anschließend werden vollautomatisch das
Betriebssystem und alle Konfigurationsdateien auf der CompactFlash-Karte installiert, die als
Massenspeicher des Messsystems dient.
KAPITEL 15. EVALUATION
178
15.1.6 Probebetrieb
Nachdem die Softwareinstallation, wie im letzten Abschnitt beschrieben, abgeschlossen ist, wird
die CompactFlash-Karte in das Messsystem eingebaut. Danach wird das Messsystem gestartet
und durchläuft mit der in Abb. 15.10 dargestellten Infrastruktur einen mehrtägigen Test, in dem
die Funktionalität der Messtechnik, die Plausibilität der Messdaten und die Stabilität der GPRSVerbindung überprüft werden. Erst wenn dieser Schritt abgeschlossen ist, wird das Messsystem
bei der zu monitorenden Wärmepumpenanlage installiert.
Compact−Flash−Karte
Embedded System
M−Bus−Messtechnik
OneWire−Messtechnik
GSM−Modem
SIM−Karte
Abbildung 15.10: Infrastruktur für den Testbetrieb von WP-Effizienz-Messsystemen
15.1.7 Prozessliste
Für Embedded Systems gilt der Grundsatz “keep it small, simple”. Zur Schonung der Systemressourcen und Vermeidung unnötiger Komplexität werden nicht benötigte Programme und
Systemdienste gar nicht erst gestartet. Deshalb enthält die Prozessliste des Messsystems (siehe
Abb. 15.11) sehr viel weniger Prozesse als die eines Standard-PCs unter Linux.
Jeder Prozess hat eine eindeutige Process ID (PID), über die er identifiziert und angesprochen
werden kann. Der init-Prozess besitzt immer die PID 1. Er ist der erste Prozess, der vom
Betriebssystemkern (Kernel) nach dem Booten gestartet wird. init startet alle benötigten
Systemdienste und verwaltet die verschiedenen Runlevel, in denen das System betrieben werden
kann. In der Prozessliste wird hinter dem init immer das aktuelle Runlevel in eckigen Klammern
angegeben. init kann außerdem überprüfen, ob von ihm gestartete Prozesse laufen und diese
erneut starten, falls das nicht der Fall sein sollte.
15.1. VERTEILTES MONITORINGSYSTEM
179
PID
1
2
3
4
5
6
281
551
560
632
662
674
758
785
787
788
25676
25687
COMMAND
init [2]
[keventd]
[ksoftirqd_CPU0]
[kswapd]
[bdflush]
[kupdated]
[kcopyd]
/usr/sbin/inetd
/usr/sbin/sshd
/usr/lib/npreal2/driver/npreal2d -t 1
/usr/sbin/watchdog
/bin/bash /etc/init.d/startscheduler.ssc
/usr/sbin/ntpd -p /var/run/ntpd.pid -u 105:104 -g
/Scheduler
/read_mbus /dev/ttyS0
/mux
/bin/sh /root/soekris/pppstart
/usr/sbin/pppd name [email protected]
connect /usr/sbin/chat -v -f /root/soekris/dialup.chat
disconnect /usr/sbin/chat -v -f /root/soekris/dialdown.chat
/dev/ttyS1 defaultroute noauth asyncmap 0 mtu 1200 mru 1299
noipdefault
14754 /bin/sh /root/soekris/pppsentry
Abbildung 15.11: Prozessliste eines Messsystems im Messbetrieb
Alle Prozesse, die in der Prozessliste in eckigen Klammern stehen, sind Kernel-Prozesse.
Die folgenden sonstigen Prozesse werden auf dem Embedded System des Messsystems ausgeführt:
inetd:
Dieser Prozess nimmt Anfragen aus dem Netzwerk entgegen und startet
die dazugehörigen Serverprozesse.
sshd:
Serverprozess der Secure Shell (SSH) (siehe Abschnitt 7.5.5)
npreal2d:
Treibersoftware zur Ansteuerung des MOXA-COM-Servers
watchdog:
Watchdog-Software, die den Hardware-Watchdog des Systems bedient
und diverse Systemzustände überprüft.
startscheduler.ssc:
Startskript für die weiter unten beschriebene Scheduler-Software
ntpd:
Software zur Synchronisation der Systemzeit mit einem Zeitserver
KAPITEL 15. EVALUATION
180
Scheduler:
Dieses Programm wurde ursprünglich entwickelt, um zu bestimmten Zeiten andere Programme zu starten oder zu stoppen. Im Messsystem wird
es genutzt, um sämtliche Messprogramme zu starten, deren Verhalten zu
überprüfen und bei einem Absturz schnell wieder neu zu starten, um größere Messdatenausfälle zu verhindern.
read_mbus:
Software zum Auslesen von M-Bus-Wärmemengenzählern
mux:
Mit dieser Software werden OneWire-Bausteine ausgelesen und alle
Messdatenfiles geschrieben.
pppstart:
Software zum Aufbau der Mobilfunk-Datenverbindung
pppd:
Low-Level-Tool zum Aufbau der Punkt-zu-Punkt-Verbindung zum Mobilfunkprovider
pppsentry:
Überwachungsprogramm für die Mobilfunkverbindung
Die Abbildung 15.12 zeigt eine grafische Übersicht der Startreihenfolge der Prozesse auf dem
Embedded System sowie deren Abhängigkeiten.
init
watchdog
sshd
pppstart
pppd
pppsentry
startscheduler.ssc
Scheduler
read_mbus
ntpd
mux
Abbildung 15.12: Startabfolge der Prozesse auf dem Embedded System des Messsystems
15.1. VERTEILTES MONITORINGSYSTEM
181
15.1.8 Systemüberwachung
Email-Reports mit Informationen zur Systemverfügbarkeit
In der Abb. 15.13 ist der Inhalt eines automatisch generierten Reports über die Verfügbarkeit
von Messsystemen im Feld dargestellt. Die einzelnen Spalten enthalten folgende Informationen:
machines:
In dieser Spalte werden die Hostnamen der einzelnen Messsysteme angegeben, unter denen sie identifiziert werden können.
Data:
Mit einem yes wird in dieser Spalte angezeigt, dass für den letzten Messtag Daten vorliegen und somit das Messsystem inklusive Datenübertragung einwandfrei funktioniert. Beim Fehlen der Daten steht in der Spalte
ein no. Liegen Messdaten vor, ist eine weitere Auswertung nicht notwendig. In allen weiteren Spalten, die mit der Erfassung der Messdaten zu tun
haben, steht dann ein %-Zeichen. Beim Fehlen von Messdaten kann anhand von Informationen, die in den weiteren Spalten des Reports stehen,
die Fehlerursache analysiert werden.
Ping:
Wie in den Abschnitten 7.6.1 und 7.6.3 beschrieben, wird einmal täglich die Erreichbarkeit der Messsysteme mittels ICMP Echo Requests
(“Pings”) überprüft. Die Erreichbarkeit wird im Report durch ein yes gekennzeichnet. Werden die ICMP-Pakete nicht beantwortet, wird das mit
einem timeout gekennzeichnet. Dieses ist dann auch eine mögliche Ursache dafür, dass keine Messdaten vorliegen.
rsync:
rsync ist ein für den Abruf der Messdaten notwendiges Programm. Da es
bei den ersten Messsystemen Probleme bei der automatisierten Installation der Software gab und rsync deshalb oft fehlte, wird die Verfügbarkeit
von rsync auf den Messsystemen überprüft. Der Status wird mit yes oder
no dargestellt.
File remote:
Die Verfügbarkeit der Messdatenfiles auf den Messsystemen wird überprüft. Liegen dort keine Messdaten vor, ist der Messprozess gestört.
Wenn es auf den Messsystemen Messdaten gibt, sie aber nicht auf dem
Abrufserver vorliegen, besteht das Problem beim Messdatenabruf. Der
Status wird mit yes oder no dargestellt.
Time ok:
Eine genaue Systemzeit ist eine Voraussetzung für eine korrekte Messwerterfassung. Deshalb werden täglich die Systemzeiten der Messsysteme überprüft. Eine korrekte Systemzeit wird mit yes, eine ungenaue mit
no gekennzeichnet.
182
KAPITEL 15. EVALUATION
Scheduler ok:
Der Scheduler ist eine Art Software-Watchdog für die Messprozesse mux
und read_mbus. Bei einem Absterben, z. B. durch Hardwareprobleme der
Messtechnik, werden diese Prozesse vom Scheduler sofort neu gestartet.
Die entsprechende Funktionalität stellt zwar auch der init-Prozess zur
Verfügung. Der Scheduler ist aber dennoch notwendig, weil durch ihn
zusätzlich eine Kontrolle der Systemzeit durchgeführt wird. Läuft der
Scheduler, so wird das mit einem yes gekennzeichnet.
mux ok:
Der zentrale Messprozess mux liest Messwerte aus dem OneWire-Bus
aus (Temperaturen, Feuchten, Impulse von Stromzählern) und schreibt
die täglichen Messdatenfiles. Es wird täglich überprüft, ob dieser Prozess
korrekt arbeitet. Läuft mux, wird das mit einem yes gekennzeichnet.
mbus ok:
Die M-Bus-Zähler für Temperaturen, Volumenströme und Wärmemengen werden vom separaten Messprozess read_mbus ausgelesen.
read_mbus stellt die Messdaten dann mux zur Verfügung. Auch die korrekte Funktion von read_mbus wird täglich überprüft. Läuft read_mbus,
wird das mit einem y gekennzeichnet.
Dials:
Diese Spalte gibt an, wie oft die GPRS-Verbindung in den letzten 24
Stunden neu aufgebaut worden ist. Bei jeder Neueinwahl werden Daten
übertragen, die beim Transfervolumen mitgezählt werden. Durch häufige Neueinwahlen können dabei erhebliche Datenmengen generiert werden. Bei Überschreitung des Inklusiv-Transfervolumens (im Mobilfunkvertrag festgelegt) entstehen dann hohe Kosten. Neueinwahlen können
durch zu geringe Signalstärken des GSM-Netzes, technische Probleme
beim Mobilfunkprovider, aber auch durch ungewollte Resets des Messsystems entstehen. Häufige Neueinwahlen sind immer ein Hinweis auf
ein technisches Problem.
MBsend:
Diese Spalte gibt das Daten-Transfervolumen der letzten 24 Stunden in
Megabyte an. Die Werte sollten für einzelnen Systeme weitgehend konstant bleiben. Bei Wartungsarbeiten können größere Datenmengen als
im Durchschnitt entstehen. Treten Transfervolumina auf, die deutlich
kleiner als der Durchschnitt sind, ist das ein Hinweis auf unvollständige Messdatensätze, die durch Probleme bei der Messtechnik entstehen
können. Liegt keine Information zum übertragenen Datenvolumen vor,
wird das mit einem n/a gekennzeichnet.
|Data|Ping
|no |timeout
|no |timeout
|no |yes
|no |timeout
|rep |yes
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|yes |%
|rsync
|%
|%
|yes
|%
|yes
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|%
|File remote|Time ok|Scheduler ok|mux ok|mbus ok|Dials|MBsend
|%
|%
|%
|%
|%
| 0
| n/a
|%
|%
|%
|%
|%
| 0
| n/a
|yes
|no
|yes
|yes
|y
| 0
| n/a
|%
|%
|%
|%
|%
| 0
| n/a
|yes
|yes
|yes
|yes
|y
| 0
| 0.00
|%
|%
|%
|%
|%
| 0
| 0.60
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.61
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.59
|%
|%
|%
|%
|%
| 0
| 0.45
|%
|%
|%
|%
|%
| 0
| 0.63
|%
|%
|%
|%
|%
| 0
| 0.04
|%
|%
|%
|%
|%
| 0
| 0.60
|%
|%
|%
|%
|%
| 0
| 0.60
|%
|%
|%
|%
|%
| 0
| 0.80
|%
|%
|%
|%
|%
| 0
| 0.39
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.59
|%
|%
|%
|%
|%
| 0
| 0.62
|%
|%
|%
|%
|%
| 0
| 0.61
|%
|%
|%
|%
|%
| 0
| 0.60
|%
|%
|%
|%
|%
| 0
| 0.61
|%
|%
|%
|%
|%
| 0
| 0.61
|%
|%
|%
|%
|%
| 0
| 0.62
183
Abbildung 15.13: Auszug aus einem automatisch generierten Report über die Systemfunktionen und die Erreichbarkeit von per
GSM vernetzten Messsystemen
15.1. VERTEILTES MONITORINGSYSTEM
machines
mobil-rda012
mobil-rda013
mobil-rda017
mobil-rda022
mobil-rda051
mobil-rda001
mobil-rda002
mobil-rda003
mobil-rda004
mobil-rda005
mobil-rda008
mobil-rda009
mobil-rda010
mobil-rda011
mobil-rda014
mobil-rda015
mobil-rda016
mobil-rda019
mobil-rda020
mobil-rda023
mobil-rda024
mobil-rda025
mobil-rda026
mobil-rda028
mobil-rda031
mobil-rda032
mobil-rda033
KAPITEL 15. EVALUATION
184
15.1.9 Messdatenformat
Die zeitliche Auflösung der von den Messsystemen im Feld aufgenommenen Messwerte
beträgt eine Minute. Die Messdaten werden in Form von ASCII-Dateien auf dem Messsystem
abgelegt. Dieses Format kann sehr gut sowohl in spezielle Auswertungsprogramme als auch in
Tabellenkalkulations-Software, wie z. B. Microsoft Excel, importiert werden. Zur grafischen
Aufbereitung der Daten, z. B. mit gnuplot [90], ist das Format ebenfalls gut geeignet. Außerdem
bieten ASCII-Dateien den Vorteil, dass sie im Gegensatz zu Binärdateien bei Beschädigungen
immer noch ausgewertet werden können.
Für die Messdatenübertragung zum Abrufrechner werden die Dateien per bzip2 komprimiert,
um das Übertragungsvolumen über das Mobilfunk-Netz zu minimieren.
Jede Datei mit Messdaten besteht aus einem Header (Abb. 15.14), der angibt, welche Messdaten
in welcher Spalte des Files stehen, und den eigentlichen Messdaten. In den ersten beiden
Spalten des Messdatenfiles wird jeweils der Messzeitpunkt für die Zeile mit Messwerten in
zwei verschiedenen Formaten angegeben. In der ersten Spalte wird die Zeit im hhmmss-Format
angegeben, das für “menschliche Leser” gedacht ist. Die zweite Spalte gibt die Zeit in einem
dezimalen 24h-Modus an, der zum Plotten der Daten besser geeignet ist.
#TIME TIME_DEC DS1820_1 DS2423_1_C1 P_1 DS2423_1_C2 P_2
DS2423_2_C1 P_3 DS2423_2_C2 P_4 DS2423_3_C1 P_5 DS2423_3_C2
P_6 DS2423_4_C1 P_7 DS2423_4_C2 P_8 MBUS_Date MBUS_Time
1_t_forward 1_t_backward 1_t_diff 1_flow_l_h 1_power_kW
1_energy_kWh 4_t_forward 4_t_backward 4_t_diff 4_flow_l_h
4_power_kW 4_energy_kWh 5_t_forward 5_t_backward 5_t_diff
5_flow_l_h 5_power_kW 5_energy_kWh 6_t_forward 6_t_backward
6_t_diff 6_flow_l_h 6_power_kW 6_energy_kWh 7_t_forward
7_t_backward 7_t_diff 7_flow_l_h 7_power_kW 7_energy_kWh
8_t_forward 8_t_backward 8_t_diff 8_flow_l_h 8_power_kW
8_energy_kWh kBread kBsend Dialcounter
Abbildung 15.14: Header eines Tages-Messdatenfiles für ein Wärmepumpensystem
Die Messpunkte werden nach den Sensoren, die die Daten liefern benannt. DS1820 bezeichnet
einen OneWire-Temperatursensor. Sensoren mit DS2423 im Namen sind OneWire-Impulszähler,
die dazu genutzt werden, Impulse von Stromzählern aufzunehmen. Dabei werden diese Impulse
gleich in kWh umgerechnet. Zu jedem Impulszähler-Messkanal gehört ein P-Kanal, der die aus
den Impulshäufigkeiten abgeleiteten Leistungen aufnimmt. P-Kanäle sind reine Rechenkanäle.
Alle Messkanäle, deren Bezeichner mit einer Zahl anfangen, speichern Messwerte von Wärmemengenzählern. Die Zahl im Kanalbezeichner gibt dabei jeweils die MBus-ID des Zählers
15.1. VERTEILTES MONITORINGSYSTEM
185
wieder. Jeder Wärmemengenzähler misst eine Vorlauf- und eine Rücklauftemperatur sowie
einen Volumenstrom. Aus diesen Werten berechnet der Wärmemengenzähler außerdem die
Differenz zwischen der Vorlauf- und der Rücklauftemperatur und die aktuelle thermische
Leistung. Außerdem integrieren die Geräte die übertragene Energiemenge auf.
Die Messkanäle kBread, kBsend und Dialcounter dienen der Kontrolle des übertragenen Datenvolumens über das Mobilfunk-Netz. Details dazu sind im Abschnitt 7.6.3 beschrieben.
15.1.10 Zusammenfassung
Das für die beiden Wämepumpen-Monitoringprojekte entwickelte Messsystem vereint die
positiven Eigenschaften der im Abschnitt 2.1 beschriebenen Datenlogger und PC-basierten
Messsysteme in sich. In Tablle 15.7 sind die Eigenschaften dieser Systeme gegenüber gestellt.
Datenlogger
klassisch
Konfiguration durch Laien
ja
flexible Anbindung von
Messtechnik
nein
Online-Datenabruf
nein
frei programmierbar
nein
Internet-Kommunikation
nein
verschlüsselte
Kommunikation
nein
wartungsarm
ja
preisgünstige Hardware
nein
energieeffizient
ja
Datenlogger
PC mit
Wärmepumpeninternetfähig Messtechnik Monitoringsystem
ja
nein
ja
nein
nein
nein
ja
ja
ja
ja
ja
ja
ja
ja
ja
nein
ja
nein
ja
ja
nein
ja
nein
ja
ja
ja
ja
Tabelle 15.7: Vergleich von marktüblichen Monitoringsystemen mit dem neu entwickelten Monitoringsystem für Wärmepumpen
Mit der im Abschnitt 13.2 vorgestellten Parametriersoftware können die einzelnen Messsysteme
über eine grafische Benutzeroberfläche konfiguriert und parametriert werden. Die Software
wurde so ausgelegt, dass sie auch von Laien bedient werden kann.
Der Einsatz von Embedded Systems mit Linux-Betriebssystem ermöglicht eine freie Programmierung mit Standard-Programmiersprachen. Dadurch wird auch die flexible Integration neuer
Messtechnik möglich, da die Embedded Systems über zahlreiche Schnittstellen verfügen und
neue Treiber einfach in die vorhandene Messsoftware integriert werden können.
Mit der im Abschnitt 15.1.2 beschriebenen Kommunikationsinfrastruktur werden die Messdaten
per Internet und GPRS übertragen. Die Nutzung eines IPSec-VPNs (siehe Abschnitt 8.1) und
186
KAPITEL 15. EVALUATION
den Einsatz der Secure Shell (siehe Abschnitt 7.5.5) für den Datenabruf und die Fernwartung
sorgen für eine abgesicherte, verschlüsselte Kommunikation.
Bei den eingesetzten Embedded Systems handelt es sich um auf dem Markt zu sehr günstigen
Preisen verfügbare Hardware. Die Energieeffizienz der Systeme nicht ganz so gut wie die der
meisten Datenlogger, jedoch erheblich besser als bei PC-basierten Messsystemen.
15.2. VERTEILTES REGELUNGSSYSTEM
187
15.2 Ein verteiltes Regelungssystem für das Management eines Niederspannungsnetzes
15.2.1 Power Flow and Power Quality Management System (PoMS)
DISPOWER [56] war ein von der Europäischen Union gefördertes Projekt zum Thema Distributed Generation with High Penetration of Renewable Energy Sources. Das Projekt lief
vom 01.01.2001 bis zum 31.12.2005. Im Rahmen dieses Projektes wurde in einem Feldversuch in Stutensee-Blankenloch bei Karlsruhe der Prototyp eines Regelungssystems zur
Optimierung von Energieströmen und Power Quality in Niederspannungsnetzen entwickelt. Das
Regelungs-System wird seit dem Projektende in einer geänderten Konfiguration weiter betrieben.
Das als PoMS (Power Flow and Power Quality Management System) bezeichnete System
basiert auf einem verteilten Regelungssystem aus vernetzten Embedded Systems. Es wurde
vom Fraunhofer Institut für Solare Energiesysteme ISE [134] in Zusammenarbeit mit der MVV
Energie AG [163] entwickelt, zu deren Versorgungsgebiet Stutensee-Blankenloch gehört
Ziele des Feldversuches waren eine ökonomische Optimierung des Netzbetriebs aus Sicht
des Netzbetreibers sowie die aktive Kontrolle der Power Quality (PQ). PoMS implementiert
ein aktives Management-System für verteilte Erzeuger, steuerbare Lasten und Speicher in
Niederspannungsnetzen. Siehe auch [75][207][208].
Hauptbestandteile von PoMS sind die PoMS Central Unit (PCU), die Power Interface Boxes
(PIBs) und ein Netzwerk, das diese untereinander verbindet. Hinzu kommt Messtechnik (z. B.
für die Power Quality), die mit Hilfe der PIBs ausgelesen wird.
15.2.2 Erstellung von Fahrplänen
Die verteilten Erzeuger, steuerbaren Lasten und Speicher werden von PoMS mit Hilfe von
24 h-Fahrplänen gesteuert. Diese Fahrpläne arbeiten mit einer zeitlichen Auflösung von
15 Minuten. Sie werden auf der PoMS Central Unit erstellt. In Abb. 15.16 ist im unteren Teilbild
der Tagesfahrplan für ein BHKW (P CHP soll) dargestellt .
Eine wichtige Grundlage für die Erstellung von Fahrplänen für PoMS sind Wetterprognosen.
Für das in Stutensee-Blankenloch betriebene System werden Wetterdaten vom Deutschen Wetterdienst (DWD) [60] bezogen. Der DWD stellt dazu die Prognosen in Form von ASCII-Files
zweimal täglich auf seinem FTP-Server zur Verfügung. Die Wetterdaten dienen als Basis zur
Berechnung von Prognosen für die stochastischen Erzeuger (in Stutensee eine PV-Anlage), für
die elektrischen und thermischen Lasten (siehe Grafik 15.15).
KAPITEL 15. EVALUATION
188
ökonom. Randbedingungen
(z.B. Einspeisegesetz)
Erzeugungsprognose für
stochastische Erzeuger
DWD−Wetterdaten
Elektrische Lastprognose
ökonomische Optimierung
Kostenfaktoren
(z.B. Kraftstoff)
Thermische Lastprognose
vorläufiger Fahrplan
Ziel für Optimierung
techn. Randbedingungen
Fahrplan−Evaluierung
Ausgleich von
Vorhersageungenauigkeiten
aktuelle Messdaten
Algorithmus für die
Spannungsstabilisierung
Abbildung 15.15: Informationsfluss bei der Fahrplanerstellung des PoMS-Systems
Mit Hilfe dieser drei Prognosen werden Fahrpläne für die steuerbaren Geräte errechnet. Dabei
werden zahlreiche ökonomische Randbedingungen, wie z. B. die Bestimmungen des Erneuerbare Energien Gesetzes (EEG) [68] oder aktuelle Treibstoffpreise mitberücksichtigt. Außerdem
muss für die Fahrplanerstellung das ökonomische Optimierungskriterium klar definiert sein.
Neben den ökonomischen Randbedingungen gibt es auch noch technische Restriktionen. So dürfen Blockheizkraftwerke z. B. nicht beliebig oft gestartet und angehalten werden. Manchmal ist
der Betrieb der Aggregate aufgrund der Lärmbelästigung für die Anwohner nur zu bestimmten
Tageszeiten gestattet. Die ökonomisch optimierten Fahrpläne müssen deshalb an die technischen
Randbedingungen angepasst werden. Erst danach werden sie an die Regelungseinheiten der
steuerbaren Geräte (die PIBs) übertragen.
Soweit die aktuellen Messwerte den Prognosen entsprechen, arbeiten die PIBs die von der PCU
generierten Fahrpläne ab. Eine zusätzliche Regelungssoftware, der sogenannte Inday Regler,
gleicht mit Hilfe von aktuellen Messwerten die Abweichungen von den Prognosen aus.
15.2.3 Infrastruktur des verteilten Regelungssystems
Die Infrastruktur von PoMS ist in Abb. 15.17 dargestellt. Die lokale Vernetzung des PoMSNetzwerks wurde mit Ethernet (siehe Abschnitt 7.1.1) in der Ausprägung Fast Ethernet (100
Mbit) realisiert.
15.2. VERTEILTES REGELUNGSSYSTEM
189
Da die Power Interface Box des Photovoltaik-Felds mehr als 100 m von den übrigen PoMSKomponenten entfernt ist und aus baulichen Gründen kein Ethernet-Kabel verlegt werde konnte,
wurden zur Überbrückung der Distanz zwei VDSL-Modems (siehe Abschnitt 7.1.2) eingesetzt,
die über eine schon vorhandene Zweidraht-Leitung transparent Daten zwischen den beiden
Ethernet-Segmenten übertragen.
Auf drahtlose Übertragungstechniken wie Wireless LAN (siehe Abschnitt 7.1.4) wurde aufgrund
von Sicherheitsbedenken und der für ein Regelungssystem zu hohen Störanfälligkeit verzichtet.
Über ein TV-Kabel-Modem Surfboard von Motorola, Inc. [160] (siehe dazu Abschnitt 7.2.2) hat
die PCU Zugang zum Internet. Als Internet-Provider fungiert die Kabel BW GmbH & Co. KG
[138].
Zwischen PCU und Kabel-Modem befindet sich ein Firewall-Router vom Typ Linksys WRT54GS. (Linksys [147] war früher ein eigenständiges Unternehmen, wurde vor einiger Zeit aber
von Cisco Systems Inc. [42] aufgekauft.) Die Routersoftware beinhaltet einen DynDNS-Client,
der dafür sorgt, dass das Regelungssystem trotz wechselnder IP-Adressen immer aus dem
Internet erreichbar ist (siehe dazu auch Abschnitt 7.4.2). Der Firewall-Router WRT-54GS wurde
gewählt, weil er zum damaligen Zeitpunkt der einzige vom DynDNS-Anbieter Dynamic Network
Services, Inc. [61] zertifizierte Router war.
Die Firewall blockt Zugriffe aus dem Internet auf die PCU mit Ausnahme von zwei Ports
komplett ab. Nur Zugriffe auf den Webserver Apache [10] (Port 80) und den SecureShell-Server
von OpenSSH [175] (Port 22) werden per Port-Forwarding (siehe Abschnitt 7.4.1) an die PCU
weitergeleitet.
190
KAPITEL 15. EVALUATION
Abbildung 15.16: Tagesauswertung der elektrischen Energieflüsse des Dispower-FeldtestSystems am Steinweg in Stutensee-Blankenloch
15.2. VERTEILTES REGELUNGSSYSTEM
TV−Kabel−Modem
191
Firewall−Router
PCU
VDSL−
Modem
Internet
Monitoring Client
VDSL−
Modem
PIB
Blockheizkraftwerk
PIB
Batteriebank
PIB
Photovoltaik
Ethernet
VDSL
RS485
Internet
Abbildung 15.17: Kommunikations-Infrastruktur des Dispower-Feldversuchs in StutenseeBlankenloch bei Karlsruhe
192
KAPITEL 15. EVALUATION
15.2.4 Hardware
PoMS Central Unit
Die PoMS Central Unit ist ein x86-Server aus handelsüblichen Server-Komponenten. Für den
Einsatz in verschmutzten Umgebungen ist das Gehäuse mit Staubfiltern ausgestattet. Mehrere
Lüfter im Gehäuse sorgen auch bei hohen Temperaturen im Serverraum für einen stabilen
Betrieb des Systems.
Die Maschine verfügt über 1 GB Arbeitsspeicher. Er wurde so bemessen, dass im Betrieb
kein Auslagern von Speicherbestandteilen auf die Festplatte – auch als swapping bezeichnet –
notwendig wird. Durch swapping würde der Betrieb des Systems sehr stark verlangsamt.
Die Prototypen-PCU ist mit einer 80 GB IDE-Festplatte ausgestattet. Die Plattengröße ist so
bemessen, dass die gesamte PCU-Software und alle Messdaten über die komplette Laufzeit des
Systems aufgenommen werden können. Bei einem Seriensystem sollte zur Erhöhung der Datenund Betriebssicherheit ein Redundant Array of Independent Disks (RAID) (siehe Abschnitt 14.2)
eingesetzt werden.
Der Prozessor der PCU ist ein mit 3 GHz getakteter Pentium IV von Intel [133]. Das System
hat damit genug Rechenleistung für den PCU-Betrieb und zusätzliche Aufgaben (Webserver,
Backups, etc.).
Die PCU verfügt über zwei Netzwerk-Interfaces. Damit hat sie Zugang zum Internet und zum
Netzwerk des verteilten Regelungssystems von PoMS. Zwischen den beiden Interfaces findet
kein Routing statt, so dass das Regelungsnetzwerk durch die PCU vom Internet abgeschirmt
wird.
Mehr Details zum System sind auch unter [21] zu finden.
Power Interface Box (PIB)
Die Power Interface Box (PIB) (siehe Abb. 15.18) ist ein Embedded System. Sie wurde am
Fraunhofer Institut für Solare Energiesysteme ISE entwickelt. Zentrales Element des Systems
ist ein DIL/NetPC Modul vom Typ ADNP/1520 der Firma SSV Software Systems GmbH [201].
Die Hardware ähnelt sehr stark der des im Abschnitt 15.1.3 beschriebenen Embedded Systems
net4501 der Firma Soekris Engineering Inc. [200]. Zum Startzeitpunkt des Dispower-Projekts
waren keine fertigen Embedded Systems mit entsprechender Hardware am Markt verfügbar, so
dass eine Eigenentwicklung durchgeführt werden musste.
15.2. VERTEILTES REGELUNGSSYSTEM
193
Das ADNP/1520-Modul beinhaltet folgende Hardware:
Prozessor:
32-bit ELAN SC520 CPU mit 133 MHz Taktfrequenz
Arbeitsspeicher:
64 MB SDRAM
Massenspeicher:
16 MB FLASH-Speicher
Schnittstellen:
zwei UARTs (Universal Asynchronous Receiver/Transmitters)
vom Typ 16550
Netzwerk:
Fast-Ethernet-Interface (100 Mbit)
Watchdog:
programmierbarer Watchdog-Timer
IO-Pins:
20 frei programmierbare IO-Pins
Massenspeicher-Interface:
IDE-Interface (IDE = Integrated Drive Electronics) zum Anschluss von Festplatten und anderen Laufwerken.
Das ADNP/1520-Board wird in einen DIL-Sockel (DIL = Dual Inline) der Basisplatine
eingesetzt, die am Fraunhofer ISE entwickelt wurde (siehe Abb. 15.19). Diese Basisplatine
enthält einen DC-DC-Spannungswandler der Firma Traco Electronic AG [211]. Mit Hilfe dieses
Wandlers kann die PIB mit Eingangsspannungen zwischen 9 und 36 Volt betrieben werden.
Je nach Bestückungsvariante der Basisplatine können die beiden universal asynchronous
receiver/transmitters als RS232-Schnittstelle, RS485-Schnittstelle oder direkt als OneWireBusmaster (siehe Abschnitt 15.1.3) genutzt werden. RS485 ist ein Zweidraht-Bussystem nach
ANSI TIA/EIA-485 [9], das häufig als Feldbus im industriellen Umfeld eingesetzt wird. Im
PoMS-System wird die RS485-Schnittstelle genutzt, um Power Quality-Messgeräte vom Typ
UMG503 der Firma Janitza Electronics GmbH [136] auszulesen. Eine weitere Anwendung ist
das Ansteuern von Input-Output-Modulen der Firma ICPDAS-EUROPE GmbH[110] (z. B. für
die Steuerung des Blockheizkraftwerks).
Das IDE-Interface des ADNP/1520-Board ist mit einem Compact-Flash-Sockel auf der Basisplatine verbunden. Dieser Sockel ist so dimensioniert, dass er neben normalen CF-Karten auch
Minifestplatten in CF-II Bauform – sog. Microdrives – aufnehmen kann.
Zur Darstellung von Systemzuständen der PIB werden vier der frei programmierbaren IO-Pins
des ADNP/1520-Boards als Ausgänge zur Ansteuerung eines LED-Feldes genutzt. Fünf weitere
Pins werden in Form einer Pfostenleiste aus dem PIB-Gehäuse herausgeführt. Über sie können
z. B. Relais angesteuert (output-Funktionalität) oder Schaltzustände eingelesen werden (inputFunktionalität).
KAPITEL 15. EVALUATION
194
Abbildung 15.18: Power Interface Box auf der Basis eines SSV Dilnet PC ADNP1520 [201]
FLASH RAM ADNP/1520−Modul
COM2
CPU/Chipsatz
RS232 −
Transceiver
Spannungswandler
IO−Pins
CF−Slot
COM2
Status−LEDs
COM1
Netzwerk
Abbildung 15.19: Platine der Power Interface Box
15.2. VERTEILTES REGELUNGSSYSTEM
195
Zu Visualisierungszwecken wird eine Webserver-Software genutzt. Ein Bildschirm-Snapshot
einer Live-Visualisierung des Regelungssystems im Webbrowser mittels Java-Applets (siehe
Kapitel 9) ist in Abb. 15.20 dargestellt. Der Zugriff auf den Webserver ist nur mit einer gültigen
Login-Passwort-Kombination möglich.
Abbildung 15.20: Online-Visualisierung des Regelungssystems per Java-Applet
196
KAPITEL 15. EVALUATION
Der SSH-Server der PCU erfüllt gleich mehrere Funktionen. Er wird zur Fernwartung benötigt,
um Sicherheitspatches einzuspielen und aktualisierte Softwarepakete für das Regelungssystem
aufzuspielen. Backups von Messdaten und Software werden regelmäßig per rsync (siehe Abschnitt 7.5.6) und SSH über das Internet auf einen Server des Fraunhofer ISE übertragen.
15.2.5 Software der Power Interface Boxes
Die PIBs haben einen 16 MB Flash-Speicher als Massenspeicher. Dieser ist in verschiedene
Speicherbereiche aufgeteilt.
Der erste Teil des Flash-Speichers wird als Read Only Memory genutzt und enthält das Betriebssystem in gepackter Form. Beim Booten des Systems wird der Inhalt des Flash-Speichers
in den Arbeitsspeicher der PIB entpackt. Das Betriebssystem wird dann dort ausgeführt.
Änderungen am Inhalt dieses Teiles des Flash-Speichers sind während der Laufzeit nicht
möglich (einzige Ausnahme: Änderungen an der Netzwerkkonfiguration mit einem speziellen
Flasher-Tool). Vorteilhaft an diesem Konstrukt ist, dass Ausfälle der Versorgungsspannung oder
Systemabstürze nie Schäden am Betriebssystem im Flash-Speicher verursachen können. Die
Nicht-Veränderbarkeit ist aber gleichzeitig auch ein großer Nachteil, da im laufenden Betrieb
keine Sicherheitsupdates des Betriebssystems und der dazugehörigen Systemprogramme
durchgeführt werden können. PIBs sollten nur in vertrauenswürdigen Netzwerken betrieben
werden, die vom Internet abgeschottet sind und in denen keine Angriffe von anderen Rechnern
befürchtet werden müssen (siehe dazu Abschnitt 8.5).
Der zweite Teil des Flash-Speichers ist im laufenden Betrieb beschreibbar. In diesem Speichersegment befinden sich die für den Betrieb des PoMS notwendige Software sowie Messdaten.
Um den sehr knapp bemessenen Flash-Speicher effizient zu nutzen, wird das Journaling Flash
File System (JFFS) [17] genutzt, das on-the-fly eine Datenkompression durchführt.
Die PIBs arbeiten mit einem vom Hersteller des Prozessorboards SSV [201] speziell für diese
Hardware entwickelten Linux-Betriebssystem. Da im Flash-Speicher nur sehr wenig Platz
für das Betriebssystem zur Verfügung steht, wurden die beim Desktop-Linux anzutreffenden
Systemprogramme durch das sehr speichereffiziente BusyBox [37] in der Version 0.60.5 ersetzt.
BusyBox wurde speziell für die Nutzung in Embedded Systems entwickelt und vereint fast alle
für den Betrieb eines Linux-Systems notwendigen Betriebssystem-Tools in einem einzigen
multi-call binary.
Aus Speicherplatzmangel kann auf den PIBs kein SSH zur sicheren Kommunikation genutzt
werden. Die Fernadministration erfolgt daher per Telnet. Daten werden per File Transfer Protocol
(FTP) übertragen. Beide Protokolle arbeiten unverschlüsselt, so dass ein Sniffen von Passwörtern
im Netzwerk einfach zu bewerkstelligen wäre. Dies ist ein weiterer Grund, warum die PIBs nur
in einem Trusted Netwerk betrieben werden sollten.
15.2. VERTEILTES REGELUNGSSYSTEM
197
15.2.6 Aufgaben der PoMS Central Unit (PCU)
Das PoMS arbeitet mit Fahrplänen zur Regelung der einzelnen Betriebsmittel. Zur Erstellung
der Fahrpläne müssen aufwändige Optimierungsrechnungen durchgeführt werden. Da die PCU,
wie im Abschnitt 15.2.4 beschrieben, ein leistungsfähiger Server ist, werden die Berechnungen
auf dieser Maschine durchgeführt.
Die PCU sammelt in einem zentralen Messprozess alle wichtigen Messdaten (Spannungen,
Leistungen, Power-Quality-Events, etc.) von den PIBs ein. Dazu stellen die PIBs ihre Messdaten in Echtzeit per Netzwerk-Schnittstelle zur Verfügung. Die PCU kumuliert die Daten
dann in einem gemeinsamen Messdatensatz für das komplette PoMS. Die Daten werden
dann in Form von Tagesdatensätzen archiviert. Von den Messdaten wird jede Nacht ein
Backup auf einen Server am Fraunhofer ISE übertragen. Bei der Berechnung der Fahrpläne für
die Betriebsmittel des PoMS fließen historische Messdaten des Systems mit in die Prognosen ein.
Da die PIBs nicht verschlüsselt kommunizieren können und deshalb in einem Trusted Network
betrieben werden, fungiert die PCU als Zugangsrechner zu diesem Netzwerk. Verbindungen
zu den PIBs können aus dem Internet nur aufgebaut werden, indem zunächst ein Login auf die
PCU erfolgt. Von dort aus kann dann auf die PIBs zugegriffen werden.
Für die Erfassung von Messdaten aller am PoMS beteiligten Rechner sind korrekte Systemzeiten
notwendig. Aufgrund der Netzwerkstruktur ist es für die PIBs nicht möglich, auf im Internet
verfügbare Zeitserver zuzugreifen. Die PCU gleicht deshalb ihre Systemzeit mit mehreren im
Internet verfügbaren Zeitservern ab und stellt ihre Systemzeit per Network Time Protocol (siehe
Abschnitt 7.5.3) den PIBs zur Verfügung.
15.2.7 Aufgaben der Power Interface Boxes (PIBs)
Die PIBs erfüllen je nach Einsatzort unterschiedliche Funktionen. Die PIB der Photovoltaikanlage nimmt nur Messdaten auf und stellt sie der PCU zur Verfügung. Für die Steuerung der
Batteriebank und des Blockheizkraftwerks werden zwei weitere PIBs eingesetzt. Diese erfüllen
neben ihren Mess-Aufgaben noch die Funktion von lokalen Reglern. Sie arbeiten dazu von der
PCU generierte Fahrpläne ab. Diese Fahrpläne werden je nach eingegangenen Messdaten und
Wetterprognosen mehrmals täglich aktualisiert.
Bei einem Kommunikationsausfall zwischen einer PIB und der PCU wird von der PIB zunächst
der letzte übertragene Fahrplan abgearbeitet. Danach geht das System in den Notbetrieb über
und steuert nach einem Notfallfahrplan.
198
KAPITEL 15. EVALUATION
15.2.8 Mechanismen zur Überwachung des PoMS
Das PoMS wurde so entwickelt, dass es seine Funktion weitgehend wartungsfrei ausüben kann.
Da aber nicht auszuschließen ist, dass beim Betrieb des Systems Probleme auftreten, wurden
zahlreiche Mechanismen zur Kontrolle des PoMS-Betriebs integriert.
PoMS basiert auf der Funktionalität von Netzwerkverbindungen. Deshalb wird das im Abschnitt
7.6.1 beschriebene Smokeping genutzt, um die Erreichbarkeit aller PIBs im lokalen Netz
zu überprüfen. Beim Ausfall einer PIB oder des Netzwerks verschickt die PCU Emails an
Wartungspersonal. Um auch Ausfälle der PCU oder des Internet-Zugangs zu registrieren,
wird auf einem zweiten Server im Internet ein zweites Smokeping-System betrieben, dass die
Verfügbarkeit der PCU überprüft, indem Anfragen an deren SSH-Server gestellt werden.
Checkskripten stellen die Funktion der zahlreichen Prozesse des PoMS sicher. Dazu überprüfen
sie u. a. regelmäßig das Vorhandensein wichtiger Dateien, wie z. B. der Wettervorhersagen des
DWD und der Fahrpläne. Im Fehlerfall werden Emails mit den Beschreibungen der Fehlers
generiert und an Wartungspersonal verschickt.
Mit dem im Abschnitt 7.5.4 beschriebenen Programm updatecheck wird sichergestellt, dass das
Betriebssystem und die Anwendungsprogramme auf der PCU aktuell sind und Sicherheitslücken
möglichst schnell gepatched werden.
15.2.9 Zusammenfassung
Das im Rahmen des DISPOWER-Projekts entwickelte verteilte Regelungssystem POMS zeigt,
dass durch den Einsatz von Embedded Systems und TCP/IP-basierter Kommunikationstechnik
dezentrale Energiesysteme aus Einzelkomponenten sinnvoll miteinander vernetzt werden
können. Das Ergebnis der Vernetzung ist ein Regelungssystem, bei dem die Einzelkomponenten
miteinander und mit einer übergeordneten Regelungskomponente kommunizieren, so dass ein
optimierter Betrieb des Gesamtsystems durchgeführt werden kann.
Die im Abschnitt 15.2.3 beschriebene Kommunikationsinfrastruktur ermöglicht jederzeit den
Abruf von Messdaten und die Fernwartung aller Teilkomponenten des Regelungssystems mit
Hilfe einer einzigen Internet-Verbindung. Exklusive Telekommunikationsanschlüsse für die
einzelnen Teilenergiesysteme sind durch die Vernetzung nicht mehr notwendig.
Die Internet-Verbindung wird außerdem genutzt, um weitere für die Regelung wichtige Informationen, wie z. B. Wetterprognosen, zu erlangen und damit das Regelungsverhalten zu optimieren.
Umfangreiche Funktionen zur Selbstdiagnose des Systems und Email-Services ermöglichen
einen wartungsarmen Betrieb. Mit der im Abschnitt 9 beschriebenen Visualisierung kann der
Zustand des Regelungssystems jederzeit online in anschaulicher Form dargestellt werden.
15.2. VERTEILTES REGELUNGSSYSTEM
199
Die Struktur des Systems ist so angelegt, dass Komponenten hinzugefügt oder entfernt werden
können, ohne dass die Regler der einzelnen Teilkomponenten neu programmiert oder parametriert werden müssen. Das System ist dadurch wesentlich flexibler an neue Gegebenheiten anpassbar, als dies mit nicht vernetzten dezentralen Energiesystemen möglich wäre.
200
KAPITEL 15. EVALUATION
Kapitel 16
Zusammenfassung und Ausblick
16.1 Zusammenfassung
Die technische Entwicklung der letzten Jahre hat dazu geführt, dass Embedded Systems
für verschiedenste Einsatzzwecke inzwischen zu günstigen Preisen verfügbar sind. Einfache
Systeme werden bereits für unter 100 e angeboten. Diese Preisentwicklung ist zum Teil darauf
zurückzuführen, dass ähnliche Hardware in Mobiltelefonen, Unterhaltungselektronik und
Netzwerk-Appliances zum Einsatz kommt. Diese Geräte werden in sehr großen Stückzahlen
gefertigt. Dadurch werden immer niedrigere Herstellungskosten ermöglicht. Ein Ende der
Entwicklung ist nicht in Sicht, so dass die Preise für Embedded Systems wahrscheinlich weiter
sinken werden. Damit werden sie für immer mehr Einsatzzwecke interessant.
Neben den Preisen für die Hardware sind für die Realisierung verteilter Regelungs- und
Monitoringsysteme auch die Kommunikationskosten ein entscheidender Faktor. Die Preise für
die verschiedenen Arten von Internetzugängen entwickeln sich sehr unterschiedlich und die
Dynamik des Marktes ist recht groß. Da unterschiedliche verteilte Regelungs- und Monitoringsysteme auch sehr unterschiedliche Anforderungen an ihre Kommunikationsmittel stellen, gibt
es kein Patentrezept für ein optimiertes Kommunikationskonzept. In dieser Arbeit wurden die
technischen und finanziellen Bedingungen für den Einsatz verschiedener Kommunikationsmittel
näher untersucht und es wurde analysiert, welche Kommunikationsmittel für welche Anwendung
geeignet sind.
Mit zunehmender Verbreitung von verteilten Regelungssystemen, die über das Internet kommunizieren, gewinnt auch die Sicherheit dieser Systeme an Bedeutung. Im Rahmen dieser Arbeit
wurden verschiedene Sicherheitstechniken hinsichtlich ihrer Eignung für verteilte Regelungsund Monitoringsysteme untersucht und bewertet. Der Einfluss von Netzwerkstrukturen auf die
Sicherheit dieser Systeme wurde exemplarisch diskutiert.
Für die Entwicklung verteilter Regelungs- und Monitoringsysteme wurde ein Simulationstool geschaffen, das mit Hilfe von virtuellen Maschinen und einer Simulationssoftware die
201
202
KAPITEL 16. ZUSAMMENFASSUNG UND AUSBLICK
Simulation komplexer energietechnischer Anlagen inklusive der darin enthaltenen verteilten
Regelungssysteme ermöglicht. Durch dieses Simulatonstool wird die Entwicklung und Optimierung von Regelungs- und Kommunikationssoftware stark vereinfacht. Es ermöglicht die
Entwicklung der Software ohne Zugriff auf die Regelungshardware und bietet zahlreiche Analysewerkzeuge, wie z. B. Datenplotter und Netzwerksniffer, die die Entwicklungsarbeit erleichtern.
Mit steigender Komplexität von Monitoring- und Regelungssystemen steigt auch der Bedarf,
Anlagendaten in einer für den Betrachter intuitiv zu erfassenden Form darzustellen. InternetTechnik kann dazu einen Beitrag leisten. Im Rahmen dieser Arbeit wurde eine Softwarepaket
entwickelt, mit dem Anlagendaten eines vernetzten Monitoring- oder Regelungssystems in
Echtzeit im Webbrowser visualisiert werden können. Ein grafischer Editor erleichtert die
Parametrisierung der Visualisierungssoftware.
Am Beispiel eines verteilten Monitoringsystems für Energieeffizienzmessungen an Wärmpumpen konnte gezeigt werden, wie ein skalierbares verteiltes Monitoringsystem mit mehr als 150
Messstellen in ganz Deutschland effizient aufgebaut und betrieben werden kann. Dafür wurden
verschiedene Methoden zur weitgehend automatisierten Installation und Konfiguration von
Knoten verteilter Systeme analysiert. Die Ergebnisse der Analyse flossen in eine nutzerfreundliche Parametriersoftware ein, mit der die Konfiguration von Internetzugängen und Messtechnik
sowie die Betriebssysteminstallation der Messsysteme durchgeführt wurden.
Verteilte Systeme mit vielen Knoten sind wirtschaftlich nur sinnvoll, wenn der Betrieb und die
Überwachung dieser Systeme fast vollständig automatisiert erfolgen. Es wurde gezeigt, dass
sich mit Hilfe eines selbst entwickelten Softwareframeworks ein verteiltes Monitoringsystem
mit mehr als 150 Knoten so betreiben lässt, dass die Funktion der Messsysteme weitgehend
automatisch überwacht wird. Der Administrator wird dadurch von einem Großteil der Routinearbeiten entbunden. Sein Tätigkeitsschwerpunkt ist das Beheben von Fehlfunktionen, die von
der Überwachungssoftware gemeldet werden.
16.2 Ausblick
Die Zahl der verteilten Monitoring- und Regelungssysteme wird aufgrund fallender Kosten in
den nächsten Jahren stark zunehmen. Die Nutzung solcher Systeme ist mittlerweile für viele
Anwendungsbereiche interessant, für die sie bisher zu teuer waren.
Einen großen Anteil am Zuwachs der verteilten Monitoring- und Regelungssysteme wird der
Energiesektor haben. Zahlreiche Studien, z. B. die eEnergy-Studie [86] und die Smart Distribution 2020-Studie [32], gehen davon aus, dass in Zukunft ein großer Anteil der Stromerzeugung
mit regenerativen Energien und der Kraft-Wärme-Kopplung bestritten wird. Dazu wird es
notwendig sein, die vielen dezentralen Anlagen in Form von verteilten Regelungssystemen zu
koordinieren. Die Koordination wird zu einem großen Teil mittels Kommunikation über das
16.2. AUSBLICK
203
Internet stattfinden. Bis heute ist die Normierung der Kommunikation kleinerer Stromerzeuger
noch nicht weit fortgeschritten. Mit der IEC 61850-7-420 für verteilte Erzeugung gibt es zwar
einen Normierungsansatz. In wie weit sich diese sehr umfangreiche Norm mit ihren komplexen
Datenstrukturen jedoch für die breite Masse der kleineren Stromerzeuger umsetzen lässt, ist bis
jetzt noch nicht abzusehen.
Die Richtlinie 2006/32/EG über Endenergieeffizienz und Energiedienstleistungen [80] schreibt
die zeitnahe Einführung von Smart-Metering-Systemen beim Endkunden vor. Solche Systeme sind nichts anderes als verteilte Monitoring-Systeme. Beim Kunden werden diverse
Verbrauchsdaten (von Strom, Wasser, etc. ) erfasst und mittels Datenkonzentratoren zu den
Versorgungsunternehmen übertragen. Wie die Strukturen der Smart-Metering-Systeme aussehen
werden, ist zunächst noch unklar. Es gibt zahlreiche Interessengruppen, die an der Entwicklung
bzw. dem Betrieb dieser Systeme interessiert sind, z. B. große Energieversorgungsunternehmen,
Stadtwerke, Telekommunikationsfirmen, Hersteller von Telekommunikations- und Messtechnik
etc. Zum jetzigen Zeitpunkt ist noch nicht absehbar, welche Ausstattung solche Systeme haben
werden und welche Zusatzfunktionen und Schnittstellen sie bieten können.
Wie die Strukturen der verteilten Regelungs- und Monitoringsysteme aussehen werden, ist bis
jetzt ebenfalls noch nicht erkennbar. Es zeichnet sich bisher auch noch nicht ab, ob bestimmte
Kommunikationsmedien (z. B. DSL, GSM, Powerline) und Kommunikationsprotokolle eine
Vorrangstellung erringen werden.
Wir erleben zum jetzigen Zeitpunkt, da sich eine Knappheit fossiler Energieträger überdeutlich abzeichnet, kreative, schnell voranschreitende und technisch anspruchsvolle Entwicklungsprozesse, die viele Chancen und Lösungsansätze für eine ressourcenschonende und effiziente
Energienutzung versprechen. Dabei besteht jedoch oftmals die Gefahr, dass aufgrund zeitlichen
Drucks und finanzieller Interessen technische Minimallösungen und proprietäre Systeme realisiert werden. Es bleibt zu hoffen, dass sich offene Standards und Protokolle durchsetzen werden
und damit interoperable und zukunftssichere Systeme entstehen.
204
KAPITEL 16. ZUSAMMENFASSUNG UND AUSBLICK
Kapitel 17
Danksagung
Mein herzlicher Dank gilt
Herrn Prof. Dr. Jürgen Schmid und Frau Prof. Dr. Birgit Vogel-Heuser für die
spontane Bereitschaft, diese Arbeit zu betreuen,
meinen Eltern, die mich über die Studien- und Doktorandenzeit in vielerlei Hinsicht
unterstützt haben,
Herrn Dr. Christof Wittwer, der meine Arbeit begleitet und an vielen Stellen
mitgeprägt hat,
den Mitarbeitern der Arbeitsgruppe “Betriebsführung und Systemregelung” am
Fraunhofer-Institut für Solare Energiesysteme ISE für viele anregende Gespräche
und Diskussionen sowie für das gute Arbeitsklima,
Frau Corinna Storz für die vielfältige Unterstützung,
Herrn Martin Müller und Herrn Dr. Tobias Thiele für gute Hinweise, die bei der
Erstellung dieser Arbeit geholfen haben,
der Free Software Foundation (http://www.fsf.org) und den vielen Autoren der
Open Source Software, die im Rahmen dieser Arbeit genutzt wurden,
und allen, die zum Gelingen dieser Arbeit beigetragen haben.
205
Abbildungsverzeichnis
3.1
Schichten in einem Computersystem . . . . . . . . . . . . . . . . . . . . . . . 25
4.1
4.2
4.3
Struktur eines Regelungssystems mit zentraler Regelungsinstanz . . . . . . . . 32
Struktur eines Regelungssystems mit verteilten Reglern . . . . . . . . . . . . . 32
Struktur eines Regelungssystems mit verteilten Reglern und einer zentralen Instanz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1
Display des vom Fraunhofer ISE entwickelten smart-metering-Systems
EWE-Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.1
Zeile aus der Datei /etc/inittab zur Konfiguration von mgetty für die erste
serielle Schnittstelle /dev/ttyS0 . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Eintragung von Hostnamen für PPP-Einwahlverbindungen in die Datei
/etc/ppp/options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 In der Datei /etc/ppp/pap-secrets werden die Logins (z. B. remote) und Passwörter (z. B. caller) der zur PPP-Einwahl berechtigten Nutzer hinterlegt. . . .
7.4 Kommunikation eines Rechners mit einem GSM-Modem zur Abfrage der vom
GSM-Modem gemessenen Signalstärke am Antenneneingang . . . . . . . . .
7.5 Ein Rechner mit “privater” IP (192.168.0.1) bekommt per Network Address
Translation unter der “öffentlichen” IP 89.110.146.76 Zugang zum Internet. Die
anderen Rechner des Netzwerks haben keinen Internetzugriff. . . . . . . . . .
7.6 Alle Rechner eines Netzes mit “privaten” IPs bekommen per Network Address
Port Translation über eine “öffentliche” IP Zugang zum Internet. . . . . . . .
7.7 Zugriff von einem Client-Rechner auf einen Server ohne (A) und mit (B) PortForwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8 Verbindungsaufbau von einem Client zum Einwahlrechner unter Nutzung von
DynDNS (1 - IP-Zuweisung, 2 - DynDNS-Update, 3 - DNS-Abfrage, 4 - Verbindungsaufbau) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.9 Skript zum Ermitteln der IP-Adresse eines Rechners und anschließenden Versenden dieser Adresse per Email . . . . . . . . . . . . . . . . . . . . . . . .
7.10 vom Tool updatecheck generierte Email mit einer Liste von Programmpaketen,
für die Sicherheitsupdates zur Verfügung stehen . . . . . . . . . . . . . . . .
7.11 Teilbild A: unsichere VNC-Verbindung über das Internet
Teilbild B: Eine VNC-Verbindung wird über eine SSH-Verbindung sicher durch
das Internet getunnelt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
206
. 56
. 57
. 57
. 59
. 65
. 65
. 67
. 69
. 70
. 74
. 77
ABBILDUNGSVERZEICHNIS
7.12 Screenshot vom Webinterface der Überwachungssoftware Smokeping
Die Qualität der Internetverbindung zwischen dem Überwachungsrechner und
einem zu überwachenden Server wird über einen Zeitraum von 3 h dargestellt.
7.13 Screenshot vom Webinterface der Monitoring-Software Nagios . . . . . . . .
7.14 Auszug aus einem automatisch generierten Report über die Erreichbarkeit von
per GSM vernetzten Systemen . . . . . . . . . . . . . . . . . . . . . . . . . .
7.15 Ausgabe von ifconfig für eine PPP-Verbindung per GSM . . . . . . . . . . . .
7.16 Verteilung des innerhalb von 24 h von einem Messsystem per GSM übertragenen Datenvolumens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1
8.2
8.3
8.4
8.5
8.6
9.1
9.2
9.3
9.4
10.1
10.2
10.3
10.4
Zwei lokale Netzwerke werden per VPN-Tunnel über das Internet verbunden. .
A: Direkte Kommunikation zwischen Client und Webserver
B: Nutzung eines Proxies zur Kommunikation zwischen Client und Webserver
Rechner mit direktem Zugang zum Internet . . . . . . . . . . . . . . . . . . .
Rechner mit Internet-Zugang per Firewall-Router . . . . . . . . . . . . . . . .
Netzwerk aus per VPN verbundenen Rechnern . . . . . . . . . . . . . . . . .
Trusted network hinter einem Zugriffsrechner mit Firewall . . . . . . . . . . .
Online-Visualisierung einer Wärmepumpenanlage per Java-Applet im Webbrowser Mozilla Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema einer Visualisierung der Messdaten eines Embedded Systems mittels
JAVA-Applet und XMLRPC . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schema einer Visualisierung der Messdaten mehrerer Embedded Systems mit
Hilfe eines zentralen Webservers . . . . . . . . . . . . . . . . . . . . . . . .
Editor zum Erstellen von Java-Online-Visualisierungen . . . . . . . . . . . .
WML-Code einer WAP-Seite . . . . . . . . . . . . . . . . . . . . . . . . . . .
WAP 1.x-Seiten dargestellt auf einem Mobiltelefon . . . . . . . . . . . . . . .
Übertragungsweg von WAP-Seiten vom Webserver zum Mobiltelefon . . . . .
links: Diagramm der elektrischen Leistungsaufnahme eines Haushalts aus dem
Stromnetz in Viertelstundenwerten. Die Darstellung erfolgt in Form eines WAP
2.x-Dokuments auf einem Mobiltelefon.
rechts: Für die Darstellung auf einem Mobiltelefon optimierte Diagramme zum
Stromverbrauch und zur Leistungsaufnahme eines Privathaushalts. . . . . . .
207
. 80
. 81
. 82
. 84
. 85
. 88
.
.
.
.
.
94
95
96
97
98
. 107
. 109
. 110
. 111
. 116
. 116
. 117
. 119
11.1 Mehrere virtuelle Maschinen werden auf einem Rechner ausgeführt. Sie sind
dabei durch ein virtuelles Netzwerk untereinander und mit dem Server verbunden. Über den Server können die virtuellen Maschinen auf das Internet zugreifen.122
11.2 Auf einem Rechner mit Ubuntu Linux 7.10 werden mit der Virtualisierungssoftware Virtualbox drei virtuelle Maschinen mit Damn-Small-Linux, Microsoft
Windows XP Professional und OpenSuSe 10.0 Linux gleichzeitig ausgeführt. . . 122
11.3 Struktur für Simulationen eines verteilten Regelungssystems mit virtuellen Maschinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
208
ABBILDUNGSVERZEICHNIS
11.4 Internetzugriff für virtuelle Maschinen mittels einer Netzwerk-Bridge zur
Ethernet-Karte des Host-Rechners . . . . . . . . . . . . . . . . . . . . . . . .
11.5 Anbindung von Regelungssoftware auf einer virtuellen Maschine an die Simulationssoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.6 Shell-Skript zur Netzwerk-Konfiguration zum Betrieb von virtuellen Usermode Linux-Maschinen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.7 Shell-Skript zum Start einer virtuellen User-mode Linux-Maschine mit drei
Netzwerkinterfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.8 Screenshot: Simulationsumgebung ColSim (oben rechts) und drei Windowmaker-Sessions, die auf drei verschiedenen mit Usermode-Linux realisierten virtuellen Maschinen ausgeführt werden . . . . . . . . . . . . . . . . . . . . . . .
11.9 Mit Embedded Systems bestückte Kompaktbaugruppen der Solarthermie 2000Anlage im Studentendorf Vauban in Freiburg im Breisgau . . . . . . . . . . .
. 130
. 131
. 132
. 133
. 135
. 136
12.1 Partitionstabelle einer 80 GB Festplatte mit einer Linux- und einer Linux-SwapPartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
13.1 Hauptfenster der Parametriersoftware für WP-Effizienz-Messsysteme . . . . .
13.2 Fehlermeldungen der WP-Effizienz-Parametriersoftware bei einer ungültigen
PIN-Eingabe bzw. bei der Eingabe einer falschen ID für einen Wärmemengenzähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.3 Zusammenfassung aller Eingaben für die Parametrierung eines WP-EffizienzMesssystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.4 Ausgabe der WP-Effizienz-Parametriersoftware beim Generieren von Konfigurationsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5 Infrastruktur für die Softwareinstallation von Wärmepumpen-Monitoringsystemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 148
. 148
. 149
. 149
. 152
14.1 Die Funktionsweise von Unionfs . . . . . . . . . . . . . . . . . . . . . . . . . 158
14.2 Eintragung zweier Programme zum Aufbau einer Einwahl-Internetverbindung
als respawn-Prozesse in /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . 160
15.1 Geografische Verteilung der Messsysteme aus den Projekten Wärmepumpen im
Gebäudebestand (links) und Wärmepumpen-Effizienz (rechts) in Deutschland
(Quelle: Screenshots der Projekt-Webseiten [231][230] ) . . . . . . . . . . . .
15.2 Infrastruktur des Messdatenabrufs per GSM für im Feld verteilte Messsysteme.
Der Abrufrechner wird per Virtual Private Network an das Netzwerk des Mobilfunkanbieters angebunden. . . . . . . . . . . . . . . . . . . . . . . . . . .
15.3 Jahresauswertung des Betriebs einer Fluid-Wärmepumpe . . . . . . . . . . .
15.4 Innenleben des net4501 der Firma Soekris Engineering Inc. [200] . . . . . . .
15.5 Rückseite des net4501 der Firma Soekris Engineering Inc. [200] mit Anschlüssen für Netzwerk (eth0, eth1, eth2), seriellen Schnittstellen (Console und externer Stecker) und Spannungsversorgung (Power) . . . . . . . . . . . . . . . .
. 162
. 164
. 165
. 167
. 168
ABBILDUNGSVERZEICHNIS
15.6 Konfigurationsdatei zur Erstellung einer Sensorliste für ein M-Bus-basiertes
Messsystem mit mehreren Wärmemengenzählern . . . . . . . . . . . . . . .
15.7 Schaltkasten mit Embedded System, GSM-Modem und Messtechnik für ein
Wärmepumpen-Monitoring-Projekt . . . . . . . . . . . . . . . . . . . . . . .
15.8 Schemazeichnung des im Bild 15.7 abgebildeten Schaltkastens . . . . . . . .
15.9 Shellskript zum Anlegen einer RAM-Disk und zum Überlagern von /var mit der
RAM-Disk per Unionfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.10 Infrastruktur für den Testbetrieb von WP-Effizienz-Messsystemen . . . . . . .
15.11 Prozessliste eines Messsystems im Messbetrieb . . . . . . . . . . . . . . . . .
15.12 Startabfolge der Prozesse auf dem Embedded System des Messsystems . . . .
15.13 Auszug aus einem automatisch generierten Report über die Systemfunktionen
und die Erreichbarkeit von per GSM vernetzten Messsystemen . . . . . . . . .
15.14 Header eines Tages-Messdatenfiles für ein Wärmepumpensystem . . . . . . .
15.15 Informationsfluss bei der Fahrplanerstellung des PoMS-Systems . . . . . . . .
15.16 Tagesauswertung der elektrischen Energieflüsse des Dispower-FeldtestSystems am Steinweg in Stutensee-Blankenloch . . . . . . . . . . . . . . . .
15.17 Kommunikations-Infrastruktur des Dispower-Feldversuchs in StutenseeBlankenloch bei Karlsruhe . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15.18 Power Interface Box auf der Basis eines SSV Dilnet PC ADNP1520 [201] . . .
15.19 Platine der Power Interface Box . . . . . . . . . . . . . . . . . . . . . . . . .
15.20 Online-Visualisierung des Regelungssystems per Java-Applet . . . . . . . . .
209
. 171
. 172
. 173
.
.
.
.
177
178
179
180
. 183
. 184
. 188
. 190
.
.
.
.
191
194
194
195
Tabellenverzeichnis
2.1
Stand der Technik bei Monitoringsystemen für verteilte Energiesysteme . . . . . 19
7.1
7.2
7.3
Umrechnung der vom GSM-Modem gemessenen Signalstärke von RSSI in dBm . 59
GPRS Multislot-Klassen (Quelle: Elektronik-Kompendium [70]) . . . . . . . . . 61
die in RFC1918 festgelegten IP-Bereiche für “private” IPs . . . . . . . . . . . . 64
8.1
VPN-Varianten und ihre Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . 90
9.1
Programmiersprachen und ihre Eignung für die Online-Visualisierung von Messdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Eignung von Optionen zur Datenübertragung zwischen Visualisierungs-Client
und -Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.2
13.1 Identifikation ausgesuchter OneWire-Bausteine über ihre Family Codes (siehe
[153]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
15.1 Anschlüsse des net4501 der Firma Soekris Engineering Inc [200] und deren Nutzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
15.2 Kommunikationsschnittstellen für Wärmemengenzähler . . . . . . . . . . . . . . 170
15.7 Vergleich von marktüblichen Monitoringsystemen mit dem neu entwickelten
Monitoringsystem für Wärmepumpen . . . . . . . . . . . . . . . . . . . . . . . 185
210
Literaturverzeichnis
[1] http://www.abb.de.
[2] http://www.acme.com.
[3] E. Ahlers. Industrie-Netze, volume 9. ‘CT Magazin für Computertechnik, Heise Zeitschriften Verlag GmbH & Co. KG, April 2008.
[4] http://airsnort.shmoo.com.
[5] http://www.alliedtelesyn.com.
[6] http://www.alstom.de.
[7] http://www.am-utils.org/project-unionfs.html.
[8] http://www.amd.com.
[9] http://www.ansi.org.
[10] http://www.apache.org.
[11] http://www.apple.com.
[12] http://www.arm.com.
[13] P. Arnby, J. Hjelm, and P. Stark. Wap 2.x architecture - features, services and functions.
Ericsson Review, 2001.
[14] http://matt.ucc.asn.au/dropbear/dropbear.html.
[15] http://www.asus.com.
[16] http://www.atmel.com.
[17] http://developer.axis.com/old/software/jffs/index.html.
[18] http://www.bacnet.org.
[19] http://www.bdew.de.
211
212
LITERATURVERZEICHNIS
[20] R. Becker. Vernetzte Embedded Systems und Visualisierung mit Java. In Tagungsband
zum Internationalen Kolloquium über Anwendungen der Informatik und Mathematik in
Architektur und Bauwesen, 10.-12. Juni 2003, Weimar, Germany. Bauhaus-Universität
Weimar, 2003.
[21] R. Becker, T. Erge, A. Kröger-Vodde, H.-G. Puls, and C. Wittwer. Deliverable D9.2 Prototype of POMS ready for implementation in test sites using standard hardware and
interfaces. www.dispower.org, 2005.
[22] R. Becker and C. Wittwer. Regelung und Monitoring von Solaranlagen mit vernetzten
Embedded Systems. In Tagungsband zum 14. Symposium Thermische Solarenergie, 12.
bis 14. Mai 2004, Kloster Banz, Bad Staffelstein. Ostbayerisches Technologie-TransferInstitut e.V. - Regensburg, 2004.
[23] R. Becker and C. Wittwer. Emulation vernetzter Regelungssysteme für solarthermische
Energieversorgungssysteme. In Tagungsband zum 5. Symposium Thermische Solarenergie, 27. bis 29. April 2005, Kloster Banz, Bad Staffelstein. Ostbayerisches TechnologieTransfer-Institut e.V. - Regensburg, 2005.
[24] K. Bender, D. Großman, and B. Danzer. FDT + EDD + OPC UA = FDD UA, volume 2.
atp Automtisierungstechnische Praxis, Oldenbourg Industrieverlag GmbH, Februar 2007.
[25] http://www.bitkom.de.
[26] http://www.bluetooth.com.
[27] http://bochs.sourceforge.net.
[28] A. Bolder. Smart Metering: Der Zähler als Datenquelle in einem sich verändernden
Markt, volume 9. DVGW energie|wasser-praxis, wvgw Wirtschafts- und Verlagsgesellschaft Gas und Wasser mbh, 2007.
[29] http://www.bsi.de.
[30] http://www.bsi.de/certbund/infodienst/index.htm.
[31] http://www.bsi.de/literat/doc/gsm/gsm.pdf.
[32] B. Buchholz, V. Bühner, H. Frey, W. Glaunsinger, M. Kleimaier, M. Pielke, H. Roman,
J. Schmiesing, J. Stein, Z. Styczynski, and H. Baden. Smart Distribution 2020 – Virtuelle
Kraftwerke in Verteilungsnetzen – technische, regulatorische und kommerzielle Rahmenbedingungen.
[33] http://www.bundesgesetzblatt.de.
[34] http://www.bundesnetzagentur.de.
LITERATURVERZEICHNIS
213
[35] http://www.bundesregierung.de/Content/DE/
Pressemitteilungen/BPA/2007/12/2007-12-05-bundesregierungbeschliesst-energie-und-klimaprogramm.html.
[36] dip21.bundestag.de/dip21/btd/16/094/1609470.pdf.
[37] http://www.busybox.net.
[38] A. Bühring, M. Miara, C. Russ, C. Bichler, and R. Becker. Zwei Feldmessungen neuer
Wärmepumpen gestartet. In Tagungsband zur Deutschen Kälte-Klima-Tagung, 23.-24.
Oktober 2007, Dresden, Germany. Deutscher Kälte- und Klimatechnischer Verein e.V.,
2007.
[39] http://www.can-cia.org/can.
[40] http://www.ccc.de.
[41] http://www.ccc.de/press/releases/2006/20060925/?language=de.
[42] http://www.cisco.com.
[43] http://www.clearwire.com.
[44] http://www.colsim.de.
[45] http://www.compactflash.org.
[46] G. Coulouris, J. Dollimore, and T. Kindberg. Verteilte Systeme - Konzepte und Design.
Addison Wesley, 2002.
[47] http://www.crypto.com/papers/others/rc4_ksaproc.ps.
[48] http://www.dbd-breitband.de.
[49] http://www.dcf77.com.
[50] http://www.debian.org.
[51] http://www.debian.org/security.
[52] http://derstandard.at.
[53] http://www.devolo.com.
[54] http://www.dgs.de.
[55] http://www.digi.com.
[56] http://www.dispower.org.
214
LITERATURVERZEICHNIS
[57] http://www.dispowergen.com/std/der/index.html.
[58] http://www.dlink.com.
[59] http://www.dnp.org.
[60] http://www.dwd.de.
[61] http://www.dyndns.com.
[62] http://www.echelon.com.
[63] M. Eckl. Vorteile der zukünftigen IEC 61850 bereits heute nutzen, volume 13-14. ETZ
Elektrotechnik + Automation, VDE Verlag GmbH, 2002.
[64] http://www.eco.de.
[65] http://ecos.sourceware.org.
[66] http://www.eddl.org.
[67] http://www.edf.fr.
[68] http://www.gesetze-im-internet.de/eeg_2004.
[69] http://www.eiba.de.
[70] http://www.elektronik-kompendium.de.
[71] http://www.elstermesstechnik.com.
[72] http://www.enel.it.
[73] http://www.energyict.com.
[74] http://www.eon.com.
[75] T. Erge, R. Becker, A. Kröger-Vodde, H. Laukamp, M. Thoma, and R. Werner. Deliverable
D9.3 - Report on improved power management in low voltage grids by the application of
the PoMS system. www.dispower.org, 2005.
[76] http://www.ericsson.com.
[77] H. Erlenkötter and V. Reher. Java - HTML, Scripts, Applets und Anwendungen. Rowohlt
Taschenbuch Verlag GmbH, 1999.
[78] http://www.ethercat.org.
[79] http://www.ethernet-powerlink.org.
LITERATURVERZEICHNIS
215
[80] EU:. Richtlinie 2006/32/EG des Europäischen Parlamentes und des Rates vom 5. April
2006 über Endenergieeffizienz und Energiedienstleistungen und zur Aufhebung der Richtlinie 93/76/EWG des Rates. Amtsblatt der Europäischen Union, 2006.
[81] http://www.ewe.de.
[82] http://www.fdtgroup.org.
[83] http://www.fieldbus.org.
[84] S. Fischer, U. Walther, S. Schmidt, and C. Werner. Linux-Netzwerke - Aufbau, Administration, Sicherung. S. 259ff, Nicolaus Millin Verlag GmbH, 2005.
[85] http://www.flexray.com.
[86] O. Franz, M. Wissner, F. Büllingen, C.-I. Gries, C. Cremer, M. Klobasa, F. Sensfuß,
S. Kimpeler, E. Baier, T. Lindner, H. Schäffler, W. Roth, and M. Thoma. Potenziale
der Informations- und Kommunikations-Technologien zur Optimierung der Energieversorgung und des Energieverbrauchs (eEnergy). wikConsult und FhG Verbund Energie,
2006.
[87] http://www.fsf.org.
[88] http://www.fsmlabs.com.
[89] http://www.gnu.org.
[90] http://www.gnuplot.info.
[91] www.golem.de/0607/46614.html.
[92] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.
html.
[93] http://ec.europa.eu/energy/green-paper-energy-supply/doc/
green_paper_energy_supply_de.pdf.
[94] http://www.gnu.org/software/grub.
[95] http://www.gsmworld.com/about/index.shtml.
[96] http://www.gtk.org.
[97] O. Haas. Kommunikation für dezentrale Stromversorgungssysteme. Dissertation, dissertation.de - Verlag im Internet GmbH, 2002.
[98] http://www.hamachi.cc/company.
[99] http://www.hartcomm.org.
216
LITERATURVERZEICHNIS
[100] http://www.heise.de/newsticker/Internet-foerdert-Fluchtvor-Information--/meldung/9442.
[101] http://www.heise.de/security/artikel/42011.
[102] H.-G. Hinzen and R. Heinze. IEC 61850 Erste Praxiserfahrungen bestätigen Zukunftssicherheit, volume 10. ETZ Elektrotechnik + Automation, VDE Verlag GmbH, Oktober
2007.
[103] http://www.homegridforum.org.
[104] http://www.homeplug.org.
[105] http://www.honeywell.com.
[106] http://content.honeywell.com/sensing/prodinfo/
humiditymoisture/009012_2.pdf.
[107] http://www.iana.org/assignments/port-numbers.
[108] http://www.ibm.com.
[109] http://www.ibuttonlink.com.
[110] http://www.icpdas-europe.com.
[111] http://www.iec.ch.
[112] http://www.ieee802.org/3.
[113] http://www.ieee802.org/11.
[114] http://www.ieee802.org/15.
[115] http://www.ieee802.org/16.
[116] http://www.ietf.org.
[117] http://tools.ietf.org/html/791.
[118] http://tools.ietf.org/html/1034.
[119] http://tools.ietf.org/html/1035.
[120] http://tools.ietf.org/html/1579.
[121] http://tools.ietf.org/html/1918.
[122] http://tools.ietf.org/html/2131.
LITERATURVERZEICHNIS
217
[123] http://tools.ietf.org/html/2246.
[124] http://tools.ietf.org/html/2460.
[125] http://tools.ietf.org/html/2663.
[126] http://tools.ietf.org/html/2709.
[127] http://tools.ietf.org/html/2993.
[128] http://tools.ietf.org/html/3027.
[129] http://tools.ietf.org/html/3235.
[130] http://www.incits.org.
[131] http://www.infineon.com.
[132] http://www.inquam-broadband.de.
[133] http://www.intel.com.
[134] http://www.ise.fraunhofer.de.
[135] http://www.itenos.de.
[136] http://www.janitza.de.
[137] http://java.sun.com.
[138] http://www.kabelbw.de.
[139] http://www.kernel.org.
[140] http://www.kingston.com.
[141] O. Kirch and T. Dawson. Linux Network Administrator’s Guide. O’Reilly and Assiciates,
2000.
[142] http://kismac.de.
[143] http://kismac.macpirate.ch.
[144] http://www.bmu.de/klimaschutz/internationale_klimapolitik/
kyoto_protokoll/doc/5802.php.
[145] R. Lauber and P. Göhner. Prozessautomatisierung 1. Springer, 1999.
[146] http://www.libgd.org.
[147] http://www.linksys.com.
218
LITERATURVERZEICHNIS
[148] http://www.lonmark.org.
[149] D. Lous and P. Müller. Java - Der einfache Einstieg in die Internetprogrammierung.
Pearson Education Deutschland GmbH, 2000.
[150] http://www.matrikon.com.
[151] http://www.maxim-ic.com.
[152] MAXIM Application Note 148 - Guidelines for Reliable 1-Wire Networks.
[153] MAXIM Application Note 155 - 1-Wire Software Resource Guide Device Description.
[154] http://www.m-bus.com.
[155] M. Miara, C. Russ, and R. Becker. Wärmepumpen im Feldtest, volume 9. KI - Kälte - Luft
- Klimatechik, Hüthig GmbH, 2007.
[156] http://www.microsoft.com.
[157] http://www.mips.com.
[158] http://www.modbus.org.
[159] http://monkey.org/~dugsong/dsniff.
[160] http://broadband.motorola.com/default.asp.
[161] http://www.moxa.com.
[162] http://www.mozilla.com.
[163] http://www.mvv.de.
[164] http://www.myip.dk.
[165] http://www.nagios.org.
[166] http://www.nessus.org/nessus.
[167] http://www.netscape.com.
[168] http://nmap.org.
[169] http://www.nokia.com.
[170] http://www.nomachine.com.
[171] http://www.novell.com/linux.
[172] http://www.opcfoundation.org.
LITERATURVERZEICHNIS
219
[173] http://www.opcconnect.com/taskrel.php.
[174] http://www.openmobilealliance.org.
[175] http://www.openssh.com.
[176] http://www.openssl.org.
[177] http://www.openvpn.net.
[178] http://www.opera.com.
[179] http://www.panasonic.com.
[180] http://pearpc.sourceforge.net.
[181] T. Peschel-Findeisen. Nebenläufige und Verteilte Systeme. MITP, 2006.
[182] http://www.philips.com.
[183] http://www.profibus.com.
[184] http://www.ptb.de.
[185] http://fabrice.bellard.free.fr/qemu.
[186] http://www.realvnc.com.
[187] http://www.redhat.com.
[188] http://www.rwe.com.
[189] http://rsync.samba.org.
[190] http://www.sandisk.de.
[191] http://www.schneier.com/paper-ipsec.pdf.
[192] http://www.schneier.com/paper-pptpv2.pdf.
[193] K. Schwarz. Mit genormten Webservice-Erweiterungen für die erfolgreiche Normenreihe IEC 61850 gegen die Vielfalt der Protokolle. In Tagungsband zum Internationalen
ETG-Kongress 2007, 23.-24. Oktober 2007, Karlsruhe, Germany. Energietechnische Gesellschaft im VDE (ETG)), 2007.
[194] T. Schäffler. Prozessnahe Kommunikation in Schaltanlagen mit IEC 61850. In Tagungsband zum Internationalen ETG-Kongress 2007, 23.-24. Oktober 2007, Karlsruhe, Germany. Energietechnische Gesellschaft im VDE (ETG), 2007.
220
LITERATURVERZEICHNIS
[195] http://ec.europa.eu/energy/res/setplan/communication_2007_
en.htm.
[196] http://www.siemens.com.
[197] Siemens MC35i Cellular Engine - AT Command Set.
[198] http://www.smartgridvehicle.org.
[199] http://smartmontools.sourceforge.net.
[200] http://www.soekris.com.
[201] http://www.ssv-embedded.de.
[202] http://www.sun.com.
[203] http://www.t-com.de.
[204] http://www.t-mobile.de.
[205] http://www.techem.de.
[206] http://www.texas-instruments.com.
[207] M. C. Thoma. Optimierte Betriebsführung von Niederspannungsnetzen mit einem hohen
Anteil an dezentraler Erzeugung. Dissertation, ETH-Zürich, http://www.eeh.ee.
ethz.ch/psl/publications/phd.html, 2007.
[208] M. C. Thoma, T. Erge, R. Becker, and A. Kröger-Vodde. Active management of electrical networks with a high share of distributed generation. Journal of Distributed Energy
Resources, Volume 3, 2007.
[209] http://www.tixi.de.
[210] http://www.toshiba.com.
[211] http://www.tracopower.com.
[212] http://www.ubuntu.org.
[213] http://www.uni-paderborn.de.
[214] http://www.upaplc.org.
[215] http://user-mode-linux.sourceforge.net.
[216] http://www.vdn-berlin.de.
[217] http://www.virtuozzo.com.
LITERATURVERZEICHNIS
221
[218] http://www.vmware.com.
[219] http://www.vodafone.de.
[220] http://www.wapforum.org.
[221] http://www.wavecom.com.
[222] http://www.white-sim.de.
[223] http://www.wi-fi.org.
[224] http://www.wimax-industry.com.
[225] http://www.windowmaker.info.
[226] http://www.windriver.com.
[227] http://www.winscp.net.
[228] http://www.wireshark.org.
[229] C. Wittwer. ColSim - Simulation von Regelungssystemen in aktiven solarthermischen
Anlagen. Dissertation, Universität Karlsruhe, 1999.
[230] http://wp-effizienz.ise.fraunhofer.de.
[231] http://wp-im-gebaeudebestand.de.
[232] H. Wörn and U. Brinkschulte. Echtzeitsysteme. Springer, 2005.
[233] http://www.xensource.com.
[234] http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html.
[235] http://www.xfig.org.
[236] http://www.xfree86.org.
[237] http://www.xfree86.org/4.2.0/Xnest.1.html.
[238] http://www.w3.org/XML.
[239] http://www.xmlrpc.com.
[240] http://www.x.org.
[241] http://www.zenith.com.
222
LITERATURVERZEICHNIS
[242] D. Zimmer. Trau, Schau, Wem - Professionelle Virtualisierungsprodukte im Überblick,
volume 5. IX Magazin für Professionelle Informationstechnik, Heise Zeitschriften Verlag
GmbH & Co. KG, Mai 2006.
[243] http://www.zvei.org.

Documentos relacionados