MathiasKurthRestricted: Difference between revisions
Jump to navigation
Jump to search
Line 62: | Line 62: | ||
* Knoten s sendet einen Frame mit dem oben angegebenen Format |
* Knoten s sendet einen Frame mit dem oben angegebenen Format |
||
* Der Frame f wird von einer Teilmenge der Nachbarn der Knoten s empfangen. Sei also Knoten k ein Knoten dieser Teilmenge. |
* Der Frame f wird von einer Teilmenge der Nachbarn der Knoten s empfangen. Sei also Knoten k ein Knoten dieser Teilmenge. |
||
** if ETX(k->d) > ETX( |
** if ETX(k->d) > ETX(n->d)_max then drop f |
||
** if ETX(k->d) < ETX(n->d)_min then drop f (evtl Aufheben für andere Layer wie NC) |
** if ETX(k->d) < ETX(n->d)_min then drop f (evtl Aufheben für andere Layer wie NC) |
||
** Das awnd wird in |
** Das awnd wird in slots Zeitschlitze aufgeteilt und Knoten k scheduled sein Ack für den Slot slt=(ETX(k->d) - ETX(n->d)_min)/slots. |
||
** Knoten k lauscht bis slt, ob 'höherwertige' acks auf dem medium liegen (Gleiches Vorgehen wie bei ExOR, die Forwarding Node wird zu s propagiert) |
** Knoten k lauscht bis slt, ob 'höherwertige' acks auf dem medium liegen (Gleiches Vorgehen wie bei ExOR, die Forwarding Node wird zu s propagiert) |
||
** Zum Zeitpunkt slt sendet k sein Ack, wenn nicht gerade das Medium belegt ist |
** Zum Zeitpunkt slt sendet k sein Ack, wenn nicht gerade das Medium belegt ist |
Revision as of 18:39, 8 February 2006
Hardware
Software
Simulation
Early Warning
Devilish Opportunistic Routing
- Beobachtung: Kein Candidate Set ist eine große Einschränkung des Opportunismus.
- Idee: Das Candidate Set wird nicht vorgegeben, sondern 'dynamisch' ermittelt.
Dadurch entstehen die folgenden Probleme:
- Richtung: Das Paket muss mit jedem Hop einen Fortschritt richtung Final Destination machen.
- Ack Ordering: Die Menge der Knoten, die das Paket empfangen haben, muss sich auf eine kollisionsarme Ack-Reihenfolge einigen.
- Größe das Candidate Set: Potentiell sind jetzt alle Nachbarn Kandidaten. Das Ack-Fenster muss aber beschränkt bleiben (Das Ack hat feste Größe und feste Übertragungszeit.)
Frame Format
Ein Knoten s sendet folgendes Frame:
|------------------------------------| | Final Destination d | |------------------------------------| | ETX(n->d)_max | ETX(n->d)_min | |------------------------------------| | slots | awnd size | NAV | |------------------------------------| | Source Address s | |------------------------------------| | ... | | Aorte Route | | .... | |------------------------------------| | Payload | | ... |
d - Address of the final Destination s - Address of the source (sender) ETX(n->d)_max - Max(cuml. ETX from n = Neighbor(s) to d) ETX(n->d)_min - Min(cuml. ETX from n = Neighbor(s) to d) slots - Number of slots in the ack window (comparable to backoff window) awnd size - number of acks that fit into the ack window Aorta Route - Best route from s to d (hop-count) with ETX values
Parameter
ttime(ack) - transmission time for an ack awnd - Ack window (fixed size, awnd = n * (c+ttime(ack)) slots - discredition of the ack window size (#slots of awnd)
Arbeitsweise
- Knoten s sendet einen Frame mit dem oben angegebenen Format
- Der Frame f wird von einer Teilmenge der Nachbarn der Knoten s empfangen. Sei also Knoten k ein Knoten dieser Teilmenge.
- if ETX(k->d) > ETX(n->d)_max then drop f
- if ETX(k->d) < ETX(n->d)_min then drop f (evtl Aufheben für andere Layer wie NC)
- Das awnd wird in slots Zeitschlitze aufgeteilt und Knoten k scheduled sein Ack für den Slot slt=(ETX(k->d) - ETX(n->d)_min)/slots.
- Knoten k lauscht bis slt, ob 'höherwertige' acks auf dem medium liegen (Gleiches Vorgehen wie bei ExOR, die Forwarding Node wird zu s propagiert)
- Zum Zeitpunkt slt sendet k sein Ack, wenn nicht gerade das Medium belegt ist
- Ist das Medium belegt, wird f gedroppt (Beschränken der Größe des dyn. Candidate Set, evtl Aufheben für später).
- Knoten k lauscht weiter bis das awnd abgelaufen ist (Idee: Vermeiden von Duplikate a la ExOR)
- Kennt k das Ziel d nicht, kann es nicht ETX(k->d) berechnen.
- Die Aorta Route liefert eine Anzahl an Join Points, für die ETX bekannt ist (mitgeschickt wird).
- Kennt Knoten k nun einen Knoten x der Aorta (und damit ETX(k->x)), kann er rechnen: ETX(k->d) = ETX(k->x) + ETX(x->d)
- Empfängt ein anderer Knoten das Datenpaket von s, so updatet er seinen NAV-Vektor und schützt damit das awnd vor Kollisionen.
Optimierung: Vermeidung von Ack-Kollisionen
- Der Sender passt die Größe und die Rasterisierung des Ack-Windows dynamisch an, um Kollisionen zu vermeiden.
- Ziel: Keine Kollisionen, diese werden zu Überlappungen aufgelöst.
- Methode: Histogramm der Rasterisierung (Diskretisierung des Ack-Window)
Vorteile
- Beseitigt die vorzeitige Festlegung auf ein Candidate Set.
- Höherer Grad an Opportunismus
Probleme & Offene Fragen
- Es kann nicht ausgeschlossen werden, dass nicht zwei Empfänger zum gleichen Zeitpunkt acken
- Besonders wichtig bei grobmaschigen Netzen
- Evtl. Lösungsansatz: Das awnd muss eine Mindestanzahl Slots haben
- Wie groß muss awnd sein?
- Wie groß muss slots sein?
Resultate der Messungen im internen Testbed
- Measurement Results
- Auswertung der Delivery Ratio Messung
- Performance of a DHT Implementation in the BRN Indoor Testbed
Todo
- JiST
- Multichannel-Mac
- Javis & EventGUI
- Measured, predefined Link Quality in Fields (Ersetzen des Ausbreitungsmodells gegen unsere Meßdaten)
- How to measure with JiST/SWANS (generate diagrams & co.)
- ExOR: slotted ack
- ns2:
- (Network Coding)
- Administrations-Tools für das Indoor-Testbed
- Telnet-Zugang auf Knoten des Indoor-Testbed ohne Ethernet
- Methode zur Durchführung von Tests im Indoor-Testbed
- z.B. [1]
Each experiment measures throughput between 65 randomly selected node pairs. First, the nodes broadcast 1500- byte packets every ten seconds for ten minutes and report the measured delivery probabilities from all other nodes to a central server. The server distributes this information to all the nodes. The measurements are used to compute ETX metrics and traditional routes. Next, the server contacts each of the 65 node pairs in sequence, telling the pair to measure the time required to transfer a 1.0 megabyte ¯le using traditional routing, then to wait 15 seconds, then to measure the time required to transfer 1.1 megabytes using ExOR. The evaluation does not use the combination of ExOR and traditional routing, so the extra 0.1 megabyte is to compensate for the 10% of packets which may not have been delivered ordinarily. The reported throughput is one megabyte divided by the total time required to transfer the data. Every twenty minutes, the central server suspends the experimental runs to recollect the link loss measurements. During the experiment, existing Roofnet routing and user tra±c are present.