與具有轉(zhuǎn)發(fā)功能的電子設(shè)備的網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面有關(guān)的實(shí)現(xiàn)規(guī)范的制作方法
【專利說(shuō)明】與具有轉(zhuǎn)發(fā)功能的電子設(shè)備的網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面有關(guān)的實(shí)現(xiàn)規(guī) 范
[0001] 相關(guān)申請(qǐng)
[0002] 本申請(qǐng)要求2013年2月25日提交的美國(guó)專利申請(qǐng)No. 13/776, 036、題為 ^TRANSLATING NETWORK FORWARDING PLANE MODELS INTO TRAGET IMPLEMENTATION USING SUB MODELS AND HINTS"的優(yōu)先權(quán)和權(quán)益,其全部?jī)?nèi)容通過(guò)引入合并于此。
【背景技術(shù)】
[0003] 在通信網(wǎng)絡(luò),諸如電話網(wǎng)絡(luò)和包括互聯(lián)網(wǎng)的數(shù)據(jù)網(wǎng)絡(luò)中,可以沿從源設(shè)備到目的 地設(shè)備的路徑發(fā)送信息。源設(shè)備和目的地設(shè)備可以是例如個(gè)人計(jì)算機(jī)、諸如電子郵件服務(wù) 器的服務(wù)器、Web服務(wù)器或文件服務(wù)器、或能經(jīng)網(wǎng)絡(luò)發(fā)送和/或接收信息的其他電子設(shè)備。
[0004] 信息可以通過(guò)一個(gè)或多個(gè)轉(zhuǎn)發(fā)設(shè)備,諸如路由器或具有將信息轉(zhuǎn)發(fā)到另一設(shè)備的 能力的其他電子設(shè)備。中間設(shè)備可以接收信息和使用確定何處和如何轉(zhuǎn)發(fā)信息的函數(shù)、算 法、數(shù)據(jù)結(jié)構(gòu)和規(guī)則,使得信息移向其預(yù)期目的地。這些函數(shù)、算法、數(shù)據(jù)結(jié)構(gòu)和規(guī)則形成網(wǎng) 絡(luò)的"轉(zhuǎn)發(fā)平面"。轉(zhuǎn)發(fā)平面的函數(shù)、算法、數(shù)據(jù)結(jié)構(gòu)和規(guī)則可以通過(guò)網(wǎng)絡(luò)中的一個(gè)或多個(gè)轉(zhuǎn) 發(fā)設(shè)備實(shí)現(xiàn)和/或?qū)嵤?br>[0005] 例如,轉(zhuǎn)發(fā)設(shè)備可以接收入站接口的數(shù)據(jù)包、查找數(shù)據(jù)包的目的地地址以及應(yīng)用 使轉(zhuǎn)發(fā)設(shè)備查找特定路由表中的目的地地址的規(guī)則。路由表可以提供表示數(shù)據(jù)包應(yīng)當(dāng)發(fā)送 到的"下一目的地"的列表。用于特定數(shù)據(jù)包的下一目的地可以是例如最終目的地設(shè)備或 另一中間轉(zhuǎn)發(fā)設(shè)備。下一目的地可以由在路由表中存儲(chǔ)的地址識(shí)別。在路由表中存儲(chǔ)的下 一目的地可以由數(shù)據(jù)包的最終目的地指示。由此,通過(guò)查找數(shù)據(jù)包的最終目的地(例如由 數(shù)據(jù)包的報(bào)頭識(shí)別),能從路由表檢索下一目的地。然后,轉(zhuǎn)發(fā)設(shè)備可以將出站接口的數(shù)據(jù) 包轉(zhuǎn)發(fā)到所識(shí)別的下一目的地。
[0006] 轉(zhuǎn)發(fā)平面的某些方面會(huì)影響網(wǎng)絡(luò)的效率。這些方面包括所采用的特定規(guī)則、算法、 數(shù)據(jù)結(jié)構(gòu)和函數(shù)、實(shí)現(xiàn)轉(zhuǎn)發(fā)平面的方式以及實(shí)現(xiàn)和/或?qū)嵤┺D(zhuǎn)發(fā)平面的位置。
【發(fā)明內(nèi)容】
[0007] 通信網(wǎng)絡(luò)中的路由控制器可以負(fù)責(zé)向網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè)備發(fā)布路由規(guī)則。示例性實(shí) 施例允許由轉(zhuǎn)發(fā)設(shè)備以特定于設(shè)備的方式實(shí)現(xiàn)轉(zhuǎn)發(fā)功能。路由控制器可以指定將由轉(zhuǎn)發(fā)設(shè) 備實(shí)現(xiàn)的路由規(guī)則并且可以提供規(guī)則的規(guī)范中的函數(shù)的實(shí)現(xiàn)。如果轉(zhuǎn)發(fā)設(shè)備不具有特定于 該路由設(shè)備的函數(shù)的預(yù)定實(shí)現(xiàn),轉(zhuǎn)發(fā)設(shè)備可以使用由路由控制器提供的缺省實(shí)現(xiàn)。然而,如 果轉(zhuǎn)發(fā)設(shè)備具有該函數(shù)的預(yù)定實(shí)現(xiàn),轉(zhuǎn)發(fā)設(shè)備可以覆蓋在該規(guī)范中描述的實(shí)現(xiàn),替代地使 用預(yù)定實(shí)現(xiàn)。
[0008] 通過(guò)使用預(yù)定實(shí)現(xiàn),能在轉(zhuǎn)發(fā)設(shè)備上利用特定于設(shè)備的能力,諸如改進(jìn)算法或硬 件能力,而不要求網(wǎng)絡(luò)中的所有轉(zhuǎn)發(fā)設(shè)備實(shí)現(xiàn)該改進(jìn)的特定于設(shè)備的能力。此外,路由控制 器保持有關(guān)那些轉(zhuǎn)發(fā)設(shè)備實(shí)現(xiàn)改進(jìn)的特定于設(shè)備的能力的先驗(yàn)信息是不必要的。
[0009] 根據(jù)示例性實(shí)施例,可以在具有轉(zhuǎn)發(fā)功能性的電子設(shè)備(即轉(zhuǎn)發(fā)設(shè)備)接收規(guī)范。 規(guī)范可以描述將由轉(zhuǎn)發(fā)設(shè)備應(yīng)用的規(guī)則。規(guī)則可以是網(wǎng)絡(luò)路由規(guī)則,以及可以利用函數(shù)。 因此,規(guī)范可以指定將由轉(zhuǎn)發(fā)設(shè)備執(zhí)行的函數(shù)和指定函數(shù)的實(shí)現(xiàn),諸如推薦、缺省或通用實(shí) 現(xiàn)。
[0010] 可以以描述請(qǐng)求的能力(例如"找到路由表中的子網(wǎng)掩碼的最長(zhǎng)前綴匹配")的模 型語(yǔ)言,描述規(guī)范,而不指定如何實(shí)現(xiàn)所請(qǐng)求的能力(例如,不指定用于執(zhí)行最長(zhǎng)前綴匹配 的特定算法)。建模語(yǔ)言可以支持指定功能的多個(gè)實(shí)現(xiàn)(例如用于找到最長(zhǎng)前綴匹配的第 一算法、以及用于找到最長(zhǎng)前綴匹配的第二算法)。
[0011] 可以由轉(zhuǎn)發(fā)設(shè)備將特定函數(shù)與一組已知函數(shù)進(jìn)行比較??梢詫⒃摻M已知函數(shù)存儲(chǔ) 在例如已知函數(shù)的數(shù)據(jù)庫(kù)中。該已知函數(shù)可以具有由轉(zhuǎn)發(fā)設(shè)備指定的預(yù)定實(shí)現(xiàn)。例如,指 定函數(shù)可以是以轉(zhuǎn)發(fā)設(shè)備中的硬件或軟件本原地實(shí)現(xiàn)。預(yù)定實(shí)現(xiàn)可以不同于來(lái)自路由控制 器中的規(guī)范中所述的實(shí)現(xiàn)。
[0012] 在一些實(shí)施例中,指定函數(shù)可以位于已知函數(shù)集中。因此,可以忽略在規(guī)范中指定 的實(shí)現(xiàn)。可以使用由轉(zhuǎn)發(fā)設(shè)備指定的預(yù)定實(shí)現(xiàn),在轉(zhuǎn)發(fā)設(shè)備上實(shí)現(xiàn)指定函數(shù)。
[0013] 規(guī)范可以提供用于規(guī)則的一個(gè)或多個(gè)參數(shù),諸如將結(jié)合規(guī)則使用的一個(gè)或多個(gè)輸 入值。如果忽略在規(guī)范中指定的實(shí)現(xiàn),所提供的參數(shù)仍然將可以與預(yù)定實(shí)現(xiàn)一起使用。
[0014] 為了提高實(shí)現(xiàn)指定函數(shù)的效率,轉(zhuǎn)發(fā)設(shè)備可以利用在規(guī)范中提供的提示。例如,該 函數(shù)可以與規(guī)范中的標(biāo)識(shí)符相關(guān)聯(lián)。標(biāo)識(shí)符可以提供與函數(shù)的功能有關(guān)的信息,諸如指定 函數(shù)的作用。使用標(biāo)識(shí)符或作用,函數(shù)的預(yù)定實(shí)現(xiàn)可以位于轉(zhuǎn)發(fā)設(shè)備上。由此,即使預(yù)定實(shí) 現(xiàn)已經(jīng)處于編譯狀態(tài),不必解編譯指定函數(shù)的實(shí)現(xiàn)以便使用指定函數(shù)的實(shí)現(xiàn)。
[0015] 規(guī)范可以進(jìn)一步指定識(shí)別與組標(biāo)識(shí)符有關(guān)的一組函數(shù)的子模型。組標(biāo)識(shí)符以與上 述函數(shù)提示類似的方式來(lái)提供提示。如果通過(guò)支持由子模型標(biāo)識(shí)符建議的作用的子模型來(lái) 預(yù)編程轉(zhuǎn)發(fā)設(shè)備,則轉(zhuǎn)發(fā)設(shè)備可以利用子模型,而不嘗試識(shí)別或解編譯子模型內(nèi)的個(gè)體功 能。
[0016] 在一些實(shí)施例中,轉(zhuǎn)發(fā)設(shè)備可能不能定位已知函數(shù)集中的指定函數(shù)。因此,轉(zhuǎn)發(fā)設(shè) 備可以使用由規(guī)范指定的實(shí)現(xiàn)來(lái)實(shí)現(xiàn)指定函數(shù)。
[0017] 在一些實(shí)施例中,提供路由系統(tǒng)。路由系統(tǒng)可以包括制定將由轉(zhuǎn)發(fā)設(shè)備采用的規(guī) 范的路由控制器。規(guī)范可以合并網(wǎng)絡(luò)路由函數(shù)。規(guī)范可以指定函數(shù)的推薦實(shí)現(xiàn)并且提供指 示如果轉(zhuǎn)發(fā)設(shè)備本原地實(shí)現(xiàn)該函數(shù)則可以覆蓋推薦實(shí)現(xiàn)的標(biāo)志。路由系統(tǒng)可以進(jìn)一步包括 用于將規(guī)則轉(zhuǎn)發(fā)到轉(zhuǎn)發(fā)設(shè)備的發(fā)射機(jī)。
【附圖說(shuō)明】
[0018] 圖1描述根據(jù)示例性實(shí)施例的包括轉(zhuǎn)發(fā)設(shè)備和路由控制器的示例性網(wǎng)絡(luò)100。
[0019] 圖2描述由路由控制器生成并且發(fā)送到轉(zhuǎn)發(fā)設(shè)備的示例性網(wǎng)絡(luò)路由規(guī)則200。
[0020] 圖3描述存儲(chǔ)由具有轉(zhuǎn)發(fā)功能的設(shè)備實(shí)現(xiàn)的預(yù)定函數(shù)的實(shí)現(xiàn)的示例性實(shí)現(xiàn)數(shù)據(jù) 庫(kù) 300。
[0021] 圖4是描述根據(jù)示例性實(shí)施例的由轉(zhuǎn)發(fā)設(shè)備執(zhí)行的示例性步驟的流程圖。
[0022] 圖5是描述根據(jù)示例性實(shí)施例的由路由控制器執(zhí)行的示例性步驟的流程圖。
[0023] 圖6描述適合于與在此所述的示例性實(shí)施例一起使用的示例性電子設(shè)備。
[0024] 圖7描述根據(jù)示例性實(shí)施例執(zhí)行的處理的示例性網(wǎng)絡(luò)實(shí)現(xiàn)。
【具體實(shí)施方式】
[0025] 如下文更詳細(xì)所述的,示例性實(shí)施例允許以特定于設(shè)備的方式由轉(zhuǎn)發(fā)設(shè)備實(shí)現(xiàn)的 轉(zhuǎn)發(fā)平面的一些功能。網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)控制器可以負(fù)責(zé)將轉(zhuǎn)發(fā)規(guī)則發(fā)布到網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)設(shè) 備。用于特定轉(zhuǎn)發(fā)設(shè)備的轉(zhuǎn)發(fā)規(guī)則可以封裝在規(guī)范中。
[0026] 轉(zhuǎn)發(fā)規(guī)則中的一個(gè)可以利用函數(shù)。如在此所使用的,函數(shù)是執(zhí)行一個(gè)或多個(gè)任務(wù) 的預(yù)定過(guò)程或步驟集。函數(shù)可以是算法、源代碼、程序或子程序、例程或子例程、過(guò)程或方法 (諸如Java方法)等其他可能性。
[0027] 在示例性實(shí)施例中,函數(shù)可以由接收轉(zhuǎn)發(fā)規(guī)則的轉(zhuǎn)發(fā)設(shè)備實(shí)現(xiàn)。例如,轉(zhuǎn)發(fā)設(shè)備可 以預(yù)編程有函數(shù)的預(yù)定實(shí)現(xiàn)。預(yù)定實(shí)現(xiàn)可以利用特定于實(shí)現(xiàn)函數(shù)的轉(zhuǎn)發(fā)設(shè)備的某些能力。 例如,轉(zhuǎn)發(fā)設(shè)備可以包括預(yù)定硬件或軟件邏輯,用于執(zhí)行在函數(shù)中定義的存在(例如,通過(guò) 最大匹配子網(wǎng)掩碼來(lái)找到路由表項(xiàng)的最長(zhǎng)前綴匹配函數(shù)的有效實(shí)現(xiàn))。
[0028] 因?yàn)轭A(yù)定實(shí)現(xiàn)可以利用存在于轉(zhuǎn)發(fā)設(shè)備上的改進(jìn)能力,所以預(yù)定實(shí)現(xiàn)可以比不利 用轉(zhuǎn)發(fā)設(shè)備的特定能力的通用實(shí)現(xiàn)更有效或(例如在存儲(chǔ)器、處理能力或處理時(shí)間方面) 以其它方式改進(jìn)。
[0029] 在此所述的示例性實(shí)施例可以在自組的基礎(chǔ)上用在現(xiàn)有網(wǎng)絡(luò)中。例如,具有用于 轉(zhuǎn)發(fā)的函數(shù)的預(yù)編程實(shí)現(xiàn)的轉(zhuǎn)發(fā)設(shè)備可以添加到采用不具有預(yù)編程函數(shù)實(shí)現(xiàn)的設(shè)備的現(xiàn) 有網(wǎng)絡(luò)中。
[0030] 因此,負(fù)責(zé)發(fā)布轉(zhuǎn)發(fā)規(guī)則的轉(zhuǎn)發(fā)控制器可以不知道特定轉(zhuǎn)發(fā)設(shè)備上的預(yù)編程實(shí)現(xiàn) 的存在,并且并非每一轉(zhuǎn)發(fā)設(shè)備將具有用于給定函數(shù)的預(yù)定或預(yù)編程實(shí)現(xiàn)。因此,根據(jù)示例 性實(shí)施例,轉(zhuǎn)發(fā)控制器還可以提供規(guī)則的規(guī)范中的函數(shù)的缺省或建議實(shí)現(xiàn)。如果接收規(guī)范 的轉(zhuǎn)發(fā)設(shè)備不具有特定于轉(zhuǎn)發(fā)設(shè)備的函數(shù)的預(yù)定實(shí)現(xiàn),轉(zhuǎn)發(fā)設(shè)備可以使用由轉(zhuǎn)發(fā)控制器提 供的缺省實(shí)現(xiàn)。然而,如果轉(zhuǎn)發(fā)設(shè)備具有函數(shù)的預(yù)定實(shí)現(xiàn),轉(zhuǎn)發(fā)設(shè)備可以覆蓋在規(guī)范中描述 的實(shí)現(xiàn),替代地使用預(yù)定實(shí)現(xiàn)。該過(guò)程允許利用改進(jìn)的預(yù)定功能的轉(zhuǎn)發(fā)設(shè)備與不具有這樣 的預(yù)定功能的轉(zhuǎn)發(fā)設(shè)備一起使用。
[0031] 圖1描述根據(jù)示例性實(shí)施例的包括轉(zhuǎn)發(fā)設(shè)備和轉(zhuǎn)發(fā)控制器的示例性網(wǎng)絡(luò)100。網(wǎng) 絡(luò)100可以是諸如互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)或電話網(wǎng)絡(luò)等其它可能的通信網(wǎng)絡(luò)。網(wǎng)絡(luò)100可以包括 一個(gè)或多個(gè)光學(xué)、電氣或其他傳輸介質(zhì)。
[0032] 網(wǎng)絡(luò)100可以包括第一節(jié)點(diǎn)110、第二節(jié)點(diǎn)120和第三節(jié)點(diǎn)