As per Relevance of the word hardware, we have this rfc below:











Network Working Group T.
Request for Comments: 1294 C.
Wellfleet Communications, Inc
A.
BBN
January 1992

Multiprotocol Interconnect over Frame

1. Status of this

This RFC specifies an IAB standards track protocol for the
community, and requests discussion and suggestions for improvements
Please refer to the current edition of the "IAB Official
Standards" for the standardization state and status of this protocol
Distribution of this memo is unlimited

2.

This memo describes an encapsulation method for carrying
interconnect traffic over a Frame Relay backbone. It covers
of both Bridging and Routing. Systems with the ability to
both this encapsulation method, and others must have a
knowledge of which virtual circuits will carry which
method and this encapsulation must only be used over virtual
that have been explicitly configured for its use

3.

Comments and contributions from many sources, especially those
Ray Samora of Proteon, Ken Rehbehn of Netrix Corporation, Fred
and Charles Carvalho of Advanced Computer Communications and
Sherif of AT&T have been incorporated into this document.
thanks to Dory Leifer of University of Michigan for his
to the resolution of fragmentation issues. This document could
have been completed without the expertise of the IP over Large
Data Networks working group of the IETF

4.

The following language conventions are used in the items
specification in this document

o Must, Shall or Mandatory -- the item is an
requirement of the specification

o Should or Recommended -- the item should generally
followed for all but exceptional circumstances



Bradley, Brown, Malis [Page 1]

RFC 1294 Multiprotocol over Frame Relay January 1992


o May or Optional -- the item is truly optional and may
followed or ignored according to the needs of
implementor

5.

The following discussion applies to those devices which serve as
stations (DTEs) on a public or private Frame Relay network (
example, provided by a common carrier or PTT). It will not
the behavior of those stations that are considered a part of
Frame Relay network (DCEs) other than to explain situations in
the DTE must react

The Frame Relay network provides a number of virtual circuits
form the basis for connections between stations attached to the
Frame Relay network. The resulting set of interconnected
forms a private Frame Relay group which may be either
interconnected with a complete "mesh" of virtual circuits, or
partially interconnected. In either case, each virtual circuit
uniquely identified at each Frame Relay interface by a Data
Connection Identifier (DLCI). In most circumstances DLCIs
strictly local significance at each Frame Relay interface

The specifications in this document are intended to apply to
switched and permanent virtual circuits

6. Frame

All protocols must encapsulate their packets within a Q.922 Annex
frame [1,2]. Additionally, frames shall contain
necessary to identify the protocol carried within the Protocol
Unit (PDU), thus allowing the receiver to properly process
incoming packet. The format shall be as follows


















Bradley, Brown, Malis [Page 2]

RFC 1294 Multiprotocol over Frame Relay January 1992


+-----------------------------+
| flag (7E hexadecimal) |
+-----------------------------+
| Q.922 Address* |
+-- --+
| |
+-----------------------------+
| Control (UI = 0x03) |
+-----------------------------+
| Optional Pad(s) (0x00) |
+-----------------------------+
| NLPID |
+-----------------------------+
| . |
| . |
| . |
| Data |
| . |
| . |
+-----------------------------+
| Frame Check Sequence |
+-- . --+
| (two octets) |
+-----------------------------+
| flag (7E hexadecimal) |
+-----------------------------+

* Q.922 addresses, as presently defined, are two octets
contain a 10-bit DLCI. In some networks Q.922 addresses
optionally be increased to three or four octets

The control field is the Q.922 control field. The UI (0x03) value
used unless it is negotiated otherwise. The use of XID (0xAF
0xBF) is permitted and is discussed later

The pad field is an optional field used to align the remainder of
frame to a convenient boundary for the sender. There may be zero
more pad octets within the pad field and all must have a value
zero

The Network Level Protocol ID (NLPID) field is administered by
and CCITT. It contains values for many different protocols
IP, CLNP and IEEE Subnetwork Access Protocol (SNAP)[10]. This
tells the receiver what encapsulation or what protocol follows
Values for this field are defined in ISO/IEC TR 9577 [3]. A
value of 0x00 is defined within ISO/IEC TR 9577 as the Null
Layer or Inactive Set. Since it cannot be distinguished from a
field, and because it has no significance within the context of



Bradley, Brown, Malis [Page 3]

RFC 1294 Multiprotocol over Frame Relay January 1992


encapsulation scheme, a NLPID value of 0x00 is invalid under
Frame Relay encapsulation. The known NLPID values are listed in
Appendix

For full interoperability with older Frame Relay
formats, a station may implement section 15, Backward Compatibility

There is no commonly implemented maximum frame size for Frame Relay
A network must, however, support at least a 262 octet maximum
Generally, the maximum will be greater than or equal to 1600 octets
but each Frame Relay provider will specify an appropriate value
its network. A Frame Relay DTE, therefore, must allow the
acceptable frame size to be configurable

The minimum frame size allowed for Frame Relay is five octets
the opening and closing flags

7. Interconnect

There are two basic types of data packets that travel within
Frame Relay network, routed packets and bridged packets.
packets have distinct formats and therefore, must contain
indication that the destination may use to correctly interpret
contents of the frame. This indication is embedded within the
and SNAP header information

For those protocols that do not have a NLPID already assigned, it
necessary to provide a mechanism to allow easy
identification. There is a NLPID value defined indicating
presence of a SNAP header

A SNAP header is of the

+-------------------------------+
| Organizationally Unique |
+-- +---------------+
| Identifier | Protocol |
+---------------+---------------+
| Identifier |
+---------------+

All stations must be able to accept and properly interpret both
NLPID encapsulation and the SNAP header encapsulation for a
packet

The three-octet Organizationally Unique Identifier (OUI)
an organization which administers the meaning of the
Identifier (PID) which follows. Together they identify a



Bradley, Brown, Malis [Page 4]

RFC 1294 Multiprotocol over Frame Relay January 1992


protocol. Note that OUI 0x00-00-00 specifies that the following
is an EtherType

7.1. Routed

Some protocols will have an assigned NLPID, but because the
numbering space is so limited many protocols do not have a
NLPID assigned to them. When packets of such protocols are
over Frame Relay networks they are sent using the NLPID 0x80 (
indicates a SNAP follows), OUI 0x00-00-00 (which indicates
EtherType follows), and the EtherType of the protocol in use

Format of Routed
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x00-00 |
+-------------------------------+
| EtherType |
+-------------------------------+
| Protocol Data |
+-------------------------------+
| FCS |
+-------------------------------+

In the few cases when a protocol has an assigned NLPID (
appendix), 48 bits can be saved using the format below

Format of Routed NLPID
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | NLPID |
+-------------------------------+
| Protocol Data |
+-------------------------------+
| FCS |
+-------------------------------+









Bradley, Brown, Malis [Page 5]

RFC 1294 Multiprotocol over Frame Relay January 1992


In the particular case of an Internet IP datagram, the NLPID is 0xCC

Format of Routed IP
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | NLPID 0xCC |
+-------------------------------+
| IP Datagram |
+-------------------------------+
| FCS |
+-------------------------------+

7.2. Bridged

The second type of Frame Relay traffic is bridged packets.
packets are encapsulated using the NLPID value of 0x80
SNAP and the following SNAP header identifies the format of
bridged packet. The OUI value used for this encapsulation is
802.1 organization code 0x00-80-C2. The following two octets (PID
specify the form of the MAC header, which immediately follows
SNAP header. Additionally, the PID indicates whether the
FCS is preserved within the bridged frame

The 802.1 organization has reserved the following values to be
with Frame Relay

PID Values for OUI 0x00-80-C

with preserved FCS w/o preserved FCS
------------------ ----------------- ----------------
0x00-01 0x00-07 802.3/
0x00-02 0x00-08 802.4
0x00-03 0x00-09 802.5
0x00-04 0x00-0A
0x00-05 0x00-0B 802.6

In addition, the PID value 0x00-0E, when used with OUI 0x00-80-C2,
identifies Bridged Protocol Data Units (BPDUs).

A packet bridged over Frame Relay will, therefore, have one of
following formats









Bradley, Brown, Malis [Page 6]

RFC 1294 Multiprotocol over Frame Relay January 1992


Format of Bridged Ethernet/802.3
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-01 or 0x00-07 |
+-------------------------------+
| MAC destination address |
+-------------------------------+
| (remainder of MAC frame) |
+-------------------------------+
| LAN FCS (if PID is 0x00-01) |
+-------------------------------+
| FCS |
+-------------------------------+

Format of Bridged 802.4
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-02 or 0x00-08 |
+-------------------------------+
| pad 0x00 | Frame Control |
+-------------------------------+
| MAC destination address |
+-------------------------------+
| (remainder of MAC frame) |
+-------------------------------+
| LAN FCS (if PID is 0x00-02) |
+-------------------------------+
| FCS |
+-------------------------------+








Bradley, Brown, Malis [Page 7]

RFC 1294 Multiprotocol over Frame Relay January 1992


Format of Bridged 802.5
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-03 or 0x00-09 |
+-------------------------------+
| Access Control| Frame Control |
+-------------------------------+
| MAC destination address |
| . |
| . |
+-------------------------------+
| (remainder of MAC frame) |
+-------------------------------+
| LAN FCS (if PID is 0x00-03) |
| |
+-------------------------------+
| FCS |
+-------------------------------+


























Bradley, Brown, Malis [Page 8]

RFC 1294 Multiprotocol over Frame Relay January 1992


Format of Bridged FDDI
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-04 or 0x00-0A |
+-------------------------------+
| Access Control| Frame Control |
+-------------------------------+
| MAC destination address |
| . |
| . |
+-------------------------------+
| (remainder of MAC frame) |
+-------------------------------+
| LAN FCS (if PID is 0x00-04) |
| |
+-------------------------------+
| FCS |
+-------------------------------+


























Bradley, Brown, Malis [Page 9]

RFC 1294 Multiprotocol over Frame Relay January 1992


Format of Bridged 802.6
+-------------------------------+
| Q.922 Address |
| Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-05 or 0x00-0B |
+-------------------------------+
| Reserved | BEtag |
+---------------+---------------+
| BAsize |
+-------------------------------+
| MAC destination address |
+-------------------------------+
| (remainder of MAC frame) |
+-------------------------------+
| |
+- Common PDU Trailer -+
| |
+-------------------------------+
| FCS |
+-------------------------------+

The Common Protocol Data Unit (PDU) Header and Trailer
conveyed to allow pipelining at the egress bridge to an 802.6
subnetwork. Specifically, the Common PDU Header contains
BAsize field, which contains the length of the PDU. If this
is not available to the egress 802.6 bridge, then that
cannot begin to transmit the segmented PDU until it has
the entire PDU, calculated the length, and inserted the
into the BAsize field. If the field is available, the
802.6 bridge can extract the length from the BAsize field of
Common PDU Header, insert it into the corresponding field of
first segment, and immediately transmit the segment onto the 802.6
subnetwork. Thus, the bridge can begin transmitting the 802.6
before it has received the complete PDU

One should note that the Common PDU Header and Trailer of
encapsulated frame should not be simply copied to the
802.6 subnetwork because the encapsulated BEtag value may
with the previous BEtag value transmitted by that bridge







Bradley, Brown, Malis [Page 10]

RFC 1294 Multiprotocol over Frame Relay January 1992


Format of BPDU
+-------------------------------+
| Q.922 Address |
+-------------------------------+
|Control 0x03 | pad(s) 0x00 |
+-------------------------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+ --+
| OUI 0x80-C2 |
+-------------------------------+
| PID 0x00-0E |
+-------------------------------+ ----
| 802.1(d) Protocol Identifier | BPDU, as
+-------------------------------+ by 802.1(d),
| Version = 00 | BPDU Type | section 5.3
+-------------------------------+
| (remainder of BPDU) |
+-------------------------------+ ----
| FCS |
+-------------------------------+

8. Data Link Layer Parameter

Frame Relay stations may choose to support the
Identification (XID) specified in Appendix III of Q.922 [1].
XID exchange allows the following parameters to be negotiated at
initialization of a Frame Relay circuit: maximum frame size N201,
retransmission timer T200, and the maximum number of outstanding
frames K

A station may indicate its unwillingness to support acknowledged
multiple frame operation by specifying a value of zero for
maximum window size, K

If this exchange is not used, these values must be
configured by mutual agreement of Data Link Connection (DLC
endpoints, or must be defaulted to the values specified in
5.9 of Q.922:

N201: 260

K: 3 for a 16 Kbps link
7 for a 64 Kbps link
32 for a 384 Kbps link
40 for a 1.536 Mbps or above

T200: 1.5 seconds [see Q.922 for further details




Bradley, Brown, Malis [Page 11]

RFC 1294 Multiprotocol over Frame Relay January 1992


If a station supporting XID receives an XID frame, it shall
with an XID response. In processing an XID, if the remote
frame size is smaller than the local maximum, the local system
reduce the maximum size it uses over this DLC to the
specified value. Note that this shall be done before generating
response XID

The following diagram describes the use of XID to specify non-use
acknowledged mode multiple frame operation










































Bradley, Brown, Malis [Page 12]

RFC 1294 Multiprotocol over Frame Relay January 1992


Non-use of Acknowledged Mode Multiple Frame
+---------------+
| Address | (2,3 or 4 octets
| |
+---------------+
| Control 0xAF |
+---------------+
| format 0x82 |
+---------------+
| Group ID 0x80 |
+---------------+
| Group Length | (2 octets
| 0x00-0E |
+---------------+
| 0x05 | PI = Frame Size (transmit
+---------------+
| 0x02 | PL = 2
+---------------+
| Maximum | (2 octets
| Frame Size |
+---------------+
| 0x06 | PI = Frame Size (receive
+---------------+
| 0x02 | PL = 2
+---------------+
| Maximum | (2 octets
| Frame Size |
+---------------+
| 0x07 | PI = Window
+---------------+
| 0x01 | PL = 1
+---------------+
| 0x00 |
+---------------+
| 0x09 | PI = Retransmission
+---------------+
| 0x01 | PL = 1
+---------------+
| 0x00 |
+---------------+
| FCS | (2 octets
| |
+---------------+








Bradley, Brown, Malis [Page 13]

RFC 1294 Multiprotocol over Frame Relay January 1992


9. Fragmentation

Fragmentation allows the exchange of packets that are greater
the maximum frame size supported by the underlying network. In
case of Frame Relay, the network may support a maximum frame size
small as 262 octets. Because of this small maximum size, it
advantageous to support fragmentation and reassembly

Unlike IP fragmentation procedures, the scope of Frame
fragmentation procedure is limited to the boundary (or DTEs) of
Frame Relay network

The general format of fragmented packets is the same as any
encapsulated protocol. The most significant difference being
the fragmented packet will contain the encapsulation header.
is, a packet is first encapsulated (with the exception of the
and control fields) as defined above. Large packets are then
up into frames appropriate for the given Frame Relay network and
encapsulated using the Frame Relay fragmentation format. In
way, a station receiving fragments may reassemble them and then
the reassembled packet through the same processing path as a
that had not been fragmented

Within Frame Relay fragments are encapsulated using the SNAP
with an OUI of 0x00-80-C2 and a PID of 0x00-0D. Individual
will, therefore, have the following format

























Bradley, Brown, Malis [Page 14]

RFC 1294 Multiprotocol over Frame Relay January 1992


+---------------+---------------+
| Q.922 Address |
+---------------+---------------+
| Control 0x03 | pad 0x00 |
+---------------+---------------+
| NLPID 0x80 | OUI 0x00 |
+---------------+---------------+
| OUI 0x80-C2 |
+---------------+---------------+
| PID 0x00-0D |
+---------------+---------------+
| sequence number |
+---------------+---------------+
|F| RSVD |offset |
+---------------+---------------+
| fragment data |
| . |
| . |
| . |
+---------------+---------------+
| FCS |
+---------------+---------------+

The sequence field is a two octet identifier that is
every time a new complete message is fragmented. It allows
of lost frames and is set to a random value at initialization

The reserved field is 4 bits long and is not currently defined.
must be set to 0.

The final bit is a one bit field set to 1 on the last fragment
set to 0 for all other fragments

The offset field is an 11 bit value representing the logical
of this fragment in bytes divided by 32. The first fragment must
an offset of zero

The following figure shows how a large IP datagram is fragmented
Frame Relay. In this example, the complete datagram is
into two Frame Relay frames











Bradley, Brown, Malis [Page 15]

RFC 1294 Multiprotocol over Frame Relay January 1992


Frame Relay Fragmentation
+-----------+-----------+
| Q.922 Address |
+-----------+-----------+
| Ctrl 0x03 | pad 0x00 |
+-----------+-----------+
|NLPID 0x80 | OUI 0x00 |
+-----------+-----------+
| OUI 0x80-C2 |
+-----------+-----------+ +-----------+-----------+
| pad 0x00 |NLPID 0xCC | | PID 0x00-0D |
+-----------+-----------+ +-----------+-----------+
| | | sequence number n |
| | +-----------+-----------+
| | |0| RSVD |offset (0) |
| | +-----------+-----------+
| | | pad 0x00 |NLPID 0xCC |
| | +-----------+-----------+
| | | first m bytes of |
| large IP datagram | ... | IP datagram |
| | | |
| | +-----------+-----------+
| | | FCS |
| | +-----------+-----------+
| |
| | +-----------+-----------+
| | | Q.922 Address |
| | +-----------+-----------+
| | | Ctrl 0x03 | pad 0x00 |
+-----------+-----------+ +-----------+-----------+
|NLPID 0x80 | OUI 0x00 |
+-----------+-----------+
| OUI 0x80-C2 |
+-----------+-----------+
| PID 0x00-0D |
+-----------+-----------+
| sequence number n |
+-----------+-----------+
|1| RSVD |offset (m/32) |
+-----------+-----------+
| remainder of IP |
| datagram |
+-----------+-----------+
| FCS |
+-----------+-----------+

Fragments must be sent in order starting with a zero offset
ending with the final fragment. These fragments must not



Bradley, Brown, Malis [Page 16]

RFC 1294 Multiprotocol over Frame Relay January 1992


interrupted with other packets or information intended for the
DLC. An end station must be able to re-assemble up to 2K octets
is suggested to support up to 8K octet re-assembly. If at any
during this re-assembly process, a fragment is corrupted or
fragment is missing, the entire message is dropped. The upper
protocol is responsible for any retransmission in this case

This fragmentation algorithm is not intended to reliably handle
possible failure conditions. As with IP fragmentation, there is
small possibility of reassembly error and delivery of an
packet. Inclusion of a higher layer checksum greatly reduces
risk

10. Address

There are situations in which a Frame Relay station may wish
dynamically resolve a protocol address. Address resolution may
accomplished using the standard Address Resolution Protocol (ARP) [6]
encapsulated within a SNAP encoded Frame Relay packet as follows

+-----------------------+-----------------------+
| Q.922 Address |
+-----------------------+-----------------------+
| Control (UI) 0x03 | pad(s) 0x00 |
+-----------------------+-----------------------+
| NLPID = 0x80 | | SNAP
+-----------------------+ OUI = 0x00-00-00 +
| |
+-----------------------+-----------------------+
| PID = 0x0806 |
+-----------------------+-----------------------+
| ARP packet |
| . |
| . |
| . |
+-----------------------+-----------------------+















Bradley, Brown, Malis [Page 17]

RFC 1294 Multiprotocol over Frame Relay January 1992


Where the ARP packet has the following format and values

Data
ar$hrd 16 bits Hardware
ar$pro 16 bits Protocol
ar$hln 8 bits Octet length of hardware address (n
ar$pln 8 bits Octet length of protocol address (m
ar$op 16 bits Operation code (request or reply
ar$sha noctets source hardware
ar$spa moctets source protocol
ar$tha noctets target hardware
ar$tpa moctets target protocol

ar$hrd - assigned to Frame Relay is 15
(0x000F) [7].

ar$pro - see assigned numbers for protocol ID number
the protocol using ARP. (IP is 0x0800).

ar$hln - length in bytes of the address field (2, 3, or 4)

ar$pln - protocol address length is dependent on
protocol (ar$pro) (for IP ar$pln is 4).

ar$op - 1 for request and 2 for reply

ar$sha - Q.922 source hardware address, with C/R, FECN
BECN, and DE set to zero

ar$tha - Q.922 target hardware address, with C/R, FECN
BECN, and DE set to zero

Because DLCIs within most Frame Relay networks have only
significance, an end station will not have a specific DLCI
to itself. Therefore, such a station does not have an address to
into the ARP request or reply. Fortunately, the Frame Relay
does provide a method for obtaining the correct DLCIs. The
proposed for the locally addressed Frame Relay network below
work equally well for a network where DLCIs have global significance

The DLCI carried within the Frame Relay header is modified as
traverses the network. When the packet arrives at its destination
the DLCI has been set to the value that, from the standpoint of
receiving station, corresponds to the sending station. For example
in figure 1 below, if station A were to send a message to station B
it would place DLCI 50 in the Frame Relay header. When station
received this message, however, the DLCI would have been modified
the network and would appear to B as DLCI 70.



Bradley, Brown, Malis [Page 18]

RFC 1294 Multiprotocol over Frame Relay January 1992


~~~~~~~~~~~~~~~
( )
+-----+ ( ) +-----+
| |-50------(--------------------)---------70-| |
| A | ( ) | B |
| |-60-----(---------+ ) | |
+-----+ ( | ) +-----+
( | )
( | ) <---Frame
~~~~~~~~~~~~~~~~
80
|
+-----+
| |
| C |
| |
+-----+
Figure 1

Lines between stations represent data link connections (DLCs).
The numbers indicate the local DLCI associated with
connection

DLCI to Q.922 Address Table for Figure 1

DLCI (decimal) Q.922 address (hex
50 0x0C21
60 0x0CC
70 0x1061
80 0x1401

If you know about frame relay, you should understand
corrolation between DLCI and Q.922 address. For the uninitiated
the translation between DLCI and Q.922 address is based on a
byte address length using the Q.922 encoding format. The
is

8 7 6 5 4 3 2 1
+------------------------+---+--+
| DLCI (high order) |c/r|ea
+------------------------+---+--+
| DLCI (lower) |FECN|BECN|DE |EA
+--------------+----+----+---+--+

For ARP and its variants, the FECN, BECN, C/R and DE bits
assumed to be 0.

When an ARP message reaches a destination, all hardware



Bradley, Brown, Malis [Page 19]

RFC 1294 Multiprotocol over Frame Relay January 1992


will be invalid. The address found in the frame header will
however, be correct. Though it does violate the purity of layering
Frame Relay may use the address in the header as the sender
address. It should also be noted that the target hardware address
in both ARP request and reply, will also be invalid. This should
cause problems since ARP does not rely on these fields and in fact
an implementation may zero fill or ignore the target hardware
field entirely

As an example of how this address replacement scheme may work,
to figure 1. If station A (protocol address pA) wished to
the address of station B (protocol address pB), it would format
ARP request with the following values

ARP request from
ar$op 1 (request
ar$sha
ar$spa
ar$tha
ar$tpa

Because station A will not have a source address associated with it
the source hardware address field is not valid. Therefore, when
ARP packet is received, it must extract the correct address from
Frame Relay header and place it in the source hardware address field
This way, the ARP request from A will become

ARP request from A as modified by
ar$op 1 (request
ar$sha 0x1061 (DLCI 70) from Frame Relay
ar$spa
ar$tha
ar$tpa

Station B's ARP will then be able to store station A's
address and Q.922 address association correctly. Next, station
will form a reply message. Many implementations simply place
source addresses from the ARP request into the target addresses
then fills in the source addresses with its addresses. In this case
the ARP response would be

ARP response from
ar$op 2 (response
ar$sha
ar$spa
ar$tha 0x1061 (DLCI 70)
ar$tpa




Bradley, Brown, Malis [Page 20]

RFC 1294 Multiprotocol over Frame Relay January 1992


Again, the source hardware address is unknown and when the request
received, station A will extract the address from the Frame
header and place it in the source hardware address field. Therefore
the response will become

ARP response from B as modified by
ar$op 2 (response
ar$sha 0x0C21 (DLCI 50)
ar$spa
ar$tha 0x1061 (DLCI 70)
ar$tpa

Station A will now correctly recognize station B having
address pB associated with Q.922 address 0x0C21 (DLCI 50).

Reverse ARP (RARP) [8] will work in exactly the same way.
using figure 1, if we assume station C is an address server,
following RARP exchanges will occur

RARP request from A RARP request as modified by
ar$op 3 (RARP request) ar$op 3 (RARP request
ar$sha unknown ar$sha 0x1401 (DLCI 80)
ar$spa undefined ar$spa
ar$tha 0x0CC1 (DLCI 60) ar$tha 0x0CC1 (DLCI 60)
ar$tpa pC ar$tpa

Station C will then look up the protocol address corresponding
Q.922 address 0x1401 (DLCI 80) and send the RARP response

RARP response from C RARP response as modified by
ar$op 4 (RARP response) ar$op 4 (RARP response
ar$sha unknown ar$sha 0x0CC1 (DLCI 60)
ar$spa pC ar$spa
ar$tha 0x1401 (DLCI 80) ar$tha 0x1401 (DLCI 80)
ar$tpa pA ar$tpa

This means that the Frame Relay interface must only intervene in
processing of incoming packets

In the absence of suitable multicast, ARP may still be implemented
To do this, the end station simply sends a copy of the ARP
through each relevant DLC, thereby simulating a broadcast

The use of multicast addresses in a Frame Relay environment
presently under study by Frame Relay providers. At such time
the issues surrounding multicasting are resolved,
addressing may become useful in sending ARP requests and
"broadcast" messages



Bradley, Brown, Malis [Page 21]

RFC 1294 Multiprotocol over Frame Relay January 1992


Because of the inefficiencies of broadcasting in a Frame
environment, a new address resolution variation was developed. It
called Inverse ARP [11] and describes a method for resolving
protocol address when the hardware address is already known.
Frame Relay's case, the known hardware address is the DLCI.
Inverse ARP for Frame Relay follows the same pattern as ARP and
use. That is the source hardware address is inserted at
receiving station

In our example, station A may use Inverse ARP to discover
protocol address of the station associated with its DLCI 50.
Inverse ARP request would be as follows

InARP Request from A (DLCI 50)
ar$op 8 (InARP request
ar$sha
ar$spa
ar$tha 0x0C21 (DLCI 50)
ar$tpa

When Station B receives this packet, it will modify the
hardware address with the Q.922 address from the Frame Relay header
This way, the InARP request from A will become

ar$op 8 (InARP request
ar$sha 0x1061
ar$spa
ar$tha 0x0C21
ar$tpa unknown

Station B will format an Inverse ARP response and send it to
A as it would for any ARP message

11. IP over Frame

Internet Protocol [9] (IP) datagrams sent over a Frame Relay
conform to the encapsulation described previously. Within
context, IP could be encapsulated in two different ways













Bradley, Brown, Malis [Page 22]

RFC 1294 Multiprotocol over Frame Relay January 1992


1. NLPID value indicating

+-----------------------+-----------------------+
| Q.922 Address |
+-----------------------+-----------------------+
| Control (UI) 0x03 | NLPID = 0xCC |
+-----------------------+-----------------------+
| IP Packet . |
| . |
| . |
+-----------------------+-----------------------+

2. NLPID value indicating

+-----------------------+-----------------------+
| Q.922 Address |
+-----------------------+-----------------------+
| Control (UI) 0x03 | pad(s) 0x00 |
+-----------------------+-----------------------+
| NLPID = 0x80 | | SNAP
+-----------------------+ OUI = 0x00-00-00 +
| |
+-----------------------+-----------------------+
| PID = 0x0800 |
+-----------------------+-----------------------+
| IP packet |
| . |
| . |
| . |
+-----------------------+-----------------------+

Although both of these encapsulations are supported under the
definitions, it is advantageous to select only one method as
appropriate mechanism for encapsulating IP data. Therefore, IP
shall be encapsulated using the NLPID value of 0xCC indicating IP
shown in option 1 above. This (option 1) is more efficient
transmission (48 fewer bits), and is consistent with
encapsulation of IP in X.25.

12. Other Protocols over Frame

As with IP encapsulation, there are alternate ways to
various protocols within the scope of this definition. To
the conflicts, the SNAP encapsulation is only used if no NLPID
is defined for the given protocol

As an example of how this works, ISO CLNP has a NLPID defined (0x81).
Therefore, the NLPID field will indicate ISO CLNP and the data



Bradley, Brown, Malis [Page 23]

RFC 1294 Multiprotocol over Frame Relay January 1992


will follow immediately. The frame would be as follows

+----------------------+----------------------+
| Q.922 Address |
+----------------------+----------------------+
| Control (0x03) | NLPID - 0x81 (CLNP) |
+---------------------------------------------+
| CLNP packet |
| . |
| . |
+---------------------------------------------+

13. Bridging in a Frame Relay

A Frame Relay interface acting as a bridge must be able to flood
forward, and filter packets

Flooding is performed by sending the packet to all
destinations. In the Frame Relay environment this means sending
packet through each relevant DLC

To forward a packet, a bridge must be able to associate a
MAC address with a DLC. It is unreasonable and perhaps impossible
require bridges to statically configure an association of
possible destination MAC address with a DLC. Therefore, Frame
bridges must provide enough information to allow a Frame
interface to dynamically learn about foreign destinations beyond
set of Frame Relay stations

To accomplish dynamic learning, a bridged packet shall conform to
encapsulation described within section 7. In this way, the
Frame Relay interface will know to look into the bridged packet
learn the association between foreign destination and Frame
station

14. For Future

It may be desirable for the two ends of a connection to have
capability to negotiate end-to-end configuration and
parameters. The actual protocol and parameters to be negotiated
be a topic of future RFCs

15. Backward

This section is included in this RFC for completeness only. It
not intended to suggest additional requirements

Some existing Frame Relay stations use the NLPID value of 0xCE



Bradley, Brown, Malis [Page 24]

RFC 1294 Multiprotocol over Frame Relay January 1992


indicate an escape to Ethernet Packet Types as defined in the
version of the Assigned Numbers (RFC-1060) [7]. In this case,
frame will have the following format

+-----------------------------+
| Q.922 Address |
+-- --+
| |
+-----------------------------+
| Control (UI = 0x03) |
+-----------------------------+
| Optional Pad(s) (0x00) |
+-----------------------------+
| NLPID (0xCE) |
+-----------------------------+
| Ethertype |
+- -+
| |
+-----------------------------+
| . |
| . |
| Data |
| . |
| . |
+-----------------------------+
| Frame Check Sequence |
+-- . --+
| (two octets) |
+-----------------------------+

The Ethertype field is a 16-bit value used to identify a
type for the following PDU

In order to be fully interoperable with stations that use
encoding, Frame Relay stations may recognize the NLPID value of 0
and interpret the following two byte Ethertype. It is
necessary to generate this encapsulation format only to
interpret it's meaning

For example, IP encapsulated with this NLPID value will have
following format










Bradley, Brown, Malis [Page 25]

RFC 1294 Multiprotocol over Frame Relay January 1992


+-----------------------+-----------------------+
|Q.922 Address |
+-----------------------+-----------------------+
|Control (UI) 0x03 | NLPID 0xCE |
+-----------------------+-----------------------+
|Ethertype [7] 0x0800 |
+-----------------------+-----------------------+
| IP Packet |
| . |
| . |
+-----------------------+-----------------------+

16.

List of Known

0x00 Null Network Layer or Inactive
(not used with Frame Relay
0x80
0x81 ISO
0x82 ISO
0x83 ISO
0xCC Internet
0xCE EtherType - unofficial temporary

List of PIDs of OUI 00-80-C

with preserved FCS w/o preserved FCS
------------------ ----------------- --------------
0x00-01 0x00-07 802.3/
0x00-02 0x00-08 802.4
0x00-03 0x00-09 802.5
0x00-04 0x00-0A
0x00-05 0x00-0B 802.6
0x00-0D
0x00-0E

17.

[1] International Telegraph and Telephone Consultative Committee
"ISDN Data Link Layer Specification for Frame Mode
Services", CCITT Recommendation Q.922, 19 April 1991 .

[2] American National Standard For Telecommunications -
Services Digital Network - Core Aspects of Frame Protocol
Use with Frame Relay Bearer Service, ANSI T1.618-1991, 18
1991.




Bradley, Brown, Malis [Page 26]

RFC 1294 Multiprotocol over Frame Relay January 1992


[3] Information technology - Telecommunications and
Exchange between systems - Protocol Identification in
Network Layer, ISO/IEC TR 9577: 1990 (E) 1990-10-15.

[4] Baker, Fred, "Point to Point Protocol Extensions for Bridging",
Point to Point Working Group, RFC-1220, April 1991.

[5] International Standard, Information Processing Systems -
Area Networks - Logical Link Control, ISO 8802-2: 1989 (E),
Std 802.2-1989, 1989-12-31.

[6] Plummer, David C., An Ethernet Address Resolution Protocol",
RFC-826, November 1982.

[7] Reynolds, J. and Postel, J., "Assigned Numbers", RFC-1060, ISI
March 1990.

[8] Finlayson, Mann, Mogul, Theimer, "A Reverse Address
Protocol", RFC-903, Stanford University, June 1984.

[9] Postel, J. and Reynolds, J., "A Standard for the Transmission
IP Datagrams over IEEE 802 Networks", RFC-1042, ISI,
1988.

[10] IEEE, "IEEE Standard for Local and Metropolitan Area Networks
Overview and architecture", IEEE Standards 802-1990.

[11] Bradley, T., and C. Brown, "Inverse Address
Protocol", RFC-1293, Wellfleet Communications, Inc.,
1992.

18. Security

Security issues are not addressed in this memo

19. Authors'

Terry
Wellfleet Communications, Inc
15 Crosby
Bedford, MA 01730

Phone: (617) 275-2400

Email: tbradley@wellfleet.






Bradley, Brown, Malis [Page 27]

RFC 1294 Multiprotocol over Frame Relay January 1992


Caralyn
Wellfleet Communications, Inc
15 Crosby
Bedford, MA 01730

Phone: (617) 275-2400

Email: cbrown@wellfleet.


Andrew G.
BBN
150 CambridgePark
Cambridge, MA 02140

Phone: (617) 873-3419

Email: malis@bbn.

































Bradley, Brown, Malis [Page 28]







if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum