Introduction

The "End System Routeing Information Exchange Protocol for use in conjunction with ISO 8878" (ISO/IEC 10030) permits End systems (ESs) and SNAREs to exchange configuration and routeing information. This amendment is an enhancement to the protocol called address administration, which is concerned with design objective a) of the Introduction: "minimize the amount of a priori state information needed by ESs before they can begin to communicate with other ESs". The enhancement consists of a mechanism by which many types of ESs can obtain sufficient information to derive their own Network Addresses by means of an ISO/IEC 10030 protocol exchange. Such a mechanism would eliminate the need for those types of ESs to have any a priori state information about their own Network Layer addressing values.

Implementation of this enhancement is optional. In its absence, ESs would need to be pre‑configured with knowledge of their own Network Address. If a SNARE implements this enhancement, some or all of the ESs that use ISO/IEC 10030 to exchange routeing information with that IS may make use of the address administration mechanism; those that do not are unaffected.

Specification of Address Administration

Four new functions are required for address administration: request address by End Systems; assign address by SNAREs; record address by End Systems; and flush address by End Systems.

Adding address administration to ISO/IEC 10030 as an optional feature requires modifications to the following clauses:

0	Introduction

Add the following as a fourth entry in the first list of objectives:

"d)	how does an end System, which has not been pre-configured with its own Network Address, request the temporary assignment of a Network Entity Title (NET) and thus, derive the necessary Network Address(es), from a SNARE located on a common subnetwork.

4.2	Protocol Data Units

Add the following PDU Types to the list:

ERA PDU 	End System Request Address PDU
SAA PDU	SNARE Assign Address PDU

5	Overview of the Protocol

Add the following text as a new point c) under "The functions of the Configuration Information Subset":

"c)	to enable ESs to obtain their own Network Addresses without manual intervention."

5.2	Overview of Configuration Information

Add the following paragraph prior to the sentence beginning "The ES may also ...":

"Optionally, following acceptance of the call by the SNARE, a non-configured End System may request a NET for itself. Once it obtains this information it may derive additional Network addresses for subsequent interactions with other End Systems. However, it is not necessary or even permitted for an End System to use a NET obtained in this manner indefinitely."

8.1.4	Address Holding Time

Add this as a new clause:

"8.1.4	Address Holding Time"

This is the time for which the End System may continue to use an NET that has been assigned to it by the SNARE.

8.2.1	Connection Establishment

	Add the word "or" at the end of subclause b).

	Add the following text as a new point c).

"c)	it needs to obtain a NET when initially connecting to the subnetwork or upon expiration of the Address Holding Time value,"

8.2.2	Connection Establishment Failure Procedure

Add the following text as a new point c).

"c)	if the ES needed to obtain a NET, the time at which a further attempt is made (if any) is a local matter."

8.2.3	Data Transfer Procedure

Change the last paragraph to read as follows:

"The data transfer procedure consists of 3 parts -- address assignment, configuration notification and configuration collection. When the address assignment procedure is applicable, it shall be carried out immediately following connection establishment. When the configuration notification procedure is applicable, it shall be carried out after completion of the address assignment procedure (or immediately if the address assignment procedure is not applicable). When the configuration collection procedure is applicable, it shall be carried out after completion of the address assignment and/or configuration notification procedures (or immediately if the address assignment and configuration notification procedures are not applicable). After completion of all applicable parts, the ES shall follow the procedure for normal completion as specified in 8.3."

8.5	Address Assignment for End Systems

Add this as a new clause:

"8.5	Address assignment for End Systems

8.5.1	Request Address Function

The Request Address procedure is an optional procedure and, when implemented, its operation is controlled by the setting of the Address Holding Time parameter.

This procedure is applicable when (and only when) the following conditions are satisfied:

a)	The End System is being initially attached to the subnetwork and is not pre-configured with knowledge of its Network Address.

or

b)	The Addressing Holding Timer for this End System has expired, indicating that the ES should request a new NET."

Such a system initiates a request for a NET, following connection establishment as outlined in 8.2.1, by forwarding a single ERA PDU.

Following the ERA PDU it shall transmit an ENC PDU. It shall then wait to receive an SAA PDU followed by an SRN PDU.

After the transmission of the ERA PDU requesting the NET, and subsequent ENC PDU, if the SAA PDU has not been received within a time equal to the Response Time Parameter, the connection shall be disconnected.

8.5.2	Record Address Function

The record address function receives the SAA PDU and extracts the assigned NET from it. It starts an Address Holding Timer (see clause 8.1.4) based on the address holding time parameter contained in SAA PDU. The value "zero" is excluded as an allowable value for the AHT parameter. The assigned NET may be used as a Network address. If the End system employs more than one Network address for its operation, it may derive additional addresses from the assigned NET by using the code points provided by the "zeros" in the last octet (binary DSP format) or last two digits (decimal DSP syntax). "Using this function the NET sent to the ES in the SAA PDU shall have its last octet (binary DSP syntax) or last two digits (decimal DSP format) set to "zero" value and the ES may derive Network address(es) by changing only that last octet or two digits. (Also see new clause 11.3)."

