TW201926975A - 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 PDF

Info

Publication number
TW201926975A
TW201926975A TW107142254A TW107142254A TW201926975A TW 201926975 A TW201926975 A TW 201926975A TW 107142254 A TW107142254 A TW 107142254A TW 107142254 A TW107142254 A TW 107142254A TW 201926975 A TW201926975 A TW 201926975A
Authority
TW
Taiwan
Prior art keywords
header
address
packet
internet protocol
memory
Prior art date
Application number
TW107142254A
Other languages
Chinese (zh)
Other versions
TWI791691B (en
Inventor
金龍
金炳承
宋仁哲
林希修
趙誠昱
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201926975A publication Critical patent/TW201926975A/en
Application granted granted Critical
Publication of TWI791691B publication Critical patent/TWI791691B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2525Translation at a client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Abstract

A communication system configured to perform an address translation and a method of translating an address of the communication system are provided. The communication system configured to transceive a packet through a network includes a modem circuit configured to modulate the packet into a transmission signal to be transmitted to the network and demodulate a receiving signal from the network into the packet, and an address translation circuit configured to translate a network address of the packet, wherein the address translation circuit includes an embedded memory configured to receive a header of the packet from an external memory in which the packet is stored and store the header, a first translator configured to translate a format of the header, and a second translator configured to translate an address included in the header.

Description

通信系統、通信裝置、應用處理器以及通信系統的網絡地址轉換方法Communication system, communication device, application processor, and network address conversion method of communication system

發明概念的各種示例性實施例是有關於一種通訊系統,且更具體而言,是有關於一種被配置成執行網路位址轉換用於資料通訊的通訊系統的硬體結構、一種通訊設備、一種轉換網路位址的方法及/或其非暫時性電腦可讀取媒體。Various exemplary embodiments of the inventive concept relate to a communication system, and more particularly to a hardware structure, a communication device, and a communication system configured to perform network address translation for data communication, A method of converting a network address 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 for data communication can communicate with a network or communication device having a different address system using network address translation technology. Network address translation techniques 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 IPv6 host via the IPv6 network. Network address translation can refer to the nickname of the transmission protocol for the transmission and reception of network traffic by a router or equivalent networking device, and the Internet protocol (IP) packet is rewritten by the router, and the source Internet Protocol ( IP) address and the technology of the destination IP address. When performing network address translation, since the Internet Protocol (IP) packet is changed, the checksum of the Internet Protocol (IP) header or transport protocol header must be updated.

發明概念的各種示例性實施例提供一種被配置成高效執行位址轉換的通訊系統、一種通訊設備、一種通訊系統的位址轉換方法及/或其非暫時性電腦可讀取媒體。Various exemplary embodiments of the inventive concept provide a communication system configured to efficiently perform address translation, a communication device, an address conversion method of a communication system, and/or a non-transitory computer readable medium thereof.

根據發明概念的至少一個示例性實施例的態樣,提供一種通訊系統,所述通訊系統被配置成經由網路收發至少一個封包。所述通訊系統包括:數據機電路,被配置成將所述至少一個封包調變成傳輸訊號以傳輸至所述網路,以及將自所述網路接收的訊號解調變成所述至少一個封包;以及位址轉換電路,被配置成轉換所述至少一個封包的網路位址,轉換所述至少一個封包的所述網路位址包括:自其中儲存有所述至少一個封包的外部記憶體接收所述至少一個封包的標頭,並將所述至少一個封包的所述標頭儲存於嵌式記憶體中,轉換所述至少一個封包的所述標頭的格式,以及轉換所述至少一個封包的所述標頭中所包括的位址。In accordance with an aspect of at least one exemplary embodiment of the inventive concept, a communication system is provided that is configured to transceive at least one packet via a network. The communication system includes: a data machine circuit configured to convert 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 convert the network address of the at least one packet, and converting the network address of the at least one packet includes: receiving an external memory from the at least one packet a header of the at least one packet, and storing the header of the at least one packet in an embedded memory, converting a format of the header of the at least one packet, and converting the at least one packet The address included in the header.

根據發明概念的至少一個示例性實施例的另一態樣,提供一種通訊裝置,所述通訊裝置包括:記憶體;通訊處理器,被配置成轉換經由網路接收的第一封包的網路位址,並將包括經轉換的所述網路位址的第二封包儲存於所述記憶體中;以及應用處理器,被配置成自所述記憶體接收所述第二封包,驅動應用程式,並處理所述第二封包。According to another aspect of at least one exemplary embodiment of the inventive concept, a communication device is provided, the communication device comprising: a memory; a communication processor configured to convert a network bit of a first packet received via a network Addressing, and storing, in the memory, a second packet including the converted network address; and an application processor configured to receive the second packet from the memory, to drive an application, And processing the second packet.

根據發明概念的至少一個示例性實施例的另一態樣,提供一種包括通訊功能的應用處理器。所述應用處理器包括:至少一個處理器,被配置成執行應用程式;記憶體,被配置成由所述至少一個處理器存取;以及位址轉換電路,被配置成將自網路接收的至少一個封包的第一標頭中所包括的網路位址轉換成符合所述應用程式的位址系統,並將包括經轉換的所述網路位址的第二標頭儲存於所述記憶體中。According to another aspect of at least one exemplary embodiment of the inventive concept, an application processor including a communication function is provided. The application processor includes: at least one processor configured to execute an application; a memory configured to be accessed by the at least one processor; and an address translation circuit configured to receive from the network 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 In the 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 using at least one processor, a first Internet Protocol (IP) packet received via a network, the first Internet Protocol packet including a header and a network bit Copying, by the at least one processor, the header of the first Internet Protocol packet stored in the first memory to an internal buffer of the at least one processor; Translating, by the at least one processor, the network address included in the first internet protocol packet; and storing, by the at least one processor, a second internet protocol packet, the second internet The protocol packet includes the header and the converted network address.

圖1是根據至少一個示例性實施例的通訊裝置10的方塊圖。FIG. 1 is a block diagram of a communication device 10 in accordance with at least one example embodiment.

參照圖1,通訊裝置10可為被配置成與至少一個其他電子裝置執行資料通訊的電子裝置。舉例而言,通訊裝置10可為智慧型電話、平板個人電腦(tablet personal computer,PC)、膝上型電腦、無人機、數位照相機、穿戴式電腦、物聯網(Internet of Things,IoT)裝置、車輛驅動裝置、虛擬實境裝置、擴增實境裝置及/或各種其他智慧型裝置中的一者。此外,通訊裝置10可為被配置成經由有線/無線網路與外部電子裝置執行資料通訊的各種電子裝置中的一者。Referring to Figure 1, communication device 10 can be an electronic device configured to perform data communication with at least one other electronic device. For example, the communication device 10 can be a smart phone, a tablet personal computer (PC), a laptop, a drone, a digital camera, a wearable computer, an Internet of Things (IoT) device, One of a vehicle drive device, a virtual reality device, an augmented reality device, and/or various other smart devices. Additionally, communication device 10 can be one of a variety of electronic devices configured to perform data communication with external electronic devices via a wired/wireless network.

參照圖1,通訊裝置10可包括通訊處理器(communication processor,CP)100、應用處理器(application processor,AP)200及/或記憶體300,但並非僅限於此。此外,通訊裝置10可更包括其他硬體及/或軟體組件,例如顯示模組及/或輸入/輸出(input/output,I/O)模組等。Referring to FIG. 1, the communication device 10 may include, but is not limited to, a communication processor (CP) 100, an application processor (AP) 200, and/or a memory 300. In addition, the communication device 10 may further include other hardware and/or software components, such as a display module and/or an input/output (I/O) module.

應用處理器200可驅動(例如,執行)通訊裝置10的作業系統(operating system,OS)201及/或各種應用程式202,以控制連接至應用處理器200的多個硬體及/或軟體組件,並處理及計算包括多媒體資料在內的各種資料。在至少一個示例性實施例中,應用處理器200可由系統晶片(system-on-chip,SoC)、FPGA、多核處理器、多處理器系統等實施。The application processor 200 can drive (eg, execute) an operating system (OS) 201 of the communication device 10 and/or various applications 202 to control a plurality of hardware and/or software components connected to the application processor 200. And process and calculate various materials including multimedia materials. In at least one example embodiment, application processor 200 may be implemented by a system-on-chip (SoC), an FPGA, a multi-core processor, a multi-processor system, or the like.

通訊處理器100可在與經由網路連接的其他電子裝置進行通訊期間收發(例如,傳輸及/或接收)資料。在資料收發過程中,通訊處理器100可將資料傳輸至應用處理器200並自應用處理器200接收資料。當通訊裝置10經由網路接收資料時,例如當通訊裝置10執行資料下載操作時,通訊處理器100可將所接收的資料傳輸至應用處理器200,且應用處理器200可執行資料處理操作,例如資料計算及儲存操作。相反,當通訊裝置10經由網路傳輸資料時,例如當通訊裝置10執行資料上傳操作時,應用處理器200可將待上傳的資料傳輸至通訊處理器100,且通訊處理器100然後可經由網路傳輸資料。舉例而言,當通訊裝置10執行視訊串流操作時,通訊處理器100可將所接收的資料傳輸至應用處理器200,且應用處理器200可處理自通訊處理器100接收的資料並在螢幕上顯示所處理的資料。根據至少一個示例性實施例,通訊處理器100以及應用處理器200可以單個處理器實施。另外,根據一些示例性實施例,通訊處理器100及/或應用處理器200可以二或更多個處理器實施。The communications processor 100 can transceive (e.g., transmit and/or receive) data during communications with other electronic devices connected via the network. In the data transceiving process, the communication processor 100 can transmit the data to the application processor 200 and receive the data from the application processor 200. When the communication device 10 receives data via the network, for example, when the communication device 10 performs a data download operation, the communication processor 100 can transmit the received data to the application processor 200, and the application processor 200 can perform a data processing operation, For example, data calculation and storage operations. In contrast, when the communication device 10 transmits data via the network, for example, when the communication device 10 performs a data upload operation, the application processor 200 can transmit the data to be uploaded to the communication processor 100, and the communication processor 100 can then pass through the network. Road transmission data. For example, when the communication device 10 performs a video streaming operation, the communication processor 100 can transmit the received data to the application processor 200, and the application processor 200 can process the data received from the communication processor 100 and display it on the screen. The processed data is displayed on it. According to at least one example embodiment, communication processor 100 and application processor 200 may be implemented in a single processor. Additionally, communication processor 100 and/or application processor 200 may be implemented in two or more processors, in accordance with some example embodiments.

記憶體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 memory 300 can store instructions or materials received by the application processor 200 and/or the communication processor 100 or generated by the application processor 200, but is not limited thereto. The memory 300 can be implemented by a volatile memory such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). However, the exemplary embodiments of the inventive concept are not limited thereto, and the memory 300 may include non-volatile memory such as a flash memory, a magnetic random access memory (MRAM), and a ferroelectric random memory. Take memory (ferroelectric RAM, FeRAM), phase-change RAM (PRAM) and/or resistive random access memory (ReRAM). The memory 300 may refer to a memory chip included in the communication device 10 or a memory module including a plurality of memory chips and/or memory devices.

如上所述,由於資料在通訊處理器100與應用處理器200之間頻繁地被傳輸及接收,因此記憶體300可作為可由通訊處理器100以及應用處理器200存取的共享記憶體運作。通訊處理器100以及應用處理器200可經由記憶體300傳輸及接收資料。As described above, since the data is frequently transmitted and received between the communication processor 100 and the application processor 200, the memory 300 can operate as a shared memory accessible by the communication processor 100 and the application processor 200. The communication processor 100 and the application processor 200 can transmit and receive data via the memory 300.

在至少一個示例性實施例中,記憶體300可包括第一區AR1、第二區AR2以及第三區AR3等,但並非僅限於此,且在其他示例性實施例中,可具有更大數目或更少數目的區。在至少一個示例性實施例中,第一區AR1、第二區AR2以及第三區AR3可為可在記憶體晶片及/或記憶體模組中彼此實體及/或邏輯劃分開的區。在至少一個示例性實施例中,第一區AR1、第二區AR2以及第三區AR3可為可在通訊裝置10中彼此實體區分開的記憶體裝置。In at least one exemplary embodiment, the memory 300 may include the first area AR1, the second area AR2, and the third area AR3, etc., but is not limited thereto, and may have a larger number in other exemplary embodiments. Or a smaller number of zones. In at least one exemplary embodiment, the first region AR1, the second region AR2, and the third region AR3 may be regions that are physically and/or logically separated from each other in the memory chip and/or the memory module. In at least one exemplary embodiment, the first zone AR1, the second zone AR2, and the third zone AR3 may be memory devices that are physically distinguishable from each other in the communication device 10.

根據至少一個示例性實施例,第一區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 communication processor 100, which is exclusively used by the communication processor 100. The second zone AR2 can be shared between the communication processor 100 and the application processor 200. For example, the second area AR2 may be a shared area for inter-processor communication (IPC) between the communication processor 100 and the application processor 200. The third zone AR3 may be a dedicated zone of the application processor 200 that is used exclusively by the application processor 200. However, the exemplary embodiments are not limited thereto, and various regions of the memory 300 may be arranged in other configurations/relationships.

同時,在根據至少一個示例性實施例的通訊裝置10中,通訊處理器100可包括位址轉換電路120。位址轉換電路120可由硬體電路系統或硬體電路系統與軟體的組合來實施。位址轉換電路120可判斷是否期望及/或有必要轉換經由網路收發的資料的網路位址。若確定出期望及/或有必要轉換資料的網路位址,則位址轉換電路120可基於網路位址轉換技術來轉換資料的網路位址。Meanwhile, in the communication device 10 according to at least one exemplary embodiment, the communication processor 100 may include an address conversion circuit 120. The address conversion circuit 120 can be implemented by a hardware circuit system or a combination of a hardware circuit system and a software. The address translation circuit 120 can determine whether it is desirable and/or necessary to convert the network address of the data transceived via the network. If it is determined that a network address is desired and/or necessary to convert the data, the address translation circuitry 120 can convert the network address of the data based on the network address translation technique.

資料可作為一種類型的網際網路協定(IP)封包而被傳輸及/或接收,且位址轉換電路120可轉換IP封包的網路位址(例如,可轉換IP封包中所包括的及/或與IP封包相關聯的網路位址等)。位址轉換電路120可將經由網路接收的IP封包的目的地位址轉換成適用於應用程式202的位址系統的位址及/或將待經由網路傳輸的IP封包的源位址轉換成適用於網路的位址系統的位址。The data can be transmitted and/or received as a type of Internet Protocol (IP) packet, and the address translation circuitry 120 can translate the network address of the IP packet (eg, included in the convertible IP packet and/or Or the network address associated with the IP packet, etc.). The address translation circuit 120 can convert the destination address of the IP packet received via the network into an address suitable for the address system of the application 202 and/or convert the source address of the IP packet to be transmitted via the network into The address of the address system applicable to the network.

在至少一個示例性實施例中,位址轉換電路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, address translation circuitry 120 can support both a client translator (CLAT) and a network address translation (NAT) as a network address translation technique. The client converter may be an IP header format conversion technique for converting an IPv4 header of an IP packet into an IPv6 header of an IP packet and/or an IPv6 header to an IPv4 header, so that the communication device 10 can be Networks based on specific Internet protocols (eg, IPv6 or IPv4, etc.) are free to communicate with other communication devices. Network address translation can be used to translate private IP addresses (and/or internal IP addresses associated with private networks, LANs, internal networks, etc.) into public IP addresses (and/or A global IP address, such as an IP address that can be accessed across the Internet by the Internet, or the like, or an IP address translation technique that converts a public IP address to a private IP address. The IP address value and nickname of the source and/or destination address can be changed according to the network address translation.

舉例而言,位址轉換電路120可將具有經轉換的網路位址(例如,目的地位址等)的IP封包寫入(及/或複製到)記憶體300的第二區AR2,但並非僅限於此。應用處理器200可基於經轉換的網路位址來存取記憶體300的第二區AR2並處理IP封包。在處理應用處理器200的IP封包的操作期間,IP封包可被複製到記憶體300的第三區AR3,但並非僅限於此。For example, the address translation circuitry 120 can write (and/or copy) an IP packet having a translated network address (eg, a destination address, etc.) to the second region AR2 of the memory 300, but not Limited to this. The application processor 200 can access the second region AR2 of the memory 300 and process the IP packet based on the translated network address. During the operation of processing the IP packet of the application processor 200, the IP packet may be copied to the third area AR3 of the memory 300, but is not limited thereto.

此外,根據一些示例性實施例,當應用處理器200提供IP封包時,所述IP封包可被儲存於記憶體300的第二區AR2中,且位址轉換電路120可自記憶體300的第二區AR2讀取IP封包並轉換IP封包的網路位址。具有經轉換的網路位址的IP封包可被儲存於通訊處理器100的專用記憶體(例如,記憶體300的第一區AR1)中,但並非僅限於此。Moreover, according to some exemplary embodiments, when the application processor 200 provides an IP packet, the IP packet may be stored in the second area AR2 of the memory 300, and the address conversion circuit 120 may be the first from the memory 300. The second zone AR2 reads the IP packet and translates the network address of the IP packet. The IP packet having the converted network address can be stored in dedicated memory of the communication processor 100 (e.g., the first area AR1 of the memory 300), but is not limited thereto.

如上所述,當通訊處理器100將IP封包傳送至應用處理器200及/或自應用處理器200接收IP封包時,由於基於硬體的位址轉換電路120執行網路位址轉換,因此應用處理器200可不需要執行額外的操作用於網路位址轉換。因此,可減小應用處理器200的載荷,且可減小將IP封包寫入(及/或複製到)記憶體300或自記憶體300讀取IP封包的次數。As described above, when the communication processor 100 transmits the IP packet to the application processor 200 and/or receives the IP packet from the application processor 200, since the hardware-based address conversion circuit 120 performs network address translation, the application Processor 200 may not need to perform additional operations for network address translation. Therefore, the load of the application processor 200 can be reduced, and the number of times the IP packet is written (and/or copied) to the memory 300 or the IP packet is read from the memory 300 can be reduced.

圖2是示出根據至少一個示例性實施例的位址轉換電路120的操作的圖式。假定自網路接收IP封包,亦即,位址轉換電路120是接收路徑。FIG. 2 is a diagram showing the operation of the address translation circuit 120 in accordance with at least one example embodiment. It is assumed that an IP packet is received from the network, that is, the address conversion circuit 120 is a reception path.

參照圖2,位址轉換電路120可包括第一轉換器121、第二轉換器122及/或局域記憶體123,但並非僅限於此。Referring to FIG. 2, the address conversion circuit 120 may include the first converter 121, the second converter 122, and/or the local memory 123, but is not limited thereto.

經由網路傳輸及接收的IP封包可包括標頭以及有效載荷(payload)等。舉例而言,第一IP封包PK0可包括第一標頭HD0以及第一有效載荷PL0。標頭可包括網路位址(以下稱為IP位址)以及控制資訊,且有效載荷可包括資料。IP packets transmitted and received via the network may include headers, payloads, and the like. 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 an 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 may be stored in the first memory 310, where N is a natural number. For example, the first memory 310 can be the first area AR1 of the memory 300 shown in FIG. 1, that is, the dedicated area of the communication processor 100, and the like.

儲存於第一記憶體310中的IP封包PK1至PKN-1的標頭HDs可被讀取,且所讀取的標頭HDs可被儲存於局域記憶體123中。在至少一個示例性實施例中,位址轉換電路120可例如以直接記憶體存取(direct memory access,DMA)方式基於標頭HDs的位址及長度資訊自第一記憶體310讀取標頭HDs,並將標頭HDs儲存於局域記憶體123中,所述位址及長度資訊是基於指示IP封包PK0至PKN-1在第一記憶體310中被儲存的位置的描述符資訊而獲得。The header HDs of the IP packets PK1 to PKN-1 stored in the first memory 310 can be read, and the read header HDs can be stored in the local memory 123. In at least one exemplary embodiment, the address translation circuit 120 can read the header from the first memory 310 based on the address and length information of the header HDs, for example, in a direct memory access (DMA) manner. HDs, and the header HDs are stored in the local memory 123, and the address and length information is obtained based on descriptor information indicating the locations where the IP packets PK0 to PKN-1 are stored in the first memory 310. .

局域記憶體123可由靜態隨機存取記憶體或暫存器實施。然而,發明概念的示例性實施例並非僅限於此,且局域記憶體123可由各種記憶體實施。局域記憶體123亦可被稱為局域緩衝器。儘管圖2示出其中局域記憶體123被包括於位址轉換電路120中的實例,但發明概念的示例性實施例並非僅限於此。在另一示例性實施例中,局域記憶體123可為通訊處理器(參照圖1中的100)的嵌式記憶體,且亦可為自位址轉換電路120單獨提供的記憶體。The local memory 123 can be implemented by a static random access memory or a scratchpad. However, exemplary embodiments of the inventive concept are not limited thereto, and the local memory 123 may be implemented by various memories. Local memory 123 may also be referred to as a local buffer. Although FIG. 2 shows an example in which the local memory 123 is included in the address conversion circuit 120, the exemplary embodiments of the inventive concept are not limited thereto. In another exemplary embodiment, the local memory 123 may be an embedded memory of a communication processor (refer to 100 in FIG. 1), and may also be a memory separately provided from the address conversion circuit 120.

第一轉換器121以及第二轉換器122可存取局域記憶體123並轉換儲存於局域記憶體123中的標頭HD0至HDN-1的IP位址。第一轉換器121可作為預處理器運作,而第二轉換器122可作為後處理器運作。第一轉換器121可在第二轉換器122之前運作,且第二轉換器122可在第一轉換器121的運作完成之後運作。The first converter 121 and the second converter 122 can access the local memory 123 and convert the IP addresses of the headers HD0 to HDN-1 stored in the local memory 123. The first converter 121 can operate as a pre-processor and the second converter 122 can operate as a post-processor. The first converter 121 can operate before the second converter 122, and the second converter 122 can operate after the operation of the first converter 121 is completed.

第一轉換器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 first converter 121 can change (and/or convert, generate a new header, etc.) the header format of the IP packet and change the IP version of the IP packet. The first converter 121 can read the headers HD0 to HDN-1 from the local area memory 123 and determine, for example, whether it is desirable and/or necessary to change the IP version of each of the headers HD0 to HDN-1. When it is desired and/or necessary to change the IP version, the first converter 121 may, for example, change the format of the header to another IP version (eg, another IP protocol version, such as IPv4, IPv6, etc.) The format of the header HD0 to HDN-1 is converted into a format, and the IP version is changed to another IP version. The header may include various fields (eg, multiple fields), and when changing the header format, the first converter 121 may change at least some of the fields of the header.

在至少一個示例性實施例中,第一轉換器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 first converter 121 can support the CLAT function and convert the Internet Protocol version 4 (IPv4) header format included in the header of the IP packet into the Internet. The Internet Protocol version 6, IPv6 header format and/or the IPv6 header format is converted to the IPv4 header format. The changed header can be stored again in the local memory 123. For example, when the network supports the IPv6 address system and the host (eg, the application 202 in FIG. 1) that utilizes the IP packet received via the network supports the IPv4 address, the first converter 121 can The IPv6 address included in the header of the IP packet is converted to an IPv4 address.

第二轉換器122可執行IP位址轉換。第二轉換器122可自局域記憶體123讀取例如HD0至HDN-1等標頭(或由第一轉換器121改變的標頭),並判斷是否期望及/或有必要轉換標頭HD0至HDN-1中的每一者的IP位址。當期望及/或有必要轉換標頭HD0至HDN-1中的每一者的IP位址時,第二轉換器122可改變IP位址中的傳輸協定的位址值(例如,指示源位址及/或目的地位址的值)以及埠號(例如,傳輸控制協定(TCP)或使用者資料報協定(user datagram protocol,UDP)等的埠號)。The second converter 122 can perform IP address translation. The second converter 122 can read a header such as HD0 to HDN-1 (or a header changed by the first converter 121) from the local area memory 123, and determine whether it is desired and/or necessary to convert the header HD0. IP address to each of HDN-1. When it is desired and/or necessary to convert the IP address of each of the headers HD0 to HDN-1, the second converter 122 may change the address value of the transport protocol in the IP address (eg, indicating the source bit) The value of the address and/or destination address) and the apostrophe (for example, the nickname of the Transmission Control Protocol (TCP) or the user datagram protocol (UDP)).

在至少一個示例性實施例中,第二轉換器122可支援NAT功能並將公用IP位址轉換成私用IP位址及/或將私用IP位址轉換成公用IP位址。舉例而言,當通訊裝置10執行連系(tethering)及/或作為路由器運作時,第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址。經改變的標頭可被再次儲存於局域記憶體123中。In at least one exemplary embodiment, the second converter 122 can support the NAT function and convert the public IP address to a private IP address and/or convert the private IP address to a public IP address. For example, when the communication device 10 performs tethering and/or operates as a router, the second converter 122 can convert the public IP address of the IP packet received via the network into a private IP address. The changed header can be stored again in the local memory 123.

可藉由改變(例如,轉換、產生新的標頭等)第一轉換器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封包PK0a至PKN-1a。The headers HD0 to HDN-1 may be changed by changing (eg, converting, generating a new header, etc.) the IP version of the first converter 121 and/or by changing the IP address value of the second converter 122, And the altered headers (eg, NHD0 to NHDN-1 (or NHDs)) can be stored (and/or copied) into the second memory 320. For example, the second memory 320 may be a shared area between the second area AR2 of the memory 300 shown in FIG. 1 (ie, the shared processor 100 and the like) and the application processor 200. In at least one exemplary embodiment, the changed header NHDs can be read from the local area memory 123, for example, in a DMA manner, and stored in the second memory 320. Meanwhile, the payloads of the IP packets PK0 to PKN-1 (for example, PL0 to PLN-1 (or PLs)) can be read from the first memory 310 in the DMA mode and stored in the second memory 320. Therefore, the IP packets PK0a to PKN-1a having the converted IP addresses can be stored in the second memory 320. The application processor 200 can access the second memory 320 and process the IP packets PK0a to PKN-1a having the translated addresses.

儘管已闡述假定位址轉換電路120為接收路徑的至少一個示例性實施例,但在位址轉換電路120為傳輸路徑時,第一轉換器121以及第二轉換器122的操作可類似於第一轉換器121及第二轉換器122的上述操作。然而,當位址轉換電路120為傳輸路徑時,由應用處理器200儲存於第二記憶體320中的IP封包的標頭可自第二記憶體320讀取並儲存於局域記憶體123中,且第一轉換器121及第二轉換器122可改變分別包括在所述標頭中的IP位址。在此種情形中,第二轉換器122可作為預處理器運作。在第二轉換器122的運作完成之後,第一轉換器121可作為後處理器運作。在將具有經轉換的位址的IP封包儲存於第一記憶體310中之後,可經由網路將IP封包傳輸至其他裝置。Although the pseudo-location conversion circuit 120 has been described as at least one exemplary embodiment of the receive path, when the address translation circuit 120 is a transmission path, the operations of the first converter 121 and the second converter 122 may be similar to the first The above operations of the converter 121 and the second converter 122. However, when the address conversion circuit 120 is a transmission path, the header of the IP packet stored in the second memory 320 by the application processor 200 can be read from the second memory 320 and stored in the local memory 123. And the first converter 121 and the second converter 122 can change IP addresses respectively included in the header. In this case, the second converter 122 can operate as a pre-processor. After the operation of the second converter 122 is completed, the first converter 121 can operate as a post processor. After the IP packet having the translated address is stored in the first memory 310, the IP packet can be transmitted to other devices via the network.

圖3是根據至少一個示例性實施例的IP封包PK的結構的圖式。FIG. 3 is a diagram of a structure of an IP packet PK in accordance with at least one example embodiment.

參照圖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, but is not limited to, a header HD and/or a payload PL and the like. The header HD may include an IP header H1 and/or a TCP header H2 (or a UDP header, etc.), and the payload PL may include a data DT that is provided to the application and/or generated by the application. In FIG. 2, the IP header H1 and the TCP header H2 of the IP packet PK may be stored in the local memory 123. The first converter 121 can change the IP header H1 to change the IP version, and the IP header H1 and the TCP header H2 can be changed such that the second converter 122 can convert the IP address.

圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。圖4A示出IPv4封包的標頭,且圖4B示出IPv6封包的基本標頭。4A and 4B illustrate IP headers of IP packets, in accordance with 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 an IPv4 packet (hereinafter referred to as an IPv4 header) may include a version, an IP header length IHL, a service type ToS, a total length, an identifier, a flag, a fragment offset ( The corresponding fields of fragment offset), time-to-live, protocol, header checksum, source address, destination address, options, and padding are, but are not limited to, this. Each of the source address and the destination address may have a length of 32 bits, but is not limited thereto, and the length of the options and padding may be variable.

參照圖4B,IPv6封包的基本標頭H1_IPv6(以下稱為IPv6標頭)可包括用於版本、流量類別、流標號(flow label)、有效載荷長度、下一標頭、跳限制(hop limit)、源位址以及目的地位址的相應欄位,但並非僅限於此。源位址以及目的地位址中的每一者可具有128位元的長度,但並非僅限於此。Referring to FIG. 4B, the basic header H1_IPv6 of an IPv6 packet (hereinafter referred to as an IPv6 header) may include a version, a traffic class, a flow label, a payload length, a next header, and a hop limit. , the source address, and the corresponding field of the destination address, but not limited to this. Each of the source address and the destination address may have a length of 128 bits, but is not limited thereto.

參照圖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 is not limited thereto. However, in addition to the basic header (ie, IPv6 header H1_IPv6), the IPv6 packet may further include an extension header. In the IPv6 header H1_IPv6, the next header field may refer to the type of the next header, and the like. The header that can be indicated in the next header can be an IPv6 extension header or a TCP (or UDP, etc.) header, which is an upper header. When the extension header is not used, the TCP (or UDP, etc.) header can be 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 address, destination address, and the like. However, as described above, the source address of the IPv6 header H1_IPv6 and the length of each of the destination addresses (ie, 128 bits) may be the source address of the IPv4 header H1_IPv4 and each of the destination addresses. Four times the length of the person (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 to the IPv6 header H1_IPv6, the IP header length IHL, identifier, flag, fragment offset, header checksum, and options included in the IPv4 header H1_IPv4 may be deleted. Fill in fields such as fields, and add fields for stream labels. Conversely, when converting the IPv6 header H1_IPv6 to the IPv4 header H1_IPv4, the field for the stream label can be deleted and can be added for the IP header length IHL, identifier, flag, fragment offset, header Check the fields for and, options, and padding. The fields for the service type ToS, the total length, the agreement, the time-to-live of the IPv4 header H1_IPv4 and the fields for the traffic class, the payload length, the next header, and the hop limit of the IPv6 header H1_IPv6 can be converted from each other.

參照圖2闡述的位址轉換電路120的第一轉換器121可將IPv4標頭H1_IPv4轉換成IPv6標頭H1_IPv6,或將IPv6標頭H1_IPv6轉換成IPv4標頭H1_IPv4。The first converter 121 of the address translation circuit 120 explained with reference to FIG. 2 may convert the IPv4 header H1_IPv4 into an IPv6 header H1_IPv6 or convert the IPv6 header H1_IPv6 into an IPv4 header H1_IPv4.

圖5示出根據至少一個示例性實施例的IP封包的TCP標頭。FIG. 5 illustrates a TCP header of an IP packet in accordance with 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 acknowledgement 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. Similar to the TCP header H2_TCP, the UDP header as a transport protocol may include corresponding fields for source, destination, UDP length, and/or UDP checksum, and the like.

參照圖2闡述的位址轉換電路120的第二轉換器122可改變圖4A及圖4B的IP標頭(例如,IPv4標頭H1_IPv4或IPv6標頭H1_IPv6)的源及/或目的地位址值以及TCP標頭H2_TCP(或UDP標頭等)的源及/或目的地埠號,並將私用IP位址轉換成公用IP位址及/或相反地將公用IP位址轉換成私用IP位址。The second converter 122 of the address translation circuit 120 illustrated with reference to FIG. 2 may change the source and/or destination address values of the IP header (eg, IPv4 header H1_IPv4 or IPv6 header H1_IPv6) of FIGS. 4A and 4B and The source and/or destination nickname of the TCP header H2_TCP (or UDP header, etc.), and convert the private IP address to a public IP address and/or conversely convert the public IP address to a private IP address site.

圖6A是根據至少一個示例性實施例的位址轉換電路120的第一轉換器121的實施實例的方塊圖,且圖6B是根據至少一個示例性實施例的一種操作圖6A的第一轉換器121的方法的流程圖。將闡述其中第一轉換器121將IPv6標頭轉換成IPv4標頭的情形作為實例。FIG. 6A is a block diagram of an implementation example of a first converter 121 of the address translation circuit 120, and FIG. 6B is a first converter operating the FIG. 6A, in accordance with at least one exemplary embodiment, in accordance with at least one example embodiment. Flow chart of the method of 121. A case in which the first converter 121 converts the IPv6 header into an IPv4 header will be explained as an example.

參照圖6A,第一轉換器121可包括第一過濾器11、IP轉變器12及/或第一IP標頭核對和計算器13等。在至少一個示例性實施例中,第一轉換器121的第一過濾器11、IP轉變器12及/或IP標頭核對和計算器13可由硬體邏輯電路實施,但並非僅限於此。Referring to FIG. 6A, the first converter 121 may include a first filter 11, an IP converter 12, and/or a first IP header checksum calculator 13, and the like. In at least one exemplary embodiment, the first filter 11, the IP translator 12, and/or the IP header collation and calculator 13 of the first converter 121 may be implemented by hardware logic circuitry, but are not limited thereto.

參照圖6A及圖6B,第一轉換器121可讀取儲存於局域記憶體123中的標頭HD(S110)。第一轉換器121可依序讀取標頭HD0至HDN-1。如以上參照圖3所述,標頭HD可包括IP標頭H1以及TCP標頭H2。在操作S110中,第一轉換器121可自局域記憶體123讀取IP標頭H1。第一轉換器121可對所讀取的標頭HD執行標頭格式轉換。Referring to FIGS. 6A and 6B, the first converter 121 can read the header HD stored in the local memory 123 (S110). The first converter 121 can sequentially read the headers HD0 to HDN-1. As described above with reference to FIG. 3, the header HD may include an IP header H1 and a TCP header H2. In operation S110, the first converter 121 can read the IP header H1 from the local area memory 123. The first converter 121 can perform header format conversion on the read header HD.

第一過濾器11可分析所讀取的標頭HD並判斷是否期望及/或有必要進行IP版本轉換(S120)。第一過濾器11可基於期望的及/或預定的過濾器設定(例如,期望的及/或預設的欄位)而確定標頭HD的IP版本,並判斷是否期望及/或有必要改變標頭HD的標頭格式。舉例而言,第一過濾器11可確認標頭HD的版本欄位,並確定出標頭HD為IPv6標頭。第一過濾器11可基於所期望的及/或預設的不同欄位(例如,流量類別及/或目的地位址等)而判斷IPv6標頭是否將要被轉換成IPv4標頭。舉例而言,若基於目的地位址判斷出IP封包被提供至被配置成支援IPv4的應用程式,則第一過濾器11可確定出期望及/或有必要轉換標頭HD的標頭格式。The first filter 11 can analyze the read header HD and judge whether it is desirable and/or necessary to perform IP version conversion (S120). The first filter 11 can determine the IP version of the header HD based on desired and/or predetermined filter settings (eg, desired and/or preset fields) and determine if it is desirable and/or necessary to change The header format of the header HD. For example, the first filter 11 can confirm the version field of the header HD and determine that the header HD is an IPv6 header. The first filter 11 can determine whether the IPv6 header is to be converted to an IPv4 header based on the desired and/or preset different fields (eg, traffic class and/or destination address, etc.). For example, if it is determined based on the destination address that the IP packet is provided to an application configured to support IPv4, the first filter 11 may determine a header format that is expected and/or necessary to convert the header HD.

若第一過濾器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 first filter 11 determines that it is desired and/or necessary for IP version conversion, the IP converter 12 may change the IP header format of the header HD (S130). To change the IP header format, IP translator 12 can select the field to be changed and change the selected field. The IP switcher 12 can be based on, for example, a stateless internet protocol/Internet control message protocol (IP/ICMP) conversion (SSIT), a network address translation-a protocol conversion (network address translation). -protocol translation, NAT-PT) and/or bump-in-the-stack (BIS) methods perform IP header format conversion.

隨後,IP標頭核對和計算器13可更新IP標頭核對和(S140)。在操作S130中,由於改變了IP標頭格式,因此第一IP標頭核對和計算器13可基於具有經改變的格式的IP標頭H1計算IP標頭核對和,並基於所計算的值更新IP標頭核對和。Subsequently, the IP header checksum calculator 13 can update the IP header checksum (S140). In operation S130, since the IP header format is changed, the first IP header collation and calculator 13 may calculate an IP header checksum based on the IP header H1 having the changed format, and update based on the calculated value. IP header checksum.

舉例而言,當IPv6標頭被轉換成IPv4標頭時,第一IP標頭核對和計算器13可計算IP標頭核對和並將所計算的值提供至IPv4標頭的標頭核對和欄位。因此,可更新IP標頭核對和,且可完成IP標頭格式轉換,亦即IP版本轉換。For example, when the IPv6 header is converted to an IPv4 header, the first IP header checksum calculator 13 can calculate the IP header checksum and provide the calculated value to the header check and column of the IPv4 header. Bit. Therefore, the IP header checksum can be updated, and the IP header format conversion, that is, the IP version conversion can be completed.

第一轉換器121可將具有經改變的標頭格式的標頭NHD儲存於局域記憶體123中(S150)。舉例而言,第一轉換器121可將自IPv6標頭轉換為IPv4標頭的標頭NHD儲存於局域記憶體123中。The first converter 121 may store the header NHD having the changed header format in the local memory 123 (S150). For example, the first converter 121 can store the header NHD converted from the IPv6 header to the IPv4 header in the local memory 123.

在操作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 first filter 11 determines that an IP version conversion is undesirable and/or unnecessary, the header format conversion to the header HD may be ended. The header format conversion including the above-described operations S110 to S150 can be subsequently performed on the headers HD0 to HDN-1 stored in the local memory 123. Although FIG. 6A shows a case in which the IPv6 headers HD0 to HDN-1 of the local area memory 123 are converted into new IPv4 headers NHD0 to NHDN-1, the exemplary embodiments of the inventive concept are not limited thereto. As described above, the headers HD0 to HDN-1 can be converted as needed, and some of the headers HD0 to HDN-1 may not be converted.

可以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 local memory 123 can be copied to the first memory (see 310 in FIG. 2) and/or the second memory in a DMA manner (see FIG. 2 320). In addition, IP address translation can be performed on the converted headers HD0 to HDN-1 by the second converter (see 122 in Fig. 2).

圖7A是根據至少一個示例性實施例的位址轉換電路120的第二轉換器122的實施實例的方塊圖,且圖7B是根據至少一個示例性實施例的一種操作圖7A的第二轉換器122的方法的流程圖。FIG. 7A is a block diagram of an implementation example of a second converter 122 of the address translation circuit 120, and FIG. 7B is a second converter of the operation of FIG. 7A, in accordance with at least one exemplary embodiment, in accordance with at least one example embodiment. Flow chart of the method of 122.

參照圖7A,第二轉換器122可包括第二過濾器21、位址轉換器22、IP標頭核對和計算器23及/或TCP標頭核對和計算器24等,但並非僅限於此。第二過濾器21、位址轉換器22、IP標頭核對和計算器23及TCP標頭核對和計算器24可利用硬體邏輯電路實施,但並非僅限於此。在至少一個示例性實施例中,IP標頭核對和計算器23及TCP標頭核對和計算器24可由一個標頭核對和計算電路實施,但並非僅限於此。Referring to FIG. 7A, the second converter 122 may include, but is not limited to, the second filter 21, the address converter 22, the IP header collation and the calculator 23, and/or the TCP header collation and the calculator 24, and the like. The second filter 21, the address translator 22, the IP header checksum calculator 23, and the TCP header checksum calculator 24 may be implemented using hardware logic circuits, but are not limited thereto. In at least one exemplary embodiment, the IP header checksum calculator 23 and the TCP header checksum calculator 24 may be implemented by a header check and calculation circuit, but are not limited thereto.

參照圖7A及圖7B,第二轉換器122可讀取儲存於局域記憶體123中的標頭HD(S210)。第二轉換器122可依序讀取標頭HD0至HDN-1。如以上參照圖3A所述,標頭HD可包括IP標頭H1以及TCP標頭H2等。在操作S210中,第二轉換器122可自局域記憶體123讀取IP標頭H1以及TCP標頭H2等。Referring to FIGS. 7A and 7B, the second converter 122 can read the header HD stored in the local memory 123 (S210). The second converter 122 can sequentially read the headers HD0 to HDN-1. As described above with reference to FIG. 3A, the header HD may include an IP header H1, a TCP header H2, and the like. In operation S210, the second converter 122 may read the IP header H1, the TCP header H2, and the like from the local area memory 123.

第二轉換器122可執行以下所述的操作並轉換在所讀取的標頭HD中所包括的IP位址。第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址及/或將待經由網路傳輸的IP封包(即,由應用處理器提供的IP封包)的私用IP位址轉換成用於網路的公用IP位址。The second converter 122 can perform the operations described below and convert the IP address included in the read header HD. The second converter 122 can convert the public IP address of the IP packet received via the network into a private IP address and/or an IP packet to be transmitted via the network (ie, an IP packet provided by the application processor) The private IP address is translated into a public IP address for the network.

第二過濾器21可分析所讀取的標頭HD並判斷是否期望及/或有必要進行IP位址轉換(例如,位址值等的轉換)(S220)。第二過濾器21可基於所期望的及/或預定的過濾器設定來過濾標頭HD,並判斷是否期望及/或有必要進行IP位址轉換。在至少一個示例性實施例中,在過濾器設定中可包括IP位址的源位址及/或目的地位址。舉例而言,當在用於網路的公用IP位址區(例如,IP位址範圍及/或子網路遮罩)中不包括待經由網路傳輸的IP封包的源位址時,第二過濾器21可確定出期望及/或有必要進行IP位址轉換。在另一實例中,當在由圖1的通訊裝置10提供的局域IP位址區(例如,IP位址範圍及/或子網路遮罩)中不包括經由網路接收的IP封包的目的地位址時,第二過濾器21可確定出期望及/或有必要進行IP位址轉換。The second filter 21 can analyze the read header HD and judge whether it is desired and/or necessary to perform IP address conversion (for example, conversion of an address value or the like) (S220). The second filter 21 may filter the header HD based on the desired and/or predetermined filter settings and determine if IP address translation is desired and/or necessary. In at least one exemplary embodiment, a source address and/or a destination address of an IP address may be included in the filter settings. For example, when the source address of an IP packet to be transmitted over the network is not included in a public IP address area (eg, IP address range and/or subnet mask) for the network, The second filter 21 can determine the desired and/or necessary IP address translation. In another example, IP packets received over the network are not included in the local IP address region (eg, IP address range and/or subnet mask) provided by communication device 10 of FIG. At the destination address, the second filter 21 can determine the desired and/or necessary IP address translation.

若第二過濾器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 second filter 21 determines that it is desired and/or necessary to perform IP address translation, the address translator 22 can change the address value and the nickname included in the header HD (S230). As described with reference to Figures 4A through 5, in the fields of the source and/or destination addresses for the IP header (e.g., IPv4 header H1_IPv4 of Figure 4A or IPv6 header H1_IPv6 of Figure 4B) The address value is included, and an apostrophe may be included in the field of the source or destination for the TCP header or UDP header (eg, TCP header H2_TCP of Figure 5). The address translator 22 can change the source address value and source nickname and/or change the destination address value and destination nickname. Thus, address translator 22 can convert the public IP address to a private IP address and/or convert the private IP address to a public IP address. The address translator 22 may store the relationship between the IP address and the translated IP address in the translation table, i.e., the relationship between the private IP address and the public IP address.

圖8示出根據至少一個示例性實施例的轉換表TT。FIG. 8 illustrates a conversion table TT in accordance with at least one example 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 conversion 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 having an address value of "10.0.0.2" and an nickname "3327" may correspond to a public IP address PUA having an address value of "135.26.32.7" and an nickname "5003". . The private IP address PRA having the address value "10.0.0.3" and the nickname "3327" may correspond to the public IP address PUA having the address value "135.26.32.7" and the nickname "5002". The address translator 22 can generate and use the conversion table TT during IP address translation.

返回參照圖7A及圖7B,IP標頭核對和計算器23可更新IP標頭核對和,且TCP標頭核對和計算器24可更新TCP標頭核對和(或UDP標頭核對和等)(S240)。然而,當標頭HD為IPv6標頭時,可不執行對IP標頭核對和的更新。Referring back to FIGS. 7A and 7B, the IP header checksum calculator 23 may update the IP header checksum, and the TCP header checksum calculator 24 may update the TCP header checksum (or UDP header checksum, etc.) ( S240). However, when the header HD is an IPv6 header, the update of the IP header checksum may not be performed.

在操作S230中,由於位址值被改變,因此IP標頭核對和計算器23可基於包括經改變的位址值的IP標頭計算IP標頭核對和,並基於所計算的值更新IP標頭核對和。此外,在操作S230中,由於埠號被改變,因此TCP標頭核對和計算器24可基於包括經改變的埠號的TCP標頭計算TCP標頭核對和,並基於所計算的值更新TCP標頭核對和。因此,可完成IP轉換。In operation S230, since the address value is changed, the IP header collation and calculator 23 may calculate the IP header checksum based on the IP header including the changed address value, and update the IP standard based on the calculated value. Head check and. Further, in operation S230, since the apostrophe is changed, the TCP header collation and calculator 24 may calculate the TCP header checksum based on the TCP header including the changed apostrophe, and update the TCP flag based on the calculated value. Head check and. Therefore, IP conversion can be completed.

第二轉換器122可將具有經改變的IP位址值的標頭NHD儲存於局域記憶體123中(S250)。舉例而言,第二轉換器122可再次將IP位址值自公用IP位址改變為私用IP位址的標頭NHD或IP位址值相反自私用IP位址改變為公用IP位址的標頭NHD儲存於局域記憶體123中。The second converter 122 may store the header NHD having the changed IP address value in the local memory 123 (S250). For example, the second converter 122 can again change the IP address value from the public IP address to the header of the private IP address. The NMD or IP address value is reversed from the private IP address to the public IP address. The header NHD is stored in the local memory 123.

同時,在操作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 second filter 21 determines that the IP address conversion is undesired and/or unnecessary, the IP address conversion to the header HD may be ended. The IP address conversion (i.e., header conversion) including the above operations S210 to S250 can be sequentially performed (or performed in parallel) on the headers HD0 to HDN-1 stored in the local memory 123. Although FIG. 7A shows a case in which the headers HD0 to HDN-1 of the local memory 123 are converted into new headers HD0 to HDN-1 having converted IP addresses, an exemplary embodiment of the inventive concept is not Limited to this. As described above, the headers HD0 to HDN-1 can be converted as needed, and some of the headers HD0 to HDN-1 may not be converted.

可將儲存於局域記憶體123中的標頭HD0至HDN-1儲存於第一記憶體(參照圖2中的310)及/或第二記憶體(參照圖2中的320)中及/或可由第一轉換器(參照圖1中的121)對儲存於局域記憶體123中的標頭HD0至HDN-1執行標頭格式轉換。The headers HD0 to HDN-1 stored in the local memory 123 can be stored in the first memory (refer to 310 in FIG. 2) and/or the second memory (refer to 320 in FIG. 2) and/or Alternatively, the header format conversion may be performed on the headers HD0 to HDN-1 stored in the local memory 123 by the first converter (refer to 121 in FIG. 1).

圖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 converter, in accordance with some example embodiments. Figure 9A shows the conversion of the private IP address into a public IP address in the transmission path, and Figure 9B shows the conversion of the received public IP address into a private IP address in the receive 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 having an address value of "10.0.0.2" and an nickname "3327", and the destination IP address D may have The address value "128.119.40.186" and the public IP address of the nickname "80". The second converter 122 (eg, the second converter) when the source IP address S does not correspond to a common IP address area (eg, IP address range and/or subnet mask) provided by a particular network An address translator of 122 (refer to 22 in FIG. 7A) can 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 second converter 122 can change the address value "10.0.0.2" of the source IP address S and the nickname "3327" to the address value "135.26.32.7" and the nickname "5003", respectively, and the source IP bit. The address S is converted to a public IP address. The private IP address and its corresponding public IP address can be stored in the conversion table TT. An IP packet having a translated source IP address S' and a destination IP address D can be transmitted to a destination (e.g., a server or another electronic device, etc.) via the network.

參照圖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位址轉換操作。Referring to FIG. 9B, the source IP address S of the IP packet received from the network may be a public IP address having an address value of "128.119.40.186" and an nickname "80", and the destination IP address D may have The address value "135.26.32.7" and the public IP address of the nickname "5003". When the destination IP address D does not correspond to a private IP address area (eg, IP address range and/or subnet mask) provided by the local area network, the second converter 122 may perform the common IP bit. The IP address translation operation is translated into a private IP address.

第二轉換器122可參照轉換表TT將目的地IP位址D的位址值「135.26.32.7」以及埠號「5003」分別改變為位址值「10.0.0.2」以及埠號「3327」,並將目的地IP位址D轉換成源IP位址。可將具有經轉換的目的地IP位址D’以及源IP位址S的IP封包傳輸至主機。The second converter 122 can change the address value "135.26.32.7" of the destination IP address D and the nickname "5003" to the address value "10.0.0.2" and the nickname "3327", respectively, with reference to the conversion table TT. The destination IP address D is converted to a source IP address. The IP packet with the translated destination IP address D' and the source IP address S can be transmitted to the host.

圖10是根據至少一個示例性實施例的位址轉換電路120a的方塊圖。FIG. 10 is a block diagram of an address translation circuit 120a in accordance with at least one exemplary embodiment.

參照圖10,位址轉換電路120a可包括局域記憶體123、第一轉換器121a、第二轉換器122a及/或標頭核對和計算器123a等,但並非僅限於此。Referring to FIG. 10, the address conversion circuit 120a may include, but is not limited to, the local area memory 123, the first converter 121a, the second converter 122a, and/or the header collation and the calculator 123a.

第一轉換器121a可包括第一過濾器11及/或IP轉變器12等。第一轉換器121a的第一過濾器11以及IP轉變器12的操作可與圖6A所示的第一過濾器11以及IP轉變器12的操作相同。此外,第二轉換器122a可包括第二過濾器21及/或位址轉換器22等。第二轉換器122a的第二過濾器21以及位址轉換器22的操作可與圖7A所示的第二過濾器21以及位址轉換器22的操作相同。The first converter 121a may include a first filter 11 and/or an IP converter 12 and the like. The operations of the first filter 11 and the IP converter 12 of the first converter 121a may be the same as those of the first filter 11 and the IP converter 12 shown in FIG. 6A. Further, the second converter 122a may include a second filter 21 and/or an address converter 22 and the like. The operation of the second filter 21 of the second converter 122a and the address converter 22 may be the same as the operation of the second filter 21 and the address converter 22 shown in FIG. 7A.

當第一轉換器121a轉換IP標頭的格式及/或當第二轉換器122a轉換IP位址時,標頭核對和計算器123a可更新標頭核對和。When the first converter 121a converts the format of the IP header and/or when the second converter 122a converts the IP address, the header checksum calculator 123a may update the header checksum.

標頭核對和計算器123a可包括IP標頭核對和計算器31及/或TCP標頭核對和計算器32等。當第一轉換器121a轉換IP標頭的格式時,IP標頭核對和計算器31可基於經轉換的具有所述格式的IP標頭而計算IP標頭核對和,並更新TCP標頭核對和。The header checksum calculator 123a may include an IP header check and calculator 31 and/or TCP header checksum calculator 32 and the like. When the first converter 121a converts the format of the IP header, the IP header checksum calculator 31 can calculate the IP header checksum based on the converted IP header having the format, and update the TCP header checksum and .

此外,當第二轉換器122a轉換IP位址時,IP標頭核對和計算器31可基於包括經改變的位址值的IP標頭而更新IP標頭核對和,且TCP標頭核對和計算器32可基於包括經改變的埠號的TCP標頭來計算TCP標頭核對和並更新TCP標頭核對和。Furthermore, when the second converter 122a converts the IP address, the IP header checksum calculator 31 can update the IP header checksum based on the IP header including the changed address value, and the TCP header checksum is calculated. The processor 32 may calculate the TCP header checksum and update the TCP header checksum based on the TCP header including the changed apostrophe.

在至少一個示例性實施例中,位址轉換電路120a的第一轉換器121a及第二轉換器122a中的每一者可不包括標頭核對和計算器,但額外的標頭核對和計算器123a可在第一轉換器121a的標頭格式轉換期間以及第二轉換器122a的IP位址轉換期間計算標頭核對和,但示例性實施例並非僅限於此。In at least one exemplary embodiment, each of the first converter 121a and the second converter 122a of the address translation circuit 120a may not include a header check and a calculator, but an additional header check and calculator 123a The header checksum may be calculated during the header format conversion of the first converter 121a and during the IP address translation of the second converter 122a, but the exemplary embodiments are not limited thereto.

圖11是根據至少一個示例性實施例的通訊處理器100a的方塊圖。FIG. 11 is a block diagram of a communication processor 100a in accordance with at least one example embodiment.

參照圖11,通訊處理器100a可包括至少一個處理器110、隨機存取記憶體(RAM)130、數據機150、位址轉換電路120、DMA控制器140及/或記憶體介面160等,但示例性實施例並非僅限於此。此外,通訊處理器100a可更包括其他組件。在至少一個示例性實施例中,通訊處理器100a可由單個晶片組實施,但並非僅限於此。通訊處理器100a的組件可經由匯流排170傳輸及接收資料。Referring to FIG. 11, the communication processor 100a may include at least one processor 110, a random access memory (RAM) 130, a data machine 150, an address conversion circuit 120, a DMA controller 140, and/or a memory interface 160, etc., but The exemplary embodiments are not limited thereto. Further, the communication processor 100a may further include other components. In at least one exemplary embodiment, communication processor 100a may be implemented by a single chipset, but is not limited thereto. The components of communication processor 100a can transmit and receive data via bus bar 170.

處理器110可控制通訊處理器100a的所有操作並可由中央處理單元(central processing unit,CPU)、微處理器(microprocessor,MP)或數位訊號處理器(digital signal processor,DSP)等實施。在至少一個示例性實施例中,處理器110可由多核處理器(例如,雙核處理器或四核處理器)實施,或可為多處理器。The processor 110 can control all operations of the communication processor 100a and can be implemented by a central processing unit (CPU), a microprocessor (MP), or a digital signal processor (DSP). In at least one example embodiment, processor 110 may be implemented by a multi-core processor (eg, a dual-core processor or a quad-core processor) or may be a multi-processor.

RAM 130可用作操作記憶體、緩衝記憶體及/或快取記憶體等。舉例而言,用於控制通訊處理器100a的軟體或韌體可被裝載至RAM 130。RAM 130可由揮發性記憶體(例如,DRAM以及SRAM等)及/或電阻式記憶體(例如,PRAM、MRAM、FeRAM及ReRAM等)實施。The RAM 130 can be used as an operation memory, a buffer memory, and/or a cache memory or the like. For example, a software or firmware for controlling the communication processor 100a can be loaded to the RAM 130. The RAM 130 may be implemented by volatile memory (eg, DRAM and SRAM, etc.) and/or resistive memory (eg, PRAM, MRAM, FeRAM, ReRAM, etc.).

數據機150可將IP封包轉換成適於經由網路傳輸的訊號及/或將經由網路接收的訊號轉換成IP封包。數據機150可編碼並調變IP封包並將IP封包轉換成傳輸訊號。此外,數據機150可解調變並解碼經由網路接收的接收訊號並將所述接收訊號轉換成IP封包。數據機150可對訊號進行放大及濾波並與被配置成轉變訊號的頻率的射頻(RF)晶片通訊。RF晶片可經由天線將傳輸訊號傳輸至網路及/或自網路接收接收訊號。The data machine 150 can convert the IP packet into a signal suitable for transmission via the network and/or convert the signal received via the network into an IP packet. The data machine 150 can encode and modulate the IP packet and convert the IP packet into a transmission signal. In addition, the data machine 150 can demodulate and decode the received signal received via the network and convert the received signal into an IP packet. The data machine 150 can amplify and filter the signal and communicate with a radio frequency (RF) chip configured to convert the frequency of the signal. The RF chip can transmit the transmission signal to the network via the antenna and/or receive the received signal from the network.

記憶體介面160可藉由處理器110及/或DMA控制器140的控制將資料傳輸至記憶體300及/或自記憶體300讀取資料,但並非僅限於此。The memory interface 160 can transfer data to and/or from the memory 300 by the control of the processor 110 and/or the DMA controller 140, but is not limited thereto.

記憶體300可由不同於通訊處理器(例如,通訊晶片)100a的裝置(例如,記憶體晶片或記憶體模組等)實施。然而,發明概念的示例性實施例並非僅限於此。在至少一個示例性實施例中,記憶體300可為通訊處理器100a的嵌式記憶體。經由數據機150接收或待經由數據機150接收的IP封包可儲存於記憶體300中。在至少一個示例性實施例中,通訊處理器100a以及應用處理器(參照圖1中的200)可存取記憶體300。記憶體300可包括通訊處理器100a的專用區、共享區以及應用處理器200的專用區。The memory 300 can be implemented by a device other than a communication processor (e.g., communication chip) 100a (e.g., a memory chip or a memory module, etc.). However, exemplary embodiments of the inventive concept are not limited thereto. In at least one exemplary embodiment, memory 300 can be an embedded memory of communication processor 100a. IP packets received via data machine 150 or to be received via data machine 150 may be stored in memory 300. In at least one exemplary embodiment, the communication processor 100a and the application processor (refer to 200 in FIG. 1) can access the memory 300. The memory 300 can include a dedicated area of the communication processor 100a, a shared area, and a dedicated area of the application processor 200.

DMA控制器140可支援通訊處理器100a的組件之間的資料傳輸並控制資料直接在通訊處理器100a的組件之間進行傳輸而無需處理器110的干涉。在至少一個示例性實施例中,DMA控制器140可將儲存於記憶體300中的IP封包的標頭傳輸至位址轉換電路120及/或將由位址轉換電路120轉換的標頭傳輸至記憶體300。此外,DMA控制器140可在記憶體300的多個區(例如,通訊處理器100a的專用區、共享區以及應用處理器200的專用區)中傳輸IP封包的有效載荷。The DMA controller 140 can support data transfer between components of the communications processor 100a and control the transfer of data directly between components of the communications processor 100a without the intervention of the processor 110. In at least one exemplary embodiment, the DMA controller 140 may transmit the header of the IP packet stored in the memory 300 to the address translation circuit 120 and/or transmit the header converted by the address translation circuit 120 to the memory. Body 300. In addition, the DMA controller 140 can transmit the payload of the IP packet in a plurality of areas of the memory 300 (eg, a dedicated area of the communication processor 100a, a shared area, and a dedicated area of the application processor 200).

位址轉換電路120可轉換經由網路傳輸及接收的IP封包的網路位址。參照圖2及圖10闡述的位址轉換電路120以及120a可被應用至通訊處理器100a。The address translation circuit 120 can convert the network address of the IP packet transmitted and received via the network. The address conversion circuits 120 and 120a explained with reference to FIGS. 2 and 10 can be applied to the communication processor 100a.

位址轉換電路120可藉由DMA控制器140的控制接收儲存於記憶體300中的IP封包的標頭並轉換在所述標頭中所包括的網路位址。位址轉換電路120可轉換標頭的格式(即,IP版本)或執行IP位址轉換。The address conversion circuit 120 can receive the header of the IP packet stored in the memory 300 by the control of the DMA controller 140 and convert the network address included in the header. The address translation circuit 120 can convert the format of the header (i.e., the IP version) or perform IP address translation.

當位址轉換電路120作為接收路徑運作時,位址轉換電路120可轉換標頭的格式且然後執行IP位址轉換。當位址轉換電路120作為傳輸路徑運作時,位址轉換電路120可執行IP位址轉換且然後轉換標頭的格式。位址轉換電路120可藉由DMA控制器140的控制而將經轉換的標頭儲存於記憶體300的共享區(或與應用處理器共享的記憶體)中及/或將經轉換的標頭儲存於通訊處理器100a的專用區中。舉例而言,當位址轉換電路120作為接收路徑運作時,位址轉換電路120可將經轉換的標頭儲存於記憶體300的共享區中,使得應用處理器可使用經轉換的標頭。當位址轉換電路120作為傳輸路徑運作時,位址轉換電路120可將經轉換的標頭儲存於記憶體300中所包括的通訊處理器100a的專用區中,以使得由應用處理器提供且包括經轉換的標頭的IP封包可經由數據機150被傳輸至網路。When the address conversion circuit 120 operates as a reception path, the address conversion circuit 120 can convert the format of the header and then perform IP address translation. When the address translation circuit 120 operates as a transmission path, the address conversion circuit 120 can perform IP address translation and then convert the format of the header. The address translation circuit 120 can store the converted header in the shared area of the memory 300 (or the memory shared with the application processor) and/or convert the header by the control of the DMA controller 140. It is stored in a dedicated area of the communication processor 100a. For example, when the address translation circuitry 120 operates as a receive path, the address translation circuitry 120 can store the converted headers in a shared area of the memory 300 such that the application processor can use the converted headers. When the address translation circuit 120 operates as a transmission path, the address conversion circuit 120 can store the converted header in a dedicated area of the communication processor 100a included in the memory 300 so that it is provided by the application processor and The IP packet including the converted header can be transmitted to the network via the data machine 150.

如上所述,在自網路接收的IP封包被提供至應用處理器(參照圖1中的200)之前,通訊處理器100a的位址轉換電路120可轉換IP封包的網路位址。另外,在由應用處理器200提供的IP封包被傳輸至網路之前,通訊處理器100a的位址轉換電路120可轉換IP封包的網路位址。As described above, the address translation circuit 120 of the communication processor 100a can convert the network address of the IP packet before the IP packet received from the network is supplied to the application processor (refer to 200 in FIG. 1). In addition, the address translation circuit 120 of the communication processor 100a can convert the network address of the IP packet before the IP packet provided by the application processor 200 is transmitted to the network.

圖12是根據至少一個示例性實施例的通訊裝置10a的方塊圖。FIG. 12 is a block diagram of a communication device 10a in accordance with at least one example embodiment.

參照圖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 communication device 10a can transmit data (eg, IP packets) to at least one electronic device 30 and/or server 40 and the like via at least one electronic device 30 and/or via a network (eg, global network) 20. Or the server 40 or the like receives the data (for example, an IP packet). The communication device 10a can also operate as a router. The communication device 10a can transmit the IP packet received via the network 20 to another electronic device 50 via a local area network path. In addition, the communication device 10a can transmit the IP packets received from the other electronic devices 50 to the electronic device 30 or the server 40 via the network 20.

通訊裝置10a可包括通訊處理器100、應用處理器200、記憶體300、輸入/輸出(I/O)元件400及/或DMA控制器500等,但並非僅限於此。此外,通訊裝置10a可更包括其他組件。通訊裝置10a的組件可經由匯流排600傳輸及接收資料。The communication device 10a may include, but is not limited to, the communication processor 100, the application processor 200, the memory 300, the input/output (I/O) component 400, and/or the DMA controller 500, and the like. Further, the communication device 10a may further include other components. The components of the communication device 10a can transmit and receive data via the bus bar 600.

輸入/輸出元件400可提供使用者介面並包括輸入單元(例如,觸控板、小鍵盤及/或輸入按鈕等)及/或輸出單元(例如,顯示器及揚聲器等)。The input/output component 400 can provide a user interface and include an input unit (eg, a touchpad, a keypad, and/or an input button, etc.) and/or an output unit (eg, a display and a speaker, etc.).

DMA控制器500可支援通訊裝置10a的組件之間的資料傳輸並控制資料直接在通訊裝置10a的組件之間進行傳輸而無需應用處理器200的干涉。在至少一個示例性實施例中,DMA控制器500可控制IP封包在通訊處理器100、應用處理器200及記憶體300之間進行傳輸。此外,DMA控制器500可將儲存於記憶體300中的IP封包的標頭傳輸至通訊處理器100的位址轉換電路120及/或將由位址轉換電路120轉換的標頭轉換至記憶體300。在至少一個示例性實施例中,通訊處理器100以及應用處理器200中的每一者可包括DMA控制器。The DMA controller 500 can support data transfer between components of the communication device 10a and control the transfer of data directly between components of the communication device 10a without the intervention of the application processor 200. In at least one exemplary embodiment, DMA controller 500 can control the transmission of IP packets between communication processor 100, application processor 200, and memory 300. In addition, the DMA controller 500 can transmit the header of the IP packet stored in the memory 300 to the address conversion circuit 120 of the communication processor 100 and/or convert the header converted by the address conversion circuit 120 to the memory 300. . In at least one example embodiment, each of communication processor 100 and application processor 200 can include a DMA controller.

可轉換經由網路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 network 20 can be converted, and the IP packet including the converted network address can be stored in the memory 300. The communications processor 100 can translate the network address of the IP packet into an address system that is identifiable by the application 202 of the application processor 200 or other electronic device 50. The application processor 200 can read an IP packet including the converted network address from the memory 300, and the application 202 can process the IP packet. Additionally, other electronic devices 50 may process IP packets including translated network addresses via local area network path 60.

此外,通訊處理器100可將由應用處理器200及/或其他電子裝置50提供的IP封包的網路位址轉換成符合網路20的位址系統,並將包括經轉換的網路位址的IP封包傳輸至網路20。In addition, the communication processor 100 can convert the network address of the IP packet provided by the application processor 200 and/or other electronic device 50 into an address system conforming to the network 20, and will include the converted network address. The IP packet is transmitted to the network 20.

在根據至少一個示例性實施例的通訊裝置10a中,通訊處理器100可轉換網路位址以使得應用處理器200可不需要執行額外的網路位址轉換。因此,應用處理器200的處理及/或記憶體負載可被減少及/或可變得更加高效,且通訊裝置10a的效能被改善。In communication device 10a in accordance with at least one example embodiment, communication processor 100 may convert the network address such that application processor 200 may not need to perform additional network address translation. Therefore, the processing and/or memory load of the application processor 200 can be reduced and/or can become more efficient, and the performance of the communication device 10a is improved.

圖13A示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。圖13B示出IP封包在根據比較實例的通訊裝置中的移動。圖13A及圖13B示出自網路接收的IP封包在硬體區(例如,通訊處理器CP)與軟體區(例如,應用處理器AP)中的移動。Figure 13A illustrates the movement of an IP packet in a communication device in accordance with at least one example embodiment. Fig. 13B shows the movement of the IP packet in the communication device according to the comparative example. 13A and 13B illustrate the movement of an IP packet received from the network in a hardware area (e.g., communication processor CP) and a software area (e.g., application processor AP).

參照圖13A,可經由網路接收IP封包(S11),且可將所接收的IP封包PK0至PKN-1儲存於硬體區的第一記憶體310中。Referring to FIG. 13A, an IP packet can be received via the network (S11), and the received IP packets PK0 to PKN-1 can be stored in the first memory 310 of the hardware area.

位址轉換電路120可轉換IP封包的網路位址(S12)。如參照圖2至圖9B所述,位址轉換電路120可接收IP封包的標頭並轉換標頭格式或IP位址。位址轉換電路120可將包括經轉換的網路位址的IP封包(例如,IP封包NPK0至NPKN-1)複製(或儲存)至第二記憶體320(例如,共享記憶體)(或複製或儲存至第二記憶體320中)(S13)。The address conversion circuit 120 can convert the network address of the IP packet (S12). As described with reference to Figures 2 through 9B, the address translation circuitry 120 can receive the header of the IP packet and convert the header format or IP address. Address translation circuitry 120 may copy (or store) IP packets (eg, IP packets NPK0 through NPKN-1) including the translated network address to second memory 320 (eg, shared memory) (or copy) Or stored in the second memory 320) (S13).

隨後,可由軟體區處理IP封包NPK0至NPKN-1。驅動器203可將儲存於第二記憶體320中的IP封包NPK0至NPKN-1複製到插口緩衝器(S14)。舉例而言,插口緩衝器可為第三記憶體330的專用於應用處理器AP的一部分。The IP packets NPK0 to NPKN-1 can then be processed by the software area. The driver 203 can copy the IP packets NPK0 to NPKN-1 stored in the second memory 320 to the socket buffer (S14). For example, the socket buffer can be part of the third memory 330 that is dedicated to the application processor AP.

應用程式202可自插口緩衝器讀取IP封包NPK0至NPKN-1(S15)。The application 202 can read the IP packets NPK0 to NPKN-1 from the socket buffer (S15).

參照圖13B,可經由網路接收IP封包(S21),且可將所接收的IP封包PK0至PKN-1儲存於硬體區的第一記憶體310a中。可將IP封包PK0至PKN-1複製到第二記憶體320a(例如,共享記憶體)(S22)。Referring to FIG. 13B, an IP packet can be received via the network (S21), and the received IP packets PK0 to PKN-1 can be stored in the first memory 310a of the hardware area. The IP packets PK0 to PKN-1 may be copied to the second memory 320a (for example, shared memory) (S22).

此後,可由軟體區處理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 area. The drive 203a can copy the IP packets PK0 to PKN-1 stored in the second memory 320a to the socket buffer (S23). For example, the socket buffer may be part of the third memory 330a dedicated to the application processor AP, but is not limited thereto. Meanwhile, the address systems of the IP packets PK0 to PKN-1 may not conform to the address system of the application 202a configured to process the IP packets PK0 to PKN-1. Thus, the header converter 204a (e.g., resident program) can read the IP packets PK0 through PKN-1 (S24) from the socket buffer and/or convert the network addresses of the IP packets PK0 through PKN-1 (S25). The header converter 204a and/or the driver 203a may recopy the IP packets NPK0 to NPKN-1 having the converted network address to the socket buffer (S26). Subsequently, the application 202a can read the IP packets NPK0 to NPKN-1 from the socket buffer (S27).

在將IP封包在根據至少一個示例性實施例的圖13A所示的通訊裝置中的移動與IP封包在根據比較實例的圖13B所示的通訊裝置中的移動進行比較時,在根據至少一個示例性實施例的通訊裝置中,基於硬體的位址轉換電路120可提前執行網路位址轉換,以使得應用處理器AP可不需要執行位址轉換。因此,應用處理器AP的處理及/或記憶體負載可被減少。此外,可減少IP封包被複製到記憶體的次數,藉此增大IP封包的處理速度。In comparing the movement of the IP packet in the communication device shown in FIG. 13A according to at least one exemplary embodiment with the movement of the IP packet in the communication device shown in FIG. 13B according to the comparative example, in accordance with at least one example In the communication device of the embodiment, the hardware-based address conversion circuit 120 can perform network address translation in advance so that the application processor AP does not need to perform address conversion. Therefore, the processing and/or memory load of the application processor AP can be reduced. In addition, the number of times an IP packet is copied to the memory can be reduced, thereby increasing the processing speed of the IP packet.

圖14是根據至少一個示例性實施例的應用處理器200a的方塊圖。FIG. 14 is a block diagram of an application processor 200a in accordance with at least one example embodiment.

由於數據機的功能被整合於應用處理器200a中,因此圖14所示的應用處理器200a可被稱為ModAP。Since the functions of the data machine are integrated in the application processor 200a, the application processor 200a shown in FIG. 14 can be referred to as a ModAP.

參照圖14,應用處理器200a可由系統晶片(system-on-chip,SoC)實施,且可包括中央處理單元(CPU) 210、隨機存取記憶體(RAM)220、DMA控制器230、數據機240、位址轉換電路250及/或記憶體控制器260等。此外,應用處理器200a可更包括其他組件,例如電源管理單元、顯示控制器及/或感測器等。系統晶片的組件可經由匯流排270傳輸及接收資料。Referring to FIG. 14, the application processor 200a may be implemented by a system-on-chip (SoC), and may include a central processing unit (CPU) 210, a random access memory (RAM) 220, a DMA controller 230, and a data machine. 240, address conversion circuit 250 and/or memory controller 260, and the like. In addition, the application processor 200a may further include other components such as a power management unit, a display controller, and/or a sensor. The components of the system wafer can transmit and receive data via bus 270.

CPU 210可控制應用處理器200a的所有操作。CPU 210可處理及/或執行儲存於RAM(或ROM)220中的至少一個程式(例如,電腦可讀取指令等)及/或資料,並控制應用處理器200a的組件的操作。在至少一個示例性實施例中,CPU 210可由多核處理器、多個互連處理器、分散式處理系統及/或雲計算處理系統等實施。所述多核處理器可為包括至少兩個獨立的核的單個計算組件。The CPU 210 can control all operations of the application processor 200a. The CPU 210 can process and/or execute at least one program (e.g., computer readable instructions, etc.) and/or material stored in the RAM (or ROM) 220 and control the operation of the components of the application processor 200a. In at least one example embodiment, CPU 210 may be implemented by a multi-core processor, a plurality of interconnected processors, a distributed processing system, and/or a cloud computing processing system, or the like. The multi-core processor can be a single computing component that includes at least two separate cores.

RAM 220可暫時性地儲存程式(例如,作業系統、應用程式、其電腦可讀取指令等)、資料或指令。舉例而言,儲存於記憶體300中的程式及/或資料可藉由CPU 210或啟動碼的控制而暫時性地儲存於RAM 220中。RAM 220可由DRAM、SRAM等實施。The RAM 220 can temporarily store programs (eg, operating systems, applications, their computer readable instructions, etc.), materials, or instructions. For example, the programs and/or data stored in the memory 300 can be temporarily stored in the RAM 220 by the control of the CPU 210 or the boot code. The RAM 220 can be implemented by DRAM, SRAM, or the like.

DMA控制器230可支援應用處理器200a的組件之間的資料傳輸,並控制資料直接在應用處理器200a的組件之間進行傳輸而無需CPU 210的干涉。The DMA controller 230 can support data transfer between components of the application processor 200a and control the transfer of data directly between components of the application processor 200a without the intervention of the CPU 210.

為執行有線及/或無線通訊,數據機240可調變將根據有線及/或無線環境進行傳輸的資料並再次儲存所接收的資料。數據機240可與RF晶片245執行數位通訊,但並非僅限於此。To perform wired and/or wireless communication, the data machine 240 can change the data to be transmitted in accordance with the wired and/or wireless environment and store the received data again. The data machine 240 can perform digital communication with the RF chip 245, but is not limited thereto.

RF晶片245可將經由天線接收的高頻訊號轉變成低頻訊號,並將經轉變的低頻訊號傳輸至數據機240。此外,RF晶片245可將自數據機240接收的低頻訊號轉變成高頻訊號並經由天線將經轉變的高頻訊號傳輸至無線網路。此外,RF晶片245可對訊號進行放大及/或濾波。The RF chip 245 can convert the high frequency signal received via the antenna into a low frequency signal and transmit the converted low frequency signal to the data machine 240. In addition, the RF chip 245 can convert the low frequency signal received from the data machine 240 into a high frequency signal and transmit the converted high frequency signal to the wireless network via the antenna. In addition, RF chip 245 can amplify and/or filter the signal.

此外,數據機240、位址轉換電路250以及記憶體控制器260的操作可與圖11所示的數據機150、位址轉換電路120以及記憶體介面160的操作相同或類似。因此,將不再予以贅述。In addition, the operations of the data machine 240, the address conversion circuit 250, and the memory controller 260 may be the same as or similar to the operations of the data machine 150, the address conversion circuit 120, and the memory interface 160 shown in FIG. Therefore, it will not be repeated.

如上所述,根據至少一個示例性實施例的應用處理器200a可包括被配置成執行通訊功能的一些組件(例如,數據機240以及位址轉換電路250)。在此種情形中,由於位址轉換電路250提前執行網路位址轉換,因此CPU 210可不需要執行位址轉換。CPU 210的負載可被降低,且IP封包被複製到記憶體300的次數可被減少,且因此可增大IP封包的處理速度。因此,可改善應用處理器200a的效能。As described above, the application processor 200a in accordance with at least one example embodiment may include some components (eg, data machine 240 and address translation circuitry 250) that are configured to perform communication functions. In this case, since the address conversion circuit 250 performs network address conversion in advance, the CPU 210 may not need to perform address conversion. The load of the CPU 210 can be lowered, and the number of times the IP packet is copied to the memory 300 can be reduced, and thus the processing speed of the IP packet can be increased. Therefore, the performance of the application processor 200a can be improved.

儘管已參照發明概念的各種示例性實施例特別示出並闡述了發明概念,但應理解,在不背離以下申請專利範圍的精神及範圍的條件下可作出各種形式及細節上的變化。While the invention has been particularly shown and described with reference to the embodiments of the present invention, it is understood that various changes in form and detail may be made without departing from the spirit and scope of the invention.

10、10a‧‧‧通訊裝置10, 10a‧‧‧ communication device

11‧‧‧第一過濾器 11‧‧‧First filter

12‧‧‧IP轉變器 12‧‧‧IP converter

13‧‧‧第一IP標頭核對和計算器 13‧‧‧First IP Header Check and 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 check and calculator

30‧‧‧電子裝置 30‧‧‧Electronic devices

31‧‧‧IP標頭核對和計算器 31‧‧‧IP header check and calculator

32‧‧‧TCP標頭核對和計算器 32‧‧‧TCP header check and calculator

40‧‧‧伺服器 40‧‧‧Server

50‧‧‧其他電子裝置 50‧‧‧Other electronic devices

60‧‧‧局域網路 60‧‧‧LAN Road

100‧‧‧通訊處理器/共用處理器 100‧‧‧Communication Processor/Common 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‧‧‧Data machine

160‧‧‧記憶體介面 160‧‧‧ memory interface

170‧‧‧匯流排 170‧‧‧ busbar

200、200a‧‧‧應用處理器 200, 200a‧‧‧ application processor

201‧‧‧作業系統(OS) 201‧‧‧Operating System (OS)

202、202a‧‧‧應用程式 202, 202a‧‧‧Application

203、203a‧‧‧驅動器 203, 203a‧‧‧ drive

204a‧‧‧標頭轉換器 204a‧‧‧head converter

210‧‧‧中央處理單元(CPU) 210‧‧‧Central Processing Unit (CPU)

220‧‧‧隨機存取記憶體(RAM) 220‧‧‧ Random Access Memory (RAM)

230‧‧‧DMA控制器 230‧‧‧DMA controller

240‧‧‧數據機 240‧‧‧Data machine

245‧‧‧射頻(RF)晶片 245‧‧‧RF (RF) wafer

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‧‧‧ 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‧‧‧First District

AR2‧‧‧第二區 AR2‧‧‧Second District

AR3‧‧‧第三區 AR3‧‧‧ Third District

CP‧‧‧通訊處理器 CP‧‧‧Communication Processor

D、D’‧‧‧目的地IP位址 D, D’‧‧‧ destination IP address

DT‧‧‧資料 DT‧‧‧Information

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‧‧‧ heading

HD0、HD1、HDN-1、HDs‧‧‧標頭 HD0, HD1, HDN-1, HDs‧‧‧ headers

IHL‧‧‧IP標頭長度 IHL‧‧‧IP header length

NHD‧‧‧標頭 NHD‧‧‧ heading

NHD0、NHD1、NHDN-1、NHDs‧‧‧經改變的標頭 NHD0, NHD1, NHDN-1, NHDs‧‧‧ altered headers

NPK0、NPK1、NPKN-1‧‧‧IP封包 NPK0, NPK1, NPKN-1‧‧‧ IP packets

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‧‧‧ operations

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‧‧‧ operations

S210、S220、S230、S240、S250‧‧‧操作 S210, S220, S230, S240, S250‧‧‧ operations

TT‧‧‧轉換表 TT‧‧‧ conversion table

ToS‧‧‧服務類型 ToS‧‧‧ Service Type

PRA‧‧‧私用IP位址 PRA‧‧‧ private IP address

PUA‧‧‧公用IP位址 PUA‧‧‧ public IP address

結合附圖閱讀以下詳細說明,將更清楚地理解發明概念的各種示例性實施例。Various exemplary embodiments of the inventive concept will be more clearly understood from the following detailed description.

圖1是根據至少一個示例性實施例的通訊裝置的方塊圖。 FIG. 1 is a block diagram of a communication device in accordance with at least one example embodiment.

圖2是示出根據至少一個示例性實施例的位址轉換電路的操作的圖式。 2 is a diagram showing the operation of an address translation circuit in accordance with at least one example embodiment.

圖3是根據至少一個示例性實施例的網際網路協定(IP)封包的結構的圖式。 3 is a diagram of the structure of an Internet Protocol (IP) packet, in accordance with at least one example embodiment.

圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。 4A and 4B illustrate IP headers of IP packets, in accordance with some example embodiments.

圖5示出根據至少一個示例性實施例的IP封包的傳輸控制協定(transmission control protocol,TCP)標頭。 FIG. 5 illustrates a transmission control protocol (TCP) header of an IP packet in accordance with at least one example embodiment.

圖6A是根據至少一個示例性實施例的位址轉換電路的第一轉換器的實施實例的方塊圖。 FIG. 6A is a block diagram of an implementation example of a first converter 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, in accordance with at least one example embodiment.

圖7A是根據至少一個示例性實施例的位址轉換電路的第二轉換器的實施實例的方塊圖。 FIG. 7A is a block diagram of an implementation example of a second converter 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, in accordance with at least one example embodiment.

圖8示出根據至少一個示例性實施例的轉換表。 FIG. 8 illustrates a conversion table in accordance with at least one example embodiment.

圖9A及圖9B是示出根據至少一個示例性實施例一種轉換第二轉換器的IP位址的方法的圖式。 9A and 9B are diagrams illustrating a method of converting an IP address of a second converter, in accordance with at least one example embodiment.

圖10是根據至少一個示例性實施例的位址轉換電路的方塊圖。 FIG. 10 is a block diagram of an address translation circuit in accordance with at least one example embodiment.

圖11是根據至少一個示例性實施例的通訊處理器的方塊圖。 11 is a block diagram of a communication processor in accordance with at least one example embodiment.

圖12是根據至少一個示例性實施例的通訊裝置的方塊圖。 Figure 12 is a block diagram of a communication device in accordance with at least one example embodiment.

圖13A示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。 Figure 13A illustrates the movement of an IP packet in a communication device in accordance with at least one example embodiment.

圖13B示出IP封包在根據至少一個示例性實施例的通訊裝置中的移動。 Figure 13B illustrates the movement of an IP packet in a communication device in accordance with at least one example embodiment.

圖14是根據至少一個示例性實施例的應用處理器的方塊圖。 Figure 14 is a block diagram of an application processor in accordance with at least one example embodiment.

Claims (25)

一種通訊系統,被配置成經由網路收發至少一個封包,所述通訊系統包括: 數據機電路,被配置成將所述至少一個封包調變成傳輸訊號以傳輸至所述網路,以及 將自所述網路接收的訊號解調變成所述至少一個封包;以及 位址轉換電路,被配置成轉換所述至少一個封包的網路位址,轉換所述至少一個封包的所述網路位址包括: 自其中儲存有所述至少一個封包的外部記憶體接收所述至少一個封包的標頭,並將所述至少一個封包的所述標頭儲存於嵌式記憶體中, 轉換所述至少一個封包的所述標頭的格式,以及 轉換所述至少一個封包的所述標頭中所包括的位址。A communication system configured to transceive at least one packet via a network, the communication system comprising: a modem circuit configured to transform the at least one packet into a transmission signal for transmission to the network, and Demodulating the signal received from the network into the at least one packet; a address conversion circuit configured to convert a network address of the at least one packet, and converting the network address of the at least one packet includes: Receiving, from the external memory in which the at least one packet is stored, a header of the at least one packet, and storing the header of the at least one packet in the embedded memory, Converting a format of the header of the at least one packet, and Translating the address included in the header of the at least one packet. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路包括第一轉換器電路以及第二轉換器電路。The communication system of claim 1, wherein the address conversion circuit comprises a first converter circuit and a second converter circuit. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的所述標頭自根據網際網路協定(IP)的一種版本的第一格式改變為根據所述網際網路協定的另一版本的第二格式。The communication system of claim 1, wherein the address conversion circuit is further configured to: self-reference the header of the at least one packet from a version of a version according to an Internet Protocol (IP) The format is changed to a second format according to another version of the internet protocol. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的網際網路協定(IP)位址自公用網際網路協定位址轉換成私用網際網路協定位址,或將所述網際網路協定位址自私用網際網路協定位址轉換成公用網際網路協定位址。The communication system of claim 1, wherein the address conversion circuit is further configured to convert the Internet Protocol (IP) address of the at least one packet from a public internet protocol address to A private internet protocol address, or a translation of the Internet Protocol address self-service internet protocol address into a public internet protocol address. 如申請專利範圍第1項所述的通訊系統,其中, 因應於所述位址轉換電路作為接收路徑運作,所述位址轉換電路更被配置成將經改變的標頭儲存於共享記憶體中;以及 所述共享記憶體被配置成在所述位址轉換電路與外部應用處理器之間共享。For example, the communication system described in claim 1 of the patent scope, wherein Depending on the address conversion circuit operating as a receive path, the address translation circuit is further configured to store the changed header in shared memory; The shared memory is configured to be shared between the address translation circuitry and an external application processor. 如申請專利範圍第5項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的有效載荷直接儲存於所述共享記憶體中而不將所述有效載荷儲存於所述嵌式記憶體中。The communication system of claim 5, wherein the address conversion circuit is further configured to store the payload of the at least one packet directly in the shared memory without storing the payload In the embedded memory. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成: 基於期望的第一過濾項判斷是否期望進行格式轉換; 因應於期望進行所述格式轉換而將所述標頭中所包括的多個欄位中的至少一些欄位改變成與目標網際網路協定版本對應;以及 基於經轉換的所述格式而更新所述標頭的網際網路協定標頭核對和欄位。The communication system of claim 1, wherein the address conversion circuit is further configured to: Determining whether a format conversion is desired based on the expected first filter item; Changing at least some of the plurality of fields included in the header to correspond to a target internet protocol version in response to the desired format conversion; and The internet protocol header check and field of the header are updated based on the converted format. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成: 基於期望的第二過濾項判斷是否期望進行位址轉換; 基於判斷是否期望進行所述位址轉換的結果而改變所述標頭中所包括的網際網路協定(IP)位址值以及埠號;以及 基於經改變的所述網際網路協定位址值以及經改變的所述埠號而更新所述標頭的網際網路協定標頭核對和欄位以及傳輸協定標頭核對和欄位。The communication system of claim 1, wherein the address conversion circuit is further configured to: Determining whether an address conversion is desired based on the expected second filter item; Changing an internet protocol (IP) address value and an apostrophe included in the header based on a result of determining whether the address conversion is desired; and The internet protocol header check and field of the header and the transport protocol header check and field are updated based on the changed internet protocol address value and the changed apostrophe. 如申請專利範圍第1項所述的通訊系統,其中因應於所述位址轉換電路作為接收路徑運作,所述位址轉換電路更被配置成對所述至少一個封包進行預處理並對所述至少一個封包進行後處理。The communication system of claim 1, wherein the address conversion circuit is further configured to preprocess the at least one packet and to operate according to the address conversion circuit operating as a receiving path At least one packet is post-processed. 如申請專利範圍第1項所述的通訊系統,其中因應於所述位址轉換電路作為傳輸路徑運作,所述位址轉換電路更被配置成對所述至少一個封包進行預處理並對所述至少一個封包進行後處理。The communication system of claim 1, wherein the address conversion circuit is further configured to preprocess the at least one packet and to operate according to the address conversion circuit operating as a transmission path At least one packet is post-processed. 一種通訊裝置,包括: 記憶體; 通訊處理器,被配置成轉換經由網路接收的第一封包的網路位址,並將包括經轉換的所述網路位址的第二封包儲存於所述記憶體中;以及 應用處理器,被配置成自所述記憶體接收所述第二封包,驅動應用程式,並處理所述第二封包。A communication device comprising: Memory; a communications processor configured to convert a network address of the first packet received via the network and to store a second packet including the converted network address in the memory; An application processor configured to receive the second packet from the memory, drive an application, and process the second packet. 如申請專利範圍第11項所述的通訊裝置,其中, 所述第一封包包括標頭以及有效載荷,且所述第一封包儲存於第一專用記憶體中; 所述通訊處理器包括內部緩衝器;且 所述通訊處理器更被配置成將所述第一封包的所述標頭複製到所述內部緩衝器,並轉換所述第一封包的所述標頭中所包括的所述網路位址。The communication device according to claim 11, wherein The first packet includes a header and a payload, and the first packet is stored in the first dedicated memory; The communication processor includes an internal buffer; The communication processor is further configured to copy the header of the first packet to the internal buffer and convert the network address included in the header of the first packet . 如申請專利範圍第11項所述的通訊裝置,其中所述通訊處理器更包括: 嵌式記憶體,被配置成儲存所述第一封包的標頭; 第一位址轉換電路,被配置成轉換所述第一封包的所述標頭中所包括的網際網路協定標頭的網際網路協定(IP)版本;以及 第二位址轉換電路,被配置成轉換在所述第一封包的所述標頭中所包括的網際網路協定位址。The communication device of claim 11, wherein the communication processor further comprises: An embedded memory configured to store a header of the first packet; a first address translation circuit configured to convert an Internet Protocol (IP) version of an internet protocol header included in the header of the first packet; A second address translation circuit configured to translate an internet protocol address included in the header of the first packet. 如申請專利範圍第13項所述的通訊裝置,其中所述第一位址轉換電路更被配置成將所述第一封包的所述標頭中所包括的IPv4標頭轉換成IPv6標頭,或將所述第一封包的所述標頭中所包括的IPv6標頭轉換成IPv4標頭。The communication device of claim 13, wherein the first address conversion circuit is further configured to convert an IPv4 header included in the header of the first packet into an IPv6 header. Or converting the IPv6 header included in the header of the first packet into an IPv4 header. 如申請專利範圍第13項所述的通訊裝置,其中所述第二位址轉換電路更被配置成將所述第一封包的所述標頭中所包括的公用網際網路協定位址轉換成私用網際網路協定位址。The communication device of claim 13, wherein the second address conversion circuit is further configured to convert a public internet protocol address included in the header of the first packet into Private internet protocol address. 如申請專利範圍第13項所述的通訊裝置,其中因應於所述第一位址轉換電路對所述第一封包執行網際網路協定版本轉換操作,所述第二位址轉換電路更被配置成對所述第一封包執行網際網路協定位址轉換操作。The communication device of claim 13, wherein the second address conversion circuit is further configured according to the first address conversion circuit performing an internet protocol version conversion operation on the first packet. The first packet is paired to perform an internet protocol address translation operation. 如申請專利範圍第11項所述的通訊裝置,其中所述應用處理器更被配置成將儲存於所述記憶體中的所述第二封包複製到第二專用記憶體。The communication device of claim 11, wherein the application processor is further configured to copy the second packet stored in the memory to a second dedicated memory. 一種應用處理器,包括通訊功能,所述應用處理器包括: 至少一個處理器,被配置成執行應用程式; 記憶體,被配置成由所述至少一個處理器存取;以及 位址轉換電路,被配置成將自網路接收的至少一個封包的第一標頭中所包括的網路位址轉換成符合所述應用程式的位址系統,並將包括經轉換的所述網路位址的第二標頭儲存於所述記憶體中。An application processor includes a communication function, and the application processor includes: At least one processor configured to execute an application; a memory configured to be accessed by the at least one processor; An address translation circuit configured to convert a network address included in a first header of at least one packet received from the network into an address system conforming to the application, and to include the converted A second header of the network address is stored in the memory. 如申請專利範圍第18項所述的應用處理器,其中 所述位址轉換電路包括緩衝器,所述緩衝器被配置成接收所述至少一個封包的所述第一標頭並儲存所述第一標頭;以及 所述位址轉換電路更被配置成轉換所述第一標頭的格式;以及 轉換所述第一標頭中所包括的位址。An application processor as described in claim 18, wherein The address translation circuit includes a buffer configured to receive the first header of the at least one packet and store the first header; The address translation circuit is further configured to convert the format of the first header; Converting the address included in the first header. 如申請專利範圍第19項所述的應用處理器,其中所述位址轉換電路更被配置成更新所述第一封包的網際網路協定標頭核對和。The application processor of claim 19, wherein the address translation circuit is further configured to update an Internet Protocol Header Checksum of the first packet. 一種通訊系統的網路位址轉換方法,所述方法包括: 利用至少一個處理器將經由網路接收的第一網際網路協定(IP)封包儲存於第一記憶體中,所述第一網際網路協定封包包括標頭以及網路位址; 利用所述至少一個處理器將儲存於所述第一記憶體中的所述第一網際網路協定封包的所述標頭複製到所述至少一個處理器的內部緩衝器中; 利用所述至少一個處理器轉換所述第一網際網路協定封包中所包括的所述網路位址;以及 利用所述至少一個處理器儲存第二網際網路協定封包,所述第二網際網路協定封包包括所述標頭以及經轉換的所述網路位址。A network address translation method for a communication system, the method comprising: And storing, by the at least one processor, a first Internet Protocol (IP) packet received via the network, where the first Internet Protocol packet includes a header and a network address; Copying, by the at least one processor, the header of the first internet protocol packet stored in the first memory to an internal buffer of the at least one processor; Converting, by the at least one processor, the network address included in the first internet protocol packet; The second internet protocol packet is stored by the at least one processor, the second internet protocol packet including the header and the translated network address. 如申請專利範圍第21項所述的方法,其中轉換所述網路位址包括: 將所述標頭的當前格式轉換成第二格式;以及 將所述標頭中所包括的當前網際網路協定位址轉換成第二網際網路協定位址。The method of claim 21, wherein converting the network address comprises: Converting the current format of the header to a second format; Converting the current internet protocol address included in the header to a second internet protocol address. 如申請專利範圍第22項所述的方法,其中轉換所述標頭的所述當前格式包括: 基於第一過濾器設定判斷是否期望轉換所述標頭的所述當前格式; 基於所述判斷的結果將所述標頭的網際網路協定標頭的格式自根據網際網路協定的一個版本的第一格式轉換成根據所述網際網路協定的另一版本的第二格式;以及 更新所述網際網路協定標頭的核對和。The method of claim 22, wherein converting the current format of the header comprises: Determining whether it is desired to convert the current format of the header based on the first filter setting; Converting, from the result of the determination, the format of the Internet Protocol Header of the header from a first format according to a version of the Internet Protocol to a second format according to another version of the Internet Protocol ;as well as Update the checksum of the Internet Protocol header. 如申請專利範圍第22項所述的方法,其中轉換所述標頭中所包括的所述網際網路協定位址包括: 基於第二過濾器設定判斷是否期望轉換所述網際網路協定位址; 基於所述判斷的結果改變所述標頭中所包括的網際網路協定標頭的位址值以及所述標頭中所包括的傳輸協定標頭的埠號;以及 更新所述網際網路協定標頭的核對和以及所述傳輸協定標頭的核對和。The method of claim 22, wherein converting the internet protocol address included in the header comprises: Determining whether it is desired to convert the internet protocol address based on the second filter setting; Changing an address value of an internet protocol header included in the header and an apostrophe of a transport protocol header included in the header based on a result of the determining; Updating the checksum of the Internet Protocol header and the checksum of the transport protocol header. 如申請專利範圍第21項所述的方法,更包括: 利用所述至少一個處理器將所述第二網際網路協定封包複製到插口緩衝器;以及 利用所述至少一個處理器執行應用程式並處理所述第二網際網路協定封包。For example, the method described in claim 21 of the patent scope further includes: Copying the second internet protocol packet to the socket buffer with the at least one processor; Executing an application with the at least one processor and processing the second internet protocol packet.
TW107142254A 2017-11-27 2018-11-27 Communication system, communication device, application processor and network address translation method of communication system TWI791691B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2017-0159685 2017-11-27
KR20170159685 2017-11-27
??10-2017-0159685 2017-11-27
??10-2018-0120606 2018-10-10
KR1020180120606A KR102610823B1 (en) 2017-11-27 2018-10-10 Communication system and method for network address translation
KR10-2018-0120606 2018-10-10

Publications (2)

Publication Number Publication Date
TW201926975A true TW201926975A (en) 2019-07-01
TWI791691B 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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
US7095716B1 (en) * 2001-03-30 2006-08-22 Juniper Networks, Inc. Internet security device and method
US6947971B1 (en) * 2002-05-09 2005-09-20 Cisco Technology, Inc. Ethernet packet header cache
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
TW200816753A (en) * 2006-06-14 2008-04-01 Divitas Networks Inc DiVitas protocol proxy and methods therefor
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
EP2630774A1 (en) * 2010-10-22 2013-08-28 Telefonaktiebolaget L M Ericsson (PUBL) Differentiated handling of network traffic using network address translation
CN102255982A (en) * 2011-07-21 2011-11-23 电子科技大学 Internet protocol version 4 (IPv4)/IPv6 translation gateway and translation method
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
US9698825B2 (en) * 2014-10-22 2017-07-04 Quest Software Inc. Fast update of data packet checksums

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
CN109842609A (en) 2019-06-04
KR102610823B1 (en) 2023-12-07
CN109842609B (en) 2023-04-07
KR20190062166A (en) 2019-06-05
TWI791691B (en) 2023-02-11

Similar Documents

Publication Publication Date Title
TWI791691B (en) Communication system, communication device, application processor and network address translation method of communication system
JP6426879B2 (en) Data packet transfer
US11483280B2 (en) Method of translating IP packet for tethering service, communication system and electronic device for performing the same
US9560016B2 (en) Supporting IP address overlapping among different virtual networks
JP4840943B2 (en) Intelligent load balancing and failover of network traffic
WO2017000593A1 (en) Packet processing method and device
JP2008295043A (en) Intelligent load balancing and failover of network traffic
JP2008289146A (en) Intelligent load balancing and failover of network traffic
US20150163072A1 (en) Virtual Port Extender
CN107770072B (en) Method and equipment for sending and receiving message
US20160056968A1 (en) Remotely controllable electronic device, network system for controlling the electronic device and remote control method thereof
CN106507414B (en) Message forwarding method and device
US11489810B2 (en) Intelligently routing a response packet along a same connection as a request packet
WO2020038443A1 (en) Bridging communication method and device
WO2011083567A1 (en) Load distribution system and method for same
CN111711705B (en) Method and device for realizing network connection based on bidirectional NAT (network Address translation) by proxy node
US10749842B2 (en) Communication system and method for network address translation
US10498836B2 (en) Network based service discovery via unicast messages
US8509235B2 (en) Layer-2 packet return in proxy-router communication protocol environments
US8849949B1 (en) Providing proxy service during access switch control plane software upgrade
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
US10250559B2 (en) Reversible mapping of network addresses in multiple network environments
WO2024001549A1 (en) Address configuration method and electronic device
TWI663856B (en) Network resource allocation server and network resource allocation method
JP2022006989A (en) Communication system, server device, client device, and program