KR100451788B1 - Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router - Google Patents

Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router Download PDF

Info

Publication number
KR100451788B1
KR100451788B1 KR10-2001-0065587A KR20010065587A KR100451788B1 KR 100451788 B1 KR100451788 B1 KR 100451788B1 KR 20010065587 A KR20010065587 A KR 20010065587A KR 100451788 B1 KR100451788 B1 KR 100451788B1
Authority
KR
South Korea
Prior art keywords
packet
l2tp
block
tunnel
data
Prior art date
Application number
KR10-2001-0065587A
Other languages
Korean (ko)
Other versions
KR20030033558A (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 KR10-2001-0065587A priority Critical patent/KR100451788B1/en
Publication of KR20030033558A publication Critical patent/KR20030033558A/en
Application granted granted Critical
Publication of KR100451788B1 publication Critical patent/KR100451788B1/en

Links

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/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • 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/22Parsing or analysis of headers

Abstract

본 발명은 VPN 라우터의 LNS 기능향상에 관한 것으로, 본 발명에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속수신방법은, 가상 사설 네트워크 라우터에서 패킷을 수신하는 단계; 상기 패킷을 스위칭 블록으로 전송하여 필터링을 통해 상기 필터링 조건에 부합되는 패킷의 경우 2계층 터널 프로토콜 헤더를 분석하여 터널 아이디와 콜 아이디를 해석하는 단계; 상기 패킷의 2계층 터널 프로토콜 패이로드를 제외한 데이터를 제거하고 상기에서 해석한 터널 아이디, 콜 아이디와 함께 가상 직렬 장치 드라이버로 전달하여 패킷을 처리하도록 하는 단계를 포함하여 구성되는 것을 특징으로 한다.The present invention relates to an LNS function improvement of a VPN router, and the L2TP packet fast reception method for improving LNS function of a VPN router according to the present invention includes: receiving a packet at a virtual private network router; Analyzing the tunnel ID and the call ID by analyzing a layer 2 tunnel protocol header in the case of a packet that meets the filtering condition through filtering by transmitting the packet to a switching block; And removing the data except for the layer 2 tunnel protocol payload of the packet and delivering the packet to the virtual serial device driver along with the tunnel ID and the call ID.

이 같은 본 발명에 의하면, L2TP 패킷이며, 데이터 패킷이고 흐름제어를 수행하지 않는 패킷을 필터링을 통해 곧바로 가상 직렬 장치 드라이버 블록으로 전송하여 처리하도록 함으로써, IP 블록, UDP 블록, L2TP 블록을 거치지 않고 바로 터널 아이디와 콜 아이디를 해석하여 가상 직렬 장치 드라이버 블록으로 전달함으로써 패킷 처리단계를 줄이고, 오버헤드를 줄여서 수신기능을 향상시킬 수 있는 효과가 기대된다.According to the present invention, the L2TP packet, which is a data packet and does not perform flow control, is directly transmitted to the virtual serial device driver block through filtering to process the packet, thereby directly passing through the IP block, the UDP block, and the L2TP block. By interpreting the tunnel ID and call ID and passing it to the virtual serial device driver block, it is expected to reduce the packet processing step and reduce the overhead to improve the reception function.

Description

VPN라우터의 LNS 성능향상을 위한 L2TP 패킷 고속 수신방법{Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router}Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router}

본 발명은 VPN 라우터의 LNS(L2TP network server) 기능향상에 관한 것으로, 특히 LNS 기능 블록에 고속 수신기능을 추가로 구성하여 데이터 수신성능을 극대화시키도록 하는 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신방법에 관한 것이다.The present invention relates to the improvement of the L2TP network server (LNS) function of the VPN router. In particular, the L2TP packet high speed for the LNS function enhancement of the VPN router to maximize the data reception performance by additionally configuring a high speed reception function in the LNS function block. It relates to a receiving method.

VPN(가상 사설 네트워크; virtual private network)란 자체 정보통신망을 보유하지 않은 사용자도 공중 데이터 통신망을 이용하여 마치 개인이 구축한 통신망과 같이 이를 직접 운용, 관리할 수 있도록 하는 것을 말한다.A VPN (virtual private network) means that a user who does not have an own information network can directly operate and manage it using a public data communication network as if it is an individual network.

최근에는 인터넷이라는 공중망을 가상으로 전용망처럼 꾸며 사용하는 인터넷 VPN이 보편화하는 추세다. 인터넷 VPN 서비스는 특히 해외지사를 운영하고 있는 기업의 경우 본사와 국내 인터넷 서비스 제공자(ISP)를 연결하고 각 지사를 다시 연결하는 형태로 인터넷망을 전용선처럼 사용할 수 있다.In recent years, Internet VPNs that use the public network of the Internet as virtual private networks have become popular. Internet VPN service can be used as a leased line in the form of connecting the head office and the domestic Internet service provider (ISP) and reconnecting each branch, especially for companies that operate overseas branches.

상기 VPN에서 사용되는 프로토콜로 L2TP(layer 2 tunneling protocol)이 있으며, VPN에서의 라우터가 L2TP 프로토콜을 지원해야만 사용이 가능하다.As a protocol used in the VPN, there is a layer 2 tunneling protocol (L2TP), and a router in the VPN can support the L2TP protocol.

또한 VPN 라우터의 기능으로는 LAC(L2TP access concentrator)와 LNS(L2TP network server)로 나눌 수 있으며, LAC는 공중전화망과 접속되는 네트워크 접속 서버로서 L2TP만을 이용할 수 있다.In addition, the functions of the VPN router can be divided into L2TP access concentrator (LAC) and L2TP network server (LNS), and LAC can use only L2TP as a network access server connected to a public telephone network.

또한, LNS는 공중망 또는 사설 프레임 릴레이와 같은 LAN(local-area network) 또는 WAN(wide-area-network)과 연결되는 라우터로서 동작할 수 있으며, L2TP의 서버측이고 PPP 세션을 종결하는 플래트홈을 운영해야 한다.In addition, LNS can operate as a router connected to a local-area network (LAN) or wide-area-network (WAN), such as a public network or a private frame relay, and has a server side of L2TP and a platform for terminating PPP sessions. It should be operated.

상기와 같은 VPN 라우터에서 본 발명은 특히 LNS 기능에 관한 것이다.In such a VPN router the invention relates in particular to the LNS function.

도 1은 종래의 VPN 라우터의 LNS 기능의 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of the LNS function of a conventional VPN router.

도 1을 참조하면, 상대방 단말(10)이 인터넷망(20)을 통해 전송하는 L2TP 데이터를 수신하여 LAN 망과 연결된 단말(40)로 전송하는 VPN 라우터(30)는 WAN 포트와 연결되어 데이터를 수신하는 WAN 블록(31)과, LAN 포트와 연결되는 LAN 블록(32)과, 상기 WAN 블록(31) 또는 LAN 블록(32)으로부터 수신된 데이터를 상위로 전달 또는 상위계층으로부터 전송되는 데이터를 상기 WAN 블록(31) 또는 LAN 블록(32)으로 전송하는 LSL(Link Support Layer) 블록(34)과, 상기 LSL 블록(34)에서 전송되는 패킷의 IP 헤더에 따라 상위 블록으로 전달하거나 라우팅 정보에 의해 WAN 또는 LAN 으로 전송하는 IP(Internet Protocol) 블록(35)과, 상기 IP 블록에서 전송되는 패킷의 UDP(User Datagram Protocol) 헤더에 따라 패킷을 처리하는 UDP 블록(36)과, 상기 UDP 패킷 또는 TCP(Transmission Control Protocol) 패킷을 상위로 전달하는 소켓블록(37)과, L2TP 패킷을 처리하는 L2TP블록(38)을 포함하여 구성된다.Referring to FIG. 1, the VPN router 30 receiving L2TP data transmitted from the counterpart terminal 10 through the Internet network 20 and transmitting the received L2TP data to the terminal 40 connected to the LAN network is connected to a WAN port to transmit data. Receives the WAN block 31 to receive, the LAN block 32 connected to the LAN port, and the data received from the WAN block 31 or the LAN block 32 to the upper part or data transmitted from the upper layer. The link support layer (LSL) block 34 transmitting to the WAN block 31 or the LAN block 32 and the upper block according to the IP header of the packet transmitted from the LSL block 34 are transmitted to the upper block or by routing information. An Internet Protocol (IP) block 35 for transmission over a WAN or a LAN, a UDP block 36 for processing a packet according to a User Datagram Protocol (UDP) header of a packet transmitted from the IP block, and the UDP packet or TCP (Transmission Control Protocol) socket to forward packets Lock 37 and is configured to include an L2TP block 38 to process the L2TP packet.

또한, 상기 L2TP블록(38)은 L2TP 전송모듈(38-1)과 L2TP 코어모듈(38-2)로 구성되며 WAN 블록(31)은 SDD(serial device dirver; 직렬 장치 드라이버) 모듈(31-1)과 PPP(Point to Point Protocol) 모듈(31-2)로 구성된다.In addition, the L2TP block 38 is composed of an L2TP transmission module 38-1 and an L2TP core module 38-2, and the WAN block 31 includes a serial device driver (SDD) module 31-1. ) And PPP (Point to Point Protocol) module 31-2.

상기 L2TP 는 원격에서 사설망으로 로그인하는 각 사용자 단말(40)에게 터널 아이디와 콜 아이디를 할당하여 해당 사용자의 세션을 정의하게 되는데, L2TP가 오픈 시킨 세션에 대해서 사설망에 대한 접근 허용을 위한 인증을 거쳐 PPP 연결을 허락하는데 이것을 PPP 서버 블록(33)에서 처리하며 상기 L2TP블록(38)과 PPP 서버 블록(33)은 각기 다른 계층에 위치하므로 이를 연결하기 위해 가상 직렬장치 드라이버(virtual serial device driver) 블록(39)이 상기 L2TP 블록(38)과 PPP 서버 블록(33)과 연결되게 된다.The L2TP assigns a tunnel ID and a call ID to each user terminal 40 logging in to a private network from a remote location, and defines a session of the corresponding user. The L2TP is authenticated to allow access to the private network for the session opened by the L2TP. Allows PPP connections, which are handled by the PPP server block 33, and the L2TP block 38 and PPP server block 33 are located on different layers, so that a virtual serial device driver block is used to connect them. 39 is connected to the L2TP block 38 and the PPP server block 33.

상기와 같이 구성되는 VPN 라우터의 LNS 기능을 위한 구성의 각 계층별로 패킷의 포맷 구조를 도 2에 나타내었다.2 shows a format structure of a packet for each layer of the configuration for the LNS function of the VPN router configured as described above.

도 2는 도 1의 각 계층별 패킷 포맷의 구조를 나타낸 도면이다.FIG. 2 is a diagram illustrating a structure of a packet format for each layer of FIG. 1.

도 2를 참조하면, WAN 포트를 통해 WAN 블록(31)의 PPP 모듈에 수신되는 패킷은 PPP 헤더(header)와 PPP 패이로드(payload)로 구성되며, LSL 블록(34)에서 상기 PPP 패이로드가 다시 IP 헤더와 IP 패이로드로 나뉘며, 상기 UDP 블록(36)에서 상기 IP패이로드가 다시 UDP헤더와 UDP 패이로드로 구성된다.Referring to FIG. 2, a packet received by the PPP module of the WAN block 31 through the WAN port includes a PPP header and a PPP payload. In the LSL block 34, the PPP payload may be configured. It is further divided into an IP header and an IP payload. In the UDP block 36, the IP payload is composed of a UDP header and a UDP payload.

또한, 상기 UDP 패이로드는 L2TP 헤더와 L2TP 패이로드로 구성되고, 상기 L2TP 패이로드가 다시 PPP 헤더와 PPP 패이로드로 구성되는 이중 암호화 구조를 가지고 있는데 이것을 터널링이라고 하는 것이다.In addition, the UDP payload is composed of an L2TP header and an L2TP payload, and the L2TP payload has a double encryption structure consisting of a PPP header and a PPP payload, which is called tunneling.

상기와 같이 구성되는 VPN 라우터에서의 LNS 기능에서 L2TP 패킷을 수신하여 사설망의 사용자에게 전송하는 과정은 우선 WAN포트로부터 데이터를 수신하여 WAN 블록(31)의 SDD(serial device driver; 직렬 장치 드라이버) 모듈(31-1)을 통해 PPP 모듈(31-2)로 전달되면, 상기 PPP 모듈(31-2)은 PPP 헤더의 프로토콜 필드를 해석하여 해당 패킷이 IP 패킷인지를 판단하여 IP 패킷이면 LSL 블록(34)으로 전달하는데 DLC 헤더를 가상으로 만들어서 덧붙여 전달한다.In the LNS function of the VPN router configured as described above, a process of receiving L2TP packets and transmitting them to a user of a private network is first performed by receiving data from a WAN port and then a serial device driver (SDD) module of the WAN block 31. When delivered to the PPP module 31-2 through 31-1, the PPP module 31-2 interprets a protocol field of the PPP header to determine whether the corresponding packet is an IP packet. 34) to make the DLC header virtual and forward it.

상기 IP 패킷을 전달받은 LSL 블록(34)은 해당 패킷의 IP 헤더의 프로토콜 필드를 보고 해당 패킷이 UDP(user datagram protocol)패킷이라면 IP 블록(35)을 거쳐 UDP 블록(36)으로 전송하고, 상기 UDP 블록(36)에서 패킷의 UDP 포트 번호를 검사하여 L2TP 패킷인가를 확인하여 L2TP 패킷이라면 상기 소켓블록(37)을 통해 L2TP 블록(38)으로 전송한다.The LSL block 34 receiving the IP packet looks at the protocol field of the IP header of the packet, and if the packet is a user datagram protocol (UDP) packet, transmits the packet to the UDP block 36 via the IP block 35. In the UDP block 36, the UDP port number of the packet is checked to determine whether the packet is an L2TP packet. If the packet is an L2TP packet, the UDP block 36 transmits the packet to the L2TP block 38 through the socket block 37.

상기 L2TP 블록(38)은 패킷의 L2TP 헤더를 이용하여 해당 패킷이 제어패킷인지 데이터 패킷인지를 확인하여 데이터 패킷이면, 흐름제어를 수행하는가를 확인하여 흐름제어를 요구하면 이를 수행한 후 터널 아이디와 콜 아이디를 확인한 후 가상 직렬 드라이버 블록(39)으로 전달한다.The L2TP block 38 checks whether the packet is a control packet or a data packet using the L2TP header of the packet, and if it is a data packet, checks whether flow control is performed. After checking the call ID, the call ID is passed to the virtual serial driver block 39.

상기 가상 직렬 드라이버 블록(39)은 터널 아이디와 콜 아이디를 통해 가상 포트를 알아내어 PPP 서버 블록(33)에게 가상 포트 정보와 함께 상기 패킷을 전달하면, PPP 서버 블록(33)에서 해당 패킷의 PPP 헤더를 통해 상기 전달받은 패킷이 IP 패킷이면 이를 다시 LSL 블록(34)으로 전달하고, LSL 블록(34)은 이를 다시 LAN 블록(32)으로 전달하여 목적지로 전송하도록 하는 것이다.When the virtual serial driver block 39 finds the virtual port through the tunnel ID and the call ID and delivers the packet with the virtual port information to the PPP server block 33, the PPP server block 33 transmits the PPP of the packet. If the received packet is an IP packet through the header, the packet is transmitted to the LSL block 34 again, and the LSL block 34 transmits the packet back to the LAN block 32 for transmission to the destination.

또한, 상기 패킷이 PPP 서버 블록(33)은 해당 패킷이 LCP 또는 IPCP 타입과 같은 경우 자체 내에서 패킷을 처리하게 되며, 대개의 L2TP 패킷은 데이터인 경우 특수한 경우를 제외하고는 대부분 흐름제어를 요구하지 않게 된다.In addition, when the packet is a PPP server block 33, the packet processes itself in the case where the packet is the same as the LCP or IPCP type, and most L2TP packets require flow control except for a special case when the data is data. You will not.

