55 - scope and limitations (marcelo's issue)
Jari Arkko <[email protected]> Sun, 23 Oct 2005 18:51:40 +0300
| Newsgroups | gmane.ietf.mobike |
|---|---|
| Message-ID | <[email protected]> |
Thanks again Marcelo for your comments. This is very useful. There was really a number of subissues: 1) Are multiple address pairs allowed? 2) Are unidirectional address pairs allowed? 3) Multihoming for the establishment phase v.s only later? 3b) If MOBIKE retries in establishment phase, does it vary source address? 4) Initiator vs. responder behind NAT limitations and ADDITIONAL_*_ADDR 5) Is simultaneous movement supported? 6) Are only local failures supported? I think the consensus has been that we don't want to go too much in to the reasons of why something is the way it is in this document (that's the job of the design document). However, we do need to describe the limitations. I'll first go through Marcelo's items from above and try to explain what I think the situation is. At the end I'll have suggested text for a new limitations section. 1) Are multiple address pairs allowed? Yes. Multiple pairs are allowed. Their simultaneous use for payload traffic is, however, outside the scope of the document, and would probably need extra mechanisms (e.g. ensure its different TCP streams) to work well. 2) Are unidirectional address pairs allowed? No. Explicit design decision to make things easy. 3) Multihoming for the establishment phase v.s only later? MOBIKE is for later phases only, but we can provide some guidance on what (limited) things can be done in the establishment phase. 3b) If MOBIKE retries in establishment phase, does it vary source address? It should. I'm a bit scared here to step on the area that your future enhanced RFC 3484 version will say, though. Technically, these are components; when 3484bis is available things sudddenly start working better. But I'll suggest something vague about this. 4) Initiator vs. responder behind NAT limitations and ADDITIONAL_*_ADDR This isn't an issue, really, but rather a misunderstanding of the text. There's no problem when the initiator (behind NAT) decides to use new addresses. The problem is when the responder moves; some NAT types don't allow this, and it may even be that the addresses provided for this emergency in ADDITIONAL_*_ADDRESS are internal, and not reachable by peer. I'd say no text changes. 5) Is simultaneous movement supported? No. Needs to be documented. 6) Are only local failures supported? No. MOBIKE, like SHIM6, supports both lower layers telling you that the link went away as well as experienced failures in IP communication (IKE DPD vs. SHIM6 reachability packets not getting through). Ok. So here's an attempt at some new text for Section 1.1, what used to be 3.4 Limitations: 1.1 Limitations This document focuses on the main scenario outlined above, and supports only tunnel mode. The mobility support in MOBIKE allows either party to move, but not both at the same time. This implies that MOBIKE is best suited for client - gateway or gateway - gateway applications. Two mobile clients would find it hard to use MOBIKE directly between themselves, and for such applications a gateway is recommended between the communicating clients. The multihoming support in MOBIKE allows either party to have multiple addresses. This specification does not guarantee that more than pair of such addresses can be used for payload traffic at any one time, however. This implies that load-balancing applications are out of scope in the base protocol. Similarly, due to the nature of the IKEv2 protocol and NAT considerations, MOBIKE is only guaranteed to work correctly over bidirectionally operational address pairs. That is, the same pair of addresses is used in both directions. Indeed, the protocol mechanisms used to determine reachability of the peer ensure that such a pair is in use. The MOBIKE protocol can only be used once the IKE SAs have been established. This implies that movements or additional addresses for the peer can not be discovered until a working connection to the peer has been established. This implies that the IKE SA establishment phase has limitations with regards to initial discovery of alternative addresses, unless those addresses are known in the configuration and/or DNS. For details, see Section 4.0. NATs introduce additional limitations beyond those listed above. For details, refer to Section 3.3. The base version of the MOBIKE protocol may also not cover all potential future use scenarios, such as transport mode, application to securing SCTP, or optimizations desirable in specific circumstances. Future extensions may be defined later to support additional requirements. And a new Section 4.0 between 4. and 4.1: 4.0 Addresses for the Initial IKE Exchange The initiator is responsible for finding a working pair of addresses so that the initial IKE exchange can be carried out. Any information from MOBIKE extensions will only be available later, when the exchange has progressed far enough. IKE initiator may retrieve the peer address(es) from various sources, such as the outgoing packet that triggered the IKE exchange, configuration, or DNS. Similarly, the initiator knows its own address(es). If multiple peer addresses are known, the initiator SHOULD vary the destination address in retranmissions, in case the address used in the first attempt is inoperational. Similarly, if these addresses do not appear to respond, the initiator MAY vary the source address it uses for itself, in case there is a problem in a particular address prefix or the failure is due to an ingress filtering problem.