TWI791691B - Communication system, communication device, application processor and network address translation method of communication system - Google Patents

Communication system, communication device, application processor and network address translation method of communication system Download PDF

Info

Publication number
TWI791691B
TWI791691B TW107142254A TW107142254A TWI791691B TW I791691 B TWI791691 B TW I791691B TW 107142254 A TW107142254 A TW 107142254A TW 107142254 A TW107142254 A TW 107142254A TW I791691 B TWI791691 B TW I791691B
Authority
TW
Taiwan
Prior art keywords
header
address
packet
memory
processor
Prior art date
Application number
TW107142254A
Other languages
Chinese (zh)
Other versions
TW201926975A (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

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

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 communication system traditional network address translation method [相關申請案的交叉參考] [CROSS-REFERENCE TO RELATED APPLICATIONS]

本美國非臨時申請案主張於2017年11月27日在韓國智慧財產局(Korean Intellectual Property Office,KIPO)提出申請的韓國專利申請案第10-2017-0159685號、以及於2018年10月10日在韓國智慧財產局提出申請的韓國專利申請案第10-2018-0120606號的優先權的權益,所述韓國專利申請案兩者的揭露內容皆全文併入本案供參考。 This U.S. non-provisional application asserts Korean Patent Application No. 10-2017-0159685 filed with the Korean Intellectual Property Office (KIPO) on November 27, 2017 and filed on October 10, 2018 The benefit of priority of Korean Patent Application No. 10-2018-0120606 filed with the Korean Intellectual Property Office, the disclosures of both of which are incorporated herein by reference in their entirety.

發明概念的各種示例性實施例是有關於一種通訊系統,且更具體而言,是有關於一種被配置成執行網路位址轉換用於資料通訊的通訊系統的硬體結構、一種通訊設備、一種轉換網路位址的方法及/或其非暫時性電腦可讀取媒體。 Various exemplary embodiments of the inventive concept are related to a communication system, and more particularly, to a hardware structure of a communication system configured to perform network address translation for data communication, a communication device, A method of translating network addresses and/or its non-transitory computer-readable medium.

用於資料通訊的通訊裝置或通訊系統可利用網路位址轉 換技術與具有不同位址系統的網路或通訊裝置進行通訊。網路位址轉換技術可包括客戶端轉換器(customer-side translator,CLAT)以及網路位址轉換(network address translation,NAT)。客戶端轉換器可為一種用於將IPv4位址轉換成IPv6位址或將IPv6位址轉換成IPv4位址使得主機可自由地經由IPv6網路與IPv4主機或IPv6主機進行通訊的技術。網路位址轉換可指由路由器或等效聯網裝置收發網路流量,並由所述路由器重寫網際網路協定(Internet protocol,IP)封包的傳輸協定的埠號以及源網際網路協定(IP)位址以及目的地IP位址的技術。當執行網路位址轉換時,由於網際網路協定(IP)封包被改變,因此必須更新網際網路協定(IP)標頭或傳輸協定標頭的核對和(checksum)。 A communication device or communication system used for data communication can utilize network address forwarding Switching technology communicates with network or communication devices with different address systems. The network address translation technology may include a customer-side translator (CLAT) and a network address translation (NAT). The client converter can be a technology for converting an IPv4 address to an IPv6 address or converting an IPv6 address to an IPv4 address so that the host can freely communicate with the IPv4 host or the IPv6 host via the IPv6 network. Network address translation may refer to sending and receiving network traffic by a router or equivalent networking device, and rewriting by the router the port number of the transport protocol of the Internet protocol (IP) packet and the source Internet protocol (IP) IP) address and destination IP address technology. When performing NAT, since the IP packet is changed, the checksum of the IP header or the IP header must be updated.

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

根據發明概念的至少一個示例性實施例的態樣,提供一種通訊系統,所述通訊系統被配置成經由網路收發至少一個封包。所述通訊系統包括:數據機電路,被配置成將所述至少一個封包調變成傳輸訊號以傳輸至所述網路,以及將自所述網路接收的訊號解調變成所述至少一個封包;以及位址轉換電路,被配置成轉換所述至少一個封包的網路位址,轉換所述至少一個封包的所述網路位址包括:自其中儲存有所述至少一個封包的外部記憶 體接收所述至少一個封包的標頭,並將所述至少一個封包的所述標頭儲存於嵌式記憶體中,轉換所述至少一個封包的所述標頭的格式,以及轉換所述至少一個封包的所述標頭中所包括的位址。 According to an aspect of at least one example embodiment of the inventive concept, there is provided a communication system configured to transmit and receive at least one packet via a network. The communication system includes modem circuitry configured to modulate the at least one packet into a transmission signal for transmission to the network, and demodulate a signal received from the network into the at least one packet; and an address translation circuit configured to translate the network address of the at least one packet, converting the network address of the at least one packet includes: from an external memory in which the at least one packet is stored The body receives the header of the at least one packet, stores the header of the at least one packet in an embedded memory, converts the format of the header of the at least one packet, and converts the at least one packet An address included in the header of a packet.

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

根據發明概念的至少一個示例性實施例的另一態樣,提供一種包括通訊功能的應用處理器。所述應用處理器包括:至少一個處理器,被配置成執行應用程式;記憶體,被配置成由所述至少一個處理器存取;以及位址轉換電路,被配置成將自網路接收的至少一個封包的第一標頭中所包括的網路位址轉換成符合所述應用程式的位址系統,並將包括經轉換的所述網路位址的第二標頭儲存於所述記憶體中。 According to another aspect of at least one exemplary embodiment of the inventive concept, there is provided an application processor including a communication function. The application processor includes: at least one processor configured to execute an application program; memory configured to be accessed by the at least one processor; and address translation circuitry configured to translate converting a network address included in a first header of at least one packet into an address system conforming to the application, and storing a second header including the converted network address in the memory body.

根據發明概念的至少一個示例性實施例的另一態樣,提供一種通訊系統的網路位址轉換方法。所述方法包括:利用至少一個處理器將經由網路接收的第一網際網路協定(IP)封包儲存於第一記憶體中,所述第一網際網路協定封包包括標頭以及網路位址;利用所述至少一個處理器將儲存於所述第一記憶體中的所述第一網際網路協定封包的所述標頭複製到所述至少一個處理器 的內部緩衝器中;利用所述至少一個處理器轉換所述第一網際網路協定封包中所包括的所述網路位址;以及利用所述至少一個處理器儲存第二網際網路協定封包,所述第二網際網路協定封包包括所述標頭以及經轉換的所述網路位址。 According to another aspect of at least one exemplary embodiment of the inventive concept, a network address translation method of a communication system is provided. The method includes storing, by at least one processor, a first Internet Protocol (IP) packet received via a network in a first memory, the first IP packet including a header and network bits address; using the at least one processor to copy the header of the first IP packet stored in the first memory to the at least one processor using the at least one processor to convert the network address included in the first IP packet; and storing a second IP packet using the at least one processor , the second IP packet includes the header and the converted IP address.

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

11:第一過濾器 11: First filter

12:IP轉變器 12: IP Converter

13:第一IP標頭核對和計算器 13: First IP header checksum calculator

20:網路 20: Network

21:第二過濾器 21: Second filter

22:位址轉換器 22: Address converter

23:IP標頭核對和計算器 23: IP header check and calculator

24:TCP標頭核對和計算器 24:TCP header checksum calculator

30:電子裝置 30: Electronic device

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

32:TCP標頭核對和計算器 32:TCP Header Checksum Calculator

40:伺服器 40:Server

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

60:局域網路 60: LAN

100:通訊處理器/共用處理器 100: communication processor/shared processor

100a:通訊處理器 100a: communication processor

110:處理器 110: Processor

120、120a:位址轉換電路 120, 120a: address conversion circuit

121、121a:第一轉換器 121, 121a: first converter

122、122a:第二轉換器 122, 122a: second converter

123:局域記憶體 123: local memory

123a:標頭核對和計算器 123a: Header check and calculator

130:隨機存取記憶體(RAM) 130: Random Access Memory (RAM)

140:DMA控制器 140: DMA controller

150:數據機 150: modem

160:記憶體介面 160: memory interface

170:匯流排 170: busbar

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

201:作業系統(OS) 201: Operating system (OS)

202、202a:應用程式 202, 202a: Applications

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

204a:標頭轉換器 204a: Header Converter

210:中央處理單元(CPU) 210: central processing unit (CPU)

220:隨機存取記憶體(RAM) 220: random access memory (RAM)

230:DMA控制器 230: DMA controller

240:數據機 240: modem

245:射頻(RF)晶片 245: Radio frequency (RF) chip

250:位址轉換電路 250: Address conversion circuit

260:記憶體控制器 260: memory controller

270:匯流排 270: busbar

300:記憶體 300: Memory

310、310a:第一記憶體 310, 310a: first memory

320、320a:第二記憶體 320, 320a: second memory

330、330a:第三記憶體 330, 330a: the third memory

400:輸入/輸出(I/O)元件 400: input/output (I/O) components

500:DMA控制器 500:DMA controller

600:匯流排 600: busbar

AP:應用處理器 AP: application processor

AR1:第一區 AR1: Area 1

AR2:第二區 AR2: Second Area

AR3:第三區 AR3: the third area

CP:通訊處理器 CP: communication processor

D、D’:目的地IP位址 D, D': Destination IP address

DT:資料 DT: data

H1:IP標頭 H1: IP header

H1_IPv4:IPv4標頭 H1_IPv4: IPv4 header

H1_IPv6:IPv6標頭 H1_IPv6: IPv6 header

H2:TCP標頭 H2: TCP header

H2_TCP:TCP標頭 H2_TCP: TCP header

HD:標頭 HD: header

HD0、HD1、HDN-1、HDs:標頭 HD0, HD1, HDN-1, HDs: header

IHL:IP標頭長度 IHL: IP Header Length

NHD:標頭 NHD: header

NHD0、NHD1、NHDN-1、NHDs:經改變的標頭 NHD0, NHD1, NHDN-1, NHDs: Changed headers

NPK0、NPK1、NPKN-1:IP封包 NPK0, NPK1, NPKN-1: IP packet

PK:IP封包 PK: IP packet

PK0、PK1、PKN-1、PK0a、PK1a、PKN-1a:IP封包 PK0, PK1, PKN-1, PK0a, PK1a, PKN-1a: IP packets

PL:有效載荷 PL: Payload

PL0、PL1、PLN-1、PLs:有效載荷 PL0, PL1, PLN-1, PLs: payload

S、S’:源IP位址 S, S': source IP address

S11、S12、S13、S14、S15:操作 S11, S12, S13, S14, S15: Operation

S21、S22、S23、S24、S25、S26、S27:操作 S21, S22, S23, S24, S25, S26, S27: Operation

S110、S120、S130、S140、S150:操作 S110, S120, S130, S140, S150: Operation

S210、S220、S230、S240、S250:操作 S210, S220, S230, S240, S250: Operation

TT:轉換表 TT: Transition table

ToS:服務類型 ToS: type of service

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

PUA:公用IP位址 PUA: Public IP address

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

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

圖2是示出根據至少一個示例性實施例的位址轉換電路的操作的圖式。 FIG. 2 is a diagram illustrating an operation of an address conversion circuit according to at least one example embodiment.

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

圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。 4A and 4B illustrate an IP header of an IP packet, according to some example embodiments.

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

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

圖6B是根據至少一個示例性實施例的一種操作圖6A的第一轉換器的方法的流程圖。 FIG. 6B is a flowchart of a method of operating the first converter of FIG. 6A , according to at least one example embodiment.

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

圖7B是根據至少一個示例性實施例的一種操作圖7A的第二轉換器的方法的流程圖。 FIG. 7B is a flowchart of a method of operating the second converter of FIG. 7A , according to at least one example embodiment.

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

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

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

圖11是根據至少一個示例性實施例的通訊處理器的方塊圖。 Figure 11 is a block diagram of a communications processor, according to at least one example embodiment.

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

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

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

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

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

參照圖1,通訊裝置10可為被配置成與至少一個其他電子裝置執行資料通訊的電子裝置。舉例而言,通訊裝置10可為智慧型電話、平板個人電腦(tablet personal computer,PC)、膝上型電腦、無人機、數位照相機、穿戴式電腦、物聯網(Internet of Things,IoT)裝置、車輛驅動裝置、虛擬實境裝置、擴增實境裝 置及/或各種其他智慧型裝置中的一者。此外,通訊裝置10可為被配置成經由有線/無線網路與外部電子裝置執行資料通訊的各種電子裝置中的一者。 Referring to FIG. 1 , the communication device 10 may 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, Vehicle driving device, virtual reality device, augmented reality device device and/or one of various other smart devices. In addition, the communication device 10 may be one of various 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 a communication processor (communication processor, CP) 100, an application processor (application processor, AP) 200 and/or a memory 300, but is not limited thereto. 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 (for example, execute) an operating system (operating system, OS) 201 and/or various application programs 202 of the communication device 10 to control multiple hardware and/or software components connected to the application processor 200 , and process and calculate various data including multimedia data. In at least one exemplary embodiment, the application processor 200 may be implemented by a system-on-chip (SoC), FPGA, multi-core processor, multi-processor system, and 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 communication processor 100 can transceive (eg, transmit and/or receive) data during communication with other electronic devices connected via a network. During the process of sending and receiving data, the communication processor 100 can transmit data to the application processor 200 and receive 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 data processing operations, Such as data calculation and storage operations. On the contrary, 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 The 200 can transmit the data to be uploaded to the communication processor 100, and the communication processor 100 can then transmit the data via the network. 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 the screen. According to at least one exemplary embodiment, the communication processor 100 and the application processor 200 may be implemented by a single processor. In addition, according to some exemplary embodiments, the communication processor 100 and/or the application processor 200 may be implemented by two or more processors.

記憶體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 data received from 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 volatile memory such as dynamic random access memory (DRAM), static random access memory (SRAM) and the like. However, exemplary embodiments of the inventive concept are not limited thereto, and the memory 300 may include non-volatile memory such as flash memory, magnetic random access memory (magnetic RAM, MRAM), ferroelectric random access memory Memory (ferroelectric RAM, FeRAM), phase-change random access memory (phase-change RAM, PRAM) and/or resistive random access memory (resistive RAM, ReRAM), etc. 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 data is frequently transmitted and received between the communication processor 100 and the application processor 200, the memory 300 can be used as a communication-processable The shared memory accessed by the processor 100 and the application processor 200 operates. The communication processor 100 and the application processor 200 can transmit and receive data through 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 a first area AR1, a second area AR2, and a third area AR3, etc., but is not limited thereto, and in other exemplary embodiments, may have a larger number or fewer zones. In at least one exemplary embodiment, the first area AR1 , the second area AR2 and the third area AR3 may be areas that can be 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 area AR1 , the second area AR2 and the third area AR3 may be memory devices that can be physically distinguished 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 area 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 area AR3 may be a dedicated area of the application processor 200 which is exclusively used by the application processor 200 . However, 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 example embodiment, the communication processor 100 may include an address conversion circuit 120 . The address conversion circuit 120 can be implemented by hardware circuitry or a combination of hardware circuitry and software. The address conversion circuit 120 can determine whether it is desired and/or necessary to convert the network address of the data sent and received via the network. road address. If it is determined that it is desired and/or necessary to convert the network address of the data, the address conversion circuit 120 may convert the network address of the data based on the network address conversion technology.

資料可作為一種類型的網際網路協定(IP)封包而被傳輸及/或接收,且位址轉換電路120可轉換IP封包的網路位址(例如,可轉換IP封包中所包括的及/或與IP封包相關聯的網路位址等)。位址轉換電路120可將經由網路接收的IP封包的目的地位址轉換成適用於應用程式202的位址系統的位址及/或將待經由網路傳輸的IP封包的源位址轉換成適用於網路的位址系統的位址。 Data may be transmitted and/or received as a type of Internet Protocol (IP) packet, and address translation circuitry 120 may translate the network address of the IP packet (e.g., may convert the 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 program 202 and/or convert the source address of the IP packet to be transmitted via the network into The address of the addressing 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, the address translation circuit 120 may support both client-side translation (CLAT) and network address translation (NAT), which are network address translation techniques. The client converter can be used to convert the IPv4 header of the IP packet into the IPv6 header of the IP packet and/or convert the IPv6 header into the IP header format conversion technology of the IPv4 header, so that the communication device 10 can pass A network based on a specific Internet protocol (for example, IPv6 or IPv4, etc.) can freely communicate with other communication devices. Network address translation may be used to convert private IP addresses (and/or internal IP addresses associated with private networks, LANs, intranets, etc.) to public IP addresses (and/or Global IP address, such as an IP address that can be accessed across the Internet by the Internet, etc.) or conversely, an IP address conversion technology that converts a public IP address into a private IP address. The IP address value and port number of the source address and/or destination address can be changed according to NAT.

舉例而言,位址轉換電路120可將具有經轉換的網路位址(例如,目的地位址等)的IP封包寫入(及/或複製到)記憶體 300的第二區AR2,但並非僅限於此。應用處理器200可基於經轉換的網路位址來存取記憶體300的第二區AR2並處理IP封包。在處理應用處理器200的IP封包的操作期間,IP封包可被複製到記憶體300的第三區AR3,但並非僅限於此。 For example, address translation circuitry 120 may write (and/or copy) IP packets with translated network addresses (eg, destination addresses, etc.) to memory The second zone AR2 of 300, but not limited to that. The application processor 200 can access the second area AR2 of the memory 300 and process the IP packet based on the converted 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 not limited thereto.

此外,根據一些示例性實施例,當應用處理器200提供IP封包時,所述IP封包可被儲存於記憶體300的第二區AR2中,且位址轉換電路120可自記憶體300的第二區AR2讀取IP封包並轉換IP封包的網路位址。具有經轉換的網路位址的IP封包可被儲存於通訊處理器100的專用記憶體(例如,記憶體300的第一區AR1)中,但並非僅限於此。 In addition, 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 translation circuit 120 may be transferred from the second area AR2 of the memory 300. Area 2 AR2 reads the IP packet and converts the network address of the IP packet. The IP packet with the converted network address can be stored in the dedicated memory of the communication processor 100 (eg, 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 mentioned above, when the communication processor 100 transmits IP packets to the application processor 200 and/or receives IP packets from the application processor 200, since the hardware-based address translation circuit 120 performs network address translation, the application The processor 200 may not need to perform additional operations for NAT. Therefore, the load of the application processor 200 can be reduced, and the times of writing (and/or copying) the IP packet to the memory 300 or reading the IP packet from the memory 300 can be reduced.

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

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

經由網路傳輸及接收的IP封包可包括標頭以及有效載荷 (payload)等。舉例而言,第一IP封包PK0可包括第一標頭HD0以及第一有效載荷PL0。標頭可包括網路位址(以下稱為IP位址)以及控制資訊,且有效載荷可包括資料。 IP packets transmitted and received over the network can include headers and payloads (payload) etc. For example, the first IP packet PK0 may include a first header HD0 and a first payload PL0. The header may include a network address (hereinafter referred to as IP address) and control information, and the payload may include data.

經由網路接收的IP封包PK0至PKN-1可被儲存於第一記憶體310中,其中N為自然數。舉例而言,第一記憶體310可為圖1所示的記憶體300的第一區AR1,亦即,通訊處理器100的專用區等。 The IP packets PK0 to PKN-1 received via the network can be stored in the first memory 310, wherein 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 headers HDs of the IP packets PK1 to PKN-1 stored in the first memory 310 can be read, and the read headers 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 store the header HDs in the local memory 123, the address and length information is obtained based on the descriptor information indicating 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 SRAM or register. However, exemplary embodiments of the inventive concepts are not limited thereto, and the local memory 123 may be implemented by various memories. The local memory 123 can also be called a local buffer. Although FIG. 2 illustrates an example in which the local memory 123 is included in the address conversion circuit 120, exemplary embodiments of inventive concepts are not limited thereto. In another exemplary embodiment, the local memory 123 can be an embedded memory of the communication processor (refer to 100 in FIG. 1 ), and can also be provided separately from the address conversion circuit 120. Memory.

第一轉換器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 function as a pre-processor, and the second converter 122 can function as a post-processor. The first converter 121 may operate before the second converter 122, and the second converter 122 may 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 memory 123 and determine, for example, whether it is desired 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 can convert the header to another IP version (eg, another IP protocol version, such as IPv4, IPv6, etc.), for example, by changing the format of the header to another IP version. The formats of the headers HD0 to HDN-1 are converted into formats, and the IP version is changed to another IP version. The header may include various fields (eg, a plurality of fields), and when changing the format of the header, 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 (Internet protocol version 4, IPv4) header format included in the header of the IP packet into an Internet Internet protocol version 6 (Internet protocol version 6, IPv6) header format and/or convert the IPv6 header format into the IPv4 header format. Changed headers can be stored again in the local domain memory 123. For example, when the network supports the IPv6 address system and the host (for example, the application program 202 in FIG. 1, etc.) The IPv6 address included in the header of the IP packet is converted into 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 translator 122 can perform IP address translation. The second converter 122 can read headers such as HD0 to HDN-1 (or headers changed by the first converter 121) from the local memory 123, and determine whether it is desired and/or necessary to convert the header HD0 to the IP address of 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 can change the address value of the transport protocol in the IP address (e.g., indicating the source bit address and/or the value of the destination address) and port number (for example, port number of Transmission Control Protocol (TCP) or User Datagram Protocol (user datagram protocol, UDP) etc.).

在至少一個示例性實施例中,第二轉換器122可支援NAT功能並將公用IP位址轉換成私用IP位址及/或將私用IP位址轉換成公用IP位址。舉例而言,當通訊裝置10執行連系(tethering)及/或作為路由器運作時,第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址。經改變的標頭可被再次儲存於局域記憶體123中。 In at least one exemplary embodiment, the second translator 122 can support a NAT function and translate the public IP address into the private IP address and/or convert the private IP address into the 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 in the local memory 123 again.

可藉由改變(例如,轉換、產生新的標頭等)第一轉換器121的IP版本及/或藉由改變第二轉換器122的IP位址值而改變標頭HD0至HDN-1,且經改變的標頭(例如,NHD0至NHDN-1(或NHDs))可被儲存於(及/或複製到)第二記憶體320中。舉 例而言,第二記憶體320可為圖1所示的記憶體300的第二區AR2(即,共用處理器100等)與應用處理器200之間的共享區。在至少一個示例性實施例中,經改變的標頭NHDs可以例如DMA方式自局域記憶體123讀取,並儲存於第二記憶體320中。同時,IP封包PK0至PKN-1的有效載荷(例如,PL0至PLN-1(或PLs))可以DMA方式自第一記憶體310讀取並儲存於第二記憶體320中。因此,具有經轉換的IP位址的IP封包PK0a至PKN-1a可被儲存於第二記憶體320中。應用處理器200可存取第二記憶體320並處理具有經轉換的位址的IP封包PKs(亦即IP封包PK0a至PKN-1a)。 The headers HD0 to HDN-1 may be changed by changing (e.g. converting, generating new headers, etc.) the IP version of the first converter 121 and/or by changing the IP address value of the second converter 122, And the changed headers (eg, NHD0 to NHDN-1 (or NHDs)) can be stored (and/or copied) in the second memory 320 . raise 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 , etc.) and the application processor 200 . In at least one exemplary embodiment, the changed header NHDs can be read from the local memory 123 and stored in the second memory 320 , for example, by DMA. Meanwhile, the payloads of the IP packets PK0 to PKN-1 (eg, PL0 to PLN-1 (or PLs)) can be read from the first memory 310 and stored in the second memory 320 in a DMA manner. Therefore, the IP packets PK0a to PKN-1a with 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 PKs (ie, IP packets PK0a to PKN-1a) with translated addresses.

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

圖3是根據至少一個示例性實施例的IP封包PK的結構 的圖式。 Figure 3 is a structure of an IP packet PK according to at least one exemplary embodiment schema.

參照圖3,根據至少一個示例性實施例,IP封包PK可包括標頭HD及/或有效載荷PL等,但並非僅限於此。標頭HD可包括IP標頭H1及/或TCP標頭H2(或UDP標頭等),且有效載荷PL可包括資料DT,資料DT被提供至應用程式及/或由應用程式產生。在圖2中,IP封包PK的IP標頭H1以及TCP標頭H2可儲存於局域記憶體123中。第一轉換器121可改變IP標頭H1以改變IP版本,且IP標頭H1以及TCP標頭H2可被改變使得第二轉換器122可轉換IP位址。 Referring to FIG. 3 , according to at least one exemplary embodiment, the IP packet PK may include a header HD and/or a payload PL, etc., but is not limited thereto. The header HD may include an IP header H1 and/or a TCP header H2 (or UDP header, etc.), and the payload PL may include data DT provided to and/or generated by the application. In FIG. 2 , the IP header H1 and the TCP header H2 of the IP packet PK can be stored in the 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 so that the second converter 122 can convert the IP address.

圖4A及圖4B示出根據一些示例性實施例的IP封包的IP標頭。圖4A示出IPv4封包的標頭,且圖4B示出IPv6封包的基本標頭。 4A and 4B illustrate an IP header of an IP packet, according to some example embodiments. Figure 4A shows the header of an IPv4 packet, and Figure 4B shows the basic header of an IPv6 packet.

參照圖4A,IPv4封包的標頭H1_IPv4(以下稱為IPv4標頭)可包括用於版本、IP標頭長度IHL、服務類型ToS、總長度、辨識符、旗標(flag)、片段偏移(fragment offset)、存活時間(time-to-live)、協定、標頭核對和、源位址、目的地位址、選項及填充(padding)的相應欄位,但並非僅限於此。源位址以及目的地位址中的每一者可具有32位元的長度,但並非僅限於此,且選項及填充的長度可為可變的。 Referring to FIG. 4A, the header H1_IPv4 of the IPv4 packet (hereinafter referred to as the IPv4 header) may include a version, an IP header length IHL, a service type ToS, a total length, an identifier, a flag (flag), a segment offset ( fragment offset), time-to-live, protocol, header checksum, source address, destination address, options, and corresponding fields for padding, but not limited to. Each of the source address and the destination address can have a length of 32 bits, but is not limited to, and the length of options and padding can be variable.

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

參照圖4A及圖4B,IPv4標頭H1_IPv4可包括十二個基本欄位以及二個可選欄位,且IPv6標頭H1_IPv6可包括八個基本欄位,但並非僅限於此。然而,除基本標頭(即,IPv6標頭H1_IPv6)以外,IPv6封包可更包括擴展標頭。在IPv6標頭H1_IPv6中,下一標頭欄位可指下一標頭的類型等。可在下一標頭中被指示的標頭可為IPv6擴展標頭或TCP(或UDP等)標頭,其為上層標頭。當不使用擴展標頭時,TCP(或UDP等)標頭可位於下一標頭中。 4A and 4B, the IPv4 header H1_IPv4 may include twelve basic fields and two optional fields, and the IPv6 header H1_IPv6 may include eight basic fields, but not limited thereto. However, in addition to the basic header (ie, the IPv6 header H1_IPv6), the IPv6 packet may further include an extended header. In the IPv6 header H1_IPv6, the next header field may refer to the type of the next header, etc. A header that may be indicated in the next header may be an IPv6 extension header or a TCP (or UDP, etc.) header, which is an upper layer header. When the extension header is not used, the TCP (or UDP, etc.) header can be located in the next header.

IPv4標頭H1_IPv4以及IPv6標頭H1_IPv6可相等地包括用於版本、源位址以及目的地位址等的欄位。然而,如上所述,IPv6標頭H1_IPv6的源位址以及目的地位址中的每一者的長度(即,128位元)可為IPv4標頭H1_IPv4的源位址以及目的地位址中的每一者的長度(即,32位元)的四倍。 The IPv4 header H1_IPv4 and the IPv6 header H1_IPv6 may equally include fields for version, source and destination addresses, and the like. However, as described above, the length (i.e., 128 bits) of each of the source and destination addresses of the IPv6 header H1_IPv6 may be each of the source and destination addresses of the IPv4 header H1_IPv4 four times the length of the previous one (ie, 32 bits).

在將IPv4標頭H1_IPv4轉換成IPv6標頭H1_IPv6時,可刪除在IPv4標頭H1_IPv4中所包括的用於IP標頭長度IHL、辨識符、旗標、片段偏移、標頭核對和、選項以及填充等的欄位,且可添加用於流標號的欄位。相反地,在將IPv6標頭H1_IPv6轉換成IPv4標頭H1_IPv4時,可刪除用於流標號的欄位,且可添加用於IP標頭長度IHL、辨識符、旗標、片段偏移、標頭核對和、選項以及填充等的欄位。IPv4標頭H1_IPv4的用於服務類型ToS、總長度、協定、存活時間的欄位與IPv6標頭H1_IPv6的用於流量 類別、有效載荷長度、下一標頭以及跳限制的欄位可彼此轉換。 When converting the IPv4 header H1_IPv4 into the IPv6 header H1_IPv6, the IP header length IHL, identifier, flag, fragment offset, header checksum, options, and fields for filling etc., and may add fields for flow labels. Conversely, when converting the IPv6 header H1_IPv6 to the IPv4 header H1_IPv4, the fields for the flow number can be deleted, and the fields for the IP header length IHL, identifier, flag, fragment offset, header Fields for checksums, options, fills, etc. Fields of IPv4 header H1_IPv4 for Type of Service, Total Length, Protocol, Time To Live and IPv6 header H1_IPv6 for traffic The fields of category, payload length, next header, and hop limit are interchangeable with each other.

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

圖5示出根據至少一個示例性實施例的IP封包的TCP標頭。 Figure 5 illustrates a TCP header of an IP packet, according to at least one example embodiment.

參照圖5,TCP標頭H2_TCP可包括用於源埠、目的地埠、序列號、確認號(acknowledgement number)、資料偏移、保留欄位「保留(Reserved)」、6-位元旗標、視窗大小、TCP核對和、緊急指示符(urgent pointer)、選項及/或填充等的相應欄位。類似於TCP標頭H2_TCP,作為傳輸協定的UDP標頭可包括用於源埠、目的地埠、UDP長度及/或UDP核對和等的相應欄位。 Referring to FIG. 5, the TCP header H2_TCP may include a source port, a destination port, a sequence number, an acknowledgment number (acknowledgment number), a data offset, a reserved field "Reserved", a 6-bit flag, Corresponding fields for window size, TCP checksum, urgent pointer, options and/or padding, etc. Similar to the TCP header H2_TCP, the UDP header as the transport protocol may include corresponding fields for source port, destination port, UDP length and/or UDP checksum, and so on.

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

圖6A是根據至少一個示例性實施例的位址轉換電路120的第一轉換器121的實施實例的方塊圖,且圖6B是根據至少一個示例性實施例的一種操作圖6A的第一轉換器121的方法的流程圖。將闡述其中第一轉換器121將IPv6標頭轉換成IPv4標頭的情形作為實例。 FIG. 6A is a block diagram of an implementation example of the first converter 121 of the address conversion circuit 120 according to at least one exemplary embodiment, and FIG. 6B is an operation of the first converter of FIG. 6A according to at least one exemplary embodiment. 121 is a flowchart of the method. A case where the first converter 121 converts the IPv6 header into the 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 of the first converter 121 , the IP converter 12 and/or the IP header checksum calculator 13 may be implemented by hardware logic circuits, but is 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執行標頭格式轉換。 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 may read the IP header H1 from the local memory 123 . The first converter 121 may 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 may analyze the read header HD and determine whether IP version conversion is desired and/or necessary ( S120 ). The first filter 11 may determine the IP version of the header HD based on desired and/or predetermined filter settings (e.g., desired and/or default fields), and determine whether it is desired and/or necessary to change Header format for 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 into an IPv4 header based on expected 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 that it is desirable and/or necessary to convert the header format of 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 IP version conversion is desired and/or necessary, the IP converter 12 may change the IP header format of the header HD (S130). To change the IP header format, the IP converter 12 may select the fields to be changed and change the selected fields. The IP converter 12 can be based on, for example, stateless Internet protocol/Internet control message protocol (Internet protocol/Internet control message protocol, IP/ICMP) conversion (SSIT), network address translation-protocol conversion (network address translation) -protocol translation (NAT-PT) and/or bump-in-the-stack (BIS) to perform IP header format conversion.

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

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

第一轉換器121可將具有經改變的標頭格式的標頭NHD儲存於局域記憶體123中(S150)。舉例而言,第一轉換器121可將自IPv6標頭轉換為IPv4標頭的標頭NHD儲存於局域記憶體123中。 The first converter 121 may store the header NHD with 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 into 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 IP version conversion is not desired and/or unnecessary, header format conversion for the header HD may be ended. Can Then, header format conversion including the above operations S110 to S150 is performed on the headers HD0 to HDN-1 stored in the local memory 123 . Although FIG. 6A shows a situation in which the IPv6 headers HD0 to HDN-1 of the local memory 123 are converted into new IPv4 headers NHD0 to NHDN-1, exemplary embodiments of the inventive concept are not limited thereto. As described above, the headers HD0 to HDN-1 may 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 (see 310 in FIG. 2 ) in a DMA manner. 320). In addition, IP address translation may be performed on the converted headers HD0 to HDN-1 by the second translator (see 122 in FIG. 2 ).

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

參照圖7A,第二轉換器122可包括第二過濾器21、位址轉換器22、IP標頭核對和計算器23及/或TCP標頭核對和計算器24等,但並非僅限於此。第二過濾器21、位址轉換器22、IP標頭核對和計算器23及TCP標頭核對和計算器24可利用硬體邏輯電路實施,但並非僅限於此。在至少一個示例性實施例中,IP標頭核對和計算器23及TCP標頭核對和計算器24可由一個標頭核對和計算電路實施,但並非僅限於此。 7A, the second converter 122 may include a second filter 21, an address converter 22, an IP header checksum calculator 23 and/or a TCP header checksum calculator 24, etc., but is not limited thereto. The second filter 21 , the address converter 22 , the IP header checksum calculator 23 and the TCP header checksum calculator 24 can be implemented by hardware logic circuits, but is 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 one header checksum calculator circuit, but 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等。 7A and 7B, the second converter 122 can read and store in the local Header HD in 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 the IP header H1 and the TCP header H2 and the like. In operation S210 , the second converter 122 may read the IP header H1 and the TCP header H2 from the local memory 123 .

第二轉換器122可執行以下所述的操作並轉換在所讀取的標頭HD中所包括的IP位址。第二轉換器122可將經由網路接收的IP封包的公用IP位址轉換成私用IP位址及/或將待經由網路傳輸的IP封包(即,由應用處理器提供的IP封包)的私用IP位址轉換成用於網路的公用IP位址。 The second converter 122 may 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 convert the IP packet to be transmitted via the network (ie, the IP packet provided by the application processor) Convert your private IP address to a public IP address for your 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 may analyze the read header HD and determine whether it is desired and/or necessary to perform IP address conversion (eg, conversion of address values, etc.) ( S220 ). The second filter 21 may filter the header HD based on desired and/or predetermined filter settings, and determine whether IP address translation is desired and/or necessary. In at least one example embodiment, a source address and/or a destination address of an IP address may be included in a filter setting. For example, when the source address of an IP packet to be transmitted over a network is not included in the public IP address field (e.g., IP address range and/or subnet mask) used for the network, the The second filter 21 may determine that IP address translation is desired and/or necessary. In another example, when the local IP address area (eg, IP address range and/or subnet mask) provided by the communication device 10 of FIG. 1 does not include the IP packet received via the network In case of destination address, the second filter 21 may determine that IP address translation is desired and/or necessary.

若第二過濾器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 desirable and/or necessary to perform IP address forwarding If it is changed, the address converter 22 can change the address value and port number included in the header HD (S230). As described with reference to FIGS. 4A-5 , in the fields for the source address and/or destination address of an IP header (eg, the IPv4 header H1_IPv4 of FIG. 4A or the IPv6 header H1_IPv6 of FIG. 4B ), An address value is included, and a port number may be included in the field for source port or destination port of a TCP header or UDP header (eg, TCP header H2_TCP of FIG. 5 ). The address translator 22 can change the source address value and source port number and/or change the destination address value and destination port number. Therefore, the address translator 22 can translate the public IP address into the private IP address and/or convert the private IP address into the public IP address. The address translator 22 can store the relationship between the IP address and the translated IP address in the translation table, that is, the relationship between the private IP address and the public IP address.

圖8示出根據至少一個示例性實施例的轉換表TT。 FIG. 8 illustrates a conversion table TT according to at least one exemplary embodiment.

參照圖8,轉換表TT可包括可彼此對應的公用IP位址PUA與私用IP位址PRA。舉例而言,具有位址值「10.0.0.2」以及埠號「3327」的私用IP位址PRA可對應於具有位址值「135.26.32.7」以及埠號「5003」的公用IP位址PUA。具有位址值「10.0.0.3」以及埠號「3327」的私用IP位址PRA可對應於具有位址值「135.26.32.7」以及埠號「5002」的公用IP位址PUA。位址轉換器22可在IP位址轉換期間產生並使用轉換表TT。 Referring to FIG. 8 , the translation table TT may include a public IP address PUA and a private IP address PRA that may correspond to each other. For example, a private IP address PRA with address value "10.0.0.2" and port number "3327" may correspond to a public IP address PUA with address value "135.26.32.7" and port number "5003" . The private IP address PRA with address value "10.0.0.3" and port number "3327" may correspond to the public IP address PUA with address value "135.26.32.7" and port number "5002". Address translator 22 may generate and use translation 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, updating 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 checksum calculator 23 may calculate the IP header checksum based on the IP header including the changed address value, and update the IP header checksum based on the calculated value. header checksum. Also, in operation S230, since the port number is changed, the TCP header checksum calculator 24 may calculate the TCP header checksum based on the TCP header including the changed port number, and update the TCP header checksum based on the calculated value. header checksum. 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 with the changed IP address value in the local memory 123 (S250). For example, the second translator 122 may again change the IP address value from the public IP address to the header NHD of the private IP address or the IP address value from the private IP address to the public IP address instead. 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 translation is not desired and/or unnecessary, the IP address translation of the header HD may be ended. The IP address translation including the above operations S210 to S250 (ie, header translation) may be performed sequentially (or in parallel) on the headers HD0 to HDN-1 stored in the local memory 123 . Although FIG. 7A shows a situation in which the headers HD0 to HDN-1 of the local memory 123 are converted into new headers HD0 to HDN-1 with converted IP addresses, exemplary embodiments of the inventive concepts are not That's all. As described above, the headers HD0 to HDN-1 may 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 FIG. 2 320 in ) and/or the first converter (refer to 121 in FIG. 1 ) may perform header format conversion on the headers HD0 to HDN-1 stored in the local memory 123 .

圖9A及圖9B是示出根據一些示例性實施例一種轉換第二轉換器的IP位址的方法的圖式。圖9A示出在傳輸路徑中將私用IP位址轉換成公用IP位址,且圖9B示出在接收路徑中將所接收的公用IP位址轉換成私用IP位址。 9A and 9B are diagrams illustrating a method of converting an IP address of a second translator according to some exemplary embodiments. FIG. 9A shows the translation of the private IP address to the public IP address in the transmission path, and FIG. 9B shows the translation of the received public IP address to the private IP address in the reception path.

參照圖9A,自主機接收的IP封包的源IP位址S可為具有位址值「10.0.0.2」以及埠號「3327」的私用IP位址,且目的地IP位址D可為具有位址值「128.119.40.186」以及埠號「80」的公用IP位址。當源IP位址S不對應於由特定網路提供的公用IP位址區(例如,IP位址範圍及/或子網路遮罩)時,第二轉換器122(例如,第二轉換器122的位址轉換器(參照圖7A中的22))可執行將源IP位址S轉換成公用IP位址的IP位址轉換操作。 Referring to FIG. 9A, the source IP address S of the IP packet received from the host may be a private IP address with address value "10.0.0.2" and port number "3327", and the destination IP address D may be with Public IP address with address value "128.119.40.186" and port number "80". When the source IP address S does not correspond to the public IP address area (eg, IP address range and/or subnet mask) provided by the specific network, the second converter 122 (eg, the second converter The address translator of 122 (refer to 22 in FIG. 7A ) may perform an IP address translation operation of converting the source IP address S into a public IP address.

第二轉換器122可將源IP位址S的位址值「10.0.0.2」以及埠號「3327」分別改變為位址值「135.26.32.7」以及埠號「5003」,並將源IP位址S轉換為公用IP位址。可將私用IP位址以及與其對應的公用IP位址儲存於轉換表TT中。具有經轉換的源IP位址S’以及目的地IP位址D的IP封包可經由網路被傳輸至目的地(例如,伺服器或另一電子裝置等)。 The second converter 122 can change the address value "10.0.0.2" and the port number "3327" of the source IP address S to the address value "135.26.32.7" and the port number "5003" respectively, and change the source IP address S The address S is converted to a public IP address. The private IP address and the corresponding public IP address can be stored in the translation table TT. The IP packet with the converted source IP address S' and destination IP address D can be transmitted to the destination (eg, 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位址轉換操作。 9B, the source IP address S of the IP packet received from the network can be a public IP address with address value "128.119.40.186" and port number "80", and the destination IP address D can be with Address value "135.26.32.7" and port number "5003" public IP address. When the destination IP address D does not correspond to the private IP address area (for example, IP address range and/or subnet mask) provided by the local area network, the second converter 122 can perform the conversion of the public IP address to An IP address translation operation that translates an IP address 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 refer to the translation table TT to change the address value "135.26.32.7" and the port number "5003" of the destination IP address D into the address value "10.0.0.2" and the port number "3327", respectively, And convert the destination IP address D into the source IP address. The IP packet with the translated destination IP address D' and source IP address S can be transmitted to the host.

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

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

第一轉換器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 the first filter 11 and/or the IP converter 12 and the like. Operations of the first filter 11 and the IP converter 12 of the first converter 121 a may be the same as those of the first filter 11 and the IP converter 12 shown in FIG. 6A . In addition, the second converter 122a may include a second filter 21 and/or an address converter 22 and the like. Operations of the second filter 21 and the address converter 22 of the second converter 122 a may be the same as those of the second filter 21 and the address converter 22 shown in FIG. 7A .

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

標頭核對和計算器123a可包括IP標頭核對和計算器31及/或TCP標頭核對和計算器32等。當第一轉換器121a轉換IP標頭的格式時,IP標頭核對和計算器31可基於經轉換的具有所述格式的IP標頭而計算IP標頭核對和,並更新TCP標頭核對和。 The header checksum calculator 123a may include an IP header checksum calculator 31 and/or a 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 may calculate the IP header checksum based on the converted IP header having the format, and update the TCP header checksum .

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

在至少一個示例性實施例中,位址轉換電路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 conversion circuit 120a may not include a header checksum calculator, but an additional header checksum calculator 123a The header checksum may be calculated during header format conversion by the first converter 121a and during IP address conversion by the second converter 122a, but exemplary embodiments are not limited thereto.

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

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

處理器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 exemplary embodiment, the processor 110 may be implemented by a multi-core processor (eg, a dual-core processor or a quad-core processor), or may be multi-processors.

RAM 130可用作操作記憶體、緩衝記憶體及/或快取記憶體等。舉例而言,用於控制通訊處理器100a的軟體或韌體可被裝載至RAM 130。RAM 130可由揮發性記憶體(例如,DRAM以及SRAM等)及/或電阻式記憶體(例如,PRAM、MRAM、FeRAM及ReRAM等)實施。 The RAM 130 can be used as operating memory, buffer memory and/or cache memory, etc. For example, software or firmware for controlling the communication processor 100 a can be loaded into the RAM 130 . 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 modem 150 can convert IP packets into signals suitable for transmission over the network and/or convert signals received over the network into IP packets. The modem 150 can encode and modulate the IP packets and convert the IP packets into transmission signals. In addition, the modem 150 can demodulate and decode received signals received via the network and convert the received signals into IP packets. Modem 150 may 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 transmission signals to the network and/or receive signals from the network through the antenna.

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

記憶體300可由不同於通訊處理器(例如,通訊晶片)100a的裝置(例如,記憶體晶片或記憶體模組等)實施。然而,發明概念的示例性實施例並非僅限於此。在至少一個示例性實施例中,記憶體300可為通訊處理器100a的嵌式記憶體。經由數據機150接收或待經由數據機150接收的IP封包可儲存於記憶體300中。在至少一個示例性實施例中,通訊處理器100a以及應用處理器(參照圖1中的200)可存取記憶體300。記憶體300可包括通訊處理器100a的專用區、共享區以及應用處理器200的專用區。 The memory 300 may be implemented by a device (eg, a memory chip or a memory module, etc.) other than the communication processor (eg, a communication chip) 100a. However, exemplary embodiments of inventive concepts are not limited thereto. In at least one exemplary embodiment, the memory 300 may be an embedded memory of the communication processor 100a. IP packets received via the modem 150 or to be received via the modem 150 can be stored in the memory 300 . In at least one exemplary embodiment, the communication processor 100 a and the application processor (refer to 200 in FIG. 1 ) can access the memory 300 . The memory 300 may include a dedicated area of the communication processor 100 a , 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 communication processor 100 a and control data transfer between components of the communication processor 100 a directly without the intervention of the processor 110 . In at least one exemplary embodiment, the DMA controller 140 can transmit the header of the IP packet stored in the memory 300 to the address conversion circuit 120 and/or transmit the header converted by the address conversion circuit 120 to the memory Body 300. In addition, the DMA controller 140 can transfer the payload of the IP packet in multiple areas of the memory 300 (eg, the dedicated area of the communication processor 100a, the shared area, and the dedicated area of the application processor 200).

位址轉換電路120可轉換經由網路傳輸及接收的IP封包的網路位址。參照圖2及圖10闡述的位址轉換電路120以及120a可被應用至通訊處理器100a。 The address conversion circuit 120 can convert the network addresses of the IP packets transmitted and received via the network. The address conversion circuits 120 and 120a described with reference to FIG. 2 and FIG. 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 and convert the network address included in the header through the control of the DMA controller 140 . The address conversion circuit 120 can convert the format of the header (ie, 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 translation circuit 120 operates as a receive path, the address translation circuit 120 may convert the format of the header and then perform IP address translation. When the address conversion circuit 120 operates as a transmission path, the address conversion circuit 120 may perform IP address conversion and then convert the format of the header. The address conversion circuit 120 can store the converted header in the shared area of the memory 300 (or memory shared with the application processor) and/or convert the converted header under the control of the DMA controller 140 Stored in the dedicated area of the communication processor 100a. For example, when the address conversion circuit 120 operates as a receiving path, the address conversion circuit 120 can store the converted header in the shared area of the memory 300 so that the application processor can use the converted header. When the address conversion circuit 120 operates as a transmission path, the address conversion circuit 120 can store the converted header in the 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 modem 150 .

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

圖12是根據至少一個示例性實施例的通訊裝置10a的方塊圖。 FIG. 12 is a block diagram of a communication device 10a according to 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 be connected via a network (for example, global network) 20 transmits data (eg, IP packets) to and receives data (eg, IP packets) from at least one electronic device 30 and/or server 40 , etc. The communication device 10a can also function as a router. The communication device 10a can transmit the IP packet received through the network 20 to another electronic device 50 through the local area network. In addition, the communication device 10 a can transmit the IP packets received from 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 10 a may include a communication processor 100 , an application processor 200 , a memory 300 , an input/output (I/O) device 400 and/or a DMA controller 500 , etc., but is not limited thereto. In addition, the communication device 10a may further include other components. The components of the communication device 10 a can transmit and receive data through the bus 600 .

輸入/輸出元件400可提供使用者介面並包括輸入單元(例如,觸控板、小鍵盤及/或輸入按鈕等)及/或輸出單元(例如,顯示器及揚聲器等)。 The input/output element 400 can provide a user interface and include an input unit (eg, a touchpad, a keypad, and/or input buttons, 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 10 a and control data transfer between components of the communication device 10 a directly without the intervention of the application processor 200 . In at least one exemplary embodiment, the DMA controller 500 can control IP packets to be transmitted among the communication processor 100 , the application processor 200 and the memory 300 . In addition, the DMA controller 500 can transfer 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 the communication processor 100 and the application processor 200 may 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 communication processor 100 can convert the network address of the IP packet into an address system that can be recognized by the application program 202 of the application processor 200 or other electronic devices 50 . The application processor 200 can read the IP packet including the translated network address from the memory 300, and the application program 202 can process the IP packet. In addition, other electronic devices 50 can process the IP packets including the converted network addresses via the local area network 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 devices 50 into an address system conforming to the network 20, and include the converted network address The IP packets are transmitted to the network 20 .

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

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

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

位址轉換電路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 FIGS. 2 to 9B , the address translation circuit 120 can receive the header of the IP packet and convert the header format or the IP address. The address conversion circuit 120 can copy (or store) the IP packets (for example, IP packets NPK0 to NPKN-1) including the converted network addresses to the second memory 320 (for example, a 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的一部分。 Subsequently, the IP packets NPK0 to NPKN-1 can be processed by the software domain. 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 a part of the third memory 330 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 , the IP packets may be received via the network (S21), and the received IP packets PK0 to PKN-1 may 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 (eg, 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 domain. The driver 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 can be a part of the third memory 330a dedicated to the application processor AP, but it is not limited thereto. Meanwhile, the addressing system of IP packets PK0 to PKN-1 may not conform to the address system configured to process IP packets PK0 Addressing system to application 202a of PKN-1. Therefore, the header converter 204a (eg, a resident program) can read the IP packets PK0 to PKN-1 from the socket buffer (S24) and/or convert the network addresses of the IP packets PK0 to PKN-1 (S25). The header converter 204a and/or the driver 203a may re-copy the IP packets NPK0 to NPKN-1 with the converted network addresses to the socket buffer (S26). Then, 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封包的處理速度。 When comparing the movement of an IP packet in the communication device shown in FIG. 13A according to at least one exemplary embodiment with the movement of an IP packet in the communication device shown in FIG. 13B according to a comparative example, according to at least one example In the communication device of the exemplary embodiment, the hardware-based address translation circuit 120 can perform network address translation in advance, so that the application processor AP does not need to perform address translation. Therefore, the processing and/or memory load of the application processor AP can be reduced. In addition, the number of times the 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 according to at least one exemplary embodiment.

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

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

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

RAM 220可暫時性地儲存程式(例如,作業系統、應用程式、其電腦可讀取指令等)、資料或指令。舉例而言,儲存於記憶體300中的程式及/或資料可藉由CPU 210或啟動碼的控制而暫時性地儲存於RAM 220中。RAM 220可由DRAM、SRAM等實施。 The RAM 220 can temporarily store programs (eg, operating systems, application programs, computer-readable instructions thereof, etc.), data or instructions. For example, the programs and/or data stored in the memory 300 can be temporarily stored in the RAM 220 under the control of the CPU 210 or the boot code. RAM 220 may 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 200 a and control data transfer between components of the application processor 200 a directly without the intervention of the CPU 210 .

為執行有線及/或無線通訊,數據機240可調變將根據有線及/或無線環境進行傳輸的資料並再次儲存所接收的資料。數據機240可與RF晶片245執行數位通訊,但並非僅限於此。 In order to perform wired and/or wireless communication, the modem 240 can adjust the data to be transmitted according to the wired and/or wireless environment and store the received data again. The modem 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 through the antenna into a low-frequency signal, and transmit the converted low-frequency signal to the modem 240 . In addition, the RF chip 245 can convert the low frequency signal received from the modem 240 into a high frequency signal and transmit the converted high frequency signal to the wireless network through the antenna. In addition, the RF chip 245 can be used for The signal is amplified and/or filtered.

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

如上所述,根據至少一個示例性實施例的應用處理器200a可包括被配置成執行通訊功能的一些組件(例如,數據機240以及位址轉換電路250)。在此種情形中,由於位址轉換電路250提前執行網路位址轉換,因此CPU 210可不需要執行位址轉換。CPU 210的負載可被降低,且IP封包被複製到記憶體300的次數可被減少,且因此可增大IP封包的處理速度。因此,可改善應用處理器200a的效能。 As described above, the application processor 200a according to at least one example embodiment may include some components (eg, the modem 240 and the address conversion circuit 250 ) configured to perform communication functions. In this case, since the address translation circuit 250 performs network address translation in advance, the CPU 210 may not need to perform address translation. The load of the CPU 210 can be reduced, 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 inventive concepts have been particularly shown and described with reference to various exemplary embodiments thereof, it should be understood that various changes in form and details could be made without departing from the spirit and scope of the following claims.

10:通訊裝置 10: Communication device

100:通訊處理器/共用處理器 100: communication processor/shared processor

120:位址轉換電路 120: Address conversion circuit

200:應用處理器 200: application processor

201:作業系統(OS) 201: Operating system (OS)

202:應用程式 202: Application

300:記憶體 300: Memory

AP:應用處理器 AP: application processor

AR1:第一區 AR1: Area 1

AR2:第二區 AR2: Second Area

AR3:第三區 AR3: the third area

CP:通訊處理器 CP: communication processor

Claims (23)

一種通訊系統,被配置成經由網路收發至少一個封包,所述通訊系統包括:數據機電路,被配置成將所述至少一個封包調變成傳輸訊號以傳輸至所述網路,以及將自所述網路接收的訊號解調變成所述至少一個封包;以及位址轉換電路,被配置成轉換所述至少一個封包的網路位址,轉換所述至少一個封包的所述網路位址包括:自其中儲存有所述至少一個封包的外部記憶體接收所述至少一個封包的標頭,並將所述至少一個封包的所述標頭儲存於嵌式記憶體中,轉換所述至少一個封包的所述標頭的格式,以及轉換所述至少一個封包的所述標頭中所包括的位址。 A communication system configured to transmit and receive at least one packet via a network, the communication system comprising: a modem circuit configured to convert the at least one packet into a transmission signal for transmission to the network, and transmit from the The signal demodulation received by the network becomes the at least one packet; and the address conversion circuit is configured to convert the network address of the at least one packet, and the conversion of the network address of the at least one packet includes : receiving the header of the at least one packet from the external memory in which the at least one packet is stored, and storing the header of the at least one packet in the embedded memory, converting the at least one packet format of the header, and converting an address included in the header of the at least one packet. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路包括第一轉換器電路以及第二轉換器電路。 In the communication system described in item 1 of the scope of the patent application, the address conversion circuit includes a first converter circuit and a second converter circuit. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的所述標頭自根據網際網路協定(IP)的一種版本的第一格式改變為根據所述網際網路協定的另一版本的第二格式。 The communication system according to claim 1, wherein the address translation circuit is further configured to convert the header of the at least one packet from the first version according to a version of the Internet Protocol (IP) The format is changed to a second format according to another version of the internet protocol. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的網際網路協定(IP) 位址自公用網際網路協定位址轉換成私用網際網路協定位址,或將所述網際網路協定位址自私用網際網路協定位址轉換成公用網際網路協定位址。 The communication system as described in item 1 of the scope of the patent application, wherein the address translation circuit is further configured to convert the Internet protocol (IP) of the at least one packet into Addresses are converted from public Internet Protocol addresses to private Internet Protocol addresses, or the Internet Protocol addresses are converted from private Internet Protocol addresses to public Internet Protocol addresses. 如申請專利範圍第1項所述的通訊系統,其中,因應於所述位址轉換電路作為接收路徑運作,所述位址轉換電路更被配置成將經改變的標頭儲存於共享記憶體中;以及所述共享記憶體被配置成在所述位址轉換電路與外部應用處理器之間共享。 The communication system according to claim 1, wherein, in response to the address translation circuit operating as a receiving path, the address translation circuit is further configured to store the changed header in a shared memory ; and the shared memory is configured to be shared between the address translation circuit and an external application processor. 如申請專利範圍第5項所述的通訊系統,其中所述位址轉換電路更被配置成將所述至少一個封包的有效載荷直接儲存於所述共享記憶體中而不將所述有效載荷儲存於所述嵌式記憶體中。 The communication system as described in item 5 of the scope of the patent application, wherein the address conversion circuit is further configured to directly store the payload of the at least one packet in the shared memory without storing the payload in the embedded memory. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成:基於期望的第一過濾項判斷是否期望進行格式轉換;因應於期望進行所述格式轉換而將所述標頭中所包括的多個欄位中的至少一些欄位改變成與目標網際網路協定版本對應;以及基於經轉換的所述格式而更新所述標頭的網際網路協定標頭核對和欄位。 The communication system as described in item 1 of the scope of the patent application, wherein the address conversion circuit is further configured to: judge whether format conversion is desired based on the desired first filter item; changing at least some of the plurality of fields included in the header to correspond to a target internet protocol version; and updating an internet protocol header check of the header based on the transformed format and fields. 如申請專利範圍第1項所述的通訊系統,其中所述位址轉換電路更被配置成: 基於期望的第二過濾項判斷是否期望進行位址轉換;基於判斷是否期望進行所述位址轉換的結果而改變所述標頭中所包括的網際網路協定(IP)位址值以及埠號;以及基於經改變的所述網際網路協定位址值以及經改變的所述埠號而更新所述標頭的網際網路協定標頭核對和欄位以及傳輸協定標頭核對和欄位。 The communication system described in item 1 of the scope of the patent application, wherein the address conversion circuit is further configured as: Judging whether address translation is desired based on the desired second filter item; changing an Internet Protocol (IP) address value and port number included in the header based on a result of judging whether it is desired to perform the address translation ; and updating the IP header checksum field and the transport protocol header checksum field of the header based on the changed IP address value and the changed port number. 如申請專利範圍第1項所述的通訊系統,其中因應於所述位址轉換電路作為接收路徑運作,所述位址轉換電路更被配置成對所述至少一個封包進行預處理並對所述至少一個封包進行後處理。 The communication system as described in claim 1, wherein in response to the address translation circuit operating as a receiving path, the address translation circuit is further configured to preprocess the at least one packet and process the At least one packet is post-processed. 如申請專利範圍第1項所述的通訊系統,其中因應於所述位址轉換電路作為傳輸路徑運作,所述位址轉換電路更被配置成對所述至少一個封包進行預處理並對所述至少一個封包進行後處理。 The communication system described in claim 1 of the scope of the patent application, wherein in response to the operation of the address translation circuit as a transmission path, the address translation circuit is further configured to pre-process the at least one packet and process the At least one packet is post-processed. 一種通訊裝置,包括:記憶體;通訊處理器,被配置成轉換經由網路接收的第一封包的網路位址,並將包括經轉換的所述網路位址的第二封包儲存於所述記憶體中;以及應用處理器,被配置成自所述記憶體接收所述第二封包,驅動應用程式,並處理所述第二封包,其中,所述第一封包包括標頭以及有效載荷,且所述第一封包儲存 於第一專用記憶體中;所述通訊處理器包括內部緩衝器;且所述通訊處理器更被配置成將所述第一封包的所述標頭複製到所述內部緩衝器,並轉換所述第一封包的所述標頭中所包括的所述網路位址。 A communication device, comprising: a memory; a communication processor configured to convert a network address of a first packet received via a network, and store a second packet including the converted network address in the in the memory; and an application processor configured to receive the second packet from the memory, drive an application, and process the second packet, wherein the first packet includes a header and a payload , and the first packet stores in a first dedicated memory; the communication processor includes an internal buffer; and the communication processor is further configured to copy the header of the first packet to the internal buffer, and convert the The network address included in the header of the first packet. 如申請專利範圍第11項所述的通訊裝置,其中所述通訊處理器更包括:嵌式記憶體,被配置成儲存所述第一封包的標頭;第一位址轉換電路,被配置成轉換所述第一封包的所述標頭中所包括的網際網路協定標頭的網際網路協定(IP)版本;以及第二位址轉換電路,被配置成轉換在所述第一封包的所述標頭中所包括的網際網路協定位址。 The communication device as described in item 11 of the scope of the patent application, wherein the communication processor further includes: an embedded memory configured to store the header of the first packet; a first address conversion circuit configured to converting an Internet Protocol (IP) version of an Internet Protocol header included in the header of the first packet; and a second address translation circuit configured to convert the header in the first packet The Internet Protocol address included in the header. 如申請專利範圍第12項所述的通訊裝置,其中所述第一位址轉換電路更被配置成將所述第一封包的所述標頭中所包括的IPv4標頭轉換成IPv6標頭,或將所述第一封包的所述標頭中所包括的IPv6標頭轉換成IPv4標頭。 The communication device according to claim 12, wherein the first address conversion circuit is further configured to convert the IPv4 header included in the header of the first packet into an IPv6 header, Or convert the IPv6 header included in the header of the first packet into an IPv4 header. 如申請專利範圍第12項所述的通訊裝置,其中所述第二位址轉換電路更被配置成將所述第一封包的所述標頭中所包括的公用網際網路協定位址轉換成私用網際網路協定位址。 The communication device as described in item 12 of the scope of patent application, wherein the second address conversion circuit is further configured to convert the public IP address included in the header of the first packet into Private Internet Protocol address. 如申請專利範圍第12項所述的通訊裝置,其中因應於所述第一位址轉換電路對所述第一封包執行網際網路協定版本轉換操作,所述第二位址轉換電路更被配置成對所述第一封包執行 網際網路協定位址轉換操作。 The communication device as described in claim 12 of the scope of the patent application, wherein in response to the first address conversion circuit performing an Internet protocol version conversion operation on the first packet, the second address conversion circuit is further configured paired with the first packet to perform Internet protocol address translation operations. 如申請專利範圍第11項所述的通訊裝置,其中所述應用處理器更被配置成將儲存於所述記憶體中的所述第二封包複製到第二專用記憶體。 The communication device according to 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 including a communication function, the application processor comprising: at least one processor configured to execute an application program; a memory configured to be accessed by the at least one processor; and 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 network address The second header is stored in the memory, wherein the address conversion circuit includes a buffer configured to receive the first header of the at least one packet and store the first header header; and the address conversion circuit is further configured to convert the format of the first header; and convert the address included in the first header. 如申請專利範圍第17項所述的應用處理器,其中所述位址轉換電路更被配置成更新所述至少一個封包的網際網路協定標頭核對和。 The application processor of claim 17, wherein the address translation circuit is further configured to update the IP header checksum of the at least one packet. 一種通訊系統的網路位址轉換方法,所述方法包括:利用至少一個處理器將經由網路接收的第一網際網路協定 (IP)封包儲存於第一記憶體中,所述第一網際網路協定封包包括標頭以及網路位址;利用所述至少一個處理器將儲存於所述第一記憶體中的所述第一網際網路協定封包的所述標頭複製到所述至少一個處理器的內部緩衝器中;利用所述至少一個處理器轉換所述第一網際網路協定封包中所包括的所述網路位址;以及利用所述至少一個處理器儲存第二網際網路協定封包,所述第二網際網路協定封包包括所述標頭以及經轉換的所述網路位址。 A network address translation method for a communication system, the method comprising: using at least one processor to receive a first Internet protocol address via the network The (IP) packet is stored in a first memory, and the first Internet Protocol packet includes a header and a network address; the at least one processor is used to store the first memory in the first memory Copying the header of the first IP packet into an internal buffer of the at least one processor; converting the network included in the first IP packet using the at least one processor and storing a second IP packet including the header and the converted IP address with the at least one processor. 如申請專利範圍第19項所述的方法,其中轉換所述網路位址包括:將所述標頭的當前格式轉換成第二格式;以及將所述標頭中所包括的當前網際網路協定位址轉換成第二網際網路協定位址。 The method according to claim 19, wherein converting the network address includes: converting the current format of the header into a second format; and converting the current Internet address included in the header The protocol address is converted to a second Internet Protocol address. 如申請專利範圍第20項所述的方法,其中轉換所述標頭的所述當前格式包括:基於第一過濾器設定判斷是否期望轉換所述標頭的所述當前格式;基於所述判斷的結果將所述標頭的網際網路協定標頭的格式自根據網際網路協定的一個版本的第一格式轉換成根據所述網際網路協定的另一版本的第二格式;以及 更新所述網際網路協定標頭的核對和。 The method according to claim 20, wherein converting the current format of the header includes: judging whether it is desired to convert the current format of the header based on a first filter setting; resulting in converting the format of an IP header of the header from a first format according to one version of IP to a second format according to another version of IP; and A checksum of the internet protocol header is updated. 如申請專利範圍第20項所述的方法,其中轉換所述標頭中所包括的所述當前網際網路協定位址包括:基於第二過濾器設定判斷是否期望轉換所述當前網際網路協定位址;基於所述判斷的結果改變所述標頭中所包括的網際網路協定標頭的位址值以及所述標頭中所包括的傳輸協定標頭的埠號;以及更新所述網際網路協定標頭的核對和以及所述傳輸協定標頭的核對和。 The method of claim 20, wherein converting the current IP address included in the header includes: determining whether conversion of the current IP address is desired based on a second filter setting address; change the address value of the Internet Protocol header included in the header and the port number of the Transport Protocol header included in the header based on the result of the judgment; and update the Internet A checksum of an internet protocol header and a checksum of said transport protocol header. 如申請專利範圍第19項所述的方法,更包括:利用所述至少一個處理器將所述第二網際網路協定封包複製到插口緩衝器;以及利用所述至少一個處理器執行應用程式並處理所述第二網際網路協定封包。 The method according to claim 19, further comprising: using the at least one processor to copy the second internet protocol packet to the socket buffer; and using the at least one processor to execute the application program and Process the second IP 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
??10-2017-0159685 2017-11-27
KR20170159685 2017-11-27
KR1020180120606A KR102610823B1 (en) 2017-11-27 2018-10-10 Communication system and method for network address translation
??10-2018-0120606 2018-10-10
KR10-2018-0120606 2018-10-10

Publications (2)

Publication Number Publication Date
TW201926975A TW201926975A (en) 2019-07-01
TWI791691B true TWI791691B (en) 2023-02-11

Family

ID=66845552

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107142254A TWI791691B (en) 2017-11-27 2018-11-27 Communication system, communication device, application processor and network address translation method of communication system

Country Status (3)

Country Link
KR (1) KR102610823B1 (en)
CN (1) CN109842609B (en)
TW (1) TWI791691B (en)

Families Citing this family (6)

* 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
TWI783709B (en) * 2021-10-05 2022-11-11 瑞昱半導體股份有限公司 Method for converting network packets
TWI825923B (en) * 2022-08-16 2023-12-11 皓德盛科技有限公司 Field programmable logic gate array for financial transactions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947971B1 (en) * 2002-05-09 2005-09-20 Cisco Technology, Inc. Ethernet packet header cache
TW200820682A (en) * 2006-06-14 2008-05-01 Divitas Networks Inc Content-based adaptive jitter handling
CN102255982A (en) * 2011-07-21 2011-11-23 电子科技大学 Internet protocol version 4 (IPv4)/IPv6 translation gateway and translation method
US20140215598A1 (en) * 2001-03-30 2014-07-31 Juniper Networks, Inc. Network security device
US20160118999A1 (en) * 2014-10-22 2016-04-28 Dell Products, Lp Fast Update of Data Packet Checksums

Family Cites Families (13)

* 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
CN1260920C (en) * 2002-12-19 2006-06-21 华为技术有限公司 Method for realizing network address conversion
US20050117605A1 (en) * 2003-07-22 2005-06-02 Innomedia Pte Ltd. Network address and port translation gateway with real-time media channel management
CN1275443C (en) * 2003-10-14 2006-09-13 中国科学院计算技术研究所 Method for realizing distributed application tier conversion gate-link in network processor
US7440405B2 (en) * 2005-03-11 2008-10-21 Reti Corporation Apparatus and method for packet forwarding with quality of service and rate control
US8265069B2 (en) * 2005-06-23 2012-09-11 Nokia Corporation System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and/or firewall
US8265049B2 (en) * 2008-11-10 2012-09-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for implementing generic access network functionality in a wireless communication device
JP5281912B2 (en) * 2009-01-29 2013-09-04 通研電気工業株式会社 Protocol converter and remote monitoring control system
US9160707B2 (en) * 2010-10-22 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Differentiated handling of network traffic using network address translation
CN103024089B (en) * 2011-09-20 2016-02-17 中国电信股份有限公司 Method for network address translation and equipment
CN102984300B (en) * 2012-12-13 2015-11-18 北京邮电大学 Distributed network gate system and access method in a kind of 4-6-4 hybrid protocol network
US20140181172A1 (en) * 2012-12-20 2014-06-26 Brent J. Elliott Offloading tethering-related communication processing
US8934489B2 (en) * 2013-01-31 2015-01-13 Gemtek Technology Co., Ltd. Routing device and method for processing network packet thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215598A1 (en) * 2001-03-30 2014-07-31 Juniper Networks, Inc. Network security device
US6947971B1 (en) * 2002-05-09 2005-09-20 Cisco Technology, Inc. Ethernet packet header cache
TW200820682A (en) * 2006-06-14 2008-05-01 Divitas Networks Inc Content-based adaptive jitter handling
CN102255982A (en) * 2011-07-21 2011-11-23 电子科技大学 Internet protocol version 4 (IPv4)/IPv6 translation gateway and translation method
US20160118999A1 (en) * 2014-10-22 2016-04-28 Dell Products, Lp Fast Update of Data Packet Checksums

Also Published As

Publication number Publication date
KR20190062166A (en) 2019-06-05
CN109842609A (en) 2019-06-04
CN109842609B (en) 2023-04-07
KR102610823B1 (en) 2023-12-07
TW201926975A (en) 2019-07-01

Similar Documents

Publication Publication Date Title
TWI791691B (en) Communication system, communication device, application processor and network address translation method of communication system
JP6581277B2 (en) Data packet transfer
JP4722157B2 (en) Intelligent load balancing and failover of network traffic
US11483280B2 (en) Method of translating IP packet for tethering service, communication system and electronic device for performing the same
US9325382B2 (en) Method and system of providing internet protocol (IP) data communication in a NFC peer to peer communication environment
JP4840943B2 (en) Intelligent load balancing and failover of network traffic
US20180167352A1 (en) Method and apparatus for reducing ip addresses usage of nvme over fabrics devices
US20170033992A1 (en) METHOD FOR PROCESSING VxLAN DATA UNITS
US20150163072A1 (en) Virtual Port Extender
JP2018518867A5 (en)
JP2008295043A (en) Intelligent load balancing and failover of network traffic
US20140325637A1 (en) Supporting IP Address Overlapping Among Different Virtual Networks
US20080225868A1 (en) Allowing IPv4 clients to communicate using Teredo addresses when both clients are behind a NAT
US20200204480A1 (en) Method and system for symmetric integrated routing and bridging
US10498836B2 (en) Network based service discovery via unicast messages
CN106507414B (en) Message forwarding method and device
US10749842B2 (en) Communication system and method for network address translation
CN111711705B (en) Method and device for realizing network connection based on bidirectional NAT (network Address translation) by proxy node
US8509235B2 (en) Layer-2 packet return in proxy-router communication protocol environments
US8849949B1 (en) Providing proxy service during access switch control plane software upgrade
US20080225867A1 (en) Faster NAT detection for Teredo client
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
US10250559B2 (en) Reversible mapping of network addresses in multiple network environments
WO2020258062A1 (en) Address extension apparatus and system, and movable platform
JP6123476B2 (en) Communication apparatus and communication system