基于t型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器及方法
【專利摘要】本發(fā)明提出一種基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器及方法,用于解決現(xiàn)有交換機(jī)存在的布線冗余問題和現(xiàn)有轉(zhuǎn)發(fā)方法存在的時(shí)延較大且時(shí)延不確定問題,轉(zhuǎn)發(fā)器包括呈T型分布的端口和處理單元,處理單元包括:左端口幀處理模塊、右端口幀處理模塊、用戶端口幀處理模塊、地址學(xué)習(xí)與查找模塊、專用協(xié)議處理模塊和用戶端口適配模塊;轉(zhuǎn)發(fā)方法包括:鏈路狀態(tài)判斷,緩存數(shù)據(jù)幀,幀識(shí)別分類,重建鏈路,PAUSE幀分類,配置轉(zhuǎn)發(fā)器,地址學(xué)習(xí)與查找,建立輸出隊(duì)列,組建PAUSE幀,輸出至端口。本發(fā)明能夠充分減少用戶接入布線冗余,降低轉(zhuǎn)發(fā)時(shí)延且保證轉(zhuǎn)發(fā)時(shí)延確定,并在網(wǎng)絡(luò)鏈路故障時(shí)及時(shí)檢測(cè)并重建網(wǎng)絡(luò)鏈路,可用于組建高速實(shí)時(shí)接入網(wǎng)絡(luò)。
【專利說明】
基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器及方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及一種網(wǎng)絡(luò)轉(zhuǎn)發(fā)裝置及轉(zhuǎn)發(fā)方法,具體涉及一種基 于Τ型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)裝置及方法,可用于組建高速實(shí)時(shí)接入網(wǎng)絡(luò)。
【背景技術(shù)】
[0002] 以太網(wǎng)是局域網(wǎng)中常見的網(wǎng)絡(luò)連接方式,用戶在網(wǎng)絡(luò)中一般先接入交換設(shè)備,如 交換機(jī)或路由器,再由交換設(shè)備連接到其它網(wǎng)絡(luò)。以太網(wǎng)交換機(jī)旨在滿足多用戶同時(shí)接入 網(wǎng)絡(luò)時(shí)數(shù)據(jù)交換的需求,傳統(tǒng)以太網(wǎng)交換機(jī)通常為多端口交換機(jī),多用戶接入交換機(jī)時(shí),采 用以交換機(jī)為中心的星形組網(wǎng)方式,各用戶都需要通過一根獨(dú)立的線纜連接到交換機(jī)的用 戶接口,在一些要求布線簡(jiǎn)潔的場(chǎng)合,如飛機(jī)、高鐵等環(huán)境中,星形組網(wǎng)所帶來的布線冗余 問題將是難以接受的。
[0003] 傳統(tǒng)以太網(wǎng)交換機(jī)通常采用存儲(chǔ)轉(zhuǎn)發(fā)模式,轉(zhuǎn)發(fā)流程如下:
[0004] (1)輸入處理,主要完成數(shù)據(jù)幀的接收、校驗(yàn)、數(shù)據(jù)格式的匹配的功能;
[0005] (2)流分類與分組處理,主要用于提取幀關(guān)鍵字段信息,并根據(jù)該信息對(duì)以太網(wǎng)數(shù) 據(jù)幀進(jìn)行分類,根據(jù)分類結(jié)果執(zhí)行相應(yīng)的處理;
[0006] (3)地址學(xué)習(xí)與地址查找,根據(jù)源MAC地址和源端口號(hào)進(jìn)行學(xué)習(xí),然后根據(jù)目的MAC 地址進(jìn)行地址查找,得出目的端口;
[0007] (4)入隊(duì),根據(jù)目的端口號(hào)和優(yōu)先級(jí)等信息,為數(shù)據(jù)幀分配緩存地址,并將其存入 相應(yīng)的輸出隊(duì)列;
[0008] (5)出隊(duì),根據(jù)調(diào)度信息,查詢出隊(duì)幀所在的緩存地址,并將其移除輸出隊(duì)列;
[0009] (6)輸出處理,主要完成輸出端口處的數(shù)據(jù)幀緩存和數(shù)據(jù)幀格式匹配的功能;
[0010] 其中輸入緩存、入隊(duì)和輸出緩存等步驟中都會(huì)對(duì)數(shù)據(jù)幀進(jìn)行完整緩存,導(dǎo)致數(shù)據(jù) 幀的轉(zhuǎn)發(fā)時(shí)延較大,并且由于數(shù)據(jù)幀的長(zhǎng)度不固定,因此交換機(jī)引入的轉(zhuǎn)發(fā)時(shí)延具有不確 定性。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明的目的在于克服傳統(tǒng)以太網(wǎng)交換技術(shù)存在的缺陷,提出了一種基于T型結(jié) 構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)裝置及方法,用于解決現(xiàn)有交換機(jī)存在的布線冗余、時(shí)延較大和時(shí) 延不確定問題。
[0012] 為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)思路為:與傳統(tǒng)以太網(wǎng)交換機(jī)只采用存儲(chǔ)轉(zhuǎn)發(fā) 方式相比,本發(fā)明采用兩種轉(zhuǎn)發(fā)模式:直通轉(zhuǎn)發(fā)模式和存儲(chǔ)轉(zhuǎn)發(fā)模式,當(dāng)輸出端口無阻塞 時(shí),交換機(jī)采用直通轉(zhuǎn)發(fā)模式,交換機(jī)接收到數(shù)據(jù)幀的以太網(wǎng)類型字段后即刻開始數(shù)據(jù)幀 的查找轉(zhuǎn)發(fā),整個(gè)轉(zhuǎn)發(fā)過程由于不需要對(duì)完整的數(shù)據(jù)幀進(jìn)行緩存,保證了轉(zhuǎn)發(fā)過程的低時(shí) 延,并且由于緩存的部分?jǐn)?shù)據(jù)幀的長(zhǎng)度固定,保證轉(zhuǎn)發(fā)時(shí)延的確定性;當(dāng)輸出端口發(fā)生阻塞 時(shí),交換機(jī)采用存儲(chǔ)轉(zhuǎn)發(fā)模式,交換機(jī)將數(shù)據(jù)幀緩存到輸出端口后輪詢輸出。
[0013] 為實(shí)現(xiàn)上述目的,本發(fā)明基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,包括端口和處理單 元,其特征在于:
[0014] 所述端口,采用T型分布結(jié)構(gòu),即分別為左端口、右端口和用戶端口,左端口和右端 口為網(wǎng)絡(luò)端口,用于連接網(wǎng)絡(luò)設(shè)備,用戶端口用于用戶終端接入;
[0015] 所述處理單元,包括:
[0016] 左端口幀處理模塊,用于接收左端口處輸入的數(shù)據(jù)幀、右端口幀處理模塊和用戶 端口幀處理模塊輸出的數(shù)據(jù)幀,并提取左端口輸入數(shù)據(jù)幀的源端口和源MAC地址信息送入 地址學(xué)習(xí)與查找模塊;
[0017] 右端口幀處理模塊,用于接收右端口處輸入的數(shù)據(jù)幀、左端口幀處理模塊和用戶 端口幀處理模塊輸出的數(shù)據(jù)幀,并提取右端口輸入數(shù)據(jù)幀的源端口和源MAC地址信息送入 地址學(xué)習(xí)與查找模塊;
[0018] 用戶端口幀處理模塊,用于接收用戶端口適配模塊處輸入的數(shù)據(jù)幀、左端口幀處 理模塊和右端口幀處理模塊輸出的數(shù)據(jù)幀,并提取用戶端口適配模塊輸入數(shù)據(jù)幀的源端口 和源MAC地址信息送入地址學(xué)習(xí)與查找模塊;
[0019] 地址學(xué)習(xí)與查找模塊,用于根據(jù)左端口幀處理模塊、右端口幀處理模塊和用戶端 口幀處理模塊送入數(shù)據(jù)幀的源端口和源MAC地址信息建立地址表,并通過地址查找得到數(shù) 據(jù)幀的目的端口;
[0020] 專用協(xié)議處理模塊,用于接收左端口幀處理模塊和右端口幀處理模塊處的專用協(xié) 議幀,并根據(jù)專用協(xié)議幀實(shí)現(xiàn)對(duì)轉(zhuǎn)發(fā)器的配置和管理;
[0021] 用戶端口適配模塊,用于將用戶端口處的用戶輸入數(shù)據(jù)轉(zhuǎn)換為轉(zhuǎn)發(fā)器所用數(shù)據(jù)幀 送入用戶端口幀處理模塊,并實(shí)現(xiàn)以太網(wǎng)10/100/1000M自適應(yīng)功能。
[0022] 為實(shí)現(xiàn)上述目的,本發(fā)明基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)方法,包括;
[0023] 1)數(shù)據(jù)接收步驟:
[0024] 1.1)根據(jù)PHY芯片寄存器中的連接狀態(tài)判斷網(wǎng)絡(luò)鏈路狀況:若PHY芯片連接狀態(tài)為 0N,則鏈路正常,執(zhí)行步驟1.2),若PHY芯片連接狀態(tài)為0FF,則鏈路故障,執(zhí)行步驟1.4);
[0025] 1.2)對(duì)輸入的異步數(shù)據(jù)幀進(jìn)行跨時(shí)鐘域處理,得到同步數(shù)據(jù)幀,緩存同步數(shù)據(jù)幀 至以太網(wǎng)類型域字段后,執(zhí)行步驟1.3);
[0026] 1.3)從同步數(shù)據(jù)幀的緩存內(nèi)容中提取其目的MAC地址、源MAC地址和類型域信息, 判斷該同步數(shù)據(jù)幀的類型:若同步數(shù)據(jù)幀為PAUSE幀,執(zhí)行步驟1.5),若同步數(shù)據(jù)幀為專用 協(xié)議幀,即自定義類型值的以太網(wǎng)幀,執(zhí)行步驟1.6),若同步數(shù)據(jù)幀為普通數(shù)據(jù)幀,執(zhí)行步 驟1.7);
[0027] 1.4)重建鏈路并產(chǎn)生網(wǎng)絡(luò)鏈路故障信息告警幀:
[0028] 1.4a)清空地址表,并通過地址學(xué)習(xí)重新建立地址表,實(shí)現(xiàn)網(wǎng)絡(luò)鏈路重建;
[0029] 1.4b)組建網(wǎng)絡(luò)鏈路故障信息告警幀,并將該幀送入非故障端口,執(zhí)行發(fā)送步驟 2);
[0030] 1.5)判斷PAUSE幀的類型:如果PAUSE幀是停止幀,則停止端口的輸出流量后,丟棄 該P(yáng)AUSE幀,如果PAUSE幀是喚醒幀,則開啟端口處的輸出流量后,丟棄該P(yáng)AUSE幀;
[0031] 1.6)根據(jù)專用協(xié)議幀的內(nèi)容對(duì)轉(zhuǎn)發(fā)器進(jìn)行相應(yīng)的配置與管理,并判斷該專用協(xié)議 幀是否需要轉(zhuǎn)發(fā),如果需要轉(zhuǎn)發(fā),則進(jìn)入數(shù)據(jù)發(fā)送步驟2),否則丟棄;
[0032] 1.7)根據(jù)普通數(shù)據(jù)幀的源MAC地址和源端口號(hào)進(jìn)行地址學(xué)習(xí),并根據(jù)普通數(shù)據(jù)幀 的目的MAC地址查找目的端口,進(jìn)入數(shù)據(jù)發(fā)送步驟2);
[0033] 2)數(shù)據(jù)發(fā)送步驟:
[0034] 2.1)在目的端口處建立三個(gè)隊(duì)列,分別存放其它兩個(gè)端口待發(fā)送的數(shù)據(jù)幀和待發(fā) 送的PAUSE幀,并判斷數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài):若數(shù)據(jù)幀隊(duì)列存儲(chǔ)達(dá)到警戒線,則執(zhí)行步驟 2.2),否則執(zhí)行步驟2.3);
[0035] 2.2)組建PAUSE停止幀,并將該P(yáng)AUSE停止幀傳遞給達(dá)到警戒線的隊(duì)列所對(duì)應(yīng)的端 口進(jìn)行發(fā)送;
[0036] 2.3)輪詢輸出2.1)中的三個(gè)隊(duì)列,若有待發(fā)送的專用協(xié)議幀,優(yōu)先輸出專用協(xié)議 幀。
[0037] 本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):
[0038] 第一,本發(fā)明由于采用T型結(jié)構(gòu),用戶首先接入用戶端口再通過轉(zhuǎn)發(fā)器級(jí)聯(lián)實(shí)現(xiàn)多 用戶的網(wǎng)絡(luò)接入,而傳統(tǒng)交換機(jī)采用星型拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)多用戶的網(wǎng)絡(luò)接入,因此本發(fā)明大 大減少了用戶接入的布線冗余問題。
[0039] 第二,本發(fā)明由于輸入處理沒有對(duì)數(shù)據(jù)幀完整緩存,接收數(shù)據(jù)幀時(shí)只要提取到數(shù) 據(jù)幀的類型域就可以進(jìn)行查找轉(zhuǎn)發(fā),且無需入隊(duì)、出隊(duì)等步驟,當(dāng)輸出無阻塞時(shí),便可以工 作在直通模式下,大幅減小了轉(zhuǎn)發(fā)時(shí)延,并且由于緩存的部分?jǐn)?shù)據(jù)幀的長(zhǎng)度固定,保證轉(zhuǎn)發(fā) 時(shí)延的確定性。
[0040] 第三,本發(fā)明由于在網(wǎng)絡(luò)鏈路發(fā)生故障時(shí),地址查找與學(xué)習(xí)模塊可通過清空地址 表,并通過地址學(xué)習(xí)重新得到地址表,實(shí)現(xiàn)網(wǎng)絡(luò)鏈路重建,增強(qiáng)了網(wǎng)絡(luò)的可靠性。
【附圖說明】
[0041 ]圖1為本發(fā)明裝置的整體結(jié)構(gòu)框圖;
[0042]圖2為本發(fā)明裝置處理單元的結(jié)構(gòu)框圖;
[0043]圖3為本發(fā)明裝置左端口幀處理模塊的結(jié)構(gòu)框圖;
[0044] 圖4為本發(fā)明裝置右端口幀處理模塊的結(jié)構(gòu)框圖;
[0045] 圖5為本發(fā)明裝置用戶端口幀處理模塊的結(jié)構(gòu)框圖;
[0046] 圖6為本發(fā)明轉(zhuǎn)發(fā)方法的數(shù)據(jù)接收流程框圖;
[0047] 圖7為本發(fā)明轉(zhuǎn)發(fā)方法的數(shù)據(jù)發(fā)送流程框圖。
【具體實(shí)施方式】
[0048] 以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。
[0049]參照?qǐng)D1,本發(fā)明裝置包括三個(gè)端口和一個(gè)處理單元,三個(gè)端口分別為左端口、右 端口和用戶端口,該三個(gè)端口呈T型分布,其中左端口和右端口為網(wǎng)絡(luò)端口,網(wǎng)絡(luò)端口采用 千兆以太網(wǎng)接口,用戶端口可以是多種接口協(xié)議的端口,兩個(gè)網(wǎng)絡(luò)端口用于本發(fā)明裝置的 互連或與外部網(wǎng)絡(luò)相連,用戶端口用于連接用戶。
[0050] 參照?qǐng)D2,本發(fā)明裝置的處理單元包括:左端口幀處理模塊1,右端口幀處理模塊2, 用戶端口幀處理模塊3,地址學(xué)習(xí)與查找模塊4,專用協(xié)議處理模塊5,用戶端口適配模塊6。
[0051] 所述左端口幀處理模塊1,用于接收左端口數(shù)據(jù)幀并提取數(shù)據(jù)幀的目的MAC地址、 源MAC地址和類型,將其中的目的MAC地址和源MAC地址發(fā)往地址學(xué)習(xí)與查找模塊4,將專用 協(xié)議幀發(fā)往專用協(xié)議處理模塊5;接收右端口幀處理模塊2和用戶端口幀處理模塊3的輸出 數(shù)據(jù)幀并輸出至左端口。
[0052]所述右端口幀處理模塊2,用于接收右端口數(shù)據(jù)幀并提取數(shù)據(jù)幀的目的MAC地址、 源MAC地址和類型,將其中的目的MAC地址和源MAC地址發(fā)往地址學(xué)習(xí)與查找模塊4,將專用 協(xié)議幀發(fā)往專用協(xié)議處理模塊5;接收左端口幀處理模塊2和用戶端口幀處理模塊3的輸出 數(shù)據(jù)幀并輸出至左端口。
[0053]所述用戶端口幀處理模塊3,用于接收用戶端口數(shù)據(jù)幀并提取數(shù)據(jù)幀的目的MAC地 址、源MAC地址和類型,將其中的目的MAC地址和源MAC地址發(fā)往地址學(xué)習(xí)與查找模塊4,接收 左端口幀處理模塊2和右端口幀處理模塊3的輸出數(shù)據(jù)幀并輸出至左端口。
[0054]所述地址學(xué)習(xí)與查找模塊4,利用數(shù)據(jù)幀的源端口和源MAC地址信息建立地址表, 利用數(shù)據(jù)幀的目的MAC地址進(jìn)行地址查找得到數(shù)據(jù)幀的目的端口,根據(jù)網(wǎng)絡(luò)鏈路故障后的 網(wǎng)絡(luò)鏈路重建指令清空轉(zhuǎn)發(fā)器的地址表,并通過地址學(xué)習(xí)重新建立地址表,實(shí)現(xiàn)網(wǎng)絡(luò)鏈路 重建。
[0055] 所述專用協(xié)議處理模塊5,用于根據(jù)專用協(xié)議幀,即自定義類型值的以太網(wǎng)幀,實(shí) 現(xiàn)對(duì)轉(zhuǎn)發(fā)器的配置和管理,并用于接收和解析本端口的網(wǎng)絡(luò)鏈路故障信息以及其它端口轉(zhuǎn) 發(fā)來的網(wǎng)絡(luò)鏈路故障信息告警幀,產(chǎn)生網(wǎng)絡(luò)鏈路重建指令,并將該網(wǎng)絡(luò)鏈路重建指令發(fā)送 給地址學(xué)習(xí)與查找模塊4,并組建網(wǎng)絡(luò)鏈路故障信息告警幀,等待非故障網(wǎng)絡(luò)端口的幀處理 模塊輪詢轉(zhuǎn)發(fā)。
[0056] 所述用戶端口適配模塊6,由于用戶端口處的用戶數(shù)據(jù)可能和轉(zhuǎn)發(fā)器所用數(shù)據(jù)幀 不同,需要將用戶端口處的用戶輸入數(shù)據(jù)轉(zhuǎn)換為轉(zhuǎn)發(fā)器所用數(shù)據(jù)幀送入用戶端口幀處理模 塊3,并實(shí)現(xiàn)以太網(wǎng)10/100/1000M自適應(yīng)功能。
[0057]上述左端口幀處理模塊1、右端口幀處理模塊2和用戶端口幀處理模塊3相互連接, 地址學(xué)習(xí)與查找模塊4分別與左端口幀處理模塊1、右端口幀處理模塊2和用戶端口幀處理 模塊3相連,專用協(xié)議處理模塊5分別與左端口幀處理模塊1和右端口幀處理模塊相連,用戶 端口適配模塊6與用戶端口幀處理模塊3相連。
[0058]參照?qǐng)D3,本發(fā)明的左端口幀處理模塊1包括:輸入處理子模塊11、幀識(shí)別子模塊 12、流量控制子模塊13和輸出處理子模塊14。
[0059]所述輸入處理模塊11,用于檢測(cè)可能的網(wǎng)絡(luò)鏈路故障,將故障信息發(fā)送給專用協(xié) 議處理模塊5;通過使用異步FIFO消除數(shù)據(jù)幀跨時(shí)鐘域的亞穩(wěn)態(tài)問題,接收并緩存數(shù)據(jù)幀至 以太網(wǎng)類型域字段,并將緩存的數(shù)據(jù)幀部分字節(jié)發(fā)往幀識(shí)別模塊12。
[0060] 所述幀識(shí)別模塊12,用于根據(jù)輸入處理模塊11緩存的部分?jǐn)?shù)據(jù)幀提取數(shù)據(jù)幀的目 的MAC地址、源MAC地址和幀類型,并判斷所提取的幀類型:
[0061] 如果是數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊4發(fā)送查表請(qǐng)求,獲取目的端 口,再對(duì)目的端口進(jìn)行判斷:若目的端口為右端口,則將普通幀發(fā)送給右端口的輸出處理子 模塊24,若目的端口是用戶端口,將普通幀發(fā)送給用戶端口的輸出處理子模塊34;
[0062]如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊13;
[0063]如果是專用協(xié)議幀,則將該幀發(fā)送給專用協(xié)議處理模塊5。
[0064]所述流量控制模塊13,用于根據(jù)目的端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流量控 制,當(dāng)數(shù)據(jù)幀隊(duì)列到達(dá)警戒線時(shí),組建PAUSE停止幀,當(dāng)流控結(jié)束時(shí),組建PAUSE喚醒幀,并將 該P(yáng)AUSE喚醒幀或PAUSE停止幀送入對(duì)應(yīng)端口處的輸出處理模塊進(jìn)行轉(zhuǎn)發(fā);并解析從幀識(shí)別 模塊11送來的PAUSE幀,提取流控信息,并將流控信息發(fā)送給輸出處理模塊14。
[0065]所述輸出處理模塊14,用于接收其他兩個(gè)端口發(fā)來的數(shù)據(jù)幀和協(xié)議幀,并分別緩 存在兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列中,依次輪詢兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列進(jìn)行發(fā) 送,如果專用協(xié)議處理模塊3有網(wǎng)絡(luò)鏈路故障信息告警幀,則優(yōu)先發(fā)送該網(wǎng)絡(luò)鏈路故障信息 告警幀;并用于接收流量控制模塊13發(fā)來的流控信息,如果是流控停止信息,則發(fā)送完當(dāng)前 數(shù)據(jù)幀后,停止輪詢數(shù)據(jù)幀隊(duì)列,直到收到流控喚醒信息或流控結(jié)束時(shí),重新開始輪詢數(shù)據(jù) 幀隊(duì)列。
[0066]參照?qǐng)D4,本發(fā)明的右端口幀處理模塊2包括:輸入處理子模塊21、幀識(shí)別子模塊 22、流量控制子模塊23和輸出處理子模塊24。
[0067] 所述輸入處理模塊21,用于檢測(cè)可能的網(wǎng)絡(luò)鏈路故障,將故障信息發(fā)送給專用協(xié) 議處理模塊5;通過使用異步FIFO消除數(shù)據(jù)幀跨時(shí)鐘域的亞穩(wěn)態(tài)問題,接收并緩存數(shù)據(jù)幀至 以太網(wǎng)類型域字段,并將緩存的數(shù)據(jù)幀部分字節(jié)發(fā)往幀識(shí)別模塊22。
[0068] 所述幀識(shí)別模塊22,用于根據(jù)輸入處理模塊21緩存的部分?jǐn)?shù)據(jù)幀提取數(shù)據(jù)幀的目 的MAC地址、源MAC地址和幀類型,并判斷所提取的幀類型:
[0069]如果是數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊4發(fā)送查表請(qǐng)求,獲取目的端 口,再對(duì)目的端口進(jìn)行判斷:若目的端口為左端口,則將普通幀發(fā)送給右端口的輸出處理子 模塊14,若目的端口是用戶端口,將普通幀發(fā)送給用戶端口的輸出處理子模塊34;
[0070]如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊23;
[0071]如果是專用協(xié)議幀,則將該幀發(fā)送給專用協(xié)議處理模塊5。
[0072] 所述流量控制模塊23,用于根據(jù)目的端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流量控 制,當(dāng)數(shù)據(jù)幀隊(duì)列到達(dá)警戒線時(shí),組建PAUSE停止幀,當(dāng)流控結(jié)束時(shí),組建PAUSE喚醒幀,并將 該P(yáng)AUSE喚醒幀或PAUSE停止幀送入對(duì)應(yīng)端口處的輸出處理模塊進(jìn)行轉(zhuǎn)發(fā);并解析從幀識(shí)別 模塊21送來的PAUSE幀,提取流控信息,并將流控信息發(fā)送給輸出處理模塊24。
[0073] 所述輸出處理模塊14,用于接收其他兩個(gè)端口發(fā)來的數(shù)據(jù)幀和協(xié)議幀,并分別緩 存在兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列中,依次輪詢兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列進(jìn)行發(fā) 送,如果專用協(xié)議處理模塊3有網(wǎng)絡(luò)鏈路故障信息告警幀,則優(yōu)先發(fā)送該網(wǎng)絡(luò)鏈路故障信息 告警幀;并用于接收流量控制模塊23發(fā)來的流控信息,如果是流控停止信息,則發(fā)送完當(dāng)前 數(shù)據(jù)幀后,停止輪詢數(shù)據(jù)幀隊(duì)列,直到收到流控喚醒信息或流控結(jié)束時(shí),重新開始輪詢數(shù)據(jù) 幀隊(duì)列。
[0074]參照?qǐng)D5,本發(fā)明的用戶端口幀處理模塊3包括:輸入處理子模塊31、幀識(shí)別子模塊 32、流量控制子模塊33和輸出處理子模塊34。
[0075]所述輸入處理模塊31,通過使用異步FIFO消除數(shù)據(jù)幀跨時(shí)鐘域的亞穩(wěn)態(tài)問題,接 收并緩存數(shù)據(jù)幀至以太網(wǎng)類型域字段,并將緩存的數(shù)據(jù)幀部分字節(jié)發(fā)往幀識(shí)別模塊32。
[0076] 所述幀識(shí)別模塊32,用于根據(jù)輸入處理模塊31緩存的部分?jǐn)?shù)據(jù)幀提取數(shù)據(jù)幀的目 的MAC地址、源MAC地址和幀類型,并判斷所提取的幀類型:
[0077] 如果是數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊4發(fā)送查表請(qǐng)求,獲取目的端 口,再對(duì)目的端口進(jìn)行判斷:若目的端口為左端口,則將普通幀發(fā)送給右端口的輸出處理子 模塊14,若目的端口是右端口,將普通幀發(fā)送給用戶端口的輸出處理子模塊24;
[0078] 如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊33;
[0079] 所述流量控制模塊33,用于根據(jù)目的端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流量控 制,當(dāng)數(shù)據(jù)幀隊(duì)列到達(dá)警戒線時(shí),組建PAUSE停止幀,當(dāng)流控結(jié)束時(shí),組建PAUSE喚醒幀,并將 該P(yáng)AUSE喚醒幀或PAUSE停止幀送入對(duì)應(yīng)端口處的輸出處理模塊進(jìn)行轉(zhuǎn)發(fā);并解析從幀識(shí)別 模塊31送來的PAUSE幀,提取流控信息,并將流控信息發(fā)送給輸出處理模塊34。
[0080] 所述輸出處理模塊14,用于接收其他兩個(gè)端口發(fā)來的數(shù)據(jù)幀和協(xié)議幀,并分別緩 存在兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列中,依次輪詢兩個(gè)數(shù)據(jù)幀隊(duì)列和PAUSE幀隊(duì)列進(jìn)行發(fā) 送;并用于接收流量控制模塊13發(fā)來的流控信息,如果是流控停止信息,則發(fā)送完當(dāng)前數(shù)據(jù) 幀后,停止輪詢數(shù)據(jù)幀隊(duì)列,直到收到流控喚醒信息或流控結(jié)束時(shí),重新開始輪詢數(shù)據(jù)幀隊(duì) 列。
[0081 ]本發(fā)明的轉(zhuǎn)發(fā)方法包括數(shù)據(jù)接收流程和數(shù)據(jù)發(fā)送流程。
[0082]參照?qǐng)D6,本發(fā)明方法的數(shù)據(jù)接收流程如下:
[0083]步驟1,根據(jù)PHY芯片寄存器中的內(nèi)容判斷網(wǎng)絡(luò)鏈路狀況。
[0084] 通過PHY芯片的MDio接口讀其寄存器的內(nèi)容,其中一個(gè)特定的寄存器表示PHY芯片 連接狀態(tài),若連接狀態(tài)為0N,則網(wǎng)絡(luò)鏈路正常,執(zhí)行步驟2,若連接狀態(tài)為OFF,則網(wǎng)絡(luò)鏈路故 障,執(zhí)行步驟4。
[0085]步驟2,對(duì)輸入的數(shù)據(jù)幀進(jìn)行跨時(shí)鐘域處理,得到同步數(shù)據(jù)幀。
[0086] (2a)利用異步FIFO接收輸入的異步數(shù)據(jù)幀,解決跨時(shí)鐘域問題并得到同步數(shù)據(jù) 幀;
[0087] (2b)緩存同步數(shù)據(jù)幀至以太網(wǎng)類型域字段,即此處的緩存結(jié)構(gòu)深度只有16字節(jié), 之后執(zhí)行步驟3。
[0088] 步驟3,提取同步數(shù)據(jù)幀的特征信息。
[0089] (3a)由于步驟(2b)中緩存了部分同步數(shù)據(jù)幀,提取其中數(shù)據(jù)幀的目的MAC地址、源 MAC地址和類型域,以太網(wǎng)的幀格式如表1所示;
[0090] 表1以太網(wǎng)數(shù)據(jù)幀格式(B: byte,字節(jié))
[0091]
[0092] (3b)根據(jù)類型域判斷該數(shù)據(jù)幀的類型:當(dāng)類型域?yàn)?x8808時(shí),該數(shù)據(jù)幀為PAUSE 幀,執(zhí)行步驟5;當(dāng)類型域?yàn)樽远x的特殊值時(shí),該數(shù)據(jù)幀為專用協(xié)議幀,執(zhí)行步驟6;當(dāng)類型 為其他值時(shí),該數(shù)據(jù)幀為普通數(shù)據(jù)幀,執(zhí)行步驟7。
[0093] 步驟4,重建鏈路。
[0094] (4a)由于舊地址表中存在發(fā)生故障的端口,無法正確實(shí)現(xiàn)地址查找,故清空舊地 址表,通過地址學(xué)習(xí)建立新的地址表;
[0095] (4b)故障信息需要上報(bào)給其他轉(zhuǎn)發(fā)器和服務(wù)器,故組建網(wǎng)絡(luò)鏈路故障信息告警 幀,并將該幀送入非故障端口,執(zhí)行發(fā)送步驟。
[0096] 步驟5,判斷PAUSE幀的類型。
[0097] 判斷PAUSE幀類型:如果是PAUSE喚醒幀,則開啟端口處的輸出流量,并丟棄該 PAUSE喚醒幀,如果是PAUSE停止幀,則停止輸出模塊發(fā)送數(shù)據(jù)幀并丟棄PAUSE停止幀,直到 收到PAUSE喚醒幀或者流控超時(shí)時(shí),停止流控并丟棄PAUSE喚醒幀。
[0098] 其中,PAUSE的目的地址是特殊的組播地址:01-80-C2-00-00-01,類型域值為 0x8808,MAC控制碼為0x0001,PAUSE停止幀MAC控制參數(shù)不為0,PAUSE喚醒幀MAC控制參數(shù)為 0,以太網(wǎng)PAUSE幀格式如表2所示。
[0099] 表2以太網(wǎng)PAUSE幀格式(B: by te,字節(jié))
[0100]
[0101] 步驟6,配置轉(zhuǎn)發(fā)器。
[0102] 根據(jù)專用協(xié)議幀的內(nèi)容對(duì)轉(zhuǎn)發(fā)器進(jìn)行相應(yīng)的配置與管理,并判斷該專用協(xié)議幀是 否需要轉(zhuǎn)發(fā),如果該專用協(xié)議幀需要對(duì)多個(gè)轉(zhuǎn)發(fā)器進(jìn)行配置管理,則該專用協(xié)議幀就需要 轉(zhuǎn)發(fā),進(jìn)入數(shù)據(jù)發(fā)送步驟;如果該專用協(xié)議幀只是在配置管理當(dāng)前轉(zhuǎn)發(fā)器,配置完成后丟棄 該幀。
[0103] 步驟7,地址學(xué)習(xí)與查找。
[0104] (7a)根據(jù)數(shù)據(jù)幀的源MAC地址與源端口進(jìn)行地址學(xué)習(xí),學(xué)習(xí)普通數(shù)據(jù)幀的源MAC地 址和源端口號(hào)的映射關(guān)系,由該映射關(guān)系建立地址表;
[0105] (7b)根據(jù)數(shù)據(jù)幀的目的MAC地址查找目的端口,進(jìn)入數(shù)據(jù)發(fā)送。
[0106] 參照?qǐng)D7,本發(fā)明的數(shù)據(jù)發(fā)送流程如下:
[0107] 步驟8,建立輸出隊(duì)列。
[0108] (8a)由于在兩個(gè)端口的輸出端口 一致時(shí),可能存在輸出阻塞,故在目的端口處建 立三個(gè)隊(duì)列,分別存放其他兩個(gè)端口待發(fā)送的數(shù)據(jù)幀和待發(fā)送的PAUSE幀;
[0109] (8b)判斷(8a)中數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài),若數(shù)據(jù)幀隊(duì)列存儲(chǔ)達(dá)到警戒線,即代表 此時(shí)需要進(jìn)行流量控制,執(zhí)行步驟9,否則執(zhí)行步驟10。
[0110] 步驟9,組建PAUSE幀。
[0111] 組建PAUSE停止幀,并將該P(yáng)AUSE停止幀傳遞給達(dá)到警戒線的隊(duì)列所對(duì)應(yīng)的端口進(jìn) 行發(fā)送,請(qǐng)求對(duì)端暫停數(shù)據(jù)發(fā)送,以此實(shí)現(xiàn)流量控制。
[0112] 步驟10,輸出至端口。
[0113] (10a)當(dāng)目的端口無阻塞時(shí),數(shù)據(jù)幀到達(dá)即可輸出至端口,即為直通工作模式;
[0114] (10b)當(dāng)目的端口有阻塞時(shí),輪詢(8a)中的三個(gè)隊(duì)列,并輸出至端口,若有待發(fā)送 的專用協(xié)議幀,正在輸出的數(shù)據(jù)幀完成輸出后,優(yōu)先選擇專用協(xié)議幀進(jìn)行輸出。
[0115] 以上僅為本發(fā)明的優(yōu)選實(shí)例,不構(gòu)成對(duì)本發(fā)明的任何限制,顯然根據(jù)本發(fā)明的構(gòu) 思,本領(lǐng)域的技術(shù)人員均可做出不同的修改和置換,但這些均在本發(fā)明的保護(hù)之列。
【主權(quán)項(xiàng)】
1. 一種基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,包括端口和處理單元,其特征在于: 所述端口,采用T型分布結(jié)構(gòu),即分別為左端口、右端口和用戶端口,左端口和右端口為 網(wǎng)絡(luò)端口,用于連接網(wǎng)絡(luò)設(shè)備,用戶端口用于用戶終端接入; 所述處理單元,包括: 左端口幀處理模塊(1),用于接收左端口處輸入的數(shù)據(jù)幀、右端口幀處理模塊(2)和用 戶端口幀處理模塊(3)輸出的數(shù)據(jù)幀,并提取左端口輸入數(shù)據(jù)幀的源端口和源MAC地址信息 送入地址學(xué)習(xí)與查找模塊(4); 右端口幀處理模塊(2),用于接收右端口處輸入的數(shù)據(jù)幀、左端口幀處理模塊(1)和用 戶端口幀處理模塊(3)輸出的數(shù)據(jù)幀,并提取右端口輸入數(shù)據(jù)幀的源端口和源MAC地址信息 送入地址學(xué)習(xí)與查找模塊(4); 用戶端口幀處理模塊(3),用于接收用戶端口適配模塊(6)處輸入的數(shù)據(jù)幀、左端口幀 處理模塊(1)和右端口幀處理模塊(2)輸出的數(shù)據(jù)幀,并提取用戶端口適配模塊(6)輸入數(shù) 據(jù)幀的源端口和源MC地址信息送入地址學(xué)習(xí)與查找模塊(4); 地址學(xué)習(xí)與查找模塊(4),用于根據(jù)左端口幀處理模塊(1)、右端口幀處理模塊(2)和用 戶端口幀處理模塊(3)送入數(shù)據(jù)幀的源端口和源MAC地址信息建立地址表,并通過地址查找 得到數(shù)據(jù)幀的目的端口; 專用協(xié)議處理模塊(5),用于接收左端口幀處理模塊(1)和右端口幀處理模塊(2)處的 專用協(xié)議幀,并根據(jù)專用協(xié)議幀實(shí)現(xiàn)對(duì)轉(zhuǎn)發(fā)器的配置和管理; 用戶端口適配模塊(6),用于將用戶端口處的用戶輸入數(shù)據(jù)轉(zhuǎn)換為轉(zhuǎn)發(fā)器所用數(shù)據(jù)幀 送入用戶端口幀處理模塊(3),并實(shí)現(xiàn)以太網(wǎng)10/100/1000M自適應(yīng)功能。2. 根據(jù)權(quán)利要求1所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,地址學(xué)習(xí) 與查找模塊(4)在網(wǎng)絡(luò)鏈路發(fā)生故障時(shí),通過清空地址表后重新進(jìn)行地址學(xué)習(xí)得到新地址 表,實(shí)現(xiàn)網(wǎng)絡(luò)鏈路重建。3. 根據(jù)權(quán)利要求1所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,專用協(xié)議 處理模塊(5)所接收的專用協(xié)議幀為自定義類型值的以太網(wǎng)幀。4. 根據(jù)權(quán)利要求1所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,左端口幀 處理模塊(1)包括: 輸入處理子模塊(11 ),用于接收并同步輸入數(shù)據(jù)幀,緩存幀頭信息,同時(shí)檢測(cè)網(wǎng)絡(luò)鏈路 故障并將網(wǎng)絡(luò)鏈路故障信息發(fā)送給專用協(xié)議處理模塊(5); 幀識(shí)別子模塊(12),用于根據(jù)輸入處理子模塊(11)緩存的幀頭信息提取數(shù)據(jù)幀的目的 MAC地址、源MAC地址和幀類型,并判斷所提取的幀類型: 如果數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊(4)發(fā)送查表請(qǐng)求,獲取普通幀的目的 端口,再對(duì)目的端口進(jìn)行判斷:若目的端口為右端口,則將普通幀發(fā)送給右端口的輸出處理 子模塊(24),若目的端口是用戶端口,將普通幀發(fā)送給用戶端口的輸出處理子模塊(34); 如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊(13); 如果數(shù)據(jù)幀是專用協(xié)議幀,則將專用協(xié)議幀發(fā)送給專用協(xié)議處理模塊(5); 流量控制子模塊(13),用于根據(jù)右端口或用戶端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流 量控制,并解析接收到的PAUSE幀,提取流控信息給輸出處理子模塊(14); 輸出處理子模塊(14),用于接收右端口和用戶端口發(fā)來的普通幀和PAUSE幀并存儲(chǔ)至 相應(yīng)隊(duì)列,依次輪詢輸出至左端口,并根據(jù)流量控制子模塊(13)的流控信息判斷流控信息 類型: 如果是流控停止信息,則發(fā)送完當(dāng)前數(shù)據(jù)幀后,停止輪詢輸出; 如果是流控喚醒信息,則重新開始輪詢輸出。5. 根據(jù)權(quán)利要求1所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,右端口幀 處理模塊(2)包括: 輸入處理子模塊(21),用于接收并同步輸入數(shù)據(jù)幀,緩存幀頭信息,同時(shí)檢測(cè)網(wǎng)絡(luò)鏈路 故障并將網(wǎng)絡(luò)鏈路故障信息發(fā)送給專用協(xié)議處理模塊(5); 幀識(shí)別子模塊(22),用于根據(jù)輸入處理子模塊(21)緩存的幀頭信息提取數(shù)據(jù)幀的目的 MAC地址、源MAC地址和幀類型,并判斷所提取的幀類型: 如果數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊(4)發(fā)送查表請(qǐng)求,獲取普通幀的目的 端口,再對(duì)目的端口進(jìn)行判斷:若目的端口為左端口,則將普通幀發(fā)送給左端口的輸出處理 子模塊(14),若目的端口是用戶端口,將普通幀發(fā)送給用戶端口的輸出處理子模塊(34); 如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊(23); 如果數(shù)據(jù)幀是專用協(xié)議幀,則將專用協(xié)議幀發(fā)送給專用協(xié)議處理模塊(5); 流量控制子模塊(23),用于根據(jù)左端口或用戶端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流 量控制,并解析接收到的PAUSE幀,提取流控信息給輸出處理子模塊(24); 輸出處理子模塊(24),用于接收左端口和用戶端口發(fā)來的普通幀和PAUSE幀并存儲(chǔ)至 相應(yīng)隊(duì)列,依次輪詢輸出至右端口,并根據(jù)流量控制子模塊(23)的流控信息判斷流控信息 類型: 如果是流控停止信息,則發(fā)送完當(dāng)前數(shù)據(jù)幀后,停止輪詢輸出; 如果是流控喚醒信息,則重新開始輪詢輸出。6. 根據(jù)權(quán)利要求1所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,用戶端口 幀處理模塊(3)包括: 輸入處理子模塊(31 ),用于接收并同步輸入數(shù)據(jù)幀,緩存幀頭信息; 幀識(shí)別子模塊(32),用于根據(jù)輸入處理子模塊(31)緩存的幀頭信息快速提取數(shù)據(jù)幀的 目的MAC地址、源MAC地址和幀類型等特征信息,并判斷所提取的幀類型: 如果數(shù)據(jù)幀是普通幀,則向地址學(xué)習(xí)與查找模塊(4)發(fā)送查表請(qǐng)求,獲取普通幀的目的 端口,再對(duì)目的端口進(jìn)行判斷:若目的端口為左端口,將普通幀發(fā)送給左端口的輸出處理子 模塊(14),若目的端口是右端口,將普通幀發(fā)送給右端口的輸出處理子模塊(24); 如果數(shù)據(jù)幀是PAUSE幀,則將PAUSE幀發(fā)送給流量控制子模塊(33); 流量控制子模塊(33),用于根據(jù)左端口或右端口處的數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài)實(shí)現(xiàn)流量 控制,并用于解析接收到的PAUSE幀,提取流控信息,并將流控信息發(fā)送給輸出處理子模塊 (34); 輸出處理子模塊(34),用于接收左端口和右端口發(fā)來的數(shù)據(jù)幀和PAUSE幀并存儲(chǔ)至相 應(yīng)隊(duì)列,依次輪詢輸出至用戶端口適配模塊(6),并根據(jù)流量控制子模塊(33)的流控信息判 斷流控信息類型: 如果是流控停止信息,則發(fā)送完當(dāng)前數(shù)據(jù)幀后,停止輪詢輸出; 如果是流控喚醒信息,則重新開始輪詢輸出。7. 根據(jù)權(quán)利要求4或5或6所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,輸 入處理子模塊(11)、輸入處理子模塊(21)和輸入處理子模塊(31)均包括一個(gè)異步FIFO,對(duì) 輸入數(shù)據(jù)幀進(jìn)行跨時(shí)鐘域處理,得到同步數(shù)據(jù)幀。8. 根據(jù)權(quán)利要求4或5所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,所述輸 入處理子模塊(11)和輸入處理子模塊(21)均通過讀PHY芯片寄存器的方式檢測(cè)網(wǎng)絡(luò)鏈路故 障。9. 根據(jù)權(quán)利要求4或5或6所述的基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)器,其特征在于,所 述輸出處理子模塊(14)、輸出處理子模塊(24)和輸出處理子模塊(34)均包含三個(gè)隊(duì)列,當(dāng) 輸出端口無阻塞時(shí),按照直通轉(zhuǎn)發(fā)方式發(fā)送數(shù)據(jù)幀,當(dāng)輸出端口有阻塞時(shí),通過公平輪詢?cè)?三個(gè)隊(duì)列實(shí)現(xiàn)數(shù)據(jù)幀的轉(zhuǎn)發(fā)。10. -種基于T型結(jié)構(gòu)的低時(shí)延以太網(wǎng)轉(zhuǎn)發(fā)方法,包括; 1) 數(shù)據(jù)接收步驟: 1.1) 根據(jù)PHY芯片寄存器中的連接狀態(tài)判斷網(wǎng)絡(luò)鏈路狀況:若PHY芯片連接狀態(tài)為ON, 則鏈路正常,執(zhí)行步驟1.2),若PHY芯片連接狀態(tài)為0FF,則鏈路故障,執(zhí)行步驟1.4); 1.2) 對(duì)輸入的異步數(shù)據(jù)幀進(jìn)行跨時(shí)鐘域處理,得到同步數(shù)據(jù)幀,緩存同步數(shù)據(jù)幀至以 太網(wǎng)類型域字段后,執(zhí)行步驟1.3); 1.3) 從同步數(shù)據(jù)幀的緩存內(nèi)容中提取其目的MAC地址、源MAC地址和類型域信息,判斷 該同步數(shù)據(jù)幀的類型:若同步數(shù)據(jù)幀為PAUSE幀,執(zhí)行步驟1.5),若同步數(shù)據(jù)幀為專用協(xié)議 幀,即自定義類型值的以太網(wǎng)幀,執(zhí)行步驟1.6),若同步數(shù)據(jù)幀為普通數(shù)據(jù)幀,執(zhí)行步驟 1.7); 1.4) 重建鏈路并產(chǎn)生網(wǎng)絡(luò)鏈路故障信息告警幀: 1.4a)清空地址表,并通過地址學(xué)習(xí)重新建立地址表,實(shí)現(xiàn)網(wǎng)絡(luò)鏈路重建; 1.4b)組建網(wǎng)絡(luò)鏈路故障信息告警幀,并將該幀送入非故障端口,執(zhí)行發(fā)送步驟2); 1.5) 判斷PAUSE幀的類型:如果PAUSE幀是停止幀,則停止端口的輸出流量后,丟棄該 PAUSE幀,如果PAUSE幀是喚醒幀,則開啟端口處的輸出流量后,丟棄該P(yáng)AUSE幀; 1.6) 根據(jù)專用協(xié)議幀的內(nèi)容對(duì)轉(zhuǎn)發(fā)器進(jìn)行相應(yīng)的配置與管理,并判斷該專用協(xié)議幀是 否需要轉(zhuǎn)發(fā),如果需要轉(zhuǎn)發(fā),則進(jìn)入數(shù)據(jù)發(fā)送步驟2),否則丟棄; 1.7) 根據(jù)普通數(shù)據(jù)幀的源MAC地址和源端口號(hào)進(jìn)行地址學(xué)習(xí),并根據(jù)普通數(shù)據(jù)幀的目 的MC地址查找目的端口,進(jìn)入數(shù)據(jù)發(fā)送步驟2); 2) 數(shù)據(jù)發(fā)送步驟: 2.1) 在目的端口處建立三個(gè)隊(duì)列,分別存放其它兩個(gè)端口待發(fā)送的數(shù)據(jù)幀和待發(fā)送的 PAUSE幀,并判斷數(shù)據(jù)幀隊(duì)列的存儲(chǔ)狀態(tài):若數(shù)據(jù)幀隊(duì)列存儲(chǔ)達(dá)到警戒線,則執(zhí)行步驟2.2), 否則執(zhí)行步驟2.3); 2.2) 組建PAUSE停止幀,并將該P(yáng)AUSE停止幀傳遞給達(dá)到警戒線的隊(duì)列所對(duì)應(yīng)的端口進(jìn) 行發(fā)送; 2.3) 輪詢輸出2.1)中的三個(gè)隊(duì)列,若有待發(fā)送的專用協(xié)議幀,優(yōu)先輸出專用協(xié)議幀。
【文檔編號(hào)】H04L12/28GK105933162SQ201610472276
【公開日】2016年9月7日
【申請(qǐng)日】2016年6月24日
【發(fā)明人】邱智亮, 李興旺, 潘偉濤, 劉歡, 范傳輝, 趙海峰
【申請(qǐng)人】西安電子科技大學(xué)