[Note: The method of derivation is not specified in this standard.]

8.5.3	Flush Address Function

If an End System acquires a NET through the operation of the "request address" function, it must implement an Address Holding Timer associated with this NET based on the address holding time parameter contained in the SAA PDU. If the timer expires, the End System discards the NET and all derived Network addresses, and performs the "request address" function to obtain a new NET.
[Note: This ensures that NETs that have been erroneously or improperly assigned (as, for example, by a malfunctioning SNARE) will eventually be purged. To provide continuous service, the "request address" function may be performed before expiration of the AHT. When this function is used to obtain a "new" NET, it is entirely possible for the "new" one to be the same as the "old", depending on how the SNAREs have implemented their NET administrative algorithms.]

There is an additional cause to discard the NET (and derived Network addresses). This is if the ES changes its SNPA for any reason."

11.1.2	Configuration Information Procedure

Add the following paragraph immediately preceding the paragraph beginning "If a time greater than .....":

The AHT and NET Length Indicator parameters will be set to zero except for the conditions outlined in 11.3.

11.3	Assign Address by SNARE

Add this as a new clause:

11.3	Assign Address by SNARE

A SNARE maintaining the appropriate subnetwork configuration information acts on the receipt of an ERA PDU followed by an ENC PDU, by determining a NET for assignment to the End System that originated the ERA PDU. SNAREs that do not support the address administration option discard ERA PDUs.

[Note: The way in which a SNARE determines NETs according to this function is not specified. The SNARE may use any algorithm that ensures unambiguous NET assignment. That is, no NET may be assigned to more than one SNPA. The SNARE may assign the same NET if requested from the same subnetwork on separate occasions. For example, the SNARE may construct a NET based on the ERA originator's source SNPA address and local information, or maintain a manually administered database from which NET are selected according to some locally specified criterion. If more than one SNARE on a given subnetwork supports the address administration option, they must coordinate their NET assignment algorithms to ensure that all NETs are unambiguous.
Such procedures would be out of the scope of this standard. For illustrative purposes, however, a static algorithm for address distribution could be one in which each SNARE participating in address administration would be assigned a range of NETs to distribute.]

The SNARE constructs a SAA PDU, placing the newly determined NET in the appropriate field, and including an address holding time (AHT) parameter, which represents the amount of time that the End System may continue to use it. The SAA PDU, followed by an SRN PDU is forwarded to the ES. The NET has the structure and semantics of an NSAP address in which the last octet (binary DSP syntax) or two digits (decimal DSP syntax) is "zero" (See new clause 8.5.2). The AHT should be much larger than the value indicated in the Notification Required parameter. [See clause 8.1.3]

The SNARE shall not record the configuration for this End System as part of the "Assign Address" function, since the End System is not required to use the assigned NET  as a Network address. The End System configuration is recorded only via the "record configuration" function described in clause 11.1.]

12.1.3	PDU Type

Add the following PDU Type values to Table 1:

ERA PDU	00000101
SAA PDU	00010010

12.1.13	Address Holding Time

Add this as a new clause:

	12.1.13	Address Holding Time

	In SAA PDUs, this is a two-octet parameter that specifies an integral number of seconds for which the conveyed NET is valid.

12.1.4	Network Address

Insert a new paragraph  following the first paragraph:

"In the SAA PDU it specifies the Net being assigned to the ES that originated the request for a NET."

12.2.10	ERA PDU Structure

Add this as a new Clause:

12.2.10	ERA PDU Structure

The ERA PDU is formatted as shown in Figure 13:

	 Octet	
Network Layer Protocol Identifier	    1	
Version Number	    2	
PDU Type	    3	

Figure 13: ERA PDU Format

12.2.11	SAA PDU Structure

Add this as a new Clause:

12.2.11	SAA PDU Structure

The SAA PDU is formatted as shown in Figure 14:

	 Octet	
Network Layer Protocol Identifier	    1	
Version Number	    2	
PDU Type	    3	
Address Holding Time (AHT)	   4,5	
NET Length Indicator	    6	
	    7	
NET Parameter Value	 	
	     j-1	

Figure 14: SAA PDU Format

Annex B	ES Procedures when SNARE NET repository is depleted

Add this as a new Annex:

Annex B
(Informative)

ES Procedures when SNARE NET repository is depleted

If the SAA PDU contains a Length Indicator value = "zero", indicating that the SNARE has no NET code points to assign, the ES has the following options:

1.	Assign a "local" address by using either:

AFI=49 (binary DSP format) and the DSP=SNPA. 

AFI = 48 (decimal DSP format) and the DSP=SNPA

Note that "local" Network address has significance only within the subnetwork that the ES resides.

2.	If the system is connected to a CCITT Network, the ES can generate a Network Address value by using the appropriate AFI number, the appropriate CCITT address as the IDI, and any DSP value. Note that this is not a preferred method but should be viewed as a "backup" in the case where the SNARE can not allocate a NET to the ES.