Hello,
I have installed ibr-dtn-0.4.2 on two laptops.
I just want two dtn-nodes exchange bundles when they are connected to the same network.
The setting info is following :
- tcp convergence layger
- epidemic routing
Just one difference between them is that one of them has two network interfaces.
But, I don't think it makes any influence on the result.
The following is the log messages I've got when running two nodes.
<The first node>=========================================================
st@stvaio:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:52 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: Local node name: dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: bind to interface wlan0
Mon Nov 1 15:22:52 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:52 2010 INFO: Initializing epidemic routing module for node dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:52 2010 INFO: TCP ConvergenceLayer added on 192.168.0.197:4556
Mon Nov 1 15:22:52 2010 INFO: Logging module initialized. mode = 0, interval = 200
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://IBM available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://IBM -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
<The second node>=========================================================
osh93@ubuntu:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:50 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: Local node name: dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth0
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth1
Mon Nov 1 15:22:50 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:50 2010 INFO: Initializing epidemic routing module for node dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 129.254.231.147:4556
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 192.168.0.173:4556
Mon Nov 1 15:22:50 2010 INFO: Logging module initialized. mode = 0, interval = 200
Timestamp 341907771; CurNeighbors 0; RecvBundles 0; SentBundles 0; StoredBundles 0;
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://SONY available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection setup dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://SONY -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
I think, when they exchange the epidemic routing messages the errors occur.
Doesn't epidemic routing work with TCP convergence layer?
Do we need other special setting with epidemic routing?
Do you have any idea about this error?
Thanks in advance.
Best Regards,
Seung-Hun Oh
Hello,
thank you for reporting this error. The bug is related to memory-based storage of bundles only. Please apply the attached patch to ibrcommon library with the following command and try again.
$ cat invalid-path-check.patch | patch -p0
Best Regards, Johannes Morgenroth
Am 01.11.2010 08:15, schrieb 오승훈:
Hello,
I have installed ibr-dtn-0.4.2 on two laptops.
I just want two dtn-nodes exchange bundles when they are connected to the same network.
The setting info is following :
tcp convergence layger
epidemic routing
Just one difference between them is that one of them has two network interfaces.
But, I don't think it makes any influence on the result.
The following is the log messages I've got when running two nodes.
<The first node>=========================================================
st@stvaio:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:52 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: Local node name: dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: bind to interface wlan0
Mon Nov 1 15:22:52 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:52 2010 INFO: Initializing epidemic routing module for node dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:52 2010 INFO: TCP ConvergenceLayer added on 192.168.0.197:4556
Mon Nov 1 15:22:52 2010 INFO: Logging module initialized. mode = 0, interval = 200
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://IBM available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://IBM -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
<The second node>=========================================================
osh93@ubuntu:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:50 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: Local node name: dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth0
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth1
Mon Nov 1 15:22:50 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:50 2010 INFO: Initializing epidemic routing module for node dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 129.254.231.147:4556
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 192.168.0.173:4556
Mon Nov 1 15:22:50 2010 INFO: Logging module initialized. mode = 0, interval = 200
Timestamp 341907771; CurNeighbors 0; RecvBundles 0; SentBundles 0; StoredBundles 0;
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://SONY available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection setup dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://SONY -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
I think, when they exchange the epidemic routing messages the errors occur.
Doesn't epidemic routing work with TCP convergence layer?
Do we need other special setting with epidemic routing?
Do you have any idea about this error?
Thanks in advance.
Best Regards,
Seung-Hun Oh
Hello,
Thanks a lot. It works now. ^^
I have another question. ^^;
I tried to send big file such as movie file (about 700 M).
but I don't see the receiving node gets it, even though the sender says " Transfer file "Movie.avi" to dtn://IBM".
How large file does ibr-dtn support? what is the maximum size it support?
Thanks in advance.
Best Regards,
Seung-hun Oh
From: Johannes Morgenroth [mailto:morgenro@ibr.cs.tu-bs.de] Sent: Monday, November 01, 2010 4:45 PM To: osh93@etri.re.kr; ibr-dtn@ibr.cs.tu-bs.de Subject: Re: Some Questions about IBR-DTN errors
Hello,
thank you for reporting this error. The bug is related to memory-based storage of bundles only. Please apply the attached patch to ibrcommon library with the following command and try again.
$ cat invalid-path-check.patch | patch -p0
Best Regards, Johannes Morgenroth
Am 01.11.2010 08:15, schrieb 오승훈:
Hello,
I have installed ibr-dtn-0.4.2 on two laptops.
I just want two dtn-nodes exchange bundles when they are connected to the same network.
The setting info is following :
- tcp convergence layger
- epidemic routing
Just one difference between them is that one of them has two network interfaces.
But, I don't think it makes any influence on the result.
The following is the log messages I've got when running two nodes.
<The first node>=========================================================
st@stvaio:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:52 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:52 2010 INFO: Local node name: dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:52 2010 INFO: DiscoveryAgent: bind to interface wlan0
Mon Nov 1 15:22:52 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:52 2010 INFO: Initializing epidemic routing module for node dtn://SONY
Mon Nov 1 15:22:52 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:52 2010 INFO: TCP ConvergenceLayer added on 192.168.0.197:4556
Mon Nov 1 15:22:52 2010 INFO: Logging module initialized. mode = 0, interval = 200
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://IBM available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://IBM -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://IBM
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://IBM received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
<The second node>=========================================================
osh93@ubuntu:~/IBR-DTN/ibrdtnd-0.4.2/etc$ dtnd -c tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: IBR-DTN daemon 0.4.2 (build 28725M)
Mon Nov 1 15:22:50 2010 INFO: Configuration: tcp.epidemic.ibrdtn
Mon Nov 1 15:22:50 2010 INFO: Local node name: dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: broadcast mode 255.255.255.255:4551
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth0
Mon Nov 1 15:22:50 2010 INFO: DiscoveryAgent: bind to interface eth1
Mon Nov 1 15:22:50 2010 INFO: Using epidemic routing extensions
Mon Nov 1 15:22:50 2010 INFO: Initializing epidemic routing module for node dtn://IBM
Mon Nov 1 15:22:50 2010 INFO: Forwarding of bundles enabled.
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 129.254.231.147:4556
Mon Nov 1 15:22:50 2010 INFO: TCP ConvergenceLayer added on 192.168.0.173:4556
Mon Nov 1 15:22:50 2010 INFO: Logging module initialized. mode = 0, interval = 200
Timestamp 341907771; CurNeighbors 0; RecvBundles 0; SentBundles 0; StoredBundles 0;
Mon Nov 1 15:22:52 2010 NOTICE: NodeEvent: Node dtn://SONY available over TCP
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection setup dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: ConnectionEvent: connection up dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleReceivedEvent: Bundle received [341907772.3] dtn://SONY -> dtn:epidemic-routing
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY stored
Mon Nov 1 15:22:52 2010 NOTICE: QueueBundleEvent: New bundle queued [341907772.3] dtn://SONY
Mon Nov 1 15:22:52 2010 NOTICE: BundleEvent: bundle [341907772.3] dtn://SONY received
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted
======================================================================
I think, when they exchange the epidemic routing messages the errors occur.
Doesn't epidemic routing work with TCP convergence layer?
Do we need other special setting with epidemic routing?
Do you have any idea about this error?
Thanks in advance.
Best Regards,
Seung-Hun Oh
Hello,
the bundle size limit in IBR-DTN is defined through the system architecture. On 32-bit plattforms the file size bound is at 2 GB. Keep in mind that, if you start the daemon without any configuration all the data is stored in memory.
Best regards, Johannes Morgenroth
Am 01.11.2010 09:55, schrieb 오승훈:
Hello,
Thanks a lot. It works now. ^^
I have another question. ^^;
I tried to send big file such as movie file (about 700 M).
but I don't see the receiving node gets it, even though the sender says "Transfer file "Movie.avi" to dtn://IBM".
How large file does ibr-dtn support? what is the maximum size it support?
Thanks in advance.
Best Regards,
Seung-hun Oh
Hello,
TCP convergence layer of IBR-DTN has been proved to be able to deliver large file (around 600 MB).
But, IBR-DTN seems to make only one bundle for one file to be sent.
If the file is not big one, it might be O.K.
What if the file size is more than 1GB?
If the connection is broken during transmitting big bundle, how can it be recovered?
Do I have to retransmit from the beginning?
From this reason, I think, fragmentation is defined in rfc.
I wonder whether IBR-DTN implements fragmentation in TCP convergence lay?
I hardly find proper source code for it.
If not, is there any reason?
Any comment will be big help for me.
Thanks in advance!
Best Regards,
Seung-Hun Oh
From: Johannes Morgenroth [mailto:morgenro@ibr.cs.tu-bs.de] Sent: Monday, November 01, 2010 9:35 PM To: osh93@etri.re.kr Cc: ibr-dtn@ibr.cs.tu-bs.de Subject: Re: Some Questions about IBR-DTN errors
Hello,
the bundle size limit in IBR-DTN is defined through the system architecture. On 32-bit plattforms the file size bound is at 2 GB. Keep in mind that, if you start the daemon without any configuration all the data is stored in memory.
Best regards, Johannes Morgenroth
Am 01.11.2010 09:55, schrieb 오승훈:
Hello,
Thanks a lot. It works now. ^^
I have another question. ^^;
I tried to send big file such as movie file (about 700 M).
but I don't see the receiving node gets it, even though the sender says " Transfer file "Movie.avi" to dtn://IBM".
How large file does ibr-dtn support? what is the maximum size it support?
Thanks in advance.
Best Regards,
Seung-hun Oh
Hello Seung-Hun Oh,
IBR-DTN currently lacks bundle fragmentation features, but is prepared to and will do this in future. The reason because it is still not implemented is, that it is difficult to use fragmentation with a duplicating routing scheme. Each bundle gets copied on each link and if there is fragmentation, you will gain much more copies. Since the only routing scheme in IBR-DTN is epidemic, using fragmentation is not a good option or should at least well-considered.
Best regards Johannes Morgenroth
Am 05.11.2010 09:04, schrieb 오승훈:
Hello,
TCP convergence layer of IBR-DTN has been proved to be able to deliver large file (around 600 MB).
But, IBR-DTN seems to make only one bundle for one file to be sent.
If the file is not big one, it might be O.K.
What if the file size is more than 1GB?
If the connection is broken during transmitting big bundle, how can it be recovered?
Do I have to retransmit from the beginning?
From this reason, I think, fragmentation is defined in rfc.
I wonder whether IBR-DTN implements fragmentation in TCP convergence lay?
I hardly find proper source code for it.
If not, is there any reason?
Any comment will be big help for me.
Thanks in advance!
Best Regards,
Seung-Hun Oh
participants (2)
-
Johannes Morgenroth
-
오승훈