一種pon設(shè)備路由轉(zhuǎn)發(fā)表管理的實(shí)現(xiàn)方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及P0N(PassiveOpticalNetwork,無(wú)源光網(wǎng)絡(luò))接入網(wǎng)設(shè)備,具體涉及一種PON設(shè)備路由轉(zhuǎn)發(fā)表管理的實(shí)現(xiàn)方法?!?br>背景技術(shù):
】[0002]在通信網(wǎng)絡(luò)中,接入網(wǎng)設(shè)備數(shù)量龐大,并且傳統(tǒng)接入網(wǎng)大都采用金屬線的方式接入。FTTH(FiberToTheHome,光纖到家)是對(duì)傳統(tǒng)接入網(wǎng)改造的主流技術(shù),其中,PONOLT是FTTH的接入?yún)R聚設(shè)備,用于將來(lái)自用戶的流量匯聚并傳送到骨干網(wǎng)絡(luò)中去。[0003]因此,PON接入網(wǎng)設(shè)備具備的特點(diǎn)是單一匯聚設(shè)備接入終端數(shù)量龐大,數(shù)量可以達(dá)至1JI萬(wàn)戶甚至更多,傳統(tǒng)PON0LT(opticallineterminal,光線路終端)設(shè)備定義為二層轉(zhuǎn)發(fā)設(shè)備,將用戶數(shù)據(jù)傳遞到骨干網(wǎng)絡(luò),同一PON設(shè)備下的終端之間無(wú)法在接入網(wǎng)內(nèi)互通,只能通過(guò)上面的網(wǎng)關(guān)設(shè)備來(lái)實(shí)現(xiàn)互通。[0004]隨著網(wǎng)絡(luò)的發(fā)展和融合,要求PONOLT設(shè)備具備越來(lái)越多的功能,比如網(wǎng)關(guān)功能、路由轉(zhuǎn)發(fā)功能以及PON內(nèi)互通功能等,而這些功能都需要三層轉(zhuǎn)發(fā)技術(shù)來(lái)實(shí)現(xiàn)。三層轉(zhuǎn)發(fā)技術(shù)是依賴于主機(jī)路由表(hostroutetable)和網(wǎng)段路由表(prefixroutetable)實(shí)現(xiàn)的。相對(duì)于三層交換機(jī)和路由器,PONOLT設(shè)備有接入終端數(shù)量多的特點(diǎn),而且終端的業(yè)務(wù)和配置變動(dòng)頻繁,且每一個(gè)終端都是一個(gè)路由轉(zhuǎn)發(fā)的下一跳出口,因此導(dǎo)致主機(jī)路由數(shù)量較大,且對(duì)數(shù)據(jù)轉(zhuǎn)發(fā)平面相關(guān)表項(xiàng)的刷新也比較頻繁,因此存在龐大數(shù)量的不同主機(jī)路由類型的路由轉(zhuǎn)發(fā)表需要管理。[0005]常規(guī)的路由轉(zhuǎn)發(fā)表管理方法大多考慮的是路由器應(yīng)用,特點(diǎn)是網(wǎng)段路由表數(shù)量龐大,而主機(jī)路由表數(shù)量較少。而在PONOLT設(shè)備組網(wǎng)場(chǎng)景下,由于路由轉(zhuǎn)發(fā)表的準(zhǔn)確性和可靠性將直接影響到用戶流量轉(zhuǎn)發(fā)的正確性,因此,路由轉(zhuǎn)發(fā)表的管理應(yīng)該更多考慮接入主機(jī)的是否可達(dá),即保證每次轉(zhuǎn)發(fā)的正確性,以及接入主機(jī)的變動(dòng)(IP和MAC,端口,VLAN)等事件的高效處理,即刷新處理的高效性,實(shí)現(xiàn)對(duì)所有相關(guān)聯(lián)路由轉(zhuǎn)發(fā)表的刷新?!?br/>發(fā)明內(nèi)容】[0006]本發(fā)明所要解決的技術(shù)問(wèn)題是在PONOLT設(shè)備組網(wǎng)場(chǎng)景下,常規(guī)的路由轉(zhuǎn)發(fā)表管理方法大多只考慮路由器應(yīng)用,沒(méi)有更多考慮接入終端主機(jī)的是否可達(dá),以及對(duì)接入主機(jī)的變動(dòng)等事件處理效率的問(wèn)題。[0007]為了解決上述技術(shù)問(wèn)題,本發(fā)明所采用的技術(shù)方案是提供一種PON設(shè)備路由轉(zhuǎn)發(fā)表管理的實(shí)現(xiàn)方法,包括以下步驟:[0008]路由協(xié)議模塊和IP協(xié)議棧中的ARP表分別將生成的網(wǎng)段路由表和主機(jī)路由表下發(fā)到路由管理模塊,其中,網(wǎng)段路由表包括目的前綴表和下一跳表;[0009]路由管理模塊根據(jù)主機(jī)路由表判斷網(wǎng)段路由表的下一跳表中每個(gè)下一跳是否可達(dá),并僅將可達(dá)的下一跳寫入到數(shù)據(jù)轉(zhuǎn)發(fā)平面的網(wǎng)段路由轉(zhuǎn)發(fā)表;[0010]判定下一跳是否可達(dá)依據(jù):在主機(jī)路由表中可以查找到與下一跳IP—致的主機(jī)IP則表示該下一跳可達(dá),否則,不可達(dá);[0011]路由管理模塊根據(jù)ARP消息實(shí)時(shí)更新的主機(jī)路由表,并同步更新數(shù)據(jù)轉(zhuǎn)發(fā)平面中網(wǎng)段路由轉(zhuǎn)發(fā)表的下一跳表和主機(jī)路由轉(zhuǎn)發(fā)表。[0012]在上述方法中,所述網(wǎng)段路由表的組織結(jié)構(gòu)為:所述目的前綴表的每個(gè)目的前綴表項(xiàng)對(duì)應(yīng)一個(gè)下一跳表;每個(gè)下一跳表包括一個(gè)或多個(gè)下一跳表項(xiàng),每個(gè)下一跳表項(xiàng)包括下一跳IP和與該下一跳IP對(duì)應(yīng)的下一跳出接口;[0013]所述主機(jī)路由表包括多個(gè)主機(jī)路由條目,每個(gè)主機(jī)路由條目包括一個(gè)主機(jī)IP以及與該主機(jī)IP對(duì)應(yīng)的MAC地址、物理端口、外層VLAN和內(nèi)層VLAN元素。[0014]在上述方法中,所述每個(gè)目的前綴表項(xiàng)為一個(gè)前綴地址和掩碼。[0015]在上述方法中,所述下一跳表按照是否可達(dá)屬性分為可達(dá)下一跳表和不可達(dá)下一跳表兩類。[0016]在上述方法中,所述主機(jī)路由表除了記錄IP、MAC地址和邏輯端口的對(duì)應(yīng)關(guān)系外,還要求擴(kuò)展VLAN、物理端口信息,這些信息由ARP表生成新的條目時(shí)記錄。[0017]在上述方法中,所述路由管理模塊根據(jù)ARP消息實(shí)時(shí)更新的主機(jī)路由表,并同步更新數(shù)據(jù)轉(zhuǎn)發(fā)平面中網(wǎng)段路由轉(zhuǎn)發(fā)表的下一跳表和主機(jī)路由轉(zhuǎn)發(fā)表,具體包括以下步驟:[0018]步驟101、判斷ARP消息是ARP新增消息還是ARP刪除消息,如果是ARP新增消息,則執(zhí)行步驟102,否則執(zhí)行步驟106;[0019]步驟102、將ARP新增消息中的IP地址作為索引IP,在主機(jī)路由表中查找匹配條目,如果查找到,則執(zhí)行步驟104,否則執(zhí)行步驟103;[0020]步驟103、生成以索引IP地址為主機(jī)IP的主機(jī)路由條目,并寫入路由管理模塊的主機(jī)路由表和數(shù)據(jù)轉(zhuǎn)發(fā)平面的主機(jī)路由轉(zhuǎn)發(fā)表,然后執(zhí)行步驟107;[0021]步驟104、對(duì)比主機(jī)路由表中與索引IP地址對(duì)應(yīng)條目的MAC地址、物理端口、外層VLAN和內(nèi)層VLAN元素的值與ARP新增消息中的值是否一致,如果不一致,則執(zhí)行步驟105,否貝1J,執(zhí)行步驟109;[0022]步驟105、更新路由管理模塊主機(jī)路由表中與索引IP對(duì)應(yīng)條目的各個(gè)元素值,使其與ARP新增消息中的值一致,并更新數(shù)據(jù)平面的主機(jī)路由轉(zhuǎn)發(fā)表,然后執(zhí)行步驟107;[0023]步驟106、將ARP刪除消息中的IP地址作為索引IP,在主機(jī)路由表中查找到匹配條目,并刪除與之匹配的主機(jī)路由條目,同時(shí)更新數(shù)據(jù)轉(zhuǎn)發(fā)平面的主機(jī)路由轉(zhuǎn)發(fā)表;[0024]步驟107、在網(wǎng)段路由表每個(gè)目的前綴表項(xiàng)對(duì)應(yīng)的下一跳表中查找是否存在與索引IP匹配的下一跳IP,如果存在,則執(zhí)行步驟108,否則執(zhí)行步驟109;[0025]步驟108、更新路由管理模塊上網(wǎng)段路由表,并同步數(shù)據(jù)轉(zhuǎn)發(fā)平面的網(wǎng)段路由轉(zhuǎn)發(fā)表;[0026]步驟109、處理程序結(jié)束。[0027]在上述方法中,步驟108具體為:[0028]當(dāng)主機(jī)路由表新增一個(gè)條目時(shí),路由管理模塊以新增條目主機(jī)IP為索引,在網(wǎng)段路由表每個(gè)目的前綴表項(xiàng)對(duì)應(yīng)的不可達(dá)下一跳表中查找匹配的下一跳表項(xiàng),并將匹配的下一跳表項(xiàng)的狀態(tài)置為可達(dá),并刷新數(shù)據(jù)轉(zhuǎn)發(fā)平面的網(wǎng)段路由轉(zhuǎn)發(fā)表;[0029]當(dāng)主機(jī)路由表的一個(gè)條目的元素值改變時(shí),路由管理模塊以元素改變條目主機(jī)IP為索引,在網(wǎng)段路由表每個(gè)目的前綴表項(xiàng)對(duì)應(yīng)的下一跳表中查找匹配的下一跳表項(xiàng),刷新匹配的下一跳表項(xiàng)的對(duì)應(yīng)的元素值,并刷新數(shù)據(jù)轉(zhuǎn)發(fā)平面的網(wǎng)段路由轉(zhuǎn)發(fā)表中對(duì)元素值;[0030]當(dāng)主機(jī)路由表刪除一個(gè)條目時(shí),路由管理模塊以刪除條目主機(jī)IP(為索引,在網(wǎng)段路由表每個(gè)目的前綴表項(xiàng)對(duì)應(yīng)的可達(dá)下一跳表中查找匹配的下一跳表項(xiàng),并將匹配的下一跳表項(xiàng)的狀態(tài)置為不可達(dá),并刷新數(shù)據(jù)轉(zhuǎn)發(fā)平面的網(wǎng)段路由轉(zhuǎn)發(fā)表。[0031]在上述方法中,所述路由管理模塊設(shè)有定時(shí)器,所述路由管理模塊通過(guò)所述定時(shí)器定時(shí)處理網(wǎng)段路由中的不可達(dá)下一跳表。[0032]在上述方法中,所述路由管理模塊通過(guò)定時(shí)器定時(shí)處理網(wǎng)段路由中的不可達(dá)下一跳表,具體包括以下步驟:[0033]步驟201、定時(shí)器超時(shí),發(fā)送定時(shí)器超時(shí)事件;[0034]步驟202、路由管理模塊獲取網(wǎng)段路由表;[0035]步驟203、依次判斷網(wǎng)段路由表的每個(gè)目的前綴對(duì)應(yīng)不可達(dá)下一跳表是否為空,如果不為空,執(zhí)行步驟204;否則執(zhí)行步驟207;[0036]步驟204、遍歷不可達(dá)下一跳表,并以每個(gè)下一跳IP為索引,在主機(jī)路由表中查找匹配的主機(jī)IP,如果存在,則執(zhí)當(dāng)前第1頁(yè)1 2 3