[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

evaluation of draft-van-beijnum-multi6-odt-00.txt



This is a short evaluation of the draft I submitted earlier today against RFC 3582 and draft-lear-multi6-things-to-think-about-00.txt.

(For those who can't wait: it's available at http://www.muada.com/drafts/draft-van-beijnum-multi6-odt-00.txt )

3.1.1 Redundancy

Well, duh. :-)

3.1.2 Load sharing

Since the solution will generally only kick in when the initially chosen path no longer works, most load sharing depends on the initally chosen path. The protocol mandates interactions that show the characteristics of the new paths when those are negotiated so load sharing when the protocol is active should be reasonable. It is possible to support multiaddress transport protocols for really great load sharing.

3.1.3 Performance

See 3.1.2. This goal is only partially met.

3.1.4 Policy

Again, this mostly comes down to the initial choice.

3.1.5 Simplicity

I think this goal is met if no IPsec is used.

3.1.6 Transport survivability

Check.

3.1.7 Impact on DNS

Check.

3.1.8 Packet filtering

The current source address selection problem must be solved in order for sessions to be established in the first place. After that, the protocol will determine which address pairs work and which don't.

3.2.1 Scalability

Check.

3.2.2 Impact on routers

A new extension header must be parsed. Otherwise no impact.

3.2.3 Impact on hosts

ODT is completely backward compatible with current IPv6 and IPv4, assuming the presence of the extension header doesn't create any problems. The additional functionality can be implemented in the host kernel or a middlebox.

3.2.4 Host-routing interaction

None.

3.2.5 Operations and management

Operations and management might be slightly more difficult because traffic flow becomes less predictable and it becomes harder or even impossible to determine which packets are part of the same session by looking at packets on the wire.

3.2.6 Cooperation between transit providers

None needed.

3.2.7 Multiple solutions

Additional ways to enable the creation of new sessions when the initally chosen address is unreachable and especially better address selection (both source and destination) are highly desirable in addition to this solution.

4 Security considerations

Security was considered. When IPsec isn't used and an attacker can monitor the packet contents in the initial packets, the attacker can redirect traffic to addresses under her control. Whether this is a materially worse threat than threats that already exist on insecure links is debatable. The fact that data flows to/from unexpected addresses may violate site or application security policies.

2.1 Routing

Routing isn't affected as the solution just makes use of the routing infrastructure without interacting with it in novel ways.

2.1.2.1 Mobility

Mobility wasn't considered. However, this solution largely solves the same problem as mobility in a similar way. As such it would be strange to implement both on the same host.

2.2.1 Does your solution provide for a split between identifiers and
      locators?

That's one way to look at it, yes.

2.2.2 What is the lifetime of a binding from an identifier to a locator?

Indefinite.

2.2.3 How is the binding updated?

The multihoming sub-layer in the IP or transport layer initiates (re)negotiation of addresses when this is deemed appropriate.

Will transport connections remain up?

Of course.

2.3.1 At what layer is your solution applied, and how?

Between the network and transport layers.

Is it applied in every packet? If so, what fields are used?

Yes. The address fields. For TCP and UDP, the checksum.

2.3.2 Why is the layer you chose the correct one?

Ask me again over beers some time.

2.3.3 Does your solution expand the size of an IP packet?

Only during the negotiation phase, sometimes.

2.3.4 Do you change the way fragmenting is handled?

No, except for middleboxes implementing the solution.

If you use a shim approach, do you fragment above or below the shim?

The shim is applied after fragmentation as this is the only way to allow implementation in a middlebox.


2.3.5 Are there any changes to ICMP error semantics?


No.

2.4.1 Please explain the relationship of your solution to DNS

Nothing new here.

2.4.2 Please explain interactions with "2-faced" DNS

The DNS must supply at least one working address to the host initiating the communication. What it does or doesn't do apart from this is of no relevance.

2.4.3 Does your solution require centralized registration?

No.

2.4.4 Have you checked for DNS circular dependencies?
2.4.5 What if a DNS server itself is multihomed?

Since the solution only kicks in when single homed operation is no longer possible, by definition applying this solution doesn't do any harm. However, using ODT with DNS introduces additional dynamics where they aren't desired without much benefit so this is discouraged.

2.4.6 What application/API changes are needed?

Applications should try the full list of available addresses. See the draft for more information.

Will old code just work with the new mechanism?

Yes.

2.4.7 Is this solution backward compatable with "old" IP version 6?

Yes.

   Does your solution impose requirements on non-multihomed/non-mobile
   hosts?

Single homed correspondents to multihomed hosts must implement the solution in order to achieve multihoming benefits for a session.

2.4.8 Is your solution backward compatable with IPv4?

Yes.

How will your mechanism interact with 6to4 gateways and IPv4 hosts?

It should be transparent. Additionally, it should be possible to rehome IPv4 sessions over IPv6 and vice versa.

2.4.9 How will your solution interact with other middleboxes?

What are the implications for firewalls?

Firewalls must be positioned such that all packets are seen by them. This is of course at odds with the redundancy requirement.

What are the interactions with NAT?

It isn't entirely impossible that the solution works with some NATs some of the time. Minor provisions have been made to allow a single homed system behind a NAT to communicate with a multihomed system.

What are the interactions with web caches?

Unknown.

2.4.10 Are there any implications for scoped addressing?

Since all addresses are validated before use, any failures that are the result of mixing addresses with different scopes should be non-fatal.

How does your mechanism interact with multicast?

Unknown.

   How does your solution interact with link-local addressing
   How does your solution interact with Son-Of-Sitelocal (whatever that
   will be)?

Mixing of address scopes isn't likely to lead to useful results. Apart from that: no problem.

2.4.11 Are there any layer 2 implications to your proposal?

No.

How will your solution handle referrals, such as those within FTP?

No change. Referrals are likely to fail after a failover. A separate solution for smarter referrals is desirable.

Are you introducing a namespace that might involve mnemonics?

No.

3. Security Considerations

   How secure should a multi6 solution be?  This is a reasonable
   question for each solution to answer.  The author opines that the
   worst case should be no worse than what we have today.  However, any
   additional risks should be clearly stated by the authors.
   Considerable time should be spent on threat analysis.  Please see [4]
   for more details.

While redirection to an attacker's address is a new attack vector, I don't believe this is a big deal: with unmodified IPv4 or IPv6 over an insecure link, an attacker can observe and disrupt traffic today as well.

Iljitsch