LDP协议笔记.docx

上传人:b****5 文档编号:5971084 上传时间:2023-01-02 格式:DOCX 页数:10 大小:19.88KB
下载 相关 举报
LDP协议笔记.docx_第1页
第1页 / 共10页
LDP协议笔记.docx_第2页
第2页 / 共10页
LDP协议笔记.docx_第3页
第3页 / 共10页
LDP协议笔记.docx_第4页
第4页 / 共10页
LDP协议笔记.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

LDP协议笔记.docx

《LDP协议笔记.docx》由会员分享,可在线阅读,更多相关《LDP协议笔记.docx(10页珍藏版)》请在冰豆网上搜索。

LDP协议笔记.docx

LDP协议笔记

1LDP标签分发协议——rfc5036提取笔记

2014年09月09日09:

49:

32

阅读数:

2160

FECs

FECs:

精确的指出哪个包被映射到每个LSP。

一个LSP被多个FEC元素共享,LSP将被终止。

FEC定义一种单独的FEC类型,地址前缀。

LDPID:

:

LDP发现

直连——非直连,基本发现——扩展发现

基本发现:

LinkHello,目的地址:

"allroutersonthissubnet"groupmulticastaddress

扩展发现:

TargetedHello,目的地址:

specificaddress

创建和维护LDP会话

创建:

传输创建和会话初始化。

传输创建

1,标签空间交换还没有建立会话。

它试图两者建立TCP连接。

两者通过TransportAddress选项TLV向对方通告一个地址。

2,两者比较A1,A2来决定谁是主动方,谁是被动方。

 

A1,A2不在同一个地址族,会话不可建立。

地址用无符号整型来比较A1,A2。

大的为主动方。

3,如果LSR1为主动,它试图创建TCP连接。

   如果LSR1为被动,它等待LDP TCP连接的建立。

会话初始化

通过LDP初始化消息协商会话参数。

协商参数包括:

LDP协议版本,标签发布方式,计时器值,

VPI/VCI,标签控制ATM,LDCI标签帧的延时。

成功的协商就是完成了会话的创建。

LSR1端的角度。

连接创建完,LSR1以主动的角色通过发送Initializationmsg给LSR2初始化。

如果LSR1是被动,等待LSR2初始化参数的协商。

LSR1扮被动角色。

1,LSR1接收Initializationmsg,它试图使一个标识符(PDU携带)和一个hello邻居相匹配。

2,如果匹配,该邻接指定本地会话标签空间。

然后LSR1检查参数是否可接受,

   如果可接受,LSR1用初始化消息提出期望被使用的参数和一个KeepAlive消息来示意LSR2参数的接收。

 

   如果不接受,LSR1通过发送ErrorNotification回应,关闭TCP连接。

3,如果不匹配,发送ErrorNotification,关闭TCP连接。

4,如果LSR1接受一个KeepAlive响应它的初始化消息。

该会话isoperational。

5,如果LSR1接受ErrorNotification,LSR1关闭会话。

LSR2扮主动角色。

1,如果LSR1收到ErrorNotification,LSR1关闭TCP连接。

2,如果LSR1收到一个初始化消息,它检查会话参数是否可接受,

   如果可接受,回应KeepAlive消息;

   如果不可接受,LSR1发送ErrorNotification,关闭TCP连接。

3,如果LSR1接收一个KeepAlive消息,LSR2接受被推荐的会话参数。

4,LSR1收到初始化消息和KeepAlive消息,会话isoperational。

PDULDP头部

0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  | Version           |    PDULength      |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |            LDPIdentifier            |

  +               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |               |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

TLV编码:

2字节:

14bit指定类型,2bit指定行为;2字节:

长度

一切出现在LDPPDU中的都可以以TLV格式编码。

 

WildcardFECElement

仅仅被用于LabelWithdrawandLabelReleasemsg

FEC 

0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |0|0|FEC(0x0100)       |   Length         |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |            FECElement1             |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                               |

  ~                               ~

  |                               |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |            FECElementn             |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

PrefixFECElementvalueencoding:

    0         1         2         3

    01234567890123456789012345678901

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   | Prefix

(2) |  AddressFamily      |  PreLen  |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |          Prefix                  |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

FEC的处理:

地址族不支持或FEC元素类型不能被解码。

发送ErrorNotification

