:Re:Help with element design...(drwaings DID messed up)

Juan Luis Baptiste juancho at metallica.com
Wed Nov 14 19:18:23 EST 2001


I send it again, hope this time the drawing are ok:

Hi,

As I said before, I'm going to do some elements to complement the IPv6/IPv4
translator elements
of
Click's GT64, they are two ALG's, one for handling FTP packages and the other
one for DNS
requests.
I have in this moment two approaches for this, but I don't know wich of them
would be better to do in
click.

First of all, let me explain a little how GT64 works:
           (IPv4)                                              (IPv6)

          ---------                    -------------------
--------->| pt46  | ---------------->  |                 | ------------->
          ---------                    |                 |
                                       |                 |
          ---------                    |       APT       |
<---------| pt64  | <----------------  |                 | <-------------
          ---------                    |                 |
                                       -------------------

APT is the Address and Port Translator, it receives ipv6 packages and changes
it addresses
based
in some mappings defined in the configuration (static or dynamic), like a NAT.
pt46 is the protocol translator from ipv4 to ipv6, it translates the
ipv4/tcp/udp headers to ipv6
equivalents.
pt64 does the same thing but in the opposite direction.

The two approaches for the alg's are as follows:

         (IPv4)                                                     (IPv6)

          ---------                    -------------------
--------->| pt46  | ---------------->  |
|------------------->
          ---------                    |                  |                /\
                                       |                  |                 |
          ---------                    |        APT       |                 |
<---------| pt64  | <----------------  |                  | <-------------- |
---
          ---------        /\          |                  |                 |
                            |          --------------------                 |
                            |               |        |                      |
                            |               v        v                      |
                            |              -------------                    |
                            ---------------|    ALG    |---------------------
                                           -------------

With this approach, I would have to modify APT elements to distinguish for
FTP/DNS (based in the
source/destination
port), and distinguish if a packet is heading to a IPv6 or IPv4 network so it
can send the packet thru
the
right output, so when the alg gets it it can know to wich routing elements push
it. What I don't like
from
this one is that I got to modify APT element, and I think that is not the best
way, as the idea is to
leave
the elements unchanged.

The other approach is this:

(IPv4)
(IPv6)

---------                -------------------

-------______>
------->| pt46   | ----------->  |                 |
----------->| ALG
|______>
                        ---------                |                 |
                                                 |                 |
  <___ -------          ---------                |       APT       |
<___ | ALG | <--------| pt64   | <----------   |                 |
<-------------
        ------          ---------                |                 |
                                                 -------------------

Here, the alg's are connected after the packet translation has been done. In
the same way the ALG element
has
two push inputs and outputs that work in the same way as in the other case. I
like this one
more,
but what I don't like is that every packet has to be checked by the ALG
independently if it is a
FTP/DNS
packet or not, so I don't know if the performance would be dramatically
affected.

Well, what do you guys think?

Juan Luis
http://www.merlinux.org

________________________________________________________
Get your Private, Free E-mail from Metallica at http://mail.metallica.com/
powered by
XingMail.

Check out the Metallica Official Web Site at http://www.metallica.com




More information about the click mailing list