Commenting on the first issue: > On Jan 30, 2018, at 8:34 AM, Christer Holmberg <christer.holmberg@xxxxxxxxxxxx> wrote: > >> Significant Issues: >> >> A. Section 5.2: >> >> Lite implementations only utilize host candidates. A lite >> implementation MUST, for each component of each data stream, allocate >> zero or one IPv4 candidates. It MAY allocate zero or more IPv6 >> candidates, but no more than one per each IPv6 address utilized by >> the host. Since there can be no more than one IPv4 candidate per >> component of each data stream, if an ICE agent has multiple IPv4 >> addresses, it MUST choose one for allocating the candidate. If a >> host is dual-stack, it is RECOMMENDED that it allocate one IPv4 >> candidate and one global IPv6 address. With the lite implementation, >> ICE cannot be used to dynamically choose amongst candidates. >> Therefore, including more than one candidate from a particular scope >> is NOT RECOMMENDED, since only a connectivity check can truly >> determine whether to use one address or the other. >> >> I find it quite strange that the above text says there can only be single >> IPv4 >> based candidate, while for IPv6 a LITE implementation may have one >> candidate >> per IPv6 address. Isn't the LITE implication of having multiple >> candidates for >> the same address family similar? Yes, IPv6 kind of forces the need for >> dealing >> with multiple IPv6 addresses on any host. However, I can see that certain >> servers will actually be multi-homed in IPv4 and thus can in a sensible >> way >> actually have multiple IPv4 candidates, and let the clients select which >> interface has the best reachability. >> >> Can you please be explicit on what in ICE prevents things to work for >> IPv4 but >> the same case works for IPv6? > > This is text from RFC 5245. I agree it is confusing, and unfortunately I > don¡¯t have a good answer. > > I guess my approach would be to suggest that we simply remove the > restriction. In addition, there is generic text about dual-stack etc > elsewhere, > and I don¡¯t see anything ICE lite specific. > > OLD: > > "Lite implementations only utilize host candidates. A lite > implementation MUST, for each component of each data stream, allocate > zero or one IPv4 candidates. It MAY allocate zero or more IPv6 > candidates, but no more than one per each IPv6 address utilized by > the host. Since there can be no more than one IPv4 candidate per > component of each data stream, if an ICE agent has multiple IPv4 > addresses, it MUST choose one for allocating the candidate. If a > host is dual-stack, it is RECOMMENDED that it allocate one IPv4 > candidate and one global IPv6 address. With the lite implementation, > ICE cannot be used to dynamically choose amongst candidates. > Therefore, including more than one candidate from a particular scope > is NOT RECOMMENDED, since only a connectivity check can truly > determine whether to use one address or the other." > > > NEW: > > "Lite implementations only utilize host candidates. > With the lite implementation, ICE cannot be used to dynamically choose > amongst candidates. Therefore, including more than one candidate from a > particular IP address family is NOT RECOMMENDED, since only a connectivity > check can Truly determine whether to use one address or the other.” > We should avoid making non-critical changes to text that was unchanged from 5245 at this point in the process. If people think this is important to change, it needs working group discussion. This is a hazard of bis drafts—it’s really hard to tell when you are done. :-) I am guessing that the original motivation was that, since ICE-lite cannot select among candidates, you want the minimum number of candidates necessary per address family. Multiple IPv6 candidates are allowed because of the nature of IPv6. But I think if you are truly multi-homed, you probably shouldn’t be using ICE-lite. Ben.
Attachment:
signature.asc
Description: Message signed with OpenPGP