Behavior Engineering for Hindrance Avoidance (behave)
-----------------------------------------------------

Charter
Last Modified: 2007-05-10

Current Status: Active Working Group

Chair(s):
    Dan Wing  <[email protected]>

Transport Area Director(s):
    Magnus Westerlund  <[email protected]>
    Lars Eggert  <[email protected]>

Transport Area Advisor:
    Magnus Westerlund  <[email protected]>

Mailing Lists:
    General Discussion:[email protected]
    To Subscribe:      [email protected]
        In Body:       In Body: subscribe
    Archive:           http://www1.ietf.org/mail-archive/web/behave/current/index.html

Description of Working Group:

Given the current near-universal deployment of NATs (Network Address
Translators) in the public Internet, the lack of standards for NAT
behavior has given rise to a crisis. While it is widely acknowledged
that NATs create problems for numerous Internet applications, our
inability to describe precisely what a NAT is or how it behaves leaves
us few solutions for compensating for the presence of NATs.

The behavior of NATs varies dramatically from one implementation to
another. As a result it is very difficult for applications to predict
or discover the behavior of these devices. Predicting and/or
discovering the behavior of NATs is important for designing
application protocols and NAT traversal techniques that work reliably
in existing networks. This situation is especially problematic for end-
to-end interactive applications such as multiuser games and
interactive multimedia.

NATs continue to proliferate and have seen an increasing rate of
deployment. IPv6 deployments can eliminate this problem, but there is
a significant interim period in which applications will need to work
both in IPv4 NAT environments and with the IPv6 to IPv4 transition
mechanisms.

This working group proposes to generate requirements documents and best
current practices to enable NATs to function in as deterministic a
fashion as possible. It will consider what is broken by these devices
and document approaches for characterizing and testing them. The NAT
behavior practices will be application independent.

The group will also advise on how to develop applications that
discover and reliably function in environments with NATs that follow
the best current practices identified by this working group. This will
include the development of protocol-independent toolkits usable by
application protocols for NAT traversal. This will include a revision
of RFC 3489 for NAT binding discovery and a relay protocol that
focuses on security.

The work will be done with the goal of encouraging eventual migration
to IPv6 and compliance with the UNSAF [RFC 3424] considerations. It
will not encourage the proliferation of NATs.

The behavior that will be considered includes IP fragmentation and
parameters that impact ICMP, UDP, TCP, IGMP, MLD, and multicast. The
proposed WG will coordinate with v6ops, midcom and nsis. The work is
largely limited to examining various approaches that are already in
use today and providing suggestions about which ones are likely to
work best in the internet architecture.

Goals and Milestones:

  Done         Submit BCP that defines unicast UDP behavioral requirements for
               NATs to IESG

  Done         Submit a BCP that defines TCP behavioral requireents for NATs
               to IESG

  Done         Submit IPv6 relay protocol to IESG

  Mar 2007       Submit a BCP that defines ICMP behavioral requirements for NATs
               to IESG

  Mar 2007       Submit informational that discusses current NAT traversal
               techniques used by applications

  Jun 2007       Submit revision of RFC 3489 to IESG

  Jun 2007       Submit BCP that defines multicast UDP behavioral requirements
               for NATs to IESG

  Sep 2007       Submit standards-track relay protocol

  Sep 2007       Submit standards-track document that describes how an
               application can determine the type of NAT it is behind

  Sep 2007       Submit standards-track IPv6 relay protocol

  Oct 2007       Close WG or recharter


Internet-Drafts:

Posted Revised         I-D Title   <Filename>
------ ------- --------------------------------------------
Oct 2004 Mar 2007   <draft-ietf-behave-rfc3489bis-06.txt>
               Session Traversal Utilities for (NAT) (STUN)

May 2005 Jul 2007   <draft-ietf-behave-multicast-08.txt>
               IP Multicast Requirements for a Network Address (and port)
               Translator (NAT)

Feb 2006 Apr 2007   <draft-ietf-behave-tcp-07.txt>
               NAT Behavioral Requirements for TCP

Mar 2006 Mar 2007   <draft-ietf-behave-turn-03.txt>
               Obtaining Relay Addresses from Simple Traversal Underneath NAT
               (STUN)

Mar 2006 Jul 2007   <draft-ietf-behave-turn-ipv6-03.txt>
               Extension to the Simple Traversal Underneath NAT (STUN) Relay
               Usage for IPv4/IPv6 Transition

May 2006 Jul 2007   <draft-ietf-behave-nat-icmp-04.txt>
               NAT Behavioral Requirements for ICMP protocol

Oct 2006 Jul 2007   <draft-ietf-behave-p2p-state-03.txt>
               State of Peer-to-Peer(P2P) Communication Across Network Address
               Translators(NATs)

Feb 2007 Feb 2007   <draft-ietf-behave-nat-behavior-discovery-00.txt>
               NAT Behavior Discovery Using STUN

Request For Comments:

 RFC   Stat Published     Title
------- -- ----------- ------------------------------------
RFC4787BCP  Jan 2007    Network Address Translation (NAT) Behavioral
                      Requirements for Unicast UDP