[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090902201800.1dbb4988.lk-netdev@lk-netdev.nosense.org>
Date: Wed, 2 Sep 2009 20:18:00 +0930
From: Mark Smith <lk-netdev@...netdev.nosense.org>
To: wu xiaofei <lampsu@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: about packets forwarding
On Wed, 2 Sep 2009 17:03:42 +0800
wu xiaofei <lampsu@...il.com> wrote:
> Hello,
>
> I have something to ask here.
>
> The topology of the network is as follows.
> There are six Nodes (A, B, C, D, M, N).
>
> M
> |
> A
> / \
> B D
> \ /
> C
> |
> N
>
> M-A, C-N are wired links.
> A-B, B-C, A-D, D-C are wireless links.
>
> Node M wnats to communicate with node N. Because the wireless links
> are not very reliable, I want to forward the packets through A-B-C and
> A-D-C simultaneously (When Node A receives packets(from Node M) from
> its wired interface eth0, It will forward the same packets to its
> wireless interfaces wlan0 and wlan1 simultaneously) . How to implement
> this?
>
Packets being duplicated in this manner is generally considered an
error - protocols are designed to deal with it, but only as an error
robustness mechanism. In other words, it won't break anything, but
performance is very likely to suffer.
The Internet protocols are designed on the assumption of a low
possibility of packet loss (1 in 100)- they only assume each
link in the path will have an error detection mechanism (and drop them
when errors occur), but not an error correction mechanism. If the
possibility of packet loss is high (1 in 10), then it is expected that
the link layer itself will implement error detection and recovery.
You can read about the design philosophies of the Internet Protocols in
the following paper:
"The Design Philosophy of the DARPA Internet Protocols"
http://www.acm.org/sigs/sigcomm/ccr/archive/1995/jan95/ccr-9501-clark.pdf
As for your specific scenario, to increase the reliablity of the
individual wireless links, you could look into running X.25 over LAPB
over Ethernet (LAPB over Ethernet driver kernel option). LAPB adds the
error correction/recovery that's normally not present with Ethernet, and
X.25 might be necessary to be carry IP frames. According to the help
for that driver, it creates a /dev/labp0 interface, which you may then
alternatively be able to direct pppd to use, which would then allow you
to carry IP over PPP over LAPB over Ethernet, again gaining link layer
reliability below IP.
It's purely a theoretical suggestion though, as I haven't ever tried it.
Regards,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists