Intégration de deux projets NDN

Résolu
wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024 - Modifié le 12 nov. 2024 à 15:00
wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024 - 14 nov. 2024 à 15:00

Bonjour à tous , 

Je cherche une démarche à suivre pour l'intégration de ces deux projets sur le réseau NDN : 

  • 1er projet : ndnQoS (qui intègre la QoS dans NDN).
  • 2ème projet : ndn4ivc (pour le NDN véhiculaire)
A voir également:

3 réponses

mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 7 801
12 nov. 2024 à 15:20

Bonjour,

Les deux projets que tu évoques sont construits sur ndnSim. Tu peux donc théoriquement écrire une application ndn qui tire parti des classes fournies par ces deux projets. Es-tu déjà parvenue à franchir cette première étape ?

Le premier problème, c'est que ndnQos reprend toutes les sources de ns-3, ce qui ne permet pas de voir clairement quelles modifications ont été apportées à un ns-3 standard. Normalement on met le minimum possible et on déploie le mécanisme dans une installation existante. Le problème, c'est que rien ne garantit que la version de ndnSim soit (encore) compatible avec l'autre projet. Mais si c'est le cas, il faudrait récupérer ce projet et injecter le code du second dans cette installation.

L'espoir, c'est que ndn4ivc semble être implémenté dans une application (voir tms-{provider, consumer}-app.h) et tu peux définir dans ns3 des nœuds qui lance des applications abitraires. Le problème, c'est qu'une partie du comportement des nœuds est implémentée directement dans les classes qui définissent les modèles de nœuds (voir tms-{provider, consumer}.{h, cc}).

Et ceci nous amène au second problème. Chacun ces deux projets ont leur propres modèles de nœuds réseaux. Du coup, comment définir un nœud qui a à la fois des capacités du premier et du second projet ?. Est-ce qu'un producer (resp. consumer) du projet1 le serait également au sens du projet2 ?

  • Si oui, il faudrait définir une classe Producer (resp. Consumer) qui hérite des classes Producer (resp. Consumer) de chacun des deux projets. Rien que là il faut savoir faire du multi-héritage.
  • Et sinon, c'est encore plus compliqué, car il faut considérer toutes les combinaisons possibles !

Je pense que tu recevrais de meilleurs conseils si tu contactais directement les auteurs de ces projets.

Bonne chance

0
wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024
12 nov. 2024 à 15:53

Bonjour mamiemando , 

Merci pour ta réponse.

ndn4ivc , est comme s'il encapsule ndnSIM , puisqu'il est exécuté dans une couche au dessous de NDN . ndnQoS , ne change pas dans les structures de consumer et producer , par contre il joue sur le noeud central (routeur) pour créer des files d'attentes prioritaires. Pourquoi donc créer un consumer et un producer héritant de deux projets . 

Aussi y'a t-il d'autres considérations à prendre en compte.

Merci

0
mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 7 801
13 nov. 2024 à 11:44

Bonjour,

Pourquoi donc créer un consumer et un producer héritant de deux projets .

Si un nœud ne peut pas être à la fois ndnQoS et à la fois ndn4ivc tu ne devrais pas avoir de problème. Il suffit au moment de construire ton réseau de considérer les deux ensembles de nœuds correspondants puis de construire ta topologie. Dans ce cas, pas besoin d'héritage.

Si par contre un nœud pouvait être les deux à la fois, ce serait une autre histoire, car il faudrait qu'il expose à la fois les méthodes / attributs propres à ndnQoS et propre à ndnQoS, et pour cela, il faudrait faire un héritage des deux classes adéquates.

Ceci étant dit, quand tu dis que seul les routeurs sont ndnQoS, cela laisse entendre que la QoS n'est prise en charge que dans le cœur de ton réseau, mais pas en bordure. Ça me paraît étonnant, j'aurais pensé que la QoS nécessitait un travail fait de bout en bout. Maintenant, je ne connais pas ces deux projets donc si tu es sûre de toi, vas-y :-)

Aussi y'a t-il d'autres considérations à prendre en compte.

Essaye et tu verras bien :-)

Bonne chance

0
wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024
Modifié le 14 nov. 2024 à 10:29

Bonjour , 

Oui , mamiemando, la QoS de ndnQoS est appliquée au routeur uniquement , pas d'intervention ni de consumer ni de producer .

Aussi , j'aurais pas besoin de simuler l'application " tms" . Je suis concernée uniquement par l'application ITS pour les systèmes de transports intelligent .

Merci

0
mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 7 801 > wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024
14 nov. 2024 à 12:58

Si tu le dis. Moi ça m'étonne un peu car :

III. New files (New Mexico State University)
=====================================================

1. ns-3/src/ndnSIM/NFD/daemon/fw

	ndn-priority-tx-queue.cpp
	ndn-priority-tx-queue.hpp
	ndn-qos-queue.cpp
	ndn-qos-queue.hpp
	ndn-token-bucket.cpp
	ndn-token-bucket.hpp
	qos-strategy.cpp
	qos-strategy.hpp
	TBucketDebug.cpp
	TBucketDebug.hpp

2. ns-3/src/ndnSIM/apps

	TBucketRef.cpp
	TBucketRef.hpp
	ndn-QoS-consumer.cpp
	ndn-QoS-consumer.hpp
        ndn-QoS-producer.cpp
        ndn-QoS-producer.hpp
	tokenBucketDriver.cpp
	tokenBucketDriver.hpp

tms-consumer-app.h

tms-consumer-app

3 years ago

tms-consumer.cc

customizing scenarios - close guibaraujo#7

3 years ago

tms-consumer.h

Changes on vndn-example-tms, multicast strategy for vanet guibaraujo#10

3 years ago

tms-provider-app.h

Opc1: solve NACK problem Vanet/Manet scenarios guibaraujo#10

3 years ago

tms-provider.cc

Changes on vndn-example-tms, multicast strategy for vanet guibaraujo#10

3 years ago

tms-provider.h

adding new use case (its-*) with ndn security

2 years ago

Si tu es sûre de toi, écris un script qui décrit ta topologie de réseau en t'inspirant des exemples donnés dans les deux projets :

Je ne peux pas t'en dire beaucoup plus, je ne connais aucun de ces deux projets; donc il faut que tu creuses les exemples.

Bonne chance

0
wella_salwa Messages postés 32 Date d'inscription lundi 31 octobre 2022 Statut Membre Dernière intervention 14 novembre 2024 > mamiemando Messages postés 33367 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024
14 nov. 2024 à 15:00

OK , mamiemando .

Merci

0