[go: up one dir, main page]

KR101074124B1 - Method for processing received packet using transport driver interface in mobile terminal - Google Patents

Method for processing received packet using transport driver interface in mobile terminal Download PDF

Info

Publication number
KR101074124B1
KR101074124B1 KR1020080121913A KR20080121913A KR101074124B1 KR 101074124 B1 KR101074124 B1 KR 101074124B1 KR 1020080121913 A KR1020080121913 A KR 1020080121913A KR 20080121913 A KR20080121913 A KR 20080121913A KR 101074124 B1 KR101074124 B1 KR 101074124B1
Authority
KR
South Korea
Prior art keywords
packet
layer
udp
interface
network interface
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020080121913A
Other languages
Korean (ko)
Other versions
KR20100063407A (en
Inventor
문성
홍성백
류호용
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020080121913A priority Critical patent/KR101074124B1/en
Publication of KR20100063407A publication Critical patent/KR20100063407A/en
Application granted granted Critical
Publication of KR101074124B1 publication Critical patent/KR101074124B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

단말의 이동성을 제공하기 위해 터널링을 사용하는 이동 단말에서 수행되는 수신 패킷 처리 방법이 개시된다. 이동 단말에서 수행되는 수신 패킷 처리 방법은, IP 망으로부터 패킷을 수신하는 단계; 및 상기 수신한 패킷을 커널 계층 내에서만 처리하여 커널 계층의 IP 계층이 UDP(User Datagram Protocol) 데이터그램을 수신하도록 하는 단계;를 포함한다. 이에 의해 터널 네트워크 인터페이스의 패킷 수신 처리 성능이 향상된다.

Figure R1020080121913

A received packet processing method performed in a mobile terminal using tunneling to provide mobility of a terminal is disclosed. A received packet processing method performed in a mobile terminal includes: receiving a packet from an IP network; And processing the received packet only within a kernel layer to allow the IP layer of the kernel layer to receive a UDP (User Datagram Protocol) datagram. This improves the packet reception processing performance of the tunnel network interface.

Figure R1020080121913

Description

전송 드라이버 인터페이스를 이용한 이동 단말의 수신 패킷 처리 방법{Method for processing received packet using transport driver interface in mobile terminal}Method for processing received packet using transport driver interface in mobile terminal}

본 발명은 네트워크 기술에 관한 것으로, 특히 인터넷 프로토콜(Internet Protocol, IP) 망에서 터널링 방식을 이용하여 이동 단말의 이동성을 제공하는 기술에 관한 것이다.The present invention relates to network technology, and more particularly, to a technology for providing mobility of a mobile terminal using a tunneling scheme in an Internet Protocol (IP) network.

본 연구는 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다.[과제관리번호: 2007-S-013-02, All IP 기반 Fixed-Mobile Convergence 네트워킹 기술 개발]This study was derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunications Research and Development. [Task Management Number: 2007-S-013-02, All IP-based Fixed-Mobile Convergence Networking Technology] Development]

현재 네트워크 분야에서는 All IP 망을 이용하여 단말이 다른 IP 망으로 이동하더라도 끊김 없는 인터넷 서비스를 제공해주고자 하는 많은 연구가 진행되고 있으며, 이동중인 단말에게 고유한 IP 주소를 부여해서 터널링 방식으로 패킷 전송을 보장하는 방법이 잘 알려져 있다. 여기서 이동 단말에 부여되는 고유한 IP 주소를 Home Address라고 칭한다.In the network field, many studies have been conducted to provide seamless Internet service even when a terminal moves to another IP network using the All IP network, and a packet is transmitted in a tunneling manner by assigning a unique IP address to a mobile terminal. How to ensure that is well known. Here, the unique IP address assigned to the mobile terminal is called home address.

터널링 방식이라 함은, 이동 단말은 자신에게 부여된 Home Address를 항상 네트워크에 도달 가능한 주소로 인식해서 이동 단말의 응용프로그램들이 그 Home Address를 사용해서 통신을 하는 반면에, 이동 단말이 이동하면서 다른 IP 망으로 진입함에 따라 변경되는 IP 주소인 Care of Address(CoA)를 원래의 IPv6 패킷을 실어 나르기 위한 전송 수단으로써 사용하는 것이다. 즉, Home Address를 사용하는 응용프로그램들은 그 단말이 현재 방문하고 있는 IP망을 통과해서 상대방 노드까지 올바른 패킷을 전달하기 위해서 <단말의 현재 방문중인 IP 망 정보, 상대방 노드의 현재 IP망 정보>를 이용해서 패킷을 터널링하게 된다.In the tunneling scheme, the mobile terminal always recognizes the home address assigned to the network as an address reachable to the network, and applications of the mobile terminal communicate using the home address, while the mobile terminal moves to another IP. Care of Address (CoA), an IP address that changes as it enters the network, is used as a means of transporting the original IPv6 packet. In other words, applications using the home address pass <current IP network information of the terminal and current IP network information of the other node> to deliver the correct packet to the other node through the IP network that the terminal is currently visiting. To tunnel the packet.

일반적으로 IP over IP 터널링 방식이 이용되는데, 이 방식은 방문 네트워크가 NAT(Network Address Translation)를 사용하는 경우이거나 방문 네트워크에 Firewall 등이 구축되어 있는 엔터프라이즈(enterprise) 네트워크인 경우에는 사용상의 제약이 있기 때문에 일반적으로 사용되지 않고 대신 IP over IP-UDP 터널링 방식이 사용된다(RFC4380 참고).In general, IP over IP tunneling is used, which has limitations in the case where the visiting network uses NAT (Network Address Translation) or an enterprise network in which the firewall is installed in the visiting network. This is not commonly used and IP over IP-UDP tunneling is used instead (see RFC4380).

이동 단말의 이동성을 제공하기 위해서 IP over IP-UDP 터널링을 사용하는 경우, 이동 단말에는 Microsoft사의 Windows Desktop 운영체제가 탑재될 수 있다. Windows Desktop 운영체제로는 Windows XP, Windows Vista 등이 탑재될 수 있다. Windows Desktop 운영체제 하에서는 위의 터널링 방식을 실현하기 위해서 NDIS(Network Driver Interface Specifiaction) 기반의 터널 인터페이스를 사용하는 것이 일반적이다. 이 터널 네트워크 인터페이스는 실제 물리적인 네트워크 어댑터를 제어하는 것이 아닌 가상의 네트워크 인터페이스로써 존재하여 패킷의 encapsulation과 decapsulation을 담당한다.When IP over IP-UDP tunneling is used to provide mobility of the mobile terminal, the mobile terminal may be equipped with Microsoft's Windows Desktop operating system. The Windows Desktop operating system may include Windows XP, Windows Vista, and the like. Under the Windows Desktop operating system, a tunnel interface based on NDIS (Network Driver Interface Specifiaction) is generally used to realize the above tunneling method. This tunnel network interface does not control the actual physical network adapter, but exists as a virtual network interface to handle encapsulation and decapsulation of packets.

터널 네트워크 인터페이스가 IP-UDP 정보로 encapsulation된 패킷을 수신하기 위해서는 응용프로그램 계층에서 UDP 소켓을 생성하여 수신된 UDP 데이터그램을 다시 커널 계층의 터널 네트워크 인터페이스로 전달해주는 방식을 취하고 있다. 하지만 이 방식은 IP-UDP 정보로 encapsulation된 패킷을 매번 처리할 때마다 응용프로그램 계층과 커널 계층 간에 패킷을 전달해야 하기 때문에 패킷 처리 성능이 떨어지는 문제점이 있다.In order to receive the packet encapsulated by IP-UDP information, the tunnel network interface creates a UDP socket at the application layer and transfers the received UDP datagram to the tunnel network interface of the kernel layer. However, this method has a problem in that packet processing performance is inferior because a packet must be transferred between the application layer and the kernel layer each time a packet encapsulated with IP-UDP information is processed.

IP 망에서 이동 단말의 이동성을 제공하기 위해서 IP over IP-UDP 터널링 방식을 사용함에 있어서, Windows Desktop 운영체제를 사용하는 단말에서는 NDIS 기반의 터널 네트워크 인터페이스를 사용한다. IP-UDP로 encapsulation된 패킷의 수신 처리를 할 때, 응용프로그램 계층에서 UDP 데이터그램을 수신해서 커널 계층의 터널 네트워크 인터페이스에 패킷을 전달하는 방식은 불필요한 패킷 전달 부하로 인해서 패킷 처리 성능이 현저하게 저하되는 문제점을 해결하고자 한다.In using the IP over IP-UDP tunneling scheme to provide mobility of the mobile terminal in the IP network, the terminal using the Windows Desktop operating system uses an NDIS-based tunnel network interface. When receiving packet encapsulated by IP-UDP, the method of receiving UDP datagram at the application layer and delivering the packet to the tunnel network interface at kernel layer significantly reduces packet processing performance due to unnecessary packet forwarding load. To solve the problem.

전술한 기술적 과제를 달성하기 위한 본 발명의 일 양상에 따른 단말의 이동성을 제공하기 위해서 터널링 기법을 사용하는 이동 단말에서 수행되는 수신 패킷 처리 방법은, IP 망으로부터 패킷을 수신하는 단계; 및 수신한 패킷을 커널 계층 내에서만 처리하여 커널 계층의 IP 계층이 UDP(User Datagram Protocol) 데이터그램을 수신하도록 하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a method for processing a received packet, which is performed in a mobile terminal using a tunneling technique to provide mobility of a terminal, the method comprising: receiving a packet from an IP network; And processing the received packet only within the kernel layer to allow the IP layer of the kernel layer to receive a UDP (User Datagram Protocol) datagram.

본 발명의 일 양상에 따라 이동 단말은 IP over IP-UDP 터널링을 사용하여 단말의 이동성을 제공한다.According to an aspect of the present invention, the mobile terminal provides mobility of the terminal using IP over IP-UDP tunneling.

본 발명의 일 양상에 따라 IP 계층이 UDP 데이터그램을 수신하도록 처리하는 단계는, 수신한 패킷을 UDP(User Datagram Protocol) 계층에서 전송 드라이버 인터페이스(Transport Driver Interface) 클라이언트로 전달하는 단계; 전송 드라이버 인터페이스 클라이언트가 UDP 계층으로부터 수신한 패킷을 터널 네트워크 인터페이 스로 전달하는 단계; 및 터널 네트워크 인터페이스가 전송 드라이버 인터페이스 클라이언트로부터 수신한 패킷을 IP 계층으로 전달하는 단계;를 포함한다.According to an aspect of the present invention, the processing of the IP layer to receive a UDP datagram may include: transmitting the received packet to a transport driver interface (Client) interface client in a user datagram protocol (UDP) layer; Forwarding, by the transport driver interface client, the packet received from the UDP layer to the tunnel network interface; And forwarding, by the tunnel network interface, the packet received from the transport driver interface client to the IP layer.

한편, 전술한 기술적 과제를 달성하기 위한 본 발명의 다른 양상에 따른 단말의 이동성을 제공하기 위해서 터널링 기법을 사용하는 이동 단말에서 수행되는 수신 패킷 처리 방법은, 터널 네트워크 인터페이스를 초기화하는 단계; 터널 네트워크 인터페이스가 특정 UDP 포트 번호에 대해서 수신 대기하는 전송 드라이버 인터페이스(Transport Driver Interface) 클라이언트를 생성하는 단계; 물리 네트워크 인터페이스가 IP 망으로부터 수신한 패킷을 IP 계층으로 전달하는 단계; IP 계층이 상기 물리 네트워크 인터페이스로부터 수신한 패킷을 UDP 계층으로 전달하는 단계; UDP 계층이 특정 UDP 포트 번호에 대해 수신 대기중인 전송 드라이버 인터페이스 클라이언트로 전송하는 단계; 전송 드라이버 인터페이스 클라이언트가 UDP 계층으로부터 수신한 패킷을 터널 네트워크 인터페이스로 전달하는 단계; 및 터널 네트워크 인터페이스가 전송 드라이버 인터페이스 클라이언트로부터 수신한 패킷을 IP 계층으로 전달하는 단계;를 포함한다.On the other hand, the received packet processing method performed in a mobile terminal using a tunneling technique to provide the mobility of the terminal according to another aspect of the present invention for achieving the above technical problem, the tunnel network interface; Generating a transport driver interface client through which the tunnel network interface listens for a specific UDP port number; Delivering, by the physical network interface, the packet received from the IP network to the IP layer; Delivering, by the IP layer, a packet received from the physical network interface to a UDP layer; Sending by the UDP layer to the transport driver interface client that is listening for a particular UDP port number; Forwarding, by the transport driver interface client, the packet received from the UDP layer to the tunnel network interface; And forwarding, by the tunnel network interface, the packet received from the transport driver interface client to the IP layer.

IP-UDP 형태로 encapsulation된 패킷을 처리함에 있어서, TDI 인터페이스를 이용함으로써 응용프로그램 계층의 개입이 없이도 UDP 데이터그램을 수신할 수 있도록 함으로써 IP-UDP 형태로 encapsulation된 패킷의 처리 성능을 뚜렷하게 향상시킨다.In processing packets encapsulated in IP-UDP format, by using the TDI interface, UDP datagrams can be received without intervention of the application program layer, thereby significantly improving the processing performance of packets encapsulated in IP-UDP format.

전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.The foregoing and further aspects of the present invention will become more apparent through the preferred embodiments described with reference to the accompanying drawings. Hereinafter, the present invention will be described in detail to enable those skilled in the art to easily understand and reproduce the present invention.

도 1은 이동 단말의 이동성을 제공하기 위한 터널링 방식을 설명하기 위한 예시도이며, 도 2는 패킷 encapsulation 예시도이다.1 is an exemplary diagram illustrating a tunneling scheme for providing mobility of a mobile terminal, and FIG. 2 is an exemplary diagram of packet encapsulation.

이동 단말(104)은 상대방 노드(101)와 IP 망(102)을 통해 통신을 하기 위해서 터널(106)을 이용한다. 이 터널(106)은 현재 이동 단말(103)이 방문중인 네트워크#1(103)의 IP 망 정보와 상대방 노드(101)의 IP 망 정보를 이용해서 설정된 터널이다. 즉, 상대방 노드(101)가 이동 단말(104)에게 패킷을 전송하기 위해서는 도면부호 201과 같은 original packet을 도면부호 203과 같이 encapsulation해서 보내게 되고, 반대로 이동 단말(104)이 상대방 노드(101)에게 패킷을 전송하기 위해서는 도면부호 203과 같은 original packet을 도면부호 204와 같이 encapsulation해서 보내게 된다. 이때 이동 단말(104)이 방문 네트워크#1(103)에서 방문 네트워크#2(105)로 이동하게 되면, 이동 단말(104)은 방문 네트워크#1(103)의 CoA 대신에 방문 네트워크#2(105)의 CoA로 도면부호 202와 도면부호 204에서와 같이 encapsulation을 수행하게 된다. 이 같은 방식을 IP over IP 터널링 방식이라 하며, 전술하였듯이 이 방식은 NAT나 enterprise 네트워크의 경우에는 적합하지 않아 IP over IP-UDP 터널링 방식이 이용된다. 그러나 IP over IP-UDP 터 널을 사용하는 경우에 NDIS 터널 네트워크 인터페이스는 IP-UDP로 encapsulation된 데이터그램을 직접 받을 수 있는 방법이 없다.The mobile terminal 104 uses the tunnel 106 to communicate with the other node 101 through the IP network 102. This tunnel 106 is a tunnel established by using the IP network information of the network # 1 103 that the mobile terminal 103 is visiting and the IP network information of the counterpart node 101. That is, in order for the counterpart node 101 to transmit a packet to the mobile terminal 104, the original packet as shown by reference numeral 201 is encapsulated and sent as shown by reference numeral 203, and on the contrary, the mobile terminal 104 transmits the packet to the counterpart node 101. In order to transmit a packet to an original packet, an original packet such as 203 is encapsulated and transmitted as shown in 204. At this time, if the mobile terminal 104 moves from the visited network # 1 103 to the visited network # 2 105, the mobile terminal 104 replaces the visited network # 2 (105) instead of the CoA of the visited network # 1 103. The encapsulation is performed as CoA of the reference numeral 202 and 204. This method is called IP over IP tunneling. As described above, this method is not suitable for NAT or enterprise networks, and IP over IP-UDP tunneling is used. However, when using the IP over IP-UDP tunnel, the NDIS tunnel network interface has no direct way of receiving datagrams encapsulated by IP-UDP.

도 3은 이동 단말의 패킷 수신 처리를 설명하기 위한 참조도이다.3 is a reference diagram for explaining packet reception processing of a mobile terminal.

물리 네트워크 인터페이스(308)는 IP 망(309)으로부터 패킷을 수신하고, 수신된 패킷의 2계층 헤더를 제거한 후 IP 계층(306)으로 전달한다. IP 계층(306)으로 전달되는 패킷은 도면부호 351과 같다. IP 계층(306)에서는 수신된 패킷의 outer IP header를 처리한 후에 UDP 계층(305)으로 전달한다. UDP 계층(305)으로 전달되는 패킷은 도면부호 352와 같다. UDP 계층(305)에서는 UDP header를 처리한 후에 socket 계층(303)을 통해서 응용프로그램 계층(302)의 UDP socket에 전달한다. 응용프로그램 계층(302)으로 전달되는 패킷은 도면부호 353과 같이 outer IP header와 UDP header가 모두 decapsulation된 이후이다. 응용프로그램 계층(302)은 수신된 패킷의 처리를 위해 터널 네트워크 인터페이스(307)로 패킷(354)을 전달한다. 터널 네트워크 인터페이스(307)는 전달된 패킷을 IP 계층(306)으로 전달해서 마치 정상적인 IP 패킷이 IP 망(309)으로부터 수신된 것처럼 처리되도록 한다. 이처럼, 도 3과 같은 처리 방식에서는 IP-UDP 헤더로 encapsulation된 패킷을 매번 처리할 때마다 패킷을 커널 계층에서 응용프로그램 계층으로 전달해주고, 이를 다시 커널 계층에 있는 터널 네트워크 인터페이스에게 전달해주게 되는데, 이에 따른 부하로 인하여 패킷 처리 성능의 현저한 저하가 발생한다.The physical network interface 308 receives the packet from the IP network 309, removes the layer 2 header of the received packet, and forwards the packet to the IP layer 306. The packet delivered to the IP layer 306 is shown at 351. The IP layer 306 processes the outer IP header of the received packet and transfers it to the UDP layer 305. A packet transmitted to the UDP layer 305 is the same as that of the reference numeral 352. After processing the UDP header, the UDP layer 305 transfers the UDP header to the UDP socket of the application layer 302 through the socket layer 303. The packet delivered to the application layer 302 is after both the outer IP header and the UDP header are decapsulated as shown by reference numeral 353. The application layer 302 forwards the packet 354 to the tunnel network interface 307 for processing of the received packet. Tunnel network interface 307 forwards the forwarded packet to IP layer 306 so that normal IP packets are processed as if they were received from IP network 309. As such, in the processing method as shown in FIG. 3, each time the packet encapsulated by the IP-UDP header is processed, the packet is delivered from the kernel layer to the application layer, and then, the packet is delivered to the tunnel network interface in the kernel layer. The resulting load causes a significant drop in packet processing performance.

이에 본 발명의 일 양상에 따라, 수신된 패킷을 응용프로그램으로 전달하지 않고도 처리할 수 있는 방법에 대해 설명한다.Thus, according to an aspect of the present invention, a method for processing a received packet without passing it to the application will be described.

도 4는 Windows Desktop 운영체제에서의 네트워크 스택의 모델 구조도이다.4 is a model structure diagram of a network stack in a Windows Desktop operating system.

NIC Driver and NIC는 실제로 NIC(Network Interface Card)를 제어하는 NDIS 드라이버를 의미한다. Transport Provider 계층은 TCP/IP 등과 같은 네트워크 프로토콜 스택을 의미한다. 그리고 TDI(Transport Driver Interface) Client는 Transport Provider가 제공하는 TDI Interface를 이용해서 Socket Emulator, NetBIOS Emulator, Redirectors, Servers 들을 구현할 수 있게 해주는 계층이다. 하나의 예로 응용프로그램이 사용하는 소켓 인터페이스는 TDI Client를 이용하여 구현된다. TDI Client를 이용하면 커널 계층에서도 UDP 데이터그램을 바로 수신할 수 있게 되므로, 불필요하게 패킷을 응용프로그램 계층에서 받아서 처리할 필요를 없앤다.NIC Driver and NIC are actually the NDIS drivers that control a network interface card (NIC). The transport provider layer refers to a network protocol stack such as TCP / IP. In addition, TDI (Transport Driver Interface) Client is a layer that enables to implement Socket Emulator, NetBIOS Emulator, Redirectors, Servers using TDI Interface provided by Transport Provider. As an example, the socket interface used by an application is implemented using a TDI client. By using the TDI client, UDP datagrams can be received directly from the kernel layer, eliminating the need to receive and process packets unnecessarily at the application layer.

도 5는 본 발명의 일 실시예에 따른 이동 단말의 수신 패킷 처리를 설명하기 위한 참조도이다.5 is a reference diagram for describing a received packet processing of a mobile terminal according to an embodiment of the present invention.

TDI Clinet를 이용한 수신 패킷 처리 과정을 보여주고 있다. IP 망(508)으로부터 프레임을 수신한 물리 네트워크 인터페이스(507)는 2계층 헤더를 처리한 후에 이를 IP 계층(505)으로 전달한다. IP 계층(505)에서는 outer IP header를 처리한 후에 그 패킷(552)을 UDP 계층(503)으로 전달한다. UDP 계층(503)에서는 UDP header를 처리한 후에, 미리 특정 UDP 포트 번호에 대해서 수신 대기하고 있는 TDI Client(502)에게 패킷(553)을 전달한다. 이에 TDI Client(502)는 커널 영역에 있는 터널 네트워크 인터페이스(506)로 패킷(554)을 전달하고, 터널 네트워크 인터페이스(506)는 IP 계층(505)으로 패킷(555)을 전달한다.Shows the process of receiving packet using TDI Clinet. The physical network interface 507 receiving the frame from the IP network 508 processes the two-layer header and forwards it to the IP layer 505. After processing the outer IP header, the IP layer 505 forwards the packet 552 to the UDP layer 503. After processing the UDP header, the UDP layer 503 delivers the packet 553 to the TDI client 502 waiting for a specific UDP port number in advance. Accordingly, the TDI client 502 forwards the packet 554 to the tunnel network interface 506 in the kernel area, and the tunnel network interface 506 forwards the packet 555 to the IP layer 505.

도 6은 본 발명의 일 실시예에 따른 TDI Client 생성 흐름도이고, 도 7은 본 발명의 일 실시예에 따른 수신 패킷 처리 흐름도이며, 도 8은 본 발명의 일 실시예에 따른 TDI Client 종료 흐름도이다.6 is a flowchart illustrating a TDI client generation according to an embodiment of the present invention, FIG. 7 is a flowchart illustrating a received packet processing according to an embodiment of the present invention, and FIG. 8 is a flowchart illustrating a TDI client termination according to an embodiment of the present invention. .

TDI Client가 정상적으로 UDP 데이터그램을 수신하기 위해서는 초기화가 필요하다. 이는 터널 네트워크 인터페이스의 초기화를 담당한 응용프로그램이 요청하는 것이 일반적인데, 이때 수신 대기할 UDP 포트 번호를 터널 네트워크 인터페이스에게 전달해준다. 초기화 요청에 따라 터널 네트워크 인터페이스(506)는 초기화를 수행하고, 전달받은 UDP 포트 번호에 대해서 수신 대기하는 TDI Client(502)를 생성한다(단계 S610)(단계 S620). 초기화가 완료된 후에 물리 네트워크 인터페이스(507)는 IP 망으로부터 수신된 패킷의 2계층 헤더를 처리한 후에 IP 계층(505)으로 전달한다(단계 S710). IP 계층(505)은 outer IP header를 처리한 후에 UDP 계층(503)으로 패킷을 전달하고(단계 S720), UDP 계층(503)은 UDP 포트 번호에 대해서 수신 대기하고 있는 TDI Client(502)로 패킷을 전달한다(단계 S730). TDI Client(502)는 수신된 패킷을 터널 네트워크 인터페이스로 전달하고(단계 S740), 터널 네트워크 인터페이스(506)는 그 original 패킷을 IP 계층(505)으로 전달한다(단계 S750). 한편, 이후 터널 네트워크 인터페이스(506) 종료시에는 기존에 생성 된 TDI Client(502)를 함께 종료한다(단계 S810)(단계 S820).Initialization is required for the TDI client to receive UDP datagrams normally. This is usually requested by the application program that is responsible for initializing the tunnel network interface. At this time, the UDP port number to be listened to is transmitted to the tunnel network interface. In response to the initialization request, the tunnel network interface 506 performs initialization and generates a TDI client 502 waiting for the received UDP port number (step S610) (step S620). After the initialization is completed, the physical network interface 507 processes the two-layer header of the packet received from the IP network and transfers it to the IP layer 505 (step S710). After processing the outer IP header, the IP layer 505 forwards the packet to the UDP layer 503 (step S720), and the UDP layer 503 sends the packet to the TDI client 502 waiting for the UDP port number. (Step S730). The TDI Client 502 forwards the received packet to the tunnel network interface (step S740), and the tunnel network interface 506 forwards the original packet to the IP layer 505 (step S750). On the other hand, when the tunnel network interface 506 is terminated, the existing TDI client 502 is terminated together (step S810) (step S820).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 이동 단말의 이동성을 제공하기 위한 터널링 방식을 설명하기 위한 예시도.1 is an exemplary diagram for explaining a tunneling scheme for providing mobility of a mobile terminal.

도 2는 패킷 encapsulation 예시도.2 illustrates packet encapsulation.

도 3은 이동 단말의 수신 패킷 처리를 설명하기 위한 참조도.3 is a reference diagram for explaining received packet processing of a mobile terminal.

도 4는 Windows Desktop 운영체제에서의 네트워크 스택의 모델 구조도.4 is a model structure diagram of a network stack in a Windows Desktop operating system.

도 5는 본 발명의 일 실시예에 따른 이동 단말의 수신 패킷 처리를 설명하기 위한 참조도.5 is a reference diagram for explaining a received packet processing of a mobile terminal according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 TDI Client 생성 흐름도.6 is a flowchart of generating a TDI client according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 수신 패킷 처리 흐름도.7 is a flowchart illustrating a received packet processing according to an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따른 TDI Client 종료 흐름도.8 is a flowchart illustrating a termination of a TDI client according to an embodiment of the present invention.

Claims (9)

단말의 이동성을 제공하기 위해서 터널링 기법을 사용하는 이동 단말에서 수행되는 수신 패킷 처리 방법에 있어서,In the received packet processing method performed in a mobile terminal using a tunneling technique to provide mobility of the terminal, IP 망으로부터 패킷을 수신하는 단계; 및Receiving a packet from an IP network; And 상기 수신한 패킷을 커널 계층 내에서만 처리하여 커널 계층의 IP 계층이 UDP(User Datagram Protocol) 데이터그램을 수신하도록 하는 단계;Processing the received packet only within a kernel layer to allow an IP layer of a kernel layer to receive a UDP (User Datagram Protocol) datagram; 를 포함하는 것을 특징으로 하는 수신 패킷 처리 방법.Receive packet processing method comprising a. 제1항에 있어서,The method of claim 1, 상기 이동 단말은 윈도우즈 데스크톱 운영제체가 탑재된 단말에서 NDIS(Network Driver Interface Specification) 터널 인터페이스를 사용함을 특징으로 하는 수신 패킷 처리 방법.The mobile terminal uses a network driver interface specification (NDIS) tunnel interface in a terminal equipped with a Windows desktop operating system. 제1항에 있어서,The method of claim 1, 상기 이동 단말은 IP over IP-UDP 터널링을 사용하여 단말의 이동성을 제공함을 특징으로 하는 특징으로 하는 수신 패킷 처리 방법.The mobile terminal is a method for processing a received packet, characterized in that to provide the mobility of the terminal using IP over IP-UDP tunneling. 제3항에 있어서, 상기 IP 계층이 UDP 데이터그램을 수신하도록 처리하는 단계는 :The method of claim 3, wherein the processing of the IP layer to receive a UDP datagram comprises: 상기 수신한 패킷을 UDP(User Datagram Protocol) 계층에서 전송 드라이버 인터페이스(Transport Driver Interface : TDI) 클라이언트로 전달하는 단계;Delivering the received packet to a transport driver interface (TDI) client in a user datagram protocol (UDP) layer; 상기 전송 드라이버 인터페이스 클라이언트가 상기 UDP 계층으로부터 수신한 패킷을 터널 네트워크 인터페이스로 전달하는 단계; 및Forwarding, by the transport driver interface client, a packet received from the UDP layer to a tunnel network interface; And 상기 터널 네트워크 인터페이스가 상기 전송 드라이버 인터페이스 클라이언트로부터 수신한 패킷을 IP 계층으로 전달하는 단계;Forwarding, by the tunnel network interface, a packet received from the transport driver interface client to an IP layer; 를 포함하는 것을 특징으로 하는 수신 패킷 처리 방법.Receive packet processing method comprising a. 제4항에 있어서,5. The method of claim 4, 상기 터널 네트워크 인터페이스로 전달하는 단계는, 사전에 특정 UDP 포트 번호에 대해 수신 대기하고 있는 상기 전송 드라이버 인터페이스 클라이언트로 전달함을 특징으로 하는 수신 패킷 처리 방법.The forwarding to the tunnel network interface may include forwarding to the transport driver interface client that is waiting for a specific UDP port number in advance. 단말의 이동성을 제공하기 위해서 터널링 기법을 사용하는 이동 단말에서 수행되는 수신 패킷 처리 방법에 있어서,In the received packet processing method performed in a mobile terminal using a tunneling technique to provide mobility of the terminal, 터널 네트워크 인터페이스를 초기화하는 단계;Initializing the tunnel network interface; 상기 터널 네트워크 인터페이스가 특정 UDP 포트 번호에 대해서 수신 대기하는 전송 드라이버 인터페이스(Transport Driver Interface :TDI) 클라이언트를 생성하는 단계;Generating a transport driver interface (TDI) client in which the tunnel network interface listens for a specific UDP port number; 물리 네트워크 인터페이스가 IP 망으로부터 수신한 패킷을 IP 계층으로 전달하는 단계;Delivering, by the physical network interface, the packet received from the IP network to the IP layer; 상기 IP 계층이 상기 물리 네트워크 인터페이스로부터 수신한 패킷을 UDP 계층으로 전달하는 단계;Forwarding, by the IP layer, a packet received from the physical network interface to a UDP layer; 상기 UDP 계층이 상기 특정 UDP 포트 번호에 대해 수신 대기중인 상기 전송 드라이버 인터페이스 클라이언트로 전송하는 단계;Transmitting by the UDP layer to the transport driver interface client that is waiting to receive the specific UDP port number; 상기 전송 드라이버 인터페이스 클라이언트가 상기 UDP 계층으로부터 수신한 패킷을 터널 네트워크 인터페이스로 전달하는 단계; 및Forwarding, by the transport driver interface client, a packet received from the UDP layer to a tunnel network interface; And 상기 터널 네트워크 인터페이스가 상기 전송 드라이버 인터페이스 클라이언트로부터 수신한 패킷을 상기 IP 계층으로 전달하는 단계;Forwarding, by the tunnel network interface, a packet received from the transport driver interface client to the IP layer; 를 포함하는 것을 특징으로 하는 수신 패킷 처리 방법.Receive packet processing method comprising a. 제6항에 있어서,The method of claim 6, 터널 네트워크 인터페이스를 종료하는 단계;Terminating the tunnel network interface; 상기 터널 네트워크 인터페이스 종료시 상기 터널 네트워크 인터페이스의 초기화시에 생성된 상기 전송 드라이버 인터페이스 클라이언트를 종료하는 단계;Terminating the transport driver interface client generated upon initialization of the tunnel network interface upon termination of the tunnel network interface; 를 더 포함하는 것을 특징으로 하는 수신 패킷 처리 방법.Receiving packet processing method further comprising. 제6항에 있어서,The method of claim 6, 상기 이동 단말은 윈도우즈 데스크톱 운영제체가 탑재된 단말에서 NDIS(Network Driver Interface Specification) 터널 인터페이스를 사용함을 특징 으로 하는 수신 패킷 처리 방법.The mobile terminal uses a network driver interface specification (NDIS) tunnel interface in a terminal equipped with a Windows desktop operating system. 제8항에 있어서,The method of claim 8, 상기 이동 단말은 IP over IP-UDP 터널링을 사용하여 단말의 이동성을 제공함을 특징으로 하는 특징으로 하는 수신 패킷 처리 방법.The mobile terminal is a method for processing a received packet, characterized in that to provide the mobility of the terminal using IP over IP-UDP tunneling.
KR1020080121913A 2008-12-03 2008-12-03 Method for processing received packet using transport driver interface in mobile terminal Expired - Fee Related KR101074124B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080121913A KR101074124B1 (en) 2008-12-03 2008-12-03 Method for processing received packet using transport driver interface in mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080121913A KR101074124B1 (en) 2008-12-03 2008-12-03 Method for processing received packet using transport driver interface in mobile terminal

