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

一種基于sopc的nat的實現(xiàn)方法及裝置的制造方法

文檔序號:8945877閱讀:845來源:國知局
一種基于sopc的nat的實現(xiàn)方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及計算機網(wǎng)絡領域,尤其涉及一種網(wǎng)絡地址轉換方法。
【背景技術】
[0002]NAT:Network Address Translat1n,網(wǎng)絡地址轉換。
[0003]SOPC:System-on-ProgrammabIe~Chip,即可編程片上系統(tǒng)。
[0004]ICMP:Internet Control Message Protocol,Internet 控制報文協(xié)議。它是 TCP/IP協(xié)議族的一個子協(xié)議,用于在IP主機、路由器之間傳遞控制消息。
[0005]CAM:Content Addressable Memory,內(nèi)容可尋址存儲器。
[0006]目前NAT的實現(xiàn)主要有三種方法,第一種是純軟件實現(xiàn),載體通常為通用CPU;第二種是基于FPGA硬件實現(xiàn);第三種是基于網(wǎng)絡處理器(NP)實現(xiàn)。
[0007]通過純軟件實現(xiàn)的方法處理方式靈活,技術成熟,但缺點也很明顯,處理速度比較慢,時延大,需要占用大量CPU時間,內(nèi)存消耗大。
[0008]通過FPGA實現(xiàn)的方法處理速度快,時延小。如果僅用單純邏輯實現(xiàn),通常只能實現(xiàn)一些功能比較簡單的NAT處理,且不及純軟件實現(xiàn)應用靈活、需要消耗大量邏輯資源。
[0009]通過NP實現(xiàn)的方法處理速度快,但價格昂貴,應用不夠靈活。
[0010]綜上所述,現(xiàn)有技術存在以下問題:
1、通過單純邏輯進行NAT實現(xiàn)對功能復雜度有限制;
2、針對具體應用,現(xiàn)有通過FPGA或者NP的實現(xiàn)方式應用均不夠靈活;
3、針對小型應用,現(xiàn)有的實現(xiàn)方式體積大,功耗高,成本高。

【發(fā)明內(nèi)容】

[0011]為了解決上述技術問題,本發(fā)明的目的是提供一種可靈活實現(xiàn)NAT處理、處理速度快、成本低、功耗低的NAT的實現(xiàn)方法。
[0012]為了解決上述技術問題,本發(fā)明的另一個目的是提供一種可靈活實現(xiàn)NAT處理、處理速度快、成本低、功耗低的NAT的實現(xiàn)裝置。
[0013]本發(fā)明所采用的技術方案是:
一種基于SOPC的NAT的實現(xiàn)方法,其包括步驟:S1,對數(shù)據(jù)包進行信息提取;S2,將數(shù)據(jù)包存入緩沖區(qū),同時將提取的信息提交給學習/處理模塊;S3,學習/處理模塊判斷自己能否處理此信息,如果能處理,則進入步驟S4,否則將接收到的信息提交給處理器并進入步驟S5 ;S4,學習/處理模塊根據(jù)以前學習的內(nèi)容進行處理,然后將處理結果提交給NAT處理模塊;S5,處理器對接收到信息進行處理,并將處理結果返回給學習/處理模塊;S6,學習/處理模塊學習處理器的結果,并將處理結果提交給NAT處理模塊;S7,NAT處理模塊、NAT逆處理模塊根據(jù)接收的處理結果對緩沖區(qū)中的數(shù)據(jù)包進行處理。
[0014]優(yōu)選的,步驟SI所述信息包括源MAC地址、以太網(wǎng)協(xié)議類型、IP協(xié)議類型、以太網(wǎng)源!P、以太網(wǎng)目的IP、ICMP標識符、ICMP序列號、源端口號、目的端口、IP包的16位標識、IP包的3位標志及13位片偏移、IP首部檢驗和、ICMP/TCP/UDP的檢驗和。
[0015]優(yōu)選的,步驟S2中所述提交給學習/處理模塊的信息包括源IP、目的IP、源端口號(TCP、UDP)、目的端口(TCP、UDP), IP包的16位標識、IP包的3位標志及13位片偏移及協(xié)議類型。
[0016]優(yōu)選的,所述步驟S3具體包括子步驟:S31,首先通過數(shù)據(jù)包的3位標志及13位片偏移判斷該數(shù)據(jù)包是否為IP分片包,如果是分片包,則不能處理此信息,否則進入步驟S32 ;S32,用信息中的源IP、源端口、目的IP、目的端口、協(xié)議類型進行CAM查詢,如果存在有效項,則表示學習/處理模塊能處理此信息并進入步驟S4,否則表示不能處理此信息并進入步驟S33 ;S33,將接收到的信息提交給處理器并進入步驟S5。
[0017]優(yōu)選的,所述步驟S4具體為??從CAM的輸出中獲取匹配單元的地址,從存儲模塊中讀出該地址單元的內(nèi)容,作為處理結果返回給NAT處理模塊,同時將對應的老化計數(shù)器清零。
[0018]優(yōu)選的,步驟S5中所述的信息為私網(wǎng)數(shù)據(jù)或公網(wǎng)數(shù)據(jù),所述步驟S5具體包括子步驟:S51,對私網(wǎng)數(shù)據(jù)進行處理,并將處理結果返回給學習/處理模塊;或者S52,對公網(wǎng)數(shù)據(jù)進行處理,并將處理結果返回給學習/處理模塊。
[0019]優(yōu)選的,所述步驟S51具體包括子步驟:S511,用源端口號作為私網(wǎng)端口查找表的索引,從存儲器中取出該序號的對應表項,判斷表項的有效標識位是否有效,如果有效則進入步驟S512,否則轉至步驟S519 ;S512,判斷指針標識位是否有效,如果有效則轉至步驟S517,否則轉至步驟S513 ;S513,判斷協(xié)議字段、源IP字段是否匹配,如果匹配則轉至步驟S514,否則轉至步驟S519 ; S514,用替換端口的內(nèi)容對源端口進行替換,并判斷外網(wǎng)網(wǎng)關有效標識位是否有效,如果有效則轉至步驟S516,否則轉至步驟S515 ;S515,數(shù)據(jù)包可直接送達或采用默認網(wǎng)關,轉至步驟S518 ;S516,數(shù)據(jù)包需經(jīng)過該外網(wǎng)網(wǎng)關轉發(fā),轉至步驟S518 ;S517,通過IP指針找到IP查找表,歷遍有效標識位有效的表項,如果存在協(xié)議字段、源IP字段匹配項,則轉至步驟S514,否則轉至步驟S519 ;S518,查表成功,轉至步驟S5111 ;S519,若動態(tài)模式位置位,則隨機分配一個未使用的公網(wǎng)IP、端口,并將相應信息添加到NAT配置表中,轉至步驟S5111 ;S5110,查表失敗,數(shù)據(jù)包丟棄,轉至步驟S5111 ;S5111,將處理結果返回給學習/處理模塊,轉至步驟S511,開始下一次查表;所述步驟S52具體包括子步驟:S521,用目的端口號作為公網(wǎng)端口查找表的索引,從存儲器中取出該序號的對應表項,判斷表項的有效標識位是否有效,如果無效則轉至步驟S5210,如果有效則轉至步驟S522 ;S522,判斷指針標識位是否有效,如果無效則轉至步驟S523,如果有效則轉至步驟S525 ;S523,判斷協(xié)議字段、外網(wǎng)IP字段是否匹配,如果匹配則轉至驟S524,否則轉至步驟S5210 ;S524,用替換端口的內(nèi)容、內(nèi)網(wǎng)IP的內(nèi)容對目的端口、目的IP進行替換,轉至步驟S529 ;S525,通過IP指針找到IP查找表,歷遍有效標識位有效的表項,如果存在協(xié)議字段、外網(wǎng)IP字段匹配,且當遠程IP有效標識有效時,遠程IP、遠程端口也匹配的匹配項時則轉至步驟S526,如果沒有則轉至步驟S5210 ;S526,判斷內(nèi)網(wǎng)IP有效標識是否有效,如果有效則轉至步驟S527,否則轉至步驟S528 ;S527,用IP查找表中的替換端口、內(nèi)網(wǎng)IP對目的端口、目的IP進行替換,轉至步驟S529 ;S528,用IP查找表中的替換端口、端口查找表中的內(nèi)網(wǎng)IP對目的端口、目的IP進行替換,轉至步驟S529 ;S529,查表成功,轉至步驟S5211 ;S5210,查表失敗,轉至步驟S5211 ;S5211,將處理結果返回給學習/處理模塊,轉至步驟S521,開始下一次查表。
[0020]優(yōu)選的,所述步驟S5還包括子步驟:S50,對接收到的信息進行IP分片包處理;所述步驟S50具體包括子步驟:S501,判斷是否為IP分片包,如果是分片包則轉至步驟S502 ;S502,判斷是否為IP分片包的首包,如果是則轉至步驟S503,否則轉至步驟S504 ;S503,將首包按非分片包的處理方式進行處理,并將緩存中該分片包的其它分片也按該方式處理,轉至步驟S505 ;S504,將分片包信息緩存,轉至步驟S505 ;S505,轉至步驟S501步,開始下一次處理。
[0021]優(yōu)選的,所述步驟S7具體包括子步驟:S71,根據(jù)學習/處理模塊輸出的結果,結合提取模塊的輸出、數(shù)據(jù)緩沖模塊中的數(shù)據(jù)包內(nèi)容,實現(xiàn)私網(wǎng)到公網(wǎng)TCP、UDP數(shù)據(jù)包的源IP、源端口替換,即完成NAT處理;S72,根據(jù)學習/處理模塊輸出的結果,結合提取模塊的輸出、數(shù)據(jù)緩沖模塊中的數(shù)據(jù)包內(nèi)容,實現(xiàn)公網(wǎng)到私網(wǎng)TCP、UDP數(shù)據(jù)包的目的IP、目的端口替換,即完成NAT逆處理;S73,重新計算IP首部校驗和、TCP校驗和、UDP校驗和。
[0022]一種基于SOPC的NAT的實現(xiàn)裝置,其用于實施基于SOPC的NAT的實現(xiàn)方法,其包括:處理器模塊,用于對學習/處理模塊輸出的數(shù)據(jù)包信息進行查表處理,并將處理結果返回給學習/處理模塊;學習/處理模塊,其分別與提取模塊和處理器模塊相連,主要有兩個作用:一是接收提取模塊的輸出,檢查學習內(nèi)容中是否有符合項,如果有符合項則將存儲的對應結果輸出給NAT處理模塊,如果沒有符合項則將接收的數(shù)據(jù)直接提交給處理器模塊,并記錄該數(shù)據(jù),以便在學習過程中與處理結果建立一一對應關系;二是學習處理器輸出的數(shù)據(jù)包處理結果,即將數(shù)據(jù)包信息輸入與數(shù)據(jù)包處理結果間建立一一對應的關系,以便對后續(xù)數(shù)據(jù)包中有相同輸入條件的數(shù)據(jù)包直接進行處理,以減輕處理器模塊的負荷,提高數(shù)據(jù)包的處理能力,然后將結果輸出給NAT處理模塊;提取模塊,其與以太網(wǎng)接口模塊相連,用于提取數(shù)據(jù)包信息;以太網(wǎng)接口,包括用于連接私網(wǎng)的私網(wǎng)以太網(wǎng)接口和用于連接公網(wǎng)的以太網(wǎng)接口 ;數(shù)據(jù)緩沖模塊,其連接于提取模塊和NAT處理模塊或NAT逆處理模塊之間,用于緩存數(shù)據(jù)包;NAT處理模塊,其分別與提取模塊、數(shù)據(jù)緩沖模塊、學習/處理模塊和以太網(wǎng)接口連接,其用于接收學習/處理模塊的輸出,并結合提取模塊的輸出、數(shù)據(jù)緩沖模塊中的數(shù)據(jù)包內(nèi)容,實現(xiàn)私網(wǎng)到公網(wǎng)的NAT處理;NAT逆處理模塊,其分別與提取模塊、數(shù)據(jù)緩沖模塊、學習/處理模塊和以太網(wǎng)接口連接,其用于接收學習/處理模塊的輸出,并結合提取模塊的輸出、數(shù)據(jù)緩沖模塊中的數(shù)據(jù)包內(nèi)容,實現(xiàn)公網(wǎng)到私網(wǎng)的NAT逆處理。
[0023]本發(fā)明的有益效果是:
本發(fā)明通過基于SOPC實現(xiàn)了 NAT處理,充分發(fā)揮處理器和邏輯處理各自的長處,合理分配各自的實現(xiàn)功能,并采用了學習/處理模塊來彌補處理器模塊處理能力的不足,采用先
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
尤溪县| 天气| 若羌县| 北安市| 广安市| 海城市| 乳山市| 台前县| 昌黎县| 津市市| 镇坪县| 黎川县| 视频| 宣威市| 勐海县| 皋兰县| 武强县| 浙江省| 岳阳市| 灌云县| 洪湖市| 齐齐哈尔市| 和林格尔县| 句容市| 白山市| 辽中县| 上思县| 西乌| 都昌县| 竹北市| 宁陵县| 湘西| 东宁县| 东乌| 鹤庆县| 鄱阳县| 平山县| 九台市| 怀来县| 库尔勒市| 永昌县|