이때, 상기 흐름제어(flow control)라 함은, 데이터 패킷을 전송할 때 수신 한도를 넘는 과잉 패킷의 입력으로 패킷 분실이나 로크 업(lock up)이 일어나지 않도록 패킷의 흐름 양을 조절하는 것으로, 예를 들면, 윈도 방식의 흐름 제어에서는 수신 측의 완충 크기에 따라 연속하여 수신되는 최대의 패킷 수를 결정하고, 송신 측에서는 응답을 받기 전에 송신하는 데이터 패킷 수를 그 이하로 억제하도록 제어하는 것을 말하며, 패킷 교환망에서는 송수신 단말의 속도 차나 교환망의 트래픽 상황 등에 의해 생기는 정체를 피하기 위해 망에 유입되는 패킷을 제어하는 것을 말한다.In this case, the flow control refers to adjusting a flow amount of a packet so that packet loss or lockup does not occur due to input of an excess packet exceeding a reception limit when a data packet is transmitted. For example, in the window flow control, the maximum number of packets continuously received is determined according to the buffer size of the receiving side, and the transmitting side controls the number of data packets to be transmitted to be lowered or less before receiving a response. In the switching network, it is to control the packets flowing into the network in order to avoid congestion caused by the speed difference between the transmitting and receiving terminals and the traffic conditions of the switching network.

상기와 같이 VPN 라우터에서 수신된 L2TP 패킷을 처리하는 방식은 데이터 패킷이나, 제어 패킷이나 모두 LSL 블록을 거쳐 IP 블록과 UDP 블록과 L2TP 블록을 거쳐 LAN블록으로 전해지는 처리과정을 거치게 된다.As described above, the method of processing the L2TP packet received by the VPN router is a data packet or a control packet, which is passed through the LSL block to the LAN block through the IP block, the UDP block, and the L2TP block.

또한 데이터 패킷인 경우는 가상 직렬 드라이버 블록과 PPP 서버 블록 또는 LAN 블록까지 거침으로써 처리가 완료되므로, 하나의 패킷을 수신하여 처리하기까지 매우 여러 단계를 거쳐야 하며, 이에 따른 오버헤드를 야기할 수 있는 문제가 있다.In the case of a data packet, the processing is completed by going through the virtual serial driver block, the PPP server block, or the LAN block. Therefore, it is necessary to go through several steps to receive and process one packet, which may cause overhead. there is a problem.

특히, 대부분의 데이터 패킷의 경우 L2TP 헤더에는 터널 아이디와 콜 아이디만을 가지고 흐름제어정보를 가지지 않으므로 L2TP 블록에서 항상 데이터 패킷의 흐름제어를 판단하는 것 역시 효과적이지 않는 방법이라 할 수 있다.In particular, since most data packets have only tunnel ID and call ID in the L2TP header and do not have flow control information, it is also not effective to always determine the flow control of the data packet in the L2TP block.

상기와 같은 문제를 해결하기 위해서, 본 발명은 WAN으로부터 수신되는 L2TP 패킷을 LSL 블록에서 데이터 패킷인가, 흐름제어를 실행하지 않는가 등을 판단하여 L2TP 헤더를 분석하고 터널 아이디와 콜 아이디정보를 해석하여 직접 가상직렬장치 드라이버 블록으로 전송하여 PPP 서버에서 처리하도록 하여 데이터 패킷의 처리단계를 줄이고, 이에 따라 오버헤드를 줄임으로써 VPN 라우터의 LNS 기능의 패킷 수신기능을 향상시킬 수 있는 VPN라우터의 LNS 성능향상을 위한 L2TP 패킷 고속 수신방법을 제공함에 그 목적이 있다.In order to solve the above problems, the present invention determines whether the L2TP packet received from the WAN is a data packet in the LSL block, whether to perform flow control, etc., by analyzing the L2TP header and interpreting the tunnel ID and call ID information. Improve the LNS performance of the VPN router, which can improve the packet reception of the LNS function of the VPN router by reducing the data packet processing step by transmitting the data directly to the virtual serial device driver block to be processed by the PPP server. An object of the present invention is to provide a method for receiving L2TP packets at a high speed.

도 1은 종래의 VPN 라우터의 LNS 기능의 구성을 나타낸 블록도.1 is a block diagram showing the configuration of the LNS function of a conventional VPN router.

도 2는 도 1의 각 계층별 패킷 포맷의 구조를 나타낸 도면.FIG. 2 is a diagram illustrating a structure of a packet format for each layer of FIG. 1. FIG.

도 3은 본 발명의 실시 예에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신을 위한 VPN 라우터의 LNS 기능 구성을 나타낸 블록도.3 is a block diagram showing the configuration of the LNS function of the VPN router for the L2TP packet high-speed reception for improving the LNS function of the VPN router according to an embodiment of the present invention.

도 4는 도 3의 VPN 라우터의 파이프 필터의 구성을 나타낸 블록도.4 is a block diagram showing the configuration of a pipe filter of the VPN router of FIG.

도 5는 본 발명의 실시 예에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신방법의 동작순서를 나타낸 플로우 차트.5 is a flowchart illustrating an operation procedure of a L2TP packet high speed reception method for improving LNS function of a VPN router according to an embodiment of the present invention.

본 발명에 따른 VPN라우터의 LNS 성능향상을 위한 L2TP 패킷 고속 수신방법은,L2TP packet high speed reception method for improving LNS performance of a VPN router according to the present invention,

가상 사설 네트워크 라우터에서 패킷을 수신하는 단계;Receiving a packet at a virtual private network router;

