Network Working Group P. Tsuchiya
Request for Comments: 1326 Bellcore
May 1992
Mutual Encapsulation Considered Dangerous
Tsuchiya [Page 1]
RFC 1326 Encapsulation Dangerous May 1992
::: ::::: ::::: ::: :::
+------+ :Y :X:Y +------+ :X:Y :Y +------+ :Y +------+ | | ::: ::::: | | ::::: ::: | | ::: | | | S(Y) |-----Ra-----| |-------Rb----| |------| S(Y) | | | | | | | | | +------+ | | | | +------+
| B(X) | | B(Y) |
| | | |
::: | | ::: ::::: | | ::::: :::
+------+ X: | | X: X:Y: | | X:Y: X: +------+
| | ::: | | ::: ::::: | | ::::: ::: | |
| S(X) |------| |-----Rc------| |------Rd----| S(X) |
| | | | | | | |
+------+ | |-----Re------| | +------+
+------+ +------+
LEGEND:
Tsuchiya [Page 2]
RFC 1326 Encapsulation Dangerous May 1992
Now, assume that somehow a routing loop forms such that routers in B(Y) think that Rd is reachable via Rb, Rb thinks that Rd is reachable via Re, and routers in B(X) think that Re is reachable via Rc. (This could result as a transient condition in the routing algorithm if Rd and Re crashed at the same time.) When the initial packet from left S(X) reaches Rc, it is encapsulated with Y and sent to B(Y), which forwards it onto Rb. (The notation for this packet is Y<X>, meaning that X in encapsulated in Y.)
Tsuchiya [Page 3]
RFC 1326 Encapsulation Dangerous May 1992
It is worth noting that the current IP over AppleTalk Internet Draft does not preserve hop counts ("A Standard for the Transmission of Internet Packets Over AppleTalk Networks").
Tsuchiya [Page 4]
RFC 1326 Encapsulation Dangerous May 1992
+--------------------+
| |
| B(X) |
+------+ | +------+ | +------+
| | | | | | | |
| S(Y) |--Ra--+ Rb-| B(Y) |-Rc +--Rd--| S(Y) |
| | | | | | | |
+------+ | +------+ | +------+
| |
| |
+--------------------+
FIGURE 2: NESTED MUTUAL ENCAPSULATION