LabelTLV

标签TLVs:

编码标签的。

GenericLabelTLV :

以太网和PPP

 ATMLabelTLV :

ATM

FrameRelayLabelTLV :

帧中继链路

通常第一个:

 0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |0|0|GenericLabel(0x0200)  |   Length         |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |  Label                          |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

encodelabels:

label值为20位。

略 AddressListTLV(inAddressandAddressWithdrawmsg.)

略 HopCountTLV

略 PathVectorTLV

StatusTLV(Notificationmessages)

 0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |U|F|Status(0x0300)     |   Length         |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          StatusCode               |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          MessageID                |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |   MessageType      |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

其中StatusCode为:

  0         1         2         3

    01234567890123456789012345678901

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |E|F|        StatusData               |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

LDP消息

 0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |U| MessageType       |   MessageLength     |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          MessageID                |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                               |

  +                               +

  |          MandatoryParameters           |

  +                               +

  |                               |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |                               |

  +                               +

  |          OptionalParameters           |

  +                               +

  |                               |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Notification消息的处理过程。

1,LSR遇到请求通告给对等体咨询和error的这样条件,给对等体发送一个包含有关那个条件的TLV的消息

如果这个条件是一个fatal致命,StatusCode就会指明。

当发送完一个Notification消息之后, LSR应该终止对话,关闭TCP连接,撤销所有会话状态,包括绑定的FCE。

2,LSR收到Notification,则关闭。

3,当LSR收到一个shutdownmsg应该传输一个Shutdown消息,然后关闭传输连接。

 

1,MalformedPDUorMessage

收到的PDU畸形如果:

接收者不知道LDPID或和自己无关,这就是一个fatalerror。

标记为BadLDPIdentifierStatusCode.

接收者不支持该协议版本或会话建立时版本未能协商,这就是一个fatalerror。

BadProtocolVersionStatusCode.

PDU的长度太长或太短,这就是一个fatalerror。

BadPDULengthStatusCode. 

LDP消息畸形如果:

MessageTypeis<0x8000 UnknownMessageTypeStatusCode. 

MessageTypeis>=0x8000 silentlydiscarded

TheMessageLengthistoolarge BadMessageLengthStatusCode.

TheMessageLengthistoosmall BadMessageLengthStatusCode.

missingoneormoreMandatoryParameters. MissingMessageParametersStatusCode.

2,UnknownorMalformedTLV

收到的LDP消息中的TLV畸形如果:

TheTLVLengthistoolarge BadTLVLengthStatusCode.

 theTLVtypeis<0x8000 UnknownTLVStatusCode.

 theTLVtypeis>=0x8000 silentlydropped.

TheTLVValueismalformed MalformedTLVValueStatusCode.(接收者不能够解码该TLV值)

3,SessionKeepAliveTimerExpiration 

KeepAliveTimerExpiredStatusCode.

4,UnilateralSessionShutdown

发完Notification,LSR会立即终止该会话 ShutdownStatusCode.

5,InitializationMessageEvents

初始化协商可能会失败,如果初始化消息中的会话参数不接受。

StatusCode依赖Sections"InitializationMessage".

6,EventsResultingfromOtherMessages 

InternalErrorStatusCode 

Hello消息

  0         1         2         3

  01234567890123456789012345678901

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |0| Hello(0x0100)      |   MessageLength     |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          MessageID                |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          CommonHelloParametersTLV       |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  |          OptionalParameters           |

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

CommonHelloParametersTLV

   0         1         2         3

    01234567890123456789012345678901

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |0|0|CommonHelloParms(0x0400)|   Length         |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   |   HoldTime        |T|R|Reserved       |

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

T 0:

LinkHello 1:

TargetedHello.

R 0:

无请求 1:

接收者周期性发送TargetedHellos给该Hello的源

扩展发现中 

1:

检查是否它被配置发送TargetHellos给源。

 0:

忽略该请求。

Reserved       =0

OptionalParameter     Type   Length 

IPv4TransportAddress   0x0401   4  

Configuration        0x0402   4  

SequenceNumber

IPv6TransportAddress   0x0403   16   

Hello消息的处理

推荐Hello传输间隔至多为holdtime的1/3。

LSR处理接受到的LDPHello:

1,检查Hello是否可接受的,决定的标准是:

是否独立实现。

2,如

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1