상기 패킷을 스위칭 블록으로 전송하여 필터링을 통해 상기 필터링 조건에 부합되는 패킷의 경우 2계층 터널 프로토콜 헤더를 분석하여 터널 아이디와 콜 아이디를 해석하는 단계;Analyzing the tunnel ID and the call ID by analyzing a layer 2 tunnel protocol header in the case of a packet that meets the filtering condition through filtering by transmitting the packet to a switching block;

상기 패킷의 2계층 터널 프로토콜 패이로드를 제외한 데이터를 제거하고 상기에서 해석한 터널 아이디, 콜 아이디와 함께 가상 직렬 장치 드라이버로 전달하여 패킷을 처리하도록 하는 단계를 포함하여 구성되는 것을 특징으로 한다.And removing the data except for the layer 2 tunnel protocol payload of the packet and delivering the packet to the virtual serial device driver along with the tunnel ID and the call ID.

바람직하게, 상기 필터링의 조건은,Preferably, the filtering condition is

상기 VPN 라우터에서 2계층 터널 프로토콜 네트워크 서버기능이 동작하고, 상기 수신된 패킷이 인터넷 프로토콜 패킷이고, 상기 패킷의 인터넷 프로토콜 패이로드가 사용자 데이터 그램 프로토콜 패킷인 2계층 터널 프로토콜 패킷이며;A Layer 2 tunnel protocol network server function is operated in the VPN router, the received packet is an Internet protocol packet, and the Internet protocol payload of the packet is a Layer 2 tunnel protocol packet;

상기 패킷이 데이터 패킷이고 흐름제어를 적용하지 않아야 하는 것을 특징으로 한다.The packet is a data packet, and flow control should not be applied.

상기와 같이 구성되는 본 발명에 따른 VPN라우터의 LNS 성능향상을 위한 L2TP 패킷 고속 수신방법에 대하여 첨부된 도면을 참조하여 설명하면 다음과 같다.The L2TP packet high speed reception method for improving LNS performance of a VPN router according to the present invention configured as described above will be described with reference to the accompanying drawings.

도 3은 본 발명의 실시 예에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신을 위한 VPN 라우터의 LNS 기능 구성을 나타낸 블록도이다.3 is a block diagram showing the configuration of the LNS function of the VPN router for the L2TP packet high-speed reception for improving the LNS function of the VPN router according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시 예에 따른 VPN 라우터(100)의 LNS 기능을위한 기능블록은, WAN 포트와 연결되어 데이터를 수신하는 WAN 블록(110)과, LAN 포트와 연결되는 LAN 블록(120)과, 상기 WAN 블록(110) 또는 LAN 블록(120)으로부터 수신된 데이터를 상위로 전달 또는 상위계층으로부터 전송되는 데이터를 상기 WAN 블록(110) 또는 LAN 블록(120)으로 전송하는 LSL 블록(140)과, 상기 LSL 블록(140)에서 전송되는 패킷의 IP 헤더에 따라 상위 블록으로 전달하거나 라우팅 정보에 의해 WAN 또는 LAN 으로 전송하는 IP 블록(150)과, 상기 IP 블록에서 전송되는 패킷의 UDP 헤더에 따라 패킷을 처리하는 UDP 블록(160)과, 상기 UDP 패킷 또는 TCP 패킷을 상위로 전달하는 소켓블록(170)과, L2TP 패킷을 처리하는 L2TP블록(180)을 포함하여 구성된다.Referring to FIG. 3, the functional block for the LNS function of the VPN router 100 according to an embodiment of the present invention includes a WAN block 110 connected to a WAN port and receiving data, and a LAN block connected to a LAN port. 120 and an LSL block that transmits data received from the WAN block 110 or the LAN block 120 to the upper layer or transmits data transmitted from the upper layer to the WAN block 110 or the LAN block 120. 140, an IP block 150 that is transmitted to an upper block according to an IP header of a packet transmitted by the LSL block 140, or transmitted to a WAN or LAN by routing information, and a packet transmitted by the IP block. A UDP block 160 for processing a packet according to a UDP header, a socket block 170 for transmitting the UDP packet or a TCP packet to a higher level, and an L2TP block 180 for processing an L2TP packet are configured.

또한, 상기 L2TP가 오픈 시킨 세션에 대해서 사설망에 대한 접근 허용을 위한 인증을 거쳐 PPP 연결을 허락하는데 이것을 PPP 서버 블록(130)에서 처리하며 상기 L2TP블록(180)과 PPP 서버 블록(130)은 각기 다른 계층에 위치하므로 이를 연결하기 위해 가상 직렬장치 드라이버 블록(190)이 상기 L2TP 블록(180)과 PPP 서버 블록(130)과 연결되게 되고, 상기 LSL 블록(140)에서 L2TP 패킷 중에서 데이터 패킷을 직접 가상 직렬 장치 드라이버 블록(190)으로 필터링 하여 전송하기 위한 파이프 필터(Pipe filter)(200)를 포함하여 구성된다.In addition, a PPP connection is allowed through an authentication for allowing access to a private network for the session opened by the L2TP, which is processed by the PPP server block 130, and the L2TP block 180 and the PPP server block 130 respectively. Since it is located in another layer, the virtual serial device driver block 190 is connected to the L2TP block 180 and the PPP server block 130 so as to connect them. In the LSL block 140, a data packet is directly transmitted among the L2TP packets. And a pipe filter 200 for filtering and transmitting to the virtual serial device driver block 190.

특히, 본 발명에 주요한 기능을 제공하는 파이프 필터(200)에서의 구성은 도 4와 같은 구성을 가지게 된다.In particular, the configuration in the pipe filter 200 that provides the main function of the present invention will have the configuration as shown in FIG.

도 4는 도 3의 VPN 라우터의 파이프 필터의 구성을 나타낸 블록도이다.4 is a block diagram showing the configuration of the pipe filter of the VPN router of FIG.

도 4를 참조하면, 패킷이 LSL 블록(140)으로 전달되면, 파이프 필터(200)의필터링 알고리즘(210)에 의하여 L2TP 패킷이고, 데이터 패킷이고, 흐름제어 수행이 필요하지 않을 때 L2TP 헤더의 터널아이디와 콜 아이디를 해석하여 수신된 패킷의 IP 헤더와 UDP 헤더와 L2TP 헤더를 제거한 L2TP 패이로드와 함께 상기 터널 아이디와 콜 아이디 정보를 가상 직렬 장치 드라이버 블록(190)으로 연결된 일종의 통로인 '파이프'를 통해 전송하고, 전송된 패킷은 가상 직렬 장치 드라이버 블록(190)의 파이프 API(191)에서 처리하여 터널 아이디 및 콜 아이디와 부합되는 가상 포트를 찾아 PPP 서버로 전송하여 처리하도록 하는 것이다.Referring to FIG. 4, when the packet is delivered to the LSL block 140, the L2TP header is a tunnel of the L2TP header when the packet is an L2TP packet, a data packet, and flow control is not required by the filtering algorithm 210 of the pipe filter 200. A pipe, which is a kind of passage that connects the tunnel ID and call ID information to the virtual serial device driver block 190, with the L2TP payload removing the IP header, UDP header, and L2TP header of the received packet by interpreting the ID and call ID. Through the transmission, the transmitted packet is processed by the pipe API 191 of the virtual serial device driver block 190 to find a virtual port corresponding to the tunnel ID and the call ID and transmit it to the PPP server for processing.

상기의 파이프 필터(200)에서의 필터링 알고리즘(210)에 대하여 좀더 자세히 설명하면 도 5와 같다.The filtering algorithm 210 of the pipe filter 200 will be described in more detail with reference to FIG. 5.

도 5는 본 발명의 실시 예에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신방법의 동작순서를 나타낸 플로우 차트이다.5 is a flowchart illustrating an operation procedure of a L2TP packet high speed reception method for improving LNS function of a VPN router according to an embodiment of the present invention.

도 5를 참조하면, LSL 블록(140)에 패킷이 도착하면(S101), 상기 VPN 라우터 (100)의 LNS 기능 수행이 가능한가를 확인한다(S102).Referring to FIG. 5, when a packet arrives at the LSL block 140 (S101), it is determined whether the VPN router 100 can perform an LNS function (S102).

상기 LNS 기능 수행이 가능하면, 상기 파이프 필터(200)에서 우선 패킷을 수신하여 상기 패킷이 IP 패킷인가를 확인하고(S103), 수신된 패킷이 IP 패킷이면 IP 패이로드가 UDP 패킷인가를 확인하여(S104), L2TP 패킷인가를 확인한다(S105).If it is possible to perform the LNS function, the pipe filter 200 first receives a packet to check whether the packet is an IP packet (S103), and if the received packet is an IP packet, checks whether the IP payload is a UDP packet. (S104), it is checked whether or not the L2TP packet is present (S105).

상기 패킷이 IP 패킷인가를 확인하는 것은 LSL 블록에서의 패킷 포맷에서 DLC 헤더의 이더타입 필드가 '0x0800'인가를 확인함으로써 가능하며, UDP 패킷인가를 구분하는 것은 IP 헤더의 프로토콜 필드가 '0x11'인지를 확인함으로써 가능하게 되며, 현재 패킷이 L2TP의 패킷인가를 확인하는 것은 UDP 헤더의 목적지 포트가'1701'인가를 확인함으로써 알 수 있다.It is possible to check whether the packet is an IP packet by checking whether the Ethertype field of the DLC header is '0x0800' in the packet format of the LSL block, and distinguishing whether the packet is a UDP packet is '0x11'. This can be done by checking whether the current packet is an L2TP packet or not by checking whether the destination port of the UDP header is '1701'.

상기 조건을 만족하면, L2TP 패킷이 데이터 패킷인지 제어 패킷인지를 확인하는데(S106), 이것은 L2TP 헤더 정보 중 타입 필드가 '0'이면 데이터 패킷이고 '1'이면 제어 패킷인 것을 알 수 있다.If the above condition is satisfied, it is checked whether the L2TP packet is a data packet or a control packet (S106). This indicates that the L2TP packet is a data packet if the type field is '0' and is a control packet if '1'.

또한, 상기 패킷이 데이터 패킷이라면 L2TP 헤더의 시퀀스 필드 값이 '0'인가를 확인하는데 이것은 상기 데이터 패킷에 흐름제어를 적용하게 되는가를 판단하는 것이다(S107).In addition, if the packet is a data packet, it is checked whether the sequence field value of the L2TP header is '0', which determines whether flow control is applied to the data packet (S107).

상기의 필터링 조건에 모두 만족하게 되면, 수신된 패킷의 L2TP 헤더를 분석하여 터널 아이디와 콜 아이디를 해석한 후(S108), IP 헤더와, UDP 헤더와, L2TP 헤더를 제거한 후(S109), 상기 터널 아이디 및 콜 아이디와 함께 가상 직렬 장치 드라이버(190)의 파이프 API(191)로 전달하여 패킷을 처리하도록 하는 것이다.When all of the above filtering conditions are satisfied, after analyzing the L2TP header of the received packet to analyze the tunnel ID and the call ID (S108), the IP header, the UDP header, and the L2TP header are removed (S109). Along with the tunnel ID and the call ID, it passes the pipe API 191 of the virtual serial device driver 190 to process the packet.

상기 필터링 알고리즘(210)에 하나라도 조건이 맞지 않다면, 기존의 패킷 처리와 같은 과정을 거치게 되어 IP 블록과 UDP 블록과 L2TP 블록을 거치게되는 것이다.If at least one of the conditions is not satisfied in the filtering algorithm 210, the same process as the existing packet processing is performed, and the IP block, the UDP block, and the L2TP block are processed.

상기와 같은 필터링 과정을 거치면 L2TP 패킷이며, 데이터 패킷이고, 흐름제어를 수행하지 않는 패킷의 경우 IP 블록과 UDP 블록과 L2TP 블록을 거치지 않고 바로 터널 아이디와 콜 아이디를 분석하여 가상 직렬 장치 드라이버 블록으로 전송함으로써 보다 빠르게 수신된 패킷을 처리할 수 있는 효과가 있다.Through the above filtering process, L2TP packet, data packet, and flow control do not go through IP block, UDP block and L2TP block, and analyze tunnel ID and call ID directly to the virtual serial device driver block. By transmitting, the received packet can be processed more quickly.

이상에서 설명한 바와 같이, 본 발명에 따른 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속 수신방법은 수신되는 패킷을 필터링 알고리즘을 통해 미리 조사하여 L2TP 패킷이고, 데이터 패킷이고, 흐름제어를 수행하지 않는 패킷을 필터링을 통해 선별하여 IP 블록, UDP 블록, L2TP 블록을 거치지 않고 바로 터널 아이디와 콜 아이디를 해석하여 가상 직렬 장치 드라이버 블록으로 전달함으로써 패킷 처리단계를 줄이고, 오버헤드를 줄여서 수신기능을 향상시킬 수 있는 효과가 있다.As described above, in the L2TP packet high speed reception method for improving LNS function of the VPN router according to the present invention, a packet is a L2TP packet, a data packet, and does not perform flow control by previously inspecting a received packet through a filtering algorithm. Can be filtered and the tunnel ID and call ID are interpreted and passed to the virtual serial device driver block without going through the IP block, UDP block, and L2TP block, thereby reducing the packet processing step and reducing the overhead to improve the reception function. It has an effect.

Claims (2)

가상 사설 네트워크(Virtual Private Network) 라우터에 있어서,In the virtual private network router, 인터넷망을 통해 패킷을 수신하는 단계;Receiving a packet through an internet network; 상기 라우터가 L2TP(Layer 2 Tunneling Protocol) 네트워크 서버(LNS: L2TP Network Server) 기능이 동작하는지를 판단하는 단계;Determining, by the router, a Layer 2 Tunneling Protocol (L2TP) network server (LNS) function; 상기 L2TP 네트워크 서버 기능으로 동작하면, 상기 수신된 패킷을 스위칭 블록으로 전송하여 필터링을 통해, 상기 패킷이 L2TP 패킷이고, 데이터 패킷이고, 흐름제어를 수행하지 않는 패킷 조건을 만족하다고 판별될 경우 L2TP 헤더를 분석하여 터널 아이디(tunnel ID)와 콜 아이디(Call ID)를 해석하는 단계; When operating as the L2TP network server function, if it is determined that the packet is an L2TP packet, a data packet, and does not perform flow control through the filtering by transmitting the received packet to a switching block, an L2TP header Analyzing the tunnel ID and the call ID by analyzing the ID ; 상기 해석된 패킷의 L2TP 패이로드를 제외한 데이터를 제거하고 상기에서 해석한 터널 아이디, 콜 아이디와 함께 가상 직렬 장치 드라이버로 전달하여 패킷을 처리하도록 하는 단계를 포함하여 구성되는 것을 특징으로 하는 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속수신방법.Removing the data except for the L2TP payload of the interpreted packet and forwarding the packet to the virtual serial device driver together with the interpreted tunnel ID and call ID to process the packet. High speed L2TP packet reception for LNS enhancement. 제 1항에 있어서, 상기 필터링의 조건은,The method of claim 1, wherein the filtering condition is 상기 라우터에 수신된 패킷이 IP(Internet Protocol) 패킷인지를 확인하고, 그 확인결과 IP 패킷일 경우 IP 패이로드가 UDP(User Datagram Protocol) 패킷인가를 확인하는 단계;Checking whether the packet received by the router is an Internet Protocol (IP) packet, and if the result is an IP packet, confirming whether the IP payload is a User Datagram Protocol (UDP) packet; 상기 확인결과 UDP 패킷일 경우 해당 패킷이 L2TP패킷인가를 확인하는 단계;Confirming whether the corresponding packet is an L2TP packet when the UDP packet is determined as the result; 상기 확인결과 L2TP 패킷이 데이터 패킷이고 흐름제어를 적용하지 않는 가를 판단한 후, 판단결과 데이터 패킷이고 흐름제어를 적용하지 않는 패킷에 대해서 필터링하는 단계를 포함하는 것을 특징으로 하는 VPN 라우터의 LNS 기능향상을 위한 L2TP 패킷 고속수신방법. And determining that the L2TP packet is a data packet and does not apply flow control, and then filtering the packet that is a data packet and does not apply flow control as a result of the determination . L2TP packet high speed reception method.
KR10-2001-0065587A 2001-10-24 2001-10-24 Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router KR100451788B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0065587A KR100451788B1 (en) 2001-10-24 2001-10-24 Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0065587A KR100451788B1 (en) 2001-10-24 2001-10-24 Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router

Publications (2)

Publication Number Publication Date
KR20030033558A KR20030033558A (en) 2003-05-01
KR100451788B1 true KR100451788B1 (en) 2004-10-08

Family

ID=29566096

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0065587A KR100451788B1 (en) 2001-10-24 2001-10-24 Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router

Country Status (1)

Country Link
KR (1) KR100451788B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100737140B1 (en) * 2001-10-31 2007-07-06 주식회사 케이티 The processing apparatus and method for providing internet protocol virtual private network service on mobile communication
CN100456716C (en) * 2003-07-08 2009-01-28 华为技术有限公司 A method of data transmission on VPN
KR100656317B1 (en) * 2003-11-08 2006-12-11 한국전자통신연구원 Label switching method using a ethernet frame and a labeled frame structure

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000000185A (en) * 1999-09-29 2000-01-15 최명렬 Method for connecting internet to save IP addresses by using NAT(Network Address Translation) function and configurating VPN(Virtual Private Network)
JP2000083177A (en) * 1998-07-02 2000-03-21 Fuji Xerox Co Ltd Image processing method and image processor
JP2000341327A (en) * 1999-05-27 2000-12-08 Hitachi Ltd Vpn constitution system, inter-work router device, packet communicating method, data communicating device, and packet repeater device
KR20010057104A (en) * 1999-12-18 2001-07-04 이계철 Internet VPN service provisioning method using service gateway
KR20010057377A (en) * 1999-12-22 2001-07-04 이계철 VPN service provisioning method using session agent
KR20020053519A (en) * 2000-12-27 2002-07-05 오길록 Apparatus and method for providing MPLS-VPN service
KR100346355B1 (en) * 2001-09-12 2002-07-31 Piolink Inc Load balancer, and system and method for clustering vpn gateway using the same

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000083177A (en) * 1998-07-02 2000-03-21 Fuji Xerox Co Ltd Image processing method and image processor
JP2000341327A (en) * 1999-05-27 2000-12-08 Hitachi Ltd Vpn constitution system, inter-work router device, packet communicating method, data communicating device, and packet repeater device
KR20000000185A (en) * 1999-09-29 2000-01-15 최명렬 Method for connecting internet to save IP addresses by using NAT(Network Address Translation) function and configurating VPN(Virtual Private Network)
KR100333530B1 (en) * 1999-09-29 2002-04-25 최명렬 Method for configurating VPN(Virtual Private Network) by using NAT(Network Address Translation) and computer readable record medium on which a program therefor is recorded
KR20010057104A (en) * 1999-12-18 2001-07-04 이계철 Internet VPN service provisioning method using service gateway
KR20010057377A (en) * 1999-12-22 2001-07-04 이계철 VPN service provisioning method using session agent
KR20020053519A (en) * 2000-12-27 2002-07-05 오길록 Apparatus and method for providing MPLS-VPN service
KR100346355B1 (en) * 2001-09-12 2002-07-31 Piolink Inc Load balancer, and system and method for clustering vpn gateway using the same

Also Published As

Publication number Publication date
KR20030033558A (en) 2003-05-01

Similar Documents

Publication Publication Date Title
EP1844402B1 (en) Techniques for migrating a point to point protocol to a protocol for an access network
US6449272B1 (en) Multi-hop point-to-point protocol
US6282193B1 (en) Apparatus and method for a remote access server
US8819213B2 (en) System, method and apparatus for traffic mirror setup, service and security in communication networks
US20020010866A1 (en) Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths
JP4236398B2 (en) Communication method, communication system, and communication connection program
US6917600B1 (en) Mobile point-to-point protocol
US6801509B1 (en) Mobile point-to-point protocol
US7529832B2 (en) PPP domain name and L2TP tunnel selection configuration override
US7325058B1 (en) Method and system for controlling subscriber access in a network capable of establishing connections with a plurality of domain sites
US20020038419A1 (en) Service selection in a shared access network using tunneling
US20030174714A1 (en) Zero-installation PPP-Bridge setup for lan-to-wan connectivity
Cohen On the establishment of an access VPN in broadband access networks
US10887212B2 (en) System, method and apparatus for traffic mirror setup, service and security in communication networks
US20100158014A1 (en) Network apparatus and method for forwarding packet
WO2007061465A1 (en) Digital subscriber link interconnection to a virtual private network
CN115314467B (en) Data communication system and method based on distribution network differential protection
US7761508B2 (en) Access device-based fragmentation and interleaving support for tunneled communication sessions
KR100451788B1 (en) Method of L2TP packet fast receive to improve the performance of L2TP network server in virtual private network router
US7088737B1 (en) Method and apparatus for combining packets having different protocol encapsulations within a circuit
US7616625B1 (en) System and method for selective enhanced data connections in an asymmetrically routed network
Cisco Configuring LAPB and X.25
Cisco Configuring LAPB and X.25
Cisco Site Configuration Commands
KR100478899B1 (en) The system and service providing method for harmful site connection interception service by using tunneling protocol and packet mirroring mode

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120814

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130816

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150812

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160812

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee