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