TWI791691B - Communication system, communication device, application processor and network address translation method of communication system - Google Patents
Communication system, communication device, application processor and network address translation method of communication system Download PDFInfo
- Publication number
- TWI791691B TWI791691B TW107142254A TW107142254A TWI791691B TW I791691 B TWI791691 B TW I791691B TW 107142254 A TW107142254 A TW 107142254A TW 107142254 A TW107142254 A TW 107142254A TW I791691 B TWI791691 B TW I791691B
- Authority
- TW
- Taiwan
- Prior art keywords
- header
- address
- packet
- memory
- processor
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
- H04L61/2525—Translation at a client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
Description
本美國非臨時申請案主張於2017年11月27日在韓國智慧財產局(Korean Intellectual Property Office,KIPO)提出申請的韓國專利申請案第10-2017-0159685號、以及於2018年10月10日在韓國智慧財產局提出申請的韓國專利申請案第10-2018-0120606號的優先權的權益,所述韓國專利申請案兩者的揭露內容皆全文併入本案供參考。 This U.S. non-provisional application asserts Korean Patent Application No. 10-2017-0159685 filed with the Korean Intellectual Property Office (KIPO) on November 27, 2017 and filed on October 10, 2018 The benefit of priority of Korean Patent Application No. 10-2018-0120606 filed with the Korean Intellectual Property Office, the disclosures of both of which are incorporated herein by reference in their entirety.
發明概念的各種示例性實施例是有關於一種通訊系統,且更具體而言,是有關於一種被配置成執行網路位址轉換用於資料通訊的通訊系統的硬體結構、一種通訊設備、一種轉換網路位址的方法及/或其非暫時性電腦可讀取媒體。 Various exemplary embodiments of the inventive concept are related to a communication system, and more particularly, to a hardware structure of a communication system configured to perform network address translation for data communication, a communication device, A method of translating network addresses and/or its non-transitory computer-readable medium.
用於資料通訊的通訊裝置或通訊系統可利用網路位址轉 換技術與具有不同位址系統的網路或通訊裝置進行通訊。網路位址轉換技術可包括客戶端轉換器(customer-side translator,CLAT)以及網路位址轉換(network address translation,NAT)。客戶端轉換器可為一種用於將IPv4位址轉換成IPv6位址或將IPv6位址轉換成IPv4位址使得主機可自由地經由IPv6網路與IPv4主機或IPv6主機進行通訊的技術。網路位址轉換可指由路由器或等效聯網裝置收發網路流量,並由所述路由器重寫網際網路協定(Internet protocol,IP)封包的傳輸協定的埠號以及源網際網路協定(IP)位址以及目的地IP位址的技術。當執行網路位址轉換時,由於網際網路協定(IP)封包被改變,因此必須更新網際網路協定(IP)標頭或傳輸協定標頭的核對和(checksum)。 A communication device or communication system used for data communication can utilize network address forwarding Switching technology communicates with network or communication devices with different address systems. The network address translation technology may include a customer-side translator (CLAT) and a network address translation (NAT). The client converter can be a technology for converting an IPv4 address to an IPv6 address or converting an IPv6 address to an IPv4 address so that the host can freely communicate with the IPv4 host or the IPv6 host via the IPv6 network. Network address translation may refer to sending and receiving network traffic by a router or equivalent networking device, and rewriting by the router the port number of the transport protocol of the Internet protocol (IP) packet and the source Internet protocol (IP) IP) address and destination IP address technology. When performing NAT, since the IP packet is changed, the checksum of the IP header or the IP header must be updated.
發明概念的各種示例性實施例提供一種被配置成高效執行位址轉換的通訊系統、一種通訊設備、一種通訊系統的位址轉換方法及/或其非暫時性電腦可讀取媒體。 Various exemplary embodiments of inventive concepts provide a communication system configured to efficiently perform address translation, a communication device, an address translation method of a communication system, and/or a non-transitory computer readable medium thereof.
根據發明概念的至少一個示例性實施例的態樣,提供一種通訊系統,所述通訊系統被配置成經由網路收發至少一個封包。所述通訊系統包括:數據機電路,被配置成將所述至少一個封包調變成傳輸訊號以傳輸至所述網路,以及將自所述網路接收的訊號解調變成所述至少一個封包;以及位址轉換電路,被配置成轉換所述至少一個封包的網路位址,轉換所述至少一個封包的所述網路位址包括:自其中儲存有所述至少一個封包的外部記憶 體接收所述至少一個封包的標頭,並將所述至少一個封包的所述標頭儲存於嵌式記憶體中,轉換所述至少一個封包的所述標頭的格式,以及轉換所述至少一個封包的所述標頭中所包括的位址。 According to an aspect of at least one example embodiment of the inventive concept, there is provided a communication system configured to transmit and receive at least one packet via a network. The communication system includes modem circuitry configured to modulate the at least one packet into a transmission signal for transmission to the network, and demodulate a signal received from the network into the at least one packet; and an address translation circuit configured to translate the network address of the at least one packet, converting the network address of the at least one packet includes: from an external memory in which the at least one packet is stored The body receives the header of the at least one packet, stores the header of the at least one packet in an embedded memory, converts the format of the header of the at least one packet, and converts the at least one packet An address included in the header of a packet.
根據發明概念的至少一個示例性實施例的另一態樣,提供一種通訊裝置,所述通訊裝置包括:記憶體;通訊處理器,被配置成轉換經由網路接收的第一封包的網路位址,並將包括經轉換的所述網路位址的第二封包儲存於所述記憶體中;以及應用處理器,被配置成自所述記憶體接收所述第二封包,驅動應用程式,並處理所述第二封包。 According to another aspect of at least one exemplary embodiment of the inventive concept, there is provided a communication device comprising: a memory; a communication processor configured to convert a network bit of a first packet received via a network address, and storing a second packet including the converted network address in the memory; and an application processor configured to receive the second packet from the memory, drive an application program, And process the second packet.
根據發明概念的至少一個示例性實施例的另一態樣,提供一種包括通訊功能的應用處理器。所述應用處理器包括:至少一個處理器,被配置成執行應用程式;記憶體,被配置成由所述至少一個處理器存取;以及位址轉換電路,被配置成將自網路接收的至少一個封包的第一標頭中所包括的網路位址轉換成符合所述應用程式的位址系統,並將包括經轉換的所述網路位址的第二標頭儲存於所述記憶體中。 According to another aspect of at least one exemplary embodiment of the inventive concept, there is provided an application processor including a communication function. The application processor includes: at least one processor configured to execute an application program; memory configured to be accessed by the at least one processor; and address translation circuitry configured to translate converting a network address included in a first header of at least one packet into an address system conforming to the application, and storing a second header including the converted network address in the memory body.
根據發明概念的至少一個示例性實施例的另一態樣,提供一種通訊系統的網路位址轉換方法。所述方法包括:利用至少一個處理器將經由網路接收的第一網際網路協定(IP)封包儲存於第一記憶體中,所述第一網際網路協定封包包括標頭以及網路位址;利用所述至少一個處理器將儲存於所述第一記憶體中的所述第一網際網路協定封包的所述標頭複製到所述至少一個處理器 的內部緩衝器中;利用所述至少一個處理器轉換所述第一網際網路協定封包中所包括的所述網路位址;以及利用所述至少一個處理器儲存第二網際網路協定封包,所述第二網際網路協定封包包括所述標頭以及經轉換的所述網路位址。 According to another aspect of at least one exemplary embodiment of the inventive concept, a network address translation method of a communication system is provided. The method includes storing, by at least one processor, a first Internet Protocol (IP) packet received via a network in a first memory, the first IP packet including a header and network bits address; using the at least one processor to copy the header of the first IP packet stored in the first memory to the at least one processor using the at least one processor to convert the network address included in the first IP packet; and storing a second IP packet using the at least one processor , the second IP packet includes the header and the converted IP address.
10、10a:通訊裝置 10, 10a: communication device
11:第一過濾器 11: First filter
12:IP轉變器 12: IP Converter
13:第一IP標頭核對和計算器 13: First IP header checksum calculator
20:網路 20: Network
21:第二過濾器 21: Second filter
22:位址轉換器 22: Address converter
23:IP標頭核對和計算器 23: IP header check and calculator
24:TCP標頭核對和計算器 24:TCP header checksum calculator
30:電子裝置 30: Electronic device
31:IP標頭核對和計算器 31: IP header check and calculator
32:TCP標頭核對和計算器 32:TCP Header Checksum Calculator
40:伺服器 40:Server
50:其他電子裝置 50: Other electronic devices
60:局域網路 60: LAN
100:通訊處理器/共用處理器 100: communication processor/shared processor
100a:通訊處理器 100a: communication processor
110:處理器 110: Processor
120、120a:位址轉換電路 120, 120a: address conversion circuit
121、121a:第一轉換器 121, 121a: first converter
122、122a:第二轉換器 122, 122a: second converter
123:局域記憶體 123: local memory
123a:標頭核對和計算器 123a: Header check and calculator
130:隨機存取記憶體(RAM) 130: Random Access Memory (RAM)
140:DMA控制器 140: DMA controller
150:數據機 150: modem
160:記憶體介面 160: memory interface
170:匯流排 170: busbar
200、200a:應用處理器 200, 200a: application processor
201:作業系統(OS) 201: Operating system (OS)
202、202a:應用程式 202, 202a: Applications
203、203a:驅動器 203, 203a: drive
204a:標頭轉換器 204a: Header Converter
210:中央處理單元(CPU) 210: central processing unit (CPU)
220:隨機存取記憶體(RAM) 220: random access memory (RAM)
230:DMA控制器 230: DMA controller
240:數據機 240: modem
245:射頻(RF)晶片 245: Radio frequency (RF) chip
250:位址轉換電路 250: Address conversion circuit
260:記憶體控制器 260: memory controller
270:匯流排 270: busbar
300:記憶體 300: Memory
310、310a:第一記憶體 310, 310a: first memory
320、320a:第二記憶體 320, 320a: second memory
330、330a:第三記憶體 330, 330a: the third memory
400:輸入/輸出(I/O)元件 400: input/output (I/O) components
500:DMA控制器 500:DMA controller
600:匯流排 600: busbar
AP:應用處理器 AP: application processor
AR1:第一區
AR1:
AR2:第二區 AR2: Second Area
AR3:第三區 AR3: the third area
CP:通訊處理器 CP: communication processor
D、D’:目的地IP位址 D, D': Destination IP address
DT:資料 DT: data
H1:IP標頭 H1: IP header
H1_IPv4:IPv4標頭 H1_IPv4: IPv4 header
H1_IPv6:IPv6標頭 H1_IPv6: IPv6 header
H2:TCP標頭 H2: TCP header
H2_TCP:TCP標頭 H2_TCP: TCP header
HD:標頭 HD: header
HD0、HD1、HDN-1、HDs:標頭 HD0, HD1, HDN-1, HDs: header
IHL:IP標頭長度 IHL: IP Header Length
NHD:標頭 NHD: header
NHD0、NHD1、NHDN-1、NHDs:經改變的標頭 NHD0, NHD1, NHDN-1, NHDs: Changed headers
NPK0、NPK1、NPKN-1:IP封包 NPK0, NPK1, NPKN-1: IP packet
PK:IP封包 PK: IP packet
PK0、PK1、PKN-1、PK0a、PK1a、PKN-1a:IP封包 PK0, PK1, PKN-1, PK0a, PK1a, PKN-1a: IP packets
PL:有效載荷 PL: Payload
PL0、PL1、PLN-1、PLs:有效載荷 PL0, PL1, PLN-1, PLs: payload
S、S’:源IP位址 S, S': source IP address
S11、S12、S13、S14、S15:操作 S11, S12, S13, S14, S15: Operation
S21、S22、S23、S24、S25、S26、S27:操作 S21, S22, S23, S24, S25, S26, S27: Operation
S110、S120、S130、S140、S150:操作 S110, S120, S130, S140, S150: Operation
S210、S220、S230、S240、S250:操作 S210, S220, S230, S240, S250: Operation
TT:轉換表 TT: Transition table
ToS:服務類型 ToS: type of service
PRA:私用IP位址 PRA: private IP address
PUA:公用IP位址 PUA: Public IP address
結合附圖閱讀以下詳細說明,將更清楚地理解發明概念的各種示例性實施例。 Various exemplary embodiments of the inventive concepts will be more clearly understood from the following detailed description when read in conjunction with the accompanying drawing figures.
圖1是根據至少一個示例性實施例的通訊裝置的方塊圖。 FIG. 1 is a block diagram of a communication device according to at least one example embodiment.
圖2是示出根據至少一個示例性實施例的位址轉換電路的操作的圖式。 FIG. 2 is a diagram illustrating an operation of an address conversion circuit according to at least one example embodiment.
圖3是根據至少一個示例性實施例的網際網路協定(IP)封包的結構的圖式。 3 is a diagram of a structure of an Internet Protocol (IP) packet, according to at least one example embodiment.
圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。 4A and 4B illustrate an IP header of an IP packet, according to some example embodiments.
圖5示出根據至少一個示例性實施例的IP封包的傳輸控制協定(transmission control protocol,TCP)標頭。 FIG. 5 illustrates a transmission control protocol (TCP) header of an IP packet, according to at least one example embodiment.
圖6A是根據至少一個示例性實施例的位址轉換電路的第一轉換器的實施實例的方塊圖。 6A is a block diagram of an implementation example of a first translator of an address translation circuit in accordance with at least one example embodiment.
圖6B是根據至少一個示例性實施例的一種操作圖6A的第一轉換器的方法的流程圖。 FIG. 6B is a flowchart of a method of operating the first converter of FIG. 6A , according to at least one example embodiment.
圖7A是根據至少一個示例性實施例的位址轉換電路的第二轉換器的實施實例的方塊圖。 7A is a block diagram of an implementation example of a second translator of an address translation circuit in accordance with at least one example embodiment.
圖7B是根據至少一個示例性實施例的一種操作圖7A的第二轉換器的方法的流程圖。 FIG. 7B is a flowchart of a method of operating the second converter of FIG. 7A , according to at least one example embodiment.
圖8示出根據至少一個示例性實施例的轉換表。 FIG. 8 illustrates a conversion table according to at least one exemplary embodiment.
圖9A及圖9B是示出根據至少一個示例性實施例一種轉換第二轉換器的IP位址的方法的圖式。 9A and 9B are diagrams illustrating a method of converting an IP address of a second translator, according to at least one exemplary embodiment.
圖10是根據至少一個示例性實施例的位址轉換電路的方塊圖。 FIG. 10 is a block diagram of an address translation circuit according to at least one example embodiment.
圖11是根據至少一個示例性實施例的通訊處理器的方塊圖。 Figure 11 is a block diagram of a communications processor, according to at least one example embodiment.
圖12是根據至少一個示例性實施例的通訊裝置的方塊圖。 FIG. 12 is a block diagram of a communication device according to at least one example embodiment.
圖13A示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。 FIG. 13A illustrates the movement of IP packets in a communication device according to at least one example embodiment.
圖13B示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。 FIG. 13B illustrates movement of IP packets in a communication device according to at least one example embodiment.
圖14是根據至少一個示例性實施例的應用處理器的方塊圖。 FIG. 14 is a block diagram of an application processor according to at least one example embodiment.
圖1是根據至少一個示例性實施例的通訊裝置10的方塊圖。
FIG. 1 is a block diagram of a
參照圖1,通訊裝置10可為被配置成與至少一個其他電子裝置執行資料通訊的電子裝置。舉例而言,通訊裝置10可為智慧型電話、平板個人電腦(tablet personal computer,PC)、膝上型電腦、無人機、數位照相機、穿戴式電腦、物聯網(Internet of Things,IoT)裝置、車輛驅動裝置、虛擬實境裝置、擴增實境裝
置及/或各種其他智慧型裝置中的一者。此外,通訊裝置10可為被配置成經由有線/無線網路與外部電子裝置執行資料通訊的各種電子裝置中的一者。
Referring to FIG. 1 , the
參照圖1,通訊裝置10可包括通訊處理器(communication processor,CP)100、應用處理器(application processor,AP)200及/或記憶體300,但並非僅限於此。此外,通訊裝置10可更包括其他硬體及/或軟體組件,例如顯示模組及/或輸入/輸出(input/output,I/O)模組等。
Referring to FIG. 1 , the
應用處理器200可驅動(例如,執行)通訊裝置10的作業系統(operating system,OS)201及/或各種應用程式202,以控制連接至應用處理器200的多個硬體及/或軟體組件,並處理及計算包括多媒體資料在內的各種資料。在至少一個示例性實施例中,應用處理器200可由系統晶片(system-on-chip,SoC)、FPGA、多核處理器、多處理器系統等實施。
The
通訊處理器100可在與經由網路連接的其他電子裝置進行通訊期間收發(例如,傳輸及/或接收)資料。在資料收發過程中,通訊處理器100可將資料傳輸至應用處理器200並自應用處理器200接收資料。當通訊裝置10經由網路接收資料時,例如當通訊裝置10執行資料下載操作時,通訊處理器100可將所接收的資料傳輸至應用處理器200,且應用處理器200可執行資料處理操作,例如資料計算及儲存操作。相反,當通訊裝置10經由網路傳輸資料時,例如當通訊裝置10執行資料上傳操作時,應用處理器
200可將待上傳的資料傳輸至通訊處理器100,且通訊處理器100然後可經由網路傳輸資料。舉例而言,當通訊裝置10執行視訊串流操作時,通訊處理器100可將所接收的資料傳輸至應用處理器200,且應用處理器200可處理自通訊處理器100接收的資料並在螢幕上顯示所處理的資料。根據至少一個示例性實施例,通訊處理器100以及應用處理器200可以單個處理器實施。另外,根據一些示例性實施例,通訊處理器100及/或應用處理器200可以二或更多個處理器實施。
The
記憶體300可儲存自應用處理器200及/或通訊處理器100接收或由應用處理器200產生的指令或資料,但並非僅限於此。記憶體300可由例如動態隨機存取記憶體(dynamic random access memory,DRAM)、靜態隨機存取記憶體(static random access memory,SRAM)等揮發性記憶體實施。然而,發明概念的示例性實施例並非僅限於此,且記憶體300可包括非揮發性記憶體,例如快閃記憶體、磁性隨機存取記憶體(magnetic RAM,MRAM)、鐵電式隨機存取記憶體(ferroelectric RAM,FeRAM)、相變隨機存取記憶體(phase-change RAM,PRAM)及/或電阻式隨機存取記憶體(resistive RAM,ReRAM)等。記憶體300可指通訊裝置10中所包括的記憶體晶片或包括多個記憶體晶片及/或記憶體裝置的記憶體模組。
The
如上所述,由於資料在通訊處理器100與應用處理器200之間頻繁地被傳輸及接收,因此記憶體300可作為可由通訊處理
器100以及應用處理器200存取的共享記憶體運作。通訊處理器100以及應用處理器200可經由記憶體300傳輸及接收資料。
As described above, since data is frequently transmitted and received between the
在至少一個示例性實施例中,記憶體300可包括第一區AR1、第二區AR2以及第三區AR3等,但並非僅限於此,且在其他示例性實施例中,可具有更大數目或更少數目的區。在至少一個示例性實施例中,第一區AR1、第二區AR2以及第三區AR3可為可在記憶體晶片及/或記憶體模組中彼此實體及/或邏輯劃分開的區。在至少一個示例性實施例中,第一區AR1、第二區AR2以及第三區AR3可為可在通訊裝置10中彼此實體區分開的記憶體裝置。
In at least one exemplary embodiment, the
根據至少一個示例性實施例,第一區AR1可為通訊處理器100的專用區,所述專用區由通訊處理器100獨佔性地使用。第二區AR2可在通訊處理器100與應用處理器200之間共享。舉例而言,第二區AR2可為用於通訊處理器100與應用處理器200之間的處理器間通訊(inter-processor communication,IPC)的共享區。第三區AR3可為應用處理器200的專用區,所述專用區由應用處理器200獨佔性地使用。然而,示例性實施例並非僅限於此,且可以其他配置/關係來排列記憶體300的各種區。
According to at least one exemplary embodiment, the first area AR1 may be a dedicated area of the
同時,在根據至少一個示例性實施例的通訊裝置10中,通訊處理器100可包括位址轉換電路120。位址轉換電路120可由硬體電路系統或硬體電路系統與軟體的組合來實施。位址轉換電路120可判斷是否期望及/或有必要轉換經由網路收發的資料的網
路位址。若確定出期望及/或有必要轉換資料的網路位址,則位址轉換電路120可基於網路位址轉換技術來轉換資料的網路位址。
Meanwhile, in the
資料可作為一種類型的網際網路協定(IP)封包而被傳輸及/或接收,且位址轉換電路120可轉換IP封包的網路位址(例如,可轉換IP封包中所包括的及/或與IP封包相關聯的網路位址等)。位址轉換電路120可將經由網路接收的IP封包的目的地位址轉換成適用於應用程式202的位址系統的位址及/或將待經由網路傳輸的IP封包的源位址轉換成適用於網路的位址系統的位址。
Data may be transmitted and/or received as a type of Internet Protocol (IP) packet, and address
在至少一個示例性實施例中,位址轉換電路120可支援作為網路位址轉換技術的客戶端轉換器(CLAT)以及網路位址轉換(NAT)兩者。客戶端轉換器可為用於將IP封包的IPv4標頭轉換成IP封包的IPv6標頭及/或將IPv6標頭轉換成IPv4標頭的IP標頭格式轉換技術,以使得通訊裝置10可經由基於特定網際網路協定(例如,IPv6或IPv4等)的網路與其他通訊裝置自由通訊。網路位址轉換可為用於將私用IP位址(及/或與私用網路、局域網路、內部網路等相關聯的內部IP位址)轉換成公用IP位址(及/或全域IP位址,例如可由網際網路跨網路存取的IP位址等)或相反將公用IP位址轉換成私用IP位址的IP位址轉換技術。可根據網路位址轉換來改變源位址及/或目的地位址的IP位址值以及埠號。
In at least one exemplary embodiment, the
舉例而言,位址轉換電路120可將具有經轉換的網路位址(例如,目的地位址等)的IP封包寫入(及/或複製到)記憶體
300的第二區AR2,但並非僅限於此。應用處理器200可基於經轉換的網路位址來存取記憶體300的第二區AR2並處理IP封包。在處理應用處理器200的IP封包的操作期間,IP封包可被複製到記憶體300的第三區AR3,但並非僅限於此。
For example, address
此外,根據一些示例性實施例,當應用處理器200提供IP封包時,所述IP封包可被儲存於記憶體300的第二區AR2中,且位址轉換電路120可自記憶體300的第二區AR2讀取IP封包並轉換IP封包的網路位址。具有經轉換的網路位址的IP封包可被儲存於通訊處理器100的專用記憶體(例如,記憶體300的第一區AR1)中,但並非僅限於此。
In addition, according to some exemplary embodiments, when the
如上所述,當通訊處理器100將IP封包傳送至應用處理器200及/或自應用處理器200接收IP封包時,由於基於硬體的位址轉換電路120執行網路位址轉換,因此應用處理器200可不需要執行額外的操作用於網路位址轉換。因此,可減小應用處理器200的載荷,且可減小將IP封包寫入(及/或複製到)記憶體300或自記憶體300讀取IP封包的次數。
As mentioned above, when the
圖2是示出根據至少一個示例性實施例的位址轉換電路120的操作的圖式。假定自網路接收IP封包,亦即,位址轉換電路120是接收路徑。
FIG. 2 is a diagram illustrating the operation of the
參照圖2,位址轉換電路120可包括第一轉換器121、第二轉換器122及/或局域記憶體123,但並非僅限於此。
Referring to FIG. 2 , the
經由網路傳輸及接收的IP封包可包括標頭以及有效載荷 (payload)等。舉例而言,第一IP封包PK0可包括第一標頭HD0以及第一有效載荷PL0。標頭可包括網路位址(以下稱為IP位址)以及控制資訊,且有效載荷可包括資料。 IP packets transmitted and received over the network can include headers and payloads (payload) etc. For example, the first IP packet PK0 may include a first header HD0 and a first payload PL0. The header may include a network address (hereinafter referred to as IP address) and control information, and the payload may include data.
經由網路接收的IP封包PK0至PKN-1可被儲存於第一記憶體310中,其中N為自然數。舉例而言,第一記憶體310可為圖1所示的記憶體300的第一區AR1,亦即,通訊處理器100的專用區等。
The IP packets PK0 to PKN-1 received via the network can be stored in the
儲存於第一記憶體310中的IP封包PK1至PKN-1的標頭HDs可被讀取,且所讀取的標頭HDs可被儲存於局域記憶體123中。在至少一個示例性實施例中,位址轉換電路120可例如以直接記憶體存取(direct memory access,DMA)方式基於標頭HDs的位址及長度資訊自第一記憶體310讀取標頭HDs,並將標頭HDs儲存於局域記憶體123中,所述位址及長度資訊是基於指示IP封包PK0至PKN-1在第一記憶體310中被儲存的位置的描述符資訊而獲得。
The headers HDs of the IP packets PK1 to PKN-1 stored in the
局域記憶體123可由靜態隨機存取記憶體或暫存器實施。然而,發明概念的示例性實施例並非僅限於此,且局域記憶體123可由各種記憶體實施。局域記憶體123亦可被稱為局域緩衝器。儘管圖2示出其中局域記憶體123被包括於位址轉換電路120中的實例,但發明概念的示例性實施例並非僅限於此。在另一示例性實施例中,局域記憶體123可為通訊處理器(參照圖1中的100)的嵌式記憶體,且亦可為自位址轉換電路120單獨提供的
記憶體。
The
第一轉換器121以及第二轉換器122可存取局域記憶體123並轉換儲存於局域記憶體123中的標頭HD0至HDN-1的IP位址。第一轉換器121可作為預處理器運作,而第二轉換器122可作為後處理器運作。第一轉換器121可在第二轉換器122之前運作,且第二轉換器122可在第一轉換器121的運作完成之後運作。
The
第一轉換器121可改變(及/或轉換、產生新的標頭等)IP封包的標頭格式並改變IP封包的IP版本。第一轉換器121可自局域記憶體123讀取標頭HD0至HDN-1,並判斷例如是否期望及/或有必要改變標頭HD0至HDN-1中的每一者的IP版本。當期望及/或有必要改變IP版本時,第一轉換器121可例如藉由將標頭的格式改變為另一IP版本(例如,另一IP協定版本,例如IPv4、IPv6等)而將標頭HD0至HDN-1的格式轉換成格式,並將IP版本改變為另一IP版本。標頭可包括各種欄位(例如,多個欄位),且當改變標頭格式時,第一轉換器121可改變標頭的欄位中的至少一些欄位。
The
在至少一個示例性實施例中,第一轉換器121可支援CLAT功能並將IP封包的標頭中所包括的網際網路協定版本4(Internet protocol version 4,IPv4)標頭格式轉換成網際網路協定版本6(Internet protocol version 6,IPv6)標頭格式及/或將IPv6標頭格式轉換成IPv4標頭格式。經改變的標頭可被再次儲存於局
域記憶體123中。舉例而言,當網路支援IPv6位址系統且利用經由網路接收的IP封包的資料的主機(例如,圖1中的應用程式202等)支援IPv4位址時,第一轉換器121可將IP封包的標頭中所包括的IPv6位址轉換成IPv4位址。
In at least one exemplary embodiment, the
第二轉換器122可執行IP位址轉換。第二轉換器122可自局域記憶體123讀取例如HD0至HDN-1等標頭(或由第一轉換器121改變的標頭),並判斷是否期望及/或有必要轉換標頭HD0至HDN-1中的每一者的IP位址。當期望及/或有必要轉換標頭HD0至HDN-1中的每一者的IP位址時,第二轉換器122可改變IP位址中的傳輸協定的位址值(例如,指示源位址及/或目的地位址的值)以及埠號(例如,傳輸控制協定(TCP)或使用者資料報協定(user datagram protocol,UDP)等的埠號)。
The
在至少一個示例性實施例中,第二轉換器122可支援NAT功能並將公用IP位址轉換成私用IP位址及/或將私用IP位址轉換成公用IP位址。舉例而言,當通訊裝置10執行連系(tethering)及/或作為路由器運作時,第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址。經改變的標頭可被再次儲存於局域記憶體123中。
In at least one exemplary embodiment, the
可藉由改變(例如,轉換、產生新的標頭等)第一轉換器121的IP版本及/或藉由改變第二轉換器122的IP位址值而改變標頭HD0至HDN-1,且經改變的標頭(例如,NHD0至NHDN-1(或NHDs))可被儲存於(及/或複製到)第二記憶體320中。舉
例而言,第二記憶體320可為圖1所示的記憶體300的第二區AR2(即,共用處理器100等)與應用處理器200之間的共享區。在至少一個示例性實施例中,經改變的標頭NHDs可以例如DMA方式自局域記憶體123讀取,並儲存於第二記憶體320中。同時,IP封包PK0至PKN-1的有效載荷(例如,PL0至PLN-1(或PLs))可以DMA方式自第一記憶體310讀取並儲存於第二記憶體320中。因此,具有經轉換的IP位址的IP封包PK0a至PKN-1a可被儲存於第二記憶體320中。應用處理器200可存取第二記憶體320並處理具有經轉換的位址的IP封包PKs(亦即IP封包PK0a至PKN-1a)。
The headers HD0 to HDN-1 may be changed by changing (e.g. converting, generating new headers, etc.) the IP version of the
儘管已闡述假定位址轉換電路120為接收路徑的至少一個示例性實施例,但在位址轉換電路120為傳輸路徑時,第一轉換器121以及第二轉換器122的操作可類似於第一轉換器121及第二轉換器122的上述操作。然而,當位址轉換電路120為傳輸路徑時,由應用處理器200儲存於第二記憶體320中的IP封包的標頭可自第二記憶體320讀取並儲存於局域記憶體123中,且第一轉換器121及第二轉換器122可改變分別包括在所述標頭中的IP位址。在此種情形中,第二轉換器122可作為預處理器運作。在第二轉換器122的運作完成之後,第一轉換器121可作為後處理器運作。在將具有經轉換的位址的IP封包儲存於第一記憶體310中之後,可經由網路將IP封包傳輸至其他裝置。
Although at least one exemplary embodiment has been described assuming that the
圖3是根據至少一個示例性實施例的IP封包PK的結構 的圖式。 Figure 3 is a structure of an IP packet PK according to at least one exemplary embodiment schema.
參照圖3,根據至少一個示例性實施例,IP封包PK可包括標頭HD及/或有效載荷PL等,但並非僅限於此。標頭HD可包括IP標頭H1及/或TCP標頭H2(或UDP標頭等),且有效載荷PL可包括資料DT,資料DT被提供至應用程式及/或由應用程式產生。在圖2中,IP封包PK的IP標頭H1以及TCP標頭H2可儲存於局域記憶體123中。第一轉換器121可改變IP標頭H1以改變IP版本,且IP標頭H1以及TCP標頭H2可被改變使得第二轉換器122可轉換IP位址。
Referring to FIG. 3 , according to at least one exemplary embodiment, the IP packet PK may include a header HD and/or a payload PL, etc., but is not limited thereto. The header HD may include an IP header H1 and/or a TCP header H2 (or UDP header, etc.), and the payload PL may include data DT provided to and/or generated by the application. In FIG. 2 , the IP header H1 and the TCP header H2 of the IP packet PK can be stored in the
圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。圖4A示出IPv4封包的標頭,且圖4B示出IPv6封包的基本標頭。 4A and 4B illustrate an IP header of an IP packet, according to some example embodiments. Figure 4A shows the header of an IPv4 packet, and Figure 4B shows the basic header of an IPv6 packet.
參照圖4A,IPv4封包的標頭H1_IPv4(以下稱為IPv4標頭)可包括用於版本、IP標頭長度IHL、服務類型ToS、總長度、辨識符、旗標(flag)、片段偏移(fragment offset)、存活時間(time-to-live)、協定、標頭核對和、源位址、目的地位址、選項及填充(padding)的相應欄位,但並非僅限於此。源位址以及目的地位址中的每一者可具有32位元的長度,但並非僅限於此,且選項及填充的長度可為可變的。 Referring to FIG. 4A, the header H1_IPv4 of the IPv4 packet (hereinafter referred to as the IPv4 header) may include a version, an IP header length IHL, a service type ToS, a total length, an identifier, a flag (flag), a segment offset ( fragment offset), time-to-live, protocol, header checksum, source address, destination address, options, and corresponding fields for padding, but not limited to. Each of the source address and the destination address can have a length of 32 bits, but is not limited to, and the length of options and padding can be variable.
參照圖4B,IPv6封包的基本標頭H1_IPv6(以下稱為IPv6標頭)可包括用於版本、流量類別、流標號(flow label)、有效載荷長度、下一標頭、跳限制(hop limit)、源位址以及目的地位址 的相應欄位,但並非僅限於此。源位址以及目的地位址中的每一者可具有128位元的長度,但並非僅限於此。 With reference to Fig. 4B, the basic header H1_IPv6 (hereinafter referred to as IPv6 header) of IPv6 packet can include for version, traffic category, flow label (flow label), payload length, next header, hop limit (hop limit) , source address, and destination address corresponding fields for , but not limited to. Each of the source and destination addresses can have a length of 128 bits, but are not limited to this.
參照圖4A及圖4B,IPv4標頭H1_IPv4可包括十二個基本欄位以及二個可選欄位,且IPv6標頭H1_IPv6可包括八個基本欄位,但並非僅限於此。然而,除基本標頭(即,IPv6標頭H1_IPv6)以外,IPv6封包可更包括擴展標頭。在IPv6標頭H1_IPv6中,下一標頭欄位可指下一標頭的類型等。可在下一標頭中被指示的標頭可為IPv6擴展標頭或TCP(或UDP等)標頭,其為上層標頭。當不使用擴展標頭時,TCP(或UDP等)標頭可位於下一標頭中。 4A and 4B, the IPv4 header H1_IPv4 may include twelve basic fields and two optional fields, and the IPv6 header H1_IPv6 may include eight basic fields, but not limited thereto. However, in addition to the basic header (ie, the IPv6 header H1_IPv6), the IPv6 packet may further include an extended header. In the IPv6 header H1_IPv6, the next header field may refer to the type of the next header, etc. A header that may be indicated in the next header may be an IPv6 extension header or a TCP (or UDP, etc.) header, which is an upper layer header. When the extension header is not used, the TCP (or UDP, etc.) header can be located in the next header.
IPv4標頭H1_IPv4以及IPv6標頭H1_IPv6可相等地包括用於版本、源位址以及目的地位址等的欄位。然而,如上所述,IPv6標頭H1_IPv6的源位址以及目的地位址中的每一者的長度(即,128位元)可為IPv4標頭H1_IPv4的源位址以及目的地位址中的每一者的長度(即,32位元)的四倍。 The IPv4 header H1_IPv4 and the IPv6 header H1_IPv6 may equally include fields for version, source and destination addresses, and the like. However, as described above, the length (i.e., 128 bits) of each of the source and destination addresses of the IPv6 header H1_IPv6 may be each of the source and destination addresses of the IPv4 header H1_IPv4 four times the length of the previous one (ie, 32 bits).
在將IPv4標頭H1_IPv4轉換成IPv6標頭H1_IPv6時,可刪除在IPv4標頭H1_IPv4中所包括的用於IP標頭長度IHL、辨識符、旗標、片段偏移、標頭核對和、選項以及填充等的欄位,且可添加用於流標號的欄位。相反地,在將IPv6標頭H1_IPv6轉換成IPv4標頭H1_IPv4時,可刪除用於流標號的欄位,且可添加用於IP標頭長度IHL、辨識符、旗標、片段偏移、標頭核對和、選項以及填充等的欄位。IPv4標頭H1_IPv4的用於服務類型ToS、總長度、協定、存活時間的欄位與IPv6標頭H1_IPv6的用於流量 類別、有效載荷長度、下一標頭以及跳限制的欄位可彼此轉換。 When converting the IPv4 header H1_IPv4 into the IPv6 header H1_IPv6, the IP header length IHL, identifier, flag, fragment offset, header checksum, options, and fields for filling etc., and may add fields for flow labels. Conversely, when converting the IPv6 header H1_IPv6 to the IPv4 header H1_IPv4, the fields for the flow number can be deleted, and the fields for the IP header length IHL, identifier, flag, fragment offset, header Fields for checksums, options, fills, etc. Fields of IPv4 header H1_IPv4 for Type of Service, Total Length, Protocol, Time To Live and IPv6 header H1_IPv6 for traffic The fields of category, payload length, next header, and hop limit are interchangeable with each other.
參照圖2闡述的位址轉換電路120的第一轉換器121可將IPv4標頭H1_IPv4轉換成IPv6標頭H1_IPv6,或將IPv6標頭H1_IPv6轉換成IPv4標頭H1_IPv4。
The
圖5示出根據至少一個示例性實施例的IP封包的TCP標頭。 Figure 5 illustrates a TCP header of an IP packet, according to at least one example embodiment.
參照圖5,TCP標頭H2_TCP可包括用於源埠、目的地埠、序列號、確認號(acknowledgement number)、資料偏移、保留欄位「保留(Reserved)」、6-位元旗標、視窗大小、TCP核對和、緊急指示符(urgent pointer)、選項及/或填充等的相應欄位。類似於TCP標頭H2_TCP,作為傳輸協定的UDP標頭可包括用於源埠、目的地埠、UDP長度及/或UDP核對和等的相應欄位。 Referring to FIG. 5, the TCP header H2_TCP may include a source port, a destination port, a sequence number, an acknowledgment number (acknowledgment number), a data offset, a reserved field "Reserved", a 6-bit flag, Corresponding fields for window size, TCP checksum, urgent pointer, options and/or padding, etc. Similar to the TCP header H2_TCP, the UDP header as the transport protocol may include corresponding fields for source port, destination port, UDP length and/or UDP checksum, and so on.
參照圖2闡述的位址轉換電路120的第二轉換器122可改變圖4A及圖4B的IP標頭(例如,IPv4標頭H1_IPv4或IPv6標頭H1_IPv6)的源及/或目的地位址值以及TCP標頭H2_TCP(或UDP標頭等)的源及/或目的地埠號,並將私用IP位址轉換成公用IP位址及/或相反地將公用IP位址轉換成私用IP位址。
The
圖6A是根據至少一個示例性實施例的位址轉換電路120的第一轉換器121的實施實例的方塊圖,且圖6B是根據至少一個示例性實施例的一種操作圖6A的第一轉換器121的方法的流程圖。將闡述其中第一轉換器121將IPv6標頭轉換成IPv4標頭的情形作為實例。
FIG. 6A is a block diagram of an implementation example of the
參照圖6A,第一轉換器121可包括第一過濾器11、IP轉變器12及/或第一IP標頭核對和計算器13等。在至少一個示例性實施例中,第一轉換器121的第一過濾器11、IP轉變器12及/或IP標頭核對和計算器13可由硬體邏輯電路實施,但並非僅限於此。
Referring to FIG. 6A , the
參照圖6A及圖6B,第一轉換器121可讀取儲存於局域記憶體123中的標頭HD(S110)。第一轉換器121可依序讀取標頭HD0至HDN-1。如以上參照圖3所述,標頭HD可包括IP標頭H1以及TCP標頭H2。在操作S110中,第一轉換器121可自局域記憶體123讀取IP標頭H1。第一轉換器121可對所讀取的標頭HD執行標頭格式轉換。
6A and 6B, the
第一過濾器11可分析所讀取的標頭HD並判斷是否期望及/或有必要進行IP版本轉換(S120)。第一過濾器11可基於期望的及/或預定的過濾器設定(例如,期望的及/或預設的欄位)而確定標頭HD的IP版本,並判斷是否期望及/或有必要改變標頭HD的標頭格式。舉例而言,第一過濾器11可確認標頭HD的版本欄位,並確定出標頭HD為IPv6標頭。第一過濾器11可基於所期望的及/或預設的不同欄位(例如,流量類別及/或目的地位址等)而判斷IPv6標頭是否將要被轉換成IPv4標頭。舉例而言,若基於目的地位址判斷出IP封包被提供至被配置成支援IPv4的應用程式,則第一過濾器11可確定出期望及/或有必要轉換標頭HD的標頭格式。
The
若第一過濾器11確定出期望及/或有必要進行IP版本轉換,則IP轉變器12可改變標頭HD的IP標頭格式(S130)。為改變IP標頭格式,IP轉變器12可選擇將被改變的欄位並改變所選擇的欄位。IP轉變器12可基於例如無狀態網際網路協定/網際網路控制消息協定(Internet protocol/Internet control message protocol,IP/ICMP)轉換(SSIT)、網路位址轉換-協定轉換(network address translation-protocol translation,NAT-PT)及/或堆疊中塊(bump-in-the-stack,BIS)等方法執行IP標頭格式轉換。
If the
隨後,IP標頭核對和計算器13可更新IP標頭核對和(S140)。在操作S130中,由於改變了IP標頭格式,因此第一IP標頭核對和計算器13可基於具有經改變的格式的IP標頭H1計算IP標頭核對和,並基於所計算的值更新IP標頭核對和。
Subsequently, the IP
舉例而言,當IPv6標頭被轉換成IPv4標頭時,第一IP標頭核對和計算器13可計算IP標頭核對和並將所計算的值提供至IPv4標頭的標頭核對和欄位。因此,可更新IP標頭核對和,且可完成IP標頭格式轉換,亦即IP版本轉換。
For example, when an IPv6 header is converted into an IPv4 header, the first IP
第一轉換器121可將具有經改變的標頭格式的標頭NHD儲存於局域記憶體123中(S150)。舉例而言,第一轉換器121可將自IPv6標頭轉換為IPv4標頭的標頭NHD儲存於局域記憶體123中。
The
在操作S120中,若第一過濾器11確定出不期望及/或不必要進行IP版本轉換,則可結束對標頭HD的標頭格式轉換。可
隨後對儲存於局域記憶體123中的標頭HD0至HDN-1執行包括上述操作S110至S150的標頭格式轉換。儘管圖6A示出其中局域記憶體123的IPv6標頭HD0至HDN-1被轉換成新的IPv4標頭NHD0至NHDN-1的情形,但發明概念的示例性實施例並非僅限於此。如上所述,可視需要轉換標頭HD0至HDN-1,且可不轉換標頭HD0至HDN-1中的一些標頭。
In operation S120, if the
可以DMA方式將儲存於局域記憶體123中的經轉換的標頭HD0至HDN-1複製到第一記憶體(參見圖2中的310)及/或第二記憶體(參見圖2中的320)。另外,可由第二轉換器對經轉換的標頭HD0至HDN-1執行IP位址轉換(參見圖2中的122)。
The converted headers HD0 to HDN-1 stored in the
圖7A是根據至少一個示例性實施例的位址轉換電路120的第二轉換器122的實施實例的方塊圖,且圖7B是根據至少一個示例性實施例的一種操作圖7A的第二轉換器122的方法的流程圖。
FIG. 7A is a block diagram of an implementation example of the
參照圖7A,第二轉換器122可包括第二過濾器21、位址轉換器22、IP標頭核對和計算器23及/或TCP標頭核對和計算器24等,但並非僅限於此。第二過濾器21、位址轉換器22、IP標頭核對和計算器23及TCP標頭核對和計算器24可利用硬體邏輯電路實施,但並非僅限於此。在至少一個示例性實施例中,IP標頭核對和計算器23及TCP標頭核對和計算器24可由一個標頭核對和計算電路實施,但並非僅限於此。
7A, the
參照圖7A及圖7B,第二轉換器122可讀取儲存於局域
記憶體123中的標頭HD(S210)。第二轉換器122可依序讀取標頭HD0至HDN-1。如以上參照圖3A所述,標頭HD可包括IP標頭H1以及TCP標頭H2等。在操作S210中,第二轉換器122可自局域記憶體123讀取IP標頭H1以及TCP標頭H2等。
7A and 7B, the
第二轉換器122可執行以下所述的操作並轉換在所讀取的標頭HD中所包括的IP位址。第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址及/或將待經由網路傳輸的IP封包(即,由應用處理器提供的IP封包)的私用IP位址轉換成用於網路的公用IP位址。
The
第二過濾器21可分析所讀取的標頭HD並判斷是否期望及/或有必要進行IP位址轉換(例如,位址值等的轉換)(S220)。第二過濾器21可基於所期望的及/或預定的過濾器設定來過濾標頭HD,並判斷是否期望及/或有必要進行IP位址轉換。在至少一個示例性實施例中,在過濾器設定中可包括IP位址的源位址及/或目的地位址。舉例而言,當在用於網路的公用IP位址區(例如,IP位址範圍及/或子網路遮罩)中不包括待經由網路傳輸的IP封包的源位址時,第二過濾器21可確定出期望及/或有必要進行IP位址轉換。在另一實例中,當在由圖1的通訊裝置10提供的局域IP位址區(例如,IP位址範圍及/或子網路遮罩)中不包括經由網路接收的IP封包的目的地位址時,第二過濾器21可確定出期望及/或有必要進行IP位址轉換。
The
若第二過濾器21確定出期望及/或有必要進行IP位址轉
換,則位址轉換器22可改變標頭HD中所包括的位址值以及埠號(S230)。如參照圖4A至圖5所述,在用於IP標頭(例如,圖4A的IPv4標頭H1_IPv4或圖4B的IPv6標頭H1_IPv6)的源位址及/或目的地位址的欄位中可包括位址值,且在用於TCP標頭或UDP標頭(例如,圖5的TCP標頭H2_TCP)的源埠或目的地埠的欄位中可包括埠號。位址轉換器22可改變源位址值及源埠號及/或改變目的地位址值及目的地埠號。因此,位址轉換器22可將公用IP位址轉換成私用IP位址及/或將私用IP位址轉換成公用IP位址。位址轉換器22可在轉換表中儲存IP位址與經轉換的IP位址之間的關係,即,私用IP位址與公用IP位址之間的關係。
If the
圖8示出根據至少一個示例性實施例的轉換表TT。 FIG. 8 illustrates a conversion table TT according to at least one exemplary embodiment.
參照圖8,轉換表TT可包括可彼此對應的公用IP位址PUA與私用IP位址PRA。舉例而言,具有位址值「10.0.0.2」以及埠號「3327」的私用IP位址PRA可對應於具有位址值「135.26.32.7」以及埠號「5003」的公用IP位址PUA。具有位址值「10.0.0.3」以及埠號「3327」的私用IP位址PRA可對應於具有位址值「135.26.32.7」以及埠號「5002」的公用IP位址PUA。位址轉換器22可在IP位址轉換期間產生並使用轉換表TT。
Referring to FIG. 8 , the translation table TT may include a public IP address PUA and a private IP address PRA that may correspond to each other. For example, a private IP address PRA with address value "10.0.0.2" and port number "3327" may correspond to a public IP address PUA with address value "135.26.32.7" and port number "5003" . The private IP address PRA with address value "10.0.0.3" and port number "3327" may correspond to the public IP address PUA with address value "135.26.32.7" and port number "5002".
返回參照圖7A及圖7B,IP標頭核對和計算器23可更新IP標頭核對和,且TCP標頭核對和計算器24可更新TCP標頭核對和(或UDP標頭核對和等)(S240)。然而,當標頭HD為IPv6標頭時,可不執行對IP標頭核對和的更新。
Referring back to FIGS. 7A and 7B , the IP
在操作S230中,由於位址值被改變,因此IP標頭核對和計算器23可基於包括經改變的位址值的IP標頭計算IP標頭核對和,並基於所計算的值更新IP標頭核對和。此外,在操作S230中,由於埠號被改變,因此TCP標頭核對和計算器24可基於包括經改變的埠號的TCP標頭計算TCP標頭核對和,並基於所計算的值更新TCP標頭核對和。因此,可完成IP轉換。
In operation S230, since the address value is changed, the IP
第二轉換器122可將具有經改變的IP位址值的標頭NHD儲存於局域記憶體123中(S250)。舉例而言,第二轉換器122可再次將IP位址值自公用IP位址改變為私用IP位址的標頭NHD或IP位址值相反自私用IP位址改變為公用IP位址的標頭NHD儲存於局域記憶體123中。
The
同時,在操作S220中,若第二過濾器21確定出不期望及/或不必要進行IP位址轉換,則可結束對標頭HD的IP位址轉換。可對儲存於局域記憶體123中的標頭HD0至HDN-1依序執行(或並行執行)包括上述操作S210至S250的IP位址轉換(即,標頭轉換)。儘管圖7A示出其中局域記憶體123的標頭HD0至HDN-1轉換成具有經轉換的IP位址的新的標頭HD0至HDN-1的情形,但發明概念的示例性實施例並非僅限於此。如上所述,可視需要轉換標頭HD0至HDN-1,且可不轉換標頭HD0至HDN-1中的一些標頭。
Meanwhile, in operation S220, if the
可將儲存於局域記憶體123中的標頭HD0至HDN-1儲存於第一記憶體(參照圖2中的310)及/或第二記憶體(參照圖2
中的320)中及/或可由第一轉換器(參照圖1中的121)對儲存於局域記憶體123中的標頭HD0至HDN-1執行標頭格式轉換。
The headers HD0 to HDN-1 stored in the
圖9A及圖9B是示出根據一些示例性實施例一種轉換第二轉換器的IP位址的方法的圖式。圖9A示出在傳輸路徑中將私用IP位址轉換成公用IP位址,且圖9B示出在接收路徑中將所接收的公用IP位址轉換成私用IP位址。 9A and 9B are diagrams illustrating a method of converting an IP address of a second translator according to some exemplary embodiments. FIG. 9A shows the translation of the private IP address to the public IP address in the transmission path, and FIG. 9B shows the translation of the received public IP address to the private IP address in the reception path.
參照圖9A,自主機接收的IP封包的源IP位址S可為具有位址值「10.0.0.2」以及埠號「3327」的私用IP位址,且目的地IP位址D可為具有位址值「128.119.40.186」以及埠號「80」的公用IP位址。當源IP位址S不對應於由特定網路提供的公用IP位址區(例如,IP位址範圍及/或子網路遮罩)時,第二轉換器122(例如,第二轉換器122的位址轉換器(參照圖7A中的22))可執行將源IP位址S轉換成公用IP位址的IP位址轉換操作。 Referring to FIG. 9A, the source IP address S of the IP packet received from the host may be a private IP address with address value "10.0.0.2" and port number "3327", and the destination IP address D may be with Public IP address with address value "128.119.40.186" and port number "80". When the source IP address S does not correspond to the public IP address area (eg, IP address range and/or subnet mask) provided by the specific network, the second converter 122 (eg, the second converter The address translator of 122 (refer to 22 in FIG. 7A ) may perform an IP address translation operation of converting the source IP address S into a public IP address.
第二轉換器122可將源IP位址S的位址值「10.0.0.2」以及埠號「3327」分別改變為位址值「135.26.32.7」以及埠號「5003」,並將源IP位址S轉換為公用IP位址。可將私用IP位址以及與其對應的公用IP位址儲存於轉換表TT中。具有經轉換的源IP位址S’以及目的地IP位址D的IP封包可經由網路被傳輸至目的地(例如,伺服器或另一電子裝置等)。
The
參照圖9B,自網路接收的IP封包的源IP位址S可為具有位址值「128.119.40.186」以及埠號「80」的公用IP位址,且目的地IP位址D可為具有位址值「135.26.32.7」以及埠號「5003」
的公用IP位址。當目的地IP位址D不對應於由局域網路提供的私用IP位址區(例如,IP位址範圍及/或子網路遮罩)時,第二轉換器122可執行將公用IP位址轉換成私用IP位址的IP位址轉換操作。
9B, the source IP address S of the IP packet received from the network can be a public IP address with address value "128.119.40.186" and port number "80", and the destination IP address D can be with Address value "135.26.32.7" and port number "5003"
public IP address. When the destination IP address D does not correspond to the private IP address area (for example, IP address range and/or subnet mask) provided by the local area network, the
第二轉換器122可參照轉換表TT將目的地IP位址D的位址值「135.26.32.7」以及埠號「5003」分別改變為位址值「10.0.0.2」以及埠號「3327」,並將目的地IP位址D轉換成源IP位址。可將具有經轉換的目的地IP位址D’以及源IP位址S的IP封包傳輸至主機。
The
圖10是根據至少一個示例性實施例的位址轉換電路120a的方塊圖。
FIG. 10 is a block diagram of an
參照圖10,位址轉換電路120a可包括局域記憶體123、第一轉換器121a、第二轉換器122a及/或標頭核對和計算器123a等,但並非僅限於此。
Referring to FIG. 10 , the
第一轉換器121a可包括第一過濾器11及/或IP轉變器12等。第一轉換器121a的第一過濾器11以及IP轉變器12的操作可與圖6A所示的第一過濾器11以及IP轉變器12的操作相同。此外,第二轉換器122a可包括第二過濾器21及/或位址轉換器22等。第二轉換器122a的第二過濾器21以及位址轉換器22的操作可與圖7A所示的第二過濾器21以及位址轉換器22的操作相同。
The
當第一轉換器121a轉換IP標頭的格式及/或當第二轉換器122a轉換IP位址時,標頭核對和計算器123a可更新標頭核對
和。
The
標頭核對和計算器123a可包括IP標頭核對和計算器31及/或TCP標頭核對和計算器32等。當第一轉換器121a轉換IP標頭的格式時,IP標頭核對和計算器31可基於經轉換的具有所述格式的IP標頭而計算IP標頭核對和,並更新TCP標頭核對和。
The
此外,當第二轉換器122a轉換IP位址時,IP標頭核對和計算器31可基於包括經改變的位址值的IP標頭而更新IP標頭核對和,且TCP標頭核對和計算器32可基於包括經改變的埠號的TCP標頭來計算TCP標頭核對和並更新TCP標頭核對和。
In addition, when the
在至少一個示例性實施例中,位址轉換電路120a的第一轉換器121a及第二轉換器122a中的每一者可不包括標頭核對和計算器,但額外的標頭核對和計算器123a可在第一轉換器121a的標頭格式轉換期間以及第二轉換器122a的IP位址轉換期間計算標頭核對和,但示例性實施例並非僅限於此。
In at least one exemplary embodiment, each of the
圖11是根據至少一個示例性實施例的通訊處理器100a的方塊圖。
FIG. 11 is a block diagram of a
參照圖11,通訊處理器100a可包括至少一個處理器110、隨機存取記憶體(RAM)130、數據機150、位址轉換電路120、DMA控制器140及/或記憶體介面160等,但示例性實施例並非僅限於此。此外,通訊處理器100a可更包括其他組件。在至少一個示例性實施例中,通訊處理器100a可由單個晶片組實施,但並非僅限於此。通訊處理器100a的組件可經由匯流排170傳輸
及接收資料。
11, the
處理器110可控制通訊處理器100a的所有操作並可由中央處理單元(central processing unit,CPU)、微處理器(microprocessor,MP)或數位訊號處理器(digital signal processor,DSP)等實施。在至少一個示例性實施例中,處理器110可由多核處理器(例如,雙核處理器或四核處理器)實施,或可為多處理器。
The
RAM 130可用作操作記憶體、緩衝記憶體及/或快取記憶體等。舉例而言,用於控制通訊處理器100a的軟體或韌體可被裝載至RAM 130。RAM 130可由揮發性記憶體(例如,DRAM以及SRAM等)及/或電阻式記憶體(例如,PRAM、MRAM、FeRAM及ReRAM等)實施。
The
數據機150可將IP封包轉換成適於經由網路傳輸的訊號及/或將經由網路接收的訊號轉換成IP封包。數據機150可編碼並調變IP封包並將IP封包轉換成傳輸訊號。此外,數據機150可解調變並解碼經由網路接收的接收訊號並將所述接收訊號轉換成IP封包。數據機150可對訊號進行放大及濾波並與被配置成轉變訊號的頻率的射頻(RF)晶片通訊。RF晶片可經由天線將傳輸訊號傳輸至網路及/或自網路接收接收訊號。
The
記憶體介面160可藉由處理器110及/或DMA控制器140的控制將資料傳輸至記憶體300及/或自記憶體300讀取資料,但並非僅限於此。
The
記憶體300可由不同於通訊處理器(例如,通訊晶片)100a的裝置(例如,記憶體晶片或記憶體模組等)實施。然而,發明概念的示例性實施例並非僅限於此。在至少一個示例性實施例中,記憶體300可為通訊處理器100a的嵌式記憶體。經由數據機150接收或待經由數據機150接收的IP封包可儲存於記憶體300中。在至少一個示例性實施例中,通訊處理器100a以及應用處理器(參照圖1中的200)可存取記憶體300。記憶體300可包括通訊處理器100a的專用區、共享區以及應用處理器200的專用區。
The
DMA控制器140可支援通訊處理器100a的組件之間的資料傳輸並控制資料直接在通訊處理器100a的組件之間進行傳輸而無需處理器110的干涉。在至少一個示例性實施例中,DMA控制器140可將儲存於記憶體300中的IP封包的標頭傳輸至位址轉換電路120及/或將由位址轉換電路120轉換的標頭傳輸至記憶體300。此外,DMA控制器140可在記憶體300的多個區(例如,通訊處理器100a的專用區、共享區以及應用處理器200的專用區)中傳輸IP封包的有效載荷。
The
位址轉換電路120可轉換經由網路傳輸及接收的IP封包的網路位址。參照圖2及圖10闡述的位址轉換電路120以及120a可被應用至通訊處理器100a。
The
位址轉換電路120可藉由DMA控制器140的控制接收儲存於記憶體300中的IP封包的標頭並轉換在所述標頭中所包括的網路位址。位址轉換電路120可轉換標頭的格式(即,IP版本)
或執行IP位址轉換。
The
當位址轉換電路120作為接收路徑運作時,位址轉換電路120可轉換標頭的格式且然後執行IP位址轉換。當位址轉換電路120作為傳輸路徑運作時,位址轉換電路120可執行IP位址轉換且然後轉換標頭的格式。位址轉換電路120可藉由DMA控制器140的控制而將經轉換的標頭儲存於記憶體300的共享區(或與應用處理器共享的記憶體)中及/或將經轉換的標頭儲存於通訊處理器100a的專用區中。舉例而言,當位址轉換電路120作為接收路徑運作時,位址轉換電路120可將經轉換的標頭儲存於記憶體300的共享區中,使得應用處理器可使用經轉換的標頭。當位址轉換電路120作為傳輸路徑運作時,位址轉換電路120可將經轉換的標頭儲存於記憶體300中所包括的通訊處理器100a的專用區中,以使得由應用處理器提供且包括經轉換的標頭的IP封包可經由數據機150被傳輸至網路。
When the
如上所述,在自網路接收的IP封包被提供至應用處理器(參照圖1中的200)之前,通訊處理器100a的位址轉換電路120可轉換IP封包的網路位址。另外,在由應用處理器200提供的IP封包被傳輸至網路之前,通訊處理器100a的位址轉換電路120可轉換IP封包的網路位址。
As mentioned above, before the IP packet received from the network is provided to the application processor (refer to 200 in FIG. 1 ), the
圖12是根據至少一個示例性實施例的通訊裝置10a的方塊圖。
FIG. 12 is a block diagram of a
參照圖12,通訊裝置10a可經由網路(例如,全域網路)
20將資料(例如,IP封包)傳輸至至少一個電子裝置30及/或伺服器40等並自至少一個電子裝置30及/或伺服器40等接收資料(例如,IP封包)。通訊裝置10a亦可作為路由器運作。通訊裝置10a可經由局域網路將經由網路20接收的IP封包傳輸至另一電子裝置50。另外,通訊裝置10a可經由網路20將自其他電子裝置50接收的IP封包傳輸至電子裝置30或伺服器40。
Referring to FIG. 12, the
通訊裝置10a可包括通訊處理器100、應用處理器200、記憶體300、輸入/輸出(I/O)元件400及/或DMA控制器500等,但並非僅限於此。此外,通訊裝置10a可更包括其他組件。通訊裝置10a的組件可經由匯流排600傳輸及接收資料。
The
輸入/輸出元件400可提供使用者介面並包括輸入單元(例如,觸控板、小鍵盤及/或輸入按鈕等)及/或輸出單元(例如,顯示器及揚聲器等)。
The input/
DMA控制器500可支援通訊裝置10a的組件之間的資料傳輸並控制資料直接在通訊裝置10a的組件之間進行傳輸而無需應用處理器200的干涉。在至少一個示例性實施例中,DMA控制器500可控制IP封包在通訊處理器100、應用處理器200及記憶體300之間進行傳輸。此外,DMA控制器500可將儲存於記憶體300中的IP封包的標頭傳輸至通訊處理器100的位址轉換電路120及/或將由位址轉換電路120轉換的標頭轉換至記憶體300。在至少一個示例性實施例中,通訊處理器100以及應用處理器200中的每一者可包括DMA控制器。
The
可轉換經由網路20接收的IP封包的網路位址,且可將包括經轉換的網路位址的IP封包儲存於記憶體300中。通訊處理器100可將IP封包的網路位址轉換成符合可由應用處理器200的應用程式202或其他電子裝置50識別的位址系統。應用處理器200可自記憶體300讀取包括經轉換的網路位址的IP封包,且應用程式202可處理IP封包。另外,其他電子裝置50可經由局域網路60處理包括經轉換的網路位址的IP封包。
The network address of the IP packet received via the
此外,通訊處理器100可將由應用處理器200及/或其他電子裝置50提供的IP封包的網路位址轉換成符合網路20的位址系統,並將包括經轉換的網路位址的IP封包傳輸至網路20。
In addition, the
在根據至少一個示例性實施例的通訊裝置10a中,通訊處理器100可轉換網路位址以使得應用處理器200可不需要執行額外的網路位址轉換。因此,應用處理器200的處理及/或記憶體負載可被減少及/或可變得更加高效,且通訊裝置10a的效能被改善。
In the
圖13A示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。圖13B示出IP封包在根據比較實例的通訊裝置中的移動。圖13A及圖13B示出自網路接收的IP封包在硬體區(例如,通訊處理器CP)與軟體區(例如,應用處理器AP)中的移動。 FIG. 13A illustrates the movement of IP packets in a communication device according to at least one example embodiment. FIG. 13B shows the movement of IP packets in the communication device according to the comparative example. 13A and 13B illustrate the movement of IP packets received from the network in the hardware area (eg, communication processor CP) and software area (eg, application processor AP).
參照圖13A,可經由網路接收IP封包(S11),且可將所接收的IP封包PK0至PKN-1儲存於硬體區的第一記憶體310
中。
Referring to FIG. 13A, the IP packets can be received via the network (S11), and the received IP packets PK0 to PKN-1 can be stored in the
位址轉換電路120可轉換IP封包的網路位址(S12)。如參照圖2至圖9B所述,位址轉換電路120可接收IP封包的標頭並轉換標頭格式或IP位址。位址轉換電路120可將包括經轉換的網路位址的IP封包(例如,IP封包NPK0至NPKN-1)複製(或儲存)至第二記憶體320(例如,共享記憶體)(或複製或儲存至第二記憶體320中)(S13)。
The
隨後,可由軟體區處理IP封包NPK0至NPKN-1。驅動器203可將儲存於第二記憶體320中的IP封包NPK0至NPKN-1複製到插口緩衝器(S14)。舉例而言,插口緩衝器可為第三記憶體330的專用於應用處理器AP的一部分。
Subsequently, the IP packets NPK0 to NPKN-1 can be processed by the software domain. The
應用程式202可自插口緩衝器讀取IP封包NPK0至NPKN-1(S15)。
The
參照圖13B,可經由網路接收IP封包(S21),且可將所接收的IP封包PK0至PKN-1儲存於硬體區的第一記憶體310a中。可將IP封包PK0至PKN-1複製到第二記憶體320a(例如,共享記憶體)(S22)。
Referring to FIG. 13B , the IP packets may be received via the network (S21), and the received IP packets PK0 to PKN-1 may be stored in the
此後,可由軟體區處理IP封包PK0至PKN-1。驅動器203a可將儲存於第二記憶體320a中的IP封包PK0至PKN-1複製到插口緩衝器(S23)。舉例而言,插口緩衝器可為第三記憶體330a的專用於應用處理器AP的一部分,但並非僅限於此。同時,IP封包PK0至PKN-1的位址系統可不符合被配置成處理IP封包PK0
至PKN-1的應用程式202a的位址系統。因此,標頭轉換器204a(例如,常駐程式)可自插口緩衝器讀取IP封包PK0至PKN-1(S24)及/或轉換IP封包PK0至PKN-1的網路位址(S25)。標頭轉換器204a及/或驅動器203a可將具有經轉換的網路位址的IP封包NPK0至NPKN-1重新複製到插口緩衝器(S26)。隨後,應用程式202a可自插口緩衝器讀取IP封包NPK0至NPKN-1(S27)。
Thereafter, the IP packets PK0 to PKN-1 can be processed by the software domain. The
在將IP封包在根據至少一個示例性實施例的圖13A所示的通訊裝置中的移動與IP封包在根據比較實例的圖13B所示的通訊裝置中的移動進行比較時,在根據至少一個示例性實施例的通訊裝置中,基於硬體的位址轉換電路120可提前執行網路位址轉換,以使得應用處理器AP可不需要執行位址轉換。因此,應用處理器AP的處理及/或記憶體負載可被減少。此外,可減少IP封包被複製到記憶體的次數,藉此增大IP封包的處理速度。
When comparing the movement of an IP packet in the communication device shown in FIG. 13A according to at least one exemplary embodiment with the movement of an IP packet in the communication device shown in FIG. 13B according to a comparative example, according to at least one example In the communication device of the exemplary embodiment, the hardware-based
圖14是根據至少一個示例性實施例的應用處理器200a的方塊圖。
FIG. 14 is a block diagram of an
由於數據機的功能被整合於應用處理器200a中,因此圖14所示的應用處理器200a可被稱為ModAP。
Since the functions of the modem are integrated in the
參照圖14,應用處理器200a可由系統晶片(system-on-chip,SoC)實施,且可包括中央處理單元(CPU)210、隨機存取記憶體(RAM)220、DMA控制器230、數據機240、位址轉換電路250及/或記憶體控制器260等。此外,應用處理器200a可更包括其他組件,例如電源管理單元、顯示控制器及/或感
測器等。系統晶片的組件可經由匯流排270傳輸及接收資料。
14, the
CPU 210可控制應用處理器200a的所有操作。CPU 210可處理及/或執行儲存於RAM(或ROM)220中的至少一個程式(例如,電腦可讀取指令等)及/或資料,並控制應用處理器200a的組件的操作。在至少一個示例性實施例中,CPU 210可由多核處理器、多個互連處理器、分散式處理系統及/或雲計算處理系統等實施。所述多核處理器可為包括至少兩個獨立的核的單個計算組件。
The
RAM 220可暫時性地儲存程式(例如,作業系統、應用程式、其電腦可讀取指令等)、資料或指令。舉例而言,儲存於記憶體300中的程式及/或資料可藉由CPU 210或啟動碼的控制而暫時性地儲存於RAM 220中。RAM 220可由DRAM、SRAM等實施。
The
DMA控制器230可支援應用處理器200a的組件之間的資料傳輸,並控制資料直接在應用處理器200a的組件之間進行傳輸而無需CPU 210的干涉。
The
為執行有線及/或無線通訊,數據機240可調變將根據有線及/或無線環境進行傳輸的資料並再次儲存所接收的資料。數據機240可與RF晶片245執行數位通訊,但並非僅限於此。
In order to perform wired and/or wireless communication, the
RF晶片245可將經由天線接收的高頻訊號轉變成低頻訊號,並將經轉變的低頻訊號傳輸至數據機240。此外,RF晶片245可將自數據機240接收的低頻訊號轉變成高頻訊號並經由天線將經轉變的高頻訊號傳輸至無線網路。此外,RF晶片245可對
訊號進行放大及/或濾波。
The
此外,數據機240、位址轉換電路250以及記憶體控制器260的操作可與圖11所示的數據機150、位址轉換電路120以及記憶體介面160的操作相同或類似。因此,將不再予以贅述。
In addition, the operations of the
如上所述,根據至少一個示例性實施例的應用處理器200a可包括被配置成執行通訊功能的一些組件(例如,數據機240以及位址轉換電路250)。在此種情形中,由於位址轉換電路250提前執行網路位址轉換,因此CPU 210可不需要執行位址轉換。CPU 210的負載可被降低,且IP封包被複製到記憶體300的次數可被減少,且因此可增大IP封包的處理速度。因此,可改善應用處理器200a的效能。
As described above, the
儘管已參照發明概念的各種示例性實施例特別示出並闡述了發明概念,但應理解,在不背離以下申請專利範圍的精神及範圍的條件下可作出各種形式及細節上的變化。 While the inventive concepts have been particularly shown and described with reference to various exemplary embodiments thereof, it should be understood that various changes in form and details could be made without departing from the spirit and scope of the following claims.
10:通訊裝置 10: Communication device
100:通訊處理器/共用處理器 100: communication processor/shared processor
120:位址轉換電路 120: Address conversion circuit
200:應用處理器 200: application processor
201:作業系統(OS) 201: Operating system (OS)
202:應用程式 202: Application
300:記憶體 300: Memory
AP:應用處理器 AP: application processor
AR1:第一區
AR1:
AR2:第二區 AR2: Second Area
AR3:第三區 AR3: the third area
CP:通訊處理器 CP: communication processor
Claims (23)
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0159685 | 2017-11-27 | ||
??10-2017-0159685 | 2017-11-27 | ||
KR20170159685 | 2017-11-27 | ||
KR1020180120606A KR102610823B1 (en) | 2017-11-27 | 2018-10-10 | Communication system and method for network address translation |
??10-2018-0120606 | 2018-10-10 | ||
KR10-2018-0120606 | 2018-10-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201926975A TW201926975A (en) | 2019-07-01 |
TWI791691B true TWI791691B (en) | 2023-02-11 |
Family
ID=66845552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107142254A TWI791691B (en) | 2017-11-27 | 2018-11-27 | Communication system, communication device, application processor and network address translation method of communication system |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR102610823B1 (en) |
CN (1) | CN109842609B (en) |
TW (1) | TWI791691B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336836B (en) * | 2019-08-06 | 2021-10-15 | 郑州信大捷安信息技术股份有限公司 | Network filtering service system and method |
CN113014679B (en) * | 2019-12-19 | 2022-11-01 | 成都鼎桥通信技术有限公司 | Communication method, device and system |
CN111614661A (en) * | 2020-05-19 | 2020-09-01 | 展讯通信(上海)有限公司 | Communication device |
CN112165539B (en) * | 2020-09-23 | 2022-11-04 | 浙江农林大学暨阳学院 | IPv6 address translation method |
TWI783709B (en) * | 2021-10-05 | 2022-11-11 | 瑞昱半導體股份有限公司 | Method for converting network packets |
TWI825923B (en) * | 2022-08-16 | 2023-12-11 | 皓德盛科技有限公司 | Field programmable logic gate array for financial transactions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6947971B1 (en) * | 2002-05-09 | 2005-09-20 | Cisco Technology, Inc. | Ethernet packet header cache |
TW200820682A (en) * | 2006-06-14 | 2008-05-01 | Divitas Networks Inc | Content-based adaptive jitter handling |
CN102255982A (en) * | 2011-07-21 | 2011-11-23 | 电子科技大学 | Internet protocol version 4 (IPv4)/IPv6 translation gateway and translation method |
US20140215598A1 (en) * | 2001-03-30 | 2014-07-31 | Juniper Networks, Inc. | Network security device |
US20160118999A1 (en) * | 2014-10-22 | 2016-04-28 | Dell Products, Lp | Fast Update of Data Packet Checksums |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101859A1 (en) * | 2000-09-12 | 2002-08-01 | Maclean Ian B. | Communicating between nodes in different wireless networks |
CN1260920C (en) * | 2002-12-19 | 2006-06-21 | 华为技术有限公司 | Method for realizing network address conversion |
US20050117605A1 (en) * | 2003-07-22 | 2005-06-02 | Innomedia Pte Ltd. | Network address and port translation gateway with real-time media channel management |
CN1275443C (en) * | 2003-10-14 | 2006-09-13 | 中国科学院计算技术研究所 | Method for realizing distributed application tier conversion gate-link in network processor |
US7440405B2 (en) * | 2005-03-11 | 2008-10-21 | Reti Corporation | Apparatus and method for packet forwarding with quality of service and rate control |
US8265069B2 (en) * | 2005-06-23 | 2012-09-11 | Nokia Corporation | System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and/or firewall |
US8265049B2 (en) * | 2008-11-10 | 2012-09-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for implementing generic access network functionality in a wireless communication device |
JP5281912B2 (en) * | 2009-01-29 | 2013-09-04 | 通研電気工業株式会社 | Protocol converter and remote monitoring control system |
US9160707B2 (en) * | 2010-10-22 | 2015-10-13 | Telefonaktiebolaget L M Ericsson (Publ) | Differentiated handling of network traffic using network address translation |
CN103024089B (en) * | 2011-09-20 | 2016-02-17 | 中国电信股份有限公司 | Method for network address translation and equipment |
CN102984300B (en) * | 2012-12-13 | 2015-11-18 | 北京邮电大学 | Distributed network gate system and access method in a kind of 4-6-4 hybrid protocol network |
US20140181172A1 (en) * | 2012-12-20 | 2014-06-26 | Brent J. Elliott | Offloading tethering-related communication processing |
US8934489B2 (en) * | 2013-01-31 | 2015-01-13 | Gemtek Technology Co., Ltd. | Routing device and method for processing network packet thereof |
-
2018
- 2018-10-10 KR KR1020180120606A patent/KR102610823B1/en active IP Right Grant
- 2018-11-27 CN CN201811425221.8A patent/CN109842609B/en active Active
- 2018-11-27 TW TW107142254A patent/TWI791691B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140215598A1 (en) * | 2001-03-30 | 2014-07-31 | Juniper Networks, Inc. | Network security device |
US6947971B1 (en) * | 2002-05-09 | 2005-09-20 | Cisco Technology, Inc. | Ethernet packet header cache |
TW200820682A (en) * | 2006-06-14 | 2008-05-01 | Divitas Networks Inc | Content-based adaptive jitter handling |
CN102255982A (en) * | 2011-07-21 | 2011-11-23 | 电子科技大学 | Internet protocol version 4 (IPv4)/IPv6 translation gateway and translation method |
US20160118999A1 (en) * | 2014-10-22 | 2016-04-28 | Dell Products, Lp | Fast Update of Data Packet Checksums |
Also Published As
Publication number | Publication date |
---|---|
KR20190062166A (en) | 2019-06-05 |
CN109842609A (en) | 2019-06-04 |
CN109842609B (en) | 2023-04-07 |
KR102610823B1 (en) | 2023-12-07 |
TW201926975A (en) | 2019-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI791691B (en) | Communication system, communication device, application processor and network address translation method of communication system | |
JP6581277B2 (en) | Data packet transfer | |
JP4722157B2 (en) | Intelligent load balancing and failover of network traffic | |
US11483280B2 (en) | Method of translating IP packet for tethering service, communication system and electronic device for performing the same | |
US9325382B2 (en) | Method and system of providing internet protocol (IP) data communication in a NFC peer to peer communication environment | |
JP4840943B2 (en) | Intelligent load balancing and failover of network traffic | |
US20180167352A1 (en) | Method and apparatus for reducing ip addresses usage of nvme over fabrics devices | |
US20170033992A1 (en) | METHOD FOR PROCESSING VxLAN DATA UNITS | |
US20150163072A1 (en) | Virtual Port Extender | |
JP2018518867A5 (en) | ||
JP2008295043A (en) | Intelligent load balancing and failover of network traffic | |
US20140325637A1 (en) | Supporting IP Address Overlapping Among Different Virtual Networks | |
US20080225868A1 (en) | Allowing IPv4 clients to communicate using Teredo addresses when both clients are behind a NAT | |
US20200204480A1 (en) | Method and system for symmetric integrated routing and bridging | |
US10498836B2 (en) | Network based service discovery via unicast messages | |
CN106507414B (en) | Message forwarding method and device | |
US10749842B2 (en) | Communication system and method for network address translation | |
CN111711705B (en) | Method and device for realizing network connection based on bidirectional NAT (network Address translation) by proxy node | |
US8509235B2 (en) | Layer-2 packet return in proxy-router communication protocol environments | |
US8849949B1 (en) | Providing proxy service during access switch control plane software upgrade | |
US20080225867A1 (en) | Faster NAT detection for Teredo client | |
US9998376B2 (en) | Control device, communication system, control method, and non-transitory recording medium | |
US10250559B2 (en) | Reversible mapping of network addresses in multiple network environments | |
WO2020258062A1 (en) | Address extension apparatus and system, and movable platform | |
JP6123476B2 (en) | Communication apparatus and communication system |