* about packets forwarding [not found] ` <f4f837ab0909020127o3359ed03j224ef51a0673bcd9@mail.gmail.com> @ 2009-09-02 9:03 ` wu xiaofei 2009-09-02 10:48 ` Mark Smith 0 siblings, 1 reply; 4+ messages in thread From: wu xiaofei @ 2009-09-02 9:03 UTC (permalink / raw) To: netdev 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? -- Regards, Wu ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: about packets forwarding 2009-09-02 9:03 ` about packets forwarding wu xiaofei @ 2009-09-02 10:48 ` Mark Smith 2009-09-02 12:31 ` wu xiaofei 2009-09-02 13:14 ` Xiaofei Wu 0 siblings, 2 replies; 4+ messages in thread From: Mark Smith @ 2009-09-02 10:48 UTC (permalink / raw) To: wu xiaofei; +Cc: netdev On Wed, 2 Sep 2009 17:03:42 +0800 wu xiaofei <lampsu@gmail.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. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: about packets forwarding 2009-09-02 10:48 ` Mark Smith @ 2009-09-02 12:31 ` wu xiaofei 2009-09-02 13:14 ` Xiaofei Wu 1 sibling, 0 replies; 4+ messages in thread From: wu xiaofei @ 2009-09-02 12:31 UTC (permalink / raw) To: Mark Smith; +Cc: netdev 2009/9/2 Mark Smith <lk-netdev@lk-netdev.nosense.org>: > On Wed, 2 Sep 2009 17:03:42 +0800 > wu xiaofei <lampsu@gmail.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. > I will process the duplicated packets on node C, just forward one copy to node N. My purpose: to improve the reliablity of the wireless links, make our individual network more robust. If the path A-B-C is not available, maybe the path A-D-C is still available, so the communication between node M and node N will not be interrupted. The probability of the path A-B-C and A-D-C broken at the same time is small. > 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. > We use 802.11b/g wireless cards on our nodes. The wireless links may have varying quality in terms of packet loss, data rates, and interference. It's not very stable. It's very different from wired links. -- Wu ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: about packets forwarding 2009-09-02 10:48 ` Mark Smith 2009-09-02 12:31 ` wu xiaofei @ 2009-09-02 13:14 ` Xiaofei Wu 1 sibling, 0 replies; 4+ messages in thread From: Xiaofei Wu @ 2009-09-02 13:14 UTC (permalink / raw) To: Mark Smith; +Cc: linux netdev > 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? > ------ Stephen Hemminger <shemminger@linux-foundation.org> said, * The traffic control command 'tc filter mirred' probably does this, but not sure. * Other way to do the same thing would be iptables, not sure if there is an iptables target to mirror. ------ Can you give more information about how to implement this? ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-09-02 13:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <f4f837ab0907220706g1129a1cbv7dfad944e5bada16@mail.gmail.com>
[not found] ` <f4f837ab0909020127o3359ed03j224ef51a0673bcd9@mail.gmail.com>
2009-09-02 9:03 ` about packets forwarding wu xiaofei
2009-09-02 10:48 ` Mark Smith
2009-09-02 12:31 ` wu xiaofei
2009-09-02 13:14 ` Xiaofei Wu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox