KR20220160648A - Internet protocol version IPv6-based wireless network communication method and communication device - Google Patents

Internet protocol version IPv6-based wireless network communication method and communication device Download PDF

Info

Publication number
KR20220160648A
KR20220160648A KR1020227037606A KR20227037606A KR20220160648A KR 20220160648 A KR20220160648 A KR 20220160648A KR 1020227037606 A KR1020227037606 A KR 1020227037606A KR 20227037606 A KR20227037606 A KR 20227037606A KR 20220160648 A KR20220160648 A KR 20220160648A
Authority
KR
South Korea
Prior art keywords
field
packet
flow label
plaintext
ciphertext
Prior art date
Application number
KR1020227037606A
Other languages
Korean (ko)
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 KR20220160648A publication Critical patent/KR20220160648A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • H04W28/0263Traffic management, e.g. flow control or congestion control per individual bearer or channel involving mapping traffic to individual bearers or channels, e.g. traffic flow template [TFT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels

Abstract

인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법 및 통신 디바이스가 제공된다. 이 방법은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 단계 - TEID 필드는 평문 IPv6 패킷이 속하는 베어러를 표시함 -; 및 평문 IPv6 패킷의 결정된 전송 경로 상에서 평문 IPv6 패킷을 전송하는 단계를 포함한다.A wireless network communication method and communication device based on Internet protocol version IPv6 are provided. The method includes determining a transmission path of a plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, where the TEID field indicates a bearer to which the plaintext IPv6 packet belongs; and transmitting the plaintext IPv6 packet on the determined transmission path of the plaintext IPv6 packet.

Description

인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법 및 통신 디바이스Internet protocol version IPv6-based wireless network communication method and communication device

본 출원은 2020년 4월 10일자로 중국 특허청에 출원되고 발명의 명칭이 "INTERNET PROTOCOL VERSION IPV6-BASED WIRELESS NETWORK COMMUNICATION METHOD AND COMMUNICATION DEVICE"인 중국 특허 출원 제202010281148.2호에 대한 우선권을 주장하며, 이 출원은 그 전체가 본 명세서에 참조로 포함된다.This application claims priority to Chinese Patent Application No. 202010281148.2 filed with the Chinese Intellectual Property Office on April 10, 2020 and entitled "INTERNET PROTOCOL VERSION IPV6-BASED WIRELESS NETWORK COMMUNICATION METHOD AND COMMUNICATION DEVICE", and this application is incorporated herein by reference in its entirety.

본 출원은 통신 분야에 관한 것으로, 보다 구체적으로는, 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법 및 통신 디바이스에 관한 것이다.The present application relates to the field of communication, and more particularly, to a wireless network communication method and communication device based on Internet protocol version IPv6.

인터넷 프로토콜 버전 4(Internet Protocol version 4, IPv4) 주소들의 소진으로, 국가들이 IPv4 IP 주소들을 인터넷 프로토콜 버전 6(Internet Protocol version 6, IPv6) 주소들로 이전하는 추세가 되었다. IPv4 프로토콜에서는, 5-투플이 일반적으로 데이터 패킷의 전달 경로를 결정하기 위해 통신 산업에서 이용된다. IPv6 프로토콜에서는, 데이터 패킷의 전달 경로가 소스 주소, 목적지 주소, 및 플로우 레이블(flow label)을 포함하는 3-투플에 기반하여 결정될 수 있다. 그러나, 3-투플에 기반하여 계산된 전송 경로들은 동일할 수 있고, 그 결과, 모든 패킷들이 동일한 경로를 따라 전송되어, 대역폭을 낭비한다.With the exhaustion of Internet Protocol version 4 (IPv4) addresses, there is a trend for countries to migrate IPv4 IP addresses to Internet Protocol version 6 (IPv6) addresses. In the IPv4 protocol, 5-tuples are commonly used in the telecommunications industry to determine the forwarding path of data packets. In the IPv6 protocol, a delivery path of a data packet may be determined based on a 3-tuple including a source address, a destination address, and a flow label. However, the transmission paths calculated based on the 3-tuple may be identical, and as a result, all packets are transmitted along the same path, wasting bandwidth.

본 출원은 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법 및 통신 디바이스를 제공한다. 통신 방법에 따르면, 동일한 베어러의 IPv6 패킷들이 동일한 경로 상에서 전송될 수 있거나, 상이한 베어러들의 IPv6 패킷들이 상이한 전송 경로들 상에서 전송되도록 해싱되어, 부하 밸런싱을 구현할 수 있다.The present application provides a wireless network communication method and communication device based on Internet protocol version IPv6. According to the communication method, IPv6 packets of the same bearer may be transmitted on the same path, or IPv6 packets of different bearers may be hashed to be transmitted on different transmission paths, thereby implementing load balancing.

제1 양태에 따르면, 인터넷 프로토콜 버전 IPv6 기반 네트워크 통신 방법이 제공된다. 이 방법은 액세스 네트워크 디바이스 또는 액세스 네트워크 디바이스 내의 칩에 의해 수행될 수 있거나, 이 방법은 코어 네트워크 디바이스 또는 코어 네트워크 디바이스 내의 칩에 의해 수행될 수 있다. 이 방법은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(tunnel endpoint identifier)(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 단계 - TEID 필드는 평문 IPv6 패킷이 속하는 베어러를 표시함 -; 및 평문 IPv6 패킷의 결정된 전송 경로 상에서 평문 IPv6 패킷을 전송하는 단계를 포함한다.According to a first aspect, a network communication method based on internet protocol version IPv6 is provided. The method may be performed by an access network device or a chip in an access network device, or the method may be performed by a core network device or a chip in a core network device. The method includes determining a transmission path of a plaintext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet, where the TEID field indicates a bearer to which the plaintext IPv6 packet belongs; and transmitting the plaintext IPv6 packet on the determined transmission path of the plaintext IPv6 packet.

따라서, 평문 IPv6 패킷의 전송 경로는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 결정된다. 터널 엔드포인트 식별자(TEID) 필드는 베어러의 식별자이고, 각각의 베어러의 TEID 필드는 상이하다. 따라서, 평문 IPv6 패킷의 전송 경로는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 결정되어, 동일한 베어러의 IPv6 패킷들이 동일한 경로 상에서 전송될 수 있고, 상이한 베어러들의 IPv6 패킷들이 상이한 전송 경로들 상에서 전송되도록 해싱되어, 부하 밸런싱을 구현할 수 있음을 보장한다.Accordingly, the transmission path of the plaintext IPv6 packet is determined based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet. The Tunnel Endpoint Identifier (TEID) field is an identifier of a bearer, and the TEID field of each bearer is different. Therefore, the transmission path of the plaintext IPv6 packet is determined based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, so that IPv6 packets of the same bearer can be transmitted on the same route, and IPv6 packets of different bearers can be transmitted on different transmission routes. hashed to be transmitted on the .

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 단계는, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계; 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 단계 - SIP 및 DIP는 평문 IPv6 패킷의 SIP 및 DIP임 -; 및 제1 해시 값에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, determining a transmission path of the plaintext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet comprises: filling a flow label field of the plaintext IPv6 packet based on the identifier (TEID) field; obtaining a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field, where SIP and DIP are SIP and DIP of plaintext IPv6 packets; and determining a transmission path of the plaintext IPv6 packet based on the first hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드의 N 비트를 플로우 레이블 필드의 N 비트에 채우는 단계 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 플로우 레이블 필드의 N 비트에 채우는 단계 - 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the first aspect, in some implementations of the first aspect, populating a Flow Label field of the plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet comprises: filling N bits into N bits of the flow label field, where the flow label field includes N bits; or obtaining a second hash value by performing hash calculation on the TEID field and the first parameter, and filling N bits of the second hash value into N bits of the flow label field, wherein the flow label field includes N bits. includes

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값으로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, a flow label field of a plaintext IPv6 packet includes a first field and a second field. The filling of the Flow Label field of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet includes determining, from the TEID field, a length equal to a first field or a second field of the flow label field. filling in a first field or a second field of a flow label field by intercepting a portion having a length; Alternatively, a hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and from the second hash value, a portion having the same length as the length of the first or second field of the flow label field is intercepted , filling in the first field or the second field of the flow label field.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv6 패킷이 복수의 데이터 칩으로 단편화되는 경우, 이 방법은, 복수의 데이터 칩의 각각의 데이터 칩의 플로우 레이블 필드, 소스 주소 SIP, 및 목적지 주소 DIP에 기반하여 해시 계산을 수행하여 제3 해시 값을 획득하는 단계 - SIP 및 DIP는 각각의 데이터 칩의 SIP 및 DIP이고, 각각의 데이터 칩의 플로우 레이블 필드의 내용은 평문 IPv6 패킷의 플로우 레이블 필드의 내용과 동일함 -; 및 제3 해시 값에 기반하여 각각의 데이터 칩의 전송 경로를 결정하는 단계를 더 포함한다.Referring to the first aspect, in some implementations of the first aspect, when a plaintext IPv6 packet is fragmented into a plurality of data chips, the method comprises: a flow label field of each data chip of the plurality of data chips, a source address SIP , and performing hash calculation based on the destination address DIP to obtain a third hash value, where SIP and DIP are SIP and DIP of respective data chips, and the content of the flow label field of each data chip is a plaintext IPv6 packet Same as the contents of the flow label field of -; and determining a transmission path of each data chip based on the third hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 이 방법은, 평문 IPv6 패킷이 전송을 위해 암호화될 필요가 있는 경우, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 단계 - 암호문 IPv6 패킷은 평문 IPv6 패킷을 암호화함으로써 획득된 패킷임 -; 및 해시 계산에 수반되는 제2 파라미터 및 암호문 IPv6 패킷의 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하는 단계; 및 제4 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하는 단계를 더 포함한다.With reference to the first aspect, in some implementations of the first aspect, the method comprises, if the plaintext IPv6 packet needs to be encrypted for transmission, the ciphertext based on the populated Flow Label field of the plaintext IPv6 packet. filling the flow label field of the IPv6 packet, where the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext IPv6 packet; and obtaining a fourth hash value by performing hash calculation based on a second parameter involved in hash calculation and the populated flow label field of the ciphertext IPv6 packet; and determining a transmission path of the ciphertext IPv6 packet based on the fourth hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 단계는, 암호문 IPv6 패킷의 플로우 레이블 필드의 내용이 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드의 내용과 동일하다는 것; 또는 평문 IPv6 패킷의 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제5 해시 값을 획득하고, 제5 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, populating the flow label field of the ciphertext IPv6 packet based on the populated Flow Label field of the plaintext IPv6 packet comprises: a flow label field of the ciphertext IPv6 packet; that the content of is the same as that of the Flow Label field of the plaintext IPv6 packet; or obtaining a fifth hash value by performing hash calculation based on the flow label field of the plaintext IPv6 packet and the second parameter, and filling the flow label field of the ciphertext IPv6 packet based on the fifth hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 암호문 패킷의 플로우 레이블 필드는 제3 필드 및 제4 필드를 포함한다. 제5 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 단계는, 제5 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 제5 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드를 채우는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, the flow label field of the ciphertext packet includes a third field and a fourth field. Filling the flow label field of the ciphertext IPv6 packet based on the fifth hash value includes filling N bits of the fifth hash value into N bits of the flow label field of the ciphertext IPv6 packet, the flow label field including N bits. -; or intercepting a portion having the same length as the length of the third or fourth field of the flow label field of the ciphertext IPv6 packet from the fifth hash value, and obtaining the third or fourth field of the flow label field of the ciphertext IPv6 packet. Including the filling step.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 이 방법은, 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계 - 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷임 -; 암호문 IPv6 패킷의 채워진 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제6 해시 값을 획득하는 단계; 및 제6 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하는 단계를 더 포함한다.With reference to the first aspect, in some implementations of the first aspect, the method includes: populating a Flow Label field of a ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv4 packet; A ciphertext IPv6 packet is a packet obtained by encrypting a plaintext packet -; obtaining a sixth hash value by performing hash calculation based on the filled flow label field of the ciphertext IPv6 packet and the second parameter; and determining a transmission path of the ciphertext IPv6 packet based on the sixth hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제7 해시 값을 획득하고, 제7 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the first aspect, in some implementations of the first aspect, populating a Flow Label field of the ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv4 packet comprises: filling N bits into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet contains N bits; or performing hash calculation on the TEID field and the second parameter to obtain a seventh hash value, and filling N bits of the seventh hash value into N bits of the flow label field of the ciphertext IPv6 packet - flow label of the ciphertext IPv6 packet. The field contains N bits - contains.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 암호문 IPv6 패킷의 플로우 레이블 필드는 제5 필드 및 제6 필드를 포함한다. 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우는 단계; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하고, 제8 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, the flow label field of the ciphertext IPv6 packet includes a fifth field and a sixth field. Filling the Flow Label field of the ciphertext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet comprises, from the TEID field, a fifth field or a sixth field of the flow label field of the ciphertext IPv6 packet filling in a fifth field or a sixth field of a flow label field of the ciphertext IPv6 packet by intercepting a portion having a length equal to the length of the cipher text IPv6 packet; or performing hash calculation on the TEID field and the second parameter to obtain an eighth hash value, having a length equal to a length of a fifth field or a sixth field of the flow label field of the ciphertext IPv6 packet, from the eighth hash value. intercepting the part, and filling in a fifth field or a sixth field of the flow label field of the ciphertext IPv6 packet.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv4 패킷이 복수의 칩으로 단편화되는 경우, 이 방법은, 평문 IPv4 패킷을 복수의 칩으로 단편화하는 단계; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하는 단계; 및 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계; 암호문 패킷의 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제9 해시 값을 획득하는 단계; 및 제9 해시 값에 기반하여 각각의 암호문 칩의 전송 경로를 결정하는 단계를 더 포함한다.Referring to the first aspect, in some implementations of the first aspect, when a plaintext IPv4 packet is fragmented into a plurality of chips, the method further comprises: fragmenting the plaintext IPv4 packet into a plurality of chips; encrypting each of a plurality of chips to obtain a cipher text packet of each chip; and filling the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet; obtaining a ninth hash value by performing hash calculation based on the flow label field of the ciphertext packet and the second parameter; and determining a transmission path of each ciphertext chip based on the ninth hash value.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제10 해시 값을 획득하고, 제10 해시 값의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the first aspect, in some implementations of the first aspect, populating a flow label field of each chip's ciphertext packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet comprises: N of the TEID field; filling bits into N bits of the flow label field of each chip's ciphertext packet, wherein the flow label field of each chip's ciphertext packet contains N bits; or performing hash calculation on the TEID field and the second parameter to obtain a tenth hash value, and filling N bits of the tenth hash value into N bits of the flow label field of each chip's ciphertext packet - each chip The flow label field of the ciphertext packet of contains N bits.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 평문 IPv4 패킷의 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 제7 필드 및 제8 필드를 포함한다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하고, 제9 해시 값으로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우는 단계를 포함한다.With reference to the first aspect, in some implementations of the first aspect, the flow label field of the ciphertext packet of each chip of the plaintext IPv4 packet includes a seventh field and an eighth field. Filling the flow label field of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext packet includes, from the TEID field, a seventh field or an eighth field of the flow label field of the ciphertext packet of each chip filling in a seventh field or an eighth field of a flow label field of the cipher text packet of each chip by intercepting a portion having a length equal to the length of the field; or performing hash calculation on the TEID field and the first parameter to obtain a ninth hash value, and from the ninth hash value, a length equal to the length of the seventh field or the eighth field of the flow label field of the ciphertext packet of each chip intercepting a portion having a length, and filling a seventh field or an eighth field of a flow label field of the cipher text packet of each chip.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 제1 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 평문 IPv6 패킷의 SIP, 평문 IPv6 패킷의 DIP, 평문 IPv6 패킷의 다음 헤더, 평문 IPv6 패킷의 소스 포트 SPt, 및 평문 IPv6 패킷의 목적지 포트 DPt.With reference to the first aspect, in some implementations of the first aspect, the first parameter includes at least one of the following parameters: a SIP of the plaintext IPv6 packet, a DIP of the plaintext IPv6 packet, a next header of the plaintext IPv6 packet, The source port SPt of the plaintext IPv6 packet, and the destination port DPt of the plaintext IPv6 packet.

제1 양태를 참조하면, 제1 양태의 일부 구현들에서, 제2 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 암호문 패킷의 SIP, 암호문 패킷의 DIP, 및 암호문 패킷의 다음 헤더.With reference to the first aspect, in some implementations of the first aspect, the second parameter includes at least one of the following parameters: a SIP of the ciphertext packet, a DIP of the ciphertext packet, and a next header of the ciphertext packet.

제2 양태에 따르면, 인터넷 프로토콜 버전 IPv6 기반 통신 방법이 제공된다. 이 방법은 보안 게이트웨이 디바이스에 의해 수행될 수 있거나, 보안 게이트웨이 디바이스 내의 칩에 의해 수행될 수 있다. 이 방법은, 코어 네트워크 디바이스에 의해 전송된 평문 패킷을 수신하는 단계; 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계 - 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷임 -; 해시 계산에 수반되는 제1 파라미터 및 암호문 IPv6 패킷의 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 단계; 및 제1 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하는 단계를 포함한다.According to a second aspect, a communication method based on internet protocol version IPv6 is provided. This method may be performed by the secure gateway device or may be performed by a chip within the secure gateway device. The method includes receiving a plaintext packet transmitted by a core network device; filling a Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet, wherein the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext packet; obtaining a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the populated flow label field of the ciphertext IPv6 packet; and determining a transmission path of the ciphertext IPv6 packet based on the first hash value.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the second aspect, in some implementations of the second aspect, the plaintext packet is an IPv6 packet or an IPv4 packet. Filling the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet comprises: filling N bits of the TEID field into N bits of the Flow Label field of the ciphertext IPv6 packet - The flow label field of the ciphertext IPv6 packet contains N bits -; or performing hash calculation on the TEID field and the first parameter to obtain a second hash value, and filling N bits of the second hash value into N bits of the flow label field of the ciphertext IPv6 packet - flow label of the ciphertext IPv6 packet. The field contains N bits - contains.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이다. 암호문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제3 해시 값을 획득하고, 제3 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계를 포함한다.With reference to the second aspect, in some implementations of the second aspect, the plaintext packet is an IPv6 packet or an IPv4 packet. The flow label field of the ciphertext IPv6 packet includes a first field and a second field. Filling the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet includes, from the TEID field, a first field or a second field of the flow label field of the ciphertext IPv6 packet. intercepting a portion having a length equal to the length and filling in a first field or a second field of a flow label field of the ciphertext IPv6 packet; or performing hash calculation on the TEID field and the first parameter to obtain a third hash value, having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, from the third hash value. intercepting the part, and filling in a first field or a second field of the flow label field of the ciphertext IPv6 packet.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계; 및 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드를 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 복사하는 단계를 포함한다.With reference to the second aspect, in some implementations of the second aspect, the plaintext packet is an IPv6 packet. Filling the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet determines the flow of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet. Filling the label (Flow Label) field; and copying the filled-in Flow Label field of the plaintext IPv6 packet to the Flow Label field of the ciphertext IPv6 packet.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 이 방법은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계; 플로우 레이블 필드로 채워진 평문 IPv6 패킷을 복수의 칩으로 단편화하는 단계 - 복수의 칩 각각은 채워진 플로우 레이블 필드를 포함함 -; 각각의 칩의 플로우 레이블 필드를 각각의 칩의 암호화된 암호문 패킷의 플로우 레이블 필드에 복사하는 단계; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하는 단계; 및 제4 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하는 단계를 더 포함한다.With reference to the second aspect, in some implementations of the second aspect, the plaintext packet is an IPv6 packet. When the plaintext packet is fragmented into multiple chips, the method includes filling a Flow Label field of the plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; fragmenting the plaintext IPv6 packet filled with the flow label field into a plurality of chips, each of the plurality of chips including the filled flow label field; copying the flow label field of each chip to the flow label field of the encrypted cipher text packet of each chip; obtaining a fourth hash value by performing hash calculation based on the flow label field of the ciphertext packet and the first parameter; and determining a transmission path of each ciphertext packet based on the fourth hash value.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하고, 제5 해시 값의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the second aspect, in some implementations of the second aspect, populating a Flow Label field of the plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet comprises: filling N bits into N bits of the flow label field of the plaintext IPv6 packet, wherein the flow label field of the plaintext IPv6 packet includes N bits; or performing hash calculation on the TEID field and the second parameter to obtain a fifth hash value, and filling N bits of the fifth hash value into N bits of the flow label field of the plaintext IPv6 packet - flow label of the plaintext IPv6 packet. The field contains N bits - contains.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제6 해시 값을 획득하고, 제6 해시 값으로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계를 포함한다.With reference to the second aspect, in some implementations of the second aspect, the flow label field of the plaintext IPv6 packet includes a first field and a second field. Filling the Flow Label field of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet includes, from the TEID field, a first field or a second field of the flow label field of the plaintext IPv6 packet filling in a first field or a second field of a flow label field of a plaintext IPv6 packet by intercepting a portion having a length equal to the length of ; or performing hash calculation on the TEID field and the second parameter to obtain a sixth hash value, having a length equal to the length of the first field or the second field of the flow label field of the plaintext IPv6 packet, from the sixth hash value. intercepting the part, and filling the first field or the second field of the flow label field of the plaintext IPv6 packet.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷이 IPv4 패킷 또는 IPv6 패킷이고, 평문 패킷이 복수의 칩으로 단편화되는 경우, 이 방법은, 평문 패킷을 복수의 칩으로 단편화하는 단계; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하는 단계; 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제7 해시 값을 획득하는 단계; 및 제7 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하는 단계를 더 포함한다.With reference to the second aspect, in some implementations of the second aspect, when the plaintext packet is an IPv4 packet or an IPv6 packet, and the plaintext packet is fragmented into a plurality of chips, the method comprises fragmenting the plaintext packet into a plurality of chips. step; encrypting each of a plurality of chips to obtain a cipher text packet of each chip; filling the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet; obtaining a seventh hash value by performing hash calculation based on the flow label field of the ciphertext packet and the first parameter; and determining a transmission path of each cipher text packet based on the seventh hash value.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하고, 제8 해시 값의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.With reference to the second aspect, in some implementations of the second aspect, populating a flow label field of each chip's ciphertext packet based on a tunnel endpoint identifier (TEID) field of the plaintext packet comprises N bits of the TEID field filling N bits of the flow label field of the ciphertext packet of each chip, wherein the flow label field of the ciphertext packet of each chip includes N bits; or performing hash calculation on the TEID field and the first parameter to obtain an eighth hash value, and filling N bits of the eighth hash value into N bits of the flow label field of each chip's ciphertext packet - each chip The flow label field of the ciphertext packet of contains N bits.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하는 단계; 및 제9 해시 값으로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우는 단계를 포함한다.With reference to the second aspect, in some implementations of the second aspect, the flow label field of the ciphertext packet of each chip includes a first field and a second field, and a tunnel endpoint identifier (TEID) field of the plaintext packet includes: Filling the flow label field of the ciphertext packet of each chip based on the TEID field intercepts a portion having the same length as the length of the first field or the second field of the flow label field of the ciphertext packet of each chip, , filling the first field or the second field of the flow label field of the cipher text packet of each chip; or obtaining a ninth hash value by performing hash calculation on the TEID field and the first parameter; and intercepting, from the ninth hash value, a portion having a length equal to the length of the first field or the second field of the flow label field of the ciphertext packet of each chip, the first of the flow label field of the ciphertext packet of each chip Filling in the field or second field.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 제1 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 암호문 패킷의 SIP, 암호문 패킷의 DIP, 또는 암호문 패킷의 다음 헤더.With reference to the second aspect, in some implementations of the second aspect, the first parameter includes at least one of the following parameters: a SIP of the ciphertext packet, a DIP of the ciphertext packet, or a next header of the ciphertext packet.

제2 양태를 참조하면, 제2 양태의 일부 구현들에서, 제2 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 평문 패킷의 SIP, 평문 패킷의 DIP, 평문 패킷의 다음 헤더, 평문 패킷의 소스 포트 SPt, 및 평문 패킷의 목적지 포트 DPt.With reference to the second aspect, in some implementations of the second aspect, the second parameter includes at least one of the following parameters: SIP of the plaintext packet, DIP of the plaintext packet, next header of the plaintext packet, The source port SPt, and the destination port DPt of the plaintext packet.

제3 양태에 따르면, 통신 디바이스가 제공된다. 통신 디바이스는, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하도록 구성된 처리 유닛; 및 평문 IPv6 패킷의 결정된 전송 경로 상에서 평문 IPv6 패킷을 전송하도록 구성된 트랜시버 유닛을 포함한다.According to a third aspect, a communication device is provided. The communication device includes: a processing unit configured to determine a transmission path of a plaintext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet; and a transceiver unit configured to transmit the plaintext IPv6 packet on the determined transmission path of the plaintext IPv6 packet.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은 구체적으로, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고; 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하고; 제1 해시 값에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하도록 구성된다.With reference to the third aspect, in some implementations of the third aspect, the processing unit is specifically configured to populate a Flow Label field of the plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; ; obtaining a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field; and determine a transmission path of the plaintext IPv6 packet based on the first hash value.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은 구체적으로, TEID 필드의 N 비트를 플로우 레이블 필드의 N 비트에 채우거나 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 플로우 레이블 필드의 N 비트에 채우도록 구성되며, 플로우 레이블 필드는 N 비트를 포함한다.With reference to the third aspect, in some implementations of the third aspect, the processing unit specifically fills N bits of the TEID field into N bits of the flow label field, where the flow label field includes N bits; or performing hash calculation on the TEID field and the first parameter to obtain a second hash value, and filling N bits of the second hash value into N bits of the flow label field, wherein the flow label field includes N bits do.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛은 구체적으로, TEID 필드로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값으로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.With reference to the third aspect, in some implementations of the third aspect, the flow label field of the plaintext IPv6 packet includes a first field and a second field. The processing unit specifically intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field, and fills the first field or the second field of the flow label field; Alternatively, a hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and from the second hash value, a portion having the same length as the length of the first or second field of the flow label field is intercepted , configured to fill in the first field or the second field of the flow label field.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 평문 IPv6 패킷이 복수의 데이터 칩으로 단편화되는 경우, 처리 유닛은, 복수의 데이터 칩 각각의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제3 해시 값을 획득하고 - 각각의 데이터 칩의 플로우 레이블 필드의 내용은 평문 IPv6 패킷의 플로우 레이블 필드의 내용과 동일함 -; 제3 해시 값에 기반하여 각각의 데이터 칩의 전송 경로를 결정하도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, when a plaintext IPv6 packet is fragmented into a plurality of data chips, the processing unit performs a hash based on the flow label field and the first parameter of each of the plurality of data chips. obtaining a third hash value by performing calculation - the content of the flow label field of each data chip is identical to that of the flow label field of the plaintext IPv6 packet; and determine a transmission path of each data chip based on the third hash value.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은, 평문 IPv6 패킷이 전송을 위해 암호화될 필요가 있는 경우, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우고 - 암호문 IPv6 패킷은 평문 IPv6 패킷을 암호화함으로써 획득된 패킷임 -; 해시 계산에 수반되는 제2 파라미터 및 암호문 IPv6 패킷의 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하고 - SIP 및 DIP는 암호문 IPv6 패킷의 SIP 및 DIP임 -; 제4 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the processing unit, if the plaintext IPv6 packet needs to be encrypted for transmission, generates the ciphertext based on the populated Flow Label field of the plaintext IPv6 packet. Fill in the flow label field of the IPv6 packet, where the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext IPv6 packet; obtaining a fourth hash value by performing hash calculation based on a second parameter involved in hash calculation and the filled flow label field of the ciphertext IPv6 packet, where SIP and DIP are SIP and DIP of the ciphertext IPv6 packet; and determine a transmission path of the ciphertext IPv6 packet based on the fourth hash value.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 암호문 IPv6 패킷의 플로우 레이블 필드에 복사하거나; 또는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하고, 제5 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the processing unit copies the Flow Label field of the plaintext IPv6 packet to the Flow Label field of the ciphertext IPv6 packet; or performing hash calculation on the second parameter and the flow label field of the plaintext IPv6 packet to obtain a fifth hash value, and further filling in the flow label field of the ciphertext IPv6 packet based on the fifth hash value. It consists of

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 암호문 패킷의 플로우 레이블 필드는 제3 필드 및 제4 필드를 포함한다. 처리 유닛은, 제5 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 제5 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드를 채우도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the flow label field of the ciphertext packet includes a third field and a fourth field. The processing unit fills N bits of the fifth hash value into N bits of the flow label field of the ciphertext IPv6 packet, where the flow label field contains N bits; or intercepting a portion having the same length as the length of the third or fourth field of the flow label field of the ciphertext IPv6 packet from the fifth hash value, and obtaining the third or fourth field of the flow label field of the ciphertext IPv6 packet. It is further configured to fill.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은, 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고 - 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷임 -; 암호문 IPv6 패킷의 채워진 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제6 해시 값을 획득하고; 제6 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the processing unit fills in a Flow Label field of the ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv4 packet - the ciphertext An IPv6 packet is a packet obtained by encrypting a plaintext packet -; obtain a sixth hash value by performing hash calculation based on the filled-in flow label field of the ciphertext IPv6 packet and the second parameter; and determine a transmission path of the ciphertext IPv6 packet based on the sixth hash value.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제7 해시 값을 획득하고, 제7 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우도록 추가로 구성되며, 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.With reference to the third aspect, in some implementations of the third aspect, the processing unit fills N bits of the TEID field into N bits of the flow label field of the ciphertext IPv6 packet - the flow label field of the ciphertext IPv6 packet is N bits contains -; or performing hash calculation on the TEID field and the second parameter to obtain a seventh hash value, and fills N bits of the seventh hash value into N bits of a flow label field of the ciphertext IPv6 packet, wherein the ciphertext IPv6 The flow label field of a packet contains N bits.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 암호문 IPv6 패킷의 플로우 레이블 필드는 제5 필드 및 제6 필드를 포함한다. 처리 유닛은, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우거나; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하고, 제8 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the flow label field of the ciphertext IPv6 packet includes a fifth field and a sixth field. The processing unit intercepts, from the TEID field, a portion having a length equal to the length of the fifth field or the sixth field of the flow label field of the ciphertext IPv6 packet, and obtains the fifth or sixth field of the flow label field of the ciphertext IPv6 packet. fill in; or performing hash calculation on the TEID field and the second parameter to obtain an eighth hash value, having a length equal to a length of a fifth field or a sixth field of the flow label field of the ciphertext IPv6 packet, from the eighth hash value. and intercepting the part to fill in a fifth field or a sixth field of a flow label field of the ciphertext IPv6 packet.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 평문 IPv4 패킷이 복수의 칩으로 단편화되는 경우, 처리 유닛은, 평문 IPv4 패킷을 복수의 칩으로 단편화하고; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하고; 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우고; 암호문 패킷의 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제9 해시 값을 획득하고; 제9 해시 값에 기반하여 각각의 암호문 칩의 전송 경로를 결정하도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, when the plaintext IPv4 packet is fragmented into a plurality of chips, the processing unit: fragments the plaintext IPv4 packet into a plurality of chips; encrypt each of the plurality of chips to obtain a cipher text packet of each chip; fill the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet; obtain a ninth hash value by performing hash calculation based on the flow label field of the ciphertext packet and the second parameter; and determine a transmission path of each ciphertext chip based on the ninth hash value.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 처리 유닛은, TEID 필드의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제10 해시 값을 획득하고, 제10 해시 값의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우도록 추가로 구성되며, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함한다.With reference to the third aspect, in some implementations of the third aspect, the processing unit fills N bits of the TEID field into N bits of the flow label field of each chip's cipher text packet - or flow label field contains N bits -; or performing hash calculation on the TEID field and the second parameter to obtain a tenth hash value, and filling N bits of the tenth hash value into N bits of a flow label field of each chip's cipher text packet; , the flow label field of each chip's cipher text packet contains N bits.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 제7 필드 및 제8 필드를 포함한다. 처리 유닛은, TEID 필드로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우거나; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하고, 제9 해시 값으로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우도록 추가로 구성된다.With reference to the third aspect, in some implementations of the third aspect, the flow label field of each chip's ciphertext packet includes a seventh field and an eighth field. The processing unit intercepts, from the TEID field, a portion having a length equal to the length of the seventh field or the eighth field of the flow label field of the ciphertext packet of each chip, and the first part of the flow label field of the ciphertext packet of each chip fill in field 7 or field 8; or performing hash calculation on the TEID field and the second parameter to obtain a ninth hash value, and from the ninth hash value, a length equal to the length of the seventh field or the eighth field of the flow label field of the ciphertext packet of each chip It is further configured to intercept a portion having a length and fill a seventh field or an eighth field of a flow label field of the cipher text packet of each chip.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 제2 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 평문 패킷의 SIP, 평문 패킷의 DIP, 평문 패킷의 다음 헤더, 평문 패킷의 소스 포트 SPt, 및 평문 패킷의 목적지 포트 DPt.With reference to the third aspect, in some implementations of the third aspect, the second parameter includes at least one of the following parameters: SIP of the plaintext packet, DIP of the plaintext packet, next header of the plaintext packet, The source port SPt, and the destination port DPt of the plaintext packet.

제3 양태를 참조하면, 제3 양태의 일부 구현들에서, 제2 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 암호문 패킷의 SIP, 암호문 패킷의 DIP, 암호문 패킷의 다음 헤더.With reference to the third aspect, in some implementations of the third aspect, the second parameter includes at least one of the following parameters: a SIP of the ciphertext packet, a DIP of the ciphertext packet, and a next header of the ciphertext packet.

제4 양태에 따르면, 보안 게이트웨이 디바이스가 제공된다. 보안 게이트웨이 디바이스는, 코어 네트워크 디바이스에 의해 전송된 평문 패킷을 수신하도록 구성된 트랜시버 유닛; 및 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우도록 구성된 처리 유닛을 포함하며, 여기서 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷이다. 처리 유닛은, 해시 계산에 수반되는 제1 파라미터 및 암호문 IPv6 패킷의 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하고; 제1 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하도록 추가로 구성된다.According to a fourth aspect, a secure gateway device is provided. The security gateway device includes a transceiver unit configured to receive a plaintext packet transmitted by a core network device; and a processing unit configured to fill a Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet, wherein the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext packet. . The processing unit obtains a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field of the ciphertext IPv6 packet; and determine a transmission path of the ciphertext IPv6 packet based on the first hash value.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이다. 처리 유닛은, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우도록 구성되며, 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.With reference to the fourth aspect, in some implementations of the fourth aspect, the plaintext packet is an IPv6 packet or an IPv4 packet. The processing unit fills N bits of the TEID field into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet contains N bits; or perform hash calculation on the TEID field and the first parameter to obtain a second hash value, and fill N bits of the second hash value into N bits of a flow label field of the ciphertext IPv6 packet; The flow label field contains N bits.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이고, 암호문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛은, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제3 해시 값을 획득하고, 제3 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the plaintext packet is an IPv6 packet or an IPv4 packet, and a flow label field of the ciphertext IPv6 packet includes a first field and a second field. The processing unit intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, and obtains the first field or the second field of the flow label field of the ciphertext IPv6 packet. fill in; or performing hash calculation on the TEID field and the first parameter to obtain a third hash value, having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, from the third hash value. and to intercept the part and fill in the first field or the second field of the flow label field of the ciphertext IPv6 packet.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷이고, 처리 유닛은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고; 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드를 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 복사하도록 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the plaintext packet is an IPv6 packet, and the processing unit performs a flow label (Flow Label) of the plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet. Label) field; and copy the filled-in Flow Label field of the plaintext IPv6 packet to the Flow Label field of the ciphertext IPv6 packet.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 처리 유닛은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고; 플로우 레이블 필드로 채워진 평문 IPv6 패킷을 복수의 칩으로 단편화하고 - 복수의 칩 각각은 채워진 플로우 레이블 필드를 포함함 -; 각각의 칩의 플로우 레이블 필드를 각각의 칩의 암호화된 암호문 패킷의 플로우 레이블 필드에 복사하고; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하고; 제4 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하도록 추가로 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the plaintext packet is an IPv6 packet. If the plaintext packet is fragmented into multiple chips, the processing unit fills in a Flow Label field of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; fragment the plaintext IPv6 packet filled with the flow label field into a plurality of chips, each of the plurality of chips including the filled flow label field; copy the flow label field of each chip to the flow label field of each chip's encrypted cipher text packet; obtain a fourth hash value by performing hash calculation based on the first parameter and the flow label field of the ciphertext packet; and determine a transmission path of each cipher text packet based on the fourth hash value.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 처리 유닛은, TEID 필드의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하고, 제5 해시 값의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우도록 구성되며, 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.With reference to the fourth aspect, in some implementations of the fourth aspect, the processing unit fills N bits of the TEID field into N bits of the flow label field of the plaintext IPv6 packet - the flow label field of the plaintext IPv6 packet is N bits contains -; or performing hash calculation on the TEID field and the second parameter to obtain a fifth hash value, and filling N bits of the fifth hash value into N bits of a flow label field of the plaintext IPv6 packet; The flow label field contains N bits.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛은, TEID 필드로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제6 해시 값을 획득하고, 제6 해시 값으로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the flow label field of the plaintext IPv6 packet includes a first field and a second field. The processing unit intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field of the plaintext IPv6 packet, and obtains the first field or the second field of the flow label field of the plaintext IPv6 packet. fill in; or performing hash calculation on the TEID field and the second parameter to obtain a sixth hash value, having a length equal to the length of the first field or the second field of the flow label field of the plaintext IPv6 packet, from the sixth hash value. intercepting part, and filling in the first field or the second field of the flow label field of the plaintext IPv6 packet.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 평문 패킷은 IPv4 패킷 또는 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 처리 유닛은, 평문 패킷을 복수의 칩으로 단편화하고; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하고; 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우고; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제7 해시 값을 획득하고; 제7 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하도록 추가로 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the plaintext packet is an IPv4 packet or an IPv6 packet. When the plaintext packet is fragmented into a plurality of chips, the processing unit fragments the plaintext packet into a plurality of chips; encrypt each of the plurality of chips to obtain a cipher text packet of each chip; fill the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet; obtain a seventh hash value by performing hash calculation based on the first parameter and the flow label field of the ciphertext packet; and determine a transmission path of each cipher text packet based on the seventh hash value.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 처리 유닛은, TEID 필드의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하고, 제8 해시 값의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우도록 추가로 구성되며, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함한다.With reference to the fourth aspect, in some implementations of the fourth aspect, the processing unit fills N bits of the TEID field into N bits of the flow label field of each chip's cipher text packet - or flow label field contains N bits -; or performing hash calculation on the TEID field and the first parameter to obtain an eighth hash value, and filling N bits of the eighth hash value into N bits of a flow label field of each chip's ciphertext packet; , the flow label field of each chip's cipher text packet contains N bits.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛은, TEID 필드로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하고, 제9 해시 값으로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 추가로 구성된다.With reference to the fourth aspect, in some implementations of the fourth aspect, the flow label field of each chip's ciphertext packet includes a first field and a second field. The processing unit intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field of the cipher text packet of each chip, and the second field of the flow label field of the cipher text packet of each chip fill in field 1 or field 2; or performing hash calculation on the TEID field and the first parameter to obtain a ninth hash value, and from the ninth hash value, a length equal to the length of the first field or the second field of the flow label field of the ciphertext packet of each chip and intercepting a portion having a length to fill a first field or a second field of a flow label field of the cipher text packet of each chip.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 제1 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 암호문 패킷의 SIP, 암호문 패킷의 DIP, 및 암호문 패킷의 다음 헤더.With reference to the fourth aspect, in some implementations of the fourth aspect, the first parameter includes at least one of the following parameters: a SIP of the ciphertext packet, a DIP of the ciphertext packet, and a next header of the ciphertext packet.

제4 양태를 참조하면, 제4 양태의 일부 구현들에서, 제2 파라미터는 다음의 파라미터들 중 적어도 하나를 포함한다: 평문 패킷의 SIP, 평문 패킷의 DIP, 평문 패킷의 소스 포트 SPt, 평문 패킷의 목적지 포트 DPt, 및 평문 패킷의 다음 헤더.With reference to the fourth aspect, in some implementations of the fourth aspect, the second parameter includes at least one of the following parameters: SIP of the plaintext packet, DIP of the plaintext packet, source port SPt of the plaintext packet, plaintext packet The destination port of DPt, and the next header of the plaintext packet.

제5 양태에 따르면, 통신 장치가 제공된다. 통신 장치는 프로세서를 포함한다. 프로세서는 메모리에 접속되고, 메모리는 컴퓨터 프로그램을 저장하도록 구성된다. 프로세서는 메모리에 저장된 컴퓨터 프로그램을 실행하도록 구성되어, 장치가 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법, 또는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하게 한다.According to a fifth aspect, a communication device is provided. A communication device includes a processor. The processor is connected to a memory, and the memory is configured to store a computer program. The processor is configured to execute the computer program stored in the memory, such that the apparatus performs the method in the first aspect or any of the possible implementations of the first aspect, or the method in the second aspect or any of the possible implementations of the second aspect. do the way

제6 양태에 따르면, 컴퓨터 판독가능한 저장 매체가 제공된다. 컴퓨터 판독가능한 저장 매체는 컴퓨터 프로그램을 저장한다. 실행될 때, 컴퓨터 프로그램은 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법, 또는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하는데 이용된다.According to a sixth aspect, a computer readable storage medium is provided. A computer readable storage medium stores a computer program. When executed, the computer program is used to perform a method in the first aspect or any of the possible implementations of the first aspect, or a method in any of the second aspect or possible implementations of the second aspect.

제7 양태에 따르면, 칩이 제공된다. 칩은 프로세서 및 인터페이스를 포함한다. 프로세서는 제1 양태 또는 제1 양태의 가능한 구현들 중 어느 하나에서의 방법, 또는 제2 양태 또는 제2 양태의 가능한 구현들 중 어느 하나에서의 방법을 수행하기 위한 명령어들을 판독하도록 구성된다.According to a seventh aspect, a chip is provided. A chip includes a processor and an interface. The processor is configured to read instructions for performing a method in any of the first aspect or possible implementations of the first aspect, or a method in any of the second aspect or possible implementations of the second aspect.

선택적으로, 칩은 메모리를 추가로 포함할 수 있다. 메모리는 명령어들을 저장한다. 프로세서는 메모리에 저장된 명령어들 또는 다른 모듈로부터의 명령어들을 실행하도록 구성된다.Optionally, the chip may further include memory. Memory stores instructions. The processor is configured to execute instructions stored in memory or instructions from other modules.

제8 양태에 따르면, 통신 시스템이 제공된다. 이러한 시스템은 제1 양태에서의 방법들 및 가능한 설계들을 구현하기 위한 기능들을 갖는 장치, 및 제2 양태에서의 방법들 및 가능한 설계들을 구현하기 위한 기능들을 갖는 장치를 포함한다.According to an eighth aspect, a communication system is provided. Such a system comprises an apparatus having functions for implementing the methods and possible designs in the first aspect, and an apparatus having functions for implementing the methods and possible designs in the second aspect.

도 1은 본 출원의 실시예에 따른 응용 시나리오의 개략도이다.
도 2는 본 출원의 실시예에 따른 종단간 부하 밸런싱 거동의 개략도이다.
도 3은 본 출원의 실시예에 따라 패킷들의 순서가 바뀌는 것을 피하기 위해 동일한 경로 상에서 동일한 세션의 데이터 패킷들을 전달하는 개략적인 흐름도이다.
도 4는 본 출원의 실시예에 따른 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법의 개략적인 흐름도이다.
도 5는 IPv6 패킷의 기본 포맷의 개략도이다.
도 6a는 본 출원의 실시예에 따라 IPv6 패킷을 단편화함으로써 획득된 제1 칩의 개략도이다.
도 6b는 본 출원의 실시예에 따라 IPv6 패킷을 단편화함으로써 획득된 제2 칩의 개략도이다.
도 7은 본 출원의 실시예에 따른 다른 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법의 개략적인 흐름도이다.
도 8a는 IPsec AH 캡슐화 시나리오에서의 채움 방식을 도시한다.
도 8b는 IPsec ESP 캡슐화 시나리오에서의 채움 방식을 도시한다.
도 9는 IPv4 패킷의 기본 포맷의 개략도이다.
도 10은 본 출원의 실시예에 따라 부하 밸런싱을 위해 이더넷 링크 집성 기술을 이용하는 평문 시나리오의 개략도이다.
도 11은 본 출원의 실시예에 따라 부하 밸런싱을 위해 이더넷 링크 집성 기술을 이용하는 암호문 시나리오의 개략도이다.
도 12는 본 출원의 실시예에 따른 평문 시나리오에서의 등가 루트 부하 밸런싱(equal-cost route load balancing)의 개략도이다.
도 13은 본 출원의 실시예에 따른 신뢰성 개선을 위한 평문 시나리오에서의 등가 루트 부하 밸런싱의 개략도이다.
도 14는 본 출원의 실시예에 따른 통신 장치의 개략적인 블록도이다.
도 15는 본 출원에 따른 액세스 네트워크 디바이스의 구조의 개략도이다.
1 is a schematic diagram of an application scenario according to an embodiment of the present application.
2 is a schematic diagram of end-to-end load balancing behavior according to an embodiment of the present application.
3 is a schematic flow diagram of forwarding data packets of the same session on the same path to avoid changing the order of the packets according to an embodiment of the present application.
4 is a schematic flowchart of a wireless network communication method based on Internet protocol version IPv6 according to an embodiment of the present application.
Fig. 5 is a schematic diagram of the basic format of an IPv6 packet.
6A is a schematic diagram of a first chip obtained by fragmenting an IPv6 packet according to an embodiment of the present application;
6B is a schematic diagram of a second chip obtained by fragmenting an IPv6 packet according to an embodiment of the present application.
7 is a schematic flowchart of another Internet protocol version IPv6-based wireless network communication method according to an embodiment of the present application.
Figure 8a shows the filling scheme in IPsec AH encapsulation scenario.
Figure 8b shows the filling scheme in IPsec ESP encapsulation scenario.
Fig. 9 is a schematic diagram of the basic format of an IPv4 packet.
10 is a schematic diagram of a plaintext scenario using Ethernet link aggregation technology for load balancing according to an embodiment of the present application.
11 is a schematic diagram of a cryptogram scenario using Ethernet link aggregation technology for load balancing according to an embodiment of the present application.
12 is a schematic diagram of equal-cost route load balancing in a plaintext scenario according to an embodiment of the present application.
13 is a schematic diagram of equivalent route load balancing in a plaintext scenario for reliability improvement according to an embodiment of the present application.
14 is a schematic block diagram of a communication device according to an embodiment of the present application.
15 is a schematic diagram of the structure of an access network device according to the present application.

다음은 첨부 도면들을 참조하여 본 출원의 기술적 해결책들을 설명한다.The following describes the technical solutions of the present application with reference to the accompanying drawings.

본 출원의 실시예들의 기술적 해결책들은, 모바일 통신들을 위한 글로벌 시스템(global system for mobile communications, GSM), 코드 분할 다중 액세스(code division multiple access, CDMA) 시스템, 광대역 코드 분할 다중 액세스(wideband code division multiple access, WCDMA) 시스템, 일반 패킷 라디오 서비스(general packet radio service, GPRS) 시스템, 롱 텀 에볼루션(long term evolution, LTE) 시스템, LTE 주파수 분할 듀플렉스(frequency division duplex, FDD) 시스템, LTE 시분할 듀플렉스(time division duplex, TDD) 시스템, 범용 모바일 전기통신 시스템(universal mobile telecommunications system, UMTS), 마이크로파 액세스를 위한 전세계 상호운용성(worldwide interoperability for microwave access, WiMAX) 통신 시스템, 및 5세대(5th generation, 5G) 시스템 또는 뉴 라디오(new radio, NR) 시스템과 같은 다양한 통신 시스템들에서 이용될 수 있다. 또한, 통신 시스템은 후속 진화된 시스템, 예를 들어, 6세대(6G) 통신 시스템 또는 심지어 더 진보된 7세대(7G) 통신 시스템에서 추가로 이용될 수 있다.The technical solutions of the embodiments of the present application are a global system for mobile communications (GSM), a code division multiple access (CDMA) system, and a wideband code division multiple access (wideband code division multiple access). access, WCDMA) system, general packet radio service (GPRS) system, long term evolution (LTE) system, LTE frequency division duplex (FDD) system, LTE time division duplex (time division duplex) division duplex (TDD) system, universal mobile telecommunications system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, and 5th generation (5G) systems Alternatively, it may be used in various communication systems such as a new radio (NR) system. Also, the communication system may be further utilized in a later evolved system, for example, a 6th generation (6G) communication system or even a more advanced 7th generation (7G) communication system.

본 출원의 실시예들에서의 액세스 네트워크 디바이스는 단말 디바이스와 통신하기 위한 디바이스일 수 있거나, 기지국, 액세스 포인트, 또는 네트워크 디바이스일 수 있거나, 또는 하나 이상의 섹터를 통해 액세스 네트워크에서 에어 인터페이스를 통해 무선 단말과 통신하는 디바이스일 수 있다. 네트워크 디바이스는 수신된 오버-디-에어 프레임(over-the-air frame) 및 IP 패킷을 상호 변환하고 무선 단말과 액세스 네트워크의 나머지 부분 사이의 라우터로서 역할을 하도록 구성될 수 있으며, 여기서 액세스 네트워크의 나머지 부분은 인터넷 프로토콜(IP) 네트워크를 포함할 수 있다. 네트워크 디바이스는 에어 인터페이스의 속성 관리를 추가로 조정할 수 있다. 예를 들어, 액세스 네트워크 디바이스는 모바일 통신들을 위한 글로벌 모바일(Global System for Mobile communications, GSM) 시스템 또는 코드 분할 다중 액세스(Code Division Multiple Access, CDMA) 시스템에서의 기지국(Base Transceiver Station, BTS)일 수 있거나, 또는 광대역 코드 분할 다중 액세스(Wideband Code Division Multiple Access, WCDMA) 시스템에서의 기지국(NodeB, NB)일 수 있거나, 또는 LTE 시스템에서의 진화된 NodeB(evolved NodeB, eNB 또는 eNodeB)일 수 있거나, 또는 클라우드 라디오 액세스 네트워크(cloud radio access network, CRAN) 시나리오에서의 라디오 제어기일 수 있다. 대안적으로, 액세스 디바이스는 중계국에서의 네트워크 디바이스, 액세스 포인트, 차량 탑재 디바이스, 웨어러블 디바이스, 5G 네트워크에서의 액세스 디바이스, 미래의 진화된 PLMN 네트워크에서의 네트워크 디바이스 등일 수 있거나, WLAN에서의 액세스 포인트(access point, AP)일 수 있거나, 또는 뉴 라디오(new radio, NR) 시스템에서의 gNB일 수 있다. 이것은 본 출원의 실시예들에서 제한되지 않는다. 5G 시스템에서, 하나의 기지국 상에 하나 이상의 전송 수신 포인트(Transmission Reception Point, TRP)가 존재할 수 있다는 점에 유의해야 한다. 모든 TRP들은 동일한 셀에 속하고, 본 출원의 실시예들에서 설명되는 측정 보고 방법은 TRP들 및 단말 각각에 대해 이용될 수 있다. 다른 시나리오에서, 네트워크 디바이스는 제어 유닛(Control Unit, CU) 및 데이터 유닛(Data Unit, DU)으로 추가로 분할될 수 있다. 하나의 CU 아래에 복수의 DU가 있을 수 있다. 본 출원의 실시예들에서 설명되는 측정 보고 방법은 각각의 DU 및 단말에 대해 이용될 수 있다. CU-DU 분리 시나리오와 다중-TRP 시나리오 사이의 차이는, TRP가 라디오 유닛 또는 안테나 디바이스로서만 역할을 하지만, DU가 프로토콜 스택 기능을 구현할 수 있다는 점, 예를 들어, DU가 물리적 계층 기능을 구현할 수 있다는 점에 있다.An access network device in embodiments of the present application may be a device for communicating with a terminal device, may be a base station, an access point, or a network device, or may be a wireless terminal via an air interface in an access network via one or more sectors. It can be a device that communicates with. A network device may be configured to interconvert received over-the-air frames and IP packets and act as a router between a wireless terminal and the rest of an access network, where The remainder may include Internet Protocol (IP) networks. The network device may further coordinate attribute management of the air interface. For example, the access network device may be a Base Transceiver Station (BTS) in a Global System for Mobile communications (GSM) system or a Code Division Multiple Access (CDMA) system. or may be a base station (NodeB, NB) in a Wideband Code Division Multiple Access (WCDMA) system, or may be an evolved NodeB (eNB, or eNodeB) in an LTE system, or a radio controller in a cloud radio access network (CRAN) scenario. Alternatively, the access device may be a network device in a relay station, an access point, a vehicle-mounted device, a wearable device, an access device in a 5G network, a network device in a future evolved PLMN network, etc., or an access point in a WLAN ( It may be an access point (AP), or it may be a gNB in a new radio (NR) system. This is not limited in the embodiments of this application. It should be noted that in a 5G system, one or more transmission reception points (TRPs) may exist on one base station. All TRPs belong to the same cell, and the measurement reporting method described in the embodiments of the present application may be used for each of the TRPs and the UE. In another scenario, network devices may be further divided into Control Units (CUs) and Data Units (DUs). A plurality of DUs may exist under one CU. The measurement reporting method described in the embodiments of the present application may be used for each DU and UE. The difference between the CU-DU separation scenario and the multi-TRP scenario is that the TRP serves only as a radio unit or antenna device, but the DU can implement protocol stack functions, e.g. the DU can implement physical layer functions. The point is that it can.

또한, 본 출원의 실시예들에서, 액세스 네트워크 디바이스는 액세스 네트워크(radio access network, RAN) 내의 디바이스, 또는 다시 말해서, 단말 디바이스를 무선 네트워크에 접속시키는 RAN 노드이다. 예를 들어, 제한이 아니라, 예로서, 액세스 네트워크 디바이스는 gNB, 전송 수신 포인트(transmission reception point, TRP), 진화된 NodeB(evolved NodeB, eNB), 라디오 네트워크 제어기(radio network controller, RNC), NodeB(NodeB, NB), 기지국 제어기(base station controller, BSC), 베이스 트랜시버 스테이션(base transceiver station, BTS), 홈 기지국(예를 들어, 홈 진화된 NodeB, 또는 홈 NodeB, HNB), 기저대역 유닛(base band unit, BBU), 무선 충실도(wireless fidelity, Wi-Fi) 액세스 포인트(access point, AP) 등일 수 있다.Also, in embodiments of the present application, an access network device is a device within a radio access network (RAN), or in other words, a RAN node connecting a terminal device to a radio network. For example, by way of example and not limitation, an access network device may include a gNB, a transmission reception point (TRP), an evolved NodeB (eNB), a radio network controller (RNC), a NodeB (NodeB, NB), base station controller (BSC), base transceiver station (BTS), home base station (eg, home evolved NodeB, or home NodeB, HNB), baseband unit ( It may be a base band unit (BBU), wireless fidelity (Wi-Fi) access point (AP), and the like.

액세스 네트워크 디바이스는 셀에 대한 서비스들을 제공한다. 단말 디바이스는 셀에 의해 이용되는 전송 리소스(예를 들어, 주파수 도메인 리소스, 또는 다시 말해서, 스펙트럼 리소스)를 이용하여 액세스 네트워크 디바이스와 통신한다. 셀은 액세스 네트워크 디바이스(예를 들어, 기지국)에 대응하는 셀일 수 있고, 셀은 매크로 기지국에 속할 수 있거나, 소형 셀(small cell)에 대응하는 기지국에 속할 수 있다. 본 명세서에서의 소형 셀은 메트로 셀(metro cell), 마이크로 셀(micro cell), 피코 셀(pico cell), 펨토 셀(femto cell) 등을 포함할 수 있다. 이러한 소형 셀들은 작은 커버리지 및 낮은 전송 전력의 특성들을 가지며, 고속 데이터 전송 서비스를 제공하는데 적용가능하다.An access network device provides services to a cell. The terminal device communicates with the access network device using transmission resources (eg frequency domain resources, or in other words, spectral resources) used by the cell. A cell may be a cell corresponding to an access network device (eg, a base station), a cell may belong to a macro base station, or may belong to a base station corresponding to a small cell. A small cell in the present specification may include a metro cell, a micro cell, a pico cell, a femto cell, and the like. These small cells have characteristics of small coverage and low transmission power, and are applicable to providing high-speed data transmission service.

본 출원의 실시예들에서, 코어 네트워크 디바이스는 액세스 네트워크 디바이스에 접속될 수 있어서, 단말 디바이스는 액세스 네트워크 디바이스를 통해 코어 네트워크 디바이스와 통신할 수 있다. 예를 들어, 코어 네트워크 디바이스는 다음의 네트워크 요소들 또는 기능들을 포함할 수 있다:In embodiments of the present application, a core network device may be connected to an access network device, such that a terminal device may communicate with the core network device via the access network device. For example, a core network device may include the following network elements or functions:

액세스 관리 기능(access management function, AMF)은, 등록 관리(registration management, RM) 및 접속 관리(connection management, CM), 액세스 인증 및 액세스 허가, 도달가능성 관리, 이동성 관리 등을 포함하는, 액세스 및 이동성 제어를 주로 담당한다.Access management function (AMF) is access and mobility, including registration management (RM) and connection management (CM), access authentication and access authorization, reachability management, mobility management, etc. mainly responsible for control.

사용자 평면 기능(user plane function, UPF)은 주로, PDU 세션과 데이터 네트워크 사이의 접속 포인트, 데이터 패킷 라우팅 및 전달, 데이터 패킷 검출 및 사용자 평면 정책 시행, 사용자 평면에 대한 QoS 처리, 다운링크 데이터 패킷 버퍼링, 다운링크 데이터 통지 트리거링 등을 포함하는 사용자 평면 지원을 제공한다.The user plane function (UPF) is mainly an access point between the PDU session and the data network, data packet routing and forwarding, data packet detection and user plane policy enforcement, QoS processing for the user plane, and downlink data packet buffering. , downlink data notification triggering, etc. to provide user plane support.

패킷 제어 기능(packet control function, PCF)은 네트워크 거동을 통제하기 위해 통합 정책 프레임워크들을 지원하는 것 및 정책 규칙들을 제어 평면들에 제공하여 이들을 시행하는 것을 포함하는 정책 제어 기능을 주로 제공한다.The packet control function (PCF) primarily provides policy control functionality, including supporting unified policy frameworks to govern network behavior and providing policy rules to the control planes to enforce them.

인증 서비스 기능(authentication server function, AUSF)은 인증 및 허가와 같은 보안 관련 기능들을 제공하는 것을 주로 담당한다.The authentication server function (AUSF) is mainly responsible for providing security-related functions such as authentication and authorization.

통합 데이터 관리(unified data Management, UDM)는 인증 자격증명 처리, 사용자 식별 처리, 가입 정보 관리, 액세스 허가 등을 포함하는, 사용자 인증 및 허가에 관련된 기능들을 담당한다.Unified data management (UDM) is responsible for functions related to user authentication and authorization, including authentication credential processing, user identification processing, subscription information management, access authorization, and the like.

세션(session): 세션은 서비스의 기본 단위이다. 서비스는 하나 이상의 세션을 포함할 수 있다. 하나의 세션에서는 패킷들에 대해 엄격한 순서 보존이 요구되지만, 상이한 세션들에서는 패킷들에 대해 이것이 요구되지 않는다는 것이 중요하다. 통신 용어 "플로우(flow)"는 본 출원의 실시예들에서 통신 용어 "세션"과 등가일 수 있다. 본 출원의 실시예들에서 언급된 플로우 및 세션 둘 다는 단방향이다. 본 명세서에서, 세션은 3-투플들의 동일한 "해시 값들"을 갖는 모든 패킷들의 세트로서 이해될 수 있다.Session: A session is the basic unit of service. A service can contain one or more sessions. It is important to note that while strict order preservation is required for packets in one session, it is not required for packets in different sessions. The communication term "flow" may be equivalent to the communication term "session" in embodiments of the present application. Both flow and session mentioned in the embodiments of this application are unidirectional. In this specification, a session can be understood as a set of all packets having the same “hash values” of 3-tuples.

베어러: 공중 데이터 네트워크(Public Data Network, PDN) 접속은 UE와 PGW 사이의 터널이고, 진화된 패킷 시스템(Evolved Packet System, EPS) 베어러는 PDN 접속에 포함된 더 작은 터널이다. PDN 접속은 IP 접속성을 위한 것이다. 동일한 PDN 접속에서, 상이한 EPS 베어러들은 상이한 서비스 품질을 나타낸다. PDN 접속이 셋업되는 동안, 하나의 EPS 베어러가 셋업되는데, 이는 디폴트 베어러라고 지칭된다. 동일한 PDN 접속에서, 후속하여 셋업되는 EPS 베어러는 전용 베어러라고 지칭된다. 베어러의 동일한 방향에서의 데이터 패킷들은 (GTP 헤더에 있는) 동일한 TEID 값을 갖는다. 디폴트 베어러만이 존재하는 경우, 하나의 UE가 하나의 베어러에 대응하는 것으로 단순히 고려될 수 있다. 베어러의 개념은 5G에서 이용되지 않지만, "PDU 세션"이 대신 이용된다. 본 출원의 실시예들에서, 4G 베어러 또는 5G PDU 세션이 이용될 수 있다. 베어러라는 용어가 아래에서 설명을 위해 사용된다.Bearer: A Public Data Network (PDN) connection is a tunnel between a UE and a PGW, and an Evolved Packet System (EPS) bearer is a smaller tunnel included in a PDN connection. A PDN connection is for IP connectivity. In the same PDN connection, different EPS bearers represent different quality of service. While the PDN connection is being set up, one EPS bearer is being set up, which is referred to as the default bearer. In the same PDN connection, the subsequently set up EPS bearer is referred to as a dedicated bearer. Data packets in the same direction of the bearer have the same TEID value (in the GTP header). If there is only a default bearer, one UE can simply be considered as corresponding to one bearer. The concept of a bearer is not used in 5G, but a "PDU session" is used instead. In embodiments of the present application, a 4G bearer or 5G PDU session may be used. The term bearer is used below for explanation.

해시 알고리즘: 임의의 길이의 이진 스트링을 고정 길이의 이진 스트링에 매핑하기 위한 매핑 규칙이 해시 알고리즘으로 지칭되고, 원래의 데이터 매핑을 통해 획득된 이진 값이 해시 값으로 지칭된다. 해시 알고리즘은 다음의 특징들을 갖는다:Hash Algorithm: A mapping rule for mapping a binary string of arbitrary length to a binary string of fixed length is referred to as a hash algorithm, and a binary value obtained through original data mapping is referred to as a hash value. The hash algorithm has the following characteristics:

1. 단방향이고 역으로 원래의 데이터를 추론하기가 어렵기 때문에, 원래의 데이터는 해시 값으로부터 역으로 추론될 수 없다.1. Since it is one-way and difficult to infer the original data in reverse, the original data cannot be inferred backward from the hash value.

2. 입력 데이터에 민감하고 애벌란시 효과를 갖는다. 하나의 비트만이 수정되더라도, 획득된 해시 값들은 동일하다.2. It is sensitive to input data and has an avalanche effect. Even if only one bit is modified, the obtained hash values are the same.

3. 해시 충돌에서의 낮은 확률을 갖는다. 해시 키들이 상이한 경우, 계산된 해시 값들이 동일할 확률이 낮다.3. Has a low probability of hash collisions. If the hash keys are different, the probability that the calculated hash values are the same is low.

도 1은 본 출원의 실시예에 따른 응용 시나리오(100)의 개략도이다. 도 1에서, 액세스 네트워크 디바이스(110) 및 코어 네트워크 디바이스(120)가 포함된다. 액세스 네트워크 디바이스(110)는, 예를 들어, 진화된 범용 모바일 전기통신 시스템 지상 라디오 액세스(evolved UMTS terrestrial radio access, E-UTRA) 시스템에서, 또는 NR 시스템에서, 또는 차세대 통신 시스템 또는 다른 통신 시스템에서 작동한다. 통신 시스템에서, 액세스 네트워크 디바이스(110) 및 코어 네트워크 디바이스(120)는 서로 데이터를 전송할 수 있고, 따라서 통신 시스템은 무선 백홀 네트워크라고도 지칭된다.1 is a schematic diagram of an application scenario 100 according to an embodiment of the present application. In FIG. 1 , an access network device 110 and a core network device 120 are included. The access network device 110 may be used, for example, in an evolved universal mobile telecommunications system, an evolved UMTS terrestrial radio access (E-UTRA) system, or in a NR system, or in a next generation communication system or other communication system. It works. In the communication system, the access network device 110 and the core network device 120 can transmit data to each other, so the communication system is also referred to as a wireless backhaul network.

도 1에서, 액세스 네트워크 디바이스는 예를 들어 기지국이다. 액세스 네트워크 디바이스는 상이한 시스템들에서의 상이한 디바이스들에 대응한다. 예를 들어, 액세스 네트워크 디바이스는 4G 시스템에서의 eNB에 대응할 수 있고, 5G 시스템에서의 gNB와 같은 5G 액세스 네트워크 디바이스에 대응할 수 있다. 본 출원의 실시예들에서 제공되는 기술적 해결책들은 미래의 모바일 통신 시스템에도 적용될 수 있다. 따라서, 도 1의 액세스 네트워크 디바이스는 미래의 모바일 통신 시스템에서의 액세스 네트워크 디바이스에 대응할 수 있다. 도 1에서, 액세스 네트워크 디바이스가 기지국인 예가 이용된다. 실제로, 액세스 네트워크 디바이스에 대해서는 전술한 설명을 참조한다.In Fig. 1, the access network device is for example a base station. An access network device corresponds to different devices in different systems. For example, an access network device may correspond to an eNB in a 4G system and may correspond to a 5G access network device such as a gNB in a 5G system. The technical solutions provided in the embodiments of the present application may also be applied to future mobile communication systems. Thus, the access network device of FIG. 1 may correspond to an access network device in a future mobile communication system. In Fig. 1, an example is used where the access network device is a base station. In practice, reference is made to the above description for access network devices.

도 1에 도시된 통신 시스템은 더 많은 네트워크 노드들, 예를 들어, 단말 디바이스, 다른 액세스 네트워크 디바이스, 보안 게이트웨이, 및 스위치와 같은 디바이스들을 추가로 포함할 수 있다는 점이 이해되어야 한다. 도 1에 도시된 통신 시스템에 포함된 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스는 전술한 다양한 형태들의 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스일 수 있다. 상세들은 본 출원의 이 실시예에서 도면에 하나씩 도시되지 않는다.It should be understood that the communication system shown in FIG. 1 may further include more network nodes, for example devices such as terminal devices, other access network devices, security gateways, and switches. The access network device or core network device included in the communication system shown in FIG. 1 may be the aforementioned various types of access network devices or core network devices. Details are not shown one by one in the drawings in this embodiment of the present application.

본 출원에서의 기술적 해결책들은 다른 통신 시스템에도 적용될 수 있다. 도 1에 도시된 통신 시스템은 본 출원에 대해 제한을 두지 않는다.The technical solutions in this application can also be applied to other communication systems. The communication system shown in FIG. 1 is not limiting for this application.

데이터 패킷이 네트워크 노드에서 전송될 때, 대역폭은 기하급수적으로 증가할 수 있고, 전기 전자 기술자 협회(Institute of electrical and Electronics engineers, IEEE) 802.3ad(IEEE 802.3ad는 링크 집성을 수행하기 위한 표준 방법임) 이더넷 링크 집성 기술과 등가 루트 부하 밸런싱 기술의 조합을 이용하여 데이터 전송의 더 높은 신뢰성이 달성될 수 있다. 네트워크 노드에 복수의 전송 경로가 존재하는 경우, 노드의 복수의 데이터 패킷은 대역폭 이용을 최대화하기 위해 경로들 상에 균등하게 분배될 필요가 있다. 또한, 동일한 세션의 데이터 패킷들은 동일한 세션 또는 플로우의 데이터 패킷들이 순서가 바뀌지 않는 것을 보장하기 위해 동일한 경로 상에서 전달될 필요가 있다. 다중-경로 시나리오에서, 세션의 데이터 패킷들이 전달을 위해 복수의 경로들 상에 균등하게 분배되면, 순서 바뀜이 발생할 수 있고, 이는 세션의 정상 기능들 및 성능을 손상시킬 수 있다. 따라서, 통신 산업에서 동일한 세션의 데이터 패킷들에 대해 순서 보존이 요구된다.As data packets are transmitted in network nodes, the bandwidth can increase exponentially, and according to the Institute of Electrical and Electronics Engineers (IEEE) 802.3ad (IEEE 802.3ad is a standard method for performing link aggregation ) Higher reliability of data transmission can be achieved using a combination of Ethernet link aggregation technology and equivalent route load balancing technology. When multiple transmission paths exist in a network node, the multiple data packets of a node need to be evenly distributed over the paths to maximize bandwidth utilization. Also, data packets of the same session need to be delivered on the same path to ensure that data packets of the same session or flow do not change order. In a multi-path scenario, if data packets of a session are evenly distributed on multiple paths for delivery, out-of-order may occur, which may impair normal functions and performance of the session. Therefore, order preservation is required for data packets of the same session in the telecommunications industry.

도 2는 종단간 부하 밸런싱 거동을 도시한다. 전달 노드 R1에서의 전달을 위한 2개의 경로가 있다. 제1 세션은 흑색 블록들로 표현되고, 제2 세션은 백색 블록들로 표현된다. 제1 세션의 데이터 패킷은 전달 노드 R2 및 전달 노드 R3을 통해 전달 노드 R5에 도달하고, 제2 세션의 데이터 패킷은 전달 노드 R4를 통해 전달 노드 R5에 도달한다. 동일한 세션의 데이터 패킷들은 동일한 세션의 데이터 패킷들이 순서가 바뀌지 않는 것을 보장하기 위해 동일한 경로 상에서 전달된다. 도 2의 전달 노드들은 도 1에 도시된 액세스 네트워크 디바이스와 코어 네트워크 디바이스 사이의 전달 노드들일 수 있다. 예를 들어, 액세스 네트워크 디바이스와 코어 네트워크 디바이스 사이의 데이터 링크는 전달 노드들 R1, R2, R3, R4, 및 R5를 포함한다.2 shows end-to-end load balancing behavior. There are two paths for delivery at forwarding node R1. The first session is represented by black blocks and the second session by white blocks. Data packets of the first session arrive at forwarding node R5 through forwarding nodes R2 and R3, and data packets of the second session reach forwarding node R5 through forwarding node R4. Data packets of the same session are delivered on the same path to ensure that data packets of the same session do not change order. The forwarding nodes of FIG. 2 may be forwarding nodes between the access network device and the core network device shown in FIG. 1 . For example, a data link between an access network device and a core network device includes forwarding nodes R1, R2, R3, R4, and R5.

이하에서는, 도 3을 참조하여, 동일한 세션의 데이터 패킷들이 순서가 바뀌지 않는 것을 보장하기 위해 동일한 세션의 데이터 패킷들이 동일한 경로 상에서 전달되는 이유를 추가로 설명한다. 도 3은 동일한 세션의 데이터 패킷들이 순서가 바뀌지 않는 것을 보장하기 위해 동일한 경로 상에서 동일한 세션의 데이터 패킷들을 전달하는 개략적인 흐름도이다. 도 3에서의 번호들은 각각의 세션들에서의 데이터 패킷들의 시퀀스 번호들을 나타낸다. 도 3은 3개의 세션, 즉 제1 세션, 제2 세션 및 제3 세션을 도시한다. 제1 세션을 예로서 이용하면, 전달 전의 제1 세션의 데이터 패킷들의 시퀀스는 1, 2, 및 3이고, 전달 후의 제1 세션의 데이터 패킷들의 시퀀스는 무질서 없이 여전히 1, 2, 및 3이다. 반대로, 동일한 세션의 데이터 패킷들이 상이한 경로들을 통해 전달되면, 데이터 패킷들은 순서가 바뀔 수 있는데, 예를 들어, 데이터 패킷들의 순서는 3, 1, 및 2이며, 서비스 성능에 영향을 미친다.In the following, with reference to FIG. 3, the reason why data packets of the same session are transferred on the same path to ensure that the data packets of the same session do not change order is further explained. Figure 3 is a schematic flow diagram of forwarding data packets of the same session on the same path to ensure that data packets of the same session do not change order. Numbers in FIG. 3 represent sequence numbers of data packets in respective sessions. Figure 3 shows three sessions: a first session, a second session and a third session. Using the first session as an example, the sequence of data packets of the first session before delivery is 1, 2, and 3, and the sequence of data packets of the first session after delivery is still 1, 2, and 3 without disorder. Conversely, if data packets of the same session are delivered through different paths, the data packets may be out of order, for example, the order of data packets is 3, 1, and 2, which affects service performance.

IPv4 시대에, 5-투플(예를 들어, 소스 IP 주소(Source IP, SIP), 목적지 IP 주소(Destination IP, DIP), 전송 계층 프로토콜(Protocol, Prot), 소스 포트(Source Port, SPt), 및 목적지 포트(Destination Port, DPt)를 포함할 수 있음)은 데이터 패킷들이 동일한 세션에 속하는지를 결정하는데 일반적으로 이용된다. 구체적으로, IPv4 패킷의 5-투플에 대해 해시 계산이 수행되고, 2개의 데이터 패킷의 해시 계산 결과들이 일치하면, 2개의 데이터 패킷은 동일한 세션에 속한다. 상이한 해시 값들을 계산하는 프로세스는 해싱이라고도 지칭될 수 있다. 더 많은 상이한 해시 값들은 해싱이 더 적절하다는 것을 나타낸다. 통계적 관점에서, 전체 대역폭 이용을 위해 복수의 경로들 상에서 데이터 패킷들을 균등하게 전달하는 것이 더 쉽다.In the era of IPv4, 5-tuples (e.g. Source IP, SIP), Destination IP Address (Destination IP, DIP), Transport Layer Protocol (Protocol, Prot), Source Port (SPt), and Destination Port (DPt)) is generally used to determine whether data packets belong to the same session. Specifically, hash calculation is performed on 5-tuples of IPv4 packets, and if hash calculation results of two data packets match, the two data packets belong to the same session. The process of calculating different hash values may also be referred to as hashing. More different hash values indicate that hashing is more appropriate. From a statistical point of view, it is easier to distribute data packets evenly over multiple paths for full bandwidth utilization.

네트워크 노드는 모든 데이터 패킷들에 대한 계산을 수행하여 데이터 패킷들의 5-투플 해시 값들을 획득한다. 각각의 해시 값은 세션을 고유하게 나타낸다. 전달 동안 동일한 세션의 데이터 패킷들의 순서 보존을 보장하기 위해, 동일한 해시 값을 갖는 패킷들은 동일한 경로 상에서 전달될 수 있고, 상이한 해시 값들을 갖는 패킷들은 복수의 경로들 상에서 전달될 수 있다.The network node performs calculations on all data packets to obtain the 5-tuple hash values of the data packets. Each hash value uniquely represents a session. To ensure order preservation of data packets of the same session during forwarding, packets with the same hash value can be forwarded on the same route, and packets with different hash values can be forwarded on multiple routes.

도 3 및 표 1을 참조하여, 5-투플, 해시 값, 및 세션 간의 관계, 및 부하 밸런싱 거동이 추가로 설명된다. 제1 세션, 제2 세션, 및 제3 세션을 도 3으로부터 직관적으로 볼 수 있다. 이하의 표는 각각의 세션의 5-투플에 기반하여 해시 계산을 수행함으로써 획득된 해시 값들을 나타낸다. 5-투플의 각각의 부분은 해시 키이다. 해시 알고리즘을 이용하여 해시 값을 획득하기 위해 5개의 해시 키가 이용된다. 5-투플에서의 하나 이상의 상이한 필드는 상이한 해시 값들을 야기할 수 있다. 해시 값은 세션을 고유하게 식별한다. 동일한 세션의 데이터 패킷들은 하나의 경로 상에서 전달될 수 있고, 상이한 세션들의 데이터 패킷들은 상이한 경로들 상에서 전달될 수 있다. 이것은 임의의 세션에서의 데이터 패킷들의 순서가 소스 노드 및 목적지 노드 둘 다에 대해 보존되는 것을 보장한다.Referring to FIG. 3 and Table 1, the relationship between 5-tuples, hash values, and sessions, and load balancing behavior are further described. A first session, a second session, and a third session can be seen intuitively from FIG. 3 . The table below shows hash values obtained by performing hash calculation based on the 5-tuple of each session. Each part of the 5-tuple is a hash key. Five hash keys are used to obtain a hash value using a hash algorithm. One or more different fields in the 5-tuple may result in different hash values. The hash value uniquely identifies a session. Data packets of the same session may be carried on one path, and data packets of different sessions may be carried on different paths. This ensures that the order of data packets in any session is preserved for both the source and destination nodes.

표 1 5-투플에 기반하여 계산된 해시 값들Table 1 hash values calculated based on 5-tuple

Figure pct00001
Figure pct00001

복수의 경로들 상에서 IPv6 데이터 패킷들을 전달하기 위한 부하 밸런싱 알고리즘의 경우, IETF-RFC 6437 사양(즉, 인터넷 엔지니어링 태스크 포스(The Internet Engineering Task Force, IETF) 코멘트 요청(Request For Comments, RFC), 여기서 RFC는 인터넷 엔지니어링 태스크 포스(IETF)에 의해 릴리즈됨)에 따라, 패킷 분배는 3-투플(예를 들어, SIP, DIP, 및 플로우 레이블 Flow_Label을 포함할 수 있음) 해시에 기반하여 수행될 수 있다. 그러나, IPv6 Flow_Label 필드는 산업에서 개방적으로 이용되고 공통 이용을 갖지 않으며, 그 표준에서 IPv6 Flow_Label 필드에 대한 필수 요건이 없다. 현재, 해결책은 Flow_Label의 모든 20 비트를 0으로 설정하는 것이다. 따라서, 패킷 분배가 3-투플(SIP, DIP, 및 플로우 레이블 Flow_Label을 포함함) 해시에 기반하여 수행되면, 많은 데이터 패킷들의 전송 경로들이 동일한 것으로 결정된다. 이것은 대역폭을 크게 낭비한다.For a load balancing algorithm for forwarding IPv6 data packets over multiple routes, the IETF-RFC 6437 specification (i.e., The Internet Engineering Task Force (IETF) Request For Comments (RFC), where: According to the RFC released by the Internet Engineering Task Force (IETF), packet distribution may be performed based on a 3-tuple (e.g., may contain SIP, DIP, and flow label Flow_Label) hash . However, the IPv6 Flow_Label field is used openly in industry and has no common use, and there is no mandatory requirement for the IPv6 Flow_Label field in the standard. Currently, the solution is to set all 20 bits of Flow_Label to zero. Therefore, if packet distribution is performed based on the 3-tuple (including SIP, DIP, and flow label Flow_Label) hash, the transmission paths of many data packets are determined to be the same. This is a huge waste of bandwidth.

현재의 기술에서, 패킷 분배는 5-투플(SIP, DIP, 다음 헤더, SPt, 및 Dpt) 해시에 기반하여 IPv6 패킷들에 대해 수행되며, 즉, 복수의 IPv6 패킷들이 상이한 경로들 상에서 전달된다. 5-투플 해시가 IPv6 패킷들의 분배에 이용되더라도, 부하 밸런싱은 다음의 시나리오들에서 완전히 구현될 수 없다.In current technology, packet distribution is performed for IPv6 packets based on a 5-tuple (SIP, DIP, Next Header, SPt, and Dpt) hash, i.e., multiple IPv6 packets are delivered on different paths. Even if the 5-tuple hash is used for distribution of IPv6 packets, load balancing cannot be fully implemented in the following scenarios.

예를 들어, 하나의 공중 데이터 네트워크(Public Data Network Gateway, PGW)/사용자 평면 기능(User Plane Function, UPF)에 더하여 하나의 로컬 서비스를 포함하는 전형적인 IPv6 기반 시나리오에서, PGW/UPF가 IPv6 주소로 구성되고, 기지국이 IPv6 주소로 구성된다. 따라서, 표 2에 나타낸 바와 같이, 모든 데이터 패킷들의 3-투플들 또는 5-투플들의 내용은 동일하고, 모든 데이터 패킷들의 3-투플들 또는 5-투플들에 기반하여 계산된 해시 값들은 동일하다. 그 결과, 데이터 패킷들은 해싱될 수 없고, 모두 동일한 경로 상에서 전달되어, 부하 밸런싱 실패를 초래하고 유휴 경로들의 대역폭을 낭비한다.For example, in a typical IPv6-based scenario involving one Public Data Network Gateway (PGW)/User Plane Function (UPF) plus one local service, the PGW/UPF is an IPv6 address. configured, and the base station is configured with an IPv6 address. Therefore, as shown in Table 2, the contents of the 3-tuples or 5-tuples of all data packets are the same, and the hash values calculated based on the 3-tuples or 5-tuples of all the data packets are the same . As a result, data packets cannot be hashed and are all forwarded on the same path, resulting in load balancing failure and wasting bandwidth on idle paths.

표 2Table 2 상이한 사용자들의 데이터 패킷들의 완전히 동일한 해시 값들Exactly the same hash values of data packets of different users

Figure pct00002
Figure pct00002

다른 예에서, 복수의 공중 데이터 게이트웨이들(PGW들)/사용자 평면 기능들(UPF들)에 더하여 복수의 로컬 서비스들을 포함하는 IPv6 기반 시나리오에서, PGW들/UPF들은 2개의 IPv6 주소, 즉 IPv6_1 및 IPv6_2로 구성된다. 기지국은 또한 2개의 IPv6 주소, 즉 IPv6_1 및 IPv6_2로 구성된다. 모든 데이터 패킷들의 3-투플들 또는 5-투플들의 해시 값들은 표 3에 나타낸 바와 같이 제한된 방식으로 구별될 수 있다. 그러나, PGW/UPF/기지국에 대해 구성된 IPv6 주소들의 양은 제한되어, 데이터 패킷들이 완전히 해싱될 수 없다. 그 결과, 트래픽은 복수의 경로 상에 균등하게 분배될 수 없고, 부하 밸런싱 성능이 부적절하다. 표 3에 나타낸 기지국 IPv6_1은 평문 IPv6 주소이다.In another example, in an IPv6-based scenario that includes multiple local services in addition to multiple public data gateways (PGWs)/user plane functions (UPFs), the PGWs/UPFs have two IPv6 addresses, namely IPv6_1 and It consists of IPv6_2. The base station is also configured with two IPv6 addresses, IPv6_1 and IPv6_2. Hash values of 3-tuples or 5-tuples of all data packets can be distinguished in a limited way as shown in Table 3. However, the amount of IPv6 addresses configured for a PGW/UPF/base station is limited, so data packets cannot be fully hashed. As a result, traffic cannot be evenly distributed over multiple paths, and load balancing performance is inadequate. The base station IPv6_1 shown in Table 3 is a plain text IPv6 address.

표 3Table 3 상이한 사용자들의 데이터 패킷들에 대해 계산된 2개만의 해시 값Only two hash values calculated for data packets of different users

Figure pct00003
Figure pct00003

다른 예에서, IPv6 인터넷 보안 프로토콜(Internet Protocol Security, IPsec) 시나리오에서, 한 쌍의 인터넷 키 교환(Internet Key Exchange, IKE) IPv6 주소들(즉, 본 명세서에서 설명된 암호문 IPv6 주소들)이 이용된다. 상이한 사용자들의 암호화된 데이터 패킷들의 SIP들 및 DIP들의 값들은 모두 동일하다. 따라서, 표 4에 나타낸 바와 같이, 모든 사용자들의 암호화된 데이터 패킷들의 암호문들의 해시 값들은 동일하다(ESP 캡슐화 또는 AH 캡슐화를 이용하는 것에 관계없이 IPsec 패킷들에는 SPt 또는 DPt 필드가 존재하지 않는다). 그 결과, 데이터 패킷들은 해싱될 수 없어서, 부하 밸런싱 실패를 초래한다. 표 4에서의 로컬 터널 IP 주소는 암호문 IPv6 주소이다.In another example, in an IPv6 Internet Protocol Security (IPsec) scenario, a pair of Internet Key Exchange (IKE) IPv6 addresses (i.e., the ciphertext IPv6 addresses described herein) are used. . The values of SIPs and DIPs of encrypted data packets of different users are all the same. Thus, as shown in Table 4, the hash values of the ciphertexts of all users' encrypted data packets are the same (there is no SPt or DPt field in IPsec packets regardless of whether they use ESP encapsulation or AH encapsulation). As a result, data packets cannot be hashed, resulting in load balancing failure. The local tunnel IP addresses in Table 4 are ciphertext IPv6 addresses.

표 4 상이한 사용자들의 암호화된 데이터 패킷들의 완전히 동일한 해시 값들Table 4 Exactly identical hash values of encrypted data packets of different users

Figure pct00004
Figure pct00004

다른 예에서, 경로 최대 전송 유닛(path Maximum Transmission Unit, PMTU) 메커니즘이 IPv6에 도입되어, IPv6에서의 단편화는 IPv4에서의 것과 비교하여 제어불가능하다. IPv6 소스 패킷 단편화의 시나리오에서, 소스 패킷이 단편화된 후에, 제1 칩은 소스 패킷의 완전한 헤더 정보를 보유하고, 후속 칩들은 IPv6 헤더들만을 갖지만 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP) 헤더들은 갖지 않는다. 5-투플 해시가 이용되면, 제1 칩의 해시 값은 후속 칩들의 해시 값들과 상이하고, 상이한 단편화 패킷들이 상이한 경로들 상에서 전달되어, 동일한 세션에서의 패킷들의 무질서를 초래한다. 표 5에 나타낸 바와 같이, 사용자의 데이터 패킷이 단편화된 후에, 제2 칩은 UDP 헤더 정보를 손실한다. 따라서, 제2 칩의 해시 값은 제1 칩의 해시 값과 상이하다. 그 결과, 단편화 패킷들은 2개의 경로 상에서 전달되고 무질서하게 집성 노드에 도달할 수 있는데, 즉, 제2 칩은 제1 칩 전에 목적지에 도달하여, 성능에 영향을 미친다.In another example, a path maximum transmission unit (PMTU) mechanism is introduced in IPv6, such that fragmentation in IPv6 is uncontrollable compared to that in IPv4. In the scenario of IPv6 source packet fragmentation, after the source packet is fragmented, the first chip retains the complete header information of the source packet, and subsequent chips have only IPv6 headers but User Datagram Protocol (UDP) headers don't have If a 5-tuple hash is used, the hash value of the first chip is different from the hash values of subsequent chips, and different fragmented packets are delivered on different paths, resulting in disorder of the packets in the same session. As shown in Table 5, after the user's data packet is fragmented, the second chip loses UDP header information. Therefore, the hash value of the second chip is different from the hash value of the first chip. As a result, fragmented packets may be forwarded on two paths and reach the aggregation node out of order, i.e., the second chip arrives at the destination before the first chip, affecting performance.

표 5 사용자들의 단편화 데이터 패킷들의 상이한 해시 값들Table 5 Different Hash Values of Users' Fragmented Data Packets

Figure pct00005
Figure pct00005

지금, 현재 기술에서, 복수의 SIP들 또는 DIP들은 해싱을 위해 백홀 네트워크의 소스 또는 목적지 엔드에만 배치될 수 있다. 상세들은 다음과 같다. 평문 시나리오에서, 다중-서비스 IPv6은 SIP들/DIP들에서 차이를 만들어 해시 값들에서의 차이를 낳도록 로컬 엔드에서 구성되는 것이 추천된다. 또한, SIP들/DIP들의 양에 대한 요건들이 있다.Now, in current technology, multiple SIPs or DIPs can be deployed only at the source or destination end of the backhaul network for hashing. Details are as follows. In a plaintext scenario, it is recommended that multi-service IPv6 be configured at the local end to make a difference in SIPs/DIPs resulting in a difference in hash values. Also, there are requirements on the amount of SIPs/DIPs.

표 3에 나타낸 바와 같이, 표 3에 나타낸 시스템에서, 2개의 주소가 액세스 네트워크 디바이스 상에 배치되고, 2개의 주소가 코어 네트워크 디바이스 상에 배치된다. 따라서, 상이한 사용자들의 데이터 패킷들의 해시 값들이 상이하고, 부하 밸런싱이 성공할 수 있지만, 또한 실패할 수 있다. 해시 값과 선택된 경로 사이의 매핑의 구현에서, 해시 값이 다중-투플 해싱을 통해 획득된 후에, 경로 매핑을 위해 모듈로 계산이 수행된다. 예를 들어, 이중-경로 부하 밸런싱에서, 모듈로 2 계산이 수행된다. 즉, 해시 값을 2로 나누어 나머지를 얻는다. 그 결과가 0이면, PATH1이 선택되고, 그 결과가 1이면, PATH2가 선택된다. 3-경로 부하 밸런싱에서, 모듈로 3 계산이 수행된다. 즉, 해시 값을 3으로 나누어 나머지를 얻는다. 그 결과가 0이면, PATH1이 선택되고, 그 결과가 1이면, PATH2가 선택되고, 그 결과가 2이면, PATH3이 선택된다. 다른 경우들은 유추에 의해 추론된다. 복수의 SIP들/DIP들을 이용한 해시 및 모듈로 계산을 통해 획득된 결과들이 상이하다는 것이 보장될 필요가 있다. 그렇지 않으면, 부하 밸런싱이 구현될 수 없다. 따라서, 다중-투플 해시 계산을 통해 획득된 해시 값들에 대한 모듈로 계산을 수행함으로써 획득된 결과들이 고유하기 때문에 부하 밸런싱 실패를 피하기 위해 SIP/DIP 계획에 대해 적절한 고려 및 사전 계산이 필요하다. 표 6에 나타낸 바와 같이, 2개의 IPv6 주소가 기지국 상에 배치된다. 그러나, 부적절한 주소 선택으로 인해, 상이한 사용자들의 데이터 패킷들의 해시 값들이 상이하더라도, 모듈로 계산을 통해 획득된 결과들이 동일하여, 부하 밸런싱 실패를 초래한다.As shown in Table 3, in the system shown in Table 3, two addresses are placed on the access network device and two addresses are placed on the core network device. Thus, hash values of data packets of different users are different, and load balancing may succeed, but may also fail. In the implementation of the mapping between the hash value and the selected path, after the hash value is obtained through multi-tuple hashing, a modulo computation is performed for the path mapping. For example, in dual-path load balancing, a modulo 2 calculation is performed. That is, divide the hash value by 2 to get the remainder. If the result is 0, PATH1 is selected, and if the result is 1, PATH2 is selected. In 3-path load balancing, a modulo 3 calculation is performed. That is, divide the hash value by 3 to get the remainder. If the result is 0, PATH1 is selected, if the result is 1, PATH2 is selected, and if the result is 2, PATH3 is selected. Other cases are inferred by analogy. It needs to be ensured that results obtained through hash and modulo calculation using a plurality of SIPs/DIPs are different. Otherwise, load balancing cannot be implemented. Therefore, proper consideration and pre-computation are required for SIP/DIP schemes to avoid load balancing failures because results obtained by performing modulo computation on hash values obtained through multi-tuple hash computation are unique. As shown in Table 6, two IPv6 addresses are deployed on the base station. However, due to improper address selection, even if hash values of data packets of different users are different, results obtained through modulo calculation are the same, resulting in load balancing failure.

표 6 기지국 상에 2개의 IPv6 주소를 배치하는 시나리오에서의 실패한 부하 밸런싱Table 6 Failed Load Balancing in the Scenario of Deploying Two IPv6 Addresses on a Base Station

Figure pct00006
Figure pct00006

표 7에 나타낸 바와 같이, 2개의 IPv6 주소가 기지국 상에 배치된다. 선택된 주소들은 미리 계산된다. 상이한 사용자들의 데이터 패킷들의 해시 값들은 상이하고, 모듈로 연산을 통해 획득된 결과들도 상이하다. 따라서, 부하 밸런싱이 성공한다.As shown in Table 7, two IPv6 addresses are deployed on the base station. Selected addresses are precomputed. Hash values of data packets of different users are different, and results obtained through modulo operation are also different. Thus, load balancing succeeds.

표 7 기지국 상에 2개의 IPv6 주소를 배치하는 시나리오에서의 성공적인 부하 밸런싱Table 7 Successful load balancing in the scenario of deploying two IPv6 addresses on a base station

Figure pct00007
Figure pct00007

유사하게, 현재 기술에서는, IPv6 인터넷 프로토콜 보안(IPsec) 시나리오에서, 보안 게이트웨이의 복수의 IPv6 주소들 또는 로컬 엔드의 복수의 IPv6 주소들(보안 게이트웨이의 복수의 IPv6 주소들 및 로컬 엔드의 복수의 IPv6 주소들 둘 다는 외측 터널 암호문 IPv6 주소들을 지칭함)은 SIP들/DIP들에서 차이를 만들어 해시 값들에서의 차이를 낳도록 구성된다. 또한, SIP들/DIP들의 양에 대한 요건들이 있다.Similarly, in current technology, in an IPv6 Internet Protocol security (IPsec) scenario, multiple IPv6 addresses of a secure gateway or multiple IPv6 addresses of a local end (multiple IPv6 addresses of a secure gateway and multiple IPv6 addresses of a local end) Addresses (both refer to outer tunnel ciphertext IPv6 addresses) are configured to make a difference in SIPs/DIPs resulting in a difference in hash values. Also, there are requirements on the amount of SIPs/DIPs.

이 기술에서, 추가적인 IPv6 주소들이 사용자들을 위하여 배치될 필요가 있고, 다중-투플 해시 계산을 통해 획득된 모듈로의 비-고유성이 완전히 보장될 필요가 있다. 이것은, 네트워킹 설계, 진화된 해결책, 및 주소 계획을 방해하고, 비용을 증가시키며, 제품 경쟁력을 손상시키고, 심각한 해시 부적절성을 야기할 수 있다. 예를 들어, 2개의 SIP가 기지국 상에 구성되어 있는 경우, 단지 2개의 해시 값이 해시 알고리즘을 이용하여 해싱될 수 있고, 2개의 대응하는 경로에 대해 부하 밸런싱이 수행된다. 이것은 부하 밸런싱에서 심각한 불균등을 야기할 수 있다(이것은 하나의 경로가 극도로 큰 트래픽 양을 갖고, 다른 경로가 극도로 작은 트래픽 양을 갖는다는 것을 의미한다). 그 결과, 대역폭 리소스들이 완전히 이용될 수 없고, 부하 밸런싱이 손상되고, 신뢰성은 전송 계층(즉, 계층 4 프로토콜)의 검출 메커니즘에 의존한다. 제어 평면은 SCTP 하트브레이크 메커니즘에 따라 링크들을 검출한다. 링크가 결함이 있는 경우, 수렴에 45 내지 50 초가 걸리고, 여기서 45 내지 50은 전형적인 값들이고 구성을 통해 변경될 수 있다. 데이터 평면은 GTP-U 에코 메커니즘에 따라 링크들을 검출한다. 링크가 결함이 있는 경우, 수렴에 15 내지 75 초가 걸리고, 여기서 15 내지 75는 전형적인 값들이고 구성을 통해 변경될 수 있다. 경로 결함으로부터 발생하는 경로 스위칭이 발생할 때, 장시간 동안 서비스들이 중단되어, 서비스 경험에 영향을 미치고 신뢰성을 악화시킨다.In this technique, additional IPv6 addresses need to be deployed for users, and the non-uniqueness to the module obtained through multi-tuple hash calculation needs to be fully guaranteed. This can hamper networking design, evolved solutions, and address planning, increase cost, impair product competitiveness, and cause serious hash inadequacies. For example, if two SIPs are configured on a base station, only two hash values can be hashed using a hash algorithm, and load balancing is performed for the two corresponding paths. This can cause severe imbalance in load balancing (which means one path has an extremely large amount of traffic and another path has an extremely small amount of traffic). As a result, bandwidth resources cannot be fully utilized, load balancing is compromised, and reliability is dependent on the detection mechanism of the transport layer (ie, layer 4 protocol). The control plane detects links according to the SCTP heartbreak mechanism. If the link is faulty, convergence takes 45 to 50 seconds, where 45 to 50 are typical values and can be changed through configuration. The data plane detects links according to the GTP-U echo mechanism. If the link is faulty, convergence takes 15 to 75 seconds, where 15 to 75 are typical values and can be changed through configuration. When path switching occurs from a path fault, services are interrupted for a long time, affecting service experience and deteriorating reliability.

이것을 고려하여, 본 출원은, 대역폭 리소스들을 완전히 이용하기 위해, SIP/DIP를 추가함이 없이 베어러별로 해싱을 구현하는, 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법을 제공한다.Considering this, the present application provides a wireless network communication method based on Internet Protocol version IPv6, which implements hashing per bearer without adding SIP/DIP, in order to fully utilize bandwidth resources.

본 출원에서 제공되는 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법은 도 4를 참조하여 이하에서 상세히 설명된다. 도 4는 본 출원의 실시예에 따른, 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법(200)의 개략적인 흐름도이다. 방법(200)은 도 1에 도시된 시나리오에 적용될 수 있거나, 또는 물론 다른 통신 시나리오에 적용될 수 있다. 이것은 본 출원의 이 실시예에 제한되지 않는다.A wireless network communication method based on Internet protocol version IPv6 provided in the present application will be described in detail below with reference to FIG. 4 . 4 is a schematic flowchart of a wireless network communication method 200 based on Internet Protocol Version IPv6 according to an embodiment of the present application. Method 200 may be applied to the scenario shown in FIG. 1, or may of course be applied to other communication scenarios. This is not limited to this embodiment of the present application.

본 출원의 이 실시예에서, 이 방법은 액세스 네트워크 디바이스 및 코어 네트워크 디바이스에 의해 수행되는 예를 이용하여 이 방법이 설명된다는 것도 이해해야 한다. 제한이 아닌 예로서, 이 방법은 대안적으로 액세스 네트워크 디바이스 및 코어 네트워크 디바이스에서 이용되는 칩들, 칩 시스템들, 프로세서들 등에 의해 수행될 수 있다.It should also be understood that in this embodiment of the present application, this method is described using an example performed by an access network device and a core network device. By way of example and not limitation, the method may alternatively be performed by chips, chip systems, processors, etc. used in the access network device and the core network device.

도 4에 도시된 바와 같이, 도 4에 도시된 방법(200)은 S210 및 S220을 포함할 수 있다. 방법(200)의 단계들은 도 4를 참조하여 아래에 상세히 설명된다.As shown in FIG. 4 , the method 200 shown in FIG. 4 may include S210 and S220. The steps of method 200 are described in detail below with reference to FIG. 4 .

S210. 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정한다.S210. The transmission path of the plaintext IPv6 packet is determined based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet.

S220. 평문 IPv6 패킷의 결정된 전송 경로 상에서 평문 IPv6 패킷을 전송한다.S220. The plaintext IPv6 packet is transmitted on the determined transmission path of the plaintext IPv6 packet.

평문 IPv6 패킷의 전송 경로는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 결정된다. 터널 엔드포인트 식별자(TEID) 필드는 GTP 터널의 식별자이고, 각각의 베어러(이는 5G에서의 PDU 세션이고 강조 없이 이하에서 베어러로서 설명됨)의 TEID 필드는 상이하다. 따라서, 평문 IPv6 패킷의 전송 경로는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 결정되어, 동일한 베어러의 IPv6 패킷들이 동일한 경로 상에서 전송될 수 있고, 상이한 베어러들의 IPv6 패킷들이 부하 밸런싱을 위해 완전히 해싱될 수 있다는 것을 보장한다.The transmission path of the plaintext IPv6 packet is determined based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet. The Tunnel Endpoint Identifier (TEID) field is the identifier of the GTP tunnel, and the TEID field of each bearer (which is a PDU session in 5G and described as a bearer below without emphasis) is different. Therefore, the transmission path of the plaintext IPv6 packet is determined based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, so that IPv6 packets of the same bearer can be transmitted on the same route, and IPv6 packets of different bearers perform load balancing. guaranteed to be completely hashable for

본 출원의 이 실시예에서, 평문 IPv6 패킷은 데이터 서비스 IPv6 패킷이고, 평문 IPv4 패킷은 데이터 서비스 IPv4 패킷이다. 평문 패킷은 암호화 시나리오에서 암호문 패킷을 구별하는데만 이용된다. 암호문 IPv6 패킷은 평문 IPv6 패킷 또는 평문 IPv4 패킷을 암호화함으로써 획득된 데이터 서비스 IPv6 패킷이다.In this embodiment of the present application, the plaintext IPv6 packet is a data service IPv6 packet, and the plaintext IPv4 packet is a data service IPv4 packet. Plaintext packets are only used to differentiate ciphertext packets in encryption scenarios. The ciphertext IPv6 packet is a data service IPv6 packet obtained by encrypting a plaintext IPv6 packet or a plaintext IPv4 packet.

본 출원을 더 명확하게 이해하기 위해, 단계 S210이 아래에 상세히 설명된다.For a clearer understanding of the present application, step S210 is described in detail below.

IPv6 패킷의 기본 포맷이 먼저 설명된다. 도 5는 IPv6 패킷의 기본 포맷을 도시한다. IPv6 패킷은 IPv6 헤더 및 페이로드를 포함한다. IPv6 헤더는 다음을 포함한다:The basic format of IPv6 packets is explained first. 5 shows the basic format of an IPv6 packet. An IPv6 packet contains an IPv6 header and payload. The IPv6 header contains:

이 필드의 값이 6인 IP 버전(4 비트);IP Version (4 bits) where the value of this field is 6;

트래픽 부류(Traffic Class)(8 비트);Traffic Class (8 bits);

IPv6 데이터 패킷의 베어러에 관한 정보를 식별하는데 이용되는 플로우 레이블(Flow Label)(20 비트);Flow Label (20 bits) used to identify information about bearers of IPv6 data packets;

페이로드 길이(Payload Length)(16 비트) - 여기서, 확장 헤더가 또한 페이로드 길이에 포함됨 -;Payload Length (16 bits) where an extension header is also included in the payload length;

세그먼트화, 보안, 이동성, 느슨한 소스 라우팅, 및 루트 기록을 위한 새로운 방식인 다음 헤더(8 비트);Next Header (8 bits), a new method for segmentation, security, mobility, loose source routing, and route recording;

IP 패킷이 통과할 수 있는 최대 홉 수를 정의하는 홉 제한(Hop Limit)(8 비트) - 그리고 이 값은 각각의 홉에 대해 1씩 감소함 -;Hop Limit (8 bits) defining the maximum number of hops an IP packet can traverse - and this value is decremented by 1 for each hop;

소스 주소(Source Address)(128 비트);Source Address (128 bits);

목적지 주소(Destination Address)(128 비트); 및Destination Address (128 bits); and

데이터 패킷의 확장 헤더(Extension Header(s)).Extension Header(s) of data packets.

도 5에 도시된 IPv6 패킷의 IPv6 헤더의 플로우 레이블 필드는 0이고, 3-투플 해시 값들은 일치한다. 따라서, 3-투플을 이용하여 부하 밸런싱이 구현될 수 없다. 본 출원에서, 평문 IPv6 패킷의 전송 경로는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 결정된다. 상이한 베어러들의 평문 IPv6 패킷들의 터널 엔드포인트 식별자(TEID) 필드들이 상이하기 때문에, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 것은, 베어러의 패킷들이 동일한 경로 상에서 전달되고, 베어러의 패킷들이 순차적으로 전달되는 것을 보장할 수 있다. 또한, 상이한 베어러들의 해시 값들은 상이하고, 패킷들은 상이한 해시 값들에 기반하여 완전히 해싱되고, 이에 의해 부하 밸런싱을 구현한다.The flow label field of the IPv6 header of the IPv6 packet shown in FIG. 5 is 0, and the 3-tuple hash values are identical. Therefore, load balancing cannot be implemented using 3-tuples. In this application, a transmission path of a plaintext IPv6 packet is determined based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet. Since the tunnel endpoint identifier (TEID) fields of plaintext IPv6 packets of different bearers are different, determining the transmission path of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet is It can be ensured that it is delivered on the same path and that the packets of the bearer are sequentially delivered. Also, the hash values of different bearers are different, and the packets are completely hashed based on the different hash values, thereby implementing load balancing.

선택적으로, 단계 S210은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드를 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채우는 단계; 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 단계; 및 제1 해시 값에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하는 단계를 포함한다.Optionally, step S210 includes filling the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet into the Flow Label field of the plaintext IPv6 packet; obtaining a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field; and determining a transmission path of the plaintext IPv6 packet based on the first hash value.

따라서, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워지고, 그 후 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산이 수행되어 제1 해시 값을 획득한다. TEID 필드가 고유 베어러를 식별하기 때문에, 동일한 베어러의 해시 값들은 동일하고, 상이한 베어러들의 해시 값들은 상이하다. 평문 IPv6 패킷의 전송 경로는 제1 해시 값에 기반하여 결정되어, 베어러의 패킷들이 동일한 경로 상에서 전달되고, 베어러의 패킷들이 순차적으로 전달되는 것을 보장한다. 또한, 상이한 베어러들의 해시 값들은 상이하고, 패킷들은 상이한 해시 값들에 기반하여 완전히 해싱되고, 이에 의해 부하 밸런싱을 구현한다.Therefore, the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet, and then hash calculation based on the first parameter involved in hash calculation and the filled flow label field. is performed to obtain the first hash value. Since the TEID field uniquely identifies a bearer, hash values of the same bearer are the same, and hash values of different bearers are different. The transmission path of the plaintext IPv6 packet is determined based on the first hash value to ensure that the bearer's packets are delivered on the same path and that the bearer's packets are delivered sequentially. Also, the hash values of different bearers are different, and the packets are completely hashed based on the different hash values, thereby implementing load balancing.

예를 들어, 이중-경로 시나리오에서, 표 8에 나타낸 바와 같이, 기지국 및 코어 네트워크 각각은 IPv6 주소로 구성되지만, 상이한 사용자들의 TEID들은 상이하다. TEID 필드는 플로우 레이블(Flow Label) 필드를 채우는데 이용되고, 각각의 사용자에 대한 채워진 플로우 레이블 필드의 값은 상이하다. 각각의 사용자의 채워진 플로우 레이블 필드, SIP 및 DIP에 기반하여 3-투플 해시 값을 계산하여 상이한 해시 값들을 획득한다. 예를 들어, 사용자 1의 해시 값은 321이고, 사용자 2의 해시 값은 432이고, 사용자 3의 해시 값은 543이고, 사용자 4의 해시 값은 654이고, 사용자 5의 해시 값은 765이다. 경로 선택을 위해 복수의 상이한 해시 값에 대해 모듈로 연산을 수행하여, 사용자 1의 전송 경로가 PATH2이고, 사용자 2의 전송 경로가 PATH1이고, 사용자 3의 전송 경로가 PATH2이고, 사용자 4의 전송 경로가 PATH1이고, 사용자 5의 전송 경로가 PATH2인 것을 획득하여, 부하 밸런싱을 구현한다.For example, in a dual-path scenario, as shown in Table 8, each of the base station and core network is configured with an IPv6 address, but the TEIDs of different users are different. The TEID field is used to fill the flow label field, and the value of the filled flow label field for each user is different. Different hash values are obtained by calculating a 3-tuple hash value based on each user's populated flow label fields, SIP and DIP. For example, user 1's hash value is 321, user 2's hash value is 432, user 3's hash value is 543, user 4's hash value is 654, and user 5's hash value is 765. By performing a modulo operation on a plurality of different hash values for path selection, user 1's transmission path is PATH2, user 2's transmission path is PATH1, user 3's transmission path is PATH2, and user 4's transmission path is PATH1 and user 5's transmission path is PATH2, thereby implementing load balancing.

표 8 이중-경로 시나리오에서의 부하 밸런싱Table 8 Load Balancing in a Dual-Path Scenario

Figure pct00008
Figure pct00008

해시 계산에 수반되는 제1 파라미터는 다음의 파라미터들, 즉 평문 IPv6 패킷의 SIP, 평문 IPv6 패킷의 DIP, 평문 IPv6 패킷의 다음 헤더, 평문 IPv6 패킷의 소스 포트 SPt, 및 평문 IPv6 패킷의 목적지 포트 DPt 중 임의의 하나 이상을 포함할 수 있다는 것을 이해해야 한다.The first parameter involved in the hash calculation is the following parameters: SIP of the plaintext IPv6 packet, DIP of the plaintext IPv6 packet, next header of the plaintext IPv6 packet, source port SPt of the plaintext IPv6 packet, and destination port DPt of the plaintext IPv6 packet. It should be understood that it may include any one or more of these.

해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 것에 더하여, 제1 해시 값은 3-투플(평문 IPv6 패킷의 SIP, 평문 IPv6 패킷의 DIP, 및 채워진 플로우 레이블 필드를 포함함)에 기반하여 계산될 수 있다. 대안적으로, 제1 해시 값은 6-투플(평문 IPv6 패킷의 SIP, 평문 IPv6 패킷의 DIP, 평문 IPv6 패킷의 다음 헤더, 평문 IPv6 패킷의 소스 포트 SPt, 평문 IPv6 패킷의 목적지 포트 DPt, 및 채워진 플로우 레이블 필드를 포함함)에 기반하여 계산된다. 이것은 본 출원에서 제한되지 않는다. 본 출원의 이 실시예에서는, 평문 패킷 또는 암호문 패킷의 전송 경로를 결정하는 방법을 설명하기 위한 예로서 3-투플이 이용된다.In addition to obtaining the first hash value by performing hash calculation based on the first parameter involved in hash calculation and the filled flow label field, the first hash value is 3-tuple (SIP of plaintext IPv6 packet, SIP of plaintext IPv6 packet DIP, and a filled flow label field). Alternatively, the first hash value is a 6-tuple (SIP of the plaintext IPv6 packet, DIP of the plaintext IPv6 packet, next header of the plaintext IPv6 packet, source port SPt of the plaintext IPv6 packet, destination port DPt of the plaintext IPv6 packet, and padded flow label field). This is not limited in this application. In this embodiment of the present application, 3-tuple is used as an example for explaining a method of determining a transmission path of a plaintext packet or a ciphertext packet.

평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워진다. 플로우 레이블(Flow Label) 필드로 채워진 평문 IPv6 패킷이 중간 노드에 의해 수신된 후, 중간 노드는 또한 3-투플에 기반하여 평문 IPv6 패킷의 전송 경로를 결정할 수 있다. 중간 노드는 또한 부하 밸런싱을 구현하고 베어러별로 컴퓨팅 리소스들의 적절한 할당을 구현할 수 있다.The Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet. After the plaintext IPv6 packet filled with the Flow Label field is received by the intermediate node, the intermediate node may also determine the transmission path of the plaintext IPv6 packet based on the 3-tuple. An intermediate node may also implement load balancing and implement appropriate allocation of computing resources per bearer.

평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워진다. 플로우 레이블(Flow Label) 필드로 채워진 평문 IPv6 패킷이 수신기에 의해 수신된 후, 수신기가 복수의 컴퓨팅 처리 유닛을 포함하는 경우, 수신기는 3-투플에 기반하여, 평문 IPv6 패킷을 처리하기 위한 컴퓨팅 처리 유닛을 결정하여, 수신기의 컴퓨팅 리소스들의 적절한 할당을 구현하고, 컴퓨팅 유닛들의 불균등한 구성을 피할 수 있다.The Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet. After the plaintext IPv6 packet filled with the flow label field is received by the receiver, if the receiver includes a plurality of computing processing units, the receiver performs computing processing for processing the plaintext IPv6 packet based on the 3-tuple By determining the unit, it is possible to implement proper allocation of computing resources of the receiver and avoid uneven configuration of computing units.

평문 IPv6 패킷이 복수의 칩으로 분할될 필요가 있을 때, 평문 IPv6 패킷이 단편화되기 전에, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드가 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워지고, 평문 IPv6 패킷이 단편화된 다음, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드가 평문 IPv6 패킷의 각각의 칩에 복사되어, 모든 단편들의 3-투플 해시 값들이 동일한 것을 보장한다.When the plaintext IPv6 packet needs to be fragmented into multiple chips, the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet before the plaintext IPv6 packet is fragmented. , the plaintext IPv6 packet is fragmented, then the filled Flow Label field of the plaintext IPv6 packet is copied to each chip of the plaintext IPv6 packet to ensure that the 3-tuple hash values of all fragments are the same.

구체적으로, 평문 IPv6 패킷 단편화 시나리오에서, 평문 IPv6 패킷이 단편화되기 전에, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드가 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워지고, 그 후 평문 IPv6 패킷이 단편화된다. 이하에서는, 도 6a, 도 6b, 및 표 9를 참조하여 평문 IPv6 패킷 단편화 시나리오를 구체적으로 설명한다.Specifically, in the plaintext IPv6 packet fragmentation scenario, before the plaintext IPv6 packet is fragmented, the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet, and then the plaintext IPv6 Packets are fragmented. Hereinafter, plaintext IPv6 packet fragmentation scenarios will be described in detail with reference to FIGS. 6A, 6B, and Table 9.

도 6a 및 도 6b는 데이터 패킷이 2개의 단편화 패킷으로 분할되는 개략도들이다. 표 9는 데이터 패킷의 단편화 패킷들의 헤더 정보를 나타낸다. 무선 백홀 네트워크에서, 평문 IPv6 패킷의 다음 계층 헤더들은 각각 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP) 헤더 및 일반 패킷 라디오 서비스 터널링 프로토콜(General packet radio service Tunneling Protocol, GTPv1) 헤더이다. 도 6a에 도시된 바와 같이, 도 6a에 도시된 IPv6 패킷은 IPv6 헤더, 단편 확장 헤더, UDP 헤더, GTPv1 헤더, 및 페이로드를 포함한다. GTPv1 헤더는 GTP 헤더의 유형이고, GTPv1 헤더는 터널 엔드포인트 식별자(TEID) 필드를 포함한다. IPv6 패킷이 단편화되는 경우, 제1 칩은 원래의 패킷의 헤더를 승계하고, 다른 칩은 IPv6 헤더만을 복사한다. IPv6 패킷이 단편화되기 전에, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드가 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채워지고, 평문 IPv6 패킷이 단편화되고, 그 후 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드가 평문 IPv6 패킷을 단편화함으로써 획득된 각각의 칩에 복사된다. 도 6a는 제1 칩을 도시한다. 제1 칩은 IPv6 헤더, UDP 헤더, GTPv1 헤더, 및 페이로드를 포함한다. 도 6b는 제2 칩을 도시한다. 제2 칩은 IPv6 헤더 및 페이로드를 포함한다. 도 6a는 표 9에서의 패킷의 제1 칩에 대응하고, 도 6b는 표 9에서의 패킷의 제2 칩에 대응한다. 제1 칩 및 제2 칩의 IPv6 헤더들에서의 플로우 레이블(Flow Label) 필드들의 내용은 동일하다. 따라서, 제1 칩 및 제2 칩에 대한 3-투플 해시 값들을 계산함으로써 획득된 해시 결과들은 동일하고, 그 해시 결과들에 기반하여, 2개의 패킷의 경로들이 일치된다고 결정된다.6A and 6B are schematic diagrams in which a data packet is split into two fragmented packets. Table 9 shows header information of fragmented packets of data packets. In a wireless backhaul network, the next layer headers of a plaintext IPv6 packet are a User Datagram Protocol (UDP) header and a General packet radio service Tunneling Protocol (GTPv1) header, respectively. As shown in Fig. 6A, the IPv6 packet shown in Fig. 6A includes an IPv6 header, a fragment extension header, a UDP header, a GTPv1 header, and a payload. The GTPv1 header is a type of GTP header, and the GTPv1 header includes a Tunnel Endpoint Identifier (TEID) field. When the IPv6 packet is fragmented, the first chip inherits the header of the original packet, and the other chip copies only the IPv6 header. Before the IPv6 packet is fragmented, the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet is filled in the Flow Label field of the plaintext IPv6 packet, the plaintext IPv6 packet is fragmented, and then the filled flow of the plaintext IPv6 packet A label (Flow Label) field is copied to each chip obtained by fragmenting a plain text IPv6 packet. 6a shows a first chip. The first chip includes an IPv6 header, a UDP header, a GTPv1 header, and a payload. 6b shows a second chip. The second chip contains an IPv6 header and payload. 6A corresponds to the first chip of the packet in Table 9, and FIG. 6B corresponds to the second chip of the packet in Table 9. Contents of flow label fields in the IPv6 headers of the first chip and the second chip are the same. Therefore, the hash results obtained by calculating the 3-tuple hash values for the first chip and the second chip are identical, and based on the hash results, it is determined that the paths of the two packets match.

표 9 단편화 패킷들의 일치된 전송 경로들Table 9 Consistent Transmission Paths of Fragmented Packets

Figure pct00009
Figure pct00009

이하에서는, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드를 채우는 방법을 구체적으로 설명한다.Hereinafter, a method of filling the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet in the flow label field of the plaintext IPv6 packet will be described in detail.

구현에서, TEID 필드의 N 비트가 플로우 레이블 필드의 N 비트에 채워지거나 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산이 수행되어 제2 해시 값을 획득하고, 제2 해시 값의 N 비트가 플로우 레이블 필드의 N 비트에 채워지고, 플로우 레이블 필드는 N 비트를 포함한다. 요약하면, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 TEID 필드에 기반하여 채워진다. 예를 들어, TEID 필드는 32 비트이고, 플로우 레이블 필드는 20 비트이다. TEID 필드의 N 비트는 TEID 필드의 처음 20 비트 또는 마지막 20 비트일 수 있거나, 또는 20 비트는 TEID 필드로부터 랜덤하게 선택되거나 특정 시퀀스로 선택될 수 있다.In implementations, the N bits of the TEID field are padded to the N bits of the flow label field, where the flow label field contains N bits; Alternatively, hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, N bits of the second hash value are filled in N bits of the flow label field, and the flow label field includes N bits. In summary, the Flow Label field of the plaintext IPv6 packet is filled based on the TEID field. For example, the TEID field is 32 bits and the flow label field is 20 bits. The N bits of the TEID field may be the first 20 bits or the last 20 bits of the TEID field, or the 20 bits may be selected randomly or in a specific sequence from the TEID field.

본 출원의 이 실시예에서, 평문 IPv6 패킷의 전송 경로를 결정하기 위해 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산이 수행될 때 이용되는 제1 파라미터는, (TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행함으로써 획득되는) 제2 해시 값에 기반하여 플로우 레이블 필드가 채워질 때 이용되는 제1 파라미터와 동일하거나 상이할 수 있다는 점이 이해되어야 한다.In this embodiment of the present application, the first parameter used when the hash calculation is performed based on the filled flow label field and the first parameter involved in the hash calculation to determine the transmission path of the plaintext IPv6 packet is (TEID field and a second hash value (obtained by performing a hash calculation on the first parameter) may be the same as or different from the first parameter used when the flow label field is populated.

구현에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분이 TEID 필드로부터 가로채어져, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채운다. 대안적으로, TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분이 제2 해시 값으로부터 가로채어져, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채운다.In an implementation, a flow label field of a plaintext IPv6 packet includes a first field and a second field. A portion having the same length as the length of the first or second field of the flow label field is intercepted from the TEID field, and fills the first or second field of the flow label field. Alternatively, hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and a portion having a length equal to the length of the first field or the second field of the flow label field is obtained from the second hash value It is intercepted and fills the first field or the second field of the flow label field.

예를 들어, TEID 필드는 32 비트를 포함하고, 플로우 레이블 필드는 20 비트를 포함한다. 플로우 레이블 필드는 제1 필드 및 제2 필드로 분할되고, 제1 필드는 18 비트를 포함하고, 제1 필드는 2 비트를 포함한다. 18 비트가 TEID 필드로부터 가로채어져 플로우 레이블 필드의 제1 필드에 채워질 수 있다. 대안적으로, TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득할 수 있고, 제2 해시 값의 18 비트를 가로채어 플로우 레이블 필드의 제1 필드를 채운다.For example, the TEID field includes 32 bits and the flow label field includes 20 bits. The flow label field is divided into a first field and a second field, the first field includes 18 bits, and the first field includes 2 bits. 18 bits may be intercepted from the TEID field and filled in the first field of the flow label field. Alternatively, a hash calculation may be performed on the TEID field and the first parameter to obtain a second hash value, and 18 bits of the second hash value are intercepted to populate the first field of the flow label field.

플로우 레이블 필드의 하나의 필드가 채워지고, 다른 필드가 예비된다는 점이 이해되어야 한다. 예비된 필드는 다른 목적을 위해 이용될 수 있는데, 예를 들어 QoS 식별자를 위해 이용될 수 있다. 이것은 본 출원에서 제한되지 않는다.It should be understood that one field of the flow label field is filled in and another field is reserved. The reserved field may be used for other purposes, for example for QoS identifiers. This is not limited in this application.

제1 필드의 비트들의 양 및 제2 필드의 비트들의 양은 특정 응용 시나리오에 기반하여 설정될 수 있다는 점이 추가로 이해되어야 한다. 이것은 본 출원에서 제한되지 않는다.It should be further understood that the amount of bits in the first field and the amount of bits in the second field may be set based on specific application scenarios. This is not limited in this application.

구현에서, 제1 파라미터는 다음의 파라미터들, 즉 평문 IPv6 패킷의 SIP, 평문 IPv6 패킷의 DIP, 평문 IPv6 패킷의 소스 포트 SPt, 평문 IPv6 패킷의 목적지 포트 DPt, 또는 평문 IPv6 패킷의 다음 헤더 중 적어도 하나를 포함한다.In implementation, the first parameter is at least one of the following parameters: the SIP of the plaintext IPv6 packet, the DIP of the plaintext IPv6 packet, the source port SPt of the plaintext IPv6 packet, the destination port DPt of the plaintext IPv6 packet, or the Next header of the plaintext IPv6 packet. contains one

평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드를 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 어떻게 채울지를 더 명확하게 이해하기 위해, 이하에서는 특정 예에 따른 설명을 제공한다.To more clearly understand how to populate the Tunnel Endpoint Identifier (TEID) field of a plaintext IPv6 packet into the Flow Label field of a plaintext IPv6 packet, the following provides a description according to a specific example.

예를 들어, TEID 필드의 마지막 20 비트는 플로우 레이블 필드를 채우기 위해 직접 가로채어진다.For example, the last 20 bits of the TEID field are intercepted directly to fill in the flow label field.

예를 들어, 해시 계산이 3-투플(SIP, DIP, 및 TEID를 포함함)에 대해 수행된 후에, 20 비트가 가로채어져 플로우 레이블 필드를 채우거나, 또는 18 비트만이 가로채어져 플로우 레이블 필드를 채우고, 처음 2 비트가 예비된다.For example, after a hash calculation is performed on a 3-tuple (including SIP, DIP, and TEID), 20 bits are intercepted to fill the flow label field, or only 18 bits are intercepted to form the flow label Fill in the field, the first 2 bits are reserved.

예를 들어, 해시 계산이 4-투플(SIP, DIP, 다음 헤더, 및 TEID를 포함함)에 대해 수행된 후에, 채우기 위해 20 비트가 가로채어지거나, 채우기 위해 18 비트만이 가로채어지고, 처음 2 비트가 예비된다.For example, after a hash calculation is performed on a 4-tuple (including SIP, DIP, Next Header, and TEID), 20 bits are intercepted to fill, or only 18 bits are intercepted to fill, and the first 2 bits are reserved.

예를 들어, 해시 계산이 6-투플(SIP, DIP, 다음 헤더, SPt, DPt, 및 TEID를 포함함)에 대해 수행된 후에, 채우기 위해 20 비트가 가로채어지거나, 채우기 위해 18 비트만이 가로채어지고, 처음 2 비트가 예비된다.For example, after a hash calculation is performed on a 6-tuple (including SIP, DIP, next header, SPt, DPt, and TEID), 20 bits are intercepted to fill, or only 18 bits are intercepted to fill. It is filled, and the first 2 bits are reserved.

IPv6 평문 시나리오에서 플로우 레이블 필드를 채움으로써 베어러별로 플로우 부하 밸런싱을 구현하는 방법을 전술하였다. 다음은 IPv6 IPsec 터널 모드 암호문 시나리오에서 플로우 레이블 필드를 채움으로써 베어러별로 플로우 부하 밸런싱을 구현하는 방법을 상세히 설명한다.The method of implementing flow load balancing for each bearer by filling the flow label field in the IPv6 plaintext scenario has been described above. The following describes in detail how to implement flow load balancing for each bearer by filling the flow label field in the IPv6 IPsec tunnel mode ciphertext scenario.

무선 백홀 네트워크에서, IPv6 IPsec 터널 모드 암호문 시나리오에서, 업링크 데이터는 액세스 네트워크 디바이스에 의해 암호화되고, 다운링크 데이터는 보안 게이트웨이(Security Gateway, SeGW)에 의해 암호화된다. 코어 네트워크 디바이스는 또한 다운링크 데이터를 암호화할 수 있다. 그러나, 이것은 코어 네트워크 디바이스의 계산량을 증가시킨다. 따라서, 다운링크 데이터는 일반적으로 SeGW에 의해 암호화된다.In the wireless backhaul network, in the IPv6 IPsec tunnel mode ciphertext scenario, uplink data is encrypted by the access network device and downlink data is encrypted by the Security Gateway (SeGW). The core network device may also encrypt downlink data. However, this increases the computational load of the core network device. Therefore, downlink data is generally encrypted by the SeGW.

IPv6 IPsec 터널 모드 암호문 시나리오에서, 평문 패킷(내측 패킷)은 IPv6 패킷 또는 IPv4 패킷일 수 있고, 암호문 패킷(외측 패킷)은 IPv6 패킷일 수 있다.In the IPv6 IPsec tunnel mode ciphertext scenario, the plaintext packets (inner packets) can be IPv6 packets or IPv4 packets, and the ciphertext packets (outer packets) can be IPv6 packets.

본 출원에서 제공되는 통신 방법은 도 7을 참조하여 이하에서 상세히 설명된다. 도 7은 본 출원의 실시예에 따른, 다른 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법(300)의 개략적인 흐름도이다. 방법(300)은 도 1에 도시된 시나리오에 적용될 수 있거나, 또는 물론 다른 통신 시나리오에 적용될 수 있다. 이것은 본 출원의 이 실시예에 제한되지 않는다.The communication method provided in this application is described in detail below with reference to FIG. 7 . 7 is a schematic flowchart of a wireless network communication method 300 based on another Internet protocol version IPv6 according to an embodiment of the present application. Method 300 may be applied to the scenario shown in FIG. 1, or may of course be applied to other communication scenarios. This is not limited to this embodiment of the present application.

본 출원의 이 실시예에서, 이 방법은 액세스 네트워크 디바이스 및 보안 게이트웨이에 의해 수행되는 예를 이용하여 이 방법이 설명된다는 것을 추가로 이해해야 한다. 제한이 아닌 예로서, 이 방법은 대안적으로 액세스 네트워크 디바이스 및 보안 게이트웨이에서 이용되는 칩들, 칩 시스템들, 프로세서들 등에 의해 수행될 수 있다.It should be further understood that in this embodiment of the present application, this method is described using an example performed by an access network device and a secure gateway. By way of example and not limitation, the method may alternatively be performed by chips, chip systems, processors, etc. used in access network devices and secure gateways.

도 7에 도시된 바와 같이, 도 7에 도시된 방법(300)은 S310 및 S330을 포함할 수 있다. 방법(300)의 단계들은 도 7을 참조하여 아래에 상세히 설명된다.As shown in FIG. 7 , the method 300 shown in FIG. 7 may include S310 and S330. The steps of method 300 are described in detail below with reference to FIG. 7 .

S310. 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채운다.S310. Populates the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet.

S320. 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득한다.S320. A first hash value is obtained by performing hash calculation based on the first parameter involved in hash calculation and the filled flow label field.

S330. 제1 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정한다.S330. A transmission path of the ciphertext IPv6 packet is determined based on the first hash value.

암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워지고, 여기서 터널 엔드포인트 식별자(TEID) 필드는 베어러의 식별자이고, 각각의 베어러의 TEID 필드는 상이하다. 따라서, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워진 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 베어러와 연관된다. 해시 계산이 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 수행되어 제1 해시 값을 획득한다. 제1 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하는 것은, 동일한 베어러의 암호문 IPv6 패킷들이 동일한 경로 상에서 전송될 수 있거나, 상이한 베어러들의 암호문 IPv6 패킷들이 완전히 해싱될 수 있어서, 부하 밸런싱을 구현하는 것을 보장할 수 있다. 표 10은 이중-경로 시나리오에서 TEID를 이용하여 플로우 레이블(Flow Label) 필드를 채우고 3-투플의 해시 값들을 계산함으로써 획득된 암호문 패킷의 부하 밸런싱을 설명한다. 표 10에서의 터널 로컬 IP 주소 및 터널 피어 IP 주소는 암호문 IPv6 주소들이다.The Flow Label field of the ciphertext IPv6 packet is populated based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet, where the Tunnel Endpoint Identifier (TEID) field is the identifier of the bearer, and each bearer's TEID field is different. Accordingly, the Flow Label field of the ciphertext IPv6 packet filled in based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet is associated with the bearer. Hash calculation is performed based on the first parameter involved in hash calculation and the filled flow label field to obtain a first hash value. Determining the transmission path of the ciphertext IPv6 packet based on the first hash value means that ciphertext IPv6 packets of the same bearer can be transmitted on the same route, or ciphertext IPv6 packets of different bearers can be completely hashed, thereby implementing load balancing. can guarantee that Table 10 describes load balancing of ciphertext packets obtained by filling the Flow Label field using the TEID and calculating hash values of 3-tuples in the dual-path scenario. Tunnel local IP addresses and tunnel peer IP addresses in Table 10 are ciphertext IPv6 addresses.

표 10 패킷들이 암호화된 후에 달성되는 부하 밸런싱Table 10 Load Balancing Achieved After Packets Are Encrypted

Figure pct00010
Figure pct00010

해시 계산에 수반되는 제1 파라미터는 다음의 파라미터들, 즉 암호문 IPv6 패킷의 SIP, 암호문 IPv6 패킷의 DIP, 및 암호문 IPv6 패킷의 다음 헤더 중 임의의 하나 이상을 포함할 수 있다는 것을 이해해야 한다.It should be understood that the first parameter involved in the hash calculation may include any one or more of the following parameters: SIP of the ciphertext IPv6 packet, DIP of the ciphertext IPv6 packet, and Next header of the ciphertext IPv6 packet.

해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 것에 더하여, 제1 해시 값은 3-투플(암호문 IPv6 패킷의 SIP, 암호문 IPv6 패킷의 DIP, 및 채워진 플로우 레이블 필드를 포함함)에 기반하여 계산될 수 있다. 이것은 본 출원에서 제한되지 않는다. 본 출원의 이 실시예에서는, 평문 패킷 또는 암호문 패킷의 전송 경로를 결정하는 방법을 설명하기 위한 예로서 3-투플이 이용된다.In addition to obtaining the first hash value by performing hash calculation based on the first parameter involved in hash calculation and the filled flow label field, the first hash value is 3-tuple (SIP of the ciphertext IPv6 packet, SIP of the ciphertext IPv6 packet DIP, and a filled flow label field). This is not limited in this application. In this embodiment of the present application, 3-tuple is used as an example for explaining a method of determining a transmission path of a plaintext packet or a ciphertext packet.

먼저, 평문 패킷이 IPv6 패킷일 때, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 어떻게 채울지가 설명된다.First, when the plaintext packet is an IPv6 packet, how to fill the flow label field of the ciphertext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet is described.

구현에서, 평문 패킷이 IPv6 패킷일 때, TEID 필드의 N 비트가 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채워지고, 여기서 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다. 대안적으로, TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트가 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채워지고, 여기서 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.In an implementation, when the plaintext packet is an IPv6 packet, the N bits of the TEID field are filled into the N bits of the flow label field of the ciphertext IPv6 packet, where the flow label field of the ciphertext IPv6 packet contains N bits. Alternatively, a hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and N bits of the second hash value are filled into N bits of a flow label field of the ciphertext IPv6 packet, where the ciphertext IPv6 The flow label field of a packet contains N bits.

구현에서, 평문 패킷이 IPv6 패킷일 때, 암호문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분이 TEID 필드로부터 가로채어져, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채운다. 대안적으로, TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제3 해시 값을 획득하고, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분이 제3 해시 값으로부터 가로채어져, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채운다.In the implementation, when the plaintext packet is an IPv6 packet, the flow label field of the ciphertext IPv6 packet includes a first field and a second field, and has a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet. The part having is intercepted from the TEID field and fills the first field or the second field of the flow label field of the ciphertext IPv6 packet. Alternatively, hash calculation is performed on the TEID field and the first parameter to obtain a third hash value, and a portion having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet is 3 is intercepted from the hash value and fills the first field or the second field of the flow label field of the ciphertext IPv6 packet.

구현에서, 평문 패킷은 IPv6 패킷이다. 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워지고, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드는 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 복사된다.In an implementation, the plaintext packet is an IPv6 packet. The Flow Label field of the plaintext IPv6 packet is populated based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, and the populated Flow Label field of the plaintext IPv6 packet is the flow label of the ciphertext IPv6 packet ( Flow Label) field.

도 8a는 IPsec 인증 헤더(Authentication Header, AH) 캡슐화 시나리오에서의 채움 방식을 도시한다. TEID 필드는 평문 패킷의 IPv6 헤더(내측 IPv6)에 의해 플로우 레이블 필드에 채워지고, 평문 패킷이 암호화된 후에 암호문 패킷의 IPv6 헤더(외측 IPv6)가 캡슐화될 때, 평문 패킷의 플로우 레이블 필드는 암호문 패킷의 IPv6 헤더의 플로우 레이블 필드에 채워진다. 상이한 베어러 서비스들의 암호문 패킷들의 플로우 레이블 필드들은 상이하고, 따라서 해시 값은 베어러에 기반하여 해싱될 수 있다.8a illustrates a filling scheme in an IPsec Authentication Header (AH) encapsulation scenario. The TEID field is filled in the flow label field by the IPv6 header (inner IPv6) of the plaintext packet, and when the IPv6 header (outer IPv6) of the ciphertext packet is encapsulated after the plaintext packet is encrypted, the flow label field of the plaintext packet is Filled in the flow label field of the IPv6 header of The flow label fields of ciphertext packets of different bearer services are different, so the hash value can be hashed based on the bearer.

도 8b는 IPsec 캡슐화 보안 페이로드(Encapsulating Security Payload, ESP) 캡슐화 시나리오에서의 채움 방식을 도시한다. 전술한 IPsec AH 캡슐화 시나리오에서의 하나의 채움 방식을 참조한다. 상세들은 본 명세서에서 다시 설명되지 않는다.8b illustrates a filling scheme in an IPsec Encapsulating Security Payload (ESP) encapsulation scenario. Refer to one filling scheme in the above IPsec AH encapsulation scenario. Details are not described herein again.

구현에서, 평문 패킷은 IPv6 패킷이다. 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워지고, 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드에 기반하여 채워진다. 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우기 위한 특정 방법에 대해서는, 전술한 방법(200)에서 설명된 방법을 참조한다는 것을 이해해야 한다. 상세들은 본 명세서에서 다시 설명되지 않는다.In an implementation, the plaintext packet is an IPv6 packet. The Flow Label field of the plaintext IPv6 packet is populated based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, and the Flow Label field of the ciphertext IPv6 packet is the populated flow label ( Flow Label) field. It should be understood that for a specific method for filling the Flow Label field of a plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, reference is made to the method described in Method 200 above. . Details are not described herein again.

구현에서, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드가 채워진다는 것은, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제4 해시 값을 획득하는 것; 및 제4 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 것을 포함한다.In an implementation, the filling of the Flow Label field of the ciphertext IPv6 packet based on the filled Flow Label field of the plaintext IPv6 packet is based on the Flow Label field of the plaintext IPv6 packet and the first parameter performing hash calculation on to obtain a fourth hash value; and filling a flow label field of the ciphertext IPv6 packet based on the fourth hash value.

구현에서, 암호문 패킷의 플로우 레이블 필드는 제3 필드 및 제4 필드를 포함한다. 제4 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우는 단계는, 제4 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 제4 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제3 필드 또는 제4 필드를 채우는 단계를 포함한다.In an implementation, the flow label field of the ciphertext packet includes a third field and a fourth field. Filling the flow label field of the ciphertext IPv6 packet based on the fourth hash value includes filling N bits of the fourth hash value into N bits of the flow label field of the ciphertext IPv6 packet, the flow label field including N bits. -; or intercepting a portion having a length equal to the length of the third or fourth field of the flow label field of the ciphertext IPv6 packet from the fourth hash value, and obtaining the third or fourth field of the flow label field of the ciphertext IPv6 packet. Including the filling step.

구현에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드는 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워지고; 플로우 레이블 필드로 채워진 평문 IPv6 패킷은 복수의 칩으로 단편화되고, 복수의 칩 각각은 채워진 플로우 레이블 필드를 포함하고; 각각의 칩의 플로우 레이블 필드는 각각의 칩의 암호화된 암호문 패킷의 플로우 레이블 필드에 복사된다.In an implementation, the plaintext packet is an IPv6 packet. When the plaintext packet is fragmented into multiple chips, the Flow Label field of the plaintext IPv6 packet is filled based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; The plaintext IPv6 packet filled with the flow label field is fragmented into a plurality of chips, each of the plurality of chips including a filled flow label field; The flow label field of each chip is copied to the flow label field of each chip's encrypted cipher text packet.

구현에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 이 방법은, 평문 패킷을 복수의 칩으로 단편화하는 단계; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하는 단계; 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계; 해시 계산에 수반되는 제2 파라미터 및 암호문 패킷의 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제5 해시 값을 획득하는 단계; 및 제5 해시 값에 기반하여 암호문 패킷의 전송 경로를 결정하는 단계를 더 포함한다.In an implementation, the plaintext packet is an IPv6 packet. If the plaintext packet is fragmented into a plurality of chips, the method includes fragmenting the plaintext packet into a plurality of chips; encrypting each of a plurality of chips to obtain a cipher text packet of each chip; filling the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet; obtaining a fifth hash value by performing hash calculation based on a second parameter involved in hash calculation and the flow label field of the ciphertext packet; and determining a transmission path of the ciphertext packet based on the fifth hash value.

구현에서, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제6 해시 값을 획득하고, 제6 해시 값의 N 비트를 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.In an implementation, populating a flow label field of each chip's ciphertext packet based on a tunnel endpoint identifier (TEID) field of the plaintext packet comprises: replacing N bits of the TEID field with N bits of the flow label field of each chip's ciphertext packet. filling in bits, the flow label field of each chip's cipher text packet contains N bits; or performing hash calculation on the TEID field and the first parameter to obtain a sixth hash value, and filling N bits of the sixth hash value into N bits of the flow label field of each chip's cipher text packet - each chip The flow label field of the ciphertext packet of contains N bits.

구현에서, 각각의 칩의 암호문 패킷의 플로우 레이블 필드는 제5 필드 및 제6 필드를 포함하고, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우는 단계는, TEID 필드로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제7 해시 값을 획득하는 단계; 및 제9 해시 값으로부터, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 암호문 패킷의 플로우 레이블 필드의 제5 필드 또는 제6 필드를 채우는 단계를 포함한다.In the implementation, the flow label field of each chip's ciphertext packet includes a fifth field and a sixth field, and the flow label field of each chip's ciphertext packet is determined based on the tunnel endpoint identifier (TEID) field of the plaintext packet. The filling step intercepts, from the TEID field, a portion having a length equal to the length of the fifth field or the sixth field of the flow label field of the ciphertext packet of each chip, and filling in the 5th field or the 6th field; or obtaining a seventh hash value by performing hash calculation on the TEID field and the first parameter; and intercepting, from the ninth hash value, a portion having the same length as the length of the fifth or sixth field of the flow label field of the ciphertext packet of each chip, and filling in the field or the sixth field.

구현에서, 제1 파라미터는 다음의 파라미터들, 즉 암호문 패킷의 SIP, 암호문 패킷의 DIP, 및 암호문 패킷의 다음 헤더 중 적어도 하나를 포함한다.In an implementation, the first parameter includes at least one of the following parameters: the SIP of the ciphertext packet, the DIP of the ciphertext packet, and the next header of the ciphertext packet.

구현에서, 제2 파라미터는 다음의 파라미터들, 즉 평문 패킷의 SIP, 평문 패킷의 DIP, 평문 패킷의 소스 포트 SPt, 평문 패킷의 목적지 포트 DPt, 및 평문 패킷의 다음 헤더 중 적어도 하나를 포함한다.In an implementation, the second parameter includes at least one of the following parameters: the SIP of the plaintext packet, the DIP of the plaintext packet, the source port SPt of the plaintext packet, the destination port DPt of the plaintext packet, and the next header of the plaintext packet.

평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드를 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 채우는 방법을 더 명확하게 이해하기 위해, 다음은 특정 예에 따른 설명을 제공한다.To more clearly understand how to populate the Tunnel Endpoint Identifier (TEID) field of a plaintext IPv6 packet into the Flow Label field of a ciphertext IPv6 packet, the following provides an explanation according to a specific example.

예를 들어, 평문 패킷의 내측 IPv6 헤더에서의 플로우 레이블 필드가 직접 복사되어 암호문 IPv6 패킷의 플로우 레이블 필드를 채운다.For example, the flow label field in the inner IPv6 header of the plaintext packet is directly copied to fill the flow label field of the ciphertext IPv6 packet.

예를 들어, 해시 계산이 3-투플(Out_SIP, Out_DIP, 및 Inner_FL을 포함함)에 대해 수행된 후에, 채우기 위해 20 비트가 가로채어지거나, 채우기 위해 18 비트만이 가로채어지고, 처음 2 비트가 예비된다.For example, after a hash calculation is performed on a 3-tuple (including Out_SIP, Out_DIP, and Inner_FL), 20 bits are intercepted for padding, or only 18 bits are intercepted for padding, and the first 2 bits are are reserved

예를 들어, 해시 계산이 4-투플(Out_SIP, Out_DIP, Out_Next_Header, 및 Inner_FL을 포함함)에 대해 수행된 후에, 채우기 위해 20 비트가 가로채어지거나, 채우기 위해 18 비트만이 가로채어지고, 처음 2 비트가 예비된다.For example, after a hash calculation is performed on a 4-tuple (including Out_SIP, Out_DIP, Out_Next_Header, and Inner_FL), 20 bits are intercepted for padding, or only 18 bits are intercepted for padding, and the first 2 Bits are reserved.

위의 예들에서, Out 및 Inner은 IPsec 터널 모드에서 외측 암호문의 IPv6 헤더와 내측 평문의 IPv6 헤더를 나타낸다.In the above examples, Out and Inner represent the IPv6 header of the outer ciphertext and the IPv6 header of the inner plaintext in IPsec tunnel mode.

이하에서는, 평문 패킷이 IPv4 패킷일 때 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하는 방법을 설명한다.Hereinafter, when the plaintext packet is an IPv4 packet, a method of determining a transmission path of a ciphertext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext packet will be described.

IPv4 패킷의 기본 포맷이 먼저 설명된다. 도 9는 IPv4 패킷의 기본 포맷을 도시한다. IPv4 패킷은 IPv4 헤더 및 페이로드를 포함한다. IPv4 헤더는 다음을 포함한다:The basic format of IPv4 packets is explained first. 9 shows the basic format of an IPv4 packet. An IPv4 packet contains an IPv4 header and payload. The IPv4 header contains:

이 필드의 값이 4인 IP 버전(4 비트);IP version where the value of this field is 4 (4 bits);

헤더 길이(Header Length, HL), 4 비트;Header Length (HL), 4 bits;

전송 디바이스를 통과하기를 기다리는 데이터 패킷들에 대한 우선순위들을 구별하는 서비스 유형(Type of Service, TOS);a Type of Service (TOS) that distinguishes priorities for data packets waiting to pass through a transmitting device;

총 길이(Total Length, TL) - 이는 바이트 단위로 IP 데이터그램의 길이를 나타내는 16 비트 필드이고, 그 길이는 IP 헤더 및 데이터 페이로드를 포함함 -;Total Length (TL) - this is a 16-bit field indicating the length of the IP datagram in bytes, including the IP header and data payload;

식별은 16 비트 필드이고, 16 비트 필드는 시퀀스가 증가하고 소스 IP에 의해 전송된 메시지에 할당되는 값이다. IP 계층에 전송되는 메시지가 너무 커서 하나의 데이터그램에 배치될 수 없을 때, IP 계층은 메시지를 복수의 데이터그램들로 분할하고, 데이터그램들을 정렬하고 데이터그램들에 동일한 식별자를 할당한다. 수신기는 이들 값들에 기반하여 메시지를 원래의 메시지로 재조립하고;Identification is a 16-bit field, and the 16-bit field is the value assigned to the message transmitted by the source IP with increasing sequence. When a message sent to the IP layer is too large to fit into one datagram, the IP layer splits the message into multiple datagrams, sorts the datagrams, and assigns the same identifier to the datagrams. The receiver reassembles the message into the original message based on these values;

플래그(Flags) - 여기서, 이 필드의 길이는 3 비트이고, 제1 비트는 이용되지 않고, 제2 비트는 "단편화 금지(don't fragment)" 비트이고, 여기서, 이 비트가 1로 설정되는 경우, 이것은 중간 전달 노드가 패킷을 단편화할 수 없다는 것을 나타내고, 제3 비트는 "더 많은 단편화" 비트이고, 여기서, 제3 비트가 1로 설정되는 경우, 이것은 후속 단편화 패킷들이 있다는 것을 나타냄 -;Flags - where the length of this field is 3 bits, the first bit is not used and the second bit is the "don't fragment" bit, where this bit is set to 1 If, this indicates that the intermediate forwarding node cannot fragment the packet, the 3rd bit is the “more fragmentation” bit, where if the 3rd bit is set to 1, this indicates that there are subsequent fragmented packets;

단편화 오프셋(Fragment Offset) - 여기서, 이 필드는 값이고, 목적지 디바이스의 IP는 올바른 시퀀스로 단편들을 재조립하기 위해 이 값을 이용함 -;Fragment Offset - where this field is a value, and the destination device's IP uses this value to reassemble the fragments in the correct sequence;

생존 시간(Time To Live, TTL)이며, 여기서 이 필드는 데이터 패킷이 폐기되기 전에 예비될 수 있는 라우터 홉들을 나타낸다. 각각의 라우터는 이 필드를 체크하고 라우터 홉들로부터 적어도 하나를 감산한다. 이 필드의 값이 0에 도달할 때, 데이터 패킷이 폐기되고;Time To Live (TTL), where this field indicates router hops that can be reserved before the data packet is discarded. Each router checks this field and subtracts at least one from the router hops. When the value of this field reaches 0, the data packet is discarded;

프로토콜(Protocol) - 이 필드는 페이로드 데이터에 의해 이용되는 프로토콜을 나타냄 -;Protocol - This field indicates the protocol used by the payload data -;

헤더 체크섬(Header Checksum)이며, 여기서 이 필드는 헤더의 유효성을 체크하는데만 이용된다. 데이터그램이 통과하는 각각의 라우터는 TTL 필드의 값이 계속 변경되기 때문에 TTL 필드의 값을 재계산하고;Header Checksum, where this field is used only to check the validity of the header. Each router through which the datagram passes recalculates the value of the TTL field because the value of the TTL field keeps changing;

소스 IP 주소(Source IP Address, SIP);Source IP Address (SIP);

목적지 IP 주소(Destination IP Address, DIP);Destination IP Address (DIP);

일부 선택적인 헤더 설정들을 지원하고 주로 테스트, 디버깅 및 보안 목적들을 위해 이용되는 옵션 필드(Options); 및Options field which supports some optional header settings and is mainly used for testing, debugging and security purposes; and

데이터 부분인 페이로드(Payload).Payload, which is the data part.

IPv4 패킷은 플로우 레이블 필드를 포함하지 않는다는 것을 전술한 것으로부터 알 수 있다. 따라서, 구현에서, 평문 패킷이 IPv4 패킷일 때, 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하고, 제8 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우는 단계 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 - 를 포함한다.It can be seen from the foregoing that IPv4 packets do not contain a flow label field. Thus, in an implementation, when the plaintext packet is an IPv4 packet, the step of filling the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet is to set N bits of the TEID field to the ciphertext filling in N bits of the flow label field of the IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet contains N bits; or performing hash calculation on the TEID field and the first parameter to obtain an eighth hash value, and filling N bits of the eighth hash value into N bits of the flow label field of the ciphertext IPv6 packet - flow label of the ciphertext IPv6 packet. The field contains N bits - contains.

구현에서, 평문 패킷이 IPv4 패킷일 때, 암호문 IPv6 패킷의 플로우 레이블 필드는 제7 필드 및 제8 필드를 포함한다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우는 단계; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하고, 제9 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제7 필드 또는 제8 필드를 채우는 단계를 포함한다.In implementation, when the plaintext packet is an IPv4 packet, the flow label field of the ciphertext IPv6 packet includes a seventh field and an eighth field. Filling the Flow Label field of the ciphertext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet includes, from the TEID field, a seventh field or an eighth field of the flow label field of the ciphertext IPv6 packet. intercepting a portion having a length equal to the length and filling in a seventh field or an eighth field of a flow label field of the ciphertext IPv6 packet; or performing hash calculation on the TEID field and the first parameter to obtain a ninth hash value, having a length equal to the length of the seventh or eighth field of the flow label field of the ciphertext IPv6 packet, from the ninth hash value. intercepting the part, and filling in a seventh field or an eighth field of a flow label field of the ciphertext IPv6 packet.

구현에서, 평문 패킷은 IPv4 패킷이다. 평문 패킷은 복수의 칩으로 단편화된다. 복수의 칩 각각은 암호화되어 각각의 칩의 암호문 IPv6 패킷을 획득한다. 각각의 칩의 암호문 IPv6 패킷의 플로우 레이블 필드는 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 채워진다.In an implementation, the plaintext packet is an IPv4 packet. A plaintext packet is fragmented into a plurality of chips. Each of the plurality of chips is encrypted to obtain the ciphertext IPv6 packet of each chip. The flow label field of each chip's ciphertext IPv6 packet is populated based on the Tunnel Endpoint Identifier (TEID) field of the plaintext packet.

평문 패킷은 IPv4 패킷이라는 것을 이해해야 한다. 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 IPv6 패킷의 플로우 레이블 필드를 채우기 위한 방법에 대해서는, 평문 패킷이 IPv6 패킷일 때 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 IPv6 패킷의 플로우 레이블 필드를 채우기 위한 전술한 방법을 참조한다. 상세들은 본 명세서에서 다시 설명되지 않는다.It should be understood that plaintext packets are IPv4 packets. As for the method for filling the flow label field of each chip's ciphertext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet, when the plaintext packet is an IPv6 packet, the tunnel endpoint identifier (TEID) field of the plaintext packet Refer to the above method for filling the flow label field of each chip's ciphertext IPv6 packet based on Details are not described herein again.

구현에서, 제1 파라미터는 다음의 파라미터들, 즉 암호문 패킷의 SIP, 암호문 패킷의 DIP, 및 암호문 패킷의 다음 헤더 중 적어도 하나를 포함한다.In an implementation, the first parameter includes at least one of the following parameters: the SIP of the ciphertext packet, the DIP of the ciphertext packet, and the next header of the ciphertext packet.

구현에서, 제2 파라미터는 다음의 파라미터들, 즉 평문 패킷의 SIP, 평문 패킷의 DIP, 평문 패킷의 다음 헤더, 평문 패킷의 소스 포트 SPt, 및 평문 패킷의 목적지 포트 DPt 중 적어도 하나를 포함한다.In an implementation, the second parameter includes at least one of the following parameters: SIP of the plaintext packet, DIP of the plaintext packet, next header of the plaintext packet, source port SPt of the plaintext packet, and destination port DPt of the plaintext packet.

방법(300)의 실시예에서, 평문 패킷이 IPv6 패킷이고, 평문 패킷의 플로우 레이블 필드가 채워진 경우, 액세스 네트워크 디바이스는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 직접 채울 수 있다는 것을 이해해야 한다. 구체적인 채움 방식에 대해서는, 전술한 방법을 참조한다. 반복을 피하기 위해, 상세들은 본 명세서에서 다시 설명되지 않는다.In an embodiment of method 300, if the plaintext packet is an IPv6 packet and the flow label field of the plaintext packet is populated, the access network device determines the flow label of the ciphertext IPv6 packet based on the Flow Label field of the plaintext IPv6 packet. It should be understood that you can directly fill in the (Flow Label) field. For a specific filling method, refer to the method described above. To avoid repetition, details are not described herein again.

본 출원의 이 실시예에서, 액세스 네트워크 디바이스가 한 쌍의 서비스 IPv6 주소들과 한 쌍의 인터넷 키 교환(IKE) IPv6 주소들만을 이용하는 시나리오에서, 업링크 평문 및 암호문은 베어러별로 액세스 네트워크 디바이스의 복수의 전송 포트의 플로우 부하 밸런싱을 구현할 수 있어서, 전송 대역폭을 효과적으로 그리고 완전히 이용한다. 다운링크 평문이 코어 네트워크 디바이스에서 한 쌍의 서비스 IPv6 주소들만을 이용하는 시나리오에서, 다운링크 평문은 베어러별로 코어 네트워크의 복수의 전송 포트의 플로우 부하 밸런싱을 구현하여, 전송 대역폭을 효과적으로 이용한다. 다운링크 암호문이 보안 게이트웨이 상에서 한 쌍의 서비스 IPv6 주소들과 한 쌍의 IKE IPv6 주소들을 이용하는 시나리오에서, 다운링크 패킷이 보안 게이트웨이 상에서 암호화된 후에, 베어러별로 복수의 전송 포트의 플로우 부하 밸런싱이 구현되어, 전송 대역폭을 효과적으로 이용한다.In this embodiment of the present application, in a scenario in which an access network device uses only a pair of service IPv6 addresses and a pair of Internet Key Exchange (IKE) IPv6 addresses, the uplink plaintext and ciphertext are sent to the plurality of access network devices per bearer. can implement flow load balancing of the transmission port of , effectively and fully utilize the transmission bandwidth. In a scenario where the downlink plaintext uses only a pair of service IPv6 addresses in the core network device, the downlink plaintext implements flow load balancing of multiple transport ports of the core network per bearer to effectively use transmission bandwidth. In a scenario where the downlink ciphertext uses a pair of service IPv6 addresses and a pair of IKE IPv6 addresses on the secure gateway, after the downlink packet is encrypted on the secure gateway, flow load balancing of multiple transport ports per bearer is implemented , effectively use the transmission bandwidth.

본 출원의 실시예들에서 필드 1을 필드 2에 채우는 것은 필드 1의 값을 필드 2에 채우는 것을 의미한다는 점이 이해되어야 한다. 즉, 필드 1의 값은 필드 2의 값과 동일하다. 예를 들어, TEID 필드로부터, 플로우 레이블 필드의 제1 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드를 채우는 것은, TEID 필드로부터 가로채진 부분의 값을 플로우 레이블 필드의 제1 필드에 채우는 것을 의미한다. 즉, TEID 필드로부터 가로채진 부분의 값은 플로우 레이블 필드의 제1 필드의 값과 동일하다.It should be understood that filling field 1 into field 2 means filling field 1's value into field 2 in the embodiments of the present application. That is, the value of field 1 is the same as the value of field 2. For example, filling the first field of the flow label field by intercepting a portion having a length equal to the length of the first field of the flow label field from the TEID field, the value of the portion intercepted from the TEID field is the flow label field It means filling in the first field of That is, the value of the part intercepted from the TEID field is the same as the value of the first field of the flow label field.

본 출원의 실시예들에서, 필드 1의 N 비트를 필드 2의 N 비트에 채우는 것은 필드 1의 N 비트의 값을 필드 2의 N 비트에 채우는 것을 의미한다는 점이 이해되어야 한다. 다시 말해서, 필드 1의 N 비트의 값은 필드 2의 N 비트의 값과 동일하다. 예를 들어, TEID 필드의 N 비트를 플로우 레이블 필드의 N 비트에 채우는 것은 TEID 필드의 값을 플로우 레이블 필드에 채우는 것을 의미한다. 즉, TEID 필드의 값은 플로우 레이블 필드의 값과 동일하다.It should be understood that, in the embodiments of the present application, filling the N bits of field 1 into the N bits of field 2 means filling the value of the N bits of field 1 into the N bits of field 2. In other words, the value of N bits of field 1 is the same as the value of N bits of field 2. For example, filling N bits of the TEID field into N bits of the flow label field means filling the value of the TEID field into the flow label field. That is, the value of the TEID field is the same as the value of the flow label field.

이하에서는, 본 출원의 실시예들의 복수의 시나리오에서의 부하 밸런싱 및 신뢰성을 간단히 설명한다. 도 10은 부하 밸런싱을 위한 "IEEE 802.3ad 이더넷 링크 집성" 기술을 도시한다. 이더넷 링크 집성은 복수의 이더넷 링크들을 집성 그룹으로 집성하여, 멤버 포트들 사이의 부하 공유를 구현하고 접속 신뢰성을 향상시키는 것이다. 도 10에서는, 액세스 네트워크 디바이스(410), 스위치(420) 및 라우터(430)가 포함된다. 도 10에서의 2개의 라인은 2개의 링크가 함께 집성된다는 것을 나타낸다. 패킷을 전송하기 위한 링크는 해시 값에 의존한다. 본 출원의 이 실시예에서 3-투플을 이용하여 계산된 해시 값에 대응하여, 액세스 네트워크 디바이스(410)는 방법(200)에서 설명된, 즉 도 4에서의 절차에 대응하는 내용을 수행할 수 있다. 도면에서, 상이한 유형들의 패킷들은 상이한 베어러들의 패킷들을 나타낸다. 동일한 베어러의 패킷들은 해시 값들이 일치되기 때문에 동일한 경로 상에서 전송된다. 상이한 베어러들의 패킷들은 전송을 위해 상이한 경로들 상에서 해싱될 수 있다. 하나의 경로가 결함이 있으면, 결함이 있는 경로 상에서 전송되어야 하는 플로우 패킷들은 전송을 위해 다른 경로로 즉시 전송될 수 있어서, 신뢰성을 향상시킨다.In the following, load balancing and reliability in multiple scenarios of embodiments of the present application are briefly described. 10 illustrates the “IEEE 802.3ad Ethernet Link Aggregation” technique for load balancing. Ethernet link aggregation is to aggregate a plurality of Ethernet links into an aggregation group to implement load sharing between member ports and improve connection reliability. In FIG. 10 , an access network device 410 , a switch 420 and a router 430 are included. The two lines in FIG. 10 indicate that the two links are aggregated together. The link to transmit the packet depends on the hash value. Corresponding to the hash value calculated using 3-tuple in this embodiment of the present application, the access network device 410 may perform the corresponding procedure described in method 200, that is, in FIG. 4. have. In the figure, packets of different types represent packets of different bearers. Packets of the same bearer are transmitted on the same path because the hash values match. Packets of different bearers may be hashed on different paths for transmission. If one path is defective, flow packets that should be transmitted on the defective path can be immediately forwarded to the other path for transmission, improving reliability.

도 11에서는, 암호문 시나리오에서, 소스 및 중간 노드들이 해시 계산에 기반하여 베어러 기반 플로우 부하 밸런싱을 구현한다. 도 11은 도 10의 암호문 시나리오이다. 도 11에서는, 액세스 네트워크 디바이스(510), 스위치(520), 보안 게이트웨이(530), 및 라우터(540)가 포함된다. 업링크 데이터 전송 동안, 액세스 네트워크 디바이스(510)는 방법(200)에서 설명된 내용을 실행하고, 평문 패킷에 채워진 플로우 레이블 필드를 암호문 패킷에 복사하여, 암호문 패킷이 베어러 정보를 획득하게 할 수 있다. 부하 밸런싱은 도 10에 도시된 방식으로 수행될 수 있다. 업링크 데이터 전송 동안, 보안 게이트웨이(530)는 방법(300)에서 설명된, 즉 도 7에서의 절차에 대응하는 내용을 실행할 수 있다.In Figure 11, in the ciphertext scenario, source and intermediate nodes implement bearer-based flow load balancing based on hash calculation. 11 is the ciphertext scenario of FIG. 10; In FIG. 11 , an access network device 510 , a switch 520 , a security gateway 530 , and a router 540 are included. During uplink data transmission, the access network device 510 may execute what is described in method 200 and copy the flow label field populated in the plaintext packet to the ciphertext packet, so that the ciphertext packet obtains the bearer information. . Load balancing may be performed in the manner shown in FIG. 10 . During uplink data transmission, security gateway 530 may execute a procedure described in method 300, i.e., corresponding to the procedure in FIG.

도 12에서는, 등가 라우팅 시나리오에서, 소스 및 중간 노드들이 해시 계산에 기반하여 베어러 기반 플로우 부하 밸런싱을 구현한다. 액세스 네트워크 디바이스(610), 스위치(620), 라우터(630), 및 라우터(640)가 도 12에 포함된다. 동일한 우선순위를 갖는 2개의 루트가 스위치(620) 상에 구성된다. 액세스 네트워크 디바이스(610)는 방법(200)에서 설명된, 즉 도 4에서의 절차에 대응하는 내용을 수행할 수 있다. 액세스 네트워크 디바이스(610)는 채워진 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 값을 계산함으로써, 상이한 루트들을 통해 상이한 경로들에 패킷들을 전달할 것을 결정하여, 복수의 경로들 사이의 부하 밸런싱을 구현한다.In Figure 12, in the equivalent routing scenario, source and intermediate nodes implement bearer-based flow load balancing based on hash calculation. Access network device 610 , switch 620 , router 630 , and router 640 are included in FIG. 12 . Two routes with the same priority are configured on switch 620. The access network device 610 may perform a procedure described in the method 200 , that is, corresponding to the procedure in FIG. 4 . The access network device 610 calculates a hash value based on the populated flow label field and the second parameter, thereby determining to forward packets to different routes through different routes, thereby implementing load balancing among multiple routes. .

도 13에서는, 액세스 네트워크 디바이스(710), 스위치(720), 라우터(730) 및 라우터(740)가 포함된다. 동일한 우선순위를 갖는 2개의 루트가 스위치(720) 상에 구성된다. 부하 밸런싱 시나리오에서, 하나의 경로가 결함이 있을 때, 예를 들어, 스위치(720)로부터 라우터(740)로의 경로가 결함이 있을 때, 전송을 위한 정상 경로로 서비스가 신속하게 스위칭되어 신뢰성을 향상시키며, 이는 계층 4 프로토콜의 신뢰성 스위칭보다 훨씬 더 빠르다.In FIG. 13 , an access network device 710 , a switch 720 , a router 730 and a router 740 are included. Two routes with the same priority are configured on switch 720. In a load balancing scenario, when one path is faulty, for example, the path from switch 720 to router 740 is faulty, the service is quickly switched to the normal path for transport to improve reliability. , which is much faster than the reliability switching of layer 4 protocols.

소스 디바이스는 패킷 전송기이고, 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스일 수 있다는 것을 이해해야 한다. 중간 노드는 라우터, 스위치 등일 수 있다.It should be understood that the source device is a packet sender and may be an access network device or a core network device. Intermediate nodes can be routers, switches, and the like.

도 1 내지 도 13을 참조하여 본 출원의 실시예들에 따른, 인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법을 상세히 전술하였다. 이하에서는 도 14 및 도 15를 참조하여 본 출원의 실시예들에 따른 통신 장치들을 상세히 설명한다.A wireless network communication method based on Internet protocol version IPv6 according to embodiments of the present application has been described in detail with reference to FIGS. 1 to 13 . Hereinafter, communication devices according to embodiments of the present application will be described in detail with reference to FIGS. 14 and 15 .

도 14는 본 출원의 실시예에 따른 통신 장치(800)의 개략적인 블록도이다.14 is a schematic block diagram of a communication device 800 according to an embodiment of the present application.

일부 실시예들에서, 장치(800)는 액세스 네트워크 디바이스일 수 있거나, 칩 또는 회로, 예를 들어, 액세스 네트워크 디바이스에 배치될 수 있는 칩 또는 회로일 수 있다.In some embodiments, apparatus 800 may be an access network device, or may be a chip or circuit, eg, a chip or circuit that may be disposed in an access network device.

일부 실시예들에서, 장치(800)는 코어 네트워크 디바이스일 수 있거나, 칩 또는 회로, 예를 들어, 코어 네트워크 디바이스에 배치될 수 있는 칩 또는 회로일 수 있다.In some embodiments, apparatus 800 may be a core network device, or may be a chip or circuit, eg, a chip or circuit that may be disposed in a core network device.

일부 실시예들에서, 장치(800)는 보안 게이트웨이 디바이스일 수 있거나, 칩 또는 회로, 예를 들어, 보안 게이트웨이 디바이스에 배치될 수 있는 칩 또는 회로일 수 있다.In some embodiments, apparatus 800 may be a secure gateway device, or may be a chip or circuit, eg, a chip or circuit that may be disposed in a secure gateway device.

가능한 방식으로, 장치(800)는 처리 유닛(810)(즉, 프로세서의 예) 및 트랜시버 유닛(830)을 포함할 수 있다. 일부 가능한 구현들에서, 처리 유닛(810)은 결정 유닛이라고도 지칭될 수 있다. 일부 가능한 구현들에서, 트랜시버 유닛(830)은 수신 유닛 및 전송 유닛을 포함할 수 있다.In a possible manner, the apparatus 800 may include a processing unit 810 (ie, an example of a processor) and a transceiver unit 830 . In some possible implementations, processing unit 810 may also be referred to as a decision unit. In some possible implementations, transceiver unit 830 may include a receiving unit and a transmitting unit.

구현에서, 트랜시버 유닛(830)은 트랜시버, 트랜시버 관련 회로, 또는 인터페이스 회로를 이용하여 구현될 수 있다.In implementations, transceiver unit 830 may be implemented using a transceiver, transceiver-related circuitry, or interface circuitry.

구현에서, 장치는 저장 유닛(820)을 더 포함할 수 있다. 가능한 방식으로, 저장 유닛(820)은 명령어들을 저장하도록 구성된다. 구현에서, 저장 유닛은 대안적으로 데이터 또는 정보를 저장하도록 구성될 수 있다. 저장 유닛(820)은 메모리를 이용하여 구현될 수 있다.In implementations, the device may further include a storage unit 820 . In a possible manner, the storage unit 820 is configured to store instructions. In implementations, a storage unit may alternatively be configured to store data or information. The storage unit 820 may be implemented using a memory.

가능한 설계에서, 처리 유닛(810)은 저장 유닛(820)에 저장된 명령어들을 실행하여, 장치(800)가 전술한 방법에서 단말 디바이스에 의해 수행되는 단계들을 구현할 수 있게 하도록 구성된다. 대안적으로, 처리 유닛(810)은 저장 유닛(820) 내의 데이터를 호출하여, 장치(800)가 전술한 방법에서 단말 디바이스에 의해 수행되는 단계들을 구현할 수 있게 하도록 구성될 수 있다.In a possible design, the processing unit 810 is configured to execute instructions stored in the storage unit 820, enabling the apparatus 800 to implement the steps performed by the terminal device in the method described above. Alternatively, the processing unit 810 may be configured to retrieve data in the storage unit 820 to enable the apparatus 800 to implement the steps performed by the terminal device in the method described above.

가능한 설계에서, 처리 유닛(810)은 저장 유닛(820)에 저장된 명령어들을 실행하여, 장치(800)가 전술한 방법에서 액세스 네트워크 디바이스에 의해 수행되는 단계들을 구현할 수 있게 하도록 구성된다. 대안적으로, 처리 유닛(810)은 저장 유닛(820) 내의 데이터를 호출하여, 장치(800)가 전술한 방법에서 액세스 네트워크 디바이스에 의해 수행되는 단계들을 구현할 수 있게 하도록 구성될 수 있다.In a possible design, the processing unit 810 is configured to execute instructions stored in the storage unit 820, enabling the apparatus 800 to implement the steps performed by the access network device in the method described above. Alternatively, processing unit 810 may be configured to retrieve data in storage unit 820 to enable apparatus 800 to implement steps performed by an access network device in the method described above.

예를 들어, 처리 유닛(810), 저장 유닛(820), 및 트랜시버 유닛(830)은 내부 접속 경로를 통해 서로 통신하여 제어 신호 및/또는 데이터 신호를 전송할 수 있다. 예를 들어, 저장 유닛(820)은 컴퓨터 프로그램을 저장하도록 구성된다. 처리 유닛(810)은 저장 유닛(820)으로부터 컴퓨터 프로그램을 호출하고 컴퓨터 프로그램을 실행하여, 트랜시버 유닛(830)을 제어함으로써 신호를 수신하고/하거나 신호를 전송하여, 전술한 방법에서 단말 디바이스 또는 액세스 네트워크 디바이스의 단계들을 완료하도록 구성될 수 있다. 저장 유닛(820)은 처리 유닛(810)에 통합될 수 있거나, 처리 유닛(810)과 별도로 배치될 수 있다.For example, the processing unit 810, the storage unit 820, and the transceiver unit 830 may communicate with each other through an internal connection path to transmit control signals and/or data signals. For example, storage unit 820 is configured to store a computer program. The processing unit 810 calls a computer program from the storage unit 820 and executes the computer program to receive and/or transmit a signal by controlling the transceiver unit 830, so as to access or access a terminal device in the above-described method. It can be configured to complete the steps of a network device. The storage unit 820 may be integrated into the processing unit 810 or may be disposed separately from the processing unit 810 .

선택적으로, 장치(800)가 통신 디바이스(예를 들어, 단말 디바이스 또는 액세스 네트워크 디바이스)인 경우, 트랜시버 유닛(830)은 수신기 및 전송기를 포함한다. 수신기 및 전송기는 동일한 물리적 엔티티 또는 상이한 물리적 엔티티들일 수 있다. 수신기 및 전송기가 동일한 물리적 엔티티일 때, 수신기 및 전송기는 집합적으로 트랜시버라고 지칭될 수 있다.Optionally, when apparatus 800 is a communication device (eg, terminal device or access network device), transceiver unit 830 includes a receiver and a transmitter. The receiver and transmitter may be the same physical entity or different physical entities. When the receiver and transmitter are the same physical entity, the receiver and transmitter may be collectively referred to as a transceiver.

선택적으로, 장치(800)가 칩 또는 회로인 경우, 트랜시버 유닛(830)은 입력 인터페이스 및 출력 인터페이스를 포함한다.Optionally, when device 800 is a chip or circuit, transceiver unit 830 includes an input interface and an output interface.

구현에서, 트랜시버 유닛(830)의 기능은 트랜시버 회로 또는 트랜시버 전용 칩을 이용하여 구현되는 것으로 고려될 수 있다. 처리 유닛(810)은 전용 처리 칩, 처리 회로, 처리 유닛, 또는 범용 칩을 이용하여 구현될 수 있다는 점이 고려될 수 있다.In an implementation, the functions of the transceiver unit 830 may be considered to be implemented using a transceiver circuit or a dedicated transceiver chip. It is contemplated that processing unit 810 may be implemented using a dedicated processing chip, processing circuit, processing unit, or general purpose chip.

다른 구현에서, 본 출원의 이 실시예에서 제공되는 통신 디바이스(예를 들어, 단말 디바이스 또는 액세스 네트워크 디바이스)는 범용 컴퓨터를 이용하여 구현되는 것으로 고려될 수 있다. 즉, 처리 유닛(810) 및 트랜시버 유닛(830)의 기능들을 구현하기 위한 프로그램 코드는 저장 유닛(820)에 저장되고, 범용 처리 유닛은 저장 유닛(820)에서의 코드를 실행하는 것에 의해 처리 유닛(810) 및 트랜시버 유닛(830)의 기능들을 구현한다.In another implementation, a communication device (eg, a terminal device or an access network device) provided in this embodiment of the present application may be considered implemented using a general-purpose computer. That is, program codes for implementing the functions of the processing unit 810 and the transceiver unit 830 are stored in the storage unit 820, and the general-purpose processing unit executes the code in the storage unit 820, thereby processing the processing unit. 810 and transceiver unit 830.

일부 실시예들에서, 장치(800)는 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스일 수 있거나, 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스에 배치된 칩 또는 회로일 수 있다. 장치(800)가 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스, 또는 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스에 배치된 칩 또는 회로일 때, 처리 유닛(810)은 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하도록 구성되고; 트랜시버 유닛(830)은 평문 IPv6 패킷의 결정된 전송 경로 상에서 평문 IPv6 패킷을 전송하도록 구성된다.In some embodiments, apparatus 800 may be an access network device or a core network device, or may be a chip or circuit disposed in an access network device or a core network device. When the device 800 is an access network device or a core network device, or a chip or circuit deployed in an access network device or a core network device, the processing unit 810 bases the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet on the to determine a transmission path of the plaintext IPv6 packet; The transceiver unit 830 is configured to transmit the plaintext IPv6 packet on the determined transmission path of the plaintext IPv6 packet.

구현에서, 처리 유닛(810)은 구체적으로, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고; 해시 계산에 수반되는 제1 파라미터 및 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하고 - SIP 및 DIP는 평문 IPv6 패킷의 SIP 및 DIP임 -; 제1 해시 값에 기반하여 평문 IPv6 패킷의 전송 경로를 결정하도록 구성된다.In an implementation, the processing unit 810 is specifically configured to populate a Flow Label field of a plaintext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; obtaining a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field, where SIP and DIP are SIP and DIP of the plaintext IPv6 packet; and determine a transmission path of the plaintext IPv6 packet based on the first hash value.

구현에서, 처리 유닛(810)은 구체적으로, TEID 필드의 N 비트를 플로우 레이블 필드의 N 비트에 채우거나 - 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 플로우 레이블 필드의 N 비트에 채우도록 구성되며, 플로우 레이블 필드는 N 비트를 포함한다.In an implementation, the processing unit 810 specifically fills N bits of the TEID field into N bits of the flow label field, where the flow label field includes N bits; or performing hash calculation on the TEID field and the first parameter to obtain a second hash value, and filling N bits of the second hash value into N bits of the flow label field, wherein the flow label field includes N bits do.

구현에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛(810)은 구체적으로, TEID 필드로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값으로부터, 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.In an implementation, a flow label field of a plaintext IPv6 packet includes a first field and a second field. Specifically, the processing unit 810 intercepts, from the TEID field, a portion having a length equal to the length of the first or second field of the flow label field, and fills the first or second field of the flow label field, or ; Alternatively, a hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and from the second hash value, a portion having the same length as the length of the first or second field of the flow label field is intercepted , configured to fill in the first field or the second field of the flow label field.

구현에서, 처리 유닛(810)은, 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 암호문 IPv6 패킷의 플로우 레이블 필드에 복사하거나; 또는 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하고, 제5 해시 값에 기반하여 암호문 IPv6 패킷의 플로우 레이블 필드를 채우도록 추가로 구성된다.In an implementation, the processing unit 810 copies the Flow Label field of the plaintext IPv6 packet to the Flow Label field of the ciphertext IPv6 packet; or performing hash calculation on the second parameter and the flow label field of the plaintext IPv6 packet to obtain a fifth hash value, and further filling in the flow label field of the ciphertext IPv6 packet based on the fifth hash value. It consists of

장치(800)가 액세스 네트워크 디바이스 또는 코어 네트워크 내에 구성되거나 이러한 것일 때, 장치(800) 내의 모듈들 또는 유닛들은 전술한 방법들에서 액세스 네트워크 디바이스 또는 코어 네트워크 디바이스에 의해 수행되는 액션들 또는 처리 프로세스들을 수행하도록 구성될 수 있다. 반복을 피하기 위해, 상세한 설명들은 본 명세서에서 생략된다.When the apparatus 800 is or is configured within an access network device or a core network, the modules or units within the apparatus 800 perform actions or processing processes performed by the access network device or the core network device in the methods described above. can be configured to perform. To avoid repetition, detailed descriptions are omitted herein.

일부 실시예들에서, 장치(800)는 보안 게이트웨이일 수 있거나, 보안 게이트웨이에 배치된 칩 또는 회로일 수 있다. 장치(800)가 보안 게이트웨이, 또는 보안 게이트웨이에 배치된 칩 또는 회로일 때, 트랜시버 유닛(830)은 코어 네트워크 디바이스에 의해 전송된 평문 패킷을 수신하도록 구성되고; 처리 유닛(810)은 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우도록 구성되며, 여기서 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷이다. 처리 유닛은, 해시 계산에 수반되는 제1 파라미터 및 암호문 IPv6 패킷의 채워진 플로우 레이블 필드에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하고 - SIP 및 DIP는 암호문 IPv6 패킷의 SIP 및 DIP임 -; 제1 해시 값에 기반하여 암호문 IPv6 패킷의 전송 경로를 결정하도록 추가로 구성된다.In some embodiments, device 800 may be a secure gateway, or may be a chip or circuit disposed in a secure gateway. When the device 800 is a security gateway, or a chip or circuit disposed in the security gateway, the transceiver unit 830 is configured to receive the plaintext packet sent by the core network device; The processing unit 810 is configured to populate a Flow Label field of a ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext packet, wherein the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext packet to be. The processing unit obtains a first hash value by performing hash calculation based on a first parameter involved in hash calculation and the filled flow label field of the ciphertext IPv6 packet, where SIP and DIP are SIP and DIP of the ciphertext IPv6 packet. ; and determine a transmission path of the ciphertext IPv6 packet based on the first hash value.

구현에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이다. 처리 유닛(810)은, TEID 필드의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 제2 해시 값의 N 비트를 암호문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우도록 구성되며, 암호문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.In implementations, the plaintext packets are IPv6 packets or IPv4 packets. The processing unit 810 fills N bits of the TEID field into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet contains N bits; or perform hash calculation on the TEID field and the first parameter to obtain a second hash value, and fill N bits of the second hash value into N bits of a flow label field of the ciphertext IPv6 packet; The flow label field contains N bits.

구현에서, 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이고, 암호문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛(810)은, TEID 필드로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제1 파라미터에 대해 해시 계산을 수행하여 제3 해시 값을 획득하고, 제3 해시 값으로부터, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 암호문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.In an implementation, the plaintext packet is an IPv6 packet or an IPv4 packet, and the flow label field of the ciphertext IPv6 packet includes a first field and a second field. The processing unit 810 intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, and obtains the first field or the first field of the flow label field of the ciphertext IPv6 packet. fill in the second field; or performing hash calculation on the TEID field and the first parameter to obtain a third hash value, having a length equal to the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, from the third hash value. and to intercept the part and fill in the first field or the second field of the flow label field of the ciphertext IPv6 packet.

구현에서, 평문 패킷은 IPv6 패킷이다. 처리 유닛(810)은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고, 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드를 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드에 복사하도록 구성된다.In an implementation, the plaintext packet is an IPv6 packet. The processing unit 810 fills the Flow Label field of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet, and converts the filled Flow Label field of the plaintext IPv6 packet into ciphertext. It is configured to be copied to the Flow Label field of IPv6 packets.

구현에서, 평문 패킷은 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 처리 유닛(810)은, 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우고; 플로우 레이블 필드로 채워진 평문 IPv6 패킷을 복수의 칩으로 단편화하고 - 복수의 칩 각각은 채워진 플로우 레이블 필드를 포함함 -; 각각의 칩의 플로우 레이블 필드를 각각의 칩의 암호화된 암호문 패킷의 플로우 레이블 필드에 복사하고; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하고; 제4 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하도록 추가로 구성된다.In an implementation, the plaintext packet is an IPv6 packet. If the plaintext packet is fragmented into multiple chips, the processing unit 810 fills the Flow Label field of the plaintext IPv6 packet based on the Tunnel Endpoint Identifier (TEID) field of the plaintext IPv6 packet; fragment the plaintext IPv6 packet filled with the flow label field into a plurality of chips, each of the plurality of chips including the filled flow label field; copy the flow label field of each chip to the flow label field of each chip's encrypted cipher text packet; obtain a fourth hash value by performing hash calculation based on the first parameter and the flow label field of the ciphertext packet; and determine a transmission path of each cipher text packet based on the fourth hash value.

구현에서, 처리 유닛(810)은, TEID 필드의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우거나 - 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함함 -; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하고, 제5 해시 값의 N 비트를 평문 IPv6 패킷의 플로우 레이블 필드의 N 비트에 채우도록 추가로 구성되며, 평문 IPv6 패킷의 플로우 레이블 필드는 N 비트를 포함한다.In an implementation, the processing unit 810 fills N bits of the TEID field into N bits of the flow label field of the plaintext IPv6 packet, wherein the flow label field of the plaintext IPv6 packet contains N bits; or performing hash calculation on the TEID field and the second parameter to obtain a fifth hash value, and filling N bits of the fifth hash value into N bits of the flow label field of the plaintext IPv6 packet; The flow label field of a packet contains N bits.

구현에서, 평문 IPv6 패킷의 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함한다. 처리 유닛(810)은, TEID 필드로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우거나; 또는 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제6 해시 값을 획득하고, 제6 해시 값으로부터, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 평문 IPv6 패킷의 플로우 레이블 필드의 제1 필드 또는 제2 필드를 채우도록 구성된다.In an implementation, a flow label field of a plaintext IPv6 packet includes a first field and a second field. The processing unit 810 intercepts, from the TEID field, a portion having a length equal to the length of the first field or the second field of the flow label field of the plaintext IPv6 packet, and obtains the first field or the first field of the flow label field of the plaintext IPv6 packet. fill in the second field; or performing hash calculation on the TEID field and the second parameter to obtain a sixth hash value, having a length equal to the length of the first field or the second field of the flow label field of the plaintext IPv6 packet, from the sixth hash value. intercepting part, and filling in the first field or the second field of the flow label field of the plaintext IPv6 packet.

구현에서, 평문 패킷은 IPv4 패킷 또는 IPv6 패킷이다. 평문 패킷이 복수의 칩으로 단편화되는 경우, 처리 유닛(810)은, 평문 패킷을 복수의 칩으로 단편화하고; 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하고; 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 암호문 패킷의 플로우 레이블 필드를 채우고; 암호문 패킷의 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제7 해시 값을 획득하고; 제7 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하도록 추가로 구성된다.In implementations, the plaintext packets are IPv4 packets or IPv6 packets. If the plaintext packet is fragmented into multiple chips, the processing unit 810 fragments the plaintext packet into multiple chips; encrypt each of the plurality of chips to obtain a cipher text packet of each chip; fill the flow label field of each chip's ciphertext packet based on the tunnel endpoint identifier (TEID) field of the plaintext packet; obtain a seventh hash value by performing hash calculation based on the first parameter and the flow label field of the ciphertext packet; and determine a transmission path of each cipher text packet based on the seventh hash value.

장치(800)가 보안 게이트웨이에서 구성되거나 보안 게이트웨이일 때, 장치(800) 내의 모듈들 또는 유닛들은 전술한 방법들에서 보안 게이트웨이에 의해 수행되는 액션들 또는 처리 프로세스들을 수행하도록 구성될 수 있다. 반복을 피하기 위해, 상세한 설명들은 본 명세서에서 생략된다.When device 800 is configured in or is a security gateway, modules or units within device 800 may be configured to perform actions or processing processes performed by the security gateway in the methods described above. To avoid repetition, detailed descriptions are omitted herein.

본 출원의 실시예들에서 제공되는 기술적 해결책들에 관련되는 장치(800)의 개념들, 설명들, 상세한 설명들, 및 다른 단계들에 대해서는, 전술한 방법들 또는 다른 실시예들에서의 내용의 설명들을 참조한다. 상세들은 본 명세서에서 다시 설명되지 않는다.For the concepts, descriptions, detailed descriptions, and other steps of the device 800 related to the technical solutions provided in the embodiments of the present application, the content in the foregoing methods or other embodiments see explanations. Details are not described herein again.

도 15는 본 출원의 실시예에 따른 액세스 네트워크 디바이스(900)의 구조의 개략도이다. 액세스 네트워크 디바이스(900)는 전술한 방법에서 액세스 디바이스(예를 들어, 제1 액세스 네트워크 디바이스, 제2 액세스 네트워크 디바이스, 또는 제3 액세스 네트워크 디바이스)의 기능들을 구현하도록 구성될 수 있다. 액세스 네트워크 디바이스(900)는 원격 라디오 유닛(remote radio unit, RRU)(910) 및 하나 이상의 기저대역 유닛(baseband unit, BBU)(이는 디지털 유닛(digital unit, DU)이라고도 지칭될 수 있음)(920)과 같은 하나 이상의 라디오 주파수 유닛을 포함한다. RRU(910)는 트랜시버 유닛, 트랜시버, 트랜시버 회로, 트랜시버 머신 등으로 지칭될 수 있고, 적어도 하나의 안테나(911) 및 라디오 유닛(912)을 포함할 수 있다. RRU(910)는 주로 라디오 주파수 신호를 전송 및 수신하고, 라디오 주파수 신호와 기저대역 신호 사이의 변환을 수행하도록 구성되며, 예를 들어 전술한 실시예들에서의 시그널링 메시지들을 단말 디바이스에 전송하도록 구성된다. BBU(920)는 주로 기저대역 처리를 수행하는 것, 기지국을 제어하는 것 등을 하도록 구성된다. RRU(910) 및 BBU(920)는 물리적으로 함께 배치될 수 있거나, 또는 물리적으로 분리될 수 있는데, 즉, 분산형 기지국에 있을 수 있다.15 is a schematic diagram of the structure of an access network device 900 according to an embodiment of the present application. The access network device 900 may be configured to implement functions of an access device (eg, a first access network device, a second access network device, or a third access network device) in the method described above. The access network device 900 includes a remote radio unit (RRU) 910 and one or more baseband units (BBUs) (which may also be referred to as digital units (DUs)) 920 ) and includes one or more radio frequency units such as The RRU 910 may be referred to as a transceiver unit, a transceiver, a transceiver circuit, a transceiver machine, and the like, and may include at least one antenna 911 and a radio unit 912 . The RRU 910 is mainly configured to transmit and receive radio frequency signals, perform conversion between radio frequency signals and baseband signals, and transmit signaling messages in the foregoing embodiments to a terminal device, for example. do. BBU 920 is mainly configured to perform baseband processing, control base stations, and the like. RRU 910 and BBU 920 may be physically co-located, or may be physically separate, ie, in a distributed base station.

BBU(920)는 기지국의 제어 센터이고, 채널 인코딩, 멀티플렉싱, 변조, 또는 확산과 같은 기저대역 처리 기능을 구현하도록 주로 구성되는 처리 유닛이라고도 지칭된다. 예를 들어, BBU(처리 유닛)(920)는 전술한 방법 실시예들에서 네트워크 디바이스에 관련된 동작 절차를 수행하기 위해 기지국(40)을 제어하도록 구성될 수 있다.BBU 920 is the control center of a base station and is also referred to as a processing unit that is primarily configured to implement baseband processing functions such as channel encoding, multiplexing, modulation, or spreading. For example, BBU (processing unit) 920 may be configured to control base station 40 to perform operational procedures related to network devices in the foregoing method embodiments.

예에서, BBU(920)는 하나 이상의 보드를 포함할 수 있고, 복수의 보드들은 단일 액세스 표준에서 (LTE 시스템 또는 5G 시스템과 같은) 라디오 액세스 네트워크를 공동으로 지원할 수 있거나, 상이한 액세스 표준들에서 라디오 액세스 네트워크들을 개별적으로 지원할 수 있다. BBU(920)는 메모리(921) 및 프로세서(922)를 더 포함한다. 메모리(921)는 필요한 명령어들 및 데이터를 저장하도록 구성된다. 예를 들어, 메모리(921)는 전술한 실시예들에서의 코드북 등을 저장한다. 프로세서(922)는 기지국을 제어하여 필요한 액션을 수행하도록 구성되는데, 예를 들어, 전술한 방법 실시예들에서 네트워크 디바이스에 관련된 동작 절차를 수행하기 위해 기지국을 제어하도록 구성된다. 메모리(921) 및 프로세서(922)는 하나 이상의 보드를 서빙할 수 있다. 즉, 메모리 및 프로세서는 각각의 보드 상에 배치될 수 있다. 대안적으로, 복수의 보드들이 동일한 메모리 및 프로세서를 공유할 수 있다. 또한, 필요한 회로가 각각의 보드 상에 추가로 배치될 수 있다.In an example, BBU 920 may include one or more boards, and multiple boards may jointly support a radio access network (such as an LTE system or a 5G system) in a single access standard, or a radio access network in different access standards. Access networks can be individually supported. The BBU 920 further includes a memory 921 and a processor 922. Memory 921 is configured to store necessary instructions and data. For example, the memory 921 stores codebooks and the like in the above-described embodiments. The processor 922 is configured to control the base station to perform necessary actions, for example, to control the base station to perform an operating procedure related to the network device in the foregoing method embodiments. Memory 921 and processor 922 may serve one or more boards. That is, the memory and processor may be placed on separate boards. Alternatively, multiple boards may share the same memory and processor. In addition, necessary circuitry can be additionally placed on each board.

가능한 구현에서, 시스템 온 칩(system-on-chip, SoC) 기술의 개발로, 부분들(920 및 910)의 모든 또는 일부 기능들은 SoC 기술을 이용하여 구현될 수 있는데, 예를 들어, 하나의 기지국 기능 칩을 이용하여 구현될 수 있다. 기지국 기능 칩은 프로세서, 메모리, 및 안테나 포트와 같은 구성요소들을 통합한다. 기지국 관련 기능의 프로그램이 메모리에 저장되고, 프로세서는 기지국 관련 기능을 구현하기 위해 프로그램을 실행한다. 선택적으로, 기지국 기능 칩은 또한 칩의 외부 메모리를 판독하여, 기지국의 관련 기능을 구현할 수 있다.In a possible implementation, with the development of system-on-chip (SoC) technology, all or some of the functions of portions 920 and 910 may be implemented using SoC technology, e.g., one It can be implemented using a base station function chip. A base station function chip integrates components such as a processor, memory, and antenna port. A program of functions related to the base station is stored in a memory, and the processor executes the program to implement the functions related to the base station. Optionally, the base station function chip may also read the external memory of the chip to implement the related functions of the base station.

도 15에 도시된 액세스 네트워크 디바이스의 구조는 단지 가능한 형태이고, 본 출원의 실시예들에 대한 어떠한 제한도 구성하지 않아야 한다는 것을 이해해야 한다. 본 출원은 다른 형태의 기지국 구조가 미래에 나타날 수 있는 가능성을 배제하지 않는다.It should be understood that the structure of the access network device shown in FIG. 15 is merely a possible form and should not constitute any limitation to the embodiments of the present application. This application does not exclude the possibility that other types of base station structures may appear in the future.

본 출원의 실시예들에서의 프로세서는 중앙 처리 유닛(central processing unit, CPU)일 수 있거나, 다른 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 주문형 집적 회로(application-specific integrated circuit, ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA), 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직 디바이스, 이산 하드웨어 구성요소 등일 수 있다는 점이 이해되어야 한다. 범용 프로세서는 마이크로프로세서일 수 있거나, 프로세서는 임의의 종래의 프로세서 등일 수 있다.The processor in the embodiments of the present application may be a central processing unit (CPU), or another general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC) ), a field programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or the like. A general purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

본 출원의 실시예들에서의 메모리는 휘발성 메모리 또는 비휘발성 메모리일 수 있거나, 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있다는 점이 추가로 이해되어야 한다. 비휘발성 메모리는 판독 전용 메모리(read-only memory, ROM), 프로그래머블 판독 전용 메모리(programmable ROM, PROM), 소거가능한 프로그래머블 판독 전용 메모리(erasable PROM, EPROM), 전기적으로 소거가능한 프로그래머블 판독 전용 메모리(electrically EPROM, EEPROM), 또는 플래시 메모리일 수 있다. 휘발성 메모리는 외부 캐시로서 이용되는 랜덤 액세스 메모리(random access memory, RAM)일 수 있다. 제한적 설명이 아닌 예로서, 많은 형태들의 랜덤 액세스 메모리(random access memory, RAM), 예를 들어, 정적 랜덤 액세스 메모리(static RAM, SRAM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(synchronous DRAM, SDRAM), 더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리(double data rate SDRAM, DDR SDRAM), 강화된 동기식 동적 랜덤 액세스 메모리(enhanced SDRAM, ESDRAM), 싱크링크 동적 랜덤 액세스 메모리(synchlink DRAM, SLDRAM), 및 직접 램버스 랜덤 액세스 메모리(direct rambus RAM, DR RAM)가 이용될 수 있다.It should be further understood that memory in embodiments of the present application may be volatile memory or non-volatile memory, or may include volatile memory and non-volatile memory. Non-volatile memory includes read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EPROM). EPROM, EEPROM), or flash memory. Volatile memory may be random access memory (RAM) used as an external cache. By way of example and not limitation, there are many forms of random access memory (RAM), such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory ( synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchlink dynamic random access memory (synchlink DRAM, SLDRAM) , and direct rambus random access memory (direct rambus RAM, DR RAM) may be used.

전술한 실시예들의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합을 이용하여 구현될 수 있다. 소프트웨어가 실시예들을 구현하는데 이용될 때, 전술한 실시예들은 컴퓨터 프로그램 제품의 형태로 완전히 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어 또는 컴퓨터 프로그램을 포함한다. 컴퓨터 명령어들 또는 컴퓨터 프로그램들이 컴퓨터 상에 로딩되어 실행될 때, 본 출원의 실시예들에 따른 절차 또는 기능들이 모두 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크, 또는 다른 프로그래머블 장치일 수 있다. 컴퓨터 명령어들은 컴퓨터 판독가능한 저장 매체에 저장될 수 있거나, 컴퓨터 판독가능한 저장 매체로부터 다른 컴퓨터 판독가능한 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어들은 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로부터 유선(예를 들어, 적외선, 라디오, 및 마이크로파 등) 방식으로 다른 웹사이트, 컴퓨터, 서버, 또는 데이터 센터로 전송될 수 있다. 컴퓨터 판독가능한 저장 매체는 컴퓨터에 의해 액세스가능한 임의의 이용가능한 매체, 또는 하나 이상의 이용가능한 매체를 통합하는, 서버 또는 데이터 센터와 같은, 데이터 저장 디바이스일 수 있다. 이용가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크, 또는 자기 테이프), 광학 매체(예를 들어, DVD), 또는 반도체 매체일 수 있다. 반도체 매체는 솔리드 스테이트 드라이브일 수 있다.All or part of the foregoing embodiments may be implemented using software, hardware, firmware, or any combination thereof. When software is used to implement the embodiments, the above-described embodiments may be fully or partially implemented in the form of a computer program product. A computer program product includes one or more computer instructions or computer programs. When computer instructions or computer programs are loaded onto a computer and executed, procedures or functions according to embodiments of the present application are all or partially created. A computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device. Computer instructions may be stored on a computer readable storage medium or transferred from a computer readable storage medium to another computer readable storage medium. For example, computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wire (eg, infrared, radio, and microwave, etc.) . A computer readable storage medium can be any available medium that is accessible by a computer, or a data storage device, such as a server or data center, that incorporates one or more available media. Usable media may be magnetic media (eg floppy disk, hard disk, or magnetic tape), optical media (eg DVD), or semiconductor media. The semiconductor medium may be a solid state drive.

본 출원의 실시예는 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 매체를 추가로 제공한다. 컴퓨터 프로그램이 컴퓨터에 의해 실행될 때, 전술한 실시예들 중 어느 하나에서 액세스 네트워크 디바이스에 의해 수행되는 단계들, 코어 네트워크 디바이스에 의해 수행되는 단계들, 또는 보안 게이트웨이 디바이스에 의해 수행되는 단계들이 구현된다.Embodiments of the present application further provide a computer readable medium storing a computer program. When the computer program is executed by a computer, the steps performed by the access network device, the steps performed by the core network device, or the steps performed by the security gateway device in any one of the foregoing embodiments are implemented. .

본 출원의 실시예는 컴퓨터 프로그램 제품을 추가로 제공한다. 컴퓨터 프로그램 제품이 컴퓨터에 의해 실행될 때, 전술한 실시예들 중 어느 하나에서 액세스 네트워크 디바이스에 의해 수행되는 단계들, 코어 네트워크 디바이스에 의해 수행되는 단계들, 또는 보안 게이트웨이 디바이스에 의해 수행되는 단계들이 구현된다.Embodiments of the present application further provide a computer program product. When the computer program product is executed by a computer, the steps performed by the access network device, the steps performed by the core network device, or the steps performed by the security gateway device in any one of the foregoing embodiments are implemented. do.

본 출원의 실시예는 시스템 칩을 추가로 제공한다. 시스템 칩은 통신 유닛 및 처리 유닛을 포함한다. 처리 유닛은 예를 들어 프로세서일 수 있다. 통신 유닛은, 예를 들어, 통신 인터페이스, 입력/출력 인터페이스, 핀, 회로 등일 수 있다. 처리 유닛은 컴퓨터 명령어들을 실행할 수 있어서, 통신 장치에서의 칩이 본 출원의 전술한 실시예들에서 제공되는, 액세스 네트워크 디바이스에 의해 수행되는 단계들, 코어 네트워크 디바이스에 의해 수행되는 단계들, 또는 보안 게이트웨이 디바이스에 의해 수행되는 단계들을 수행하게 한다.Embodiments of the present application further provide a system chip. The system chip includes a communication unit and a processing unit. A processing unit may be, for example, a processor. A communication unit may be, for example, a communication interface, an input/output interface, a pin, a circuit, or the like. The processing unit is capable of executing computer instructions, so that a chip in the communication apparatus steps performed by an access network device, steps performed by a core network device, or security steps provided in the foregoing embodiments of the present application. Perform the steps performed by the gateway device.

선택적으로, 컴퓨터 명령어들은 저장 유닛에 저장된다.Optionally, computer instructions are stored in the storage unit.

본 출원의 실시예들에서 제공되는 방법에 따르면, 본 출원의 실시예는 통신 시스템을 추가로 제공한다. 통신 시스템은 전술한 액세스 네트워크 디바이스, 코어 네트워크 디바이스, 및 보안 게이트웨이 디바이스를 포함한다.According to the method provided in the embodiments of the present application, the embodiment of the present application further provides a communication system. The communication system includes the aforementioned access network device, core network device, and security gateway device.

본 출원의 실시예들은 독립적으로 이용될 수 있거나, 공동으로 이용될 수 있다. 이것은 본 명세서에서 제한되지 않는다.Embodiments of the present application may be used independently or may be used jointly. This is not limited here.

또한, 본 출원의 양태들 또는 특징들은 표준 프로그래밍 및/또는 엔지니어링 기술들을 이용하는 방법, 장치, 또는 제품으로서 구현될 수 있다. 본 출원에서 사용되는 용어 "제품"은 임의의 컴퓨터 판독가능한 구성요소, 캐리어 또는 매체로부터 액세스될 수 있는 컴퓨터 프로그램을 커버한다. 예를 들어, 컴퓨터 판독가능한 매체는 자기 저장 구성요소(예를 들어, 하드 디스크, 플로피 디스크, 또는 자기 테이프), 광학 디스크(예를 들어, 컴팩트 디스크(compact disc, CD) 및 디지털 다기능 디스크(digital versatile disc, DVD)), 스마트 카드, 및 플래시 메모리 구성요소(예를 들어, 소거가능한 프로그래머블 판독 전용 메모리(erasable programmable read-only memory, EPROM), 카드, 스틱, 또는 키 드라이브)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 또한, 본 명세서에서 설명된 다양한 저장 매체는 정보를 저장하도록 구성되는 하나 이상의 디바이스 및/또는 다른 머신 판독가능한 매체를 나타낼 수 있다. "머신 판독가능한 매체"라는 용어는 라디오 채널, 및 명령어들 및/또는 데이터를 저장, 포함 및/또는 운반할 수 있는 다양한 다른 매체를 포함할 수 있지만 이에 제한되지는 않는다.Also, aspects or features of the present application may be implemented as a method, apparatus, or product using standard programming and/or engineering techniques. The term "product" as used in this application covers a computer program that can be accessed from any computer readable component, carrier or medium. For example, computer readable media include magnetic storage components (eg, hard disks, floppy disks, or magnetic tape), optical disks (eg, compact discs (CDs), and digital versatile discs). versatile disc (DVD)), smart cards, and flash memory components (e.g., erasable programmable read-only memory (EPROM), card, stick, or key drive), but , but is not limited thereto. Additionally, various storage media described herein can represent one or more devices and/or other machine-readable media configured to store information. The term "machine-readable medium" may include, but is not limited to, a radio channel and various other media capable of storing, containing and/or carrying instructions and/or data.

본 출원에서의 모든 표 파라미터들은 단지 예들로서 이용되고, 특정 계산된 값들, 파라미터들 등을 나타내지 않는다는 점이 이해되어야 한다.It should be understood that all table parameters in this application are used only as examples and do not represent specific calculated values, parameters, etc.

"및/또는"이라는 용어는 연관된 객체들 사이의 연관 관계를 설명하고, 3개의 관계가 존재할 수 있다는 것을 나타낸다는 점이 이해되어야 한다. 예를 들어, A 및/또는 B는 다음의 3가지 경우, 즉 A만이 존재하는 것, A 및 B 둘 다가 존재하는 것, 및 B만이 존재하는 것을 나타낼 수 있다. 문자 "/"는 일반적으로 연관된 객체들 사이의 "또는" 관계를 나타낸다. 용어 "적어도 하나"는 하나 이상을 의미한다. 용어 "A 및/또는 B"와 유사한 용어 "A 및 B 중 적어도 하나"는 연관된 객체들 사이의 연관 관계를 설명하며, 3개의 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및 B 중 적어도 하나는 다음의 3가지 경우, 즉 A만이 존재하는 것, A 및 B 둘 다가 존재하는 것, 및 B만이 존재하는 것을 나타낼 수 있다.It should be understood that the term "and/or" describes an associative relationship between associated objects and indicates that three relationships may exist. For example, A and/or B may represent the following three cases: that only A exists, that both A and B exist, and that only B exists. The character "/" generally indicates an "or" relationship between related objects. The term “at least one” means one or more. The term “at least one of A and B,” similar to the term “A and/or B,” describes an association relationship between associated objects, indicating that three relationships may exist. For example, at least one of A and B may represent the following three cases: that only A exists, that both A and B exist, and that only B exists.

본 출원에서는 복수의 해시 값, 예를 들어, "제1 해시 값", "제2 해시 값", 및 "제3 해시 값"이 있다는 것을 이해해야 한다. 이들은 상이한 파라미터들에 기반하여 해시 연산을 수행함으로써 획득된 해시 값들을 나타낸다. "제1 해시 값", "제2 해시 값", 및 "제3 해시 값"의 특정 값들은 해시 파라미터들에 의해 결정된다. "제1", "제2", "제3" 등은 해시 값에 어떠한 제한도 부과하지 않는다.It should be understood that there are multiple hash values in this application, eg, "first hash value", "second hash value", and "third hash value". These represent hash values obtained by performing a hash operation based on different parameters. Specific values of "first hash value", "second hash value", and "third hash value" are determined by hash parameters. "First", "Second", "Third", etc. do not impose any restrictions on the hash value.

본 기술분야의 통상의 기술자는, 본 명세서에 개시된 실시예들에서 설명된 예들과 조합하여, 유닛들 및 알고리즘 단계들이 전자 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합에 의해 구현될 수 있다는 것을 알 수 있다. 기능들이 하드웨어 또는 소프트웨어에 의해 수행되는지는 기술적 해결책들의 특정 응용들 및 설계 제약 조건들에 의존한다. 본 기술분야의 통상의 기술자는 각각의 특정 응용에 대해 설명된 기능들을 구현하기 위해 상이한 방법들을 이용할 수 있지만, 이러한 구현이 본 출원의 범위를 넘어서는 것으로 고려되어서는 안 된다.A person skilled in the art may know that, in combination with the examples described in the embodiments disclosed herein, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. . Whether the functions are performed by hardware or software depends on the specific applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that such implementation goes beyond the scope of the present application.

편리하고 간단한 설명을 위해, 전술한 시스템, 장치, 및 유닛의 상세한 작업 프로세스에 대해서는, 전술한 방법 실시예들에서의 대응하는 프로세스를 참조하고, 상세들이 본 명세서에서 다시 설명되지 않는다는 것이 본 기술분야의 통상의 기술자에 의해 명확하게 이해될 수 있다.For convenient and brief description, for detailed working processes of the foregoing systems, apparatuses, and units, reference is made to corresponding processes in the foregoing method embodiments, and details are not described herein again. can be clearly understood by those skilled in the art.

본 출원에서 제공되는 몇몇 실시예들에서, 개시된 시스템, 장치, 및 방법은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예이다. 예를 들어, 유닛들로의 분할은 단지 논리적 기능 분할이거나 실제 구현에서는 다른 분할일 수 있다. 예를 들어, 복수의 유닛들 또는 구성요소들이 다른 시스템에 조합 또는 통합될 수 있거나, 또는 일부 특징들이 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합들 또는 직접 결합들 또는 통신 접속들은 일부 인터페이스들을 통해 구현될 수 있다. 장치들 또는 유닛들 사이의 간접 결합들 또는 통신 접속들은 전기적, 기계적, 또는 다른 형태로 구현될 수 있다.In some embodiments provided herein, it should be understood that the disclosed systems, apparatus, and methods may be implemented in other ways. For example, the device embodiments described are merely examples. For example, division into units may be just logical function division or other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. Also, the indicated or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electrical, mechanical, or other forms.

별개의 부분들로서 설명되는 유닛들은 물리적으로 별개일 수 있거나 또는 그렇지 않을 수 있고, 유닛들로서 표시되는 부분들은 물리적 유닛들일 수 있거나 또는 그렇지 않을 수 있고, 하나의 위치에 배치될 수 있거나, 또는 복수의 네트워크 유닛들 상에 분산될 수 있다. 유닛들의 일부 또는 전부는 실시예들의 해결책들의 목적들을 달성하기 위해 실제 요건들에 따라 선택될 수 있다.Units described as separate parts may or may not be physically separate, and parts presented as units may or may not be physical units, may be located in one location, or may be located on a plurality of networks. Can be distributed over units. Some or all of the units may be selected according to actual requirements to achieve the objectives of the solutions of the embodiments.

또한, 본 출원의 실시예들에서의 기능 유닛들은 하나의 처리 유닛으로 통합될 수 있거나, 유닛들 각각이 물리적으로 단독으로 존재할 수 있거나, 2개 이상의 유닛이 하나의 유닛으로 통합된다.Also, functional units in the embodiments of the present application may be integrated into one processing unit, each of the units may physically exist alone, or two or more units are integrated into one unit.

기능들이 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로서 판매되거나 이용될 때, 이러한 기능들은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 이러한 이해에 기반하여, 본질적으로 본 출원의 기술적 해결책들, 또는 현재 기술에 기여하는 부분, 또는 기술적 해결책들의 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 저장 매체에 저장되고, 컴퓨터 디바이스(개인용 컴퓨터, 서버, 또는 네트워크 디바이스일 수 있음)에게 본 출원의 실시예들에서 설명된 방법들의 단계들의 전부 또는 일부를 수행하도록 지시하기 위한 여러 명령어들을 포함한다. 전술한 저장 매체는 USB 플래시 드라이브, 이동식 하드 디스크, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크, 또는 광학 디스크와 같은, 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.When functions are implemented in the form of a software functional unit and sold or used as an independent product, these functions may be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially, or the part contributing to the current technology, or part of the technical solutions may be implemented in the form of a software product. The software product is stored in a storage medium and contains several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or part of the steps of the methods described in the embodiments of the present application. include The aforementioned storage medium may store program codes, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk. Including any medium with

전술한 설명들은 단지 본 출원의 특정 구현들에 불과하고, 본 출원의 보호 범위를 제한하려고 의도되는 것은 아니다. 본 출원에 개시되는 기술적 범위 내에서 본 기술분야의 통상의 기술자에 의해 용이하게 이해되는 임의의 변형 또는 대체는 본 출원의 보호 범위 내에 속해야 한다. 따라서, 본 출원의 보호 범위는 청구항들의 보호 범위에 따라야 한다.The foregoing descriptions are merely specific implementations of the present application, and are not intended to limit the protection scope of the present application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims (26)

인터넷 프로토콜 버전 IPv6 기반 무선 네트워크 통신 방법으로서,
평문 IPv6 패킷의 터널 엔드포인트 식별자(tunnel endpoint identifier)(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 전송 경로를 결정하는 단계 - 상기 TEID 필드는 상기 평문 IPv6 패킷이 속하는 베어러를 표시함 -; 및
상기 평문 IPv6 패킷의 결정된 전송 경로 상에서 상기 평문 IPv6 패킷을 전송하는 단계
를 포함하는, 방법.
A wireless network communication method based on Internet protocol version IPv6, comprising:
determining a transmission path of the plaintext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet, wherein the TEID field indicates a bearer to which the plaintext IPv6 packet belongs; and
Transmitting the plaintext IPv6 packet on the determined transmission path of the plaintext IPv6 packet
Including, method.
제1항에 있어서,
상기 평문 IPv6 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 전송 경로를 결정하는 단계는,
상기 평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계;
채워진 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 단계; 및
상기 제1 해시 값에 기반하여 상기 평문 IPv6 패킷의 전송 경로를 결정하는 단계
를 포함하는, 방법.
According to claim 1,
The step of determining a transmission path of the plaintext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet,
filling a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet;
obtaining a first hash value by performing hash calculation based on the filled flow label field and the first parameter; and
Determining a transmission path of the plaintext IPv6 packet based on the first hash value
Including, method.
제2항에 있어서,
상기 플로우 레이블 필드는 N 비트를 포함하고, 상기 평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 상기 플로우 레이블 필드의 N 비트에 채우는 단계; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 상기 제2 해시 값의 N 비트를 상기 플로우 레이블 필드의 N 비트에 채우는 단계
를 포함하는, 방법.
According to claim 2,
The flow label field includes N bits, and filling the flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet includes:
filling N bits of the TEID field into N bits of the flow label field; or
Obtaining a second hash value by performing hash calculation on the TEID field and the first parameter, and filling N bits of the second hash value into N bits of the flow label field.
Including, method.
제2항에 있어서,
상기 평문 IPv6 패킷의 상기 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 상기 평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드로부터, 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하고, 상기 제2 해시 값으로부터, 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계
를 포함하는, 방법.
According to claim 2,
The flow label field of the plaintext IPv6 packet includes a first field and a second field, and a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet The step of filling is,
intercepting a portion having a length equal to a length of the first or second field of the flow label field from the TEID field, and filling the first or second field of the flow label field; or
A hash calculation is performed on the TEID field and the first parameter to obtain a second hash value, and a length equal to the length of the first or second field of the flow label field is obtained from the second hash value. Intercepting a part having a part and filling the first field or the second field of the flow label field
Including, method.
제1항 내지 제4항 중 어느 한 항에 있어서,
상기 방법은,
평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계 - 상기 암호문 IPv6 패킷은 평문 패킷을 암호화함으로써 획득된 패킷임 -;
상기 암호문 IPv6 패킷의 채워진 플로우 레이블 필드 및 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제6 해시 값을 획득하는 단계; 및
상기 제3 해시 값에 기반하여 상기 암호문 IPv6 패킷의 전송 경로를 결정하는 단계
를 더 포함하는, 방법.
According to any one of claims 1 to 4,
The method,
filling a Flow Label field of the ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext IPv4 packet, wherein the ciphertext IPv6 packet is a packet obtained by encrypting a plaintext packet;
obtaining a sixth hash value by performing hash calculation based on the filled flow label field of the ciphertext IPv6 packet and a second parameter; and
determining a transmission path of the ciphertext IPv6 packet based on the third hash value;
Further comprising a method.
제5항에 있어서,
상기 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -; 또는
상기 TEID 필드 및 상기 제2 파라미터에 대해 해시 계산을 수행하여 제4 해시 값을 획득하는 단계; 및
상기 제4 해시 값의 N 비트를 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -
를 포함하는, 방법.
According to claim 5,
Filling the flow label field of the ciphertext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet,
filling N bits of the TEID field into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet includes N bits; or
obtaining a fourth hash value by performing hash calculation on the TEID field and the second parameter; and
filling N bits of the fourth hash value into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet includes N bits;
Including, method.
제6항에 있어서,
상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 제3 필드 및 제4 필드를 포함하고, 상기 평문 IPv4 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드로부터, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제3 필드 또는 상기 제4 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제3 필드 또는 상기 제4 필드를 채우는 단계; 또는
상기 TEID 필드 및 상기 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하는 단계; 및
상기 제5 해시 값으로부터, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제3 필드 또는 상기 제4 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제3 필드 또는 상기 제4 필드를 채우는 단계
를 포함하는, 방법.
According to claim 6,
The flow label field of the ciphertext IPv6 packet includes a third field and a fourth field, and fills a flow label field of the ciphertext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet. step is,
intercepting, from the TEID field, a portion having the same length as the length of the third field or the fourth field of the flow label field of the ciphertext IPv6 packet, and the third field of the flow label field of the ciphertext IPv6 packet; or filling the fourth field; or
obtaining a fifth hash value by performing hash calculation on the TEID field and the second parameter; and
intercepting, from the fifth hash value, a portion having the same length as the length of the third field or the fourth field of the flow label field of the ciphertext IPv6 packet; Filling the 3rd field or the 4th field
Including, method.
제5항에 있어서,
상기 평문 IPv4 패킷은 복수의 칩을 포함하고, 상기 방법은,
상기 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하는 단계;
상기 평문 IPv4 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계; 및
상기 암호문 패킷의 상기 플로우 레이블 필드 및 상기 제2 파라미터에 기반하여 해시 계산을 수행함으로써 제6 해시 값을 획득하는 단계
를 더 포함하며,
상기 제3 해시 값에 기반하여 상기 암호문 IPv6 패킷의 전송 경로를 결정하는 단계는 상기 제6 해시 값에 기반하여 각각의 암호문 칩의 전송 경로를 결정하는 단계를 포함하는, 방법.
According to claim 5,
The plaintext IPv4 packet includes a plurality of chips, and the method comprises:
encrypting each of the plurality of chips to obtain a cipher text packet of each chip;
filling a flow label field of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet; and
Obtaining a sixth hash value by performing hash calculation based on the flow label field of the ciphertext packet and the second parameter.
Including more,
wherein determining a transmission path of the ciphertext IPv6 packet based on the third hash value comprises determining a transmission path of each ciphertext chip based on the sixth hash value.
제8항에 있어서,
상기 평문 IPv4 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -; 또는
상기 TEID 필드 및 상기 제2 파라미터에 대해 해시 계산을 수행하여 제7 해시 값을 획득하는 단계; 및
상기 제7 해시 값의 N 비트를 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -
를 포함하는, 방법.
According to claim 8,
Filling a flow label field of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext IPv4 packet;
filling N bits of the TEID field into N bits of the flow label field of the cipher text packet of each chip, wherein the flow label field of the cipher text packet of each chip includes N bits; or
obtaining a seventh hash value by performing hash calculation on the TEID field and the second parameter; and
filling N bits of the seventh hash value into N bits of the flow label field of the ciphertext packet of each chip, wherein the flow label field of the ciphertext packet of each chip includes N bits;
Including, method.
제8항에 있어서,
각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 제5 필드 및 제6 필드를 포함하고, 상기 평문 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계는,
상기 TEID 필드로부터, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제5 필드 또는 상기 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제5 필드 또는 상기 제6 필드를 채우는 단계; 또는
상기 TEID 필드 및 상기 제2 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하는 단계; 및
상기 제8 해시 값으로부터, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제5 필드 또는 상기 제6 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제5 필드 또는 상기 제6 필드를 채우는 단계
를 포함하는, 방법.
According to claim 8,
The flow label field of the ciphertext packet of each chip includes a fifth field and a sixth field, and the flow label of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext packet Steps to fill in the fields are:
The flow label of the ciphertext packet of each chip by intercepting a part having the same length as the length of the fifth field or the sixth field of the flow label field of the ciphertext packet of each chip from the TEID field filling the fifth field or the sixth field of a field; or
obtaining an eighth hash value by performing hash calculation on the TEID field and the second parameter; and
From the eighth hash value, a portion having the same length as the length of the fifth field or the sixth field of the flow label field of the ciphertext packet of each chip is intercepted, and the ciphertext packet of each chip is intercepted. Filling the fifth field or the sixth field of the flow label field
Including, method.
인터넷 프로토콜 버전 IPv6 기반 통신 방법으로서,
코어 네트워크 디바이스로부터 평문 패킷을 수신하는 단계;
상기 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계 - 상기 암호문 IPv6 패킷은 상기 평문 패킷을 암호화함으로써 획득된 패킷임 -;
상기 암호문 IPv6 패킷의 채워진 플로우 레이블 필드 및 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제1 해시 값을 획득하는 단계; 및
상기 제1 해시 값에 기반하여 상기 암호문 IPv6 패킷의 전송 경로를 결정하는 단계
를 포함하는, 방법.
As a communication method based on Internet protocol version IPv6,
Receiving a plaintext packet from a core network device;
filling a Flow Label field of a ciphertext IPv6 packet based on a Tunnel Endpoint Identifier (TEID) field of the plaintext packet, wherein the ciphertext IPv6 packet is a packet obtained by encrypting the plaintext packet;
obtaining a first hash value by performing hash calculation based on the filled flow label field of the ciphertext IPv6 packet and a first parameter; and
determining a transmission path of the ciphertext IPv6 packet based on the first hash value;
Including, method.
제11항에 있어서,
상기 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이고, 상기 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제2 해시 값을 획득하는 단계; 및
상기 제2 해시 값의 N 비트를 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -
를 포함하는, 방법.
According to claim 11,
The plaintext packet is an IPv6 packet or an IPv4 packet, and filling a flow label field of the ciphertext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext packet comprises:
filling N bits of the TEID field into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet includes N bits; or
obtaining a second hash value by performing hash calculation on the TEID field and the first parameter; and
filling N bits of the second hash value into N bits of the flow label field of the ciphertext IPv6 packet, wherein the flow label field of the ciphertext IPv6 packet includes N bits;
Including, method.
제11항에 있어서,
상기 평문 패킷은 IPv6 패킷 또는 IPv4 패킷이고, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 상기 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드로부터, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제3 해시 값을 획득하는 단계; 및
상기 제3 해시 값으로부터, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 암호문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계
를 포함하는, 방법.
According to claim 11,
The plaintext packet is an IPv6 packet or an IPv4 packet, the flow label field of the ciphertext IPv6 packet includes a first field and a second field, and based on a tunnel endpoint identifier (TEID) field of the plaintext packet, an ciphertext IPv6 packet The step of filling the Flow Label field of
intercepting, from the TEID field, a portion having the same length as the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet, and the first field of the flow label field of the ciphertext IPv6 packet; or filling the second field; or
obtaining a third hash value by performing hash calculation on the TEID field and the first parameter; and
intercepting, from the third hash value, a portion having the same length as the length of the first field or the second field of the flow label field of the ciphertext IPv6 packet; Filling in one field or the second field
Including, method.
제11항에 있어서,
상기 평문 패킷은 IPv6 패킷이고, 상기 평문 패킷의 터널 엔드포인트 식별자(TEID) 필드에 기반하여 암호문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계; 및
상기 평문 IPv6 패킷의 채워진 플로우 레이블(Flow Label) 필드를 상기 암호문 IPv6 패킷의 상기 플로우 레이블(Flow Label) 필드에 복사하는 단계
를 포함하는, 방법.
According to claim 11,
The plaintext packet is an IPv6 packet, and filling a flow label field of the ciphertext IPv6 packet based on a tunnel endpoint identifier (TEID) field of the plaintext packet comprises:
filling a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet; and
copying the filled-in flow label field of the plaintext IPv6 packet to the flow label field of the ciphertext IPv6 packet;
Including, method.
제11항에 있어서,
상기 평문 패킷은 IPv6 패킷이고, 상기 평문 패킷이 복수의 칩으로 단편화되는 경우, 상기 방법은,
평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계;
상기 플로우 레이블 필드로 채워진 상기 평문 IPv6 패킷을 복수의 칩으로 단편화하는 단계 - 상기 복수의 칩 각각은 채워진 플로우 레이블 필드를 포함함 -;
각각의 칩의 상기 플로우 레이블 필드를 각각의 칩의 암호화된 암호문 패킷의 플로우 레이블 필드에 복사하는 단계;
상기 암호문 패킷의 상기 플로우 레이블 필드 및 상기 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제4 해시 값을 획득하는 단계; 및
상기 제4 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하는 단계
를 더 포함하는, 방법.
According to claim 11,
When the plaintext packet is an IPv6 packet and the plaintext packet is fragmented into a plurality of chips, the method comprises:
filling a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet;
fragmenting the plaintext IPv6 packet filled with the flow label field into a plurality of chips, each of the plurality of chips including a filled flow label field;
copying the flow label field of each chip to the flow label field of the encrypted cipher text packet of each chip;
obtaining a fourth hash value by performing hash calculation based on the flow label field of the ciphertext packet and the first parameter; and
Determining a transmission path of each ciphertext packet based on the fourth hash value
Further comprising a method.
제14항 또는 제15항에 있어서,
상기 평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -; 또는
상기 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제5 해시 값을 획득하는 단계; 및
상기 제5 해시 값의 N 비트를 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -
를 포함하는, 방법.
The method of claim 14 or 15,
Filling a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet includes:
filling N bits of the TEID field into N bits of the flow label field of the plaintext IPv6 packet, wherein the flow label field of the plaintext IPv6 packet includes N bits; or
obtaining a fifth hash value by performing hash calculation on the TEID field and a second parameter; and
filling N bits of the fifth hash value into N bits of the flow label field of the plaintext IPv6 packet, wherein the flow label field of the plaintext IPv6 packet includes N bits;
Including, method.
제14항 또는 제15항에 있어서,
상기 평문 IPv6 패킷의 상기 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 상기 평문 IPv6 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 상기 평문 IPv6 패킷의 플로우 레이블(Flow Label) 필드를 채우는 단계는,
상기 TEID 필드로부터, 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계; 또는
상기 TEID 필드 및 제2 파라미터에 대해 해시 계산을 수행하여 제6 해시 값을 획득하는 단계; 및
상기 제6 해시 값으로부터, 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 상기 평문 IPv6 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계
를 포함하는, 방법.
The method of claim 14 or 15,
The flow label field of the plaintext IPv6 packet includes a first field and a second field, and a flow label field of the plaintext IPv6 packet based on the tunnel endpoint identifier (TEID) field of the plaintext IPv6 packet The step of filling is,
The first field of the flow label field of the plaintext IPv6 packet by intercepting a portion having the same length as the length of the first field or the second field of the flow label field of the plaintext IPv6 packet from the TEID field; or filling the second field; or
obtaining a sixth hash value by performing hash calculation on the TEID field and a second parameter; and
intercepting, from the sixth hash value, a portion having the same length as the length of the first field or the second field of the flow label field of the plaintext IPv6 packet; Filling in one field or the second field
Including, method.
제11항에 있어서,
상기 평문 패킷은 IPv4 패킷 또는 IPv6 패킷이고, 상기 평문 패킷이 복수의 칩으로 단편화되는 경우, 상기 방법은,
상기 평문 패킷을 상기 복수의 칩으로 단편화하는 단계;
상기 복수의 칩 각각을 암호화하여 각각의 칩의 암호문 패킷을 획득하는 단계;
상기 평문 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계;
상기 암호문 패킷의 상기 플로우 레이블 필드 및 상기 제1 파라미터에 기반하여 해시 계산을 수행함으로써 제7 해시 값을 획득하는 단계; 및
상기 제7 해시 값에 기반하여 각각의 암호문 패킷의 전송 경로를 결정하는 단계
를 더 포함하는, 방법.
According to claim 11,
When the plaintext packet is an IPv4 packet or an IPv6 packet, and the plaintext packet is fragmented into a plurality of chips, the method comprises:
fragmenting the plaintext packet into the plurality of chips;
encrypting each of the plurality of chips to obtain a cipher text packet of each chip;
filling a flow label field of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext packet;
obtaining a seventh hash value by performing hash calculation based on the flow label field of the ciphertext packet and the first parameter; and
Determining a transmission path of each ciphertext packet based on the seventh hash value
Further comprising a method.
제18항에 있어서,
상기 평문 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계는,
상기 TEID 필드의 N 비트를 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제8 해시 값을 획득하는 단계; 및
상기 제8 해시 값의 N 비트를 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 N 비트에 채우는 단계 - 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 N 비트를 포함함 -
를 포함하는, 방법.
According to claim 18,
Filling the flow label field of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext packet,
filling N bits of the TEID field into N bits of the flow label field of the cipher text packet of each chip, wherein the flow label field of the cipher text packet of each chip includes N bits; or
obtaining an eighth hash value by performing hash calculation on the TEID field and the first parameter; and
filling N bits of the eighth hash value into N bits of the flow label field of the ciphertext packet of each chip, wherein the flow label field of the ciphertext packet of each chip includes N bits;
Including, method.
제19항에 있어서,
각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드는 제1 필드 및 제2 필드를 포함하고, 상기 평문 패킷의 상기 터널 엔드포인트 식별자(TEID) 필드에 기반하여 각각의 칩의 상기 암호문 패킷의 플로우 레이블 필드를 채우는 단계는,
상기 TEID 필드로부터, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계; 또는
상기 TEID 필드 및 상기 제1 파라미터에 대해 해시 계산을 수행하여 제9 해시 값을 획득하는 단계; 및
상기 제9 해시 값으로부터, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드의 길이와 동일한 길이를 갖는 부분을 가로채어, 각각의 칩의 상기 암호문 패킷의 상기 플로우 레이블 필드의 상기 제1 필드 또는 상기 제2 필드를 채우는 단계
를 포함하는, 방법.
According to claim 19,
The flow label field of the ciphertext packet of each chip includes a first field and a second field, and the flow label of the ciphertext packet of each chip based on the tunnel endpoint identifier (TEID) field of the plaintext packet Steps to fill in the fields are:
The flow label of the ciphertext packet of each chip by intercepting a part having the same length as the length of the first field or the second field of the flow label field of the ciphertext packet of each chip from the TEID field filling the first field or the second field of a field; or
obtaining a ninth hash value by performing hash calculation on the TEID field and the first parameter; and
From the ninth hash value, a portion having the same length as the length of the first field or the second field of the flow label field of the ciphertext packet of each chip is intercepted, and the ciphertext packet of each chip is intercepted. Filling the first field or the second field of the flow label field
Including, method.
통신 장치로서,
프로세서를 포함하며, 상기 프로세서는 메모리에 접속되고, 상기 메모리는 컴퓨터 프로그램을 저장하도록 구성되고, 상기 프로세서는 상기 메모리에 저장된 상기 컴퓨터 프로그램을 실행하도록 구성되어, 상기 장치가 제1항 내지 제10항 중 어느 한 항에 따른 방법 또는 제11항 내지 제20항 중 어느 한 항에 따른 방법을 수행하게 하는, 통신 장치.
As a communication device,
11. A device comprising a processor, the processor being connected to a memory, the memory being configured to store a computer program, the processor being configured to execute the computer program stored in the memory, wherein the apparatus is configured to: 21. A communication device for performing a method according to any one of claims 11 to 20.
컴퓨터 판독가능한 저장 매체로서,
상기 컴퓨터 판독가능한 저장 매체는 컴퓨터 프로그램을 저장하고; 상기 컴퓨터 프로그램이 실행될 때, 제1항 내지 제10항 중 어느 한 항에 따른 방법 또는 제11항 내지 제20항 중 어느 한 항에 따른 방법이 구현되는, 컴퓨터 판독가능한 저장 매체.
As a computer readable storage medium,
The computer readable storage medium stores a computer program; A computer-readable storage medium, wherein the method according to any one of claims 1 to 10 or the method according to any one of claims 11 to 20 is implemented when the computer program is executed.
프로세서 및 인터페이스를 포함하는 칩으로서,
상기 프로세서는 제1항 내지 제10항 중 어느 한 항에 따른 방법 또는 제11항 내지 제20항 중 어느 한 항에 따른 방법을 수행하기 위한 명령어들을 판독하도록 구성되는, 칩.
A chip containing a processor and an interface,
The processor is configured to read instructions for performing a method according to any one of claims 1 to 10 or a method according to any one of claims 11 to 20.
통신 시스템으로서,
제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하기 위한 통신 디바이스, 및 제11항 내지 제20항 중 어느 한 항에 따른 방법을 수행하기 위한 통신 디바이스를 포함하는, 통신 시스템.
As a communication system,
A communication system comprising a communication device for performing a method according to any one of claims 1 to 10 and a communication device for performing a method according to any one of claims 11 to 20 .
컴퓨터 프로그램 제품으로서,
상기 컴퓨터 프로그램 제품은 프로그램을 포함하고, 상기 프로그램이 실행될 때, 제1항 내지 제20항 중 어느 한 항에 따른 방법이 수행되는, 컴퓨터 프로그램 제품.
As a computer program product,
21. A computer program product comprising a program, wherein when the program is executed, the method according to any one of claims 1 to 20 is performed.
통신 장치로서,
상기 통신 장치는 제1항 내지 제20항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 통신 장치.
As a communication device,
21. A communication device configured to perform a method according to any one of claims 1 to 20.
KR1020227037606A 2020-04-10 2021-04-09 Internet protocol version IPv6-based wireless network communication method and communication device KR20220160648A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010281148.2A CN113518387B (en) 2020-04-10 2020-04-10 Wireless network communication method and communication equipment based on internet protocol version IPv6
CN202010281148.2 2020-04-10
PCT/CN2021/086217 WO2021204260A1 (en) 2020-04-10 2021-04-09 Internet protocol version ipv6-based wireless network communication method, and communication device

Publications (1)

Publication Number Publication Date
KR20220160648A true KR20220160648A (en) 2022-12-06

Family

ID=78022450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037606A KR20220160648A (en) 2020-04-10 2021-04-09 Internet protocol version IPv6-based wireless network communication method and communication device

Country Status (5)

Country Link
US (1) US20230074712A1 (en)
EP (1) EP4120731A4 (en)
KR (1) KR20220160648A (en)
CN (1) CN113518387B (en)
WO (1) WO2021204260A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230065679A1 (en) * 2021-08-25 2023-03-02 Cisco Technology, Inc. Lightweight path maximum transmission unit for wireless multicast overlay
CN114301592B (en) * 2021-12-30 2023-06-23 李秦豫 Network encryption algorithm

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1225939C (en) * 2000-05-16 2005-11-02 西门子公司 Method for transferring tunnel between nodes in GPRS system
KR100785776B1 (en) * 2005-12-09 2007-12-18 한국전자통신연구원 Packet Processor in IP version 6 Router and Method Thereof
CN102244688B (en) * 2010-05-11 2014-07-16 华为技术有限公司 Message forwarding method, apparatus thereof and system threof
US8855071B1 (en) * 2012-01-04 2014-10-07 Juniper Networks, Inc. Handling errors in subscriber session management within mobile networks
CN102594694B (en) * 2012-03-06 2016-01-06 北京中创信测科技股份有限公司 Data distribution method and equipment
EP2924940B1 (en) * 2012-12-27 2019-12-04 Huawei Technologies Co., Ltd. User plane data transmission methods, mobility management network element and evolved node b
US10091102B2 (en) * 2013-01-09 2018-10-02 Cisco Technology, Inc. Tunnel sub-interface using IP header field
CN104363176A (en) * 2014-10-24 2015-02-18 杭州华三通信技术有限公司 Message control method and equipment
CN105591874B (en) * 2015-12-22 2020-10-13 新华三技术有限公司 Data sending method and device
CN110430136B (en) * 2019-07-16 2021-03-26 广州爱浦路网络技术有限公司 Interface and route distribution method and device based on GTP protocol

Also Published As

Publication number Publication date
EP4120731A4 (en) 2023-08-16
CN113518387B (en) 2023-07-21
EP4120731A1 (en) 2023-01-18
WO2021204260A1 (en) 2021-10-14
CN113518387A (en) 2021-10-19
US20230074712A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
JP6619815B2 (en) Access control apparatus, system, and method
EP3210365B1 (en) Methods for packet-based communications using the internet protocol, as well as corresponding source node and corresponding transit network node
CN110115065B (en) System and method for implementing unequal cost multipath routing in a network environment
US10581747B2 (en) System and method for low-overhead interoperability between 4G and 5G networks
CN112368980B (en) Method for adding one or more network services to an MPLS network
US10798638B2 (en) Apparatus and method for controller and slice-based security gateway for 5G
US20230074712A1 (en) Internet protocol version 6 (ipv6) based wireless network communication method and communication device
JP2018057025A (en) Unification sublayer for multi-connection communication
WO2021000827A1 (en) Data transmission link establishment method and apparatus, and computer-readable storage medium
EP3586489B1 (en) Methods and network elements for multi-connectivity control
CN114128228B (en) Transmitting MTNC-ID through SRv head to realize 5G transmission
WO2021009554A1 (en) Method and system for secured information exchange between intermediate and endpoint nodes in a communications network
Tilli et al. Data plane protocols and fragmentation for 5G
US11882513B2 (en) Transporting MTNC-ID over SRV6-enabled dataplane for 5G transport
US11483733B2 (en) Transporting a multi-transport network context-identifier (MTNC- ID) across multiple domains
WO2014177170A1 (en) Sctp multi homing in lte backhaul with two parallel ipsec tunnels for two different ip addresses
RU2803196C1 (en) Data package transmission method and device
US20140071906A1 (en) Apparatus and method for distributing traffic load
Main et al. Project Number: CELTIC/CP7-011 Project Title: Mobile Networks Evolution for Individual Communications Experience–MEVICO Document Type: PU (Public)

Legal Events

Date Code Title Description
A201 Request for examination