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