All of lore.kernel.org
 help / color / mirror / Atom feed
* 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.