ibr-dtn and dtn2 data exchange
Hello,
I am tryng to use dtnsend/recv between a laptop that runs ibr and another that runs dtn2. When I use the following commads
On IBR : dtnsend dtn://hp/filetransfer /home/ibrdtn/...
On Dtn2 : dtnrecv dtn://dell/filetransfer
I get the following error in the dtn2 daemon :
[1373409728.490016 /dtn/bundle/extblock/aeb info] consume() begin [1373409728.490091 /dtn/bundle/extblock/aeb info] oasys::Time now(): 3315161066 [1373409728.490128 /dtn/bundle/extblock/aeb info] Bundle Age: 2576 [1373409728.490157 /dtn/bundle/extblock/aeb info] consume() end [1373409728.490493 /dtn/bundle/protocol info] handle_bundle_received: begin [1373409728.490562 /S10 info] 2013-07-09 22:42:08,1373409728.490538,dtn://dell,RX,4,dtn://hp/routing,426717728.4,dtn://dell/routing,60,, 10.0.0.228:4556,,,0.000000,,0,link [1373409728.490699 /dtn/bundle/daemon info] BUNDLE_RECEIVED bundle id 36 [dtn://hp/routing -> dtn://dell/routing 4 byte payload] prevhop dtn://hp (74 bytes recvd) [1373409728.490745 /dtn/bundle/daemon info] handle_bundle_received: validating bundle: calling BlockProcessors? [1373409728.490771 /dtn/bundle/protocol info] BundleProtocol::validate begin [1373409728.490794 /dtn/bundle/protocol info] validating each individual blocks [1373409728.490824 /dtn/bundle/protocol info] BundleProtocol::validate end [1373409728.490854 /dtn/bundle/expiration info] adding bundle to pending list [1373409728.505117 /dtn/bundle/expiration info] [AEB]: AgeBlock exists. [1373409728.505217 /dtn/bundle/expiration info] [AEB]: expiring in 4294964780 seconds [1373409728.505266 /dtn/bundle/expiration warning] scheduling IMMEDIATE expiration for bundle id 36: [expiration 60, creation time 426717728.4, offset 946684800, now 1373409728.505098] [1373409728.505458 /dtn/bundle/daemon info] BUNDLE_EXPIRED bundle id 36 [dtn://hp/routing -> dtn://dell/routing 4 byte payload]
Basically it immediately deletes the bundle, because of faulty timestamp if I get this right. Is this a problem on IBR's end or should I consult the dtn2 forum?
Thank you
Regards Dimitris Giotas
Hello Dimitrios,
the immediate expiration of bundles is caused by different interpretations of the AEB (Bundle Age Block). In IBR-DTN we add the AEB to management bundles to guarantee its delivery even if the clocks on the nodes are broken. In such a case, we do NOT set the timestamp of the bundle to zero, because the node assumes to have access to a (possibly faulty) UTC. For our use-cases this behavior makes sense, but seems to violate some processing in DTN2.
However, the only bundles with AEBs are routing or clock synchronization bundles, which are IBR-DTN specific and not recognized by DTN2. Other bundles should pass correctly between both daemons.
Kind regards, Johannes
Am 10.07.2013 00:51, schrieb Dimitrios Giotas:
Hello,
I am tryng to use dtnsend/recv between a laptop that runs ibr and another that runs dtn2. When I use the following commads
On IBR : dtnsend dtn://hp/filetransfer /home/ibrdtn/...
On Dtn2 : dtnrecv dtn://dell/filetransfer
I get the following error in the dtn2 daemon :
[1373409728.490016 /dtn/bundle/extblock/aeb info] consume() begin [1373409728.490091 /dtn/bundle/extblock/aeb info] oasys::Time now(): 3315161066 [1373409728.490128 /dtn/bundle/extblock/aeb info] Bundle Age: 2576 [1373409728.490157 /dtn/bundle/extblock/aeb info] consume() end [1373409728.490493 /dtn/bundle/protocol info] handle_bundle_received: begin [1373409728.490562 /S10 info] 2013-07-09 22:42:08,1373409728.490538,dtn://dell,RX,4,dtn://hp/routing,426717728.4,dtn://dell/routing,60,,10.0.0.228:4556 http://10.0.0.228:4556,,,0.000000,,0,link [1373409728.490699 /dtn/bundle/daemon info] BUNDLE_RECEIVED bundle id 36 [dtn://hp/routing -> dtn://dell/routing 4 byte payload] prevhop dtn://hp (74 bytes recvd) [1373409728.490745 /dtn/bundle/daemon info] handle_bundle_received: validating bundle: calling BlockProcessors? [1373409728.490771 /dtn/bundle/protocol info] BundleProtocol::validate begin [1373409728.490794 /dtn/bundle/protocol info] validating each individual blocks [1373409728.490824 /dtn/bundle/protocol info] BundleProtocol::validate end [1373409728.490854 /dtn/bundle/expiration info] adding bundle to pending list [1373409728.505117 /dtn/bundle/expiration info] [AEB]: AgeBlock exists. [1373409728.505217 /dtn/bundle/expiration info] [AEB]: expiring in 4294964780 seconds [1373409728.505266 /dtn/bundle/expiration warning] scheduling IMMEDIATE expiration for bundle id 36: [expiration 60, creation time 426717728.4, offset 946684800, now 1373409728.505098] [1373409728.505458 /dtn/bundle/daemon info] BUNDLE_EXPIRED bundle id 36 [dtn://hp/routing -> dtn://dell/routing 4 byte payload]
Basically it immediately deletes the bundle, because of faulty timestamp if I get this right. Is this a problem on IBR's end or should I consult the dtn2 forum?
Thank you
Regards Dimitris Giotas
-- !! This message is brought to you via the `ibr-dtn' mailing list. !! Please do not reply to this message to unsubscribe. To unsubscribe or adjust !! your settings, send a mail message to ibr-dtn-request@ibr.cs.tu-bs.de !! or look at https://www.ibr.cs.tu-bs.de/mailman/listinfo/ibr-dtn.
participants (2)
-
Dimitrios Giotas
-
Johannes Morgenroth