58
1 IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009 ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

  • Upload
    lamkien

  • View
    232

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

1IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Using LLDP as a protocol carrier

Version 1

Norman FinnCisco Systems

Page 2: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

2IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

References

This presentation is:http://www.ieee802.org/1/files/public/docs2009/ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Page 3: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

3IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Summary of LLDP

Page 4: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

4IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Purpose

The Link Layer Discovery Protocol, defined in IEEE 802.1AB-2009, is based on the Cisco Discovery Protocol (CDP), invented by Keith McCloghrie.

Its original, and still primary, purpose is:— To advertise the identity of the system and port on that system

from which the LLDPDU (LLD Protocol Data Unit) was transmitted; and

— To collect the information received in LLDPDUs and place it in a MIB, indexed by receiving port, for access by the network manager.

These two actions enable a network management application (outside the scope of IEEE 802.1) to construct a map of the connectivity of a network.

Page 5: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

5IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Extensibility

LLDP is not restricted to bridged networks. Routers, end stations, or other devices are free to use LLDP over any 802-like medium, whether physical or virtual.

LLDP is extensible, in that its information elements are encoded in independent Type Length Value (TLV) formats within the LLDPDU.

— A receiver simply skips over TLVs it doesn’t understand, and processes the TLVs it does understand;

— IEEE 802 can extend LLDP by defining new TLVs;— In fact, any entity owning an Organization Unique Identifier (OUI,

supplied by the IEEE Registration Authority) can extend LLDP by defining new TLVs.

Page 6: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

6IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

8

Discovering nearest neighbors

2

1

A 1

2 3B

72

C

A1

A2

B1

B2

B3

C2 C7

C8

Each system (A, B, C) advertises itself on each Port (1, 2, ...).

Page 7: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

7IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

8

Discovering nearest neighbors

Each system (A, B, C) advertises itself on each Port (1, 2, ...).

Each system records its information.

2

1

A 1

2 3B

72

C

A1

A2

B1

B2

B3

C2 C7

C8

C2

B1 A1

C7

C8

A2B3

B2

Page 8: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

8IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

8

Discovering nearest neighbors

Each system (A, B, C) advertises itself on each Port (1, 2, ...).

Each system records its information. Network manager collects information.

– The individual systems do not have a view of the network – only the network manager can see the whole connectivity picture.

2

1

A 1

2 3B

72

C

A1

A2

B1

B2

B3

C2 C7

C8

C2

B1 A1

C7

C8

A2B3

B2Chassis A:Port Neighbor

1 B12 C2

Chassis C:Port Neighbor

2 A27 B28 B3

Chassis B:Port Neighbor

1 A12 C73 C8

Page 9: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

9IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Multiple neighbors at different reaches

LLDP can run on multiple destination addresses. A bridge peers, or transparently relays, each address.

“Reach” of LLDP (via addressing) corresponds to L2 sublayers, so one can have multiple LLDP neighbors:

— Physical: Two Port MAC Relay (TPMR) or IP phone (B).— Non-TPMR: Provider bridge carrying an Ethernet service (C,D).— Customer: 802.1Q bridge on other side of provider network (E).— LLDP does not go any further (F).

Addresses:Nearest:Non-TPMR:Customer:

A CB D E F

Nr~TCs

Nr Nr~T

Nr~T

Nr~TCs

Nr~TCs

BCE

A C BA

DD

CC

EE

DDA

FFF

EEE

Page 10: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

10IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

I’m alone in the world.

1

A 5

B

Page 11: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

11IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

A says: I am Chassis A, Port 1, this information is good for 10 seconds, I have the end station capability, and my management address is IPv4 1.2.3.4.

B says: I am Chassis B, Port 5, this information is good for 60 seconds, I have the MAC Bridge capability, and my management address is IPv4 1.4.9.9.

1

A

5

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Page 12: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

12IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

Each device records this information in a database attached to each port, accessible via an SNMP MIB (or other management vehicle) to the network manager.

The key for each entry in the database is the System ID and Port ID of the neighboring system.

The entry has a Time To Live (TTL) that causes the entry to be deleted when the TTL ticks down to 0.

The data for each entry is all of the other TLVs in the last-received LLDPDU.

1

A

5

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (60)Cap: BridgeMgt: 1.4.9.9

Key: A/1 (10)Cap: end stn.Mgt: 1.2.3.4

Page 13: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

13IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

If anything transmitted by LLDP changes (e.g., B’s management address), then LLDP re-transmits its information to update its neighbors.

1

A

