About shim6

The shim6 protocol specifies a layer 3 shim approach and protocol for providing locator agility below the transport protocols, so that multihoming can be provided for IPv6 with failover and load spreading properties, without assuming that a multihomed site will have a provider independent IPv6 address prefix which is announced in the global IPv6 routing table. The hosts in a site which has multiple provider allocated IPv6 address prefixes, will use the shim6 protocol specified in this document to setup state with peer hosts, so that the state can later be used to failover to a different locator pair, should the original one stop working.

from RFC5533


About the shim6 architecture

The approach used by "Level 3 Shim for IPv6" (Shim6) is, as the name suggests, one that is based on the modification of the Internet Protocol stack element within the protocol stack of the endpoint. The modification is in the form of an additional functionality block, as indicated in Figure 1.

shim6 architecture

Above the Shim6 protocol element the protocol stack uses constant endpoint identities to refer to both itself and to the remote protocol stack. The shim layer provider a set of associations between endpoint identity pairs and locator sets.

As packets are passed from the IP Endpoint sub-layer to the IP Routing sub-layer, the endpoint identities are mapped to a current pair of locators. The reverse mapping is applied to incoming packets, where the incoming locator pair is stripped off the packet, and the associated endpoint identity pair is associated with the packet which is then passed to the IP Endpoint sub-layer. Demultiplexing the IP packet to the appropriate transport session is based on the endpoint identities. In this Shim6 approach the endpoint identities and the locators are both IP addresses. The endpoint identities are the initial addresses used between the two hosts. The locators are the set of IP addresses that are associated with the endpoint.

The intention of this approach is to minimise the amount of change required to support dynamic locator agility in the protocol stack, and support dynamic locator agility as a negotiated endpoint-to-endpoint capability. An application can initiate a session with a remote host by using an entirely conventional lookup of the host's domain name in the DNS, and open up a session with the remote endpoint using one of its addresses as the destination address. The application can continue to exchange packets with this remote host for the duration of the session by continuing to use this destination address. If the local host subsequently opens up a new session with the same remote host, the same destination address may be used, or if the local host passes a reference to a third party as a referral, the same destination address may be used. In terms of semantics and functionality this represented no change to the use of addresses a endpoint identifiers in the IPv6 architecture.

from draft-ietf-shim6-arch-00


shim6 specifications

shim6 Core Specifications

E. Nordmark, M. Bagnulo, Shim6: Level 3 Multihoming Shim Protocol for IPv6 , RFC5533

J. Arkko, I. Beijnum, Failure Detection and Locator Pair Exploration Protocol for IPv6 Multihoming, , RFC5534

M. Bagnulo, Hash Based Addresses (HBA), Internet-Draft (work in progress), RFC5535

shim6 Informational Documents

J. Abley, M. Bagnulo, Applicability Statement for the Level 3 Multihoming Shim Protocol (Shim6), Internet-Draft (work in progress), draft-ietf-shim6-applicability-03

G. Huston, Architectural Commentary on Site Multi-homing using a Level 3 Shim, Internet-Draft (work in progress), draft-ietf-shim6-arch-00

E. Nordmark, Shim6 Application Referral Issues, Internet-Draft (work in progress), draft-ietf-shim6-app-refer-00

shim6 Extensions

M. Komu, M. Bagnulo, K. Slavov, S. Sugimoto, Socket Application Program Interface (API) for Multihoming Shim, Internet-Draft (work in progress), draft-ietf-shim6-multihome-shim-api-03

M. Bagnulo, Default Locator-pair selection algorithm for the SHIM6 protocol, Internet-Draft (work in progress), draft-ietf-shim6-locator-pair-selection-02

E. Nordmark, Extended Shim6 Design for ID/loc split and Traffic Engineering, Internet-Draft (work in progress), draft-nordmark-shim6-esd-00

M. Bagnulo, Proxy Shim6 (P-Shim6), draft-bagnulo-pshim6-01

Other Related Documents

T. Aura, Cryptographically Generated Addresses (CGA), March 2005, RFC 3972

M. Bagnulo, J. Arkko, Cryptographically Generated Addresses (CGA) Extension Field Format, October, 2006, RFC 4581

C. Huitema, M. Bagnulo, Ingress filtering compatibility for IPv6 multihomed sites,Internet-Draft (Work in progress), draft-ietf-shim6-ingress-filtering-00

M. Bagnulo, Updating RFC 3484 for multihoming support, June 14, 2006, Internet-Draft (Work in progress), draft-bagnulo-rfc3484-update-00

J. Abley, B. Black, V. Gill, Goals for IPv6 Site-Multihoming Architectures, August 2003, RFC 3582

J. Abley, K. Lindqvist, E. Davies, B. Black, V. Gill, IPv4 Multihoming Practices and Limitations, July 2005, RFC 4116

G. Huston, Architectural Approaches to Multi-homing for IPv6, September 2005, RFC 4177

E. Nordmark, T. Li, Threats Relating to IPv6 Multihoming Solutions, October 2005, RFC 4218

E. Lear, Things Multihoming in IPv6 (MULTI6) Developers Should Think About, October 2005, RFC 4219



A. de la Oliva, M. Bagnulo, A. Garcia-Martinez, I. Soto, Performance Analysis of the REAchability Protocol for IPv6 Multihoming, Conference on Next Generation Teletraffic and Wired/Wireless Advanced Networking (NEW2AN 2007), September 2007 (download)

S. Barre, O. Bonaventure, Improved Path Exploration in shim6-based multihoming, SIGCOMM 2007 Workshop, IPv6 and the Future of the Internet, August 2007 (download)

M. Mekking, Formalization and Verification of the Shim6 Protocol, Master Thesis, Radboud Universiteit Nijmegen, May 2007 (download)

M. Mekking, W. Wijngaards, F. Vaandrager, T. Schouten, Formalizing Shim6, An IETF Proposed Internet Standard in UPPAAL, 2007 (download)

M. Bagnulo, A. Garcia-Martinez, A. Azcorra, Efficient Security for IPv6 Multihoming, ACM Computer Communications Review, pp 61-68. Vol. 35, n. 2, Ed: ACM Press. ISSN: 0146-4833, April 2005. (download)

M. Bagnulo, A. Garcia-Martinez, A. Azcorra, C. de Launois, An Incremental Approach to IPv6 Multihoming, Computer Communications, Volume 29, Issue 5, 6 March 2006, Pages 582-592. ISSN 0140-3664. Elsevier Eds. (download)

M. Bagnulo, A. Garcia-Martinez, J. Rodriguez, A. Azcorra, End-site routing support for IPv6 multihoming, Computer Communications, Volume 29, Issue 7, 24 April 2006, Pages 893-899 , Elsevier Eds, ISSN 0140-3664. (download)

C. de Launois, M. Bagnulo, The Paths Towards IPv6 Multihoming, IEEE Communications Surveys and Tutorials, Vol.8 No.2, 2006. (download)

G. Huston, Multi-Homing and Identity in IPv6, June 2004, The ISP Column (download)

G. Huston, Multi-Homing, May 2004, The ISP Column (download)

P. Savola, T. Chown, A survey of IPv6 site multihoming proposals, June 2005, ConTEL 2005. Proceedings of the 8th International Conference on Telecomunications, Page: 41- 48, ISBN: 953-184-081-4 (download)

P. Savola, IPv6 Site Multihoming Using a Host-based Shim Layer, 2006, International Conference on Networking, International Conference on Systems and International Conference on Mobile Communications and Learning Technologies (ICNICONSMCL'06) (download)



UCL (Universite Catholique de Louvain) shim6 implementation
Boeing OpenHIP shim6 implementation
shim6 patch for Wireshark by Matthijs Mekking (NLnet Labs)
shim6 implementation effort report at IETF 66
ETRI shim6 implementation report at IETF 66
Francis Dupont implementation of HBAs


shim6 working group
Multi6 working group
Additional multi6 working group page