-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathioefragen.tex
1275 lines (988 loc) · 87 KB
/
ioefragen.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\section{Allgemeines}
\subsection{Welche Themen wurden in der Vorlesung behandelt?}
\begin{itemize}
\item Klassifikation von Geräten
\item Privatsphäre im IoE
\item Betrachtung des IoE in Bezug auf das OSI-Modell
\item Sicherheitsaspekte
\end{itemize}
\subsection{Auf welche Probleme stößt man im IoE? Warum müssen diese extra behandelt werden?}
\begin{itemize}
\item Möglichste Energiesparend, da Batteriebetrieben
\item Sehr beschränkte Rechenleistung
\item Kommunikationswege nicht zuverlässig, Semi-Broadcast
\item Meist keine Infrastruktur vorhanden, wenig zentrale Infrastruktur
\item Geringe Bauform und muss günstig sein
\item Greif tief in die Privatsphäre des Menschen ein, Sammelt private Daten.
\item Omnipräsenz?
\end{itemize}
\subsection{Welche Unterschiede und Besonderheiten gibt es?}
\begin{itemize}
\item Dezentral
\item Selbstorganisieren
\item Limitierte Ressourcen
\item Unzuverlässiger Ressourcenkanal
\item Unsicher, knoten können zerstört oder ausgelesen werden.
\end{itemize}
\subsubsection{Was muss man deswegen besonders beachten?}
Durch die Allgegenwärtigkeit der Knoten muss besonders auf die Privatsphäre geachtet werden.
\subsubsection{Privatsphäre was ist das?}
Die Möglichkeit vertraulich zu kommunizieren und selbst darüber zu bestimmen, wer welche Daten über mich erhält.
\subsubsection{Warum ist Privatsphäre wichtig? Wo ist das Problem beim Datenschutz?}
sensitive Daten?
\subsubsection{Was sind die Prinzipien des Datenschutzes?}
Datensicherheit, Datensparsamkeit, Rechtmässigkeit, Transparenz, Nutzerrechte, Kontrolle.
\subsubsection{Was gibt es für Schutzziele?}
\subsubsection{Wie realisieren wir Sicherheit im IoE?}
\subsubsection{Wir hatten eine Wetterstation als Beispiel, wie funktioniert das?}
Wetterstation sammelt Daten und überträgt diese an die Server des Herstellers. Kunde greift mit seinem Smartphone auf die gesammelten Daten auf den Servern des Herstellers zu. Die Daten liegen nicht beim Kunden sondern beim Hersteller in fremder Hand.
\paragraph{Wo liegt hier das Problem?}
Es wird unter anderem die Lautsärke gemessen, die lässt eventuell sogar Sprachaufzeichnungen zu. Desweiteren können über diese Daten auf das Verhalten der Bewohner schließen lassen.
\subsubsection{Wo liegt das Problem bei Smart Metering?}
Aus dem hochfrequenten sampling der Verbrauchswerte lassen sich ebenso Verhaltensmuster schließen.
\paragraph{Warum will man das dann?}
Durch die hochfrequenten Messwerte lassen sich Geräte schalten wenn Stromüberschüsse vorhanden sind außerdem kann der Netzbetreiber mit diesen Informationen sein Stromnetz besser regeln und weiß wann er mehr oder weniger erzeugen muss.
\paragraph{Womit lässt sich dieses Problem umgehen?}
SMART-ER
\subsection{Was ist das Problem bei vielen Geräten auf kleinem Raum, und was macht man dagegen?}
Das Problem sind Kollisionen und der damit verbundene Energieverbrauch durch Erkennung und Retransmission. Das Routing wird komplexer. Die Gegenmaßnahme ist Topologiekontrolle.
\subsection{Was hat bei Sensorknoten den höchsten Energieverbrauch?}
Funkschnittstelle und, wenn vorhanden, Display.
\subsection{Welche Netztopologien kommen im IoE vor?}
\begin{itemize}
\item Einzellnes Gateway
\item Mehrere Gateways (Redundanz)
\item Ad\- Hoc\- Netz
\end{itemize}
\section{Routing}
\subsection{Welche Verfahren gibt es?}
Probalistische, lokalisationsbasierte und inhaltsbasierte Verfahren.
\subsection{Welches inhaltsbasierte Verfahren hatten wir?}
Direct Diffusion
\subsubsection{Wie funktioniert Direct Diffusion?}
Sender broadcastet Interesse nach bestimmten Daten in Form von Attribut-Wert Paaren. System speichert Richtung aus der ein Intresse kam in Form von Gradienten. Sensoren mit entsprechenden Daten schicken die Daten an den Sender. Sobal der Sender merkt, dass die Daten verfügbar sind, startet er eine Reinforcment Phase zur Verstärkung der Gradienten.
\subsubsection{Genaures im Detail } %TODO
\section{MAC}
\subsection{Welche Verfahren hatten wir auf der MAC-Schicht?}
S-MAC, B-MAC und 802.15.4
\subsubsection{Wie lassen sich diese Klassifizieren?}
Zentral(802.15.4) Dezentral(S-Mac), Synchron(S-Mac) Asynchron(B-Mac) %TODO
\subsection{Wie funktioniert S-MAC?}
%TODO
\subsubsection{Welche Erweiterungen gab es bei S-MAC und wie funktionieren diese?}
\begin{itemize}
\item ALP:
\item MP (Message Passing):
\end{itemize}
\subsection{Wie funktioniert B-MAC?}
\subsection{Wie funktioniert 802.15.4 im Beacon Modus?}
Duty Cycling, gibt das Verhältnis zwischen wach und schlafphasen an.
\subsubsection{Wie erhält man im Beacon Modus einen garantierten Zeitschlitz?}
%TODO Zeit Paket Diagram aus der Vorlesung zeichen
\section{Sicherheit}
\subsection{Warum wollen wir vertraulich kommunizieren}
\subsection{Reicht Verschlüsselung um die Privatsphäre zu schützen}
Nein, Beispiel SMART\- METER
\subsection{Was haben wir besprochen?}
Single Mission Key, Zufallsverteilte Schlüssellisten und Key Infection
\subsection{Wie funktioniert Single Mission Key?}
Ein Schlüssel für alle Systeme, alle nutzen diesen für Verschlüsselung und Integritätssicherung. Problem ist, dass ein kompromitiertes Gerät reicht umd die gesamte Sicherheit zu brechen.
\subsubsection{passiert wenn ein neues System hinzukommt?}
Es wird mit dem selben Single Mission Key konfiguriert und kann dann mit dem Rest des Netzes kommunizieren.
\subsection{Was ist EGLI?}
Eschenauer Gligor
\subsubsection{Wei funktioniert EGLI?}
Es gibt eine globale Schlüsselliste und lokale zufällige Teilmengen als Keyrings.
%TODO Digagramm des Schlüsselaustauschs
A sendet Zufallszahl, B antwortet mit verschlüsselter Zahl mit allen Schlüsseln, damit kennt A nun die Schlüssel(durch Entschlüsseln mit eigenen Schlüsseln)
Keypool P wird vom Benutzer zufällig erzeugt. Jedes System erhält einen Keyring R mit einer Teilmenge von P. Es wird gezeigt, dass mit guter Wahl von P und R eine Wahrscheinlichkeit von mehr als 99\% erreicht werden kann, dass zwei Systeme einen gemeinsamen Schlüssel in ihren Keyring haben.
\paragraph{Ist EGLI zuverlässig?}
Nein, da es keine E2E Quittungen gibt.
\subsubsection{Wie Kann man den Aufwand minimieren?}
Wert selbst mitschicken und damit nur mit richtigem entschlüsseltem Antworten.
\subsubsection{Was ist Zuverlässigkeit?}
Vollständige Übertragung in der korrekten Reihenfolge ohne Dupplikate.
\paragraph{Wie stellen wir Zuverlässigkeit sicher?}
Time, Quittungen, Sequenznummern, FEC, E2E Quittungen, Hop by Hop Quittungen.
\subsubsection{Was ist der Unterschied zwischen E2E und Hop 2 Hop Kommunikation?}
\subsection{Was ist Privatsphäre?}
Right to be let alone, hat sich zu Recht auf Bestimmung über Verwendung persönlicher Daten entwickelt.
\subsubsection{Beispiele für Geräte die persönliche Daten aufzeichnen?}
Smart Watch, SmartPhone, Thermometer, Smart Meter...
\subsubsection{Was ist bei Stromzählern problematisch? Die werden doch heutzutage auch schon abgelesen?}
Die zeitliche Auflösung ist das Problem, bisher gab es einen Verbrauchswert pro Jahr, jeder sind Werte im Bereich von weniger als einer Sekunde möglich. Dies lässt Rückschlüsse auf das private Leben schließen.
\subsubsection{Warum benötigt man Smart\- Meter?}
Dezentrale Steuerung des Stromnetzes v.a. bei volatilen regenerativen Energiequellen (dezentral Energiequellen oder Verbraucher passend ein\- und ausschalten, z.B. schaltet sich die Waschmaschine erst bei lokalem Stromüberschuss an.)
\subsubsection{Wie kann man Schutz der Privatsphäre bei Smart\- Metern absichern?}
\begin{itemize}
\item Grundmaßnamen sind immer Pseudoanonymisierung und Verschleierung (zeitliche und örtliche Auflösung)
\item Pseudoanonymisierung ist jedoch problematisch da hier eine Trusted Third Party notwendig ist
\item Zeitliche Verschleierung verhindert jedoch die effiziente Nutzung der Daten
\item Besser ist hier eine örtliche Verschleierung durch Gruppenbildung (SMART\- ER)
\paragraph{Wie funktioniert SMART\- ER?}
%TODO Diagramm einfügen
Gruppenbildung und Zufallszahlen austauschen
Summe und Menge der Kommunikationspartner zurückgeben( weil Gültigkeit der Werte davon abhängt, ob Kommunikationspartner gültige Werte geliefert haben)
Das Problem ist die Gruppeneinteilung durch Anbieter oder Trusted Third Party, so könnte ein Anbieter einfach jeden Zähler in eine eigene Gruppe zuweisen und das ganze Verfahren wäre sinnlos. Alternativen sind Smart Meter Speed\- dating(aber: Woher bekommen die Knoten vertrauenswürdig die gloable Liste aller Teilnehmer?) oder dezentrales Aggegieren in Overlay\- Netzen.
\end{itemize}
\subsection{Was ist das besondere im Bezug auf traditionelle Sicherheit?}
\begin{itemize}
\item Hauptproblem: Ressourcenknappheit, d.h. asymmetrische Verfahren sind problematisch, Schlüsselaustausch muss mit symmetrischen Verfahren implementiert werden.
\item Oft gibt es keine zentrale Infrastruktur
\item Schlüsselaustauschverfahren für klassische Sensornetzen: EGLI, Key Infection: DICE als schlankeres DTLS
\end{itemize}
\subsection{Wie funktioniert Key Infection?}
%TODO Diagramm des Schlüsselaustausches zeichnen
A sendet $k_i$, B sendet $Enc_{k_i}(k)$ zurück, dies ist nun der Sitzungsschlüssel.
Nur wer in direkter Reichweite von A war, konnte $k_i$ abhören und kennt damit den Sitzungsschlüssel, damit muss der Angreifer sehr viele räumlich verteilte Systeme korrumpieren.
\section{noch nicht zugeordnet}
\subsection{Wie kriegt man ein Sensornetz ans Internet angebunden?}
Mit 6LoWPAN, angepasste Version von IPv6 für das IoT. Bildet Adaptionsschicht zwischen 802.15.4 und IPv6.
\subsubsection{Was ist 6LoWPAN?}
IPv6 für schwache Knoten, z.B. Sensornetzen. Ermöglicht Anbindung an das "normale" Internet. Bietet bspw. Header Compression. Ein Gateway setzt dann von 6LoWPAN in normales IPv6 um.
\subsubsection{Wie funktioniert 6LoWPAN?}
komprimierung/dekomprimierung am Edge-Router
\subsubsection{Welche Arten von Adressierung gibt es in IPv6?}
Unicast, Multicast und Anycast
\subsubsection{Wie sieht eine 6LoWPAN Datenpaket aus?}
Dispatch\- Byte (Header\- Typ/Fragmentierung), danach Paketheader
Paketheader kann z.B. komprimierter IP\- bzw. UDP\- Header sein, in diesem Fall enthält er ein Bitfeld, welches angibt welche Teile des Headers komprimiert werden.
\subsubsection{Was ist das Dispatch/Compress Byte?}
Das Dispatch Byte ist ein verpflichtendes "Headerfeld", das angibt ob es sich um einen komprimierten/unkomprimierten IPv6 Header handelt oder ob das Paket fragmentiert ist. Danach kommt nochmal ein Byte das anzeigt welches Feld des IP Heads komprimiert ist.
\subsubsection{Welche Header Felder werden komprimiert und wie?}
Direkt aus PAN bzw. MAC\- Adresse abgeleitet, konkateniert mit Netzpräfix, d.h. Präfix kann bei lokalen Adressen weggelassen werden, bei direkter Kommunikation kann die Adresse sogar ganz weg gelassen werden, das sie bereits im MAC\- Header steht.
Alle Felder die bereits duch MAC Felder abgedeckt werden und ansonsten redundante Informationen darstellen würden.
Verkehrsklasse/Flow Label, Version, Addressen, Länge...
Versionsfeld wird komprimiert, da immer 6.
Traffic-Control und Flow Label sind meist 0
Adresse bei Link-Lokaler Kommunikation, volle Adressen nur, wenn vorher ein Kontext etabliert wurde)
Next Header
Länge aus Schicht 2
\paragraph{Wie sieht ein komprimierter Header aus?}
Mehrere Bits die angeben, ob Adresse, Länger, NextHeader etc... komprimiert oder unkomprimiert vorliegen, gefolgt von den entsprechenden Feldern.
\subsubsection{In welche Richtung setzt das Gateway die komprimierten Header um?}
Von IPv6 zu 6LoWPAN: komprimierung
Von 6LowPan zu IPv6: dekomprimierung
\subsubsection{Gibt es noch andere Header die komprimiert werden können?}
Ja, UDP. Hierbei werden weniger Ports benutzt und die Länge auf Schicht 3 berechnet. Die Sequenznummer kann komprimiert werden, das UDP nicht zuverlässig ist.
\paragraph{Wofür braucht man überhaupt Ports?} Bindung von Programmen an die Netzwerkadresse.
\paragraph{Wieso benötigt UDP hier weniger Ports?} UDP ist kein zuverlässiges Protokoll und belegt deswegen keinen Port um auf eine Bestätigung des Empfangs zu hören. Ausserdem kann die Anzahl der verfügbaren Ports reduziert werden da so ein ressourcenarmes Gerät vermutlich keine $2^{16}$ Anwendungen ausführen wird.
\subsubsection{Wie lang ist eine IPv6\- Adresse?}
128 Bit. Die ersten 64Bit sind der Präfix, welche bei link-lokaler Kommunikation nicht benötigt wird und die zweiten 64 Bit sind die Interface ID, z.B. kann hier die MAC-Adresse des Adapters verwendet werden.
\subsubsection{Wie lange ist ein IPv6\- Header?}
40 Byte
\subsubsection{Wie groß ist ein 6LoWPAN Paket?}
\subsubsection{Wie groß ist ein 802.15.4 Frame?}
\subsubsection{Wie funktioniert das Routing bei 6LoWPAN?}
6LowPan nutzt RPL
\subsubsection{Wie funktioniert Address Autoconfig?}
\subsubsection{Wie funktioniert Fragmentierung?}
\subsection{Welche Kommunikationsformen gibt es in WPANs?}
Unicast, Multicast und Concast
\subsubsection{Was ist Unicast?}
\paragraph{Was ist HHR?}
\paragraph{Was ist E2ER?}
\subsubsection{Was ist Multicast?}
\paragraph{Gibt es bei Multicast ein spezielles Verfahren bezüglich der Zuverlässigkeit, wenn ja welches und wie funktioniert es?}
Pump Slowly Fetch Quickly: %TODO
\subparagraph{Wie funktioniert das?}
Szenario: Sender sendet, System leitet nach Verzögerung weiter
\subparagraph{Leiten sie immer weiter?}
Nein, wenn mindestens 3 andere bereits weitergeleitet haben, dann nicht
\subparagraph{Und ansonten immer?}
Neun, nur wenn das System alle Sequenznummern erhalten hat. Fehlet eine Sequenznummer, so wird diese erstmal mit einem NACK an alle Nachbarn angefragt. Nachbarn warten zufällige Zeit pro Sequenznummer und verschicken das Paket nur nochmal, falls nicht schon ein anderes System auf das NACK reagiert hat.
\subparagraph{Wann und wie werden NACKs verbreitet?} 1Hop Umgebung (semi-bc)
\subparagraph{Wann werden Daten gepumpt?} Probalistisches Multicast bis zu gewissen grenzen, kein Fluten
\subparagraph{Wenn ein Knoten anhand der Sequenznummer feststellt, dass ihm ein Paket fehlt, muss er dann seine Nachbarn kennen um das NACK zu senden?}
Nein, das NACK wird per Broadcast mit TTL=1 gesendet.
\subparagraph{Haben wir damit jetzt 100\% zuverlässigkeit?}
Nein, kommt keine Dateneinheit mit falscher Sequenznummer, so sieht auch kein Knoten die Notwendigkeit ein NACK zu senden.
\subparagraph{Wie addressiert der Sender die Empfänger?}
Wenn alle erreicht werden sollen, wird per Broadcast transmittet, soll nur eine Teilgruppe der Teilnehmer erreicht werden, so wird per Multicast addressiert %TODO ähm?
\subparagraph{Kann ich bei einem Broadcast die Adresse einfach weglassen?}
Nein man benutzt eine Broadcastadresse.
\paragraph{Was ist ESRT und wie funktioniert es?}
Senke broadcastet gewünschte Rate über starke Sendeleistung, da es meistens am Stromnetz hängt.
\subsubsection{Was ist Concast?}
Viele Sender senden zu einem Empfänger(Senke)
\paragraph{Welches Protokoll haben wir hier erwähnt?}
ESRT
\subparagraph{Was ist ESRT?}
\subparagraph{Wie funktioniert ESRT?}
\subparagraph{Wie wird die neue Senderate publiziert?}
Broadcast von der Senke an alle Quellen. Dafür muss sie aber auch alle mit ihrer Senderstärke erreichen können.
\subsubsection{Was ist ein Semi\- Broadcast Medium?}
Funk, nur eine Teilmenge aller Empfänger liegt in der Sendereichweite
\subsection{Wie funktioniert LEACH?}
Zeit wird in Runden diskreditiert, in jeder Runde werden zufällig $N \times P$ Cluster\- Heads bestimmt.
Es gibt jeweils $\frac{1}{P}$ Runden zusammengefasst, innerhalb dieser Runden wächst die Wahrscheinlichkeit, dass sich ein Knoten als Cluster\- Head definiert, bis auf 1 an.
Nach der Wahl der Cluster\- Heads: Andere Knoten wählen ein Cluster
%TODO ich hab keine Ahnung
\subsubsection{Wie wird in LEACH Energie gespart?}
Nur die Cluster\- Heads müssen jederzeit mit Gateway o.ä. kommunizieren (hohe Sendeleistung).
Die Cluster\- Heads stellen einen Zeitplan auf und die anderen Knoten kommunizieren immer nur mit den Cluster\- Heads (Sterntopologie) und müssen nur wach sein, wenn es der Zeitplan vorsieht.
\subsection{Was ist CoAP}
CoAP ist eine leichtgewichtige Variante von HTTP(kompaktes binäres Protokoll, dass auf UDP aufbaut).
Anfragetypen, zwei Schichten, Pakettypen.
\subsection{Mac-Protokolle? Was anstatt WLAN?}
IEEE 802.15.4, B-MAC, S-MAC
\section{Geräteklassen}
\subsection{Was sind Nanonetze?}
Kleinste vernetzte Nanomaschinen die jeweils nur eine Aufgabe wie Speichern, Messen, Berechnen oder Manipulieren ausführen können. Nanonetze benutzen Molekulare Kommunikation anstatt elektromagnetische.
\subsection{Was ist Smart Dust?}
Sehr kleine beschänkte Hardware im Nano bis Millimeter Bereich. Die in kooperation zusammen wirken. Bisher nur Forschungsthematik.
\subsection{Was sind klassische Sensornetze?}
Sehr viele kleine auf Einzelanwendungen maßgeschneiderte Systeme. Sie sind batteriebetrieben und haben nur geringe Hardwareressourcen.
\subsection{Was ist Physical \& Embedded Computing}
Flexible Systeme aus Standardhardware, welche kostengünstig ist und eine hohe Energieeffizient aufweist. Im gegensatz zu klassischen Sensornetzen können diese Geräte auch einen ständigen Stromanschluss haben.
\subsection{Was ist Smart\- und Submetering}
Die zeitnahe Erfassung (und Steuerung) von Energieverbäuchen (~15min). Soll die effizientere Nutzung von Ressourcen ermöglichen. Das deutsche Modell (BSI) sieht viele Zähler und einzellne Gateways vor.
\subsection{Was ist Smart Home?}
Hausautomation und monitoring durch Sensornetze.
Z.B. zur Rolladen oder Licht Steuerung.
Dabei kommen Probleme wie einfachheit vs. Sicherheit auf.
\subsubsection{Wie sieht es mit Smart Home und Privacy aus?}
Die Sensoren sind tief in den Lebensraum verflochten und können höchst private Daten sammeln.
\subsection{Wie sieht es mit Robotern und mobilen Plattformen aus?}
Hier handelt es sich um eine mobile Plattform mit Sensoren udn Aktoren zur Messung vor Ort.
Sie könenn in lebensfeindlichen oder unzugänglichen Umgebungen eingesetzt werden.
\subsection{Was sind Wearables?}
Am Körper Tragbare Sensoren die das persönliche Verhalten, Aktivitätsdaten und Vitalwerte erfassen.
Die Auswertung und Anzeige ist auf diesen Geräten nur rudimentär möglich.
\subsection{Was sind Smart Phones?}
Sie stellen die heutige Schnittstelle zwischen Mensch und IoE da, sie erlauben die Steuerung von Remote-Geräten.
Sie bestehen aus leistungsfähiger Hardware und setzen die Existenz von leistungsfähiger Kommunikationsinfrastruktur voraus.
\subsection{Was sind Single\- Board Computer?}
Kostengünstige Hardware für die Entwicklungs und Prototypen Umgebung.
Sie haben eine große Anzahl an verschiedener Bus Systeme und Anschlussmöglichkeiten.
\subsection{Was ist Industrie 4.0 (Industrial Internet)?}
Eine heterogene Umgebung an unterschiedlichsten Sensoren. Beinhaltet Leistungsfähige Steuer\- und Regelsysteme.
Drahtlose Sensorik über Batterie oder Energy Harvesting.
Anforderungen: Zuverlässigkeit, Robustheit, Langlebigkeit.
\section{Privatsphäre}
\subsection{Was ist RFID und wo liegen die Herausforderungen für den Datenschutz?}
RFID steht für Radio Frequency Identification. Drahtloste Übertragung von Informationen zwischen einem Transponder und einer Basistation.
Das Problem ist das über diese Transponder eine eindutige Identifikation eines Objekts/Produkts oder einer Person möglich ist. Dieser Transponder kann auch aus großer Entfernung ausgelesen werden.
\paragraph{Gibt es Lösungsansätze?}
Ein möglicher Lösungsansatz wäre einen RFID Tag in einem Produkt an der Kasse duch einen "Kill" Befehl zu zerstören.
Desweiteren könnten Kryptografische Mechanismen zur Authentifizierung genutzt werden.
Physikalisch könnte auch einfach die Antenne abgerissen werden.
\subsection{Wie sieht es mit dem Schutz der Privatsphäre aus?}
Schutz des Persönlichkeitsrechts bei der Verarbeitung personenbezogener Daten
\subsubsection{Welche Daten sind schützenswert?}
Laut BDSG sind alle Personenbezogenen Daten schützenswert allerdings sind im Kontext des Internet of Everything auch alle Metadaten schützenswert. Das heißt wer mit wem wann kommuniziert etc..
\subsection{Was sind die Säulen zum Schutz der Privatsphäre?}
\begin{itemize}
\item Regulierung: Bundesdatenschutzgesetz etc..
\item Selbstreuglierung: z.B. Gütesigel die den vertraulichen Umgang mit Daten bescheinigen.
\item Selbstschutz: Privat Enhancing Technologies z.B. TOR
\end{itemize}
\subsection{Was sind allgemeine Schutzziele?}
Anforderungen die Erfüllt werden müssen um schützenswürdige Güter vor Bedrohung zu schützen
\begin{itemize}
\item Confidentiality(Vertraulichkeit): Ermöglicht keine unautorisierte Informationsgewinnung
\item Integrity(Integrität)
\begin{itemize}
\item Starke Integrität: Es ist unmöglich Daten unautorisiert zu verändern.
\item Schwache Integrität: Es ist unmöglich Daten zu verändern ohne das es bemerkt wird.
\end{itemize}
\item Avaliability(Verfügbarkeit): System beleibt Verfügbar und gewährt keine Einschränkung durch unautorisierten Zugriff.
\end{itemize}
\subsection{Spezielle Schutzziele für die Privatsphäre?}
\begin{itemize}
\item Unverkettbarkeit: Daten aus unterschiedlichen Kontexten sind nicht miteinander in Bezug zu setzen, z.B. durch Datenvermeidung oder Anonymisierung.
\item Transparenz: Die Verarbeitung von Daten ist nachvollziehbar und überprüfbar.
\item Intervenierbarkeit: betroffene Personen können über die Erfassung und Verarbeitung ihrer Daten selbst bestimmen.
\end{itemize}
\subsection{Was ist ein Vertrauensmodell?}
Vertrauen: Bewertung wie sich eine Entität in einem konkreten Sacherverhalt verhalten wird, hier die Annahme, dass Entität kein Angreifer ist.
\begin{itemize}
\item Vollständiges Vertrauen: uneingeschränktes Vertrauen aller Entitäten des Systems
\item Keinerlei Vertrauen: Alle Entitäten potentielle Angreifer, PET notwendig
\item Vertrauen in zentrale Instanz:Trusted third party
\item Verteiltes Vertrauen: Nutzer vertraut lediglich, dass eine Teilmenge der beteiligten Entitäten nicht kooperiert.
\end{itemize}
\subsubsection{Was sind die Ziele des Angreifers?}
\begin{itemize}
\item Abhören von Daten
\item Modifizieren von Daten
\item Maskerade und Erzeugen von Daten
\end{itemize}
\subsubsection{Was ist das "klassiche" Angeifermodell}
Dolec\- Yao, Outsider. Er kann alles mithören, kann Dateneinheiten erzeugen und versenden und fremde Dateneinheiten modifizieren. Er kann jedoch nicht Enschlüsseln oder Verschlüsseln ohne den Schlüssel zu kennen.
\subsection{Ansätze zum Schutz der Privatspähre im IoE?}
Diensterbringung mit dem Prinzip der Datensparsamkeit, durch Samples mit ausschlieslich benötigten Daten möglichst Anonym.
Anonymisierung durch herabsetzen der Präzesion auf ein Minimum, hinzufügen von Störwerten.
Zentrale Datensenken sind zu vermeiden.
Identität der Quelle verschleidern, z.B. durch Pseudonyme
Unverkettbarkeit von Samples gewährleisten
\subsection{Was ist bei der Privatsphäre anders im IoE?}
Die Technologie greift viel stärker in das private leben ein und erfasst dort Daten, dadurch ist die Privatsphäre stärker gefährdet als im klassischen Internet.
\subsection{Was sind IoE-spezifische Heausforderungen für die Privatsphäre?}
\begin{itemize}
\item Heterogene Geräte: nicht genügen Ressourcen für klassische kryptografie.
\item Häufig keine zentrale Infrastruktur nutzbar, kein Public Key, kein zentraler Vertrauensanker.
\item unklares Vertrauensmodell: Gegen wen schützen? wer ist mein Vertrauensanker?
\item Kein klassisches Angreifermodell
\item Es werden viel mehr Daten erfasst, zusammenführung beim Dienstanbieter?
\item Kontinuierliche Datenerfassung
\item Sensible Daten, aus dem persönlichen Umfeld/Wohnraum
\item Veilfalt von gemessenen Phänomenen, die Verkettbarkeit erlaubt detailliere Profilbildung.
\end{itemize}
\subsubsection{Wo ist das Angreifermodell anders?}
Im IoE sind die Geräte meist öffentlich zugänglich wodurch ein Angreifer physisch Zugang zu dem Gerät erhalten kann. Er kann den Speicher auslesen oder die Programmierung verändern.
Hier wird von einem Insider Angriff ausgegangen.
\subsection{Wie sieht es mit der Privatheit bei Smart-Metering aus?}
Das periodische Senden von Messwerten lieftert detailiertes Verbrauchsprofil und damit Einblicke in die Privatsphäre.
\subsubsection{Was kann man dagegen tun?}
Der einfachste Ansatz wäre Messdaten mittels "falscher" Identitäten oder Pseudonymen zu übertragen jedoch ist dies sehr aufwendig, so ist bei einem neuen Kunden eine komplette Neuvergabe der Pseudonyme notwendig da dieser sonst direkt zugeordnet werden könnte. Desweiteren wird eine Trusted-Third-Party zur Vergabe der Pseudonyme gebraucht, welche nicht vertrauenswürdiger sein muss als das Energieunternehmen.
Außerdem kann das Profil des Pseudonyms über externe Daten zugeordnet werden, z.B. über Kenntnis von Arbeitszeit etc..
Eine weitere Möglichkeit wäre es den Energiebedarf nach aussen über einen Energiespeicher zu maskieren. Dies funktioniert aber auch nur solange der Akku genügend Kapazität besitzt, zumal dieses Verfahren sehr kostspielig ist.
\subsubsection{Gibt es einen inteligenten Ansatz?}
Ja, das Ziel von Smart\- Metering ist das aggregieren von Daten, daher wie hoch ist der Energieverbrauch in "Karlsruhe\- Mitte" oder von allen Kunden der EnBW. Von daher die Idee, die Daten zu Aggregieren bevor sie übermittelt werden. Dies kann z.B. über viele Haushalte oder einen langen Zeitraum geschehen.
Über einen langen Zeitraum ist einfach jedoch nicht Ziel von Smart\- Metering über viele Haushalte hinweg ist jedoch schwierig zu realisieren.
\subsubsection{Hatten wir dazu ein Verfahren?}
Ja wir hatten SMART\- ER, Smart Meterin Protocoll with Exactness and Robustness.
Das Grundkonzept ist die Einteilung in Gruppen welche durch den Messdienstleister durchgeführt wird.
Innerhalb der Gruppen wird kooperiert so das die Messwerte maskiert aggregiert werden können.
Pro Messintervall
\begin{itemize}
\item Austausch von Zufallswerten innerhalb der Gruppe
Hierzu werden die Ausgehenden Zufallszahlen von M abgezogen und die eingehenden auf M addiert.
\item Speichern der Kommunikationspartner (Abhängigkeiten)
L beinhaltet alle Kommunikationspartner.
\item Berechnen maskierter Messwerte
Der Messwert wird maskiert indem er auf M addiert wird.
\item Senden maskierter Messwerte und Abhängigkeiten an Messdienstleister
L und M werden an den Dienstleister übermittelt.
\item Eventuelle Bereinigung empfangene Messwerte durch Messdienstleister.
\end{itemize}
Hier bleibt das Problem bestehen das der Dienstleister die Gruppenbildung vornimmt. Sind nun alle bis auf den Eigenen Zähler einer Gruppe korrumpiert so kann genau auf die Werte des eigenen Zählers zurück geschlossen werden.
\paragraph{Was kann man gegen das Problem bei der Gruppenbildung unternehmen?}
Man muss die Gruppenbildung aus der Verantwortung des Messdienstleisters entziehen. Hier gibt es zwei Ansätze:
\begin{itemize}
\item Smart Meter Speed Dating: Die Zähler bilden ihre Gruppen selbständig und dezentral.
\item Elderberry: Baumbasierter Ansatz mit strukturiertem P2P-Overlay. Dezentrale Aggregation.
\end{itemize}
\section{Recht}
\subsection{Was sind die Funktionen des Datenschutzrechts?}
Das Datenschutzrecht dient dem Schutz der inneren und äußeren Freiheit der Persönlichkeitsentfaltung gegen Beeinträchtigung und Gefährdung bei der Verarbeitung personenbezogener Daten
\subsection{Was wird vom Datenschutzrecht abgedeckt?}
Der Umgang mit personenbezogenen Daten, Einzelangaben über persönliche oder sachliche Verhältnisse eines bestimmten oder bestimmbaren Betroffenen.
\subsection{Was ist vom Datenschutzrecht ausgenommen?}
Datenverarbeitung für ausschließlich persönliche und familiäre Zwecke
\subsection{Wie wird ein Datenverarbeitungsprozess aufgespaltet?}
\begin{itemize}
\item Datenerhebung
\item Datenverarbeitung: Speicherung, Veränderung, Übermittlung...
\item Datennutzung
\end{itemize}
\subsection{Wer ist Verantwortlich?}
Datenschutzrechtlich Verantwortlich ist die Stelle, die über Zwecke und Mittel einer Datenumgangshandlung entscheidet.
\subsection{Dürfen einfach so personenbezogene Daten erhoben werden?}
Nein, der Erhebung muss zugestimmt werden
\subsection{Dürfen die erhobenen Daten beliebig genutzt werden?}
Bei der Zustimmung der Erhebung werden die Daten an einen bestimmten Zweck gebunden und dürfen nur für diesen benutzt werden.
\section{Kommunikation}
\subsubsection{Was sind Cyber Physical Systems?}
Cyber Physical Systems sind vernetzte Komponenten mit Sensoren und Aktoren die physikalische Prozesse steuern. So z.B. eine Heizungssteuerung oder die Steuerung einer Fabrikanlage.
Sie werden als Bestandteil des Internet of Everything gesehen und haben teilweise hohe Anforderungen an Safety, somit z.B. geringe Latenzen oder setzten die richtige reihenfolge von Daten vorraus.
\subsection{Medienzugriff}
\subsubsection{Welche Probleme haben wir mit Funk als Medium?}
Funk ist sehr unzuverlässig, es kommt zu hohen Fehlerraten. Da es sich um ein geteiltes Medium handelt muss der Zugriff darauf geregelt werden.
\subsubsection{Welche Anfoderungen stellen wir an die drahtlose Kommunikation?}
\begin{itemize}
\item Hohe Lebenszeit der vernetzten Ding: niedriger Energieverbrauch
\item Robusheit gegenüber Topologieveränderung, z.B. "schlafende" Systeme
\item Skaliebarkeit
\item Selbstorganisation
\item Sicherheit und Schutz der Privatsphäre
\end{itemize}
\subsubsection{Was ist ein Semi-Broadcast-Medium?}
Drahtlose Netzwerke sind ein Semi-Broadcast-Medium da die Reichweite nicht unendlich ist und die Systeme nur die Dateneinheiten in ihrer Reichweite hören können, somit können Sender Kollisionen nicht erkennen denn sie treten beim Empfänger aus.
Problem der "versteckten" und "ausgelieferten" Endsysteme
\paragraph{Was sind verstecke Endsysteme?}
Verstecke Endsysteme sind die Systeme die zwar mit dem Zielendsystem kommunizieren können nicht jedoch mit dem Quellsystem.
\paragraph{Was sind ausgelieferte Endsysteme?}
Ausgelieferte Endsysteme sind solche die im Bereich einer aktiven Kommunikation zwar im Sendebereich der Quelle aber nicht im Empfangsbereich des Ziels sitzen. Dieses ausgelieferte System will mit einem vierten System kommunizieren das sich nicht im Sendereich des Quellsystems befindet aber da sich das ausgelieferte System in diesem Bereich befindet ist für dieses System das Medium blockiert.
\subsubsection{Was ist das Problem bei nahen und fernen Endsystemen?}
Ausgangslage sind drei Endsysteme. Endsystem A ist weit von Endsystem B und C entfernt, B und C jedoch nahe beieinander.
Da die Signalstärke quadratisch zur Entfernung abnimmt kann es sein das wenn A und B gleichzeitig senden, A von B "übertönt" wird und C A nicht hören kann.
\subsubsection{Was sind die grundlegenden Einordnungen der von und betrachteten Verfahren?}
Es wurde Zeitmultiplexing und konkurrierende Verfahren betrachtet. Wobei besonders auf den Energieverbrauch und die Latenz der Kommunikation geachtet wurde.
\subsubsection{Wieso achten wir auf den Energieverbrauch?}
Sensorknoten sind häufig Batteriebetrieben, deswegen ist es eine wichtige aber sehr beschränkte Ressource.
\subsubsection{Wie sparen wir Energie?}
Indem wir den Funktransciever so häufig wie möglich deaktivieren
\subsubsection{Was sind Beispiele für unnötigen Energieverbrauch?}
\begin{itemize}
\item Kollision: wenn mehrere Systeme gleichzeitig senden wird eine Sendewiederholung erforderlich
\item Unnötiges Lauschen: Transciever ist aktiv obwohl nichts empfangen wird
\item Mithören: System empfängt Dateneinheiten die gar nicht an es gerichtet ist.
\end{itemize}
\paragraph{Was kann man gegen unnötigen Energieverbrauch tun?}
Gegen Kollisionen hilft Kollisionsvermeidung und gegen unnötiges Lauschen als auch Mithören hilft Duty-Cycling.
\subsubsection{Wie funktioniert Kollisionsvermeidung?}
Zur Kollisionsvermeidung wird eine seperate Signalisierung verwendet. Entweder über einen seperaten Kanal(Out-of-Band Signalisierung) oder über den gleichen Kanal(In-Band-Signalisierung).
Als Beispiel für die In-Band-Signalisierung: Multiple access with collison avoidance (MACA):
\begin{itemize}
\item Sender sendet kurze Request to Send (RTS) Dateneinheit
\item Empfänger antwortet mit Clear to Send (CLS) Dateneinheit
\item Sender sendet Daten
\end{itemize}
\paragraph{Können während des MACA keine Kollisionen auftreten?}
Doch aber mit geringerer Wahrscheinlichkeit, da RTS und CTS sehr klein sind.
\paragraph{Wie sieht das mit RTS/CTS und dem versteckten Endsystem aus?}
A und C wollen zu B senden. A sendet als erstes RTS. B antwortet mit CTS (teilt die Dauer der Belegung mit). C empfängt CTS und weißt deswegen das es nicht senden darf.
\paragraph{Wie sieht das mit dem ausgelieferten Endsystem in RTS/CTS aus?}
B will zu A senden und C will mit D kommunizieren. C empfängt RTS von B muss aber dann nicht warten, da es kein CTS von A empfängt.
\subsubsection{Was ist Duty-Cycling?}
Duty-Cycling ist die Idee den Funktransciever so oft wie möglich zu deaktivieren um Energie zu sparen, was leider die Latenz erhöht.
Bei Duty-Cycling werden die Funktransciever bei Bedarf aktiviert um auf Aktivität zu prüfen oder zu Senden.
Es wird zwischen synchronem und asynchronem Duty-Cycling unterschieden.
\paragraph{Was ist synchrones Duty-Cycling?}
Synchrones Duty-Cycling bezeichnet das koordinierte aufwecken der Funktransciever nach einem vorgegeben Plan.
\paragraph{Was ist asynchrones Duty-Cycling?}
Asynchrones Duty-Cycling bezeichnet das aufwecken der Funktransciever ohne Koordination.
\subsubsection{Was ist S-MAC?}
Sensor MAC ist ein Medienzugriffsprotokoll welches die Knoten zeitlich Synchronisiert.
\paragraph{Wie funktioniert S-MAC?}
Die Idee hinter S-MAC ist das durch koordiniertes Schlafen idle listening verhindert wird, dazu erwachen die System gemeinsam an einem "rendezvous-point", also eine zeitliche Synchronisation.
Hierzu wird ein Rahmen fester Länge genutzt der in 2 Phasen aufgeteilt wird.
\begin{enumerate}
\item Listen Phase: In dieser Phase findet eine Synchronisation statt und sofern gewünscht wird der Datenaustausch angestoßen. Diese Phase ist nocheinmal in 2 Phasen unterteilt, wobei pro Zeitschlitz nur maximal eine Dateneinheit(SYNC, RTS, CTS) vorkommen darf.
\begin{itemize}
\item Sync-Phase: Synchronisation durch SYNC Dateneinheit, welche die Zeitspanne bis zum Beginn der nächsten Sleep Phase beinhaltet.
\item RTS/CTS Phase: In dieser Phase wir über einen zufällig gewählten Zeitschlitz über RTS ein Datenaustausch angestoßen, dannach folgt Carrier Sense + RTS/CTS
\end{itemize}
\item Sleep Phase: Sollte in der Listen Phase ein Datenaustausch angestoßen worden sein, so entfällt diese Phase, ansonsten wird für die Dauer dieser Phase die Funkschnittstelle temporär deaktiviert.
\end{enumerate}
\paragraph{Wie sieht so ein S-MAC Rahmen aus?}
Ein S-MAC Rahmen hat eine feste Länge.
\begin{figure}[H]
\centering
%\includegraphics[scale=0.3]{internetOfEverything/smac-rahmen}
\end{figure}
\paragraph{Wie lange muss die Listenphase sein?}
Die Listenphase muss lange genug sein um SYNC, RTS und CTS innerhalb einer geeigneter Zeitschlitze zu übertragen, dabei ergibt sich die Läng durch Parameter der MAC und PHY Schicht, z.B. der Datenrate etc. sie ist also nicht frei wählbar.
\paragraph{Wie lange muss die Sleep Phase sein?}
Die Sleep Phase ergibt sich aus dem Rest des S\- MAC Zeitrahmens. Sie ist also frei wählbar.
\paragraph{Wie berechnet man den Duty Cycle?}
$\text{Duty Cycle} = \frac{t_{Rahmen}}{t_{Listen}}$
\paragraph{Wie berechnet sich die S-MAC Rahmenlänge?}
Die Rahmenlänge ist von Listen Phase und dem Duty Cycle abhängig. Daher ergibt sich $t_{Rahmen}=t_{Listen}+t_{Sleep}$
\paragraph{Wozu dient die Synchronisation?}
Die Synchronisation soll dem System den Anfang der nächsten Sleep Phase vermitteln
\paragraph{Wie funktioniert die Synchronisation?}
Die SYNC-Dateneinheit enhält die verbleibende Zeit bis zum Beginn der nächsten Sleep Phase, dabei lernt das System den Zeitplan von Nachbarn durch regelmässigen Austausch von SYNC Dateneinheiten.
Falls es noch kein Nachbar bekannt ist wird ein eigener Zeitplan gewählt. Hierdurch entstehen zeitlich synchronisierte "Inseln" welche jedoch durch die SYNC Dateneinheiten den Zeitplan benachbarter Inseln lernen und so die Grenzen überbrücken können.
\paragraph{Was passiert mit Systemen die an Grenzen liegen?}
Sie empfangen und verteilen mehrere Zeitpläne, haben dementsprechend weniger Sleep Time und benötigen deswegen mehr Energie
\paragraph{Gibt es Erweiterungen?}
Ja, Message Passing und Adaptive Listening
\paragraph{Was ist Message Passing?}
Möchte man eine große Einheit von Nutzerdaten übertragen, so steigt die Bitfehlerwahrscheinlichkeit mit der Länge der Dateneinheit. Nun kann man die Nachricht als ganzes Übertragen wobei es mit hoher Wahrscheinlichkeit zu einem Fehler kommt. Eine weitere Möglichkeit wäre die große Einheit in kleiner Einheiten aufzuteilen. Die Bitfehlerwahrscheinlichkeit würde sinken aber es würde ein Overhead durch RTS/CTS entstehen.
Hier setzt Message Passing an. Es fragmentiert die Einheit in mehrere Dateneinheiten die aber alle als Burst nach einem einzigen RTS/CTS Handshake übertragen werden und dazwischen einzellne bestätigt werden. So muss nur die defekte kleine Dateneinheit neu übermittelt werden und der Overhead durch RTS/CTS wird vermieden.
\paragraph{Was ist Adaptive Listening?}
Adaptive Listening geht das Problem an, dass pro Listen/Sleep Phase nur eine Dateneinheit weitergereicht werden kann und es deswegen in einem Multihop-Szenario zu einer höheren Verzögerung kommt.
Hierzu führt Adaptive Listening nach der Übertragung einer Dateneinheit eine zusätzliche Phase ein um einen neuen Datenaustausch zu initiieren, die Adaptive Listening Phase(ALP). Hierzu wacht ein nicht an einer Übertragung beteiliger Knoten nach der Übertragungszeit, welche im CTS angekündigt wurde wieder auf und hört auf ein neues RTS
\paragraph{Wie kann man den durchschnittlichen Energiebedarf pro Byte berechnen?}
Gesammtbedarch aller Systeme geteilt durch die Anzahl von der Senke empfangener Bytes.
\paragraph{Wie kann man die durchschnittliche Ende zu Ende verzögerung berechnen?}
Summe aller Ende zu Ende Verzögerungen geteilt durch die Anzahl der Dateneinheiten.
\paragraph{Wie berechnet sich der Ende zu Ende Goodput?}
Gesamzahl von der Senke empfangener Bytes geteilt durch die Zeitspanne zwischen Versenden der ersten Dateneinheit bis zum Empfang der letzten Dateneinheit an der Senke.
\paragraph{Was sind die Nachteile von S-MAC?}
Geringer Durchsatz, hohe Latenz durch lange Wartezeiten auf nächsten freien Rahmen
\subsubsection{Was ist B-MAC?}
Berkley Media Access Control ist ein Medienzugriffsprotokoll welches keine zeitliche Synchronisation der Knoten vorsieht. Es soll durch kollisionsvermeidung und effiziente Kanalnutzung bei hohen und niedrigen Datenraten einen Energieefizienten Betrieb ermöglichen. Dabei wird der Kanal periodisch geprüft anstatt auf eine zeitliche Synchronisation zu setzen. Dazu wird in zwei Zustände unterteilt
\begin{itemize}
\item Low Power Listening(LPL): Der Ruhezustand in dem das System die überwiegende Zeit befindet. Es wacht gelegentlich nur kurz auf um auf Daten auf dem Kanal zu überprüfen und bleibt dann Wach wenn etwas Empfangen wird, andernfalls geht es wieder schlafen.
\item Clear Channel Assesment(CCA): Der Zustand in dem ein System etwas Senden möchte. Hierzu wird überprüft ob der Kanal frei ist, wenn frei dann wird erst eine Präambel gefolgt von den eigentlichen Daten übertragen.
\end{itemize}
\paragraph{Wozu dient die Präambel des CCA?}
Sie stellt sicher, dass der Empfänger die Übertragung nicht verpasst. Daher das Intervall zwischen aufeinanderfolgenden Kanalüberprüfungen legt die Präambel Mindestdauer fest.
\paragraph{Was ist der Vorteil von B-MAC?}
\begin{itemize}
\item Keine Synchronisation der Systeme notwendig
\item Das Protokoll ist einfach und kompakt implementierbar
\item Geringe Ende zu Ende Latenz
\end{itemize}
\paragraph{Welchen Nachteil hat B-MAC?}
Das Problem der Versteckten Endgeräte wird nicht behandelt und es findet bei großen Nachrichten keine Fragmentierung statt. Auch nicht beteiligte Empfänger wachen durch die Präambel auf(Idle Listening).
\paragraph{Gibt es bei B-MAC Erweiterungen?}
Ja es gibt X-MAC, es geht das Problem der langen Präambel des Clear Channel Assesments an, welches beim Sender einen hohen Energieverbrauch darstellt. Die Idee bei X-MAC ist statt einer großen langen Präambel viele kleine Präambelpakete zu senden.
Für Unicast wird hier die Zieladresse in die Präambelpakete integriert wodurch der Empfänger den Empfang quitieren kann und die Präambelphase verkürzt werden kann.
\subsubsection{Wie stehen die beiden Zugriffsverfahren im Vergleich da?}
B-MAC erreicht fast das 4,5 fache des Durchsatzes von S-MAC Unicast durch gerichgen Rechenaufwand pro Dateneinheit und Effektivität des Clear Channel Assesmensts.
\subsubsection{Welchen Einfluss haben MAC-Prokolle auf den Energiebedarf von Kommunikationsvorgängn?}
Die häufigste Annahme ist, das eine höhere Anzahl an Datenpaketen , also mehr Datenvolumen, einen höheren Energiebedarf mit sich bringt. Aber das stimmt so nicht, auch häufige CCA Phasen können zu einem erhöhten Energiebedarf führen. Wohingegen lange Schlafphasen den Energiebedarf auch nicht zwangsweise reduzieren, es gibt einen anwensundsabhängigen "optimal" Wert.
\subsubsection{802.15.4}
\paragraph{Was ist 802.15.4}
IEEE 802.15.4 ist der IEEE Standard für WPAN Anwendungen. Er wird z.B. von 6LoWPAN genutzt.
802.15.4 ist für kleine bis mittlere Datenraten und moderate Verzögerungen Ausgelegt. Es wurde so gebaut das es den Batteriebetrieb über Monate und Jahre übersteht (geringer Energiebedarf)
PHY + MAC Protokoll im IoE
Soll WLAN/Bluetooth ersetzen.
\paragraph{Welche Eigenschaften hat es?}
\begin{itemize}
\item Frequenzbänder: 868/914/2450 MHz
\item Datenrate max. 250 kbit/s
\item Reichweite 10m
\end{itemize}
\paragraph{Wie groß ist eine 802.15.4 Dateneinheit?}
Maximal 127 Byte
\paragraph{Was für ein Einteilungsverfahren kommt bei 802.15.4 zum Einsatz?}
Ein kombiniertes Zeitplan-basiertes und Konkurrenz-basiertes Verfahren.
\paragraph{Ist 802.15.4 Echtzeitfähig?}
Ja es gibt garantierte Zeitschlitze
\paragraph{Auf welchem Medienzugriffsverfahren beruht 802.15.4}
CSMA/CA, wie auch WLAN
\paragraph{Welche Typen von Netzen sind möglich?}
Es sind Peer-to-Peer-Netze (Mesh) und Stern-Netze (Star) möglich.
\paragraph{Welche Klassen von Systemen gibt es?}
\begin{itemize}
\item Vollfunktionsfähige Systeme (Full Function Devices, FFD)
\item Eingeschränkte Systeme (Reduced Function Device, RFD, nur in Stern-Netzen)
\end{itemize}
\paragraph{Gibt es ein spezielles Full Function Device?}
Ja es gibt den "Koordinator", dieser Organisiert das Netz mittels periodischer Beacons. z.B. zum Synchronisieren der Systeme, Auffoderung zum Senden, Identifikation des Netzes etc...
\paragraph{Welche Betriebsmodi gibt es?}
Beacon Modus und Non-Beacon Modus
\paragraph{Was ist der Beacon Modus?}
Im Beacon Modus sind in einem Stern-Netz die Systeme einem Koordinator zugeordnet und Formieren ein Personal Area Network (PAN), welches durch den PAN-Identifikator identifiziert wird.
Der Koordinator führt hierbei Buch über die Systeme und die Vergabe von Adressen, vermittelt zwischen Systemen und Peer Koordinatoren, bearbeitet Anforderungen für garantierte Zeitschlitze und sendet regelmäßig Beacons z.B. mit dem PAN-Identifikator.
Hierbei gilt die grundlegende Annahme, dass für den Koordinator Energie keine limitierte Ressource darstellt, deswegen übernehmen sie mehr Aufgaben als andere Systeme.
\paragraph{Wie sieht die Rahmenstruktur im Beacon Modus aus?}
Der Rahmen hat feste Länge und ist unterteilt in eine inaktive und eine aktive Phase. In der inaktiven Phase können alle Systeme ihre Transciever ausschalten. Die aktive Phase dauert 16 Zeitschlitze, währen dessen der Koordinator aktive sein muss.
Die Zeitschlitze sind in 2 Teile aufgeteilt.
\begin{enumerate}
\item Contention Acces Period(CAP): Konkurrierender Zugriff durch Slotted CSMA/CA
\item Guaranteed Time Slots(GTS): Vom System beim Koordinator reservierte Zeitschlitze, max. sieben aufeinanderfolgende. Solange bis freigegeben
\end{enumerate}
\begin{figure}[H]
\centering
%\includegraphics[scale=0.3]{internetOfEverything/802154-beacon-rahmen}
\end{figure}
\paragraph{Wie funktioniert der konkurrierende Zugriff während CAP?}
Der Zugriff ist über Slotted CSMA/CA.
Bei Carrier Sense Multiple Access wird der Kanal abgehört(CS), bevor gesendet wird. Dies bietet keinen Schutz vor versteckten Endsystemen. Bei Collision Avoidance kommt ein exponentieller Backoff zur Kollisionsvermeidung zum Einsatz.
\paragraph{Wie funktioniert die Vergabe von garantierten Zeitschlitzen?}
Das System frägt während CAP einen Zeitschlitz beim Koordinator an, wobei hier zwischen einem Sende und Empfangsschlitz unterschieden wird. Der Koordinator quittiert diese Anfrage mit einem ACK, wobei das noch keine Zuweisung eines Zeitschlitzes darstellt. Bekommt das System vom Koordinator einen Zeitschlitz zugeteilt, so steht dieser im nächsten Beacon.
\paragraph{Wie lange ist ein garantierter Zeitschlitz reserviert?}
Solange bis das System ihn explizit freigibt oder der Koordinator feststellt, dass die Zeitschlitze eine gewisse dauer nicht genutzt wurden.
\paragraph{Wie sieht eine Datenübertragung aus?}
Bei der Datenübertagung muss zwischen den Wegen vom Koordinator zum System und umgekehrt unterschieden werden.
\begin{itemize}
\item System -> Koordinator: Falls das System einen Zeitschlitz zum senden reserviert hat kann es diesen Zeitschlitz direkt nutzen, wobei Dateneinheit + Inter Frame Space(IFS) + ACK in den Zeitschlitz passen müssen. Hat das System keinen Zeitschlitz muss es während CAP mittels CSMA/CA senden.
\item Koordinator -> System: Falls das System einen reservierten Zeitschlitz zum empfangen hat, nutzt der Koordinator diesen, wobei Nachricht + ACK vom System in den Zeitschlitz passen müssen. Hat das System keinen Zeitschlitz zum empfangen reserviert so kündigt der Koordinator seinen Sendewunsch im Beacon an. Er setzt die Adresse des Systems im "pending address" Feld. Das System antwortet mit Daten Anfrage, was vom Koordinator mit ACK quittiert wird. Daraufhin sendet der Koordinator die Daten und das System Quitiert den Empfang.
\end{itemize}
\begin{figure}[H]
\centering
%\includegraphics[scale=0.3]{internetOfEverything/802154-data-koordinator-system}
\end{figure}
\paragraph{Was ist der Non-Beacon Modus?}
Im Non-Beacon Modus gibt es keine feste Rahmenstruktur und damit auch keine garantierten Zeitschlitze. Der Zugriff auf das Medium ist duch unslotted CSMA/CA geregelt, es wird nicht Koordiniert oder Synchronisiert.
In Peer-to-Peer Netzen können Systeme frei untereinander kommunizieren. Sie formieren ein PAN, welches durch den PAN-Identifikator identifiziert wird. Hierbei wird ein PAN Koordinator frei gewählt, dieser muss immer aktiv sein.
\subsection{Routing}
\subsubsection{Was für Verfahren haben wir behandelt?}
\begin{itemize}
\item Probalistische Verfahren
\item Inhaltsbasierte Verfahren
\item Lokationsbasierte Verfahren
\item Distanzvektorbasierte Verfahren
\end{itemize}
\subsubsection{Probalistische Verfahren}
\paragraph{Was für Verfahren hatten wir im Probalistischen Bereich?}
Fluten und Gossiping
\paragraph{Wie funktioniert Fluten?}
Der Knoten sendet jede Dateneinheit per Broadcast, über eine Broadcast-MAC-Adresse, an alle Nachbarn. Die Empfangenen Knoten leiten die Dateineinheit ihrerseit wieder per Broadcast an alle ihre Nachbarn weiter. Diese Methode ist dezental und selbstorganisierend sorgt aber für eine hohe Netzbelastung.
\subparagraph{Was für Vorteile hat Fluten?}
Es benötigt keine Routenfindung und keine Wartung der Topologie. Ebenfalls ist keine Routingtabelle, d.h. keine Zustandshaltung bzw. wartung notwendig.
\subparagraph{Welche Nachteile hat Fluten?}
Fluten erzeugt Dateneinheiten die unendlich lange im Netz kreisen und sich duplizieren, daher zu einer hohen Netzbelastung führen. Es bietet keine Zuverlässigkeit.
\subparagraph{Wie kann man dieses Verfahren verbessern?}
Z.B. durch Vermeidung der Duplikatbildung oder der Begrenzung der Reichweite.
\subparagraph{Wie kann man die Duplikatbildung vermeiden?}
Indem man jede empfangene Dateneinheit nur genau einmal weiterleitet. Hierzu müssen sich die Sensorknoten allerdings merken, welche Dateneinheiten sie bereits weitergeleitet haben und diese müssen auch eindeutig identifizierbar sein.
\subparagraph{Wie beschränkt man die Reichweite?}
Man führt eine Time-to-Live (TTL) ein, welche bei jedem Hop dekrementiert wird und bei 0 verworfen wird.
Dies sorgt für eine geringere Netzlast bietet aber keine Zuverlässigkeit.
\paragraph{Was ist Gossiping?}
Gossiping ist angelehnt an das Verbreiten von Gerüchten, Dateneinheiten werden an zufällige ausgewählte Knoten weitergeleitet, bis "ausreichen viele" Knoten die Dateneinheit erhalten haben
\subparagraph{Wie geht man da vor?}
Ein Knoten leitet eine Dateneinheit mit Wahrscheinlichkeit $p$ an Nachbarn weiter, hierbei wird wenn weitergeleitet wird per Broadcast an alle 1-Hop-Nachbarn weitergeleitet.
\subparagraph{Was sind typische Werte für p?}
Zwischen 65\% bis 75\%, bei $p<65\%$ ist die Wahscheinlichkeit hoch, dass eine Dateneinheit verworfen wird, bevor sie ihr Ziel erreicht.
\subparagraph{Was für Vorteile hat Gossiping?}
Es hat einen geringeren Overhead als Fluten und es werden keine duplizierten Dateneinheiten versendet.
\subparagraph{Welche Nachteile hat Gossiping?}
Keine Zuverlässigkeit, da nicht alle Knoten im Netz die Dateneinheit erhalten und die Dateneinheiten sind eventuel lange unterwegs.
\paragraph{Kann man das kombinieren?}
Ja man kann auf den $k$ ersten Hops fluten und dann Gossiping mit Wahrscheinlichkeit $p$ betreiben. Dies Bezeichnet man als $GOSSIP(p,k)$, hier wären $GOSSIP(1,k)$ normales Fluten und $GOSSIP(p,0)$ normales Gossiping. Erfahrungswerte zeigen das mit $p=0,72$ und $k=4$ nahezu alle Knoten die Dateneinheiten erhalten.
\paragraph{Kann man Gossiping verbessern?}
Ja, man kann die Wahrscheinlichkeit $p$ erhöhen, desto näher eine Dateneinheit ihrem Ziel kommt. Dazu muss natürlich jeder Knoten die Distanz zum Ziel kennen. Dies kann z.B. über Quittungen von erfolgreich empfangenen Einheiten passieren.
\subsubsection{Inhaltsbasierte Verfahren}
\paragraph{Was für inhaltsbasierte Verfahren haben wir behandelt?}
Directed Diffusion und Rumor Routing.
\paragraph{Was ist Directed Diffusion?}
Directed Diffusion ist ein Datenzentrisches Verfahren bei dem klassiche Adressen keine Rolle spielen, hier stehen die Daten im Mittelpunkt. Das System basiert auf Fluten und ist selbst organisierend.
Die grundlegende Idee ist das Daten durch Attribut-Wert-Paare benannt werden und eine Beobachtungsaufgabe als Interesse im Netz verbreitet wird(Diffusion). Hierdurch wird ein Gradient in den Knoten im Netz etabliert und gemessene Ereignisse folgen mehreren Pfaden zum Interessenten (Senke)(directed) wodurch sich einei Pfade verstärken. Hierbei sind die Sensorkonoten, welche die Datenanfrage beantworten können jedoch unbekannt und es können auch antworten von mehreren Sensorknoten kommen.
\subparagraph{Wozu ist Directed Diffusion besonders geeignet?}
Es eignet sich besonders wenn eine Datenanfrage mehrere oder regelmäßige Antworten erhalten soll, z.B. regelmäßige Temperaturmessungen.
\subparagraph{Wie wird Directed Diffusion ausgeführt?}
\begin{itemize}
\item Senke äußert ihr Interesse an Daten, das Interesse wird im Netz geflutet.
\item Ein Pfad zu Datenquelle wird aufgebaut. Der Gradient, also die Richtung aus der das Interesse kam wird im Knoten gespeichert.
\item Daten werden auf dem Rückwärtspfad gesendet. Über alle verfügbaren Gradienten.
\item Ist die Ereignie-Quelle gefunden startet die Senke die Reinforment-Phase, die Datenrate zu diesem Interesse wird erhöht der Gradient also Verstärkt. Es werden einige Pfade zwischen Quelle und Senke etabliert und nur noch diese Pfade mit geringer Verzögerung gewählt.
\end{itemize}
\paragraph{Was ist Rumor Routing?}
Rumor Routing ist ein Datenzentrisches Routingverfahren bei dem die Initiative von der Ereignis-Quelle und der Ereignis-Senke ausgeht. Hier wird ein Kompromiss zwischen Fluten von Anfragen und Fluten von Ereignissen eingesetzt.
Rumor Routing setzt einen Agentbasierten Ansatz ein, bei dem ein Ergeignis-Agent den Pfad zu Ereignissen etabliert. Er besitzt Informationen über Ereignisse und werden bei neuen Ereignissen mit eine gewissen Wahrscheinlichkeit erzeugt. Sie Wandern als langlebige Dateneinheit(max. Lebensauer als TTL) durch das Netz und können auf ihrem Weg informationen lernen. Auf ihrem Weg hinterlassen sie Pfadinformationen in den Knoten, als Anlehnung an Ameisen.
\subparagraph{Welche Informationen müssen die Sensorknoten halten?}
Die Sensorknoten müssen Weiterleitungsinformation zu bekannten Ereignissen speichern, welche sich durch ankommende Ereignis-Agenten aktualisieren. Die Einträge sollten eine limitierte Lebensdauer haben. Ebenso müssen sie ihre Nachbarschaftsinformationen speichern, diese werden z.B. durch periodische Hello-Dateneinheiten ausgetauscht.
\subparagraph{Wie bewegen sich die Agenten durch das Netz?}
Die Agenten werden per "Random Walk" von einem Knoten entweder per Unicast-MAC-Adresse an einen zufällig gewählten Nachbar weitergegeben oder alternativ werden mehrere Kopien an unterschiedliche Nachbarn weiteregeben, ähnlich Gossiping.
\paragraph{Wo liegt der Nachteil bei Daten und Adressorientieren Routingverfahren?}
Bei Adressorientierten Roting Verfahren sind Global eindeutige Adressen erfoderlich, bei Datenorientieten Verfahren ist der Aufwand für eine einzelne Übertraguen höher.
\subsubsection{Lokationsbasierte Verfahren}
\paragraph{Was will man mit lokationsbasierten Verfahren erreichen?}
Mit lokationsbasierten Verfahren will man von klassischen Adressen abstrahieren und nur Informationen von einem System erhalten das in einer bestimmten Richtung in einer bestimmten Entfernung liegt.
\paragraph{Was ist das distanzbasierte Greedy Verfahren?}
Bei dem distanzbasiertem Greedy Verfahren geht man davon aus, dass jedes System seine eigene Position kennt. So wird die Strategie " most forward withing r " angewendet was so viel bedeutet wie das die Dateneinheit an das Nachbar-System weitergeleitet wird, das sich am nächsten am Ziel befindet.
\subparagraph{Was für Vorteile hat dieses Verfahren?}
Es ist garantiert frei von Schleifen
\subparagraph{Welche Nachteile hat dieses Verfahren?}
Da die Topologie nicht bekannt ist, wird nicht immer der kürzeste Pfad gefunden. Da als nächste Hop die Systeme mit potentiell größter Entfernung gewählt werden kann es mit steigender Wahrscheinlichkeit zu Fehlübertragungen kommen.
\subparagraph{Wie kann man das Verbessern?}
Verbessert wird dieses Verfahren durch das richtungsbasierte Greedy Verfahren. Hier ist die Idee das man als Next-Hop das System möglichst nahe an der idealen Richtung zum Ziel wählt. Als
ideale Richtung wird hierbei die Verbindungsgerade zwischen aktuellem System und Ziel angesehen. Zwei sinnvolle Metriken sind hierbei einmal der minimale Abstand zur Verbindungsgeraden und einmal der minimale Winkel zur Verbindungsgeraden. Allerdings ist dieses Verfahren nicht garantiert Schleifenfrei.
\subparagraph{Wo haben diese Verfahren Probleme?}
Distan und richtungsbasiertes Greedy Verfahren haben Probleme mit Sackgassen (lokale Etremstellen)
\subparagraph{Wie kann man aus einer Sackgasse entkommen?}
Mit dem Greedy Perimeter Stateless Routing bzw. der Rechte Hand Regel.
\paragraph{Was ist Greedy Perimeter Stateless Routing?}
GPSR ist eine Erweiterung des distanzbasieten Greedy Verfahrens. Es teil sich in zwei modi auf
\begin{itemize}
\item Greedy-Modus: Schnelle Weiterleitung von Dateneinheiten per distanzbasiertem Gerry Verfahren
\item Perimeter-Modus: Modus zum Entkommen aus Sackgassen per Perimeter-Routing bzw. " Rechte Hand Regel ".
\end{itemize}
GPSR wechselt zwischen den Modi hin und her.
\subparagraph{Wie läuft GPSR ab?}
Es wird im Greedy Modus gestartet. Im Greedy Modus wird solange per distanzbasiertem Greedy Verfahren Weitergeleitet bis eine Sackgasse vorliegt, dann wird in den Perimeter Modus gewechselt.
Perimeter Modus
\begin{itemize}
\item Die Position des Eintrittspunktes in den Perimeter Modus wird in der Dateneinheit vermerkt
\item Weiterleitung um Face, welche von der Verbindungsgeraden zwischen aktuellem System und Ziel geschnitten werden
\item Leite Dateneinheit gemäß der Rechte Hand Regel entlang des entsprechenden Perimter weiter, also um die Face Fläche herum
\item Wechsel in den Greedy Modus, sobald das weiterleitende System dem Ziel näher ist als der Eintrittspunkt.
\end{itemize}
\subsubsection{Distanzvektorbasierte Verfahren}
\paragraph{Was sind die Anforderungen für distanzvektorbasierte Verfahren?}
Neben den üblichen Anforderungen wie geringer Energieverbrauch, geringe Datenrate etc. sollte es für den Betrieb oberhalb eine Low-Power Medienzugriffsprotokolls unabhängig vom MAC-Protokoll sein und u.a. über 802.14.5 arbeiten können.
\paragraph{Was für ein Routing Protokoll gibt es hier?}
Hier gibt es das Distanz-Vektor basierte Routingprotokoll RPL (Ripple) es soll Destination-oriented Distributed Acyclic Graphs (DODAGs) aufbauen. Es nutzt eine Objective Funktion zum Aufbau und basiert auf Metriken und Randbedingungen sogenannten Constraints.
\subparagraph{Wie funktioniert das?}
Verbindung von Sensor-basierten Zugangsnetzen zum Internet über dedizierte Knoten(Wurzel)
\begin{itemize}
\item{up} Verkehr in Richtung Internet, Sammeln von Daten (Concast)
\item{down} Verkehr in Richtung Knoten, z.B. Code-Updates (Multicast)
\end{itemize}
Das ganze ist als gerichteter azyklischer Graph aufgebaut, wobei die Wurzel einen dedizierten Knoten darstellt. Die Wurzel ist ein LowPAN Border Router und wurde vom Systemadministrator konfiguriert.
\subparagraph{Wie wird ein DODAG konstruiert?}
Es wird bei der Wurzel gestartet. Die Knoten in der Nachbarschaft empfangen eine Nachricht und entscheiden ob sie dem Graphen beitreten oder nicht.
Wenn der Knoten beitritt besitzt er nun die Route zur Wurzel, welche sein Elternknoten ist. Falls der Knoten als Router arbeitet, so verbreitet er die Routinginformation in seiner Nachbarschaft, ist er nur ein Blattknoten war es das
\subparagraph{Wie vielen DODAGS kann ein Knoten angehören?}
Genau einem
\subparagraph{Können sich DODAGs anpassen}
Ja, DODAGs können sich dynamisch an Änderungen im Netz durch die Wurzel kontrolliert anpassen. Dies kann auch Topologieänderungen zu folge haben.
\subparagraph{Was ist der Node Rank?}
Der Node Rank ist ein Skalarer Wert der die relative Position eines Knotens im DODAG angibt, sozusagen die tiefe des Knotens.
\subparagraph{Was ist die Objective Funktion?}
Die Objective Funktion formuliert ein Pfadkosten Kriterium mit dem Metriken und Constraints in den Node Rank umgewandelt werden.
Hiermit können z.B. auch Pfade über Batteriebetriebene Knoten ausgeschlossen werden.
Jeder DODAG entspricht der Ausprägung eine Objective Funktion.
\subparagraph{Was sind die RPL Kontrollnachrichten?}
\begin{itemize}
\item{DAG Information Object(DIO): }Enthält Informationen die es dem Knoten ermöglichen RPL instanzen zu entdecken, Konfigurationsparameter zu elrnen und DODAG Eltenr zu wählen. Enthalten den NodeRank des Senders.
\item{DAG Infomation Solicitation(DIS): }Gezielte Anforderung eines DIOs von einem Knoten
\item{Destination Adertisment Object(DAO): }Kommuniziert Informationen über Routingziele entlang eines DODAGs
\end{itemize}
\subparagraph{Was für Typen von Knoten gibt es?}
Es gibt storing und non-storing Knoten, sie sollen Routinginformationen für die Down Richtung etablieren, hierzu senden die Blattknoten DAO Nachrichten in Richtung Wurzel. Das Problem hierbei ist der Speicheraufwand in den Knoten, daher wird zwischen storing und non-storing Knoten unterschieden. Die non-storing Knoten halten keine Routinginformationen sondern die Wurzel fügt Source-Routing-Informationen in die Dateneinheit ein. Storing nodes halten die Routinginformation selbstängit. Hierbei ist kein Mischbetrieb zulässig.
\subparagraph{Wie sieht es mit RPL und Sicherheit aus?}
Sie ist wichtig aber aufgrund der ressourcenknappheit oft problematisch. RPL bietet 3 Optionen.
\begin{itemize}
\item Unsecured: keine Sicherheitsmaßnamehn für Kontrollnachrichten
\item Pre-installed: Über vorinstalliertes gemeinsames Geheimniss gesicherte RPK Nachrichten
\item Authentifiziert: Router müssen Schlüssel von Authentication Authority erwärben, Blattknoten können über vorinstallierten Schlüssel beitreten.
\end{itemize}
\subparagraph{Welche Schutzziele gibt es in RPL?}
Integrität, Vertraulichkeit, Schutz vor Wiedereinspielen, Schutz vor Verzögerungen
\subparagraph{Wie wird ein DODAG konstruiert?}
\begin{itemize}
\item Knoten schicken periodisch link-lokale Multicast DIO-Nachrichten
\item Knoten hören auf DIO-Nachrichten und verwenden die Informationen um DODAG beizutreten oder zu verwalten.
\item Elternwahl aufgrund von DIO Informationen(z.B: Node Rank) über die Objective Function
\end{itemize}
Dasraus entstehen Upward Routden in Richtugn DODAG Wurzel. Wurzel muss nicht bekannt sein, Node Rank reicht aus. Aufgrund der strengen Monotonie des Baumes wird automatisch richtig geroutet.
\subparagraph{Wie sieht die DOGAG Konstruktion Distanzvektorbasiert aus?}
Es werden Pfadkosten für den günstigsten Pfad zur Wurzel bekanntgegeben. Elternknoten werden solche, die die Pfadkosten minimiere. Hierzu wird eine Elternmenge und ein bevorzugter Elternknoten gewählt. Je nach Objective Funktion können auch mehrere bevorzugte Eltern gewählt werden.
\subparagraph{Welche Probleme können bei distanzvektorbasiertem DODAG auftreten?}
Schleifen und Count-to-infinity.
\subparagraph{Kann es günstig sein, einen hohen Node Rank zu haben?}
Ja so stehen einem eine größere Anzahl potentieller Elternknoten zur Verfügung und man selbst wird seltener mit der Weiterleitung von Daten beauftragt, spart als Energie und vermeidet Schleifenbildung.
\subparagraph{Was ist die max\_depth rule?}
Schleifenbildung ist unvermeidbar, deswegen schränkt die max\_depth rule die Elternwahl ein. Demnach sind alle Knoten erlaubt deren Node Rank kleiner ist als der eigene bzw. den eigenen Node Rank nicht mehr als einen bestimmten Wert überschreitet. Hierdurch werden Schleifen nicht verhindert schränken aber deren Größe ein. Damit kann man Erreichen das sich ein Knoten beim Ausfall eines Links einen neuen Elternknoten mit höherem Node Rank wählt.
Hierzu überprüft man $NewRank \leq oldRank + DAGMaxRankIncrease$
\subparagraph{Wie erkennt man Schleifen bei der Datenübertragung?}
Bei RPl benutzt man Piggybacking von Routing-Kontrollinformationen um Schleifen zu erkennen. Diese werden in Feldern im Kopf der Dateneinheit gesetzt, dies nennt man auch datapath validation.
Hierzu benötigt man den Node Rank des Absenders und die Richtung der Dateneinheit. Als Beispielt eine Dateneinheit hat sich verirrt und up als Richtung markiert. Nun hat der Sender einen geringeren NodeRank als der Empfänger, daher erkennt man das sich die Nachricht in die falsche Richtung bewegt hat und der DODAG inkonsistent ist, er muss repariert werden.
\subparagraph{Wie repariert man einen DODAG?}
Bei der Reperatur von DODAG unterscheidet man zwischen lokalen und globalen Strategien.
\begin{itemize}
\item Lokale Strategie:
\begin{itemize}
\item Wenn ein Link-Ausfall oder eine Inkonsistenz erkannt wurde wird versucht einen neuen Elternknoten zu wählen und daraufhin den Node Rank anzupassen.
\item Konnte kein neuer Elternknoten gewählt werden kommt es zu dem sogenannten \textbf{Poison-and-Wait} hier wird der Knoten aus allen Eltern-Sets und allen potentiellen Kindern gelöscht. An allen notwendigen Stellen werden neue Eltern gewählt(falls nicht möglich rekursiv poison and wait). Nach eine gewissen Zeit darf sich der Knoten neu in den DODAG einbinden.
\end{itemize}
\item Globale Strategie: Bei der globalen Strategie wird der DODAG von der Wurzel ausgehen komplett neu aufgebaut. Dies ist deutlich teurer als eine lokale Reperatur findet aber bessere Pfade.
\end{itemize}
\subparagraph{Welche Annahmen können über Verkehrsmuster getroffen werden?}
Multipoint to Point also Concast stellt den Löwenanteil des Verkehrs da und hier findet RPL redundante und optimierte Pfade.
Point to Multipoint also Multicast ist selten und aktives Auslesen (s. Directed Diffuison) wird als sekundär betrachtet.
Point to Point also Unicast wird so gut wie nie genutzt, hier müsste im non storing mode immer über die Wurzel kommuniziert werden.
\subparagraph{Wie viele Nutzdaten bleiben bei RPL?}
vom den 128Byte des 802.15.4 Rahmen bleiben 79 Byte.
\subparagraph{Reicht die Nutzdatenlänge oder muss fragmentiert werden?}
DIOs werden nicht selten über 80 Byte lang, also ja es muss fragmentiert werden.
\subparagraph{Was bedeutet der Verlust eines Fragments?}
Ein verlorenes Fragment bedeutet Paketverlust, das Netz ist hoch verlustbehaftet.
\subsection{Topologiekontrolle}
\paragraph{Was ist Topologiekontrolle?}
Jede direkte Kommunikationsverbindung zwischen zwei Systemen ist Teil einer Topologie. Ein dichtes Netz führt zu einer komplexen Topologie. Die Topologiekontrolle dient daher dazu diese Komplexität zu reduzieren ohne die Konnektivität zu beeinflussen.
\paragraph{Wie teilt man die Topologiekontrolle ein?}
In der Topologiekontrolle unterscheidet man zwischen
\begin{itemize}
\item Flachen Netzen: hier sind die Systeme gleichberechtigt.
\item Hierachsiche Netze: hier haben die Systeme unterschiedliche Aufgaben und Fähigkeiten.
\end{itemize}
\paragraph{Wie kontrolliert man in Flachen Netzen?}
Entweder durch Regulierung der Sendeleistung oder durch Regulierung der Zahl der Nachbarn.
\subparagraph{Wie reguliert man die Sendeleistung?}
Die Sendeleistung und die Zahl der direkten Nachbarsysteme hängen unmittelbar zusammen, also ist das Problem die richtige Sendeleistung zu finden. Eine geringere Sendeleistung spart Energie also will man eine möglichst geringe Sendeleistung mit guter Konnektivität und hohem Durchsatz. Hierzu gibt benötigt man die Position aller Systeme und kann mit Hilfe von \textbf{Minimale maximale Sendeleistung (MMS)} die Sendeleistung regulieren:
\begin{itemize}
\item Für jedes System $i$, setze Sendeleistung $P_i=0$
\item Zwei Teilnetze $T_1, T_2$ mit geringstem Abstand verbinden
\item Sendeleistung $P_i, P_j$ der zwei Systeme $i \in T_1, j \in T_2$, die am dichtesten zusammen liegen so erhöhen, dass diese miteinander kommunizieren können
\item Abschließend Verbindungen, welche die Konnektivität nicht beeinflussen entfernen.
\end{itemize}
Dieser Zentralisierte Ansatz ist in Sensornetzen so nicht praktikabel.
\paragraph{Wie kann man Hierachische Netze unterteilen?}
In Backbone-Netze und in Cluste-Netze.
\subparagraph{Was machen Backbone Netze?}
Backbone Netze teilen die Systeme in zwei Klassen. Einige der Systeme bilden das Backbone und Systeme außerhalb des Backbones dürfen nicht miteinander kommunizieren. Dabei gilt für jedes System es ist entweder Teil des Backbones oder besitzt ein Backbonemitglied als direkten Nachbarn.
\subparagraph{Was machen Cluster Netze?}
Cluster Netze unterteilen die Sensoren in Gruppen wobei jedes System genau in einer Gruppe ist bis auf Systeme die zwei oder mehr Gruppen verbinden.