欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng)的制作方法

文檔序號(hào):7852668閱讀:202來源:國知局
專利名稱:以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng),特別是涉及一種在Linux (Linux是一種自由和開放源碼的類Unix操作系統(tǒng)(UNIX操作系統(tǒng),是美國AT&T公司于1971年在TOP-11上運(yùn)行的操作系統(tǒng)。具有多用戶、多任務(wù)的特點(diǎn),支持多種處理器架構(gòu),最早由肯 湯普遜(Kenneth Lane Thompson)、丹尼 斯 里奇(Dennis MacAlistairRitchie)和Douglas McIlroy于1969年在AT&T的貝爾實(shí)驗(yàn)室開發(fā)))操作系統(tǒng)中以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng)。
背景技術(shù)
隨著Linux系統(tǒng)應(yīng)用越來越廣泛,特別是基于Linux的嵌入式系統(tǒng)在交換機(jī),路由器,PON (Passive Optical Network,無源光纖網(wǎng)絡(luò))等網(wǎng)絡(luò)設(shè)備中廣泛應(yīng)用。而一些上層網(wǎng)絡(luò)協(xié)議并不滿足于單單獲取原始的數(shù)據(jù)包內(nèi)容,而是需要獲取更多的數(shù)據(jù)包控制信息,比如交換機(jī)中的物理端口號(hào),VLAN ID號(hào)(Virtual Local AreaNetwork,虛擬局域網(wǎng),ID,身份標(biāo)識(shí)號(hào)碼),Cos (class of server,服務(wù)類別)值等或者其他一些特殊控制信息。原有的Linux系統(tǒng)上層網(wǎng)絡(luò)應(yīng)用使用標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程是無法獲取數(shù)據(jù)包的這一部分控制信息,協(xié)議棧也并沒有支持這種特殊需求?,F(xiàn)有技術(shù)中,倘若想要獲得這些控制信息,以交換機(jī)為例一般交換芯片所帶數(shù)據(jù)包信息會(huì)額外添加該芯片特有的標(biāo)簽信息,即所包含的該數(shù)據(jù)包來源的MAC芯片物理端口號(hào),來源VLAN Id號(hào),來源的QoS隊(duì)列號(hào)等。而作為上層協(xié)議棧對(duì)于原始數(shù)據(jù)包中的這些額外標(biāo)簽信息并不識(shí)別,所以驅(qū)動(dòng)一般會(huì)對(duì)數(shù)據(jù)包做些特殊處理,即通過識(shí)別不同的協(xié)議包進(jìn)行去除標(biāo)簽信息和保留標(biāo)簽信息操作。當(dāng)然上層協(xié)議應(yīng)用對(duì)于這些標(biāo)簽信息也需要做一些特殊的處理才能識(shí)別。隨著上層協(xié)議越來越多,越來越復(fù)雜,驅(qū)動(dòng)需要去識(shí)別的協(xié)議也越來越多,這勢必會(huì)影響到驅(qū)動(dòng)效率,而且這種處理方式本身也有悖于系統(tǒng)架構(gòu),因?yàn)轵?qū)動(dòng)只需要關(guān)心底層數(shù)據(jù)包合法性和完整性即可,完全不需要關(guān)心數(shù)據(jù)包的具體內(nèi)容。由此,希望能在不影響到其他正常的通信的情況下找到一種獲取這些控制信息的方法。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中為了識(shí)別控制信息而增加驅(qū)動(dòng)負(fù)擔(dān)的缺陷,提供一種兼容現(xiàn)有的協(xié)議棧、不影響正常通信且不增加驅(qū)動(dòng)負(fù)擔(dān)的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng)。本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,其特點(diǎn)在于,其包括以下步驟步驟S1、將該控制信息存儲(chǔ)在一 Skb結(jié)構(gòu)體(套接字緩沖區(qū)結(jié)構(gòu)體)中并上傳至協(xié)議棧的網(wǎng)絡(luò)層;
步驟S2、將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體(消息頭結(jié)構(gòu)體)中;步驟S3、將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。優(yōu)選地,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。優(yōu)選地,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MACXMediumAccess Control,介質(zhì)訪問控制)之后、協(xié)議號(hào)之前。格式一般為標(biāo)簽號(hào)加信息,長度也為固定長度。本發(fā)明還提供一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng),其特點(diǎn)在于,其包括·一數(shù)據(jù)包上傳裝置,用于將該控制信息存儲(chǔ)在一 skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層;一數(shù)據(jù)包傳輸裝置,用于將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體中;一數(shù)據(jù)包獲取裝置,用于將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。優(yōu)選地,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。優(yōu)選地,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MAC之后、協(xié)議號(hào)之前。本發(fā)明的積極進(jìn)步效果在于本發(fā)明提供了一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng),可以在不影響正常通信、且兼容現(xiàn)有協(xié)議棧的情況下獲取數(shù)據(jù)包中的控制信息,且不會(huì)加重驅(qū)動(dòng)的負(fù)擔(dān)。


圖I為本發(fā)明一實(shí)施例的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法的流程圖。圖2為本發(fā)明一實(shí)施例的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面結(jié)合附圖給出本發(fā)明較佳實(shí)施例,以詳細(xì)說明本發(fā)明的技術(shù)方案。參考圖1,本發(fā)明所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,包括以下步驟步驟S1、將該控制信息存儲(chǔ)在一 skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層;步驟S2、將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體中;步驟S3、將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。其中,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。一般來說,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MAC之后、協(xié)議號(hào)之前,格式一般為標(biāo)簽號(hào)加信息,長度也為固定長度。參考圖2,本發(fā)明所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng),包括一數(shù)據(jù)包上傳裝置1,用于將該控制信息存儲(chǔ)在一 skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層;一數(shù)據(jù)包傳輸裝置2,用于將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體中;一數(shù)據(jù)包獲取裝置3,用于將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息?!て渲?,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。一般來說,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MAC之后、協(xié)議號(hào)之前,格式一般為標(biāo)簽號(hào)加信息,長度也為固定長度。下面以交換機(jī)為例進(jìn)一步介紹本發(fā)明的技術(shù)方案。首先,網(wǎng)卡驅(qū)動(dòng)接受來自以太網(wǎng)的數(shù)據(jù)包,一般會(huì)在數(shù)據(jù)包中自動(dòng)插入一些控制信息,例如以太網(wǎng)數(shù)據(jù)包中包括目的MAC地址、源MAC地址、協(xié)議號(hào)、數(shù)據(jù)內(nèi)容和FCS,而該控制信息一般會(huì)在以太網(wǎng)數(shù)據(jù)包的源MAC地址和協(xié)議號(hào)之間,一般為10個(gè)字節(jié)。例如,該控制信息包括識(shí)別標(biāo)簽,隊(duì)列號(hào),物理端口號(hào),Vlan標(biāo)簽,Vlan號(hào)。接著,網(wǎng)卡驅(qū)動(dòng)直接傳送該以太網(wǎng)數(shù)據(jù)包到TCP/IP (Transmission ControlProtocol/Internet Protocol,中譯名為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議,是Internet最基本的協(xié)議)協(xié)議棧,協(xié)議棧首先處理該以太網(wǎng)數(shù)據(jù)包是否為ARP協(xié)議模塊(ARP,地址解析協(xié)議模塊),然后傳送到IP協(xié)議模塊(聯(lián)網(wǎng)協(xié)議模塊),IP模塊主要再分為TCP協(xié)議和UDP協(xié)議,最后上傳至上層應(yīng)用程序(TCP是面向連接的通信協(xié)議,通過三次握手建立連接,通訊完成時(shí)要拆除連接,由于TCP是面向連接的所以只能用于點(diǎn)對(duì)點(diǎn)的通訊;UDP是面向無連接的通訊協(xié)議,UDP數(shù)據(jù)包括目的端口號(hào)和源端口號(hào)信息,由于通訊不需要連接,所以可以實(shí)現(xiàn)廣播發(fā)送)。協(xié)議棧中通信函數(shù)有sock_read、sock_recvmsg、sys_read、inet_recvmsg、udp_recvmsg、skb_recv_datagram> sock_queue_rcv_skb> udp_queue_rcv_skb> udp_rcv> ip_local deliver_finish>ip_local_deliver>ip_recv>net_rc_action 和 netif_rx。其中主要函數(shù)有netif_rx,驅(qū)動(dòng)上調(diào)函數(shù)。ip_recv為IP層收包處理函數(shù)。udp_recvmsg為upd收包處理函數(shù),其中,netif_rx,驅(qū)動(dòng)上調(diào)函數(shù),是協(xié)議棧提供給驅(qū)動(dòng)的收包接口函數(shù)。ip_recv為IP層收包處理函數(shù),協(xié)議棧接收處理IP層數(shù)據(jù)包的函數(shù)。udp_recvmsg為udp收包處理函數(shù),是協(xié)議棧接收處理UDP數(shù)據(jù)包的函數(shù)。以上這些接口都是標(biāo)準(zhǔn)TCP/IP協(xié)議棧提供的各層數(shù)據(jù)包處理接口。了解了整個(gè)以太網(wǎng)數(shù)據(jù)包的傳輸流程之后,進(jìn)一步介紹如何實(shí)現(xiàn)通過這些函數(shù)從驅(qū)動(dòng)層傳輸特殊信息到上層應(yīng)用的。
如上所述,先把控制信息帶入skb這個(gè)結(jié)構(gòu)體中,因?yàn)檎麄€(gè)協(xié)議棧都可以處理skb中所帶的數(shù)據(jù)包信息。而在上層傳輸過程中,可以使用msghdr這個(gè)結(jié)構(gòu)體,不同協(xié)議收包都有確認(rèn)使用該結(jié)構(gòu)體存儲(chǔ)一些自帶的控制信息。最后需要另外設(shè)計(jì)一套系統(tǒng)調(diào)用函數(shù)用以把msghdr中信息帶給上層,同時(shí)該系統(tǒng)調(diào)用也需要支持原有的網(wǎng)絡(luò)接口,通過調(diào)用基于原有的網(wǎng)絡(luò)接口函數(shù),例如recvfrom函數(shù),原有參數(shù)中添加這些控制信息結(jié)構(gòu)體參數(shù),其中處理函數(shù)保持原有不變,新增傳遞skb架構(gòu)體中帶有的標(biāo)簽信息作為參數(shù)傳送給上層應(yīng)用。雖然以上描述了本發(fā)明的具體實(shí)施方式
,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,本發(fā)明的保護(hù)范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實(shí)質(zhì)的前提下,可以對(duì)這些實(shí)施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護(hù)范圍?!?br> 權(quán)利要求
1.一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,其特征在于,其包括以下步驟 步驟S1、將該控制信息存儲(chǔ)在一 Skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層; 步驟S2、將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體中; 步驟S3、將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。
2.如權(quán)利要求I所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,其特征在于,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。
3.如權(quán)利要求I所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,其特征在于,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MAC之后、協(xié)議號(hào)之前。
4.一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng),其特征在于,其包括 一數(shù)據(jù)包上傳裝置,用于將該控制信息存儲(chǔ)在一 skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層; 一數(shù)據(jù)包傳輸裝置,用于將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一 msghdr結(jié)構(gòu)體中; 一數(shù)據(jù)包獲取裝置,用于將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。
5.如權(quán)利要求4所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng),其特征在于,該控制信息選自識(shí)別標(biāo)簽,隊(duì)列號(hào),該以太網(wǎng)數(shù)據(jù)包來源的MAC芯片的物理端口號(hào),該以太網(wǎng)數(shù)據(jù)包來源的Vlan標(biāo)簽,該以太網(wǎng)數(shù)據(jù)包來源的Vlan號(hào),Cos值和該以太網(wǎng)數(shù)據(jù)包來源的QoS隊(duì)列號(hào)。
6.如權(quán)利要求4所述的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng),其特征在于,該控制信息在該以太網(wǎng)數(shù)據(jù)包中位于該以太網(wǎng)數(shù)據(jù)包來源的MAC之后、協(xié)議號(hào)之前。
全文摘要
本發(fā)明公開了一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法,包括以下步驟步驟S1、將該控制信息存儲(chǔ)在一skb結(jié)構(gòu)體中并上傳至協(xié)議棧的網(wǎng)絡(luò)層;步驟S2、將該skb結(jié)構(gòu)體傳輸至協(xié)議棧的運(yùn)輸層,并且將該skb結(jié)構(gòu)體中的該控制信息傳遞至一msghdr結(jié)構(gòu)體中;步驟S3、將該msghdr結(jié)構(gòu)體傳輸至協(xié)議棧的應(yīng)用層,并采用一網(wǎng)絡(luò)接口函數(shù)獲取該msghdr結(jié)構(gòu)體中的控制信息。本發(fā)明還公開了一種以太網(wǎng)數(shù)據(jù)包中控制信息的獲取系統(tǒng)。本發(fā)明的以太網(wǎng)數(shù)據(jù)包中控制信息的獲取方法及系統(tǒng),可以在不影響正常通信、且兼容現(xiàn)有協(xié)議棧的情況下獲取數(shù)據(jù)包中的控制信息,且不會(huì)加重驅(qū)動(dòng)的負(fù)擔(dān)。
文檔編號(hào)H04L29/06GK102790717SQ20121017753
公開日2012年11月21日 申請日期2012年6月1日 優(yōu)先權(quán)日2012年6月1日
發(fā)明者陳鸂 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌审旗| 南昌市| 无为县| 新干县| 海丰县| 延安市| 石屏县| 长岭县| 炉霍县| 遂平县| 天等县| 彩票| 邳州市| 万安县| 赣州市| 淮阳县| 罗田县| 商城县| 丰都县| 紫金县| 门源| 神木县| 云林县| 西充县| 孟州市| 秦皇岛市| 张家界市| 综艺| 山丹县| 股票| 都江堰市| 满洲里市| 偃师市| 河东区| 昌都县| 襄城县| 高平市| 温宿县| 观塘区| 合川市| 偏关县|