The MPLS WG Archive[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index][Thread Index][Author Index][Subject Index] Clarification of LDP session establishment procedure
Hi,
The procedure for session establishment in Section 2.5.2 (Transport
Connection Establishment) of draft-ietf-mpls-ldp-10.txt is under
specified.
The following addition to draft-ietf-mpls-ldp-10.txt clarifies the
procedure:
* page 16 add new paragraph following step (3):
Note that when an LSR sends a Hello it selects the transport address
for its end of the session connection and uses the Hello to advertise
the address, either explicitly by including it in an optional
Transport Address TLV or implicitly by omitting the TLV and using it
as the Hello source address.
An LSR MUST advertise the same transport address in all Hellos that
advertise the same label space. This requirement ensures that two
LSRs linked by multiple Hello adjacencies using the same label spaces
play the same connection establishment role for each adjacency.
Attached below is the complete revised text for Section 2.5.2 with the
change highlighted.
Note that these additions are intended as a clarification of the
procedure, not a change to the procedure.
This clarfication will be added to draft-ietf-mpls-ldp-11.txt to be posted
shortly.
Bob
2.5.2. Transport Connection Establishment
The exchange of Hellos results in the creation of a Hello adjacency
at LSR1 that serves to bind the link (L) and the label spaces LSR1:a
and LSR2:b.
1. If LSR1 does not already have an LDP session for the exchange
of label spaces LSR1:a and LSR2:b it attempts to open a TCP
connection for a new LDP session with LSR2.
LSR1 determines the transport addresses to be used at its end
(A1) and LSR2's end (A2) of the LDP TCP connection. Address A1
is determined as follows:
a. If LSR1 uses the Transport Address optional object (TLV) in
Hello's it sends to LSR2 to advertise an address, A1 is the
address LSR1 advertises via the optional object;
b. If LSR1 does not use the Transport Address optional object,
A1 is the source address used in Hellos it sends to LSR2.
Similarly, address A2 is determined as follows:
a. If LSR2 uses the Transport Address optional object, A2 is
the address LSR2 advertises via the optional object;
b. If LSR2 does not use the Transport Address optional object,
A2 is the source address in Hellos received from LSR2.
2. LSR1 determines whether it will play the active or passive role
in session establishment by comparing addresses A1 and A2 as
unsigned integers. If A1 > A2, LSR1 plays the active role;
otherwise it is passive.
The procedure for comparing A1 and A2 as unsigned integers is:
- If A1 and A2 are not in the same address family, they are
incomparable, and no session can be established.
- Let U1 be the abstract unsigned integer obtained by
treating A1 as a sequence of bytes, where the byte which
appears earliest in the message is the most significant
byte of the integer and the byte which appears latest in
the message is the least significant byte of the integer.
Let U2 be the abstract unsigned integer obtained from A2 in
a similar manner.
- Compare U1 with U2. If U1 > U2, then A1 > A2; if U1 < U2,
then A1 < A2.
3. If LSR1 is active, it attempts to establish the LDP TCP
connection by connecting to the well-known LDP port at address
A2. If LSR1 is passive, it waits for LSR2 to establish the LDP
TCP connection to its well-known LDP port.
Note that when an LSR sends a Hello it selects the transport address ***
for its end of the session connection and uses the Hello to advertise ***
the address, either explicitly by including it in an optional ***
Transport Address TLV or implicitly by omitting the TLV and using it ***
as the Hello source address. ***
***
An LSR MUST advertise the same transport address in all Hellos that ***
advertise the same label space. This requirement ensures that two ***
LSRs linked by multiple Hello adjacencies using the same label spaces ***
play the same connection establishment role for each adjacency. ***
|
|