home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_s_z
/
draft-stepanek-vipre-00.txt
< prev
next >
Wrap
Text File
|
1997-09-03
|
27KB
|
685 lines
INTERNET-DRAFT James Stepanek
<draft-stepanek-vipre-00.txt> stepanek@aero.org
The Aerospace Corporation
Stephen Schwab
schwab@aero.org
Twin Sun Inc
VIPRE -- Virtual Internet Packet Relay
An Encapsulation Architecture for Unidirectional Links
March 1997
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as ``work in progress.''
To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
ftp.isi.edu (US West Coast).
Abstract
This memo describes a method of incorporating unidirectional links
into an IP network in a bidirectional mode by relaying encapsulated
IP packets over a bidirectional network.
1. Introduction
Successful incorporation of asymmetric, unidirectional satellite
links into a internetwork requires special treatment of those links.
The design of many protocols commonly used in the Internet assume the
existence of symmetrical, bidirectional links between nodes. As a
result, many of these same protocols do not work as intended over
links which are asymmetric, unidirectional, or both. Asymmetric
network topologies, for example, those which incorporate satellite
links, primarily affect protocols which use link-dependent state for
their operation. This usually occurs whenever the network needs to
treat a link as a distinct resource. Examples of this include
protocols which handle routing and group management, as well as
link-bound heuristics of transport protocols and management software.
For example, consider a host with connectivity through two
Schwab and Stepanek Expires August 1997 [Page 1]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
interfaces, in other words, a "multi-homed" host. On this host, one
interface forms the receiving end of a connection to a
unidirectional, high-bandwidth satellite link. The second interface
connects the host to a low-bandwidth, bidirectional terrestrial
network. Ideally, an internetwork in this topology makes use of the
satellite link where appropriate while still behaving much like a
common symmetrical internet.
This document describes one approach to incorporating unidirectional
satellite links into an internet--the Virtual Internet Packet Relay
(VIPRe). This document describes an architecture for incorporating
unidirectional links into an internet--reducing the problem of
unidirectional links to the more general problem of asymmetric links.
Note that while this approach was developed for use in unidirectional
satellite links, it could quite possibly be used on other types of
unidirectional links.
Before describing the details of the architecture, a couple of
alternative existing approaches are summarized for the below for the
purposes of discussion.
1.1. Terminology
For the purposes of this discussion, consider two types of network
nodes with connections to a unidirectional satellite links. "Uplink"
nodes have the ability to send data over a unidirectional link, while
"downlink" nodes have the ability to receive data from a
unidirectional link.
1.2. Split Routing
A simple, straight-forward approach modifies routing tables on the
uplink and downlink nodes. By introducing a static "split" route on
both the downlink and uplink nodes, traffic originating from downlink
and destined for uplink nodes is always sent out a bidirectional
interface. Similarly, traffic originating from a uplink host and
destined for a down link node is always sent out the unidirectional
interface. This allows some IP traffic to flow between the uplink
and downlink nodes much as it does in a "normal" internet. However,
for large networks maintaining the static "split" routes requires
significant system management. Also, protocols with bidirectional
link assumptions remain broken under this routing configuration.
1.3. Routing Protocol Modification
Another method of dealing with unidirectional links involves
modifying routing protocols to account for one-way hops. The
modified routing processes share information with each other for the
purpose of directing traffic in a "split" fashion. Essentially, this
incorporates a mechanism for "discovery" of uplink nodes by downlink
nodes, as well as a mechanism for distributing routing information
from downlink nodes back to uplink nodes directly. By handling the
problem directly, this approach offers the most general of solutions.
Schwab and Stepanek Expires August 1997 [Page 2]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
In fact in addition to routing protocols, it's expected that many
protocols require modification or extensions to remove asymmetric
links assumptions.
1.4. Virtual Packet Relays
A third approach, uses a "relay", or one-way tunnel, to transmit
packets back to the uplink node. Virtual Packet Relays, described
here in detail, attempt to make a functionally bidirectional
interface out of a unidirectional interface. To achieve this,
traffic sent out the unidirectional interface of the downlink node is
captured somewhere beneath the network layer and relayed through a
bidirectional interface on the downlink node to a bidirectional
interface on the uplink node. Once the captured data arrives at the
uplink node, it's taken out of the relay and injected into the
unidirectional interface of the uplink node where it's received as a
"normal" network packet by the uplink node.
Using a Virtual Packet Relay to deal with unidirectional links
differs slightly from the other approaches described earlier. Unlike
the "split" route approach, using a Virtual Packet Relay does not
require modification of routing table entries for attached networks.
This means packets originating on downlink nodes which are destined
for uplink nodes can be sent out the unidirectional interface of the
downlink node, as if this interface were bidirectional. For this
reason, some protocols which include bidirectional link assumptions
will operate unmodified under this architecture.
A Virtual Packet Relay provides functionality similar to "split" IP
routing, but hides the details of the one-way network from IP route
tables and routing protocols. This holds the appealing property of
allowing some existing protocols to function in this environment
without modification. However, this approach assumes that uplink and
downlink nodes are connected on a bidirectional network. It also
fails to handle the asymmetric nature of the bidirectional link it
approximates. In other words, the routing protocols in use will have
to be configured to reflect the high cost of the virtual IP hop from
receiver to uplink site.
In effect, a Virtual Packet Relay creates a virtual network over
which IP packets can flow as if there is a reverse path on the
unidirectional link. Bandwidth of this path is limited by the
underlying bandwidth of the bidirectional internet, so bandwidth
management of the reverse link is important.
Implementing a Virtual Packet Relay requires two components. On the
uplink side, a relay "server" handles unencapsulating and injection
of PDUs. On the downlink side a relay "client" handles the capture
and encapsulation of PDUs. In practice, this is accomplished with a
pair of "Split" Virtual Interfaces (SVIFs). On the server side, a
special interface exists which transmits data normally, but receives
incoming traffic from a set of one or more relays. On the client
side, another special interface exists which receives traffic
normally, but transmits outgoing traffic through a set of one or more
Schwab and Stepanek Expires August 1997 [Page 3]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
relays. Together, these two components maintain one-way flows of
encapsulated IP traffic, including two SVIFs on either side.
In this architecture, relay clients keep a list of relay servers with
which they participate, each with a set of corresponding relay
endpoints. And when a single relay client communicates with multiple
relay servers, the client must use a separate SVIF for each.
#*#
\
\
\
+----+ +---------------+
| |======>|\ |
|SVIF| | downlink node |
| |<===1==|/ |
+----+ | |
| +--relay client-+
| ^ |
+===2==>======>| +---3---> relay server
(via bidirectional network)
===> link traffic (below network layer)
---> IP traffic
Figure 1: Downlink Node Detail
#*#
/
/
/
+---------------+ +----+
| /|======>| |
| uplink node | |SVIF|
| \|<==6===| |
| | +----+
+--relay server-+ |
| | ^
-----4---->--+ +=======>===5===>|
relay client
(via bidirectional network)
===> link traffic (below network layer)
---> IP traffic
Figure 2: Uplink Node Detail
2. ICMP Relay Discovery Protocol
Before a relay client can provide a fully-functioning SVIF, it must
know the IP address of at least one functioning "endpoint" of a relay
Schwab and Stepanek Expires August 1997 [Page 4]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
corresponding to that SVIF. In other words, it must know where to
send payload packets so they arrive at the relay server for this
SVIF. One method of acquiring this knowledge involves using
configuration files to inform the relay client of all the relay
servers it needs to know about. Another possible method involves
listening to exiting protocol traffic on the unidirectional link and
deducing--based on this traffic--the addresses of suitable relay
endpoints. Since, both of these methods have drawbacks, a third
method is described here, which relies heavily upon the concepts
presented in ICMP Router Discovery [RFC1256]. Like ICMP Router
Discovery, this method introduces a new ICMP message called a "Relay
Advertisement".
In fact, the ICMP Relay Discovery process works much like ICMP Router
Discovery. If a relay server wishes to advertise its willingness to
accept relayed packets, it periodically sends Relay Advertisements on
its unidirectional link. Relay clients discover the relay endpoints
by listening for Relay Advertisements on their unidirectional link.
Like Router Advertisements, Relay Advertisement contain a "lifetime"
field. This specifies the maximum time that relay endpoints are
considered valid in the absence of further Advertisements. Relay
clients use this value to maintain a timer for each relay.
Unlike Router Advertisements, Relay Advertisements include a vector
of "relay addresses" instead of a "router addresses". They also omit
the "preference" field found in Router Advertisements. And unlike
ICMP Router Discovery's "Router Addresses", the addresses advertised
in Relay Advertisements will likely reside in different subnets or
different networks than the address(s) of the interface which
receives them.
2.1. Message Formats
ICMP Relay Advertisement Message
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num Addrs |Addr Entry Size| Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Relay Address[1] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Relay Address[2] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
| . |
IP Fields:
Schwab and Stepanek Expires August 1997 [Page 5]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
Source Address An IP address belonging to the interface
from which this message is sent.
Destination Address The configured AdvertisementAddress or the
IP address of a neighboring host.
Time-to-Live 1 if the Destination Address is an IP
multicast address; at least 1 otherwise.
ICMP Fields:
Type TBD
Code 0
Checksum The 16-bit one's complement of the one's
complement sum of the ICMP message, starting
with the ICMP Type. For computing the
checksum, the Checksum field is set to 0.
Num The number of relay endpoint addresses
advertised in this message.
Addr Entry Size The number of 32-bit words of information
per each relay address (1, in the version of
the protocol described here).
Lifetime The maximum number of seconds that the relay
addresses may be considered valid.
Relay Address[i] The addresses of the relay endpoints
advertised in this message, where i = 1..Num
Addrs.
2.2. Relay Server Specification
2.2.1. Relay Server Configuration Variables
Relay Server Configuration Variables for ICMP Relay Discovery are
analogous to the Router Configuration Variable in ICMP Router
Discovery. A relay server implementing ICMP Relay Discovery must
allow configuration of the following variables by system management.
The term "advertisement space" refers to a set of relays associated
with a single SVIF for which a relay server sends Relay Advertisement
messages. For each advertisement space, the relay server maintains
the following variables:
AdvertisementAddress
The IP destination address to be used for Relay
Advertisements sent for relays in the advertisement
space.
Schwab and Stepanek Expires August 1997 [Page 6]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
Default: 224.0.0.1 if the relay server supports IP
multicast on the SVIF interface, else 255.255.255.255
MaxAdvertisementInterval
The maximum time allowed between sending Relay
Advertisements for relays in this advertisement space,
in seconds. As in ICMP Router Discovery, this must be
no less than 4 seconds and no greater than 1800 seconds.
Default: 600 seconds
MinAdvertisementInterval
The minimum time allowed between sending multicast Relay
Advertisements from relays in the advertisement space,
in seconds. As in ICMP Router Discovery, this must be
no less than 3 seconds and no greater than
MaxAdvertisementInterval.
Default: 0.75 * MaxAdvertisementInterval
For each of its relays, the relay server's maintains the following
information:
Advertise
A flag indicating whether or not the relay is to be
advertised.
Default: TRUE
2.2.2. Relay Server Behavior
For each advertisement space with at least one relay whose Advertise
flag is TRUE, the relay server transmits periodic Relay
Advertisements, with the following values.
- In the destination address field of the IP header: the configured
AdvertisementAddress for the advertisement space.
- In the Lifetime field: the configured AdvertisementLifetime for
the advertisement space.
- In the Relay Address[i] fields: all the addresses of the relay
endpoints in the advertisement space with Advertise flags marked
TRUE.
To avoid unwanted synchronization, the interval between sending Relay
Advertisements varies randomly. Many other protocols which transmit
"periodic" messages describe why and how to achieve this, including
ICMP Router Discovery.
Schwab and Stepanek Expires August 1997 [Page 7]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
2.3. Relay Client Specification
2.3.1. Relay Client Configuration Variables
Relay Client Configuration Variables for ICMP Relay Discovery are
analogous to the Host Configuration Variable in ICMP Router
Discovery. A relay client implementing ICMP Relay Discovery must
allow configuration of the following variables by system management.
For each SVIF, a relay client maintains the following variables:
PerformRelayDiscovery
A flag indicating whether or not the relay client
performs ICMP Relay Discovery for the SVIF.
Default: TRUE
For SVIFs which will not perform ICMP Relay Discovery, the relay
client must support a configurable list of relay endpoints. The
following variables exist for each SVIF not performing ICMP Relay
Discovery.
RelayAddress
The IP address of the endpoint of the desired relay for
this SVIF.
Default: (none)
2.3.2. Message Validation by Relay Clients
Relay Advertisements are validated by relay clients in the same way
that Router Advertisements are validated by hosts--as described in
Section 5.2 of RFC 1256--except when validating Relay Advertisements,
the ICMP Addr Entry Size must be greater than or equal to 1, instead
of greater that or equal to 2.
2.3.3. Relay Client Behavior
Upon receiving and validating a Relay Advertisement, the relay client
executes the following process for each Relay Address in the
Advertisement.
- If the address does not already exist in the relay client's list
of relay addresses, it may create a new entry in the list for the
new address. The new entry contains the address along with a
timer initialized with the Lifetime value of the advertisement.
- If the address already exists in the relay client's list as a
result of a previously-received advertisement, the client resets
the timer using the Lifetime value of the advertisement.
If no Relay Advertisement are received such that the timer expires
Schwab and Stepanek Expires August 1997 [Page 8]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
for a entry created as a result of a previously received
advertisement, the client removes this entry from its list
3. Encapsulating Traffic
Once a relay client knows of one or more relay endpoints, it may
begin encapsulating captured traffic, and sending it through the
relay.
Currently, many protocols exist for the purpose of transporting
encapsulated packets. Some of these are discussed in the context of
IP mobility [RFC2002][RFC2003], point-to-point link transport
[RFC1661], security [RFC1827], and multicast routing [RFC1075]. If a
relay server does not support a protocol with "advertisements", it
must support IP in IP encapsulation using an intervening GRE
[RFC1701] header, that is, using GRE with IP as both the delivery and
payload protocol as discussed in [RFC1702] (see Figure 3).
Otherwise, the relay server must advertise the tunneling protocols it
supports. If a desired tunneling protocol supports a suitable notion
of advertisement, then these messages provide one method of uplink
discovery for Relay Clients. Alternatively, extensions to the Relay
Discovery protocol--by adding additional information the the Address
Entries of advertisements--would support use of other encapsulation
methods.
+---------------------------+
| |
| Outer IP Header |
| |
+---------------------------+
| |
| GRE Header |
| |
+---------------------------+
| |
| IP Header |
| |
+---------------------------+
| |
| |
| IP Payload |
| |
| |
+---------------------------+
Figure 3: Baseline Encapsulation Protocol
The correct choice of encapsulation protocol depends upon the nature
of network. Important considerations include security and bandwidth
management of bidirectional links, as well as the expected number of
participating downlink nodes. In addition to these considerations,
the encapsulation process itself affects several IP mechanisms.
Appendix B of [RFC1241] contains a discussion of some of the
Schwab and Stepanek Expires August 1997 [Page 9]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
implications of encapsulating IP traffic.
4. Security Considerations
RFC 1256 points out that systems can use ICMP Router Discovery to
masquerade as a default router. In a similar manner, systems can use
ICMP Relay Discovery to masquerade as a relay server. As described
in Section 7 of RFC 1256, one possible method of addressing this
problem involves adding authentication information to advertisements.
On the relay server side, the simple encapsulation method described
in this memo fails to provide relay server's with the ability to
authenticate relay clients. And since relay client transmit payload
packets entirely in the clear, potentially malicious intermediate
nodes have the ability to interpret the payload of the relay. The
protocols and architecture described in the memo were intended to
tolerate variety in choice encapsulation protocol, so where
authenticating relay clients and protecting payload transmissions are
concerns, an alternative encapsulation protocol which provides these
services may be used instead of the simple one describe here.
Security mechanisms may also reside on entities conceptually above
the relay, using the relay as it's intended, that is, as just another
IP link.
5. References
[RFC1256] S. Deering, "ICMP Router Discovery Messages", RFC 1256,
September 1991.
[RFC2002] Perkins, C., Editor, "IP Mobility Support", RFC 2002,
October 1996.
[RFC2003] C. Perkins, "IP Encapsulation within IP", RFC 2003, October
1996.
[RFC1661] W. Simpson, "The Point-to-Point Protocol (PPP)", RFC 1661,
Daydreamer, July 1994.
[RFC1827] R. Atkinoson, "IP Encapsulating Security Payload (ESP)",
RFC1827, August 1995
[RFC1075] D. Waitzman, C. Partridge, and S. Deering, "Distance
Vector Multicast Routing Protocol", RFC 1705, November 1988.
[RFC1701] Hanks, S., Li, T, Farinacci, D., and P. Traina, "Generic
Routing Encapsulation", RFC 1701, NetSmiths, Ltd., and cisco
Systems, October 1994.
[RFC1702] Hanks, S., Li, T., Farinacci, D., and P. Traina, "Generic
Routing Encapsulation over IPv4 networks", RFC 1702, NetSmiths,
Ltd., cisco Systems, October 1994.
Schwab and Stepanek Expires August 1997 [Page 10]
INTERNET-DRAFT Virtual Internet Packet Relay March 1997
[RFC1241] R. Woodburn, D. Mils, "A Scheme for an Internet
Encapsulation Protocol: Version 1", RFC 1241, July 1991.
6. Authors' Address:
James Stepanek
The Aerospace Corporation
Mail Station: 11/102
P.O. Box 92957
Los Angeles, CA 90009-2957
Phone: (310) 336-7911
EMail: stepanek@aero.org
Stephen Schwab
Twin Sun, Inc.
360 N. Sepulveda Blvd., Suite 2055
El Segundo, CA 90245
Phone: (310) 524 1800
EMail: schwab@twinsun.com
Schwab and Stepanek Expires August 1997 [Page 11]