攜帶公告協商tlv的lldp報文的處理系統及方法
【技術領域】
[0001] 本發明涉及通信技術領域,尤其涉及以太網控制通信技術領域,具體是指一種攜 帶公告協商TLV的LLDP報文的處理系統及方法。
【背景技術】
[0002] 目前,網絡設備的種類日益繁多且各自的配置錯綜復雜,為了使不同廠商的設備 能夠在網絡中相互發現并交互各自的系統及配置信息,需要有一個標準的信息交流平臺。
[0003] LLDP(LinkLayerDiscoveryProtocol,鏈路層發現協議)就是在這樣的背景下 產生的,它提供了一種標準的鏈路層發現方式,可以將本端設備的主要能力、管理地址、設 備標識、接口標識等信息組織成不同的TLV(Type/Lengh/Value,類型/長度/值),并封裝 在LLDFOU(LinkLayerDiscoveryProtocolDataUnit,鏈路層發現協議數據單元)中發 布給與自己直連的鄰居,鄰居收到這些信息后將其以標準MIB(ManagementInformation Base,管理信息庫)的形式保存起來,以供網絡管理系統查詢及判斷鏈路的通信狀況。
[0004] LLDP協議標準中定義了許多標準的TLV和擴展的TLV。很多廠商定義的私有TLV 也在應用中不斷增加。
【發明內容】
[0005] 本發明的目的是克服了上述現有技術的缺點,提供了一種能夠實現靈活的獲取鄰 居中特定的信息、無需通過管理員去配置鄰居設備、同時解決減少報文的內容長度、不發送 鄰居無法識別的TLV、減少用于存儲鄰居信息而申請的內存的攜帶公告協商TLV的LLDP報 文的處理系統及方法。
[0006] 為了實現上述目的,本發明的攜帶公告協商TLV的LLDP報文的處理系統及方法具 有如下構成:
[0007] 該攜帶公告協商TLV的LLDP報文的處理系統,其主要特點是,所述的系統包括:
[0008] 配置模塊,用以配置設備可識別的所有TLV列表、配置希望接收的TLV列表、配置 各個端口可發送TLV列表和配置各個端口的發送列表;
[0009] 處理模塊,用以接收到鄰居設備發送的LLDP攜帶公告協商TLV時更新該端口可發 送TLV列表;
[0010] 封裝模塊,用以將公告協商TLV和該端口發送列表中所有TLV封裝至LLDP報文 中;
[0011] 發送模塊,用以發送封裝得到的LLDP報文。
[0012] 本發明還涉及一種攜帶公告協商TLV的LLDP報文的處理方法,其特征在于,所述 的方法包括以下步驟:
[0013] (1)根據默認值配置設備可識別的所有TLV列表、配置希望接收的TLV列表、配置 各個端口可發送TLV列表和配置各個端口的發送列表;
[0014] (2)根據配置好的可識別的所有TLV列表配置公告協商TLV;
[0015] (3)當接收到鄰居設備發送的LLDP攜帶公告協商TLV時更新該端口可發送TLV列 表;
[0016] (4)將公告協商TLV和該端口發送列表中所有TLV加入到LLDP報文并發送至鄰居 設備。
[0017] 較佳地,所述的根據配置好的可識別的所有TLV列表配置公告協商TLV,包括以下 步驟:
[0018] (2-1)將所有可識別的TLV類型值添加到TLVTypeList字段中;
[0019] (2-2)根據系統設置配置子類型字段為對應的值。
[0020] 更佳地,所述的根據系統設置配置子類型字段為對應的值,具體為:
[0021] 根據如下各個值所代表的含義配置子類型字段的值:
[0022] 值為1時,指示TLVTypeList中為希望接收TLVType;
[0023] 值為2時,指示TLVTypeList中為可識別的TLVType;
[0024]值為 3 時,指不TLVTypeList中為IEEE802. 1OrganizationallySpecificTLVs 中的subType;
[0025] 值為4 時,指不TLVTypeList中為IEEE802. 3OrganizationallySpecificTLVs 中的subType。
[0026] 更進一步地,所述的更新該端口可發送TLV列表,包括以下步驟:
[0027] (3-1)判斷接收到的公告協商TLV的攜帶子類型值是否為1,如果是,則繼續步驟 (3-2),如果值為2、3或4,則繼續步驟(3-4);
[0028] (3-2)清空該端□的發送列表,然后繼續步驟(3-3);
[0029] (3-3)把TLVTypeList字段中的內容更新到該端口的發送列表中,然后繼續步驟 ⑷;
[0030] (3-4)清空該端口的可發送列表,然后繼續步驟(3-5);
[0031] (3-5)把TLVTypeList字段中的內容加入到該端口的可發送列表中。
[0032] 較佳地,所述的將公告協商TLV和該端口發送列表中所有TLV加入到LLDP報文并 發送至鄰居設備,包括以下步驟:
[0033] (4-1)將公告協商TLV和該端口發送列表中所有TLV封裝成LLDP報文;
[0034] (4-2)判斷是否觸發如下事件中至少一個:首次發送LLDP報文、新鄰居加入和重 新設置希望接收TLV的列表,如果是,則繼續步驟(4-3),否則結束退出;
[0035] (4-3)發送封裝的LLDP報文至鄰居設備。
[0036] 采用了該發明中的攜帶公告協商TLV的LLDP報文的處理系統及方法,具有如下有 益效果:
[0037] (1)當設備值需要獲取鄰居特定的一些信息時,發送攜帶公告協商TLV的LLDP報 文到鄰居設備,鄰居設備根據公告協商TLV的TLVTypeList字段,發送只攜帶公告協商TLV 中公告的TLV的LLDP報文;可靈活的配置需要接收的TLV列表,無需通過鄰居設備管理員 去更改鄰居設備的配置;由于無需發送設備不需要的TLV信息,減少報文的長度,以及設備 用于存儲鄰居信息而申請的內存;
[0038] (2)同時,設備和鄰居設備可以公告各自的可以識別的TLV,提取兩端都可識別的 TLV,發送的LLDP報文中不攜帶鄰居無法識別的TLV,減少發送報文的長度,減少用于存儲 鄰居信息而申請的內存,具有更廣泛的應用范圍。
【附圖說明】
[0039] 圖1為本發明的攜帶公告協商TLV的LLDP報文的處理方法中公告協商TLV的結 構示意圖。
[0040] 圖2為本發明的攜帶公告協商TLV的LLDP報文的處理方法的流程圖。
【具體實施方式】
[0041] 為了能夠更清楚地描述本發明的技術內容,下面結合具體實施例來進行進一步的 描述。
[0042] 本發明提供了一種攜帶公告協商TLV的LLDP報文的處理方法:
[0043] 預先配置公告協商TLV,根據設備可以識別的TLV,把所有可以識別的TLV類型值 添加到TLVTypeList字段中,并設置子類型字段為對應的值,首次發送LLDP報文或者有新 鄰居加入時,將公告協商TLV加入到LLDP報文;當設備希望鄰居發送過來的LLDP報文中攜 帶特定的可選性TLV,把這些特定的TLV類型值添加到TLVTypeList字段中,并設置子類型 字段為對應的值,有新鄰居加入或者修改希望接收的TLV列表時,將該公告協商TLV加入到 LLDP報文;
[0044] 同時還提供了一種攜帶公告協商TLV的LLDP報文的處理設備:
[0045] 配置模塊:用于配置設備可識別的所有TLV列表;配置希望接收的TLV列表;配置 各個端口可發送TLV列表;配置各個端口發送列表;
[0046] 處理模塊:當接收鄰居設備發送來的LLDP攜帶公告協商TLV時,用于比較本設備 和鄰居設備可識別的TLV,并更新該端口發送TLV列表;
[0047] 封裝模塊:用于將公告協商TLV和該端口發送列表中的所有TLV封裝到LLDP報文 中;
[0048] 發送模塊:用于發送封裝得到的LLDP報文。
[0049] 本發明的攜帶公告協商TLV的LLDP報文的處理方法具體包括以下步驟:
[0050] (1)根據默認值配置設備可識別的所有TLV列表、配置希望接收的TLV列表、配置 各個端口可發送TLV列表和配置各個端口的發送列表;
[0051] (2)根據配置好的可識別的所有TLV列表配置公告協商TLV;
[0052] (3)當接收到鄰居設備發送的LLDP攜帶公告協商TLV時更新該端口可發送TLV列 表;
[0053] (4)將公告協商TLV和該端口發送列表中所有TLV加入到LLDP報文并發送至鄰居 設備。
[0054] 在一種較佳的實施方式中,所述的根據配置好的可識別的所有TLV列表配置公告 協商TLV,包括以下步驟:
[0055] (2-1)將所有可識別的TLV類型值添加到TLVTypeList字段中;
[0056] (2-2)根據系統設置配置子類型字段為對應的值。
[0057] 在一種更佳的實施方式中,所述的根據系統設置配置子類型字段為對應的值,具 體為:
[0058] 根據如下各個值所代表的含義配置子類型字段的值:
[0059] 值為1時,指示TLVTypeList中為希望接收TLVType;
[0060] 值為2時,指示TLVTypeList中為可識別的TLVType;
[0061]值為3時,指不TLVTypeList中為IEEE802. 1OrganizationallySpecificTLVs 中的subType;
[0062]值為4時,指不TLVTypeList中為IEEE802. 3OrganizationallySpecificTLVs 中的subType。
[0063] 在一