Re: Action item from yesterday's meeting
Cullen Jennings <[email protected]> Sat, 27 Nov 2004 15:12:26 -0800
| Newsgroups | gmane.ietf.midcom |
|---|---|
| Message-ID | <BDCE49DA.1BFDB%[email protected]> |
I don't think I fully understand the issue yet Let's ignore FTP for a second but consider any protocol that has separated control and media channels. For example, if SIP was used to set of a MSRP IM session - it seems like this problem would happen. Am I confused? Actually I can answer that, I am confused, let me restate the questions - Can you straighten me out on how this all works? I am particularly interested in the case of SIP setting up a session of RTP and TCP sessions between endpoints. For simplicity sake, lets imagine that internal endpoint A0 is also a SIP UA that can control the middle box. On 11/26/04 2:07 PM, "Pyda Srisuresh" <[email protected]> wrote: > Juergen, > > The solution you refer to is a transparent proxy solution (even though > Clavister.com refers to it as ALG). Check out the last parapgraph in Clavister > web site which confirms that this is a proxy solution > (http://www.clavister.com/technology). > > The FTP-ALG that I am refering to is not a proxy. Unlike the proxy, the > FTP-ALG > does not terminate FTP sessions with client and server and does not inject > packets of its own. The ALG simply inspects FTP control packets and modifies > payloads containing PORT/EPRT/PASV/EPSV commands as appropriate and sets up > NAT-sessions on the NAT device. This is what NAT vendors typically do. > > I believe, what you & Martin are saying is that a) the transparent proxy > solution exists for FTP, so vendors should use the proxy solution instead of > the FTP ALG, and b) The FTP ALG example I gave cannot be used to illustrate a > problem with the midcom semantics, because it is a solved problem (proxy > solution). I disagree with this argument because what we are talking about in > this WG is not replacing ALGs with proxies, but rather use Midcom to > externalize ALG intelligence. For that reason, the FTP ALG example is a good > way to illustrate the problem with the sematics in the MIB draft. Let me see > if > I can reword the problem description differenctly. Consider the following > diagram. > > +----------+ +----------+ > | internal |A0<-->A1 +-----------+ A2<-->A3| external | > | endpoint +----- Internal -+ middlebox +- External -------+ endpoint | > | (A0) | realm +-----------+ realm | (A3) | > +----------+ +----------+ > > An application client, or an application server or a midcom agent acting as > ALG > for a given application can know the session tuples in one realm or the other. > Only the NAT middlebox knows the combined session tuples (i.e., session tuples > in either realm), as NAT sets up the translation sessions. Midcom agent can > request NAT middlebox to set up NAT sessions and learn of the translation > parameters, but it cannot know the translation parameters apriori. > > In a traditional NAT, A1 and A3 are the same. The current semantics assume > that > midcom agent knows to provide A0 & A1 (as defined above) as input for all the > PRR/PER queries. This is a reasnable assumption for traditional NAT. But, the > problem is easy to see when A0 is different from A2 and A1 is different from > A3. That is why I took the case of twice NAT and FTP-ALG for PORT command to > illustrate the problem. But, the problem is neither specific to twice-NAT nor > the FTP-ALG. You can conjure up several scenarios with a) applications that > require an ALG and a) traversing bi-directional NAT or NAT-PT or a NAT with a > combination of several types of address maps, and c) the midcom agent only > knows the session tuples in external realm(i.e., A2 & A3). You will quickly > note that assuming A0 & A1 alone as input will not be adequate for these apps. > There must be an option to select the input parameter realm. This is exactly > what I proposed. Nothing more to it. > > Incidentally, this also the issue that I believe, Bob Penfield raised in the > email dated 08/05 (You can refer the midcom archives fo rthis e-mail). Here is > an excerpt from the e-mail. > >> 2) Step 3 of the PRR (section 6.4) states that the SNMP manager sets the >> internal endpoint address components. This is correct if the signaling >> (going thru the MIDCOM client) is outbound. If the signaling is inbound, > it >> contains the external endpoint addresses. >> > What I am talking about here is the case where the signaling protocol (e.g. > SIP) carries the endpoint media addresses for a media session (e.g. in > SDP). > A SIP INVITE coming from the external network will hve SDP that contains > the > address of the external endpoint. The internal endpoint media addresses > won't be know until the 200 OK response comes from the internal endpoint. > > Hope this helps explain the problem better. > > regards, > suresh > > --- Juergen Quittek <[email protected]> wrote: > >> Suresh, >> >> --On 24.11.2004 17:33 Uhr -0800 Pyda Srisuresh wrote: >> >>> Juergen, >>> >>> If you are saying that FTP-ALG is not required, that is simply not true. >> >> I was just saying that I do not see a problem with the PORT command >> as long as PASV is available. >> >> Here is a quote from RFC 1579 written by Steve Bellovin in 1994: >> >> "Recommendation >> >> We recommend that vendors convert their FTP client programs >> (including FTP proxy agents such as Gopher [3] daemons) to use PASV >> instead of PORT. There is no reason not to use it even for non- >> firewall transfers, and adopting it as standard behavior will make >> the client more useful in a firewall environment." >> >> I do not say that ftp-ALGs are not required at all. >> What I say is that enabling the PORT command across a NAT is not a >> sufficient reason for installing a ftp-ALG. >> >> This does not exclude that ftp-ALGs may be very useful for solving >> other problems. >> >> - One of them is firewall control. In a highly secured/restricted >> environment even the PASV command might need a ftp-ALG in order >> to work across a firewall. Actually, Martin and I implemented >> such an ALG two years ago. >> >> - Considering the PASV command as more secure for the client and the >> PORT command as more secure for the server, the ideal ftp-ALG >> coverts a PASV command from the client into a PORT command to the >> server as for example described at >> <http://www.clavister.com/manuals/ver8.4x/manual/ftp_alg.htm>. >> >> - Another reason for an ftp-ALG may be policy control. The ALG >> could limit ftp access to a given set of servers and/or clients. >> >> - ... and probably there are more good reasons for using ftp-ALGs. >> >>> Users have the option to use PASV command. But, they dont have to. PORT and >> EPRT >>> commands are still supported FTP commands. NAT vendors donot mandate that >> users >>> use PASV command. >>> >>> PORT command simply illustrates the problem. Demonizing PORT commnd does >> not >>> make the problem non-existant. Have a good weekend. >> >> I did not intend to demonize anything - at least no further than >> RFC 1579 did already ;-) >> >> Best regards, >> >> Juergen >> -- >> Juergen Quittek [email protected] Tel: +49 6221 90511-15 >> NEC Europe Ltd., Network Laboratories Fax: +49 6221 90511-55 >> Kurfuersten-Anlage 36, 69115 Heidelberg, Germany http://www.netlab.nec.de >> >> >>> regards, >>> suresh >>> >>> --- Juergen Quittek <[email protected]> wrote: >>> >>>> Suresh, >>>> >>>> --On 24.11.2004 8:37 Uhr -0800 Pyda Srisuresh wrote: >>>> >>>>> Martin, >>>>> >>>>> Melinda suggested that I come up with an example to illustrate that the >>>> current >>>>> sematics and MIB is problematic for certain types of NATs. I did this >> with >>>> FTP >>>>> and PORT command in twice NAT scenario. You claim the FTP example is not >>>> real. >>>>> That simply is not true. FTP is a common ALG used with NATs and is very >>>> real. >>>>> That you dont like the FTP ALG would not make the problem go away. There >> is >>>> a >>>>> real problem with the MIB, the way it is. And, there is a simple fix to >> it. >>>>> >>>>> Hope you understand. Thanks. >>>> >>>> I do understand that you solve the problem of ftp using the PORT command. >>>> But you are solving a problem, that has been solved already a long time >> ago. >>>> There is the ftp PASV command and every decent ftp client supports (if not >>>> prefers) it. Therefore, I still do not see a reason for changing the >>>> semantics. >>>> >>>> Thanks, >>>> >>>> Juergen >>>> -- >>>> Juergen Quittek [email protected] Tel: +49 6221 90511-15 >>>> NEC Europe Ltd., Network Laboratories Fax: +49 6221 90511-55 >>>> Kurfuersten-Anlage 36, 69115 Heidelberg, Germany >> http://www.netlab.nec.de >>>> >>>> >>>>> regards, >>>>> suresh >>>>> >>>>> --- Martin Stiemerling <[email protected]> wrote: >>>>> >>>>>> Hi Cullen, >>>>>> >>>>>> --On Dienstag, 23. November 2004 17:31 Uhr -0800 Cullen Jennings >>>>>> <[email protected]> wrote: >>>>>> >>>>>> | >>>>>> | I have not been participating closely I the group so I may have a >>>> complete >>>>>> | clueless opinion here but ... It seems that people are continuing to >>>>>> | deploy things like twice NAT, if we can make the protocol work in >> these >>>>>> | cases without causing major complexity or big issues to the protocol, >>>> why >>>>>> | wouldn't we? It seemed to me that Srisuresh was proposing that a few >>>>>> >>>>>> Just to make it clear: The MIDCOM MIB already supports twice-NATs and >> the >>>>>> semantics did so from the beginning. So in this sense there is anyway >> no >>>>>> change needed. >>>>>> >>>>>> | simple changes could make the protocol be about the same in the case >> we >>>>>> | currently have plus make it usable for a few more cases. >>>>>> >>>>>> The case presented do not represent a real case in my opinion. >>>>>> >>>>>> Martin >>>>>> >>>>>> | >>>>>> | >>>>>> | On 11/16/04 10:19 AM, "Melinda Shore" <[email protected]> wrote: >>>>>> | >>>>>> |> I'm intending to get this issue closed in the next week (or sooner, >>>>>> |> if possible). Juergen and Suresh have presented their concerns, and >>>>>> |> if there are other people who have opinions or questions or even >>>>>> |> just want to indicate how they're leaning, that would be a big help. >>>>>> |> >>>>>> |> Thanks, >>>>>> |> >>>>>> |> Melinda >>>>>> |> >>>>>> |> >>>>>> |> _______________________________________________ >>>>>> |> midcom mailing list >>>>>> |> [email protected] >>>>>> |> https://www1.ietf.org/mailman/listinfo/midcom >>>>>> | >>>>>> | >>>>>> | >>>>>> | _______________________________________________ >>>>>> | midcom mailing list >>>>>> | [email protected] >>>>>> | https://www1.ietf.org/mailman/listinfo/midcom >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> midcom mailing list >>>>>> [email protected] >>>>>> https://www1.ietf.org/mailman/listinfo/midcom >>>>>> >>>>> >>>>> >>>>> ===== >>>>> >>>>> >>>>> _______________________________________________ >>>>> midcom mailing list >>>>> [email protected] >>>>> https://www1.ietf.org/mailman/listinfo/midcom >>>> >>>> >>>> >>>> >>>> >>> >>> >>> ===== >>> >>> >>> _______________________________________________ >>> midcom mailing list >>> [email protected] >>> https://www1.ietf.org/mailman/listinfo/midcom >> >> >> >> >> > > > ===== > > > _______________________________________________ > midcom mailing list > [email protected] > https://www1.ietf.org/mailman/listinfo/midcom