SlideShare a Scribd company logo
1 of 22
Download to read offline
C-Mesh
Routing-Simulation in C
( ), 01. Juli 2013Alain Horner @elHornair
Intro
Aufgabenstellung
Offizielle
Kennen wir alle
Aufgabenstellung
Lösungskonzept
Funktionsweise der Knoten
Boss-Worker Modell
Boss: Auf Paket warten
Boss: Paket an Worker weitergeben
Worker: Paket verarbeiten
Funktionsweise der Knoten
Verteilung der Pakete
Funktionsweise der Knoten
Boss-Worker: Implementierung mit Pthreads
while (1) {
// wait for next package
newsockfd = wait_for_connection(sockfd);
// let worker handle package
pthread_create(&workers[thread_counter], NULL, worker_init, (void *)newsockfd);
// alternate workers
thread_counter += 1;
if (thread_counter >= NUM_WORKERS) {
thread_counter = 0;
}
}
Details: Siehe Github
Verbindungen zu Nachbaren
Nachbar: Knoten, dessen IP-Adresse und Port bekannt ist
Nachbaren-Liste
Bidirektionale Verbindungen -> Handshake
Verbindungen zu Nachbaren
Handshake
Routing
Z.B. “In welcher Richtung liegt das Ziel?”
Tabelle mit zwei Einträgen
Pro Eintrag: Nachbar (IP-Adresse und Port)
Routing
Eigenheit von Aufgabenstellung ausgenutzt:
Routingtabelle möglichst früh anpassen
Einträge werden nie überschrieben
“Pakete werden immer von der Quelle zum Ziel
oder vom Ziel zur Quelle gesendet”
Paket-Forwarding
Knoten: Paket weiterleiten, falls nicht für mich
Routingtabelle verwenden
Fallback: Flooding
Paket-Forwarding
Flooding
Paket-Forwarding
Problem mit ringförmig verbundenen Knoten
Erreichen des Ziels
Nur bei Quell- und Zielknoten möglich
Ausgabe der Nachricht
Umwandlung des Nachrichtenpakets in OK-Paket
Routing sehr einfach
Schwarze Liste wird ignoriert
OK-Paket: Zurück bis zu ursprünglichem Sender
Demo
Demo
Python-Testprogramm
1 Startknoten
1 Zielknoten
10 Verbindungsknoten
3 Pakete
Outro
Lessons learned
Geteilte Ressourcen immer locken
Debugging: Gnu Debugger (GDB)
Weiterführende Links
Sourcecode
Dokumentation
Pthreads
Fragen?
Danke!

More Related Content

Viewers also liked

Trastornos alimenticios...
Trastornos alimenticios...Trastornos alimenticios...
Trastornos alimenticios...jennyalexandra20
 
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...Stephan Schmidt
 
Compartiendo vivencias
Compartiendo vivenciasCompartiendo vivencias
Compartiendo vivenciasjschwaller
 
Machadoact1
Machadoact1Machadoact1
Machadoact1vale_smf
 
Proces d'elaboració d'UDIs IES Núm. 1, Xàbia
Proces d'elaboració d'UDIs IES Núm. 1, XàbiaProces d'elaboració d'UDIs IES Núm. 1, Xàbia
Proces d'elaboració d'UDIs IES Núm. 1, XàbiaRaquel Gómez Paredes
 
Plan de marketing jp
Plan de marketing jpPlan de marketing jp
Plan de marketing jpjunalypino
 
La guanacastequidad
La guanacastequidadLa guanacastequidad
La guanacastequidad06igte811
 
15.01.11 Esp Energy
15.01.11 Esp Energy15.01.11 Esp Energy
15.01.11 Esp EnergyDerMeissner
 
Achievements
AchievementsAchievements
Achievementsmondesser
 
Xarxes socials. Comunicar-se per existir
Xarxes socials. Comunicar-se per existirXarxes socials. Comunicar-se per existir
Xarxes socials. Comunicar-se per existirRaquel Gómez Paredes
 
Essen und Trinken in der Bibel
Essen und Trinken in der BibelEssen und Trinken in der Bibel
Essen und Trinken in der BibelJudith Göd
 
4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia
4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia
4.3 Qüestionari reflexió definitiu IES Núm. 1_XàbiaRaquel Gómez Paredes
 
Xàbia competencias_5 nov2014-nuevo-definitvo
Xàbia competencias_5 nov2014-nuevo-definitvoXàbia competencias_5 nov2014-nuevo-definitvo
Xàbia competencias_5 nov2014-nuevo-definitvoRaquel Gómez Paredes
 
Plaquette Adgensite
Plaquette AdgensitePlaquette Adgensite
Plaquette AdgensiteAdgensite
 

Viewers also liked (20)

Trastornos alimenticios...
Trastornos alimenticios...Trastornos alimenticios...
Trastornos alimenticios...
 
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...
Persönliche Verantwortung und Haftungsrisiken des CISO / IT-Sicherheitsbeauft...
 
Achiiv
AchiivAchiiv
Achiiv
 
Compartiendo vivencias
Compartiendo vivenciasCompartiendo vivencias
Compartiendo vivencias
 
Machadoact1
Machadoact1Machadoact1
Machadoact1
 
Proces d'elaboració d'UDIs IES Núm. 1, Xàbia
Proces d'elaboració d'UDIs IES Núm. 1, XàbiaProces d'elaboració d'UDIs IES Núm. 1, Xàbia
Proces d'elaboració d'UDIs IES Núm. 1, Xàbia
 
Plan de marketing jp
Plan de marketing jpPlan de marketing jp
Plan de marketing jp
 
Wequest
WequestWequest
Wequest
 
La guanacastequidad
La guanacastequidadLa guanacastequidad
La guanacastequidad
 
Tuberculosis
TuberculosisTuberculosis
Tuberculosis
 
15.01.11 Esp Energy
15.01.11 Esp Energy15.01.11 Esp Energy
15.01.11 Esp Energy
 
Domingo uso de las ti cs
Domingo uso de las ti csDomingo uso de las ti cs
Domingo uso de las ti cs
 
Tics
TicsTics
Tics
 
Achievements
AchievementsAchievements
Achievements
 
Xarxes socials. Comunicar-se per existir
Xarxes socials. Comunicar-se per existirXarxes socials. Comunicar-se per existir
Xarxes socials. Comunicar-se per existir
 
Domingo uso de las ti cs
Domingo uso de las ti csDomingo uso de las ti cs
Domingo uso de las ti cs
 
Essen und Trinken in der Bibel
Essen und Trinken in der BibelEssen und Trinken in der Bibel
Essen und Trinken in der Bibel
 
4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia
4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia
4.3 Qüestionari reflexió definitiu IES Núm. 1_Xàbia
 
Xàbia competencias_5 nov2014-nuevo-definitvo
Xàbia competencias_5 nov2014-nuevo-definitvoXàbia competencias_5 nov2014-nuevo-definitvo
Xàbia competencias_5 nov2014-nuevo-definitvo
 
Plaquette Adgensite
Plaquette AdgensitePlaquette Adgensite
Plaquette Adgensite
 

Praesi C-Mesh