diff -r 000000000000 -r 2b3e5ec03512 doc/manual/cl-udp.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/manual/cl-udp.html Thu Apr 21 14:57:45 2011 +0100 @@ -0,0 +1,94 @@ + + + DTN2 Manual: UDP Convergence Layer + + + +

UDP Convergence Layer +

+ +

+The UDP Convergence Layer connects DTN nodes via a UDP channel. +A UDP channel is unreliable, but the the DTN protocols overcome +this and attempt to achieve reliable delivery of bundles +over the unreliable UDP channel. + +

+A UDP datagram is limited in size to 65507 bytes. The UDP convergence +layer adds a header of variable size (but almost always less than 1000 bytes) +to every datagram. +Because bundles are sent inside of a single UDP datagram, that +means that bundles which exceed about 64000 bytes cannot be +transmitted or received with the UDP convergence layer. + +

+Because the underlying datalink protocol (often Ethernet) rarely +supports the full size of the maximum UDP datagram, is will be broken +into fragments and reassembled at the far end. This process, like the +UDP protocol itself, has no provisions for retransmissions. As a +result, over a sufficiently lossy link UDP datgrams large enough +to trigger IP fragmentation may end up with a successful transmission +rate of 0. As a result, the practical upper limit for the size of bundles +sent via the UDP Convergence Layer is nearer to 2 to 3 times the +Maximum Transmission Unit (MTU) of the underlying medium. For +Ethernet, the MTU is 1500 bytes. + +

Interfaces and Links

+ +

Each UDP link needs to be configured on both sides. On one side, +it is configured as a passive listener (called an interface +by dtnd), and on the other side as an active session initiator (called +a link). + +

Passive Listener

+ +

The interface add command creates the passive +listener side of the session. + +

Active Initiator

+ +

The link add command creates an object in the system that +is capable of sending bundles outbound to other DTN nodes. +Depending on the state of the link, as managed by the various options +to the link command, it may or may not actually be +in use to forward bundles at a given time. + +

Options

+ +

These options can appear after the link add command, +or after the interface add command. + +

+ + + + + + +
NameTypeDefaultComment + +
local_addrIP address or a DNS hostname0.0.0.0 +(interface), -1 (link) +In the case of an interface, this is the IP address that the +server will listen on. In the case of a link, the default +ensures that the operating system choses the appropriate source +address for the connection before it is initiated. + +
local_portIP port number4556 (interface), 0 (link) +In the case of an interface, this is the UDP port that the +server will listen on. In the case of a link, changing this +setting from the default of 0 instructs the operating system to +use the given port. In general, it is better to allow the OS to +choose the source port itself. + +
remote_addrIP address or a DNS hostnameNo default. +The IP address to which this link will send datagrams. + +
remote_portIP port numberNo default. +The UDP port to which this link will send datagrams. + +
+ + + +