KR100734883B1 - 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법 - Google Patents

분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법 Download PDF

Info

Publication number
KR100734883B1
KR100734883B1 KR1020060037750A KR20060037750A KR100734883B1 KR 100734883 B1 KR100734883 B1 KR 100734883B1 KR 1020060037750 A KR1020060037750 A KR 1020060037750A KR 20060037750 A KR20060037750 A KR 20060037750A KR 100734883 B1 KR100734883 B1 KR 100734883B1
Authority
KR
South Korea
Prior art keywords
information
forwarding
ipv6
external interface
router
Prior art date
Application number
KR1020060037750A
Other languages
English (en)
Other versions
KR20070061050A (ko
Inventor
강현주
김성혜
김태일
안윤영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR1020050120997 priority Critical
Priority to KR20050120997 priority
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060037750A priority patent/KR100734883B1/ko
Publication of KR20070061050A publication Critical patent/KR20070061050A/ko
Application granted granted Critical
Publication of KR100734883B1 publication Critical patent/KR100734883B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/60Details
    • H04L61/6018Address types
    • H04L61/6059Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements or network protocols for addressing or naming
    • H04L61/60Details
    • H04L61/6086Details involving dual-stack hosts, e.g. in internet protocol version 4 [IPv4]/ internet protocol version 6 [IPv6] networks

Abstract

본 발명은 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법에 관한 것으로, 보다 상세하게는 분산형 IPv4 기반 포워딩 라우터의 라인카드 커널에 IPv6 포워딩 정보 및 외부 인터페이스 정보를 소프트웨어적으로 구축하는 방법에 관한 것이다.
본 발명은 (a)분산형 IPv4 기반 라우터에서 라인카드의 초기 구동시에, 초기 IPv6 포워딩 정보와 초기 인터페이스 주소 정보를 설정하여 상기 초기 구동되는 라인카드의 동작 상태를 상기 라우터에 이미 존재하는 다른 라인카드와의 동작 상태와 동기화시키는 단계; (b)상기 동작 상태에서 신규 IPv6 포워딩 정보가 발생하는 경우, 상기 신규 포워딩 정보를 상기 라인카드의 커널(kernel) 또는 내부 메모리에 구축하는 단계; 및 (c)상기 라우터의 외부 망과의 인터페이스 주소 및 정보가 상기 라우터의 운용자에 의해 변경된 경우 그 변경 사항을 상기 커널 또는 내부 메모리에 구축하는 단계를 포함하여 본 발명의 목적 및 기술적 과제를 달성한다.

Description

분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법{Method for constructing IPv6 forwarding/interface information in distributed IPv4 based router}

도 1은 IPv6 포워딩 및 외부 인터페이스 기능의 구현을 위한 IPv6 라우터의 구성을 제시한 도면이다.

도 2는 IPv6 포워딩 기능 수행을 위한 소프트웨어 블록을 도시한 도면이다.

도 3은 본 발명의 바람직한 일 흐름을 제시한 것으로 라인카드의 최초 구동시에 초기 포워딩 정보와 인터페이스 주소 정보를 설정하는 절차를 도시한 도면이다.

도 4는 포워딩 정보가 추가 혹은 삭제되는 경우 등 포워딩 정보의 변경이 발생하는 경우에 처리 절차를 도시한 도면이다.

도 5a와 도 5b는 운용자가 설정한 인터페이스 주소 및 정보의 처리 절차를 도시한 도면이다.

본 발명은 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법에 관한 것 으로, 보다 상세하게는 분산형 IPv4 기반 포워딩 라우터의 라인카드 커널에 IPv6 포워딩 정보 및 외부 인터페이스 정보를 소프트웨어적으로 구축하는 방법에 관한 것이다.

현재, 라인카드를 다수개 구비하는 분산형 라우터 구조에서 IPv4(Internet Protocol ver. 4) 포워딩을 수행하는 라우터를 이용하여 IPv6 포워딩을 수행하기 위해서는 별도의 IPv6 포워딩을 위한 하드웨어를 구축해야 할 필요성이 제기된다. 즉, IPv6 주소 체계가 확정/확장됨에 따라 라우터가 IPv6 포워딩 기능을 수행하게 해야 하는데, 기존의 라우터는 IPv4를 위한 포워딩 엔진만이 하드웨어적으로 구비되어 있으므로 IPv6 포워딩의 구현이 용이하지 아니하다.

IPv6은 IPv4의 많은 단점을 보완하여 차세대 망에 적합하게 동작되도록 정의된 기능이기 때문에 단순 주소 확장만으로 IPv6 기능이 실현될 수 있는 것은 아니다. IPv6에 대한 완벽한 이해와 IPv6 망에서 발생될 수 있는 다양한 문제점들이 검증되지 아니한 상태 및 아직 IPv6 시장이 크게 형성되지 않는 상태에서 IPv6 포워딩 엔진을 하드웨어적으로 개발하게 된다면 상기 발생될 수 있는 문제점들에 대해 쉽게 대처할 수 없어서 많은 어려움의 발생이 예상된다.

본 발명은 상기한 문제점을 해결하기 위해 창안된 것으로, 본 발명의 목적 및 이루고자 하는 기술적 과제는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 소프트웨어적으로 구축하는 방법을 제공하는 것에 있다.

본 발명의 기술적 사상을 구체화하고 상기와 같은 목적 및 기술적 과제를 달성하기 위해 본 명세서에서 개시하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법은

(a)분산형 IPv4 기반 라우터에서 라인카드의 초기 구동시에, 초기 IPv6 포워딩 정보와 초기 인터페이스 주소 정보를 설정하여 상기 초기 구동되는 라인카드의 동작 상태를 상기 라우터에 이미 존재하는 다른 라인카드와의 동작 상태와 동기화시키는 단계; (b)상기 동작 상태에서 신규 IPv6 포워딩 정보가 발생하는 경우, 상기 신규 포워딩 정보를 상기 라인카드의 커널(kernel) 또는 내부 메모리에 구축하는 단계; 및 (c)상기 라우터의 외부 망과의 인터페이스 주소 및 정보가 상기 라우터의 운용자에 의해 변경된 경우 그 변경 사항을 상기 커널 또는 내부 메모리에 구축하는 단계를 포함하여 본 발명의 목적 및 기술적 과제를 달성한다.

본 발명이 제공하고자 하는 기술적 사상의 핵심은 IPv6 포워딩 및 외부 인터페이스 정보 기능을 소프트웨어적으로 처리하는 방안을 제시하는 것으로, 이를 위해 1)IP 플로우 기반의 품질 보장형 라우터에서 IPv6에 관한 추가 혹은 삭제 등의 변경된 포워딩 정보를 라인카드의 커널(kernel)에 반영하고 2)운용 기능에서 설정한 인터페이스 주소에 대한 변경을 커널에 반영하고 3)새로운 라인카드 추가시 다른 라인카드와의 동작 상태를 유지한 정보를 일치시키기는 것이다.

이하, 본 발명의 기술적 사상을 명확화하기 위한 발명의 구성을 본 발명의 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라 도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다.

도 1은 IPv6 포워딩 및 외부 인터페이스 기능의 구현을 위한 IPv6 라우터의 구성을 제시한 도면이다.

IPv6 라우터는 라우터를 전체적으로 관리 및 제어하는 관리/제어부(10)와 다수의 라인카드(라인카드 1 ~ 라인카드 n)로 구성되어 있으며 라인카드들은 상호 스위치를 통해 연결되어 있다. 각 라인카드(Line card)에는 커널(12, 102) 및 외부망이나 단말(이하 ‘외부망 등’)에 연결된 여러 개의 입출력단(14, 104)이 구비되어 있다.

커널(12, 102)내의 포워딩 정보 처리부(121, 1021)는 IPv6 포워딩 정보를 저장하고 IPv6 패킷을 입출력단(14, 104)을 통해 외부망이나 단말에 전달하는 기능을 수행한다. 입출력 주소 정보 처리부(122, 1022)는 IPv6 라우터로 패킷을 전달하는 외부망 등의 주소 정보(입력 주소)와 IPv6 라우터로부터 패킷이 전달되는 외부망 등의 주소 정보(출력 주소)를 저장 및 처리한다.

입출력 주소 정보 처리부(122, 1022)에 저장 및 처리되는 주소는 포워딩 정보 처리부(121, 1021)에서 처리되는 IPv6 포워딩 정보에 포함되며, 입출력 주소 정보 처리부(122, 1022)에 저장 및 처리되는 주소에 해당하는 외부망 등의 모든 IPv6 패킷은 관리/제어부(10)로 전달된다.

멀티캐스트 주소 정보 처리부(123, 1023)는 관리/제어부(10)에서 실행되는 기능들이 필요로 한 멀티캐스트 패킷의 수신 처리가 기능하도록 멀티캐스트 주소 정보를 설정한다.

도 2는 IPv6 포워딩 기능 수행을 위한 소프트웨어 블록을 도시한 도면이다.

애플리케이션 블록(20)은 관리/제어부(10)에 상주하며 IPv6 라우터를 제어하는 블록이다. 애플리케이션 블록(20)은 다양한 기능 블록을 구비하는데, 본 발명에 의한 IPv6 포워딩 처리를 위해 라우팅 블록(201), 포워딩 제어 블록(202) 및 입출력 제어 블록(203)을 구비한다.

라우팅 블록(201)은, 라인카드에 IPv6 포워딩 정보가 구축될 수 있도록, 다양한 라우팅 프로토콜과 라우팅 프로토콜에 의해 생성된 라우팅 정보 등을 생성 및 삭제하는 기능을 수행한다. 라우팅 블록(201)에서 생성된 라우팅 정보로 IPv6 포워딩 정보가 구축되며 구축된 IPv6 포워딩 정보는 포워딩 정보 처리부(121, 1021)로 전달된다.

포워딩 제어 블록(202)은 라우팅 블록(201)이 생성한 포워딩 정보를 모든 라인카드에 전달하고 애플리케이션 블록(20)상에 있는 커널에 포워딩 정보를 저장하고 관리한다. 포워딩 제어 블록(202)은 IPv4 및 IPv6 포워딩 정보를 분리하여 처리하기 위한 IPv4/IPv6 포워딩 정보 관리 블록(2021)을 포함한다.

입출력 제어 블록(203)은 IPv4 및 IPv6 주소를 할당 관리하는 블록으로 IPv4/IPv6 인터페이스 관리 블록(2031)을 포함하며 애플리케이션 블록(20)과 라인카드는 CORBA(Common Object Request Broker Architecture)로 통신을 수행한다.

운용 블록(21)은 운용(operating) 기능을 제공하는 블록으로 IPv6 라우터 운용자에게 운용 창(operating window) 기능을 제공하며 운용자가 라우팅 또는 포워 딩 정보의 저장/관리를 용이하게 한다. 운용 블록(21)은 애플리케이션 블록(20)과 통신하고 또한 라인카드(22)와도 통신을 수행하는데 모두 CORBA 환경에서 통신을 한다.

라인카드(22)의 기능은 도 1에 제시된 라인카드와 동일하며 본 발명의 핵심적인 기능을 수행한다. 본 발명의 실시를 위해 라인카드에 구비되는 소프트웨어 블록은 포워딩 블록(221), 커널 블록(223)이다.

포워딩 블록(221)은 IPv4 포워딩 블록(2211), IPv6 멀티캐스트 관리 블록(2212), IPv6 포워딩 블록(2213) 및 IPv6 주소 관리 블록(2214)으로 구성된다. IPv4 포워딩 블록(2211)은 본 발명이 기반하고 있는 기존의 IPv4 라우터에 이미 갖추어져 있는 IPv4 포워딩 기능을 수행하는 블록으로 IPv4 포워딩 정보를 구축하여 IPv4 패킷에 대해 하드웨어적으로 포워딩을 수행한다.

본 발명에서는 IPv4 기반의 기존의 포워딩 블록을 수정하여 IPv4 포워딩 정보와 IPv6 정보를 구분하여 별도로 처리하도록 하는데 이를 위해 IPv6 멀티캐스트 관리 블록(2212), IPv6 포워딩 블록(2213), IPv6 주소 관리 블록(2214)이 추가 구성된다.

IPv6 멀티캐스트 관리 블록(2212)은 애플리케이션 블록(20)에 있는 라우팅 블록(201)이나 다른 블록에서 수신해야 할 IPv6 멀티캐스트 패킷이 있는 경우 이 패킷에 관한 정보를 커널 블록(223)에 있는 IPv6 멀티캐스트 정보(2231)에 반영시켜 관리/제어부(10)에서 IPv6 멀티캐스트 패킷을 수신할 수 있도록 IPv6 멀티캐스트를 관리하는 블록이다.

IPv6 포워딩 블록(2213)은 IPv4 포워딩 정보와 IPv6 포워딩 정보가 혼재된 포워딩 정보로부터 IPv6 포워딩 정보를 구분하여 커널 블록(223)에 있는 IPv6 포워딩 정보(2232)에 반영시키는 기능을 수행하는 블록이다. IPv6 주소 관리 블록(2214)은 커널 블록(223)에 있는 전체 IPv6 인터페이스 정보(2233)에 IPv6 주소를 설정해 줄 뿐만 아니라 IPv6 포워딩 정보(2232)에도 주소에서 발생되는 포워딩 정보를 설정하는 기능을 수행한다.

커널 블록(223)은 IPv6 멀티캐스트 정보(2231), IPv6 포워딩 정보(2232) 및 전체 IPv6 인터페이스 정보(2233)를 구축하고 있으며 각 정보에 대한 설명은 이미 앞서 기술하였다. 입출력단(14, 104)을 통해 송수신된 IPv4 패킷에 대해서는, 이미 하드웨어적으로 모두 구축되어 있기 때문에, IPv4 포워딩 정보(151)을 참조하여 패킷을 외부망 등에 또는 관리/제어부(10)에 전달한다. 입출력단(14, 104)을 통해 송수신된 IPv6 패킷에 대해서는 하드웨어적으로 구축이 되어 있지 않아 커널 블록(223)으로 직접 IPv6 패킷을 전달한다.

한편 커널 블록(223)에서 애플리케이션 블록(20)으로 IPv6 패킷을 전달하는 과정은 다음과 같다.

커널 블록(223)은 외부망 등으로부터 IPv6 패킷을 수신하면 IPv6 패킷을 분석한다. 분석 결과 만약 IPv6 패킷이 멀티캐스트 패킷이고 IPv6 멀티캐스트 정보(2231)에 애플리케이션 블록(20)으로부터의 수신 요구가 설정되어 있으면 커널 블록(223)은 애플리케이션 블록(20)으로 패킷을 전달하고 그렇지 않으면 패킷을 폐기한다. 분석 결과 만약 IPv6 패킷이 IPv6 유니캐스트 패킷이면 IPv6 포워딩 정 보(2232)를 참조하여 패킷을 포워딩할 외부 인터페이스(출력 인터페이스)를 구한다. 이때 IPv6 라우터에 있는 모든 입출력단(14, 104)에 대한 전체 인터페이스 정보(2233)를 유지 관리해야 IPv6 패킷의 정확한 입출구가 될 수 있는 라인카드를 찾을 수 있으며, 라인카드에서는 정확한 입출력단(14, 104)으로 IPv6 패킷을 전달할 수 있다.

도 3은 본 발명의 바람직한 일 흐름을 제시한 것으로 라인카드의 최초 구동시에 초기 포워딩 정보와 인터페이스 주소 정보를 설정하는 절차를 도시한 도면이다.

라인카드가 새로 추가되면(S301) 포워딩 블록(221)은 포워딩 관련 하드웨어와 관련된 정보, 내부에 관리하고 있는 모든 정보 및 라우터 내부 동작 상태를 초기화 상태로 변경한다(S302). 이는 포워딩 기능은 살아 있지만 정상적으로 포워딩 절차를 수행할 수 없고 초기화됨을 의미한다. 포워딩 블록(221)은 애플리케이션 블록(20)의 입출력 제어 블록(203)에 현재 라우터 시스템에 존재하는 모든 외부 인터페이스 정보를 요구한다(S303).

입출력 제어 블록(203)은 이 요구에 응해 현재 라우터 시스템에 있는 모든 외부 인터페이스 정보를 포워딩 블록(221)에 전달한다(S3031). 한편 포워딩 블록(221)은 인터페이스 정보를 요구(S303)한 후 포워딩 제어 블록(202)에 현재 라우터 시스템에 있는 모든 IPv4/IPv6 포워딩 정보를 요구한다(S304). 이 단계는 새로 구동되는 포워딩 블록(221)이 라우터 시스템내의 다른 라인카드의 포워딩 블록과 상태를 동기화시키기 위해서 필요하다.

포워딩 제어 블록(202)은 포워딩 블록(221)으로부터 포워딩 정보의 요구를 받으면 모든 IPv4/IPv6 포워딩 정보가 포함된 메시지를 구축하여(S3041) 포워딩 블록(221)으로 전달한다(S3042). 모든 포워딩 정보를 송신한 후에 마지막으로 포워딩 정보가 완료되었음을 표시하는 완료 메시지를 전달한다(S3043).

한편 포워딩 블록(221)은 입출력 제어 블록(203)으로부터 인터페이스 정보를 전달받으면 도 5의 S506 단계 이후 절차를 이용하여 외부 인터페이스를 위한 주소를 처리한다(S305). 그 주소 처리를 위한 상세 과정은 이후 도 5를 통해 상세히 설명한다.

또한 포워딩 블록(221)은 포워딩 제어 블록(202)으로부터 포워딩 정보를 전달 받으면 그 포워딩 정보가 마지막 포워딩 정보인지 판단하고(S306) 만약 마지막 포워딩 정보가 아니면 도 4의 S407 단계 이후 절차를 이용하여 포워딩 정보를 처리한다(S3061). 그 포워딩 정보 처리를 위한 상세 과정은 이후 도 4를 통해 상세히 설명한다.

만약 포워딩 블록(221)이 마지막 포워딩 정보를 전달받으면 IPv4와 IPv6에 대한 모든 포워딩 정보를 모두 수신하였는지 판단한다(S307). 만약 아니면 S306 단계로 회귀하며, 만약 IPv4와 IPv6 모든 포워딩 정보를 수신했고 또한 인터페이스 정보도 모두 수신했으면 라우터의 내부 상태를 서비스 가능 상태로 변경하고(S308) 이로써 IPv6 포워딩 정보가 라인카드에 구축이 완료된다. 이후 포워딩 블록(221)은 도 4와 도 5에 의한 처리를 위해 포워딩 제어 블록(202)과 입출력 제어 블록(203)으로부터의 메시지의 수신을 대기한다.

도 4는 포워딩 정보가 추가 혹은 삭제되는 경우 등 포워딩 정보의 변경이 발생하는 경우에 처리 절차를 도시한 도면이다.

도 4에 제시된 절차는 도 3의 S3061 단계의 구체적 실현을 위한 절차이며 아울러 S308 단계 이후에 라인카드의 상태가 안정적인 상태로 되었을 경우 동작되는 포워딩 정보를 처리하는 절차이다. 라우팅 블록(201)은 추가 및 삭제를 모두 포함한 신규 라우팅 정보가 발생되면(S401) 신규 포워딩 정보를 구축하여(S402) 포워딩 제어 블록(202)으로 전달한다(S403). 포워딩 제어 블록(202)에서는 포워딩 정보를 수신하고(S404) 포워딩 정보를 애플리케이션 블록(20)의 커널에 반영하고(S405), 신규 포워딩 정보를 라인카드(22)의 포워딩 블록(221)으로 전달한다(S406).

포워딩 블록(221)은 신규 포워딩 정보를 수신하여(S407) IPv4에 관한 신규 포워딩 정보인지 아니면 IPv6에 관한 신규 포워딩 정보 인지 판단한다(S408). IPv4에 관한 것이면 하드웨어에 맞게 포워딩 정보를 변형하여(S4081) IPv4 포워딩 정보(151)에 반영한다(S4082).

만약 수신한 신규 포워딩 정보가 IPv6에 관한 것이면 커널 블록(223)의 전체 IPv6 인터페이스 정보(2233)를 참조하여 신규 포워딩 정보에 대한 출력 인터페이스(외부 인터페이스)가 정상적으로 설정되어 있는지 판단한다(S409).

만약 출력 인터페이스가 정상적으로 설정되어 있으면 멀티캐스트에 관한 정보인지 유니캐스트에 관한 정보인지 판단하여(S4091), 만약 멀티캐스트 정보이면 커널 블록(223)의 IPv6 멀티캐스트 정보(2231)에 반영하고(S4092) 유니캐스트 정보이면 커널 블록(223)의 IPv6 포워딩 정보(2232)에 직접 반영하여(S4093) 멀티캐스 트 정보와 유니캐스트 정보를 분리 처리한다.

S409 단계의 판단 결과 만약 신규 포워딩 정보에 대한 출력 인터페이스가 정상적으로 설정되어 있지 않으면 추후에 출력 인터페이스가 설정될 수 있기 때문에 신규 포워딩 정보를 라우터의 내부 메모리에 저장한다(S410). 이때 저장은 일정한 시간 동안만 이루어지게 하기 위해 출력 인터페이스 설정을 위한 타이머가 설정되어 있는지 확인한다(S411). 만약 설정되어 있지 않으면 해당 출력 인터페이스에 타이머를 설정한다(S412).

이때 해당 출력 인터페이스에 타이머를 설정하는 이유는 만약 잘못된 인터페이스이거나 인터페이스가 삭제된 직후에 받은 포워딩 정보의 경우 포워딩 블록(221)에서 구분할 수 없기 때문에 이를 무한히 저장하면 아니 되므로 일정 시간동안만 저장하고 해당 출력 인터페이스에 아무런 변화가 없으면 일정 시간이 만료된 후 삭제하여 어떠한 상황에라도 포워딩 블록(221)을 정상적으로 동작시키도록 하기 위함이다.

도 5a와 도 5b는 외부 망과의 인터페이스에 주소 설정 처리 절차를 도시한 도면이다.

도 5a와 도 5b에 제시된 절차는 도 3의 S305 단계의 구체적 실현을 위한 절차이며 또한 S308 단계 이후에 라인카드의 상태가 안정적인 상태로 되었을 경우 동작되는 새로 추가/삭제/변경된 인터페이스 주소를 처리하는 절차이다.

운용 블록(21)을 통해 라우터의 운용자가 외부 인터페이스에 대한 주소 운용 정보를 추가/삭제/변경하게 되면(S501) 운용 블록(21)은 주소 운용에 관한 신규 정 보를 입출력 제어 블록(203)으로 전달한다(S502). 입출력 제어 블록(203)은 주소 운용에 관한 신규 정보를 수신하게 되면(S503) 이 정보를 애플리케이션 블록(20)의 커널에 반영하고, 현재 라우터 시스템에서 사용하고 있는 인터페이스 주소들을 모두 정리하여 현재 시스템 주소의 상태 메시지를 구성하여(S504) 포워딩 블록(221)에 전달한다(S505).

포워딩 블록(221)이 현재 시스템 주소의 상태 메시지를 수신하면(S506) 그 메시지가 IPv4 주소 정보에 관한 것인지 IPv6 주소 정보에 관한 것인지 판단한다(S507). 만약 IPv4 주소 정보에 관한 것이면 기존의 IPv4 하드웨어 관리를 위한 주소 정보를 처리한다(S5071). 만약 IPv6 주소 정보에 관한 것이면 IPv6 주소 정보와 관련된 외부 인터페이스 정보가 이미 존재하는지 판단한다(S508). 만약 관련된 외부 인터페이스 정보가 없으면 커널 블록(223)에 외부 인터페이스 정보를 새로이 생성하고 메시지 안에 있는 모든 주소를 설정한다(S509).

다음으로 내부 메모리에 상기 생성된 외부 인터페이스 정보가 있는지 판단한다(S510). 만약 없으면 내부 메모리에 외부 인터페이스 정보와 주소를 생성하고(S5101), 만약 존재하면 도 4의 S410 단계에 의해 내부 메모리에 저장되어 있으나 포워딩 처리되지 못한 포워딩 정보가 존재하는지 판단한다(S5102).

만약 포워딩 처리되지 못한 포워딩 정보가 존재하면 모든 포워딩 정보를 커널 블록(223)에 반영한 후 도 4의 S412 단계에 의해 설정된 타이머를 삭제하고(S51021) 내부 메모리에 인터페이스 주소를 추가 및 인터페이스 정보를 반영한다(S51022). 내부 메모리에 저장되어 있으나 포워딩 처리되지 못한 포워딩 정보가 부존재하는 경우에는 바로 내부 메모리에 인터페이스 주소를 추가 및 인터페이스 정보를 반영한다(S51022).

S508 단계의 판단 결과 인터페이스 관련 정보가 이미 존재하면 포워딩 블록(221)은 메시지 안의 유효한 각 모든 주소를 분석한다(S5081). 여기서 포워딩 블록(221)은 현재 시스템 주소의 상태 메시지 안에 있는 주소들 중에서 IPv6 NDP(Neighbor Discovery Protocol)에 의해 사용 유효성이 판단된 주소들만 사용가능하기 때문에 포워딩 블록(221)에서는 주소의 상태를 구분해서 유효한 주소만 사용해야 한다.

이때 인터페이스에 주소를 여러 개를 설정하여 사용할 수 있는데 각 주소에 대해 내부 메모리에 이미 존재하는지 판단한다(S5082). 만약 존재하면 다음 주소를 분석하기 위해 S5081 단계로 회귀하며 존재하지 않는 주소이면 커널 블록(223)의 전체 IPv6 인터페이스 정보(2233)에 주소를 추가하고(S5083) 내부 메모리에 인터페이스 주소를 추가하며(S5084), 다음 주소를 처리하기 위해 S5081 단계부터 다시 수행한다.

S5081 단계에서 모든 주소에 대한 분석이 완료되면 내부 메모리에 저장된 주소 중 상태 메시지 안에 없는 주소가 존재하는지 판단한다(S50811). 이는 각 주소를 분석할 때 존재하는 주소를 별도로 표기하여 주소 분석이 모두 완료되면 표기되지 않는 주소가 존재하는지 확인하는 것이다. 만약 메시지 안에 없는 주소가 존재할 경우에는 커널 블록(223)의 해당 인터페이스의 주소를 삭제하고(S50812) 내부 메모리에 있는 인터페이스 주소도 삭제한다(S50813).

본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.

그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

상술한 바와 같이 본 발명은 기존의 IPv4 라우터에서 IPv6 패킷을 처리하기 위해 커널을 이용하여 IPv6 패킷을 처리하도록 하여 하드웨어 교체없이 소프트웨어 적으로 IPv6 패킷을 포워딩할 수 있는 장점을 지니고 있다. 이때, 커널을 이용하기 때문에 기존 IPv4 라우터에서의 포워딩 기능을 변경하여야 한다. 이때 변경되는 기능은 시스템이 시작되어 모든 포워딩 정보와 인터페이스 주소 정보를 수신하는 기능과 인터페이스 주소의 변경을 처리하는 기능과 라인카드에서 포워딩 정보를 수신하여 IPv6 포워딩 기능을 구분하여 커널에 반영하는 기능으로 IPv4 라우터에서 IPv6 기능을 소프트웨어 업그레이드로 추가할 수 있어서 IPv4 기반 라우터에서 소프트웨어적 제어로 간편하게 IPv6 포워딩 서비스를 제공할 수 있다.

Claims (7)

  1. (a)분산형 IPv4 기반 라우터에서 라인카드의 초기 구동시에, 초기 IPv6 포워딩 정보와 초기 인터페이스 주소 정보를 설정하여 상기 초기 구동되는 라인카드의 동작 상태를 상기 라우터에 이미 존재하는 다른 라인카드와의 동작 상태와 동기화시키는 단계;
    (b)상기 동작 상태에서 신규 IPv6 포워딩 정보가 발생하는 경우, 상기 신규 포워딩 정보를 상기 라인카드의 커널(kernel) 또는 내부 메모리에 구축하는 단계; 및
    (c)상기 라우터의 외부 망과의 인터페이스 주소 및 정보가 상기 라우터의 운용자에 의해 변경된 경우 그 변경 사항을 상기 커널 또는 내부 메모리에 구축하는 단계를 포함하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  2. 제 1 항에 있어서, 상기 (b)단계는
    (b1)상기 신규 IPv6 포워딩 정보에 대한 외부 인터페이스 정보가 이미 존재하는지 판단하는 단계;
    (b2)상기 외부 인터페이스 정보가 존재하면 상기 신규 IPv6 포워딩 정보를 상기 커널에 직접 반영하는 단계; 및
    (b3)상기 외부 인터페이스 정보가 존재하지 않으면 상기 신규 IPv6 포워딩 정보를 상기 내부 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  3. 제 2 항에 있어서, 상기 (b2)단계는
    (b21)상기 존재하는 외부 인터페이스 정보가 멀티캐스트에 관한 정보인지 유니캐스트에 관한 정보인지 판단하는 단계; 및
    (b22)멀티캐스트에 관한 정보이면 상기 커널에 존재하는 IPv6 멀티캐스트 정보에 반영하고 유니캐스트에 관한 정보이면 상기 커널의 IPv6 포워딩 정보에 직접 반영하는 단계를 포함하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  4. 제 2 항에 있어서, 상기 (b3)단계에 의한 저장은
    상기 외부 인터페이스 정보의 변동 오류에 대처할 수 있도록, 일정 시간 동안만 이루어지게 하여 상기 라우터의 정상 동작을 보장하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  5. 제 1 항에 있어서, 상기 (c)단계는
    (c1)상기 변경이 발생되는 시점에서 상기 라우터가 사용하고 있는 현재 인터페이스 주소의 상태 메시지가 IPv4 주소 정보에 관한 것인지 IPv6 주소 정보에 관한 것인지 판단하는 단계;
    (c2)상기 메시지가 IPv6 주소 정보에 관한 것이면 상기 IPv6 주소 정보와 관련된 외부 인터페이스 정보가 이미 존재하는지 판단하여, 부존재인 경우 상기 커널에 상기 IPv6 주소 정보와 관련된 외부 인터페이스 정보를 새로이 생성하고 상기 메시지에 지정되어 있는 모든 주소를 설정하는 단계;
    (c3)상기 라우터의 내부 메모리에 상기 새로이 생성된 외부 인터페이스 정보가 있는지 판단하여, 부존재인 경우 상기 내부 메모리에 상기 새로이 생성된 외부 인터페이스 정보를 생성하고 존재하는 경우 상기 내부 메모리에 미처리 포워딩 정보가 존재하는지 판단하는 단계; 및
    (c4)상기 미처리 포워딩 정보가 존재하면 모든 포워딩 정보를 상기 커널에 반영한 후 상기 미처리 포워딩 정보의 상기 내부 메모리에의 저장 시간 지정을 위한 타이머를 삭제 및 상기 내부 메모리에 상기 새로이 생성된 외부 인터페이스의 주소를 반영하며, 상기 미처리 포워딩 정보가 부존재하는 경우에는 상기 내부 메모리에 상기 생성된 외부 인터페이스의 주소를 바로 반영하는 단계를 포함하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  6. 제 5 항에 있어서,
    (c5)상기 IPv6 주소 정보와 관련된 외부 인터페이스 정보가 이미 존재하는 경우 상기 메시지에 지정된 모든 주소가 상기 내부 메모리에 이미 존재하는지 판단하는 단계;
    (c6)존재하지 않는 경우 상기 커널과 상기 내부 메모리에 상기 외부 인터페이스 주소를 추가하는 단계; 및
    (c7)상기 모든 주소에 대한 분석이 완료되면 상기 내부 메모리에 저장된 주소 중 상기 메시지에 지정되지 아니한 주소가 존재할 경우에는 상기 커널과 상기 내부 메모리에 저장된 외부 인터페이스 주소를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부 인터페이스 정보를 구축하는 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020060037750A 2005-12-09 2006-04-26 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법 KR100734883B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050120997 2005-12-09
KR20050120997 2005-12-09
KR1020060037750A KR100734883B1 (ko) 2005-12-09 2006-04-26 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060037750A KR100734883B1 (ko) 2005-12-09 2006-04-26 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법

Publications (2)

Publication Number Publication Date
KR20070061050A KR20070061050A (ko) 2007-06-13
KR100734883B1 true KR100734883B1 (ko) 2007-07-03

Family

ID=38356987

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060037750A KR100734883B1 (ko) 2005-12-09 2006-04-26 분산형 IPv4 기반 라우터에 IPv6 포워딩 및 외부인터페이스 정보를 구축하는 방법

Country Status (1)

Country Link
KR (1) KR100734883B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285357A (ja) 2000-04-03 2001-10-12 Hitachi Ltd マルチキャスト通信方法
JP2003209581A (ja) 2002-01-10 2003-07-25 Hitachi Ltd 通信装置
JP2004254203A (ja) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd ゲートウェイ装置
KR20040095632A (ko) * 2003-05-08 2004-11-15 삼성전자주식회사 분산 구조 라우터의 포워딩 테이블 조합 장치 및 방법
KR20060058399A (ko) * 2004-11-25 2006-05-30 한국전자통신연구원 분산 포워딩 구조 라우터에서의 듀얼 스택 전환메커니즘을 위한 IPv4 주소 풀 관리방법
KR20060102077A (ko) * 2005-03-22 2006-09-27 삼성전자주식회사 네트워크 프로세서를 사용한 ip 패킷 처리 장치 및 방법
KR20060124276A (ko) * 2005-05-31 2006-12-05 한국전자통신연구원 분산 구조 라우터에서의 계층2 테이블 관리 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285357A (ja) 2000-04-03 2001-10-12 Hitachi Ltd マルチキャスト通信方法
JP2003209581A (ja) 2002-01-10 2003-07-25 Hitachi Ltd 通信装置
JP2004254203A (ja) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd ゲートウェイ装置
KR20040095632A (ko) * 2003-05-08 2004-11-15 삼성전자주식회사 분산 구조 라우터의 포워딩 테이블 조합 장치 및 방법
KR20060058399A (ko) * 2004-11-25 2006-05-30 한국전자통신연구원 분산 포워딩 구조 라우터에서의 듀얼 스택 전환메커니즘을 위한 IPv4 주소 풀 관리방법
KR20060102077A (ko) * 2005-03-22 2006-09-27 삼성전자주식회사 네트워크 프로세서를 사용한 ip 패킷 처리 장치 및 방법
KR20060124276A (ko) * 2005-05-31 2006-12-05 한국전자통신연구원 분산 구조 라우터에서의 계층2 테이블 관리 방법 및 시스템

Also Published As

Publication number Publication date
KR20070061050A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
US9553770B2 (en) Method for controlling software defined network and apparatus for the same
CN105453492B (zh) 具有第三层分布式路由器功能的交换机集群
US8996657B2 (en) Systems and methods for multiplexing network channels
CN101573927B (zh) 网络系统中的路径最大传输单元发现
JP4053967B2 (ja) Vlanサーバ
US7630368B2 (en) Virtual network interface card loopback fastpath
AU2003234391B8 (en) Peer to peer network communication with network address translation
KR100916288B1 (ko) 네트워크 토폴로지의 결정을 위한 장치 및 방법
US7430461B1 (en) Networking method and network for marine navigation devices
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
EP1143680B1 (en) Method of multicast data packet transmission
US7596151B2 (en) System and method for discovering path MTU in ad hoc network
US7853714B1 (en) Providing services for multiple virtual private networks
JP4587446B2 (ja) ネットワークシステム、並びにスイッチ装置及び経路管理サーバ及びそれらの制御方法、及び、コンピュータプログラム及びコンピュータ可読記憶媒体
US7769878B2 (en) Tunneling IPv6 packets
JP4425277B2 (ja) ネットワーク内の動的リアルタイム・ストリーム集約のための方法、システムおよび装置
JP4302170B2 (ja) パケット中継装置
US7742478B2 (en) Reply communication apparatus and ARP reply communication apparatus
DE60314367T2 (de) Verfahren und Vorrichtung zur gleichrangigen Kommunikation
US7646759B2 (en) Apparatus and method for configuring data plane behavior on network forwarding elements
EP2544417A1 (en) Communication system, path control apparatus, packet forwarding apparatus and path control method
JP4486902B2 (ja) ネットワークシステム及びゲートウェイ装置
US8688853B2 (en) Method and apparatus for maintaining multicast lists in a data network
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
RU2441331C2 (ru) Соединение ячеистых сетей с множеством узлов-ретрансляторов с использованием сетевого моста подуровня управления доступом к среде передачи

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: 20130527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee