專利名稱:一種報文發(fā)送方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及一種報文發(fā)送方法及裝置。
背景技術(shù):
隨著IPv6的演進及IPv4地址即將耗盡,以及整個產(chǎn)業(yè)鏈的IPv6演進相對滯后, IPv4和IPv6將會長期共存。目前普遍使用的解決方案是規(guī)模部署NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)設(shè)備,通常情況下一個NAT設(shè)備都要支持幾萬甚至更多的用戶,當(dāng)一個用戶設(shè)備需要向外網(wǎng)發(fā)送報文時,需要在相應(yīng)的NAT設(shè)備上建立多個鏈接,每個鏈接都需要在相應(yīng)的NAT設(shè)備上建立NAT表項,導(dǎo)致NAT設(shè)備存在負(fù)擔(dān)較重、支持的用戶較少的問題。
發(fā)明內(nèi)容
本發(fā)明的實施例提供了一種報文發(fā)送方法及裝置,能夠減少NAT設(shè)備的負(fù)擔(dān),使 NAT設(shè)備能夠支持更多的用戶。一種報文發(fā)送方法,包括接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文;根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng) IP地址,將所述正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;或者,接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文;根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng) IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。一種報文發(fā)送裝置,包括報文接收單元,用于接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文或者接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文;外網(wǎng)正向報文發(fā)送單元,用于根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng) IP地址、外部端口范圍和公網(wǎng)IP地址,將內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的所述正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;外網(wǎng)反向報文發(fā)送單元,用于根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng) IP地址、外部端口范圍和公網(wǎng)IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。一種報文發(fā)送方法,包括接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;將所述正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。
一種報文發(fā)送裝置,包括報文接收單元,用于接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;內(nèi)網(wǎng)正向報文發(fā)送單元,用于將所述正向報文的源端口號替換為外部端口范圍, 以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,通過根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,在NAT設(shè)備上將正向報文的源地址替換為公網(wǎng)IP地址、將反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP 地址,即用戶訪問外網(wǎng)時只在內(nèi)網(wǎng)設(shè)備每次上線時,NAT設(shè)備建立一個表項,后續(xù)發(fā)送報文建立鏈接時,不需再建立表項,減少了 NAT設(shè)備中建立NAT表項的數(shù)量,從而使NAT設(shè)備可以支持更多的用戶,減少NAT設(shè)備的數(shù)量,而且在NAT設(shè)備老化的時候可以同步內(nèi)網(wǎng)設(shè)備和 NAT設(shè)備。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明的實施例提供的在NAT設(shè)備端發(fā)送報文的方法流程示意圖;圖2為本發(fā)明的實施例提供的在內(nèi)網(wǎng)設(shè)備端發(fā)送報文的方法流程示意圖;圖3為本發(fā)明的實施例提供的用戶設(shè)備通過內(nèi)網(wǎng)設(shè)備和NAT設(shè)備與外網(wǎng)進行報文傳輸?shù)男帕盍鞒淌疽鈭D;圖4為本發(fā)明的實施例提供的內(nèi)網(wǎng)設(shè)備中請外部端口范圍及內(nèi)網(wǎng)設(shè)備與外網(wǎng)傳輸報文的方法的流程示意圖;圖5為本發(fā)明的實施例提供的發(fā)送報文的裝置結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明的實施例提供了一種報文發(fā)送方法,如圖1所示,具體可以包括步驟11,接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文;具體的,當(dāng)用戶設(shè)備向外網(wǎng)發(fā)送正向報文時,首先通過內(nèi)網(wǎng)設(shè)備將正向報文發(fā)送給NAT設(shè)備,NAT設(shè)備則接收該正向報文。步驟12,根據(jù)NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;具體的,NAT設(shè)備會在內(nèi)網(wǎng)設(shè)備上線時為內(nèi)網(wǎng)設(shè)備建立NAT表項,在NAT表項中包含了該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、為該內(nèi)網(wǎng)設(shè)備分配的外部端口范圍和公網(wǎng)IP地址,在接收到內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文后,將該正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送到外網(wǎng)?;蛘?,步驟13,接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文;具體的,當(dāng)外網(wǎng)向內(nèi)網(wǎng)設(shè)備發(fā)送反向報文時,首先將反向報文發(fā)送到NAT設(shè)備上, NAT設(shè)備則接收該反向報文。步驟14,根據(jù)NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。具體的,NAT設(shè)備會在內(nèi)網(wǎng)設(shè)備上線時為內(nèi)網(wǎng)設(shè)備建立NAT表項,在NAT表項中包含了該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、為該內(nèi)網(wǎng)設(shè)備分配的外部端口范圍和公網(wǎng)IP地址,在接收到外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文后,將該反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送給內(nèi)網(wǎng)設(shè)備。本發(fā)明的實施例還提供了一種報文發(fā)送方法,如圖2所示,具體可以包括步驟21,接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文。具體的,當(dāng)用戶設(shè)備向外網(wǎng)發(fā)送正向報文時,首先將該正向報文發(fā)送到連接的內(nèi)網(wǎng)設(shè)備上,內(nèi)網(wǎng)設(shè)備則接收該正向報文。 步驟22,將正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。具體的,在接收到內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文后,內(nèi)網(wǎng)設(shè)備將該正向報文的源端口號替換為NAT設(shè)備分配的外部端口范圍,以及將源地址替換為該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送給NAT設(shè)備。下面以一個用戶設(shè)備通過內(nèi)網(wǎng)設(shè)備和NAT設(shè)備與外網(wǎng)進行報文傳輸?shù)倪^程對本實施例作進一步說明,具體的信令流程可以參考圖3,涉及的設(shè)備包括用戶設(shè)備、內(nèi)網(wǎng)設(shè)備和NAT設(shè)備,其中內(nèi)網(wǎng)設(shè)備可以是CPE (Customer Premises Equipment,用戶前端設(shè)備), NAT設(shè)備可以是CGN(Carrier-Grade NAT,運營級NAT)。其中,當(dāng)CPE是橋接型時,用戶設(shè)備需要支持其中CPE的功能,即此時,內(nèi)網(wǎng)設(shè)備為用戶設(shè)備本身;若在CPE與CGN之間采用隧道方式的場景,則CGN需要做隧道的封裝和解封裝。如圖4所示,具體的過程可以包括步驟41,內(nèi)網(wǎng)設(shè)備獲取該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址;具體的,當(dāng)內(nèi)網(wǎng)設(shè)備(如CPE)上線時,可以通過DHCP (Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)獲取該內(nèi)網(wǎng)設(shè)備所在私網(wǎng)的IP地址,也可以使用PPPoE的方式獲取所在私網(wǎng)的IP地址。獲取到所在私網(wǎng)的IP地址后,向NAT設(shè)備 (如CGN)發(fā)送上線通知。步驟42,內(nèi)網(wǎng)設(shè)備向NAT設(shè)備發(fā)送用于獲取經(jīng)過NAT的外部端口范圍的請求消息;具體的,內(nèi)網(wǎng)設(shè)備獲取該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后,向NAT設(shè)備發(fā)送一個請求消息,該請求消息攜帶該內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,以使NAT設(shè)備可以獲取該內(nèi)網(wǎng)設(shè)備的私網(wǎng) IP地址,該請求消息可以是基于PCP (Pinhole Control Protocol,端口映射控制協(xié)議)的請求消息,具體可以為Pinhole Request消息,也可以是基于DHCP的請求消息,具體可以為 DHCP discover消息。該請求消息用于與NAT設(shè)備協(xié)商并獲得一個外部端口范圍,該外部端口范圍用于內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍, 該內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同。進一步地,由于運營商級的NAT設(shè)備(CGN)往往是有NAT公網(wǎng)池的,用戶設(shè)備在進行NAT后的公網(wǎng)地址是在該池中隨機選取,不能保證單個用戶設(shè)備在進行NAT后的公網(wǎng)地址是同一個IP地址,而現(xiàn)網(wǎng)中存在很多應(yīng)用需要建立多個連接,多個連接在做NAT后的公網(wǎng)地址需要是同一個IP地址,如果不是同一個地址會出現(xiàn)連接不能建立。因此內(nèi)網(wǎng)設(shè)備可以進一步協(xié)商與該內(nèi)網(wǎng)設(shè)備連接的用戶設(shè)備發(fā)送的報文經(jīng)過NAT后的公網(wǎng)IP地址,這樣在該用戶設(shè)備在后續(xù)連接也能夠使用同一個IP地址,避免了不能建立連接的情況出現(xiàn)。步驟43,根據(jù)接收的內(nèi)網(wǎng)設(shè)備發(fā)送的請求消息,分配內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍,內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同,并向內(nèi)網(wǎng)設(shè)備發(fā)送包括外部端口范圍的響應(yīng)消息;具體的,NAT設(shè)備在接收到內(nèi)網(wǎng)設(shè)備發(fā)送的請求消息后,會根據(jù)用戶設(shè)備的情況分配內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍(可以分配不連續(xù)的外部端口范圍,如2000 3000和4000 5000等,由于當(dāng)內(nèi)網(wǎng)設(shè)備訪問外網(wǎng)地址時,一般都會建立100 300個鏈接,每個鏈接都會在NAT設(shè)備上建立一個表項,而通過分配相同的內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍, 即內(nèi)網(wǎng)設(shè)備訪問外網(wǎng)時只在內(nèi)網(wǎng)設(shè)備每次上線時,NAT設(shè)備建立一個表項,后續(xù)發(fā)送報文建立鏈接時,不需再建立表項,從外部端口范圍中選取外部端口發(fā)送,減少了 NAT設(shè)備中建立 NAT表項的數(shù)量,而且在NAT設(shè)備老化的時候可以同步內(nèi)網(wǎng)設(shè)備和NAT設(shè)備。),并將分配的外部端口范圍以響應(yīng)消息的形式發(fā)送給內(nèi)網(wǎng)設(shè)備,具體可以為Pinhole Response消息或 DHCP offer消息。如此時NAT設(shè)備能夠分配的外部端口范圍已經(jīng)用完,則可以向內(nèi)網(wǎng)設(shè)備返回錯誤響應(yīng)消息。另外,如果后續(xù)用戶數(shù)增加,申請的外部端口范圍不夠,可動態(tài)協(xié)商增加外部端口范圍。NAT設(shè)備也會分配一個對應(yīng)內(nèi)網(wǎng)設(shè)備的公網(wǎng)IP地址,并在一定情況下把該公網(wǎng)IP 地址攜帶在在響應(yīng)消息中一并發(fā)送給內(nèi)網(wǎng)設(shè)備,該一定情況可以為內(nèi)網(wǎng)設(shè)備在請求消息中進一步請求協(xié)商了公網(wǎng)IP地址。把轉(zhuǎn)換后的公網(wǎng)IP地址告知內(nèi)網(wǎng)設(shè)備,除了可以使該內(nèi)網(wǎng)設(shè)備連接的用戶設(shè)備在后續(xù)連接能夠使用同一個IP地址,避免了不能建立連接的情況出現(xiàn),還可以有效利用內(nèi)網(wǎng)設(shè)備現(xiàn)有的ALG(AppliCati0n Level (Gateway,應(yīng)用層網(wǎng)關(guān))功能相對較強的優(yōu)勢,使NAT設(shè)備不需要相應(yīng)的ALG。步驟44,NAT設(shè)備根據(jù)外部端口范圍建立NAT表項;具體的,當(dāng)NAT設(shè)備為內(nèi)網(wǎng)設(shè)備分配完內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和 NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍,以及相應(yīng)的公網(wǎng)IP地址后,會在NAT設(shè)備中建立相應(yīng)的NAT表項,該NAT表項包括內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍、公網(wǎng)IP地址、NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍。其中,內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同。步驟45,內(nèi)網(wǎng)設(shè)備從NAT設(shè)備獲取響應(yīng)消息,響應(yīng)消息包括經(jīng)過NAT后的外部端口范圍;具體的,內(nèi)網(wǎng)設(shè)備接收NAT設(shè)備發(fā)送的響應(yīng)消息后會保存相應(yīng)的外部端口范圍。如果在步驟42中申請了公網(wǎng)IP地址,則同時保存該公網(wǎng)IP地址。步驟46,內(nèi)網(wǎng)設(shè)備接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文,并將該正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送;具體的,當(dāng)用戶設(shè)備需要向外網(wǎng)發(fā)送正向報文時,會先將該正向報文發(fā)送到內(nèi)網(wǎng)設(shè)備,該正向報文包括了源地址、目的地址、源端口號和目的端口號。內(nèi)網(wǎng)設(shè)備接收到用戶設(shè)備向外網(wǎng)發(fā)送的正向報文后,將源端口號替換為外部端口范圍、將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后,將正向報文從在該外部端口范圍內(nèi)的某個端口發(fā)送給NAT設(shè)備。步驟47,NAT設(shè)備接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文,并根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將該正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;具體的,NAT設(shè)備接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文后,NAT設(shè)備查找保存的NAT 表項,找到與該正向報文的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址和外部端口范圍匹配的表項,將源地址替換為匹配表項的公網(wǎng)IP地址后,將正向報文從在該外部端口范圍內(nèi)的某個端口發(fā)送到外網(wǎng)。步驟48,NAT設(shè)備接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文,并根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。具體的,當(dāng)外網(wǎng)通過NAT設(shè)備向內(nèi)網(wǎng)設(shè)備發(fā)送反向報文時,NAT設(shè)備接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文,該反向報文包括了源地址、目的地址、源端口號和目的端口號,該目的地址是公網(wǎng)IP地址。NAT設(shè)備查找保存的NAT表項,找到與該目的公網(wǎng)IP地址,及目的端口號在范圍內(nèi)的外部端口范圍相匹配的表項,將目的公網(wǎng)IP地址替換為匹配表項的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后將反向報文發(fā)送到內(nèi)網(wǎng)設(shè)備。本實施例通過根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)I P地址、外部端口范圍和公網(wǎng)IP地址,在NAT設(shè)備上將正向報文的源地址替換為公網(wǎng)IP地址、將反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,即用戶訪問外網(wǎng)時只在內(nèi)網(wǎng)設(shè)備每次上線時,NAT設(shè)備建立一個表項,后續(xù)發(fā)送報文建立鏈接時,不需再建立表項,減少了 NAT 設(shè)備中建立NAT表項的數(shù)量,從而使NAT設(shè)備可以支持更多的用戶,減少NAT設(shè)備的數(shù)量, 而且在NAT設(shè)備老化的時候可以同步內(nèi)網(wǎng)設(shè)備和NAT設(shè)備。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。本發(fā)明的實施例還提供了一種報文發(fā)送裝置,如圖5所示,該裝置在NAT設(shè)備端可以包括報文接收單元51、外網(wǎng)正向報文發(fā)送單元52和外網(wǎng)反向報文發(fā)送單元53,報文接收單元51用于接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文或者接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文; 外網(wǎng)正向報文發(fā)送單元52用于根據(jù)NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;夕卜網(wǎng)反向報文發(fā)送單元53用于根據(jù)NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。該裝置在內(nèi)網(wǎng)設(shè)備端可以包括報文接收單元討和內(nèi)網(wǎng)正向報文發(fā)送單元陽,報文接收單元M用于接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;內(nèi)網(wǎng)正向報文發(fā)送單元陽用于將正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP 地址后發(fā)送。進一步地,在NAT設(shè)備端還可以包括端口分配單元56、NAT表項建立單元57和公網(wǎng)地址分配單元58,端口分配單元56用于根據(jù)接收的內(nèi)網(wǎng)設(shè)備發(fā)送的請求消息,分配內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍,內(nèi)網(wǎng)設(shè)備發(fā)往NAT 設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同,并向內(nèi)網(wǎng)設(shè)備發(fā)送包括外部端口范圍的響應(yīng)消息;NAT表項建立單元57用于根據(jù)外部端口范圍建立NAT表項;公網(wǎng)地址分配單元58用于分配正向報文經(jīng)過NAT設(shè)備轉(zhuǎn)換后發(fā)往外網(wǎng)的公網(wǎng)IP地址,并在一定情況下把該公網(wǎng)IP地址攜帶在在響應(yīng)消息中一并發(fā)送給內(nèi)網(wǎng)設(shè)備,該一定情況可以為內(nèi)網(wǎng)設(shè)備在請求消息中進一步請求協(xié)商了公網(wǎng)IP地址。在內(nèi)網(wǎng)設(shè)備端還可以包括請求消息發(fā)送單元59、響應(yīng)消息獲取單元510和私網(wǎng)地址獲取單元511,請求消息發(fā)送單元59用于在接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文之前,發(fā)送用于獲取經(jīng)過NAT后的外部端口范圍的請求消息;響應(yīng)消息獲取單元510用于獲取響應(yīng)消息,響應(yīng)消息包括經(jīng)過NAT后的外部端口范圍;私網(wǎng)地址獲取單元511用于獲取內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,并在請求消息中攜帶內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址。另外,在NAT設(shè)備中,相應(yīng)的NAT表項建立單元具體用于建立包括內(nèi)網(wǎng)設(shè)備的私網(wǎng) IP地址、外部端口范圍和公網(wǎng)IP地址的表項。在內(nèi)網(wǎng)設(shè)備中,相應(yīng)的請求消息還包括獲取經(jīng)過NAT設(shè)備轉(zhuǎn)換后的公網(wǎng)IP地址。本實施例通過根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,在NAT設(shè)備上將正向報文的源地址替換為公網(wǎng)IP地址、將反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,即用戶訪問外網(wǎng)時只在內(nèi)網(wǎng)設(shè)備每次上線時,NAT設(shè)備建立一個表項,后續(xù)發(fā)送報文建立鏈接時,不需再建立表項,減少了 NAT設(shè)備中建立NAT表項的數(shù)量,使NAT設(shè)備可以支持更多的用戶,減少NAT設(shè)備的數(shù)量,而且在 NAT設(shè)備老化的時候可以同步內(nèi)網(wǎng)設(shè)備和NAT設(shè)備。上述裝置中包含的各單元的處理功能的具體實現(xiàn)可參考方法實施例部分的描述,在此不再重復(fù)描述。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1.一種報文發(fā)送方法,其特征在于,包括 接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文;根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP 地址,將所述正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送; 或者,接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文;根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP 地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文或接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文之前,所述方法還包括根據(jù)接收的內(nèi)網(wǎng)設(shè)備發(fā)送的請求消息,分配內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和 NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍,所述內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同,并向所述內(nèi)網(wǎng)設(shè)備發(fā)送包括所述外部端口范圍的響應(yīng)消息;根據(jù)所述外部端口范圍建立所述NAT表項。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括分配正向報文經(jīng)過NAT設(shè)備轉(zhuǎn)換后發(fā)往外網(wǎng)的公網(wǎng)IP地址,并將所述公網(wǎng)IP地址在響應(yīng)消息中發(fā)送給所述內(nèi)網(wǎng)設(shè)備。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述請求消息中攜帶所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,所述NAT表項包括所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,所述公網(wǎng)IP地址和所述外部端口范圍。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述請求消息包括端口映射控制協(xié)議PCP 消息或動態(tài)主機配置協(xié)議DHCP消息。
6.一種報文發(fā)送裝置,其特征在于,包括報文接收單元,用于接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文或者接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文;外網(wǎng)正向報文發(fā)送單元,用于根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的所述正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;外網(wǎng)反向報文發(fā)送單元,用于根據(jù)網(wǎng)絡(luò)地址轉(zhuǎn)換NAT表項包含的內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括端口分配單元,用于根據(jù)接收的內(nèi)網(wǎng)設(shè)備發(fā)送的請求消息,分配內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍,所述內(nèi)網(wǎng)設(shè)備發(fā)往NAT設(shè)備的外部端口范圍和NAT設(shè)備發(fā)往外網(wǎng)的外部端口范圍相同,并向所述內(nèi)網(wǎng)設(shè)備發(fā)送包括所述外部端口范圍的響應(yīng)消息;NAT表項建立單元,用于根據(jù)所述外部端口范圍建立NAT表項。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括公網(wǎng)地址分配單元,用于分配正向報文經(jīng)過NAT設(shè)備轉(zhuǎn)換后發(fā)往外網(wǎng)的公網(wǎng)IP地址, 并在一定情況下將所述公網(wǎng)IP地址在響應(yīng)消息中發(fā)送給所述內(nèi)網(wǎng)設(shè)備。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述NAT表項建立單元,具體用于建立包括所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址、外部端口范圍和公網(wǎng)IP地址的表項。
10.一種報文發(fā)送方法,其特征在于,包括接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;將所述正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,在所述接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文之前,所述方法還包括發(fā)送用于獲取經(jīng)過網(wǎng)絡(luò)地址轉(zhuǎn)換NAT后的外部端口范圍的請求消息;獲取響應(yīng)消息,所述響應(yīng)消息包括經(jīng)過NAT后的外部端口范圍。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,在發(fā)送用于獲取經(jīng)過網(wǎng)絡(luò)地址轉(zhuǎn)換NAT 后的外部端口范圍的請求消息之前,所述方法還包括獲取所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,并在所述請求消息中攜帶所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP 地址。
13.根據(jù)權(quán)利要求11或12所述的方法,其特征在于,在所述請求消息中還包括獲取經(jīng)過NAT設(shè)備轉(zhuǎn)換后的公網(wǎng)IP地址。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述請求消息包括端口映射控制協(xié)議 PCP消息或動態(tài)主機配置協(xié)議DHCP消息。
15.一種報文發(fā)送裝置,其特征在于,包括報文接收單元,用于接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;內(nèi)網(wǎng)正向報文發(fā)送單元,用于將所述正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括請求消息發(fā)送單元,用于在所述接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文之前,發(fā)送用于獲取經(jīng)過網(wǎng)絡(luò)地址轉(zhuǎn)換NAT后的外部端口范圍的請求消息;響應(yīng)消息獲取單元,用于獲取響應(yīng)消息,所述響應(yīng)消息包括經(jīng)過NAT后的外部端口范圍。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述裝置還包括私網(wǎng)地址獲取單元,用于獲取所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址,并在所述請求消息中攜帶所述內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址。
18.根據(jù)權(quán)利要求16或17所述的裝置,其特征在于,所述請求消息還包括獲取經(jīng)過 NAT設(shè)備轉(zhuǎn)換后的公網(wǎng)IP地址。
全文摘要
一種報文發(fā)送方法及裝置,相應(yīng)的方法包括接收內(nèi)網(wǎng)設(shè)備發(fā)往外網(wǎng)的正向報文,將正向報文的源地址替換為公網(wǎng)IP地址后發(fā)送;或者,接收外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文,將外網(wǎng)發(fā)往內(nèi)網(wǎng)設(shè)備的反向報文的目的公網(wǎng)IP地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。接收用戶設(shè)備發(fā)往外網(wǎng)的正向報文;將正向報文的源端口號替換為外部端口范圍,以及將源地址替換為內(nèi)網(wǎng)設(shè)備的私網(wǎng)IP地址后發(fā)送。本發(fā)明使內(nèi)網(wǎng)設(shè)備訪問外網(wǎng)時只在內(nèi)網(wǎng)設(shè)備每次上線時,NAT設(shè)備建立一個表項,減少了NAT設(shè)備中建立NAT表項的數(shù)量,從而使NAT設(shè)備可以支持更多的用戶,減少NAT設(shè)備的數(shù)量,而且在NAT設(shè)備老化的時候可以同步內(nèi)網(wǎng)設(shè)備和NAT設(shè)備。
文檔編號H04L29/12GK102480530SQ20101059109
公開日2012年5月30日 申請日期2010年11月25日 優(yōu)先權(quán)日2010年11月25日
發(fā)明者盧緒山, 周倩, 彭軍, 鄒婷 申請人:華為技術(shù)有限公司