5

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (58)Cap: BridgeMgt: 1.4.9.9

Key: A/1 (8)Cap: end stn.Mgt: 1.2.3.4Chs: B Pt: 5

TTL60 Cap:BrgMgt: 1.5.0.1

Page 14: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

14IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

If anything transmitted by LLDP changes (e.g., B’s management address), then LLDP re-transmits its information to update its neighbors.

The receiver (A, here) compares the key of the LLDPDU to the keys in its database on that port.

1

A

5

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: B/5 (55)Cap: BridgeMgt: 1.4.9.9

Key: A/1 (5)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.5.0.1

Page 15: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

15IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

If anything transmitted by LLDP changes (e.g., B’s management address), then LLDP re-transmits its information to update its neighbors.

The receiver (A, here) compares the key of the LLDPDU to the keys in its database on that port.

If it finds a matching key, then the information in the LLDPDU replaces all of the information in the database.

1

A

5

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: B/5 (60)Cap: BridgeMgt: 1.5.0.1

Key: A/1 (9)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.5.0.1

Page 16: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

16IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

If the key does not match, (e.g., the name of the port changed), then LLDP assumes that it has found a new neighbor.

1

A

6

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: B/5 (60)Cap: BridgeMgt: 1.5.0.1

Key: A/1 (10)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9Chs: B Pt: 6

TTL60 Cap:BrgMgt: 1.4.9.9

Page 17: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

17IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The LLDP model of operation

If the key does not match, (e.g., the name of the port changed), then LLDP assumes that it has found a new neighbor.

The new neighbor (new key) is added to the database.This is the right behavior, because Chassis IDs and Port names seldom change; receiving a new Chassis/Port key normally means one has found an additional neighbor. There is a way to withdraw transmitted information (transmit TTL=0) if a system’s key information changes, or if it is about to shut down.

1

A

6

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: A/1 (8)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9Chs: B Pt: 6

TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (48)Cap: BridgeMgt: 1.4.9.9

Key: B/6 (60)Cap: BridgeMgt: 1.4.9.9

Page 18: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

18IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Transmission loss protection

The TTL in the database ticks down. The transmitter is expected to retransmit LLDP at a rate sufficient that, if an LLDPDU is lost in transit, another will be transmitted before the receiver’s database expires.

Normal transmission rate is one LLDPDU every 30 seconds, with a TTL value of 64 seconds, which is protects against the loss of a single LLDPDU.

1

A

6

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: A/1 (6)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (42)Cap: BridgeMgt: 1.4.9.9

Page 19: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

19IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Fast transmission mode

When a link first comes up, or when any of the transmitted data changes, LLDP goes into fast transmission mode, and transmits four LLDPDUs at 1-second intervals (all with the normal 64 second TTL).

This ensures that the neighbor sees changes to a system’s information promptly.

1

A

6

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: A/1 (7)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (40)Cap: BridgeMgt: 1.4.9.9

Page 20: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

20IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

No Acknowledgements

LLDP does not acknowledge transmissions. LLDP is not a bidirectional continuity assurance

protocol. It can be useful on links that are accidentally (or even

purposely) unidirectional.

1

A

6

BChs: A Pt: 1TTL10 Cap: StnMgt: 1.2.3.4

Key: A/1 (5)Cap: end stn.Mgt: 1.2.3.4

Chs: B Pt: 5TTL60 Cap:BrgMgt: 1.4.9.9

Key: B/5 (38)Cap: BridgeMgt: 1.4.9.9

Page 21: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

21IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

Page 22: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

22IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The Problem Opportunity

Given that:LLDP has a convenient reach.LLDP is widely implemented.TLVs can carry any kind of information.Any organization with an OUI can define new TLVs for free.Acquiring an EtherType costs money and time.

It’s easier to develop and deploy a new protocol over LLDP than to create a new protocol from scratch using an EtherType.

Good news: Using LLDP as a protocol carrier can savetime and buffer space during the bring-up of a link.

Bad news: Using LLDP as a protocol carrier can wastetime and buffer space during the bring-up of a link.

Page 23: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

23IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

Typical request/response protocol. Perhaps “X” is, “draw 20 watts via DTE Power.” Seems very simple.

A B

Does X

Page 24: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

24IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

But, what if a PDU is lost? We need a timer to resend.

A B

Does X

A B

/

Page 25: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

25IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

But, what if a PDU is lost? We need a timer to resend.

A B

Does X

A B

\

Page 26: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

26IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if the answer is, “No.” Does A ask again, later? How much later?

A B

Does X

A B

Page 27: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

27IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if the answer is, “No.” Does A ask for second-best?

A B

Does X

A B

Does Y

Page 28: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

28IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if conditions change? Do we not take advantage

of the change?

A B

Does X

A B

But, youcould, now

Page 29: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

29IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if conditions change? Do we reply at an odd time?

A B

Does X

A B

But, youcould, now

Does X

Page 30: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

30IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if conditions change? Do we add an extra message?

A B

Does X

A B

But, youcould, now

Does X

Page 31: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

31IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

There are clearly more questions:— What if my ‘Well, then, may I “Y”’ question crosses with a “Yes,

you may” answer generated by a change in circumstances?— What if I get a “Yes, you may” and I haven’t asked for anything?— What if I get a “You may ask, again” and I haven’t asked for

anything?— What if it will take me a while to figure out the answer to your

question, or to arrange things to grant your request.— What if I change my mind about wanting something just after I

send the request? Is there a “Withdraw request” request?

The answers to these questions generally boil down to:— Every request carries a request number— Every reply carries the request number triggering the reply.— Replies not matching the last-sent request are ignored.

Page 32: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

32IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

But request numbers generate a whole new set of problems because, as the bumper sticker says, “Stuff Happens.”

Devices can be reset. Operators can change configurations.

Page 33: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

33IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What if requestor is reset?

A B

Does X

A B

Does Z

A is RESET

Stops Z

Page 34: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

34IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

What does B do with out-of-order requests?

Not answering would be worsethan answering.

A B

Does X

A B

Does Z

A is RESET

Stops Z

Page 35: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

35IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

The reset problem is usually mitigated by requiring that, when a device is reset, its sequence number is set to a random number, in order to lessen the chances of an accidental sequence number collision.

A B

Does X

A B

ignored(0 != 9)

A is RESET

OK

Page 36: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

36IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Request / response protocols

But, the most important issue is, “What constitutes a request?”

In a protocol with its own PDUs, the request is the transmission of the PDU. But, we have a carrier PDU for multiple protocols.

We could transmit a TLV once, then immediately remove it, and pass the received TLV to the carried protocol as an event. But:

— That violates the LLDP model of operation, which is simply to retain the last-received body of information in the database;

— The carried protocols have to maintain their own timers, which may not be coordinated with either each other or with the existing LLDP timer, leading to extra PDU transmissions; and

— There are other protocol paradigms that are more suitable for carriage by LLDP.

Page 37: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

37IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

A model for LLDP as a protocol carrier

Page 38: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

38IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The protocol carrier model

The supported protocols peer with each other using per-protocol sets of LLDP TLVs.

The carried protocols and LLDP communicate via a standard set of state variables.

Prot 1 TLVs Prot 2 TLVs Prot 3 TLVs

LLDPOther TLVs

Protocol 1 Protocol 2 Protocol 3

Prot 3 TLVs Prot 2 TLVs Prot 1 TLVs

LLDPOther TLVs

Protocol 3 Protocol 2 Protocol 1

Chassis A Chassis B

LLDPDUs

Statevariables

Statevariables

Statevariables

Statevariables

Statevariables

Statevariables

Page 39: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

39IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The protocol carrier model

Each protocol has its own state machines. LLDP has its own state machines. A set of standard LLDP variables will connect these

state machines. (No special variables are needed for particular protocols.)

Protocol 1 state machines

LLDP state machinesvaria

bles

Page 40: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

40IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The protocol carrier model

Each protocol provides zero or more protocol-specific TLVs to LLDP for transmission.

Adding, deleting, or changing the value of any of these TLVs (signaled through LLDP variables) will trigger fast transmit mode in LLDP, to ensure delivery.

Protocol 1 state machines

Protocol 1 TLVstransmitted

LLDP state machines

varia

bles

Page 41: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

41IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The protocol carrier model

Whenever a new neighbor appears, an existing neighbor disappears, or any of the protocol-specific TLVs from a neighbor change, the carried protocol is notified via the standard LLDP variables.

Protocol 1 state machines

Protocol 1 TLVstransmitted

Neighbor AProtocol 1 TLVs

received

LLDP state machines

...Neighbor BProtocol 1 TLVs

received

varia

bles

Page 42: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

42IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

The protocol carrier model

The signals are confined to TLV value changes and neighbors appearing/disappearing.

There are no signals for actions or events such as the transmission or reception of an LLDPDU.

Protocol 1 state machines

Protocol 1 TLVstransmitted

Neighbor AProtocol 1 TLVs

received

LLDP state machines

...Neighbor BProtocol 1 TLVs

received

varia

bles

Page 43: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

43IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

Page 44: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

44IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

Typical state advertisement protocol. “W” is the reset state, perhaps “draw 10 watts via DTE

power.” LLDP is exchanging data, but LLDPDUs are not being

transmitted in response to received LLDPDUs.

A BW W

Page 45: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

45IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

Typical state advertisement protocol. Perhaps “X” is, “draw 20 watts via DTE power.” B learns A’s need, changes state, advertises state.

A BW W

X

X

Page 46: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

46IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

But, what if a PDU is lost? The existing LLDP timer triggers

a repeat LLDPDU, whether it wasreceived or not.

A B

/

A BW W

X

X

W

X

WW

X

X

Page 47: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

47IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

But, what if a PDU is lost? The existing LLDP timer triggers

a repeat LLDPDU, whether it wasreceived or not.

A B

\

A BW W

X

X

W W

X

X

Page 48: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

48IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

What if the answer is, “No.” A just has to wait.

A BA BW W

X

X

W W

Page 49: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

49IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

What if the answer is, “No.” Does A ask for second-best? A can, but not until it receives the “You want X” from B. (It will get that, because LLDP retransmits.)

A BA BW W

X

X

W W

Y

Y

Page 50: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

50IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

What if conditions change? The new state is reported, and

A gets the advantage immediately.

A B

But, youcould, now

A BW W

X

X

X

X

W W

Page 51: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

51IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

What if requestor is reset? A knows about the problem as soon as it hears from B. On B’s side, there is no problem. Similar things happen if B resets.

A B

A is RESET

A BW W

X

X

W W

XW

A doesmin(W,X)

Z

Z

Page 52: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

52IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

State advertisement protocols

Carried protocols do not need their own timers. Sequence numbers are not required, do not have to be

initialized, compared, or incremented. LLDP operates in its accustomed mode. States do have to be transmitted.

— One can think of a sequence number as an alias for the state information which is subject to getting out-of-synch with that information.

Page 53: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

53IEEE 802.1 plenary, Atlanta, Georgia, USA, November, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

Page 54: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

54IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

If the number of LLDPDUs transmitted is the same as for the equivalent independent protocols, then transmitting all protocols’ information in each LLDPDU is a net loss.

LLDP has a “chatty timer” limit on transmissions, which further emphasizes the need to minimize transmissions.

Prot 1 TLVs Prot 2 TLVs Prot 3 TLVs

LLDPOther TLVs

Protocol 1 Protocol 2 Protocol 3

Page 55: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

55IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

When a new LLDPDU is received, all protocols whose TLVs change are notified of the change in TLV values. (Note: change in TLV values – not LLDPDU arrival.)

Protocol 1 state machines

Prot. 1 Ngbr. ATLVs

received

LLDP state machines

varia

bles

Protocol 2 state machines

Prot. 2 Ngbr. ATLVs

received

varia

blesProtocol 1 TLVs

transmittedProtocol 1 TLVs

transmitted

Page 56: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

56IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

The Protocol state machines operate in parallel, generating their responses, if any.

Protocol 1 state machines

LLDP state machines

Prot. 1 Ngbr. ATLVs

received

varia

bles

Protocol 2 state machines

Prot. 2 Ngbr. ATLVs

received

varia

blesProtocol 1 TLVs

transmittedProtocol 1 TLVs

transmitted

Page 57: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

57IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

After all of the protocols have supplied their new values, LLDP transmits all of the updates in one LLDPDU.

Protocol 1 state machines

LLDP state machines

varia

bles

Protocol 2 state machines

varia

blesProtocol 1 TLVs

transmittedProtocol 1 TLVs

transmitted

Prot. 1 Ngbr. ATLVs

received

Prot. 2 Ngbr. ATLVs

received

Page 58: Using LLDP as a protocol carrier - IEEE-SA - Working …grouper.ieee.org/groups/802/1/files/public/docs2009/ab...Using LLDP as a protocol carrier Version 1 Norman Finn Cisco Systems

58IEEE 802.1 plenary, San Francisco, California, July, 2009ab-nfinn-lldp-as-protocol-carrier-1109-v01.pdf

Implementation tips

Within limits, a protocol should be allowed to effect changes such as hardware reconfiguration before returning its new TLV values.

— If such changes take too long, then other protocols will be slowed down.

Events outside LLDP can trigger the need to change the TLVs sent by a protocol, but this seems inevitable.