SHIM6 WG meeting notes from IETF 63

Geoff Huston <gih@apnic.net> Thu, 04 August 2005 06:37 UTC

Envelope-to: shim6-data@psg.com
Delivery-date: Thu, 04 Aug 2005 06:39:11 +0000
Message-Id: <6.2.1.2.2.20050804163357.024dba70@localhost>
Date: Thu, 04 Aug 2005 16:37:49 +1000
To: shim6 <shim6@psg.com>
From: Geoff Huston <gih@apnic.net>
Subject: SHIM6 WG meeting notes from IETF 63
Cc: kurt Erik Lindqvist <kurtis@kurtis.pp.se>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"

This is the draft of the notes of the SHIM6 meeting at IETF 63.

Thanks to Spencer for preparing these notes.

Are there any comments on these notes as a record of our meeting?

Thanks,

    Kurtis & Geoff

-------------------------------------------------------------------------


Site multi-homing by IPv6 Intermediation WG (shim6)

Tuesday, August 2 at 0900-1000
Wednesday, August 3 at 0900-1000
================================

CHAIRS: Geoff Huston <gih@apnic.net>
         Kurtis Lindqvist <kurtis@kurtis.pp.se>

Notes: Spencer Dawkins <spencer@mcsr-labs.org>


SUMMARY

   Initial WG meeting. There are five areas of design activity namely
   protocol, triggers, crypto-locator use, architecture and applicability.
   Initial drafts in these areas are based on the concluding design team
   work in the Multi6 Working Group

   The current status on each of these areas was presented to the Working
   Group for review.

   Next steps will be based on further refinement of five working group
   documents, using lead authors / editors assigned to each draft.

ACTIONS

   * Pekka Nikkander, John Loughney and Christian Huitema
     to prepare some initial ideas (slide pack / draft) on a bi-directional
     SHIM / ULP API that would include the ability for the ULP to
     obtain/share locator pair path info and then express a locator pair
     preference to the SHIM (i.e. keep the notion of binding sessions at the
     transport level but allow ULP signaling to include Loc Pair
     preferences to be expressed) in addition to sending the SHIM the
     trigger / heartbeat information associated with the current locator
     pair.


NOTES

1. Agenda Bashing

    - A very tight agenda.
    - no changes proposed.
    - Noted that the SHIM6 Charter discussion has already happened...

2. Review of status and proposed work areas

    Overview
       Kurtis Lindqvist

    MULTI6 drafts moving to SHIM6 (with very few changes).

      - Charter is very aggressive.

      - A lot of questions are going to pop up as we work on a protocol,
        including consideration of state management, identifier
        characteristics, locator pair detection, etc.

    Architecture
      document: draft-ietf-shim6-arch-00.txt
      Geoff Huston

      - MULTI6 architecture draft is in RFC Editor Queue now, this is trying
        to be a taxonomy as well (what layer, where identifiers are
        rewritten, etc.)

      - Includes a discussion of identities (ephemeral, persistent, etc.)
        and implications.

      - Includes a list of things that need to happen in a protocol that
        does SHIM6 - how do you set up session state? how do you know to
        re-home? what is Identity Equivalence? How do you select locators?
        How do you remove state?

          Aaron Falk: is this restoration and repair, or multi-homing? Open
          question, but this is unicast, not multicast, so assuming
          alternate paths are idle at session layer.

          Jason Shiller: has to take into account more than just restoration
          and repair - we can do load balancing in IPv4 today, for example.
          Need to get the basics right first, though. There is discussion
          about traffic engineering, but we'll need to do more.

      - Initial draft, is incomplete - add equivalent state and design
        tradeoffs, at a minimum.

      - SHIM6 is in IP layer, and is actually below things like
        fragmentation/reassembly, AH/ESP, etc.

      - SHIM6 uses "the first" locator as the identifier, but can map other
        locators to the same identifier - identifiers should be referable.

      - Need more text on maintaining state in this draft. At IP level, we
        don't have all the information that would be available at transport
        or at application levels.

      - Routing information isn't in hosts today - do site exit routers need
        to signal hosts?

      - Lots of possible triggers - what triggers are valid?

      - Vertical signaling so you know when you can release state
        information?

      - Need to make decisions about dynamic locator sets - this would
        affect a lot.

      - Are there "distinguished locators" you always use to get a session
        up?

      - Is this purely IP datagrams?

      - Next steps - review SHIM6 contributions, solicit explicit answers
        from document editors, but this draft will be active for a while.




    Protocol
      document: draft-ietf-shim6-l3shim-00.txt
                draft-ietf-shim6-functional-dec-00.txt
      Erik Nordmark

      - We will not have a distinct namespace for identifiers.

      - We will not assume that a single FQDN is a single host (could be a
        multi-host service) - we'll try multiple initial locators until one
        works. Telnet does this today, so it's at least a plausible starting
        point.

      - Make sure we minimize failure impact during session initialization.

      - Don't force every connection to set up SHIM6 state.

      - Context establishment is a four-packet exchange - looks a lot like
        HIP exchange.

      - Include DOS protection on first packet received.

      - Since these were MULTI6 drafts, changes have been editorial.

      - Several open issues  - packet formats (including demultiplexing),
        state management, packet formats for control protocol, APIs for
        advice, path maintenance and exploration protocol), etc.

      - Pick one possible starting point and work out the details.
        Alternative would be using 8-byte extension header for data packets
        after failover.

          Pekka Savola - Do we need functional decomposition document? Seems
          redundant...

          Jim Bound - If we change the upper layer identifier, we break TCP.
          A lot of this stuff is already in SCTP now. Are we going to stay
          compatible with the old APIs? SCTP is in most of our stacks now.
          Are we going to dynamically change the ULID? Erik - no, locator
          changes won't be visible to TCP (for example). It is interesting
          to wonder about what SCTP over SHIM6 looks like... We're talking
          about adding a lot of code to production stacks.

          Pekka Nikander - If we are doing something at the IP layer, let
          the session-level state still be at the transport layer. We need
          to figure out SCTP over SHIM6. Why do we need anything in the IP
          header at all? After you have a failure, you want to be able to
          undo the address-swaps at the receiver correctly.

          Christian Huitema - there is a LOT of interaction with transport
          protocols. If we are assuming there's no impact, that's probably a
          mistake. Look at what should change in transport protocol if it's
          to take advantage of SHIM6. Need to interact with TSV working
          groups.

          Iljitsch van Beijnum - there are a handful of transports and
          millions of applications, and we are already concerned about
          changing transports...

          ??? If you're hiding multiple addresses, this may be sub-optimal.

          Pekka Nikander - as an implementation option, maybe you don't re-
          write the IP addresses, you pass them unchanged to SCTP? SCTP and
          TCP interfaces may look different in the future. May also need to
          think about path congestion versus session congestion - but this
          is research.

           Christian Huitema - there was running code several years ago for
           TCP address changing - the issue was making sure you weren't
           being spoofed when the addresses change.

    Crytpo Locators
       document: draft-ietf-shim6-hba-00.txt
                 refers to draft-ietf-send-cga-06.txt
       Marcelo Bagnulo, Jari Arkko

       - Concerns are preventing hijacking and flooding attacks in
         multihomed environments - generate a set of securely established
         prefixes

       - Idea is to contain information about the set in the identifiers
         themselves

       - Using the IID bits (like CGAs) for HBAs - HBA would be a CGA
         extension

       - Includes a mechanism to add prefixes dynamically using hashes and
         PK operations.

          Dave Thaler - How does this work with temporary addresses/private
          addresses?
          response: HVA set is fixed for a given communication, but you can
          have multiple HVAs.

          Francis Dupont - IPR status of HVA?
          response: No KNOWN IPR on this :-)

    Triggers
       document: draft-ietf-shim6-reach-detect-00.txt
       Iljitsch van Beijnum

       - goals - detect failures, and route around them ...

       - note that "address pair" is a unidirectional path.

       - Ping all source/dest pairs and pick best RTT or some other metric?
         Doesn't detect unidirectional paths, doesn't scale well (M x N).

       - Need better answer, so need more complexity - detect unidirectional
         paths, stop probing when you find a reasonable path.

       - Need heuristics (this is hard work), need a lightweight protocol.

       - "CUD", similar to Neighbor Unreachability Detection, or "FBD",
         requiring bidirectional communication (if you don't see
         bidirectional communication, do full reachability exploration).

       - CUD needs ULP feedback, FBD adds packets in an otherwise idle
         direction.

       - CUD detects failure in either direction, FBD in inbound direction.

       - Several choices on granularity (host to host, locator to locator,
         ULID to ULID, etc.).

       - NATs and Firewalls - protocol may be reused for IPv4, so ... would
         like IP options for fate-sharing, but this doesn't work with
         NATs/firewalls. How important is sneaking past firewalls?

       - Security - don't want too much reachability detection, but don't
         want too little :-) Must be lightweight!

       - Combine with draft on failure detection

          John Loughney - need to clarify (on the list) how to go forward
          based on architecture draft (transport layer? etc.) -
          response: this is in the absence of session information coming
          through transports, etc. - not either/or. Transports use ULIDs,
          not locators, so the point where mapping from ULID to locator is
          at the SHIM.

          Hesham - Can you assume that all the addresses on an interface are
          reachable?
          response: This is site multi-homing, not host multi-homing, so ...
          not in the SHIM6 context.

          Spencer Dawkins - can people send info on unidrectional
          applications to the list?

          Jason Shiller - is this just reachability, or degradation? Don't
          know the answer at this time.

          Tony Hain - assuming all links are equal? Path selection may
          depend on application (short T1 or long OC-48?) - use different
          ULIDs for different applications?


    Applicability
       documents: draft-ietf-shim6-applicability-00.txt
                  draft-ietf-shim6-app-refer-00.txt
       Joe Abley (reported by Geoff Huston)

       - very short draft, mostly placeholders at this time!


3. Discussion about approach

      - Geoff looking for co-author assistance with architecture draft

       - At IP level, all paths are the same - do we need a richer set of
         choices? Need to do design work here, especially for triggers.

       - Kurtis - Please put ideas into existing drafts, not into new
         drafts!

       - Christian Huitema - transport protocols determine whether a path is
         "good enough". Do we want to do this in IP, or expose information
         to transports that do it? What if we don't have a translation layer
         at all, and transports start doing this normally?

       - Iljitsch - need to do this at some point, but don't do it now -
         it's too early.

       - Hesham - what about applications?

       - Christian - two ways to solve this problem - API to push decision
         mechanisms, or keep IP the way it is. Not the same thing at all.

       - Hesham - in addition, there's also the factor of who makes the
         decision.

       - Pekka Nikander - yes, but most of this is implementation issue, not
         protocol issue. Simulation would be good!

       - Spencer - this is like the IAB Addressing workshop in Vienna -
         every layer does everything, this is not what we really want. Need
         to be really crisp here.

       - John Loughney - NS2 is good. We're talking about policy here - need
         to work through all of this from an application point of view.

4. Additional Items:

    Interactions between Shim6 and MIPv6
      document: draft-bagnulo-shim6-mip-00.txt
      Marcelo Bagnulo

      - This draft is informational for the working group at this point.

      - Need to understand interactions (SHIM6 over MIP6).

      - BT mode forces all traffic through home agent, if there is a
        failure, so SHIM6 detects failure and uses alternative home address.
        Or change care-of addresses?

      - RO mode give you two sets of paths (optimized and un optimized
        paths). One of the paths may fail, but not the other. SHIM6 uses
        alternative locator, same issue.

      - Should SHIM6 know about HoA/CoA?

          Spencer - OK, I was hoping that when I said each layer was in
          business for itself, I was hoping that was a bounded set of
          problems...

      - Charter says, "Don't break MIP6"...

          John Loughney - which one is on top? there is no assumption at
          this point. Mailing list to resolve this.

      - Do an API before November IETF?

    L3Shim state management using Vertical layered Communication
      document: draft-you-shim6-L3Shim-state-meagement-00.txt
      You Taewan


      - TCP Slow start is needed after path switch?

      - Will propose state management in more detail - if other protocol
        layer MAY be modified, will propose specific method.

          Spencer was going to say  - TRIGTRAN answer was that new path
          could be better or worse, simpler to let TCP figure it out rather
          than try to listen to hints. Mark Allman and Joe Touch were good
          sources on this. Answer may have changed, but that's what it was
          18 months ago.