專利名稱:千兆ip網(wǎng)卡的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)通訊接口。
在傳輸時(shí)的基本原理是當(dāng)發(fā)送IP包時(shí)必須首先由網(wǎng)卡將其按照子網(wǎng)的幀格式進(jìn)行封裝傳送,接收端再進(jìn)行拆封等處理。即,處于第三層(網(wǎng)絡(luò)層)的IP包先送到子網(wǎng)層傳送,再在接收端由子網(wǎng)層升上第三層進(jìn)行處理,在包(幀)格式中,采用封裝和拆封包頭的形式。這一過程處理繁瑣,造成很大的浪費(fèi),包括各種子網(wǎng)層的控制,管理等,而且由于冗余信息多,影響網(wǎng)絡(luò)傳送效率,不符合有效可靠的通信觀念。由于系統(tǒng)比較復(fù)雜,其運(yùn)行費(fèi)用也比較高。
在高速傳輸領(lǐng)域,目前有兩種IP傳送技術(shù),IP over SDH和IP over ATM。這兩種技術(shù)都各有其局限性。所謂在SDH上傳送IP,實(shí)際上是通過把IP封裝進(jìn)點(diǎn)對點(diǎn)協(xié)議(PPP)幀,然后再映射進(jìn)SDH幀中傳送。這種方法基礎(chǔ)設(shè)施完備、運(yùn)行費(fèi)用低、網(wǎng)絡(luò)簡單,但是它的效率不是很高,傳輸速度也受到限制。在ATM上傳送IP是一種比較有效的傳送方法,這種方法通常有較好的服務(wù)質(zhì)量保證和良好的多媒體通信能力,不過這種系統(tǒng)一般較為復(fù)雜、而且運(yùn)行費(fèi)用也較高。
發(fā)明內(nèi)容
千兆IP網(wǎng)卡(第三層)屬于計(jì)算機(jī)聯(lián)網(wǎng)接口設(shè)備,它作為PC的標(biāo)準(zhǔn)PCI設(shè)備,提供光纖千兆速率接口,實(shí)現(xiàn)數(shù)據(jù)包在網(wǎng)絡(luò)層(第三層)的直接傳輸。
本發(fā)明所要解決的技術(shù)問題克服IP數(shù)據(jù)包封裝成子網(wǎng)幀所帶來的弊病,實(shí)現(xiàn)將IP包直接和高速地傳輸(第三層)。為此采用的技術(shù)方案是設(shè)計(jì)出用于PC機(jī)(或路由器)上通訊接口的IP網(wǎng)卡,其特征是,它主要包括PCI接口芯片、數(shù)據(jù)緩沖、附加總線收發(fā)模塊、光電信號轉(zhuǎn)換模塊、邏輯控制模塊,它們互相電連接,以及相應(yīng)的軟件驅(qū)動程序;使用ANSI X3T11光通道標(biāo)準(zhǔn),將IP數(shù)據(jù)包直接放在光纖上傳輸;接收數(shù)據(jù)時(shí),數(shù)據(jù)光信號從光電信號轉(zhuǎn)換模塊進(jìn)來,轉(zhuǎn)換成電信號,再到附加總線收發(fā)模塊,由該模塊進(jìn)行部分解碼(異步方式)和串并轉(zhuǎn)換,再到數(shù)據(jù)緩沖模塊,以匹配接收機(jī)的處理速度,再通過PCI接口芯片,PCI接口芯片用來處理PCI總線協(xié)議,然后數(shù)據(jù)流傳送到PCI總線,發(fā)送過程則相反,同時(shí)邏輯控制模塊起到各模塊之間的協(xié)調(diào)控制作用和部分編解碼工作;軟件驅(qū)動程序采用自定義的握手協(xié)議,控制兩網(wǎng)卡之間的通信。
該發(fā)明的優(yōu)點(diǎn)千兆IP網(wǎng)卡作為IP網(wǎng)的主要接口設(shè)備,將整個(gè)IP包不拆開直接放在光纖上傳輸。這不是傳統(tǒng)意義上的IP over LAN,而是基于一種直接的、未來的IP網(wǎng)。它的具體優(yōu)點(diǎn)如下1.由于省去了第二層的封包與解包過程,節(jié)約了計(jì)算機(jī)處理的時(shí)間。特別是對于高速傳輸?shù)臄?shù)據(jù),其效果更明顯。
2.去掉了第二層的冗余信息。比如以太網(wǎng),每一幀數(shù)據(jù)可以省掉26個(gè)字節(jié)的冗余數(shù)據(jù)(802.3),這樣大大提高了傳輸效率。
3.使實(shí)現(xiàn)的復(fù)雜性大大減少。眾所周知,在網(wǎng)絡(luò)的第二層存在有幾十種傳輸協(xié)議,如以太網(wǎng)、FDDI、令牌環(huán)網(wǎng)、X.25、ATM、ARP、PPP等等。不僅要實(shí)現(xiàn)這些協(xié)議,還要增加各種子網(wǎng)層的管理與控制功能,這增加了編程的復(fù)雜性,因此也導(dǎo)致了系統(tǒng)的不穩(wěn)定性。而使IP數(shù)據(jù)包直接傳輸,通過變更驅(qū)動程序,使之適應(yīng)各種鏈路,則各種子網(wǎng)都可省去,于是其實(shí)現(xiàn)也將大大簡化。
4.可以與現(xiàn)有的IP交換技術(shù)和IP over WDM相結(jié)合,實(shí)現(xiàn)真正的IP交換傳輸和全光網(wǎng)絡(luò)。
5.是未來純IP網(wǎng)的主要接口設(shè)備。
千兆IP網(wǎng)卡有許多應(yīng)用領(lǐng)域,主要用于骨干路由器組網(wǎng)直接連接或通過變更驅(qū)動程序而實(shí)現(xiàn)千兆以太網(wǎng)卡的功能。它更側(cè)重于作為未來的純IP網(wǎng)(各種子網(wǎng)消失)的重要接口設(shè)備。
四
圖1千兆IP網(wǎng)卡典型應(yīng)用效果2千兆IP網(wǎng)卡硬件模塊3千兆IP網(wǎng)卡驅(qū)動程序流程五、具體實(shí)施方案該千兆網(wǎng)卡主要包括硬件網(wǎng)卡和相應(yīng)的軟件驅(qū)動程序,所完成的技術(shù)方案是使用ANSI X3T11光通道標(biāo)準(zhǔn),將IP數(shù)據(jù)包直接放在光纖上傳輸,數(shù)據(jù)流按照光電信號轉(zhuǎn)換模塊——附加總線收發(fā)模塊——數(shù)據(jù)緩沖——PCI接口芯片——PCI總線的流程進(jìn)行流動,同時(shí)邏輯控制模塊起到各模塊之間的協(xié)調(diào)控制作用;軟件驅(qū)動程序采用自定義的握手協(xié)議,控制兩網(wǎng)卡之間的通信,并能夠?qū)崿F(xiàn)千兆以太網(wǎng)卡的功能。該網(wǎng)卡能以1Gbps的速率傳輸。它的典型應(yīng)用如附圖1,在這種純IP網(wǎng)中,網(wǎng)絡(luò)設(shè)備端口之間的連接采用千兆IP網(wǎng)卡,完成在第三層直接和高速地傳送IP包的功能,交換機(jī)或路由器使用IP交換或IP overWDM技術(shù),另外,該網(wǎng)絡(luò)提供連接其他傳統(tǒng)子網(wǎng)的接口。這樣不僅可支持現(xiàn)有的各種業(yè)務(wù),而且大大地簡化了網(wǎng)絡(luò)實(shí)現(xiàn)和運(yùn)行成本。
物理層可以有如下選擇1000BASE-CX(短距離銅線)、1000BASE-LX(長波長光,在使用較好的單模光線時(shí)可以較長距離傳輸)、1000BASE-SX(短波長光,使用短波長激光收發(fā)器,運(yùn)行在多模光纖上,距離短)。
A.千兆IP網(wǎng)卡硬件實(shí)現(xiàn)模塊如附圖2,該卡硬件主要包括PCI接口芯片、數(shù)據(jù)緩沖、附加總線收發(fā)模塊、光電信號轉(zhuǎn)換模塊、邏輯控制模塊,它們互相電連接。使用ANSI X3T11光通道標(biāo)準(zhǔn),將IP數(shù)據(jù)包直接放在光纖上傳輸。接收數(shù)據(jù)時(shí),數(shù)據(jù)光信號從光電信號轉(zhuǎn)換模塊進(jìn)來,轉(zhuǎn)換成電信號,再到附加總線收發(fā)模塊,由該模塊進(jìn)行部分解碼(異步方式)和串并轉(zhuǎn)換,再到數(shù)據(jù)緩沖模塊,以匹配接收機(jī)的處理速度,再通過PCI接口芯片,PCI接口芯片用來處理PCI總線協(xié)議,然后數(shù)據(jù)流傳送到PCI總線。發(fā)送過程則相反。同時(shí)邏輯控制模塊起到各模塊之間的協(xié)調(diào)控制作用和部分編解碼工作。下面對每個(gè)模塊進(jìn)行說明PCI總線接口芯片負(fù)責(zé)與PCI總線的各個(gè)協(xié)議信號通信,完成總線信號的轉(zhuǎn)換與匹配,同時(shí)生成用戶可以自己開發(fā)的附加總線接口(Add-On Bus)。本網(wǎng)卡使用AMCC S5933芯片,也可使用類似功能的替代芯片。
NVRAM(非易失性隨機(jī)存儲器)負(fù)責(zé)向PCI總線接口芯片提供PCI協(xié)議需要的配置空間信息。本網(wǎng)卡使用AT24C02芯片,也可使用類似功能的替代芯片。
數(shù)據(jù)緩沖FIFO接受和發(fā)送緩沖,實(shí)現(xiàn)FIFO兩端數(shù)據(jù)速率匹配。本網(wǎng)卡使用IDT72V273L10PF芯片,也可使用類似功能的替代芯片。
邏輯控制模塊主要負(fù)責(zé)各芯片之間的通信,利用自行開發(fā)的協(xié)議控制各種傳輸邏輯,同時(shí)為硬件電路與上層驅(qū)動程序提供編程控制接口。本網(wǎng)卡使用EPM7128AELC84-7(用于低速)和EPM7032AELC44-4(用于高速)芯片,也可使用類似功能的替代芯片。
附加總線收發(fā)模塊分發(fā)送和接收兩方面在發(fā)送數(shù)據(jù)時(shí),負(fù)責(zé)把從數(shù)據(jù)緩沖區(qū)FIFO來的數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換和并/串變換,使之適應(yīng)于物理傳輸特性;在接受數(shù)據(jù)時(shí),接受物理轉(zhuǎn)換模塊送出的千兆級的串行比特流,完成編碼和串/并轉(zhuǎn)換,送到FIFO,并提供同步時(shí)鐘。本網(wǎng)卡使用AMCC S2061芯片,也可使用類似功能的替代芯片。
光電信號轉(zhuǎn)換模塊采用光收發(fā)器,負(fù)責(zé)光與電的互相轉(zhuǎn)換。
B.邏輯控制模塊邏輯控制模塊采用CPLD在線可擦寫芯片。這一部分是整個(gè)硬件電路的核心,也是該技術(shù)具體實(shí)現(xiàn)的核心。該模塊采用兩塊邏輯控制芯片,高速可編程芯片CPLD_H用于控制附加總線收發(fā)模塊、光電信號轉(zhuǎn)換模塊和數(shù)據(jù)緩沖之間的時(shí)序邏輯、發(fā)出中斷與啟用等指令和同步編碼;低速可編程芯片CPLD_L用于控制PCI接口芯片、數(shù)據(jù)緩沖和附加總線收發(fā)模塊之間的時(shí)序邏輯和發(fā)出啟用與停止等指令。
使用VHDL硬件描述語言進(jìn)行編程,然后利用燒寫器將程序燒入CPLD。下面分別對其說明1.CPLD_H(用于高速邏輯控制)1.1標(biāo)志信息包頭利用K28.5實(shí)現(xiàn)數(shù)據(jù)或消息包的開始標(biāo)志空閑碼利用K28.3來填充發(fā)送過程中,F(xiàn)IFO被讀空的情況下線路上數(shù)據(jù)的填充。
包結(jié)束利用K28.1來實(shí)現(xiàn)數(shù)據(jù)或消息包的結(jié)束標(biāo)志1.2邏輯事件1.2.1發(fā)送過程CPLD_H根據(jù)輸入信號PTBURST#、PTWR,以及發(fā)送FIFO的快滿信號、空信號,生成以下控制信號KGEN、TK0、TK1、FRAME、HS_REN#進(jìn)行操作啟動發(fā)送事務(wù)條件當(dāng)PTBURST#上升沿且PTWR為寫有效(==1);或當(dāng)FIFO快滿時(shí)。注意第一種觸發(fā)是否執(zhí)行要看是否已經(jīng)處于發(fā)送狀態(tài),若非則執(zhí)行發(fā)送事務(wù),反之則沒有動作。
發(fā)送事務(wù)行為在觸發(fā)發(fā)送條件滿足后,首先發(fā)送若10個(gè)K28.3同步字,緊接發(fā)送一個(gè)封包K字符(K28.5),并打開發(fā)送FIFO的讀使能HS_REN#==0,使下一個(gè)時(shí)鐘開始發(fā)送數(shù)據(jù);進(jìn)入檢查FIFO的空信號。當(dāng)檢測到FIFO空時(shí),立即發(fā)送封包結(jié)束字符(K28.1),將讀使能HS_REN#無效,結(jié)束本次發(fā)送。
1.2.2接收過程CPLD_H根據(jù)輸入信號RBC1、RBC0、FP、LOCKDET、KFLAG、BYTEER、RK0、RK1,生成以下控制信號接收頻率RBC1、RBC0、HR_WEN#、CONNECTION_1、CONNECTION_2、HR_RST#進(jìn)行操作啟動接收事務(wù)的條件在LOCKDET(1)、BYTERR(0)正常情況下,當(dāng)檢測到一個(gè)包起始標(biāo)志K28.5時(shí),啟動接收事務(wù)。
接收事務(wù)行為在觸發(fā)接收條件滿足后,清空接收FIFO(HR_RST#==0),打開接收FIFO的寫入使能信號(HR_WEN#==0),保證在下一個(gè)時(shí)鐘能夠?qū)懭虢邮誇IFO,同時(shí)置CONNECTION==1 CONNECTION==0,表示數(shù)據(jù)到達(dá)。在檢測到包結(jié)束標(biāo)志時(shí),關(guān)閉寫入使能信號(HR_WEN#==1),同時(shí)置CONNECTION=0CONNECTION=1,表示數(shù)據(jù)接收完畢。
2.CPLD_L(用于低速邏輯控制)2.1初始化設(shè)置管角
2.2發(fā)送事務(wù)根據(jù)PCI_addon管角PTBURST#、PTATN#、PTWR的變化,產(chǎn)生控制信息S_FIFO的寫入使能LS_RST#、LS_WEN#信號。
LS_RST#的產(chǎn)生檢測到PCI_addon的管角PTBURST#(下降沿)、PTWR(1寫),則清空S_FIFO(LS_RST#一個(gè)下降沿)LS_WEN#的產(chǎn)生在PTWR(1)、PTBURST#(0)、PTATN#(0)時(shí)設(shè)置LS_WEN#==0,即打開寫入。
2.3接收事務(wù)根據(jù)接收FIFO的LR_EF/OR#空標(biāo)志以及PCI的PTBURST#、PTATN#、PTWR,產(chǎn)生中斷請求,及R_FIFO的讀使能信號LR_REN#。
中斷產(chǎn)生根據(jù)接收FIFO的空信號(EF/OR#由空變非),向上層遞交一個(gè)中斷通知(寫入ADD_ON端的OUT_Mail_boxl,即ADR[6_2]==00100)LR_REN#的產(chǎn)生在PTWR(0)、PTBURST#(0)、PTATN#(0)時(shí)設(shè)置LR_REN#==0,即打開讀。
2.4中斷通知使用PCI_ADDON的OUT_MAILBOXO的BYTEO產(chǎn)生PCI端中斷,ADR[62]的選擇為00100,BE[30]值為1110。
3.部分真值表
C.軟件實(shí)現(xiàn)1.總體說明使用LINUX操作系統(tǒng)。特點(diǎn)該軟件驅(qū)動程序向系統(tǒng)申請大的緩沖區(qū)(32K),發(fā)送或接收之前使用兩次握手信號,發(fā)送中向數(shù)據(jù)流插入控制字符,并留有千兆以太網(wǎng)卡功能的軟件接口模塊。驅(qū)動程序流程圖如附圖3,程序步驟(1)加載程序時(shí),設(shè)置初始狀態(tài)變量(2)發(fā)送過程向?qū)Ψ桨l(fā)送請求信息,對端的接收過程在收到請求信息后發(fā)出確認(rèn)信息。
(3)發(fā)送過程作好準(zhǔn)備,從應(yīng)用程序中接收到數(shù)據(jù)后向數(shù)據(jù)流插入控制字符,該控制字符標(biāo)識數(shù)據(jù)包的起始、結(jié)束、分片等信息。與此同時(shí),對端接收過程向系統(tǒng)申請大的緩沖區(qū)(32K),準(zhǔn)備接收。此過程中留有完成千兆以太網(wǎng)卡的功能接口模塊,即若是執(zhí)行以太網(wǎng)卡功能,則調(diào)用封裝或拆卸以太網(wǎng)幀頭的例程,并有各種以太網(wǎng)幀頭分析的例程,可設(shè)為渾濁模式。
(4)發(fā)送過程發(fā)送數(shù)據(jù),接收過程在數(shù)據(jù)到達(dá)時(shí),即產(chǎn)生中斷,并同時(shí)調(diào)用接收例程。接收例程根據(jù)控制字符信息,接收數(shù)據(jù)包,并去掉控制字符。
(5)發(fā)送過程等待確認(rèn),如果在預(yù)定時(shí)間沒有收到確認(rèn)信息則超時(shí),返回出錯信息。若沒有超時(shí),則從確認(rèn)信息中判斷是否對端接收正確。若否,返回第3步。接收端在成功接收受,發(fā)送確認(rèn)信息,然后釋放資源,等待新任務(wù)。否則它請求發(fā)送端重發(fā)。
(6)發(fā)送端釋放資源,等待新任務(wù)2.基本函數(shù)說明(1)加載函數(shù)名稱int init_module(void)
功能系統(tǒng)管理員在調(diào)用insmod過程中將驅(qū)動程序以模塊形式加載,init_module調(diào)用后面的引導(dǎo)、打開等函數(shù)尋找設(shè)備,注冊設(shè)備資源,并激活。
(2)卸載函數(shù)名稱void cleanup_module(void)功能系統(tǒng)管理員在調(diào)用rmmod過程中將驅(qū)動程序以模塊形式卸載,cleanup_module調(diào)用內(nèi)核函數(shù)釋放設(shè)備資源(中斷、設(shè)備)(3)引導(dǎo)部分A函數(shù)名稱ip2k_pci_probe()功能;利用函數(shù)pci_find_class()尋找所需要的設(shè)備,利用PCI設(shè)備參數(shù)設(shè)置DEVICE結(jié)構(gòu),利用引導(dǎo)部分B,即ip2k_pci_probel(),以及ip2k_pci_open(),注冊IO地址,中斷資源,并激活。
(4)引導(dǎo)部分B函數(shù)名稱static struct device*ip2k_pci_probel(struct device*dev,long ioaddr,int irq)功能根據(jù)引導(dǎo)部分A中尋找到的設(shè)備的DEVICE結(jié)構(gòu),及讀出的IO、IRQ分配結(jié)構(gòu)向系統(tǒng)注冊這些資源,并設(shè)置有關(guān)DEVICE中的參數(shù)類型。
(5)打開函數(shù)名稱int ip2k_pci_open(struct device*dev)功能注冊中斷、設(shè)置本卡的自身結(jié)構(gòu)參數(shù)、打開時(shí)間、本卡的握手信號狀態(tài)基(無任務(wù)),協(xié)議工作狀態(tài)(不忙)、準(zhǔn)備好、及中斷空,模塊加數(shù),以及物理設(shè)備復(fù)位。
(6)關(guān)閉函數(shù)名稱int ip2k_pci_close(struct device*dev)功能;釋放中斷、設(shè)置本卡的自身結(jié)構(gòu)參數(shù)、打開時(shí)間、本卡的握手信號狀態(tài)基(空閑),協(xié)議工作狀態(tài)(不忙)、未準(zhǔn)備好、模塊減數(shù)。
(7)發(fā)送函數(shù)名稱static int ip2k_pci_output(struct sk_buff*skb,struct device*dev)功能從協(xié)議棧接受要發(fā)送的數(shù)據(jù)包(IP),進(jìn)行必要的處理(形成幀),申請發(fā)送,進(jìn)入中斷偵聽,在規(guī)定時(shí)限內(nèi)得到確認(rèn)信息后,啟動PT猝發(fā)方式發(fā)送數(shù)據(jù),進(jìn)入等待確認(rèn),最后結(jié)束本次發(fā)送。另外,發(fā)送函數(shù)中有必要的發(fā)送信息統(tǒng)計(jì)。
(8)接收函數(shù)名稱static int ip2k_pci_input(struct device*dev)功能;由中斷調(diào)用啟動,負(fù)責(zé)從物理設(shè)備上讀取數(shù)據(jù)包(IP),做必要的差錯檢驗(yàn)后,發(fā)送接收確認(rèn)信息,或請求重發(fā)信息(實(shí)際未進(jìn)行本步驟,直接發(fā)送了確認(rèn)信息)。將接收包放入skb結(jié)構(gòu),并填寫相關(guān)信息,調(diào)用內(nèi)核函數(shù)交給上層協(xié)議棧。
(9)中斷服務(wù)程序函數(shù)名稱static void ip2k_interrupt(int irq,void*dev_id,struct pt_regs*regs)功能負(fù)責(zé)中斷處理,完成控制消息發(fā)送,數(shù)據(jù)收發(fā)及有關(guān)狀態(tài)協(xié)調(diào)。
(10)配置完成PCI配置信息,寫入EEPROM。這個(gè)工作可以交由AMCC自帶的功能程序完成,也可以通過寫IO編程完成。
(11)重構(gòu)報(bào)頭空函數(shù)。僅僅完成設(shè)備數(shù)據(jù)結(jié)構(gòu)的填充,不完成實(shí)際功能。(此處仍設(shè)置這個(gè)函數(shù)是考慮到今后做其它協(xié)議通信卡的需要)3.重要數(shù)據(jù)結(jié)構(gòu)IP卡鏈結(jié)構(gòu)<pre listing-type="program-listing">struct ip2k_pci_card{struct ip2k_pci_card *next;<!-- SIPO <DP n="5"> --><dp n="d5"/>struct device *dev;struct pci_dev *pci_dev;}; static struct ip2k_pci_card *ip2k_card_list=NULL;struct net_local{struct net_device_stats stats;long open_time; /*Useless example local info.*/unsigned short task;/*記錄狀態(tài)*/};自定義結(jié)構(gòu); struct ip2k_head{unsigned int len; /*4bytes,包括IP包附加長度在內(nèi)*/unsigned short protocol;/*2bytes*/unsigned char append; /*lbytes*/unsigned char mess; /*lbytes*/};</pre>分別記錄skb->len(4),skb->protocol(2),填充字節(jié)長度(1),消息(1)4.控制命令規(guī)定序號 全部信號宏定義 值1 空閑IP2K_IDLE0×0F2 請求發(fā)送IP2K_REQ 0×F03 確認(rèn)發(fā)送IP2K_ACK 0×C34 數(shù)據(jù)發(fā)送開始IP2K_DATA_STAR 0×3CT5 數(shù)據(jù)發(fā)送中 IP2K_DATA_SEND 0×AA6 正確確認(rèn)IP2K_OK 0×337 請求重發(fā)IP2KR_T 0×998 準(zhǔn)備接收IP2K_DATA_RECE 0×6權(quán)利要求
1.一種千兆IP網(wǎng)卡,其特征是,它主要包括PCI接口芯片、數(shù)據(jù)緩沖、附加總線收發(fā)模塊、光電信號轉(zhuǎn)換模塊、邏輯控制模塊,它們互相電連接,以及相應(yīng)的軟件驅(qū)動程序;使用ANSI X3T11光通道標(biāo)準(zhǔn),將IP數(shù)據(jù)包直接放在光纖上傳輸;接收數(shù)據(jù)時(shí),數(shù)據(jù)光信號從光電信號轉(zhuǎn)換模塊進(jìn)來,轉(zhuǎn)換成電信號,再到附加總線收發(fā)模塊,由該模塊進(jìn)行部分解碼(異步方式)和串并轉(zhuǎn)換,再到數(shù)據(jù)緩沖模塊,以匹配接收機(jī)的處理速度,再通過PCI接口芯片,PCI接口芯片用來處理PCI總線協(xié)議,然后數(shù)據(jù)流傳送到PCI總線,發(fā)送過程則相反,同時(shí)邏輯控制模塊起到各模塊之間的協(xié)調(diào)控制作用和部分編解碼工作;軟件驅(qū)動程序采用自定義的握手協(xié)議,控制兩網(wǎng)卡之間的通信。
2.根據(jù)權(quán)利要求1所述的千兆IP網(wǎng)卡,其特征是邏輯控制模塊采用兩塊邏輯控制芯片,高速可編程芯片CPLD_H用于控制附加總線收發(fā)模塊、光電信號轉(zhuǎn)換模塊和數(shù)據(jù)緩沖之間的時(shí)序邏輯、發(fā)出中斷與啟用等指令和同步編碼;低速可編程芯片CPLD_L用于控制PCI接口芯片、數(shù)據(jù)緩沖和附加總線收發(fā)模塊之間的時(shí)序邏輯和發(fā)出啟用與停止等指令。
3.根據(jù)權(quán)利要求1所述的千兆IP網(wǎng)卡,其特征是軟件驅(qū)動程序采取下列步驟(1)加載程序時(shí),設(shè)置初始狀態(tài)變量;(2)發(fā)送過程向?qū)Ψ桨l(fā)送請求信息,對端的接收過程在收到請求信息后發(fā)出確認(rèn)信息;(3)發(fā)送過程作好準(zhǔn)備,從應(yīng)用程序中接收到數(shù)據(jù)后向數(shù)據(jù)流插入控制字符,該控制字符標(biāo)識數(shù)據(jù)包的起始、結(jié)束、分片等信息,與此同時(shí),對端接收過程向系統(tǒng)申請大的緩沖區(qū)(32K),準(zhǔn)備接收;(4)發(fā)送過程發(fā)送數(shù)據(jù),接收過程在數(shù)據(jù)到達(dá)時(shí),即產(chǎn)生中斷,并同時(shí)調(diào)用接收例程,接收例程根據(jù)控制字符信息,接收數(shù)據(jù)包,并去掉控制字符;(5)發(fā)送過程等待確認(rèn),如果在預(yù)定時(shí)間沒有收到確認(rèn)信息則超時(shí),返回出錯信息,若沒有超時(shí),則從確認(rèn)信息中判斷是否對端接收正確,若否,返回第3步,接收端在成功接收后,發(fā)送確認(rèn)信息,然后釋放資源,等待新任務(wù),否則它請求發(fā)送端重發(fā)(6)發(fā)送端釋放資源,等待新任務(wù)。
全文摘要
千兆IP網(wǎng)卡(第三層),屬于計(jì)算機(jī)網(wǎng)絡(luò)通訊接口設(shè)備。它是取消傳統(tǒng)的基于第二層傳輸、交換的各種子網(wǎng)技術(shù),將IP包直接放在第三層進(jìn)行交換和傳輸,并使用IP over optics技術(shù),兼容IP over WDM技術(shù),是在一種IP網(wǎng)里的主要接口設(shè)備。它解決了將IP包完整地放在光纖物理鏈路上直接進(jìn)行傳輸?shù)囊幌盗袉栴}。它省去第二層子網(wǎng)技術(shù)的封包與解包過程,節(jié)約了處理時(shí)間和提高了傳輸效率;使實(shí)現(xiàn)的復(fù)雜性大大減少并實(shí)現(xiàn)有效的高速傳輸。該技術(shù)的核心是自行設(shè)計(jì)與開發(fā)的邏輯控制模塊和軟件驅(qū)動程序。主要用于高速路由器之間的通信和通過變更驅(qū)動程序來實(shí)現(xiàn)千兆以太網(wǎng)卡功能,以及用于未來純IP網(wǎng)的主要接口設(shè)備。
文檔編號G06K19/07GK1347062SQ0114007
公開日2002年5月1日 申請日期2001年11月26日 優(yōu)先權(quán)日2001年11月26日
發(fā)明者張宏科, 張思東, 彭雪海, 劉春寧, 寧科, 李洪杰 申請人:北方交通大學(xué)