Bundling is
a general-purpose mechanism that allows communication between temporally disconnected nodes.
Imagine this is your network, with the only “permanent” links in
yellow. At some point, there’s a communication opportunity for a portion of the
network [CLICK]. This may be a deep-space communications pass or someone
walking past a kiosk in an airport, for
example.
Now, assuming the delay is low enough, nodes
1 and 2 can communicate using TCP [CLICK]
Eventually, however, that communication
session is lost [CLICK]
Later, some other portion of the network
becomes connected [CLICK]
Now nodes 2 and 3 can communicate
[CLICK] For a while…[CLICK]
And this continues [CLICK] Nodes 2 and 4 can
communicate, [CLICK] nodes 3 and 4 [CLICK]
The essence of the store-and-forward bundling
protocol is that it allows communications between
nodes for which no contemporaneous end-to-end path ever exists, such as 1 and
4. You
can think of this sort of like the persistence of vision, where first one part
of the network is illuminated [CLICK], then
another [CLICK], and another [CLICK].
Bundling provides the “memory” that
allows us to view these pieces not as disconnected islands, but as a connected
whole.
[CLICK]
You might think this is no big deal, SMTP can
sort of handle situations like this, but not well.