Publications (2)

Publication Number Publication Date
KR20100063407A KR20100063407A (en) 2010-06-11
KR101074124B1 true KR101074124B1 (en) 2011-10-17

Family

ID=42363354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080121913A Expired - Fee Related KR101074124B1 (en) 2008-12-03 2008-12-03 Method for processing received packet using transport driver interface in mobile terminal

Country Status (1)

Country Link
KR (1) KR101074124B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102383782B1 (en) * 2020-12-14 2022-04-06 주식회사 에프아이시스 Tunnel data update process method of data communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468374B1 (en) 2004-07-06 2005-01-31 주식회사 잉카인터넷 Device and method for controlling network harmful traffic
KR100539760B1 (en) 2004-07-09 2006-01-10 주식회사 잉카인터넷 Agent Installation Guidance System and Method through Internet Access Control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468374B1 (en) 2004-07-06 2005-01-31 주식회사 잉카인터넷 Device and method for controlling network harmful traffic
KR100539760B1 (en) 2004-07-09 2006-01-10 주식회사 잉카인터넷 Agent Installation Guidance System and Method through Internet Access Control

Also Published As

Publication number Publication date
KR20100063407A (en) 2010-06-11

Similar Documents

Publication Publication Date Title
US9584468B2 (en) Layer-2 IP networking method and apparatus for mobile hosts
CN112671628B (en) Business service provision method and system
JP4527721B2 (en) Apparatus and method for improving remote LAN connectivity using tunneling
US7031328B2 (en) Arrangement for traversing an IPv4 network by IPv6 mobile routers
EP1900186B1 (en) Methods and apparatus for optimizing mobile vpn communications
US8670451B2 (en) Network system, terminal, and gateway
CN103944867B (en) Processing method, the device and system of dynamic host configuration protocol message
US9191317B2 (en) Method and system for implementing interconnection between internet protocol version 4 network and new network
CN112671938B (en) Business service providing method and system, remote acceleration gateway
JP2007096827A (en) Information processing system, tunnel communication device, tunnel communication method, proxy response device, and proxy response method
JP2012138901A (en) Data transmission system and method using relay server
CN104468625A (en) Dialing tunnel broker device and method for NAT traversal by means of dialing tunnel
WO2012083657A1 (en) Packet processing method, system and customer premises equipment
TW202249464A (en) Method for routing of cellular data packets using ip networks
CN103780492B (en) The method and relevant device of message forwarding
KR101074124B1 (en) Method for processing received packet using transport driver interface in mobile terminal
KR20120065131A (en) Apparatus and method for multi-terminal virtualization
CN105939316A (en) Message forwarding method and device
WO2009005212A1 (en) Ipv6 over ipv4 transition method and apparatus for improving performance of control server
CN100563241C (en) The method that a kind of network transition inserts
CN101572729B (en) A method for processing virtual private network node information and related equipment and system
US7599370B1 (en) Methods and apparatus for optimizing NAT traversal in Mobile IP
US20060171379A1 (en) Movement management system, movement management server, and movement management method used for them, and program thereof
CN104702708A (en) Method, equipment and system for obtaining address resolution protocol information, and network virtualization endpoint
CN117480855A (en) Improved use of IP networks for routing cellular data packets

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

FPAY Annual fee payment

Payment date: 20140926

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20160927

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20211011

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20211011