[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SIIT/NAT64 is similar to RSIP
[ post by non-subscriber. with the massive amount of spam, it is easy to
miss and therefore delete mis-posts. so fix subscription addresses! ]
Jun-ichiro itojun Hagino wrote:
no, the above description is incorrect.
SIIT/NAT64 environment:
For an FTP client on IPv6 only kernel (on the lefthand side of the
diagram) to be able to contact and transfer files across SIIT box,
the FTP client has to implement and understand IPv4 FTP commands,
such as PORT and PASV. this is not a normal requirement to IPv6-only
FTP client. IPv6-only FTP client normally implement EPSV/EPRT, for
protocol #2 (IPv6) only, and that's all. remember SIIT/NAT64 box will
not rewrite the payload of packets.
so, the FTP client knows about IPv4 (= outside world from the SIIT box).
this is why i call SIIT/NAT64 similar to RSIP.
NAT-PT environment:
FTP client on IPv6 only kernel (or IPv6/v4 dual stack kernel) talks
EPSV/EPRT, with protocol #2 (IPv6). NAT-PT box will translate the
content of the FTP control traffic into IPv4 ones (PORT/PASV).
therefore, FTP client is seeing IPv6 peer from FTP protocol point
of view.
itojun
SIIT/NAT64 environment
FTP client
========== AF_INET6 API
IPv6 only kernel SIIT box IPv4 FTP server
| | | |a.b.c.d
==+==============================+= =+============+==
IPv6 traffic IPv4 traffic
(::ffff:a.b.c.d)
SIIT/NAT64 environment
FTP client
========== AF_INET6 API
IPv6 only/dualstack NAT-PT box IPv4 FTP server
| | | |a.b.c.d
==+==============================+= =+============+==
IPv6 traffic IPv4 traffic
(to some fake address)
I think I now understand your problem.
What you say is true if and only if the ftp client has internal
knowledge that ::ffff:a.b.c.d is a special address that is in fact an
IPv4 address.
That is, FTP looks at it in a sockaddr_in/AF_INET and not a
sockaddr_in6/ AF_INET6
structure.
This does not have to be the case. Remove that knowledge from the
application/kernel
and then you do not need anymore PORT/PASV.
- Alain.