Olt設備動態訪問控制列表生成方法及數據包處理方法
【技術領域】
[0001] 本發明屬于以太網無源光網絡技術領域,尤其涉及一種OLT設備動態訪問控制列 表生成方法及數據包處理方法。
【背景技術】
[0002] 以太網無源光網絡(EPON)技術是一種基于以太網技術、點到多點的無源光網絡 接入技術,它集以太網技術的易維護、低成本和PON網絡的高效等特點于一身,是未來實現 光纖接入網的最佳方式。但是由于EPON采用點到多點的共享型拓撲和下行數據廣播方式, 其信息安全很容易受到威脅。
[0003] 隨著三網融合和光纖入戶進程的加快,EPON系統普遍使用,寬帶上網、電視點播業 務日益普及,用戶數量非常龐大。當網內其中一個用戶節點出現攜帶有病毒隱患的數據包 時,其數據包在網內各個節點傳播轉發,在網內形成病毒風暴,造成網絡癱瘓,影響用戶的 使用,但在保證網絡安全性的前提下,OLT設備對數據包的處理效率相對較低,影響用戶的 使用體驗。
【發明內容】
[0004] 本發明的目的在于提供一種OLT設備動態訪問控制列表生成方法,旨在解決現有 技術中在保證網絡安全的條件下,OLT設備對數據包的處理效率相對較低的問題。
[0005] 本發明是這樣實現的,一種OLT設備動態訪問控制列表生成方法,所述方法包括 下述步驟:
[0006] 接收用戶輸入的與待生成的動態訪問控制列表相對應的ACL命令,所述ACL命令 的類別包括數據鏈路層數據輸入命令、網絡層數據輸入命令以及傳輸層數據輸入命令;
[0007] 對所述ACL命令進行類別解析,并生成所述ACL命令所對應的類別下的命令規則, 所述命令規則設有控制數據包通過與否的匹配原則,所述匹配原則包括等于、大于等于、小 于、小于等于以及端口范圍;
[0008] 將解析得到的所述ACL命令所對應的類別參數輸入存儲到類別標志寄存器中,同 時,控制在ACL命令庫中將所述ACL命令的狀態修改為激活狀態;
[0009] 對所述ACL命令庫中處于激活狀態的ACL命令項進行檢索,生成動態訪問控制列 表,其中,所述動態訪問控制列表的字段包括序號、類別、規則名稱、激活狀態標志以及匹配 函數首地址。
[0010] 作為一種改進的方案,所述對所述ACL命令庫中處于激活狀態的ACL命令項進行 檢索的步驟之后還包括下述步驟:
[0011] 對檢索到得ACL命令項按照預先定義的規則進行優先級排序。
[0012] 作為一種改進的方案,所述動態訪問控制列表的字段還包括優先級。
[0013] 作為一種改進的方案,所述命令規則包括命令主規則和命令子規則,其中:
[0014] 所述命令主規則包括MC地址規則、以太網類型規則、IP協議規則、IP地址規則、 TCP標志位規則以及端口規則;
[0015] 所述MC地址規則、所述IP地址規則以及所述端口規則分別包括若干個命令子規 則。
[0016] 作為一種改進的方案,所述MAC地址規則和所述以太網類型規則屬于所述數據鏈 路層輸入命令,所述IP協議規則和所述IP地址規則屬于所述網絡層輸入命令,所述TCP標 志位規則以及端口規則屬于傳輸層輸入命令。
[0017] 作為一種改進的方案,所述生成動態訪問控制列表的步驟之后還包括下述步驟:
[0018] 當接收到用戶再次輸入的ACL命令時,繼續執行對所述ACL命令進行類別解析,并 生成所述ACL命令所對應的類別下的命令規則的步驟,同時,將所述ACL命令庫中再次處于 激活狀態的ACL命令項更新到初次生成的所述動態訪問控制列表中。
[0019] 本發明的另一目的在于提供一種基于動態訪問控制列表的數據包處理方法,所述 方法包括下述步驟:
[0020]OLT設備的主處理器對生成的動態訪問控制列表進行解析,并保存,所述動態訪問 控制列表的字段包括序號、類別、規則名稱、激活狀態標志以及匹配函數首地址;
[0021 ] 所述OLT設備的交換芯片和MAC芯片按照所述動態訪問控制列表所記載的字段信 息,分別對接收到的數據包進行ACL命令類別解析,所述ACL命令的類別包括數據鏈路層數 據輸入命令、網絡層數據輸入命令以及傳輸層數據輸入命令;
[0022] 若所述ACL命令的類型包含數據鏈路層輸入命令,則所述交換芯片或所述MAC芯 片根據所述動態訪問控制列表中,所述數據鏈路層輸入命令所對應的字段信息,調用相應 的規則函數進行匹配,并對數據包進行應用于PON接口或NNI接口的操作;
[0023] 若所述ACL命令的類型包含網絡層輸入命令或傳輸層輸入命令,所述交換芯片或 所述MAC芯片則將所述數據包傳送給所述主處理器,所述主處理器根據所述動態訪問控制 列表中,所述網絡層輸入命令或傳輸層輸入命令所對應的字段信息,調用相應的規則函數 進行匹配,并將匹配的結果反饋給所述交換芯片或所述MAC芯片,所述交換芯片或所述MAC 芯片對數據包進行應用于PON接口或NNI接口的操作。
[0024] 在本發明實施例中,接收用戶輸入的與待生成的動態訪問控制列表相對應的ACL命令;對ACL命令進行類別解析,并生成ACL命令所對應的類別下的命令規則;將解析得到 的ACL命令所對應的類別參數輸入存儲到類別標志寄存器中,同時,控制在ACL命令庫中將 ACL命令的狀態修改為激活狀態;對ACL命令庫中處于激活狀態的ACL命令項進行檢索,生 成動態訪問控制列表,該動態訪問控制列表為不同用戶靈活定制各種網絡訪問條件提供可 能,保障用戶數據的合法性,同時,提高對報文數據包的處理效率,保障網絡安全。
【附圖說明】
[0025] 圖1是本發明提供的OLT設備動態訪問控制列表生成方法的實現流程圖;
[0026] 圖2是本發明提供的OLT設備的結構示意圖。
【具體實施方式】
[0027] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0028] 圖1示出了本發明實施例提供的OLT設備動態訪問控制列表生成方法的實現流程 圖,其具體的步驟如下所述:
[0029] 在步驟SlOl中,接收用戶輸入的與待生成的動態訪問控制列表相對應的ACL命 令,該ACL命令的類別包括數據鏈路層數據輸入命令、網絡層數據輸入命令以及傳輸層數 據輸入命令。
[0030] 在步驟S102中,對ACL命令進行類別解析,并生成ACL命令所對應的類別下的命 令規則,命令規則設有控制數據包通過與否的匹配原則,匹配原則包括等于、大于等于、小 于、小于等于以及端口范圍。
[0031] 其中,該匹配原則為:操作允許為允許匹配該匹配原則的數據包通過,操作禁止為 禁止匹配該匹配原則的數據包通過。
[0032] 在步驟S103中,將解析得到的ACL命令所對應的類別參數輸入存儲到類別標志寄 存器中,同時,控制在ACL命令庫中將ACL命令的狀態修改為激活狀態。
[0033] 在步驟S104中,對ACL命令庫中處于激活狀態的ACL命令項進行檢索,生成動態 訪問控制列表,其中,動態訪問控制列表的字段包括序號、類別、規則名稱、激活狀態標志以 及匹配函數首地址。
[0034] 在本發明實施例中,該動態訪問控制列表為不同用戶靈活定制各種網絡訪問條件 提供可能,保障用戶數據的合法性,同時,提高對報文數據包的處理效率,保障網絡安全。
[0035] 其中,在上述步驟S104中,對ACL命令庫中處于激活狀態的ACL命令項進行檢索 的步驟之后還包括下述步驟:
[0036] 對檢索到得ACL命令項按照預先定義的規則進行優先級排序;
[0037] 同時,對應地,上述動態訪問控制列表的字段還包括ACL命令的優先級。
[0038] 在該實施例中,上述用戶輸入與待生成的動態訪問控制列表相對應的ACL命令的 方式可以有兩種,即通過網頁方式輸入和通過命令方式輸入,兩者均能滿足ACL命令的輸 入,其中:
[0039] 在網頁方式的界面上可以通過如下表格進行ACL命令的輸入:
[0040]
[0041] 其中,在該表格中,ACL索引為ACL的命令編號,ACL名稱為ACL命令的名字,ACL 類型為數據鏈路層數據輸入命令、網絡層數據輸入命令以及傳輸層數據輸入命令類型,ACL 規則,即ACL命令所對應的類別下的命令規則的編號。
[0042] 同樣,通過命令的方式輸入可以采用如下格式:
[0043] Access list I permit source 192.168.32. I 0;
[0044] 其中,該命令的含義為:允許源IP地址是192. 168. 32. I的報文通過,下述有具體 的實現過程的說明,在此不再贅述。
[0045] 在本發明實施例中,根據常規的約定,將ACL命令分為三種類型的命令,即數據鏈 路層數據輸入命令、網絡層數據輸入命令以及傳輸層數據輸入命令,其中,每一個類別的 ACL命令下都包含至少一個命令規則,其中:
[0046] 上述命令規則包括命令主規則和命令子規則,命令子規則作為命令主規則的下級 規則存在,其中:
[0047] 命令主規則包括MC地址規則、以太網類型規則、IP協議規則、IP地址規則、TCP 標志位規則以及端口規則;
[0048] 其中,MC地址規則、IP地址規則以及端口規則分別包括若干個命令子規則。
[0049] 在該實施例中,MAC地址規則和以太網類型規則屬于數據鏈路層輸入命令,IP協 議規則和IP地址規則屬于網絡層輸入命令,TCP標志位規則以及端口規則屬于傳輸層輸入 命令。
[0050] 從上述內容可知,本發明定義三種命令類型以及六種命令規則,其中,為了便于說 明和實際的程序控制,可以對命令主規則和命令子規則進行分別編號定義,即:
[0051] 命令主規則1:
[0052]ACL命令名稱為MACAddress,該ACL命令的類型為數據鏈路層輸入命令,其中,其 包含4個命令子規則,具體如下表所示:
[0055] 命令主規則2:
[0056]ACL命令名稱為EtherType,該ACL命令屬于數據鏈路層輸入命令,其中,其包括一 個命令子規則,其具體如下表所示:
[0057]
[0065] 命令主規則5 :
[0066] ACL命令的名稱為Flags,該ACL命令的類型為傳輸層輸入命令,其包括一個命令 子規則,其具體如下表所示:
[0068] 命令主規則6 :
[0069] ACL命令的名稱為Port,該ACL命令屬于傳輸層輸入命令,其中,其包含