KR100552515B1 - 패킷 처리 장치 및 방법 - Google Patents
패킷 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR100552515B1 KR100552515B1 KR1020040001009A KR20040001009A KR100552515B1 KR 100552515 B1 KR100552515 B1 KR 100552515B1 KR 1020040001009 A KR1020040001009 A KR 1020040001009A KR 20040001009 A KR20040001009 A KR 20040001009A KR 100552515 B1 KR100552515 B1 KR 100552515B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- protocol
- packets
- received
- buffer
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/782—Hierarchical allocation of resources, e.g. involving a hierarchy of local and centralised entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 IPv4 패킷과 IPv6 패킷이 혼재하는 네트워크에서 패킷 처리를 위한 자원할당을 효율적으로 수행하기 위한 것으로, 수신되는 패킷들의 프로토콜을 판단하여 패킷들을 각 프로토콜별로 분류하고, 그 분류 결과에 따른 패킷 정보를 생성하는 프로토콜 필드 룩업부와, 상기 프로토콜 필드 룩업부에 의해 분류된 패킷들을 각 프로토콜별로 저장하는 복수 개의 버퍼들과, 상기 버퍼들로부터 수신한 패킷들을 처리하는 네트워크 프로세서와, 상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보에 따라 상기 버퍼들의 크기를 변경하는 버퍼 매니저를 포함하는 패킷 처리 장치를 제안한다.
IPv4, IPv6, PPP, 자원할당, 패킷 처리, 버퍼
Description
도 1은 두 시스템간에 PPP 링크를 설정하는 과정을 도시하는 도면.
도 2는 링크를 통해 전송되는 패킷 형태를 도시하는 도면.
도 3은 종래기술에 따른 패킷 처리 장치의 구성을 도시하는 도면.
도 4는 본 발명에 따른 도면으로, IPv4 패킷과 IPv6 패킷을 분리하여 처리하기 위한 패킷 처리 장치의 구성을 도시하는 도면.
도 5는 본 발명의 구성 요소들인 프로토콜 필드 룩업부, 버퍼 매니저, 네트워크 프로세서간에 교환되는 정보를 정의한 메시지 형태를 도시하는 도면.
도 6은 본 발명에 따른 도면으로, IPv4 패킷과 IPv6 패킷을 분리하여 처리하는 과정을 도시하는 순서 흐름도.
본 발명은 네트워크에서 패킷의 처리 장치 및 방법에 관한 것으로, 더욱 상세히 말하자면, IPv4 패킷(버전 4인 인터넷 프로토콜 패킷, 이하 "IPv4 패킷"이라 칭한다)과 IPv6 패킷(버전 6인 인터넷 프로토콜 패킷, 이하 "IPv6 패킷"이라 칭한다)이 혼재하는 네트워크 상에서 효율적인 패킷(IPv4 패킷과 IPv6 패킷을 모두 포함)의 처리 장치 및 방법에 관한 것이다.
네트워크 계층에서 처리되는 프로토콜이나 상위 계층의 애플리케이션이 생성하는 정보를 패킷(데이터그램이라고도 함)이라 하는데, 토큰 링(Token ring), FDDI(Fiber Distribution Data Interface), 이더넷(Ethernet), ISDN(Integrated Services Digital Network), ATM(Asynchronous Transfer Mode), PPP(Point to Point Protocol) 등을 통해 전송 가능하다. 이 중에서 PPP를 예로 들어보면, PPP는 세 가지의 구성 요소로 이루어져 있다. 첫 번째, 직렬 링크를 통해 패킷을 캡슐화하는 방법, 두 번째, 데이터 링크 연결을 시험, 구성 그리고 설정하기 위한 링크 제어 프로토콜(Link Control Protocol), 그리고 마지막으로 다른 네트워크 계층 프로토콜을 구성하고 설정하기 위한 네트워크 제어 프로토콜(Network Control Protocols)의 집합이다. 이러한 구성 요소들로 이루어진 PPP 링크를 통해서 통신하기 위해서는 먼저 데이터 링크를 시험하고 구성하기 위해서 링크 제어 프로토콜 패킷(Link Control Packet, LCP)을 전송한다. 그 후 하나 또는 그 이상의 네트워크 계층 프로토콜을 구성하고 결정하기 위해서 네트워크 제어 프로토콜 패킷을 전송해야만 한다. 이러한 과정이 모두 끝난 후 각 네트워크 계층 프로토콜이 보내려고 하는 패킷을 링크 계층을 통해서 전송할 수 있게 된다. 이렇게 설정된 링크는 외부적인 링크 제어 프로토콜 패킷 또는 네트워크 제어 프로토콜 패킷에 의해서 링크가 끊기거나 외부적인 사건이 발생하여 링크가 끊길 때까지 통신을 하기 위한 구 성상태가 존재하게 된다. 패킷들이 전송되기 전에 PPP는 네트워크 계층 프로토콜 상태에 도달해야만 하고 아이피 제어 프로토콜은 오픈된 상태에 도달해야한다. 이와 같이 네트워크 계층까지 링크가 설정되면, 설정된 링크를 통해 패킷들이 전송된다. 도 2는 설정된 링크를 통해 전송되는 패킷의 포맷을 예로 들어 도시하는 도면이다.
도 2에 도시된 바와 같이, 일반적으로 각 패킷들은 주소 필드(202), 제어 필드(204), 프로토콜 필드(206), 페이로드(208), FCS(Frame Check Sequence) 필드(210)를 포함하도록 구성된다. 전송하고자 하는 데이터인 페이로드(208)의 앞에 붙은, 데이터 전송을 위한 정보들을 포함하는 필드들(202 내지 206)을 헤더라 칭한다. 패킷을 수신하는 네트워크 시스템들은 헤더를 참조하여 패킷 전송을 위한 정보를 얻는다. 주소 필드(202)는 목적지의 주소를 포함하고, 제어 필드(204)는 적절한 처리를 확신하기 위해 일련번호(sequence number)를 포함한다. 도 2에는 주소 필드(202) 및 제어 필드(204)에 각각 FF 및 03이라는 수치가 들어 있는데, 이는 하나의 예시일 뿐, 특정되는 수치는 아니다.
도 3은 종래 기술에 따른 도면으로, 수신되는 패킷에 대한 처리를 수행하는 패킷 처리 장치를 도시하는 도면이다.
도 3에 도시된 바와 같이, 패킷 처리 장치는 프로토콜 필드 룩업부(300), 버퍼(310), 네트워크 프로세서(320)로 이루어져 있다. 프로토콜 필드 룩업부(300)는 링크로부터 수신한 패킷의 헤더를 참조하여 패킷의 정보를 획득하고, 수신한 패킷을 버퍼(310)에 송신한다. 네트워크 프로세서(320)는 버퍼(310)로부터 패킷을 수 신하여 패킷 처리를 수행한다.
한편, 현재는 종래의 IPv4에서, IPv4의 주소 체계에 따른 주소의 부족 현상을 해결하기 위해 새로이 제안된, IPv6로 전환되어 가는 과도기로써, 네트워크 상에서 IPv4와 IPv6가 혼재하는 경우가 빈번하게 발생할 수 있다. 네트워크 프로세서(320)의 IPv4 패킷과 IPv6 패킷에 대한 처리 과정이 다르므로, 네트워크 프로세서(320)는 수신되는 패킷의 IP 헤더를 검사하여 수신되는 패킷이 IPv4 패킷인지 IPv6 패킷인지를 확인하는 작업을 더 수행하여야 한다. 네트워크 프로세서(320)는 PPP 링크를 통해 수신되는 PPP 프레임을 디캡슐레이션(decapsulation)해서 IP 패킷 내에서 IP 패킷 헤더(packet header) 처리를 통해 IPv4 패킷인지 IPv6 패킷인지 구분하여 패킷 처리를 한다. 하나의 IPv6 패킷은 PPP 데이터 링크 계층 프레임의 정보 영역에 캡슐화되어 있으며 PPP 데이터 링크 계층 프레임은 차세대 인터넷 프로토콜인 버전 6을 나타내는 0x0057의 값을 프로토콜 영역(206)에 가지고 있고, IPv4인 경우는 '0x0021'의 값을 가진다. 따라서 프로토콜 영역(206)을 참조함으로써 패킷의 프로토콜을 알 수 있다.
다른 한편, 종래에는 IPv4 혹은 IPv6만 존재하는 네트워크에서도 IPv6 혹은 IPv4를 처리하기 위한 버퍼(310) 자원 및 네트워크 프로세서(320)의 자원을 할당해 두어야 했으므로, 불필요한 자원의 낭비가 발생하게 된다. 또, IPv4 패킷과 IPv6 패킷이 혼재하는 네트워크라 해도 IPv4 패킷과 IPv6 패킷을 위해 할당된 자원이 고정적이기 때문에 자원의 낭비가 발생하게 된다. IPv4 패킷을 위해 할당된 자원은 IPv4 패킷 처리를 위해서만 사용되고, IPv6용 패킷을 위해 할당된 자원은 IPv6 패 킷 처리를 위해서만 사용되기 때문이다. IPv4 패킷과 IPv6 패킷이 혼재하는 링크라 해도 수신되는 IPv4 패킷과 IPv6 패킷의 비율이 일정하게 유지되는 것은 아니므로, 수신되는 패킷의 비율에 따라 할당 자원을 동적으로 변화시킬 수 있는 패킷 처리 장치 및 방법이 요구된다. 또한, IPv4 패킷과 IPv6 패킷의 두 가지 패킷만이 아니라, 그 이상 여러 가지의 패킷이 혼재하는 네트워크가 존재할 수도 있을 것이다. 이러한 경우, 네트워크 시스템에서 상기 복수의 패킷에 대한 처리를 효율적으로 수행할 수 있도록 하는 패킷 처리 장치 및 방법이 요구될 것이다.
본 발명의 목적은 두 가지 프로토콜의 패킷이 혼재할 수 있는 네트워크에서의 패킷 처리를 효율적으로 수행 가능한 패킷 처리 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 두 가지 프로토콜의 패킷이 혼재할 수 있는 네트워크에서 발생하는 자원의 낭비를 감소시킬 수 있는 패킷 처리 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 수신되는 패킷들의 프로토콜별 비율에 따라 각 패킷 처리를 위해 할당하는 자원을 변화시킴으로써 효율적인 자원할당이 가능하도록 하는 패킷 처리 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 복수의 프로토콜의 패킷이 혼재할 수 있는 네트워크에서 패킷 처리를 효율적으로 수행 가능한 패킷 처리 장치 및 방법을 제공함에 있다.
본 발명은 네트워크 프로세서가 수신되는 패킷의 프로토콜을 구분하는 과정을 수행할 필요가 없도록 각 프로토콜의 패킷을 저장하는 버퍼를 별도로 구비하도록 한다. 또, 링크 설정 및 링크로부터 수신되는 패킷 량의 감시를 통해 효율적인 자원할당이 이루어지도록 함으로써 자원의 낭비를 방지한다. 이를 위하여 본 발명은, 수신되는 패킷들의 프로토콜을 판단하여 패킷들을 각 프로토콜별로 분류하고, 그 분류 결과에 따른 패킷 정보를 생성하는 프로토콜 필드 룩업부와, 상기 프로토콜 필드 룩업부에 의해 분류된 패킷들을 각 프로토콜별로 저장하는 복수 개의 버퍼들과, 상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보에 따라 상기 버퍼들로부터 수신한 패킷들을 처리하는 네트워크 프로세서와, 상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보를 참조하여 각 프로토콜별 패킷 량들을 비교한 후 양이 적은 패킷을 저장할 버퍼의 크기를 감소시키고, 양이 많은 패킷을 저장할 버퍼의 크기를 증가시키는 버퍼 매니저를 포함함을 특징으로 하는 패킷 처리 장치를 제안한다.
또한 본 발명은, 수신되는 패킷의 프로토콜을 판단하는 제 1과정과, 상기 패킷을 그 프로토콜별로 구분하여 저장하고 프로토콜별 패킷 량을 카운트하는 제 2과정과, 상기 카운트 값을 사용하여 프로토콜별 패킷 량을 비교하는 제 3과정과, 상기 비교 결과에 따라 수신 량이 적은 프로토콜의 패킷을 저장하기 위한 버퍼의 크기를 감소시키고, 수신 량이 많은 프로토콜의 패킷을 저장하기 위한 버퍼의 크기를 증가시키는 제 4과정을 포함함을 특징으로 하는 패킷 처리 방법을 제안한다.
한편, 상기와 같은 본 발명을 설명함에 있어서, 그 설명을 용이하게 하기 위해 IPv4 패킷과 IPv6 패킷의 두 프로토콜의 패킷이 PPP 링크를 통해 수신되는 네트 워크를 실시예로 들어 설명한다. 그러나 본 발명은 이로 인해 한정되지 않으며, 서로 다른 프로토콜의 패킷이 수신되는 모든 링크에 대하여 본 발명을 적용할 수 있다. 본 발명에 대한 구체적인 설명을 시작하기에 앞서 본 발명을 설명하기 위해 사용한 용어들에 대해 기술하도록 한다. "IPv4 패킷"은 버전 4의 아이피 패킷을 칭하는 단어이고, "IPv6 패킷"은 버전 6의 아이피 패킷을 칭하는 용어이다. 본 발명의 설명을 용이하게 하기 위해 예를 들고 있는 "PPP 링크"는 점대점(Point to Point) 링크 상으로 IP 패킷을 캡슐화해서 전송하기 위한 프로토콜이다. IPCP(Internet Protocol Control Packet)"는 IPv4 패킷을 링크 상으로 전송하기 위한 제어 패킷이다. "IPv6CP(Internet Protocol Version 6 Control Packet)"는 IPv6 패킷을 링크 상으로 전송하기 위한 제어 패킷이다.
한편, 이상 기술한 용어들과 달리, 본 발명의 기술을 용이하게 하기 위해 "패킷 처리"와 "패킷 정보"라는 용어에 대해 다음과 같은 추가적인 의미가 부가되도록 정의하였다. "패킷 처리"는 네트워크 프로세서가 버퍼로부터 수신한 패킷에 대하여 수행하는 패킷 처리를 의미한다. 프로토콜 필드 룩업부가 패킷의 필드를 참조하여 수행하는 패킷의 판단 및 버퍼가 수행하는 패킷의 일시 저장 등도 패킷 처리 과정의 일부로 간주할 수 있으나, 이하 본 발명을 설명함에 있어서는 네트워크 프로세서의 동작만을 패킷 처리라 칭하기로 한다. "패킷 정보"는 설정된 링크가 지원하는 패킷의 프로토콜, 링크를 통해 수신되는 각 프로토콜별 패킷 량 등의 정보를 의미한다.
도 4는 본 발명에 따른 도면으로, IPv4 패킷과 IPv6 패킷을 분리하여 처리하 기 위한 패킷 처리 장치의 구성을 도시하는 도면이다.
도 4에 도시된 바와 같이, 본 발명은 PPP 헤더에서 프로토콜 필드 룩업부(200), 버퍼 매니저(400), 데이터 전송에 필요한 버퍼(410)(420)로 이루어져 있다. 버퍼는 IPv4 패킷을 저장하기 위한 버퍼 1(410)과 IPv6 패킷용 버퍼 2(420)의 두 개의 버퍼가 사용된다. 버퍼 1(410)은 IPv4 패킷을 저장하기 위한 버퍼이고, 버퍼 2(420)는 IPv6 패킷을 저장하기 위한 버퍼이다. 프로토콜 필드 룩업부(300)는 프로토콜 필드(206)에 저장된 패킷 정보를 참조하여 수신되는 패킷의 프로토콜을 판단한 후, IPv4 패킷을 버퍼 1(410)에 저장하고, IPv6 패킷을 버퍼 2(420)에 저장한다. 프로토콜 필드 룩업부(300)는 수신되는 패킷들을 그 프로토콜에 따라 버퍼 1(410) 혹은 버퍼 2(420)에 저장하고 IPv4 패킷 및 IPv6 패킷 량을 카운트하여 그 카운트 값을 버퍼 매니저(400)에 전달한다. 카운트 값을 전달받은 버퍼 매니저(400)는 수신되는 패킷의 비율에 따라 버퍼 1(410) 및 버퍼 2(420)의 크기를 변경하도록 네트워크 프로세서(320)를 제어한다. 상기 카운트 값은 후술하는 도 5에 도시된 메시지의 형태로 프로토콜 필드 룩업부(300)로부터 버퍼 매니저(400) 및 네트워크 프로세서(320)에 전달된다.
프로토콜 필드 룩업부(200)는 링크 설정 시 얻은 정보로부터 링크가 IPv4만을 지원하는지, IPv4 및 IPv6를 모두 지원하는지 판단한다. 링크가 IPv4와 IPv6를 모두 지원할 시, 프로토콜 필드 룩업부(200)는 링크를 통해 수신되는 패킷이 IPv4 패킷인지 IPv6 패킷인지 판단한다. 패킷 프로토콜의 판단은 수신되는 패킷의 헤더 중 프로토콜 필드(206)에 포함된 정보를 참조함으로써 이루어진다. 프로토콜 필드 룩업부(200)는 IPv4 패킷이 수신되면 수신된 패킷을 IPv4 패킷 저장용 버퍼인 버퍼 1(410)에 송신하여 저장하도록 하고, IPv6 패킷이 수신되면 수신된 패킷을 IPv6 패킷 저장용 버퍼인 버퍼 2(420)에 송신하여 저장하도록 한다. 프로토콜 필드 룩업부(200)는 수신되는 IPv4 패킷과 IPv6 패킷을 각각 카운트하고, 이에 따른 정보를 버퍼 매니저(400)에 송신한다. 상기 프로토콜 필드 룩업부(300)가 판단하는 정보들은 하기 도 5에 도시된 메시지 형태로 버퍼 매니저(400) 및 네트워크 프로세서(320)에 전달된다.
도 5는 프로토콜 필드 룩업부, 버퍼 매니저, 네트워크 프로세서간에 교환되는 정보를 정의한 메시지 형태의 일 예를 도시하는 도면이다.
도 5에 도시된 바와 같이, 프로토콜 필드 룩업부(400), 버퍼 매니저(400), 네트워크 프로세서(400)간에 교환되는 메시지는 링크 정보, IPCP(Internet Protocol Control Packet 정보, IPv6CP 정보, IPv4 패킷 카운트 정보, IPv6 패킷 카운트 정보 등을 포함하도록 구성될 수 있다. 링크 정보는 설정된 링크의 데이터 링크 정보를 포함하고 있다. IPCP 정보 및 IPv6CP는 네트워크 계층의 링크 정보를 포함하고 있는데, IPCP 정보는 IPv4 패킷을 전송하기 위한 네트워크 계층 정보이고, IPv6CP는 IPv6 패킷을 전송하기 위한 네트워크 계층 정보이다. IPCP 정보와 IPv6CP정보를 이용하여 링크가 IPv4 패킷과 IPv6 패킷을 모두 지원하는지, IPv4 패킷만을 지원하는지의 정보를 얻을 수 있다. IPCP 정보 및 IPv6CP 정보는 링크 설정 시에 얻을 수 있다. IPv4 패킷 카운트 및 IPv6 패킷 카운트는 수신되는 각 패킷 량을 포함하고 있다. IPv4 패킷 카운트 및 IPv6 패킷 카운트는 본 발명에 따른 버퍼 관리를 수행하기 위해 필요하다.
버퍼 매니저(400)는 수신되는 패킷 량의 비율에 따라 네트워크 프로세서(320)가 패킷을 처리하기 위해 할당하는 자원을 변경할 수 있다. 즉, 버퍼 매니저(400)는 링크를 통해 IPv4 패킷만이 수신된다면 네트워크 프로세서(320)의 모든 자원을 IPv4 패킷 처리를 위해 할당하고, IPv6 패킷만이 수신된다면 네트워크 프로세서(320)의 모든 패킷 처리용 자원을 IPv6 패킷 처리를 위해 할당한다. IPv4 패킷과 IPv6 패킷이 모두 수신될 시에는 버퍼의 크기를 달리하는 것과 마찬가지로, 더 많이 수신되는 패킷의 처리를 위해 할당하는 프로세서의 자원을 증가시킴으로써 효율적인 패킷 처리가 이루어지도록 할 수 있다.
도 6은 본 발명에 따른 도면으로, IPv4 패킷과 IPv6 패킷을 분리하여 처리하는 과정을 도시하는 순서 흐름도이다.
도면들을 참조하여 본 발명의 동작을 설명하면 다음과 같다. 하기에서는 패킷을 전송하기 위한 링크로써 PPP 링크를 예로 들어 설명한다. PPP 링크를 통해서 통신하기 위해서는 먼저 데이터 링크를 시험하고 구성하기 위해서 링크 제어 프로토콜 패킷을 전송하고, 그 후 하나 또는 그 이상의 네트워크 계층 프로토콜을 구성하고 결정하기 위해서 네트워크 제어 프로토콜 패킷을 전송해야만 한다. 이 과정이 끝나면, PPP 링크 상에 어떠한 네트워크 프로토콜을 지원하는지 알 수 있다. 제 600단계에서 두 네트워크 장치들 간에 PPP 링크가 설정된다. PPP 링크 설정 과정은 도 1에 도시되어 있다. 도 1을 참조하여 PPP 링크의 설정과정을 설명한다. PPP 링크는 두 시스템 사이에서 1:1로 설정되는 링크이다. PPP 링크 설정 과정은 크게 링크 설정 과정과, 네트워크 계층 설정 과정으로 이루어질 수 있다. 네트워크 계층 설정 과정은 IPv4 패킷을 전송하기 위한 네트워크 계층 설정 과정과 IPv6 패킷 전송을 위한 네트워크 계층 설정 과정으로 구분될 수 있다.
101과정 내지 111과정은 PPP 링크를 설정하고자 하는 두 시스템, 시스템 A(100-1)와 시스템 B(100-2) 사이에 데이터 링크를 설정하는 과정이다. 먼저, PPP 링크의 설정을 요구하고자 하는 시스템 B(100-2)는 설정되는 PPP 링크의 상대가 될 시스템 A(100-1)에 데이터 링크를 설정하기 위해 LCP 패킷을 송신하여 환경설정을 요청한다(101). 시스템 B(100-2)가 LCP 패킷을 송신함을 시작으로 시스템 A(100-1)와 시스템 B(100-2) 사이에는 세 번의 패킷 교환이 이루어진다. 세 번의 패킷 교환은 시스템 B(100-2)의 링크 설정을 위한 환경정보 요청과 그에 대한 시스템 A(100-1)의 응답으로 이루어지는데, 이와 같이 세 번의 패킷 교환이 이루어지는 것은 링크 설정의 정확성을 위해서이다.
121과정 내지 151과정은 시스템 A(100-1) 및 시스템 B(100-2) 간에 네트워크 계층을 설정하는 과정인데, 특히 121과정 내지 131과정은 IPv4 패킷을 전송하기 위한 세션을 설정하는 과정이다. 링크 설정을 요청하는 시스템 B(100-2)는 시스템 A(100-1)에 IPv4 패킷용 제어 패킷인 IPCP(Internet Protocol Control Packet, IPCP)를 송신한다. 시스템 A(100-1)와 시스템 B(100-2) 간에는, 도 1에 도시된 바와 같이, 2회의 IPCP 송신과 그에 대한 응답 신호의 교환이 이루어진 후 131과정에서 IPv4 패킷을 전송하기 위한 PPP 세션이 설정된다.
141과정 내지 151과정은 IPv6 패킷을 전송하기 위한 세션을 설정하는 과정이 다. 링크 설정을 요청하는 시스템 B(100-2)는 시스템 A(100-1)에 IPv6 패킷용 제어 패킷인 IPv6CP(Internet Protocol Version 6 Control Packet, IPv6CP, IPv4 패킷용 제어 패킷인 IPv4와 구별하기 위해 v6를 붙인다)를 송신한다. 시스템 A(100-1)와 시스템 B(100-2) 간에는, 도 1에 도시된 바와 같이, 2회의 IPv6CP 송신과 그에 대한 응답 신호의 교환이 이루어진 후 151과정에서 IPv6 패킷을 전송하기 위한 PPP 세션이 설정된다. 이와 같이 네트워크 계층 세션이 설정되면 링크를 통해서 IP 패킷의 전송이 이루어진다.
IPv4 패킷의 전송만이 요구되는 PPP 링크를 설정하기 위해서는 121과정 내지 131과정만이 수행되고, IPv6 패킷의 전송만이 요구되는 PPP 링크를 설정하기 위해서는 141과정 내지 151 과정만이 수행되고, IPv4 패킷 및 IPv6 패킷 모두의 전송이 요구되는 PPP 링크를 설정하기 위해서는 121과정 내지 151과정이 수행된다.
PPP 링크가 설정되면, 제 602단계에서 버퍼 매니저(400)는 설정된 PPP 링크가 IPv6를 지원하는지, 즉, 상기 PPP 링크를 통해 IPv6 패킷의 수신이 이루어질 것인지를 판단한다. 버퍼 매니저(400)는 프로토콜 필드 룩업부(300)로부터 수신한, 도 5에 도시된 메시지의 IPCP 및 IPv6CP 정보를 참조하여 판단할 수 있다. 제 602단계에서의 판단결과에 따라 버퍼 매니저(400)는 버퍼(410)(420)와 네트워크 프로세서(320)의 자원할당을 결정한다. PPP 링크가 IPv6만을 지원할 경우, 버퍼 매니저(400)는 제 640단계에서 버퍼 1(410)과 버퍼 2(420)를 모두 IPv4 패킷을 위해 할당하고, 제 642단계에서 네트워크 프로세서(320)가 IPv6 패킷에 대한 처리를 생략하고 IPv4 패킷에 대한 처리만을 수행하도록 제어한다.
한편, PPP 링크가 IPv4와 IPv6 모두를 지원하는 경우, 버퍼 매니저(400)는 제 604단계에서 버퍼 관리를 시작한다. 버퍼 관리란 수신되는 IPv4 패킷과 IPv6 패킷의 양에 따라 각각의 패킷을 저장할 버퍼 1(410)과 버퍼 2(420)의 크기를 변화시키는 것이다. 즉, IPv4 패킷이 IPv6 패킷에 비해 많이 수신되면 IPv4 패킷을 저장하기 위한 버퍼 1(410)의 크기를 증가시키는 한편 버퍼 2(420)의 크기를 감소시킨다. 반대로, IPv6 패킷이 IPv4 패킷에 비해 많이 수신되면 IPv6 패킷을 저장하기 위한 버퍼 2(420)의 크기를 증가시키고 버퍼 1(410)의 크기를 감소시킨다. 버퍼 관리를 시작한 버퍼 매니저(400)는 그 준비단계로써 제 606단계에서 버퍼 1(410)과 버퍼 2(420)의 크기를 1:1로 설정한다. 제 608단계에서 버퍼 매니저(400)는 수신되는 패킷이 있는지 검사한다. 패킷의 수신이 종료되는 경우, 버퍼 관리는 종료된다.
제 610단계에서 버퍼 매니저는 패킷 부하를 감시한다. 즉, 수신되는 IPv4 패킷과 IPv6 패킷 량을 카운트함으로써 IPv4 패킷 량과 IPv6 패킷 량의 비율을 측정한다. 제 612단계 및 제 620단계는 IPv4 패킷과 IPv6 패킷 중 어떤 패킷이 더 많이 수신되는지를 판단하는 단계이다. IPv4 패킷이 많으면 버퍼 매니저(400)는 제 614단계에서 버퍼 2(420)의 크기를 감소시키고, 버퍼 1(410)의 크기를 증가시킴으로써 IPv4 패킷을 저장하기 위한 영역을 더 많이 확보한다. 반대로, IPv6 패킷이 많으면 버퍼 매니저(400)는 제 622단계에서 버퍼 1(410)의 크기를 감소시키고, 버퍼 2(420)의 크기를 증가시킴으로써 IPv6 패킷을 저장하기 위한 영역을 더 많이 확보한다.
한편, 도 6에서는 IPv4 패킷 량과 IPv6 패킷 량의 단순비교에 따라 버퍼 1(410) 및 버퍼 2(420) 크기의 변경을 결정하고 있으나, 이와 같이 설정할 시에는 본 발명에 따른 패킷 처리 장치가 패킷 량의 변화에 너무 민감하게 동작할 수도 있다. 이런 현상을 방지하기 위해 패킷 처리 장치는 임계값을 설정하여 비교의 기준 값으로 이용할 수 있다. 즉, IPv4 패킷 량과 IPv6 패킷 량의 차가 임계값으로 정해진 소정의 값을 초과하면 버퍼들(410)(420)의 크기를 변경시키는 것이다. 이 때 임계값은 패킷 처리 장치가 구비하는 버퍼들(410)(420)의 크기, 링크를 통해 수신되는 패킷 량의 변화 등 시스템의 특성에 따라 적절한 값으로 선택될 수 있다. 예를 들면, 버퍼들(410)(420)의 크기가 작거나, 링크를 통해 수신되는 패킷 량의 비율이 자주 변화하지 않는 시스템에서는 임계값을 작게 설정함으로써 시스템이 변화에 민감하게 동작하도록 할 수 있다. 반대로, 버퍼(410)(420)의 크기가 크거나, 수신되는 패킷 량의 비율이 빈번하게 변하는 시스템에서는 임계값을 크게 설정하는 것이 더 효율적일 수 있다. 상술한 바와 같이, 본 발명에서는 IPv4 패킷용의 버퍼와 IPv6 패킷용의 버퍼를 별도로 구비하고 패킷 정보에 따라 각 패킷을 위한 자원할당을 동적으로 수행함으로써 효율적인 자원할당이 이루어지도록 한다.
한편, 이상과 같은 본 발명은 실시예로 들어 기술하고 있는 PPP 링크가 아닌 다른 링크가 설정되어 있는 경우에도 동일하게 적용할 수 있을 것이다. 또한 본 발명은 IPv4 패킷과 IPv6 패킷이 혼재하는 네트워크만이 아니라, 서로 다른 처리를 필요로 하는, 다른 프로토콜의 패킷이 혼재하는 모든 네트워크로 그 적용범위를 확장할 수 있다. 또한, 본 발명은 두 가지 프로토콜의 패킷이 혼재하는 네트워크뿐 만 아니라, 둘 이상, 복수 프로토콜의 패킷이 혼재할 수 있는 네트워크까지 그 적용범위를 확장할 수 있다. 물론, 그 적용대상이 되는 네트워크 시스템은 본 발명의 프로토콜 필드 룩업부에 상응하는 구성 요소를 구비하고, 그 구성 요소가 수신되는 패킷의 프로토콜을 판단하고, 버퍼에 일시 저장하였다가 프로세서에 송신하여 패킷처리를 수행하도록 하는 구성을 가지는 시스템이다. 이와 같은 네트워크 시스템에서, 네트워크 상에 혼재할 수 있는 패킷의 프로토콜 수와 같은 수의 버퍼를 구비함으로써 본 발명을 적용할 수 있을 것이다. 즉, 프로토콜 필드 룩업부는 링크로부터 수신한 패킷의 프로토콜을 판단하고, 그 패킷들의 프로토콜에 따라 구분하여 버퍼들에 송신하여 저장하도록 한다. 수신되는 각 패킷 량에 따라 버퍼들의 크기를 변경시키는 구성 및 동작은 본 발명과 같다. 이와 같이, 네트워크 상에 존재 가능한 패킷의 프로토콜이 하나씩 증가할 때마다 그 프로토콜의 패킷을 구분하여 저장하기 위한 버퍼 수를 증가시킴으로써 본 발명의 적용이 가능하게 된다.
본 발명과 같이 프로토콜 별로 패킷을 구분해서 버퍼링 함으로써 네트워크 프로세서에서 프로토콜에 따른 패킷별로 독립적인 처리가 가능하게 하고, 지원하지 않는 네트워크 프로토콜에 관련된 처리과정을 생략할 수 있게 한다. 지원하지 않는 프로토콜을 위한 자원을 할당할 필요가 없어 자원낭비를 방지할 수 있다. 버퍼 매니저를 통해서 각 네트워크 프로토콜별로 할당하는 버퍼 크기를 동적으로 조정할 수 있게 함으로써 수신되는 패킷 량, 수신되는 패킷 량의 변화 등에 따른 효율적인 통신이 가능해진다. 본 발명을 통해 둘 이상, 서로 다른 복수 프로토콜의 패킷이 혼재할 수 있는 네트워크 상에서 효율적인 패킷 처리 및 자원할당이 가능해진다.
Claims (16)
- 수신되는 패킷들의 프로토콜을 판단하여 패킷들을 각 프로토콜별로 분류하고, 그 분류 결과에 따른 패킷 정보를 생성하는 프로토콜 필드 룩업부와,상기 프로토콜 필드 룩업부에 의해 분류된 패킷들을 각 프로토콜별로 저장하는 복수 개의 버퍼들과,상기 버퍼들로부터 수신한 패킷들을 처리하는 네트워크 프로세서와,상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보를 참조하여 각 프로토콜별 패킷 량들을 비교한 후 양이 적은 패킷을 저장할 버퍼의 크기를 감소시키고, 양이 많은 패킷을 저장할 버퍼의 크기를 증가시키는 버퍼 매니저를 포함하는 패킷 처리 장치.
- 제 1항에 있어서, 상기 패킷 정보는 데이터 링크 계층의 링크 정보, 네트워크 계층의 링크 정보, 상기 수신되는 각 프로토콜별 패킷 량을 포함함을 특징으로 하는 패킷 처리 장치.
- 제 1항에 있어서, 상기 네트워크 프로세서는 상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보에 따라 패킷 처리를 위한 자원을 할당함을 특징으로 하는 패킷 처리 장치.
- 삭제
- 삭제
- 삭제
- 제 1항에 있어서, 상기 버퍼 매니저는 각 프로토콜별 패킷 량을 비교함에 있어서 소정의 임계값을 비교의 기준 값으로 사용함을 특징으로 하는 패킷 처리 장치.
- 제 7항에 있어서, 상기 임계값은 상기 버퍼들의 크기 및 상기 수신되는 각 패킷 량의 변화에 따라 결정됨을 특징으로 하는 패킷 처리 장치.
- 제 2항에 있어서, 상기 패킷 정보에 의해 상기 수신되는 패킷의 프로토콜이 하나뿐인 것으로 판단될 경우, 상기 버퍼 매니저는 상기 버퍼들 중 상기 프로토콜의 패킷을 저장하기 위한 버퍼에만 자원을 할당하도록 하는 제어신호를 출력함을 특징으로 하는 패킷 처리 장치.
- 제 9항에 있어서, 상기 프로세서는 상기 프로토콜의 패킷을 처리하기 위해서 모든 패킷 처리 자원을 할당함을 특징으로 하는 패킷 처리 장치.
- 점대점(Point to Point Protocol, PPP) 링크를 통해 수신되는 패킷의 프로토콜을 판단하여 수신되는 패킷들을 각 프로토콜별로 분류하고, 그 분류 결과에 따른 패킷 정보를 생성하는 프로토콜 필드 룩업부와,상기 프로토콜 필드 룩업부에 의해 분류된 패킷들을 각 프로토콜별로 저장하는 복수 개의 버퍼들과,상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보에 따라 패킷 처리를 위한 자원을 할당하고, 상기 버퍼들로부터 수신한 패킷들을 처리하는 네트워크 프로세서와,상기 프로토콜 필드 룩업부로부터 상기 패킷 정보를 수신하고, 상기 패킷 정보를 참조하여 각 프로토콜별 패킷 량들을 비교한 후 양이 적은 패킷을 저장할 버퍼의 크기를 감소시키고, 양이 많은 패킷을 저장할 버퍼의 크기를 증가시키는 버퍼 매니저를 포함함을 특징으로 하는 패킷 처리 장치.
- 제 11항에 있어서, 상기 패킷 정보는 데이터 링크 계층의 링크 정보, 네트워크 계층의 링크 정보, 상기 점대점 링크를 통해 수신되는 각 프로토콜별 패킷 량을 포함함을 특징으로 하는 패킷 처리 장치.
- 수신되는 패킷의 프로토콜을 판단하는 제 1과정과,상기 패킷을 그 프로토콜별로 구분하여 저장하고 수신되는 프로토콜별 패킷 량을 카운트하는 제 2과정과,상기 카운트 값을 사용하여 프로토콜별 패킷 량을 비교하는 제 3과정과,상기 비교 결과에 따라 수신 량이 적은 프로토콜의 패킷을 저장하기 위한 버퍼의 크기를 감소시키고, 수신 량이 많은 프로토콜의 패킷을 저장하기 위한 버퍼의 크기를 증가시키는 제 4과정을 포함함을 특징으로 하는 패킷 처리 방법.
- 삭제
- 제 13항에 있어서, 상기 제 3과정의 비교는 소정의 임계값을 비교의 기준 값으로 하여 이루어짐을 특징으로 하는 패킷 처리 방법.
- 제 15항에 있어서, 상기 임계값은 상기 버퍼들의 크기 및 수신되는 각 프로토콜 별 패킷 량의 변화에 따라 결정됨을 특징으로 하는 패킷 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040001009A KR100552515B1 (ko) | 2004-01-07 | 2004-01-07 | 패킷 처리 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040001009A KR100552515B1 (ko) | 2004-01-07 | 2004-01-07 | 패킷 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050072642A KR20050072642A (ko) | 2005-07-12 |
KR100552515B1 true KR100552515B1 (ko) | 2006-02-14 |
Family
ID=37261994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040001009A KR100552515B1 (ko) | 2004-01-07 | 2004-01-07 | 패킷 처리 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100552515B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100761935B1 (ko) * | 2006-11-10 | 2007-09-28 | (재)대구경북과학기술연구원 | 모바일 애드혹 네트워크에서 동적인 패킷 버스팅을 이용한혼잡 제어 장치 및 방법 |
KR100798926B1 (ko) | 2006-12-04 | 2008-01-29 | 한국전자통신연구원 | 패킷 스위치 시스템에서의 패킷 포워딩 장치 및 방법 |
KR100826911B1 (ko) | 2006-12-08 | 2008-05-06 | 한국전자통신연구원 | 광-동축 혼합망에서 케이블 모뎀의 하향 패킷 처리 방법 및장치 |
KR100912545B1 (ko) | 2007-09-21 | 2009-08-18 | 한국전자통신연구원 | 패킷 처리 장치 및 방법 |
-
2004
- 2004-01-07 KR KR1020040001009A patent/KR100552515B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050072642A (ko) | 2005-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI110987B (fi) | Menetelmä tiedonsiirtovirtausten kytkemiseksi | |
KR100886551B1 (ko) | 이동통신시스템에서 인터넷 프로토콜 버전에 따른 트래픽플로우 탬플릿 패킷 필터링 장치 및 방법 | |
FI107674B (fi) | Menetelmä tiedonsiirron optimoimiseksi pakettikytkentäisessä langattomassa tiedonsiirtojärjestelmässä | |
FI107770B (fi) | PDP-kontekstien hallinta matkaviestimessä | |
US8036108B2 (en) | Method and apparatus for providing gateway to transmit IPv6 packet in a wireless local area network system | |
US6643292B2 (en) | Efficient packet data transport mechanism and an interface therefor | |
US7742412B1 (en) | Method and apparatus for preventing head of line blocking in an ethernet system | |
GB2341059A (en) | Internet protocol flow detection | |
US11582143B2 (en) | Techniques for policy management of multi-connectivity network protocols | |
JP5018457B2 (ja) | データ送受信装置、保守管理データ挿入抽出装置、保守管理データ挿入抽出プログラムおよび保守管理データ挿入抽出方法 | |
GB2391765A (en) | Physically separate user and control plane processing devices for use in congestion control in a w-cdma system | |
EP0685951B1 (en) | Line interface devices for fast-packet networks | |
JP2001168915A (ja) | Ipパケット転送装置 | |
CN113543234A (zh) | 端口资源预留方法、电子设备及存储介质 | |
GB2386282A (en) | Allocating shared resources in a packet data communications network | |
KR100552515B1 (ko) | 패킷 처리 장치 및 방법 | |
US20010052025A1 (en) | Router setting method and router setting apparatus | |
US20060088059A1 (en) | Apparatus and method for processing data in a communication system | |
KR100341880B1 (ko) | 포트번호를 이용한 아이피주소 공유장치 | |
US20040090946A1 (en) | System and method for multi-accessing radio communication data call | |
JP2000244524A (ja) | ネットワークシステム、信号送受信装置及びネットワーク資源予約方法 | |
EP3534586B1 (en) | Techniques for interaction between network protocols | |
US7957420B2 (en) | Packet transfer method and packet transfer node | |
JP4082112B2 (ja) | 半導体回路デバイス及びパケット処理方法 | |
WO1999023794A1 (en) | Method and apparatus for end-system bandwidth notification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20130130 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140128 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160128 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |