KR100778347B1 - 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법 - Google Patents

분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법 Download PDF

Info

Publication number
KR100778347B1
KR100778347B1 KR1020060123335A KR20060123335A KR100778347B1 KR 100778347 B1 KR100778347 B1 KR 100778347B1 KR 1020060123335 A KR1020060123335 A KR 1020060123335A KR 20060123335 A KR20060123335 A KR 20060123335A KR 100778347 B1 KR100778347 B1 KR 100778347B1
Authority
KR
South Korea
Prior art keywords
tunnel
interface
source
information
tunnel source
Prior art date
Application number
KR1020060123335A
Other languages
English (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 KR1020060123335A priority Critical patent/KR100778347B1/ko
Application granted granted Critical
Publication of KR100778347B1 publication Critical patent/KR100778347B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 터널 인터페이스를 이용해 IPv6 패킷을 IPv4 패킷으로 캡슐화하여 전송하는 터널 기술을 갖는 분산형 IPv6 라우터에서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블을 이용하여 디캡슐레이션에 필요한 터널 소스 정보를 관리함으로써, 효율적으로 패킷을 터널링할 수 있도록 하기 위한, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치에 있어서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블; 운용자로부터 입력받은 터널 인터페이스 설정 정보(명령어)를 파싱한 후 트리 형태의 터널 인터페이스 정보를 생성하기 위한 운용 명령어 처리수단; 상기 운용 명령어 처리수단으로부터 전달받은 터널 인터페이스 정보를 이벤트 형태로 터널 소스 정보 관리수단으로 전달하기 위한 인터페이스 관리수단; 및 상기 인터페이스 관리수단으로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출하여 상기 관리 테이블을 갱신하기 위한 상기 터널 소스 정보 관리수단을 포함함.
4. 발명의 중요한 용도
본 발명은 분산형 IPv6 라우터 등에 이용됨.
IPv6 라우터, 터널링, 포워딩 프로세서 보드, 인터페이스 식별자, 포워딩 서버, 터널 소스 정보

Description

분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법{Apparatus and method for managing tunnel source information in IPv6 having decentralization style}
도 1 은 본 발명이 적용되는 분산형 IPv6 라우터의 일실시예 구성도,
도 2 는 본 발명에 따른 분산형 IPv6 라우터의 터널 소스 정보 관리 장치에 대한 일실시예 구성도,
도 3 은 본 발명에 따른 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 대한 일실시예 흐름도,
도 4 는 본 발명에 따른 터널 인터페이스 추가 과정에 대한 일실시예 흐름도,
도 5 는 본 발명에 따른 터널 인터페이스 삭제 과정에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
21 : 운용 명령어 처리기 22 : 인터페이스 관리기
23 : 포워딩 서버 24 : 입력 포워딩 프로세서 보드
25 : 출력 포워딩 프로세서 보드
241, 251 : 포워딩 테이블 관리 블록
242, 252 : 전처리기 디바이스 드라이버
243, 253 : 터널 소스 테이블
본 발명은 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 터널 인터페이스를 이용해 IPv6 패킷을 IPv4 패킷으로 캡슐화하여 전송하는 터널 기술을 갖는 분산형 IPv6 라우터에서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블을 이용하여 디캡슐레이션에 필요한 터널 소스 정보를 관리함으로써, 효율적으로 패킷을 터널링할 수 있도록 하기 위한, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법에 관한 것이다.
일반적으로, IPv4(Internet Protocol version 4) 주소를 사용하는 네트워크를 IPv6(Internet Protocol version 6) 주소를 사용하는 네트워크로 전환하기 위해, IPv4 라우터를 IPv6 라우터로 모두 대체하는 것은 경제적인 부담뿐만 아니라, 호환성 문제를 유발할 수 있기 때문에, IPv4/IPv6 듀얼 스택(Dual Stack)을 이용하여 IPv4 서비스 및 IPv6 서비스가 가능하도록 구성한다.
그 외에 IPv6 주소를 갖는 서비스를 IPv4 망에서 전달하기 위한 방법으로, IPv6 패킷의 주소를 중간에서 변경하는 주소 전환 방법과, IPv6 주소를 사용하는 패킷에 IPv4 헤더를 삽입하여 전달하는 터널링 기술이 있다.
특히, 터널링 기술은, 종단 단말은 IPv6 주소를 이용하여 패킷을 전달하고, IPv4 망을 지나가야 하는 경계 라우터는 IPv4 패킷 헤더로 IPv6 패킷을 캡슐화(인캡슐화)하여 IPv4 망 내에서 IPv4 패킷과 똑같이 라우터에서 처리되도록 하고, 목적지에 가까운 IPv4 망의 경계 라우터는 다시 IPv6 망으로 패킷을 전달하기 위해 IPv4 헤더를 달고 전달된 IPv6 패킷에서 IPv4 헤더를 제거(디캡슐화)한 후 IPv6 망으로 전달한다.
이때, 터널을 인캡슐화하는 라우터와 터널을 디캡슐화하는 라우터는 운용자로부터 입력받은 정보에 따라 인캡슐화 및 디캡슐화 과정을 수행한다. 즉, 운용자는 터널 인터페이스에 터널 종류, IPv4 망에서 사용할 소스 주소와, 상대편 터널 인터페이스의 소스 주소를 의미하는 종착지 주소를 설정한다.
또한, IPv6 망과의 상호 호환을 위해 터널 인터페이스에 IPv6 인터페이스 주소를 설정하는데, 이때 IPv6 인터페이스 주소는 터널링 과정에서 IPv4 헤더에 쌓여 전달되기 때문에 IPv6 패킷을 전달만 하는 중간 라우터에 필요하지 않고, 중간에 IPv4망을 갖는 양단 IPv6 네트워크 간 라우팅 프로토콜을 운용하는데 필요하다.
한편, 다수의 패킷 포워딩 프로세서 보드, 및 라우팅 프로토콜과 운용 관리에 필요한 기능을 갖는 어플리케이션 프로세서 보드로 이루어진 분산 구조를 갖는 IPv6 라우터에서, 패킷 전달을 위한 포워딩 프로세서 보드는 패킷에 대한 전처리와 포워딩 처리가 분리되며, 수신된 패킷은 경로 선택을 위해 포워딩 테이블을 거치고, IPv6 라우팅 내에서 패킷 전달은 스위치(Switch)를 통해 이루어진다.
이러한 분산 구조를 갖는 IPv6 라우터는 터널링 정보를 별도로 관리하지 않기 때문에, 터널링 정보가 모든 포워딩 프로세서 보드로 전달되지 않아 하나 이상의 포워딩 프로세서 보드에서 동일한 터널링 정보를 유지할 수 없어 효율적으로 패킷을 터널링할 수 없는 문제점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 터널 인터페이스를 이용해 IPv6 패킷을 IPv4 패킷으로 캡슐화하여 전송하는 터널 기술을 갖는 분산형 IPv6 라우터에서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블을 이용하여 디캡슐레이션에 필요한 터널 소스 정보를 관리함으로써, 효율적으로 패킷을 터널링할 수 있도록 하기 위한, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 장치는, 분산형 IPv6 라우터의 터널 소스 정보 관리 장치에 있어서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블; 운용자로부터 입력받은 터널 인터페이스 설정 정보(명령어)를 파싱한 후 트리 형태의 터널 인터페이스 정보를 생성하기 위한 운용 명령어 처리수단; 상기 운용 명령어 처리수단으로부터 전달받은 터널 인터페이스 정보를 이벤트 형태로 터널 소스 정보 관리수단으로 전달하기 위한 인터페이스 관리수단; 및 상기 인터페이스 관리수단으로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출하여 상기 관리 테이블을 갱신하기 위한 상기 터널 소스 정보 관리수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 있어서, 터널 인터페이스 추가 이벤트를 입력받음에 따라 상기 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후 상기 관리 테이블에 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하는지 확인하는 단계; 상기 확인 결과, 존재하지 않으면 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가한 후 새로 추가된 터널 소스 엔트리를 각 포워딩 프로세서 보드로 전달하는 단계; 및 상기 확인 결과, 존재하면 터널 소스 주소를 인덱스로 하는 해당 엔트리를 찾아 터널 인터페이스 식별자 리스트에 해당 터널 인터페이스 식별자를 추가하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 방법은, 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 있어서, 터널 인터페이스 삭제 이벤트를 입력받음에 따라 상기 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후 해당 터널 인터페이스 식별자 이외에 다른 터널 인터페이스 식별자가 상기 관리 테이블에 존재하는지 확인하는 단계; 상기 확인 결과, 존재하면 해당 터널 인터페이스 식별자만 관리 테이블에서 삭제하는 단계; 및 상기 확인 결과, 존재하지 않으면 상기 관리 테이블에서 엔트리를 삭제하고 터널 소스 이벤트를 생성하여 각 포워딩 프로세서 보드로 전달하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 포워딩 서버에서 터널 인터페이스 정보를 관리하기 위해서는 터널 인터페이스에 대한 식별정보와 터널 소스 주소를 이용해 테이블을 만들고, 포워딩 프로세서로 터널 소스 정보를 전달하여 관리하고 메모리를 찾아가기 위한 터널 인덱스를 할당하고, 터널 소스 주소를 연결하여 관리함으로써, 여러 개의 터널 인터페이스가 동일한 터널 소스 주소를 사용했을 때, 특정 터널 인터페이스가 삭제되더라도, 다른 터널 연결에 영향을 미치지 않는다.
또한, 본 발명은 분산 구조를 갖는 IPv6 라우터에서 터널링 정보를 모든 포워딩 프로세서 보드로 전달함으로써, 패킷 처리가 원활하게 이루어질 수 있도록 소프트웨어 블록에서 터널링 정보를 관리한다.
또한, 본 발명은 IPv6 라우터에서 터널 인터페이스와 터널 정보를 최적으로 관리함으로써, 동적으로 변할 수 있는 터널 인터페이스 정보를 수용할 수 있는 구 조를 갖고 분산된 하나 이상의 포워딩 프로세서 보드에서 동일한 터널링 정보를 유지할 수 있도록 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1 은 본 발명이 적용되는 분산형 IPv6 라우터의 일실시예 구성도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 분산형 IPv6 라우터는, 어플리케이션 프로세서 보드(11)와 다수의 포워딩 프로세서 보드(12, 13) 및 스위치 보드(14)를 포함한다. 여기서, 설명의 편의를 위해 입력 및 출력을 위한 두 개의 포워딩 프로세서 보드만을 도시하였으나, 사용 목적에 따라 상기 포워딩 프로세서 보드의 수가 결정될 수 있다.
이를 좀 더 상세히 살펴보면, 먼저 어플리케이션 프로세서 보드(11)는 라우팅 기능을 수행하며, 해당 라우터를 종착지로 하는 패킷에 대한 처리 및 해당 라우터를 발신지로 하는 패킷에 대한 처리를 수행하기 위한 포워딩 처리기(111)를 포함한다.
인캡슐화된 패킷에서 터널 헤더(173) 및 L2 헤더(174)를 제거하기 위한 입력 위치의 포워딩 프로세서 보드(12)는 패킷 전처리기(123), 포워딩 처리기(124), 하드웨어 메모리에 저장된 터널 소스 테이블(121), 및 포워딩 테이블(123)을 포함한다.
포워딩 프로세서 보드(12)에서 터널 헤더(173) 및 L2 헤더(174)가 제거된 패킷에 새로운 L2 헤더(181)를 추가하기 위한 출력 위치의 포워딩 프로세서 보드(13)는, 연결테이블(131), 이웃 정보 테이블(132)을 구비하여 포워딩 처리기(133)와 패킷후처리기(134)가 참조하게 구성한다.
스위치 보드(14)는 IPv6 라우터 내에 다수의 포워딩 프로세서 보드(12, 13)가 존재하는데, 패킷을 입력받은 포워딩 프로세서 보드(12)가 패킷이 출력되는 포워딩 프로세서 보드(13)와 동일하지 않을 경우 패킷의 내부 전달을 위해 구성한다.
이하, 분산형 IPv6 라우터에서 터널링된 패킷의 디캡슐화 과정에 대해 살펴보기로 한다.
먼저, 패이로드(171), L3 헤더(172), 터널 헤더(173) 및 L2 헤더(174)를 갖는 IPv6 패킷이 패킷 전처리기(123)로 입력되면, 상기 패킷 전처리기(123)는 터널 헤더(173)에 삽입되어 있는 소스 주소를 확인한 후 터널 소스 테이블(121)을 이용하여 디캡슐화 여부를 결정한다.
이후, 터널링된 패킷임이 판명되면, 디캡슐화를 거쳐 패이로드(171)와 L3 헤더(172)만을 갖는 패킷을 포워딩 처리기(124)로 전달한다.
그러면, 포워딩 처리기(124)는 포워딩 테이블(122)을 이용하여 전달받은 디캡슐화된 IPv6 패킷을 출력 포워딩 프로세서 보드(13)로 전달한다. 이때, 스위 치(14)를 이용한다.
이후, 상기 스위치(14)를 통해 패이로드(171)와 L3 헤더(172)를 갖는 패킷을 전달받은 출력 포워딩 프로세서 보드(13)는 연결 테이블(131) 및 이웃 정보 테이블(132)을 이용하여 L2 헤더(181)를 삽입한 후 패킷후처리기(134)를 통해 다음 라우터로 전달한다.
도 2 는 본 발명에 따른 분산형 IPv6 라우터의 터널 소스 정보 관리 장치에 대한 일실시예 구성도이다.
도 2에 도시된 바와 같이, 본 발명에 따른 분산형 IPv6 라우터의 터널 소스 정보 관리 장치는, 운용자로부터 입력받은 터널 인터페이스 설정 정보(명령어)를 파싱한 후 트리 형태의 터널 인터페이스 정보를 생성하여 인터페이스 관리기(22)로 전달하기 위한 운용 명령어 처리기(21), 상기 운용 명령어 처리기(21)로부터 전달받은 터널 인터페이스 정보를 이벤트 형태로 포워딩 서버(23)로 전달하기 위한 인터페이스 관리기(22), 및 상기 인터페이스 관리기(22)로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블에, 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하는지 확인하여, 존재하지 않으면 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가하고, 존재하면 터널 소스 주소를 인덱스로 하는 해당 엔트리를 찾아 터널 인터페이스 식별자 리스트에 해당 터널 인터페이스 식별자를 추가하기 위한 포워딩 서버(23)를 포 함한다.
여기서, 상기 포워딩 서버(23)는 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하지 않음에 따라 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가하고 이를 각 포워딩 프로세서 보드로 전달한다.
또한, 상기 포워딩 서버(23)는 각 포워딩 프로세서 보드(24, 25)가 리부팅할 경우, 포워딩 테이블 관리 블록(241, 251)으로부터 라우팅 엔트리의 다운로드를 요청받아 전체 터널 소스 엔트리의 다운로드를 제공한다.
그러면, 각 포워딩 프로세서 보드의 포워딩 테이블 관리 블록(241, 251)은 포워딩 서버(23)로부터 전달받은 터널 인덱스 정보와 터널 소스 주소 정보를 이용하여, 터널링 판별용 터널 소스 테이블(243, 253)을 갱신한다.
이때, 전처리기 디바이스 드라이버(242, 252)는 상기 포워딩 테이블 관리 블록(241, 251)이 직접 하드웨어 메모리(터널 소스 테이블)에 접근할 수 없기 때문에, 함수를 통해 호출이 되도록 한다. 즉, 포워딩 테이블 관리 블록(241, 251)이 터널 소스 테이블(243, 253)에 실제 접근할 수 있도록 한다.
여기서, 터널 소스 테이블(243, 253)은 상기 포워딩 서버(23)로부터 처음 만들어진 터널 인덱스 정보와 운용자 명령에 의해 입력된 터널 소스 주소 정보를 포함한다.
한편, 라우팅 서버(도면에는 도시되어 있지 않음)는 라우팅 프로토콜에 의해 또는 새로운 인터페이스를 추가함에 따라 발생하는 새로운 고정 라우팅 엔트리를 추가할 때, 라우팅 정보를 정리해서 상기 포워딩 서버(23)로 전달하고, 상기 포워딩 서버(23)는 라우팅 서버로부터 받은 라우팅 정보를 상기 포워딩 프로세서 보드(24, 25)로 동기를 맞춰 전달한다.
도 3 은 본 발명에 따른 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 대한 일실시예 흐름도이다.
먼저, 운용 명령어 처리기(21)가 운용자로부터 입력받은 터널 인터페이스 설정 정보를 파싱한 후 트리 형태의 터널 인터페이스 정보를 생성하여 인터페이스 관리기(22)로 전달한다(301, 302).
그러면, 인터페이스 관리기(22)가 운용 명령어 처리기(22)로부터 전달받은 터널 인터페이스 정보를 이벤트 형태로 포워딩 서버(23)로 전달한다(303).
이후, 포워딩 서버(23)는 인터페이스 관리기(22)로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블에, 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하지 않음에 따라 새로운 테이블 엔트리를 만들고, 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 소스 엔트리에 추가한다(304).
이때, 동일한 터널 소스 주소를 사용하는 터널이 있으면, 터널 소스 주소를 인덱스로 하는 해당 엔트리를 찾아 터널 인터페이스 식별자 리스트에 해당 터널 인터페이스 식별자를 추가한다. 여기서, 터널 인터페이스 추가 및 삭제 과정은 하기의 도 4 및 도 5를 통해 상세히 기술하기로 한다.
이후, 포워딩 서버(23)가 새로 추가된 터널 소스 엔트리를 "터널 소스 엔트리 추가 요청 이벤트"를 이용해 포워딩 테이블 관리 블록(301)에 전달한다(305).
그러면, 포워딩 테이블 관리 블록(301)은 포워딩 서버(23)로부터 전달받은 터널 소스 엔트리를 터널 소스 엔트리 추가 함수를 통해 전처리기 디바이스 드라이버(302)로 전달한다(306).
이후, 전처리기 디바이스 드라이버(302)는 전달받은 새로운 터널 소스 엔트리를 이용하여 하드웨어 메모리에 있는 터널 소스 테이블(303)을 갱신한다(307).
한편, 각 포워딩 프로세서 보드(24, 25)가 리부팅할 경우, 포워딩 테이블 관리 블록(241, 251)은 포워딩 서버(23)로 라우팅 엔트리의 다운로드를 요청하여 전체 터널 소스 엔트리를 다운로드 받은 후, 이를 이용하여 터널 소스 테이블(243, 253)에 추가/갱신한다.
그러면, 각 포워딩 프로세서 보드의 포워딩 테이블 관리 블록(241, 251)은 포워딩 서버(23)로부터 전달받은 터널 인덱스 정보와 터널 소스 주소 정보를 이용하여, 터널링 판별용 터널 소스 테이블(243, 253)을 갱신한다.
도 4 는 본 발명에 따른 터널 인터페이스 추가 과정에 대한 일실시예 흐름도이다.
먼저, 포워딩 서버(23)는 인터페이스 관리기(22)로부터 터널 인터페이스 추가 이벤트를 받음에 따라(401), 관리 테이블에 이미 존재하는 터널 소스 주소인지를 확인한다(402).
상기 확인 결과(402), 존재하면 관리 테이블의 인터페이스 식별자 목록에 해 당 터널 인터페이스 식별자를 추가한다(403)
상기 확인 결과(402), 존재하지 않으면 터널 인덱스를 할당하고(404), 할당받은 터널 인덱스와, 터널 소스 주소, 해당 터널 인터페이스 식별자를 이용해 관리 테이블에 엔트리를 추가한다(405).
이후, 터널 소스 추가 이벤트를 생성하여 모든 포워딩 프로세서 보드로 전달한다(406).
이후, 상기 이벤트를 받은 포워딩 테이블 관리 블록이 터널 소스 정보를 하드웨어 메모리에 기록한다(407).
도 5 는 본 발명에 따른 터널 인터페이스 삭제 과정에 대한 일실시예 흐름도이다.
터널 소스 주소는 여러 개의 터널 인터페이스에서 공통으로 사용 가능함으로 특정 터널 인터페이스를 지웠다고 해서, 모든 터널 테이블에서 삭제가 일어나면 안 된다. 따라서 다음과 같은 과정을 거치게 된다.
먼저, 포워딩 서버(23)가 터널 인터페이스 삭제 이벤트를 받아(501), 해당 터널 인터페이스 식별자 이외에 다른 터널 인터페이스 식별자가 관리 테이블에 존재하는지 확인한다(502).
상기 확인 결과(502), 존재하면 해당 터널 인터페이스 식별자만 관리 테이블에서 삭제한다(503),
상기 확인 결과(502), 존재하지 않으면, 관리 테이블에서 엔트리를 삭제하고(504), 터널 소스 이벤트를 생성하여 모든 포워딩 프로세서 보드로 전달한 다(505).
이후, 이벤트 전달이 완료됨에 따라 터널 인덱스를 반환한다(506).
이후, 포워딩 프로세서 보드의 각 포워딩 테이블 관리 블록은 하드웨어 메모리(터널 소스 테이블)에서 해당 터널 소스 정보를 삭제한다(507).
상술한 바와 같은 본 발명은 터널 인터페이스 정보를 운용자의 입력에 의해 추가 혹은 삭제가 발생하였을 경우, 포워딩 서버에서 두 가지 별개의 터널 테이블을 소프트웨어 적으로 관리하게 되는데, 하나는 여러 개의 터널 인터페이스가 동일한 터널 소스 주소를 사용할 수 있음으로 터널 소스 주소를 인덱스로 하고 터널 인터페이스 인덱스를 리스트로 두는 테이블을 관리하고, 다른 하나는 하드웨어 메모리에 쓰기위한 터널 인덱스 정보와 터널 소스 주소를 이용해 관리하는 테이블이다. 따라서, 터널링 된 패킷이 라우팅 시스템의 입력 단에 있는 포워딩 프로세서 보드에 도달 했을때, 패킷 전처리기에서 터널 소스 테이블을 참조하여, 만약 터널 소스 테이블에 존재하면, 디캡슐화 과정을 거쳐 IPv4 헤더는 제거하고 IPv6 패킷 형태로 패킷 처리기로 보내게 된다. 따라서 이러한 과정을 거치게 됨으로써 동일한 터널 소스 주소를 여러 개의 터널에서 사용하는 것이 가능하며, 동시에 전처리기에서 하드웨어적으로 터널 정보를 이해하고 디캡슐화 과정을 거침으로 포워딩 속도 면에서도 개선이 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상 의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은, 터널 인터페이스를 이용해 IPv6 패킷을 IPv4 패킷으로 캡슐화하여 전송하는 터널 기술을 갖는 분산형 IPv6 라우터에서, 터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블을 이용하여 디캡슐레이션에 필요한 터널 소스 정보를 관리함으로써, 효율적으로 패킷을 터널링할 수 있도록 하는 효과가 있다.
또한, 본 발명은 터널링 기능을 갖는 IPv6 라우터에서 터널 인터페이스 정보를 관리함에 있어, 터널 인터페이스 인덱스 리스트를 이용하여, 여러 개의 터널 인터페이스가 동일한 터널 소스 주소를 갖도록 함으로써, 주소 사용의 개선이 있으며, 터널 인덱스와 터널 소스 주소를 이용하여 하드웨어 메모리에 기록함으로 인해 패킷 전처리기에서 터널링된 정보를 구분하여 디캡슐화 과정을 수행할 수 있도록 하여 패킷 처리 지연을 줄일 수 있는 효과가 있다.

Claims (10)

  1. 분산형 IPv6 라우터의 터널 소스 정보 관리 장치에 있어서,
    터널 소스 주소를 인덱스로 하고 터널 인덱스와 터널 인터페이스 식별자를 값으로 가지는 관리 테이블;
    운용자로부터 입력받은 터널 인터페이스 설정 정보(명령어)를 파싱한 후 트리 형태의 터널 인터페이스 정보를 생성하기 위한 운용 명령어 처리수단;
    상기 운용 명령어 처리수단으로부터 전달받은 터널 인터페이스 정보를 이벤트 형태로 터널 소스 정보 관리수단으로 전달하기 위한 인터페이스 관리수단; 및
    상기 인터페이스 관리수단으로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출하여 상기 관리 테이블을 갱신하기 위한 상기 터널 소스 정보 관리수단
    을 포함하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  2. 제 1 항에 있어서,
    상기 터널 소스 정보 관리수단은,
    상기 인터페이스 관리수단으로부터 전달받은 이벤트 형태의 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후 상기 관리 테이블에 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하는지 확인하여, 존 재하지 않으면 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가하고, 존재하면 터널 소스 주소를 인덱스로 하는 해당 엔트리를 찾아 터널 인터페이스 식별자 리스트에 해당 터널 인터페이스 식별자를 추가하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  3. 제 2 항에 있어서,
    상기 터널 소스 정보 관리수단은,
    상기 관리 테이블에 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하지 않음에 따라 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가하여 각 포워딩 프로세서 보드로 전달하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 터널 소스 정보 관리수단은,
    터널 인터페이스 삭제 이벤트를 받음에 따라 해당 터널 인터페이스 식별자 이외에 다른 터널 인터페이스 식별자가 상기 관리 테이블에 존재하는지 확인하여, 존재하면 해당 터널 인터페이스 식별자만 관리 테이블에서 삭제하고, 존재하지 않으면 상기 관리 테이블에서 엔트리를 삭제하고 터널 소스 이벤트를 생성하여 각 포워딩 프로세서 보드로 전달하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  5. 제 4 항에 있어서,
    상기 포워딩 프로세서 보드는,
    상기 터널 소스 정보 관리수단으로부터 전달받은 터널 인덱스 정보와 터널 소스 주소 정보를 이용하여, 터널링 판별용 터널 소스 테이블을 갱신하기 위한 포워딩 테이블 관리 블록; 및
    상기 포워딩 테이블 관리 블록의 터널 소스 테이블 갱신시 함수를 제공하기 위한 전처리기 디바이스 드라이버
    를 포함하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  6. 제 5 항에 있어서,
    상기 포워딩 테이블 관리 블록은,
    상기 포워딩 프로세서 보드가 리부팅할 경우, 상기 터널 소스 정보 관리수단 으로 라우팅 엔트리의 다운로드를 요청하여 전체 터널 소스 엔트리를 다운로드 받아 상기 터널링 판별용 터널 소스 테이블을 갱신하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 장치.
  7. 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 있어서,
    터널 인터페이스 추가 이벤트를 입력받음에 따라 상기 터널 인터페이스 정보에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후 상기 관리 테이블에 동일한 터널 소스 주소를 사용하는 터널 인터페이스가 존재하는지 확인하는 단계;
    상기 확인 결과, 존재하지 않으면 새로운 테이블 엔트리를 만들고 터널 인덱스를 할당한 후 터널 인터페이스 식별자 정보와 함께 터널 엔트리에 추가한 후 새로 추가된 터널 소스 엔트리를 각 포워딩 프로세서 보드로 전달하는 단계; 및
    상기 확인 결과, 존재하면 터널 소스 주소를 인덱스로 하는 해당 엔트리를 찾아 터널 인터페이스 식별자 리스트에 해당 터널 인터페이스 식별자를 추가하는 단계
    를 포함하는 분산형 IPv6 라우터의 터널 소스 정보 관리 방법.
  8. 분산형 IPv6 라우터의 터널 소스 정보 관리 방법에 있어서,
    터널 인터페이스 삭제 이벤트를 입력받음에 따라 상기 터널 인터페이스 정보 에서 터널 인터페이스 식별자와 터널 소스 주소를 추출한 후 해당 터널 인터페이스 식별자 이외에 다른 터널 인터페이스 식별자가 상기 관리 테이블에 존재하는지 확인하는 단계;
    상기 확인 결과, 존재하면 해당 터널 인터페이스 식별자만 관리 테이블에서 삭제하는 단계; 및
    상기 확인 결과, 존재하지 않으면 상기 관리 테이블에서 엔트리를 삭제하고 터널 소스 이벤트를 생성하여 각 포워딩 프로세서 보드로 전달하는 단계
    를 포함하는 분산형 IPv6 라우터의 터널 소스 정보 관리 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 포워딩 프로세서 보드는,
    상기 터널 소스 정보 관리수단으로부터 전달받은 터널 인덱스 정보와 터널 소스 주소 정보를 이용하여, 터널링 판별용 터널 소스 테이블을 갱신하기 위한 포워딩 테이블 관리 블록; 및
    상기 포워딩 테이블 관리 블록의 터널 소스 테이블 갱신시 함수를 제공하기 위한 전처리기 디바이스 드라이버
    를 포함하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 방법.
  10. 제 9 항에 있어서,
    상기 포워딩 테이블 관리 블록은,
    상기 포워딩 프로세서 보드가 리부팅할 경우, 상기 터널 소스 정보 관리수단으로 라우팅 엔트리의 다운로드를 요청하여 전체 터널 소스 엔트리를 다운로드 받아 상기 터널링 판별용 터널 소스 테이블을 갱신하는 것을 특징으로 하는 분산형 IPv6 라우터의 터널 소스 정보 관리 방법.
KR1020060123335A 2006-12-06 2006-12-06 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법 KR100778347B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060123335A KR100778347B1 (ko) 2006-12-06 2006-12-06 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060123335A KR100778347B1 (ko) 2006-12-06 2006-12-06 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법

Publications (1)

Publication Number Publication Date
KR100778347B1 true KR100778347B1 (ko) 2007-11-22

Family

ID=39080417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060123335A KR100778347B1 (ko) 2006-12-06 2006-12-06 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법

Country Status (1)

Country Link
KR (1) KR100778347B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912299B1 (ko) 2007-12-10 2009-08-17 한국전자통신연구원 IPv4 /IPv6 통합망에서의 데이터 포워딩 방법
CN101540712B (zh) * 2008-03-20 2011-04-20 大唐移动通信设备有限公司 一种分配隧道端点标识的方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050057886A (ko) * 2003-12-11 2005-06-16 한국전자통신연구원 IPv4/IPv6 터널 브로커 시스템
KR20050064630A (ko) * 2003-12-24 2005-06-29 한국전자통신연구원 다자간 회의 기능 제공을 위한 듀얼스택 ip 멀티캐스트응용 게이트웨이
KR20050065989A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 터널 인터페이스 정보를 관리하는 망 관리 방법 및 시스템
KR20050074998A (ko) * 2002-11-13 2005-07-19 톰슨 라이센싱 에스.에이. 네트워크 주소 변환 메카니즘을 통한 6to4 터널링프로토콜을 지원하기 위한 방법 및 장치
KR20060082460A (ko) * 2005-01-12 2006-07-18 삼성전자주식회사 네트워크 프로세서의 패킷 포워딩 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050074998A (ko) * 2002-11-13 2005-07-19 톰슨 라이센싱 에스.에이. 네트워크 주소 변환 메카니즘을 통한 6to4 터널링프로토콜을 지원하기 위한 방법 및 장치
KR20050057886A (ko) * 2003-12-11 2005-06-16 한국전자통신연구원 IPv4/IPv6 터널 브로커 시스템
KR20050064630A (ko) * 2003-12-24 2005-06-29 한국전자통신연구원 다자간 회의 기능 제공을 위한 듀얼스택 ip 멀티캐스트응용 게이트웨이
KR20050065989A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 터널 인터페이스 정보를 관리하는 망 관리 방법 및 시스템
KR20060082460A (ko) * 2005-01-12 2006-07-18 삼성전자주식회사 네트워크 프로세서의 패킷 포워딩 장치 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912299B1 (ko) 2007-12-10 2009-08-17 한국전자통신연구원 IPv4 /IPv6 통합망에서의 데이터 포워딩 방법
CN101540712B (zh) * 2008-03-20 2011-04-20 大唐移动通信设备有限公司 一种分配隧道端点标识的方法和设备

Similar Documents

Publication Publication Date Title
US10938748B2 (en) Packet processing method, computing device, and packet processing apparatus
US11929945B2 (en) Managing network traffic in virtual switches based on logical port identifiers
US10003571B2 (en) Method and apparatus for implementing communication between virtual machines
JP4481517B2 (ja) インターネットワーク装置及びインターネットワーク方法
JP5915454B2 (ja) ネットワークシステム
EP2869509B1 (en) Method, apparatus, and system for processing data packet
CN108768895B (zh) 一种虚拟机迁移的方法及数据中心
CN106992915B (zh) 一种报文解封装处理、数据写入方法及装置
CN108429680B (zh) 一种基于虚拟私有云的路由配置方法、系统、介质及设备
CN106878199B (zh) 一种接入信息的配置方法和装置
CN104601468A (zh) 报文转发方法和设备
JP2007142648A (ja) 通信方法、移動エージェント装置、及びホームエージェント装置
US10454882B2 (en) DHCP in layer-3 overlay with anycast address support and network address transparency
CN111988223B (zh) 虚拟机迁移方法与网络系统
CN104796338A (zh) 虚拟机迁移方法及装置
EP3425860B1 (en) Tunnel type selection methods and apparatuses
JP4111968B2 (ja) マルチキャスティングのためのトンネリング方法及びトンネリング装置
EP3029894A1 (en) Packet processing method, device and system
KR100778347B1 (ko) 분산형 IPv6 라우터의 터널 소스 정보 관리 장치 및 그방법
KR20160114401A (ko) LISP 네트워크 환경에서 IPv4-IPv6 서비스 전환 방법 및 LISP 네트워크 시스템
CN102394817A (zh) 一种隧道转发方法、装置及网络设备
CN114827057B (zh) 通信方法以及通信系统
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
EP4027592A1 (en) Packet processing method and apparatus
CN108156066A (zh) 报文转发方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 20