KR101363599B1 - 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법 - Google Patents

분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법 Download PDF

Info

Publication number
KR101363599B1
KR101363599B1 KR1020070016424A KR20070016424A KR101363599B1 KR 101363599 B1 KR101363599 B1 KR 101363599B1 KR 1020070016424 A KR1020070016424 A KR 1020070016424A KR 20070016424 A KR20070016424 A KR 20070016424A KR 101363599 B1 KR101363599 B1 KR 101363599B1
Authority
KR
South Korea
Prior art keywords
packet
line card
stack
address
local address
Prior art date
Application number
KR1020070016424A
Other languages
English (en)
Other versions
KR20080076464A (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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070016424A priority Critical patent/KR101363599B1/ko
Publication of KR20080076464A publication Critical patent/KR20080076464A/ko
Application granted granted Critical
Publication of KR101363599B1 publication Critical patent/KR101363599B1/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/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Abstract

본 발명은 분산 구조 라우팅 시스템에 관한 것으로, 라인 카드는, 패킷의 IP(Internet Protocol) 주소를 이용하여 맥 주소(MAC Address)를 획득하는 처리부와, 외부로부터 입력되는 패킷을 상기 처리부로 제공하는 드라이버와, 상기 드라이버로부터 상기 처리부로 전달되는 패킷을 감시하여, 상기 패킷이 링크 로컬 주소(Link-Local Address)를 갖는 경우, 상기 패킷을 어플리케이션(Application) 계층으로 복사한 후, 상기 어플리케이션 계층으로부터 상기 처리부로 상기 패킷을 제공하는 감시부를 포함하여, 링크 로컬 주소를 갖는 패킷을 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)으로 제공 시, 어플리케이션(Application) 계층으로부터 또는 특정 함수를 이용하여 제공함으로써, 메인 보드에서 링크 로컬 주소를 이용하여 생성된 패킷을 라인 카드에서 포워딩(Forwarding)할 수 있다.
IPv6(Internet Protocol version 6), 링크 로컬 주소(Link-Local Address), TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)

Description

분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬 주소 지원 장치 및 방법{APPARATUS AND METHOD FOR SUPPORTING IPv6 LINK-LOCAL ADDRESS IN DISTRIBUTED ARCHITECTURE ROUTING SYSTEM}
도 1은 분산 구조 라우팅 시스템에서 일반적인 메인 보드와 라인 카드를 도시하는 도면,
도 2는 본 발명의 제 1 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 블록 구성을 도시하는 도면,
도 3은 본 발명의 제 2 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 블록 구성을 도시하는 도면,
도 4는 본 발명의 제 1 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 절차를 도시하는 도면, 및
도 5는 본 발명의 제 2 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 절차를 도시하는 도면.
본 발명은 분산 구조 라우팅 시스템에 관한 것으로, 특히 분산 구조 라우팅 시스템에서 링크 로컬 주소를 갖는 패킷을 처리하기 위한 장치 및 방법에 관한 것이다.
분산 구조 라우팅 시스템에서 패킷을 시스템 외부로 송신하기 위해서, 시스템은 IP(Internet Protocol) 주소를 통해 맥 주소를 찾아내고, 상기 찾아낸 맥 주소(MAC Address)를 패킷에 붙이는 작업을 수행해야 한다. 이때, 상기 맥 주소를 찾아내는 기능은 IPv4(Internet Protocol version 4)의 경우에는 ARP(Address Resolution Protocol)에 의해 처리되고, IPv6(Internet Protocol version 6)의 경우에는 링크 로컬 주소(Link-Local Address)를 이용한 네이버 디스커버리(Neighbor Discovery, 이하 'ND'라 칭함) 동작에 의해 처리된다.
다시 말해, 도 1에 도시된 바와 같이 메인 보드(110)와 라인 카드(120)로 구성된 분산 구조 라우팅 시스템의 경우, 상기 메인 보드(110)는 시스템 외부로 패킷을 송신하기 위해 맥 주소를 붙이지 않은 형태로 상기 패킷을 상기 라인 카드(120)로 전달한다. 이후, 상기 라인 카드(120)는 상기 패킷의 IP 주소를 통해 해당 목적지의 맥 주소를 찾고, 상기 맥 주소를 붙혀 외부로 송신한다. 이때, 상기 ND 메시지가 사용되는데, 상기 ND 메시지는 상기 링크 로컬 주소를 이용하여 송수신된다. 상기 맥 주소를 찾기위해, 상기 라인 카드(120) 내의 마이크로 엔진(121)은 우선 L2(Layer 2) 테이블을 검색하여 패킷의 IP 주소와 대응되는 맥 주소를 검색한다.
상기 검색 결과 맥 주소를 찾지 못한 경우, 상기 마이크로 엔진(121)은 상기 패킷을 특정 인터페이스를 통해 상기 라인 카드(120)의 커널(Kernel) 내의 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)(123)에 입력한다. 그러면, 상기 TCP/IP 스택 처리부(123)은 포워딩(Forwarding) 동작에 따라 상기 패킷의 IP 주소에 대응되는 맥 주소를 찾기 위해 ARP 혹은 ND를 수행한다. 또한, 상기 찾아진 맥 주소는 상기 L2 테이블에 저장되어, 이후의 맥 주소 검색 시 고속 처리가 가능해 진다.
상술한 방식과 같은 맥 주소 검색은 상기 메인 보드(110)가 IPv4 또는 IPv6의 글로벌 주소(Global Address)를 사용하는 경우 문제없이 수행된다. 이는, 상기 라인 카드(120)의 커널에 의한 패킷 포워딩이 상기 글로벌 주소에 대해 특별한 제약 사향을 가지지 않기 때문이다. 하지만, 상기 IPv6의 링크 로컬 주소의 경우, 상기 IPv6 표준 문서인 RFC(Request For Comments)4191에 의하면 다음과 같은 제약 조건이 정의되어 있다. "Router must not forward any packets with Link-Local source or destination addresses to other link." 즉, 상기 RFC4191에서는 "라우터는 소스 링크 로컬 주소 또는 목적지 링크 로컬 주소를 가진 패킷을 다른 링크로 포워딩할 수 없다."라고 규정하고 있다. 다시 말해, 상기 메인 보드(110)에서 링크 로컬 주소를 갖는 패킷을 송신하고자 하는 경우, 상기 라인 카드(120)에서 L2 테이블을 이용한 맥 주소 검색을 실패하면 상기 패킷은 포워딩되지 않고, 상기 TCP/IP 스택 처리부(123)에 의해 폐기된다.
상기 메인 보드(110)가 시스템 외부로 패킷 송신 시, 상기 링크 로컬 주소를 사용하는 경우가 없다면, 상기 제약 사항은 문제가 되지 않는다. 하지만, 상기 링 크 로컬 주소는 상기 맥 주소를 알아내는 용도와 더불어 상기 IPv6에서 정의된 라우팅 디스커버리(Routing Discovery) 메시지 또는 ICMP(Internet Control Message Protocol) 메시지 송수신 시 사용된다. 상기 라우팅 디스커버리 메시지는 시스템 운영과 관련된 메시지이므로, 이 경우 상기 링크 로컬 주소는 상기 메인 보드(110)에서 처리된다. 즉, 상기 메인 보드(110)에서 생성된 링크 로컬 주소를 갖는 패킷이 외부로 포워딩되어야하는 경우가 존재한다.
상기 패킷이 커널을 통해 포워딩되지 못하는 현상을 방지하기 위해 제안된 종래의 기술은 다음과 같다.
첫째, 상기 링크 로컬 주소를 이용하는 통신을 라인 카드가 처리한다. 하지만, OSPFv6(Open Shortest Path First version 6)와 같은 라우팅 프로토콜은 상기 링크 로컬 주소를 이용하여 외부 노드와 통신을 수행해야 하는데, 상기 OSPFv6를 처리하는 소프트웨어는 일반적으로 메인 보드에서 동작한다. 따라서, 이 경우 상기 링크 로컬 주소를 이용하는 통신을 라인 카드에서 수행하면 상기 OSPFv6은 정상적으로 동작하지 않는다.
둘째, 상기 링크 로컬 주소를 이용하는 통신을 메인 보드가 처리하고, 맥 주소를 상기 링크 로컬 주소로부터 유추한다. 일반적으로, 상기 링크 로컬 주소는 맥 주소를 기반으로 생성하도록 권고되고 있다. 하지만, 통신하고자하는 외부 장비가 상기 권고 사항을 준수하지 않는 경우, 상기 링크 로컬 주소로부터 맥 주소를 유추하는 것은 불가능하다.
상술한 바와 같이, 분산 구조 라우팅 시스템에서 IPv6 링크 로컬 주소를 가 지는 패킷이 라인 카드를 통해 포워딩되지 못하는 현상이 발생한다. 더욱이, 이를 방지하기 위해 제안된 종래의 기술은 상기 현상을 완벽히 방지할 수 없다. 따라서, 상기 링크 로컬 주소를 이용한 메시지는 라인 카드에서 처리하고, 그 외의 메시지는 메인 보드에서 처리하기 위한 대안이 제시되어야 한다.
따라서, 본 발명의 목적은 분산 구조 라우팅 시스템에서 링크 로컬 주소(Link-Local Address)를 가지는 패킷이 라인 카드를 통해 포워딩(Forwarding)되지 못하는 현상을 방지하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 분산 구조 라우팅 시스템에서 링크 로컬 주소를 이용한 메시지를 라인 카드에서 생성된 패킷과 같이 처리하기 위한 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 견지에 따르면, 분산 구조 라우팅 시스템에서 라인 카드 장치는, 패킷의 IP(Internet Protocol) 주소를 이용하여 맥 주소(MAC Address)를 획득하는 처리부와, 외부로부터 입력되는 패킷을 상기 처리부로 제공하는 드라이버와, 상기 드라이버로부터 상기 처리부로 전달되는 패킷을 감시하여, 상기 패킷이 링크 로컬 주소를 갖는 경우, 상기 패킷을 어플리케이션(Application) 계층으로 복사한 후, 상기 어플리케이션 계층으로부터 상기 처리부로 상기 패킷을 제공하는 감시부를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제 2 견지에 따르면, 분산 구조 라우 팅 시스템에서 라인 카드 장치는, 패킷의 IP 주소를 이용하여 맥 주소를 획득하는 처리부와, 외부로부터 입력되는 패킷을 상기 처리부로 제공하기 위한 인터페이싱 기능을 수행하는 인터페이스부와, 외부로부터 입력되는 패킷을 상기 처리부로 제공하되, 상기 외부로부터 입력되는 패킷이 링크 로컬 주소를 갖는 경우에는 라인 카드에서 생성된 패킷이 처리되는 경로로 상기 처리부로 제공하는 드라이버를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제 3 견지에 따르면, 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 방법은, 외부로부터 링크 로컬 주소를 갖는 패킷이 입력되는지 확인하는 과정과, 상기 패킷이 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)에서 처리되기 전, 상기 패킷을 어플리케이션(Application) 계층으로 복사하는 과정과, 상기 어플리케이션 계층으로부터 상기 TCP/IP 스택으로 상기 복사된 패킷을 제공하여, 상기 패킷의 맥 주소를 획득하도록 하는 과정을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제 4 견지에 따르면, 분산 구조 라우팅 시스템에서 라인 카드 장치의 패킷 처리 방법은, 외부로부터 패킷이 입력되면, 상기 패킷이 링크 로컬 주소를 갖는지 확인하는 과정과, 상기 패킷이 링크 로컬 주소를 갖는 경우, 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 TCP/IP 스택으로 제공하여, 상기 패킷의 맥 주소를 획득하도록 하는 과정을 포함하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.
이하 본 발명은 분산 구조 라우팅 시스템에서 메인 보드에 의해 생성된 링크 로컬 주소(Link-Local Address)를 갖는 패킷이 라인 카드의 커널을 통해 포워딩(Forwarding)되지 못하는 현상을 방지하기 위한 기술에 대해 설명한다. 이하, 본 발명에서 라인 카드는 하나의 네트워크(Network)로 구성된 시스템에서 외부 네트워크로 패킷을 송신하거나 수신하기 위한 장치를 의미한다.
먼저 본 발명이 제안하는 링크 로컬 주소를 갖는 패킷의 맥 주소(MAC Address) 획득 방안에 대해 설명한다.
본 발명이 제안하는 맥 주소 획득 방안의 주된 발상은 상기 링크 로컬 주소를 갖는 패킷을 상기 라인 카드에서 생성된 패킷과 동일하게 처리하는 것이다. 이를 위해, 상기 라인 카드는 외부로부터 입력되는 상기 링크 로컬 주소를 갖는 패킷을 자신이 생성한 패킷으로 인식하기 위한 절차가 요구된다. 이는, 패킷의 맥 주소 획득 기능을 수행하는 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)으로 입력되는 패킷의 경로를 변경함으로써 가능하며, 본 발명은 이하 두 가지 방식을 제안한다.
첫 번째 방식으로, 상기 라인 카드는 외부로부터 입력되는 패킷의 처리 경로를 모니터링하고, 상기 TCP/IP 스택이 상기 링크 로컬 주소를 갖는 패킷을 폐기하기 전에 해당 패킷을 어플리케이션(Application) 계층으로 복사한다. 그리고, 상기 라인 카드는 상기 어플리케이션 계층으로부터 상기 TCP/IP 스택으로 복사한 패킷을 입력한다. 이 경우, 상기 라인 카드는 입력 경로 모니터링, 패킷 복사, 패킷 출력을 수행하는 특정 어플리케이션을 포함해야 한다.
두 번째 방식으로, 상기 라인 카드는 외부로부터 입력되는 링크 로컬 주소를 갖는 패킷을 정상적인 경로를 통해 상기 TCP/IP 스택에 입력하지 않고, 상기 TCP/IP 스택의 특정 함수를 사용하여 자신이 생성한 패킷을 처리하는 경로로 우회하여 입력한다. 이 경우, 외부로부터 입력되는 패킷을 상기 TCP/IP 스택에 입력하는 구성의 동작이 달라져야 한다.
이하 본 발명은 상술한 방식에 따라 링크 로컬 주소를 갖는 패킷을 처리하기 위한 라인 카드의 구성 및 동작 절차를 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 제 1 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 블록 구성을 도시하고 있다.
상기 도 2에 도시된 바와 같이, 상기 라인 카드는 라인 카드 제어부(201), 스택 드라이버(Stack Driver)(203), 더미 인터페이스(Dummy Interface)부(205), TCP/IP 스택 처리부(207), 출력 인터페이스(Output Interface)부(209) 및 외부 패킷 감시부(211)를 포함하여 구성된다.
상기 라인 카드 제어부(201)는 상기 라인 카드의 동작에 필요한 전반적인 기능을 제어한다. 예를 들어, 상기 라인 카드 제어부(201)는 상기 라인 카드 외부(예 : 메인 보드)로부터 입력되는 패킷에 해당 맥 주소를 붙혀 해당 목적지로 출력한다. 이때, 상기 라인 카드 제어부(201)는 상기 패킷의 맥 주소를 알아내기 위해 상기 패킷을 상기 스택 드라이버(203)로 출력한다.
상기 스택 드라이버(203)는 패킷의 빠른 처리를 위한 구성으로, 상기 라인 카드 제어부(201)가 처리하지 못하는 복잡한 작업, 예를 들어, 제한 시간이 요구되거나 상세한 헤더 처리가 요구되는 작업을 상기 라인 카드 제어부(201)로부터 상기 TCP/IP 스택 처리부(207)로 전달하기 위한 기능을 수행한다. 즉, 상기 스택 드라이버(203)는 상기 라인 카드 제어부(201)로부터 입력되는 패킷을 상기 TCP/IP 스택 처리부(207)로 제공하기 위해 상기 TCP/IP 스택 처리부(207)의 진입 함수를 호출한다. 이때, 상기 스택 드라이버(203)는 상기 TCP/IP 스택 처리부(207)의 요구에 따라 상기 패킷의 형태를 변환한다.
상기 더미 인터페이스(205)는 상기 스택 드라이버(203)가 외부로부터 입력된 패킷을 상기 TCP/IP 스택 처리부(207)로 제공하기 위한 인터페이싱 기능을 수행한다. 상기 출력 인터페이스(209)는 상기 TCP/IP 스택 처리부(207)가 패킷을 처리 후 상기 스택 드라이버(203)로 제공하기 위한 인터페이싱 기능을 수행한다.
상기 TCP/IP 스택 처리부(207)는 제공되는 패킷의 IP 주소를 이용하여 상기 패킷의 맥 주소를 획득한다. 다시 말해, 상기 TCP/IP 스택 처리부(207)는 ARP(Address Resolution Protocol) 또는 네이버 디스커버리(Neighbor Discovery, 이하 'ND'라 칭함) 동작을 통해 맥 주소를 획득한다. 이때, 규격에 명시된 제약 사항에 따라, 상기 TCP/IP 스택 처리부(207)는 상기 더미 인터페이스(205)를 통해 링크 로컬 주소를 갖는 패킷이 제공되는 경우, 해당 패킷을 폐기한다.
상기 외부 패킷 감시부(211)는 어플리케이션 계층에서 동작하는 구성으로써, 상기 스택 드라이버(203)로부터 상기 더미 인터페이스(205)로 제공되는 패킷들을 감시하여, 링크 로컬 주소를 갖는 패킷을 확인한다. 만일, 상기 링크 로컬 주소를 갖는 패킷이 확인되면, 상기 외부 패킷 감시부(211)는 상기 링크 로컬 주소를 갖는 패킷이 상기 TCP/IP 스택 처리부(207)에 의해 폐기되기 전에 이를 복사한 후, 상기 TCP/IP 스택 처리부(207)로 제공한다.
이로 인해, 상기 TCP/IP 스택 처리부(207)는 상기 어플리케이션 계층로부터 제공되는 링크 로컬 주소를 갖는 패킷을 라인 카드에서 생성된 패킷으로 간주하여 맥 주소를 획득하고 상기 스택 드라이버(203)로 제공한다. 따라서, 상기 라인 카드 제어부(201)는 상기 외부로부터 입력된 링크 로컬 주소를 갖는 패킷에 맥 주소를 붙혀 외부로 출력할 수 있다.
도 3은 본 발명의 제 2 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 블록 구성을 도시하고 있다.
상기 도 3에 도시된 바와 같이, 상기 라인 카드는 라인 카드 제어부(301), 스택 드라이버(303), 더미 인터페이스부(305), TCP/IP 스택 처리부(307) 및 출력 인터페이스부(309)를 포함하여 구성된다.
상기 라인 카드 제어부(301)는 상기 라인 카드의 동작에 필요한 전반적인 기능을 제어한다. 예를 들어, 상기 라인 카드 제어부(301)는 상기 라인 카드 외부(예 : 메인 보드)로부터 입력되는 패킷에 해당 맥 주소를 붙혀 해당 목적지로 출력한다. 이때, 상기 라인 카드 제어부(301)는 상기 패킷의 맥 주소를 알아내기 위해 상기 패킷을 상기 스택 드라이버(303)로 출력한다.
상기 스택 드라이버(303)는 패킷의 빠른 처리를 위한 구성으로, 상기 라인 카드 제어부(301)가 처리하지 못하는 복잡한 작업, 예를 들어, 제한 시간이 요구되거나 상세한 헤더 처리가 요구되는 작업을 상기 라인 카드 제어부(301)로부터 상기 TCP/IP 스택 처리부(307)로 전달하기 위한 기능을 수행한다. 즉, 상기 스택 드라이버(303)는 상기 라인 카드 제어부(301)로부터 입력되는 패킷을 상기 TCP/IP 스택 처리부(307)로 제공하기 위해 상기 TCP/IP 스택 처리부(307)의 진입 함수를 호출한다. 이때, 상기 스택 드라이버(303)는 상기 TCP/IP 스택 처리부(307)의 요구에 따라 상기 패킷의 형태를 변환한다.
또한, 본 발명에 따라, 상기 스택 드라이버(303)는 외부로부터 링크 로컬 주소를 갖는 패킷이 입력되면, 상기 링크 로컬 주소를 갖는 패킷을 상기 더미 인터페이스부(305)를 통해 상기 TCP/IP 스택 처리부(307)로 제공하지 않고, 라인 카드에서 생성된 패킷을 처리하는 경로로 우회하여 상기 TCP/IP 스택 처리부(307)로 제공한다. 다시 말해, 상기 TCP/IP 스택 처리부(307)는 상위 계층으로부터 패킷을 입력 받기 위해 사용하는 특정 함수를 가지며, 상기 스택 드라이버(303)는 상기 특정 함수를 직접 호출하여 상기 링크 로컬 주소를 갖는 패킷을 상기 TCP/IP 스택 처리부(307)로 제공한다.
이로 인해, 상기 TCP/IP 스택 처리부(307)는 상기 로컬 주소를 갖는 패킷을 라인 카드에서 생성된 패킷으로 간주하여 맥 주소를 획득하고 상기 스택 드라이버(303)로 제공한다. 따라서, 상기 라인 카드 제어부(301)는 상기 외부로부터 입력된 링크 로컬 주소를 갖는 패킷에 맥 주소를 붙혀 외부로 출력할 수 있다.
상기 더미 인터페이스(305)는 상기 스택 드라이버(303)가 외부로부터 입력된 패킷을 상기 TCP/IP 스택 처리부(307)로 제공하기 위한 인터페이싱 기능을 수행한다. 상기 출력 인터페이스(309)는 상기 TCP/IP 스택 처리부(307)가 패킷을 처리 후 상기 스택 드라이버(303)로 제공하기 위한 인터페이싱 기능을 수행한다.
상기 TCP/IP 스택 처리부(307)는 제공되는 패킷의 IP 주소를 이용하여 상기 패킷의 맥 주소를 획득한다. 다시 말해, 상기 TCP/IP 스택 처리부(307)는 ARP 또는 ND 동작을 통해 맥 주소를 획득한다. 이때, 규격에 명시된 제약 사항에 따라, 상기 TCP/IP 스택 처리부(307)는 상기 더미 인터페이스(305)를 통해 링크 로컬 주소를 갖는 패킷이 제공되는 경우, 해당 패킷을 폐기한다.
도 4는 본 발명의 제 1 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 절차를 도시하고 있다. 특히, 상기 도 4는 상기 도 2에 도시된 외부 패킷 감시부(211)의 패킷 처리 절차를 도시하고 있다.
상기 도 4를 참조하면, 상기 외부 패킷 감시부(211)는 401단계에서 외부(예 : 메인 보드)로부터 링크 로컬 주소를 갖는 패킷이 입력되는지 확인한다.
상기 링크 로컬 주소를 갖는 패킷이 입력되면, 상기 외부 패킷 감시부(211)는 403단계로 진행하여 상기 패킷이 TCP/IP 스택에 의해 폐기되기 전 상기 패킷을 어플리케이션 계층으로 복사한다.
상기 패킷을 복사한 후, 상기 외부 패킷 감시부(211)는 405단계로 진행하여 상기 어플리케이션 계층으로부터 상기 TCP/IP 스택으로 상기 복사한 패킷을 제공한다. 이로 인해, 상기 TCP/IP 스택은 상기 패킷을 라인 카드에서 생성한 패킷을 간주하여 맥 주소를 획득하게 된다.
도 5는 본 발명의 제 2 실시 예에 따른 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 절차를 도시하고 있다. 특히, 상기 도 5는 상기 도 3에 도시된 스택 드라이버(303)의 패킷 처리 절차를 도시하고 있다.
상기 도 5를 참조하면, 상기 스택 드라이버(303)는 501단계에서 외부(예 : 메인 보드)로부터 패킷이 입력되는지 확인한다.
상기 패킷이 입력되면, 상기 스택 드라이버(303)는 503단계로 진행하여 상기 패킷이 링크 로컬 주소를 갖는 패킷인지 확인한다.
만일, 상기 패킷이 링크 로컬 주소를 갖지 않으면, 상기 스택 드라이버(303)는 505단계로 진행하여 상기 패킷을 더미 인터페이스를 통해 TCP/IP 스택으로 입력한다.
반면, 상기 패킷이 링크 로컬 주소를 갖으면, 상기 스택 드라이버(303)는 507단계로 진행하여 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 상기 패킷을 상기 TCP/IP 스택으로 입력한다. 다시 말해, 상기 스택 드라이버(303)는 상기 TCP/IP 스택의 특정 함수를 직접 호출하여 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 상기 패킷을 상기 TCP/IP 스택으로 입력한다. 이로 인해, 상기 TCP/IP 스택은 상기 패킷을 라인 카드에서 생성한 패킷을 간주하여 맥 주소를 획득하게 된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 분산 구조 라우팅 시스템에서 링크 로컬 주소(Link-Local Address)를 갖는 패킷을 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)으로 제공 시, 어플리케이션(Application) 계층으로부터 또는 특정 함수를 이용하여 제공함으로써, 메인 보드에서 링크 로컬 주소를 이용하여 생성된 패킷을 라인 카드에서 포워딩(Forwarding)할 수 있다.

Claims (19)

  1. 분산 구조 라우팅 시스템에서 라인 카드 장치에 있어서,
    상기 라인 카드의 외부로부터 입력되는 패킷을 처리부로 제공하는 드라이버와,
    상기 드라이버로부터 제공되는 상기 패킷이 링크 로컬 주소(Link-Local Address)를 갖는 경우, 상기 패킷을 폐기하는 상기 처리부와,
    상기 패킷이 링크 로컬 주소를 갖는 경우, 상기 처리부에 의해 상기 패킷이 폐기되기 전, 상기 패킷을 어플리케이션(Application) 계층에서 복사한 후, 상기 드라이버와 다른 경로를 통해 복사된 패킷을 상기 처리부로 제공하는 감시부를 포함하며,
    상기 처리부는, 상기 감시부로부터 제공되는 상기 링크 로컬 주소를 갖는 상기 복사된 패킷의 IP(Internet Protocol) 주소를 이용하여 맥 주소(MAC Address)를 획득하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 드라이버에서 상기 처리부로의 경로에서 인터페이싱 기능을 수행하는 인터페이스부를 더 포함하는 것을 특징으로 하는 장치.
  3. 삭제
  4. 제 1항에 있어서,
    상기 처리부는,
    네이버 디스커버리(Neighbor Discovery) 메시지를 이용하여 상기 맥 주소를 획득하는 것을 특징으로 하는 장치.
  5. 제 1항에 있어서,
    상기 외부는, 메인 보드인 것을 특징으로 하는 장치.
  6. 분산 구조 라우팅 시스템에서 라인 카드 장치에 있어서,
    상기 라인 카드의 외부로부터 입력되는 패킷을 처리부로 제공하되, 상기 패킷이 링크 로컬 주소(Link-Local Address)를 갖지 아니하는 경우 상기 패킷을 외부로부터 입력된 패킷을 위한 인터페이스를 통해 제공하고, 상기 패킷이 상기 링크 로컬 주소를 갖는 경우 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 제공하는 드라이버와,
    상기 링크 로컬 주소를 가지는 패킷이 상기 인터페이스를 통해 제공되면 상기 패킷을 폐기하고, 상기 링크 로컬 주소를 가지는 패킷이 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 제공되면 상기 패킷의 IP(Internet Protocol) 주소를 이용하여 맥 주소(MAC Address)를 획득하는 처리부를 포함하는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서,
    상기 드라이버는, 상기 링크 로컬 주소를 갖는 패킷을 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 상기 처리부로 입력하기 위해, 상기 처리부가 상위 계층으로부터 패킷을 입력받기 위해 사용하는 소정 함수를 직접 호출하는 것을 특징으로 하는 장치.
  8. 삭제
  9. 제 6항에 있어서,
    상기 처리부는,
    네이버 디스커버리(Neighbor Discovery) 메시지를 이용하여 상기 맥 주소를 획득하는 것을 특징으로 하는 장치.
  10. 제 6항에 있어서,
    상기 외부는, 메인 보드인 것을 특징으로 하는 장치.
  11. 분산 구조 라우팅 시스템에서 라인 카드의 패킷 처리 방법에 있어서,
    상기 라인 카드의 외부로부터 링크 로컬 주소(Link-Local Address)를 갖는 패킷이 입력되는지 확인하는 과정과,
    상기 패킷이 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)에서 처리되기 전, 상기 패킷을 어플리케이션(Application) 계층으로 복사하는 과정과,
    상기 패킷을 상기 TCP/IP 스택에서 폐기하는 과정과,
    상기 어플리케이션 계층으로부터 상기 TCP/IP 스택으로 복사된 패킷을 제공하는 과정과,
    상기 어플리케이션 계층으로부터 상기 링크 로컬 주소를 갖는 상기 복사된 패킷이 제공되면, 상기 TCP/IP 스택에서 상기 복사된 패킷의 IP 주소를 이용하여 맥 주소(MAC Address)를 획득하는 과정을 포함하는 것을 특징으로 하는 방법.
  12. 삭제
  13. 제 11항에 있어서,
    상기 맥 주소 획득은, 네이버 디스커버리(Neighbor Discovery) 메시지를 이용하여 수행되는 것을 특징으로 하는 방법.
  14. 제 11항에 있어서,
    상기 외부는, 메인 보드인 것을 특징으로 하는 방법.
  15. 분산 구조 라우팅 시스템에서 라인 카드 장치의 패킷 처리 방법에 있어서,
    상기 라인 카드의 외부로부터 패킷을 수신하는 과정과,
    상기 패킷이 링크 로컬 주소(Link-Local Address)를 갖지 아니하는 경우, 상기 패킷을 외부로부터 입력된 패킷을 위한 인터페이스를 통해 TCP/IP 스택(Transmission Control Protocol/Internet Protocol Stack)으로 제공하는 과정과,
    상기 패킷이 상기 링크 로컬 주소를 갖는 경우 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 상기 TCP/IP 스택으로 제공하는 과정과,
    상기 링크 로컬 주소를 가지는 패킷이 상기 인터페이스를 통해 제공되면 상기 TCP/IP 스택에서 상기 패킷을 폐기하는 과정과,
    상기 링크 로컬 주소를 가지는 패킷이 상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 상기 TCP/IP 스택으로 제공되면, 상기 패킷의 IP(Internet Protocol) 주소를 이용하여 맥 주소(MAC Address)를 획득하는 과정을 포함하는 것을 특징으로 하는 방법.
  16. 제 15항에 있어서,
    상기 라인 카드에서 생성된 패킷이 처리되는 경로를 통해 TCP/IP 스택으로 제공하는 과정은,
    상기 TCP/IP 스택이 상위 계층으로부터 패킷을 입력받기 위해 사용하는 소정 함수를 호출하는 과정을 포함하는 것을 특징으로 하는 방법.
  17. 삭제
  18. 제 15항에 있어서,
    상기 맥 주소 획득은, 네이버 디스커버리(Neighbor Discovery) 메시지를 이용하여 수행되는 것을 특징으로 하는 방법.
  19. 제 15항에 있어서,
    상기 외부는, 메인 보드인 것을 특징으로 하는 방법.
KR1020070016424A 2007-02-16 2007-02-16 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법 KR101363599B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070016424A KR101363599B1 (ko) 2007-02-16 2007-02-16 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070016424A KR101363599B1 (ko) 2007-02-16 2007-02-16 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080076464A KR20080076464A (ko) 2008-08-20
KR101363599B1 true KR101363599B1 (ko) 2014-02-14

Family

ID=39879713

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070016424A KR101363599B1 (ko) 2007-02-16 2007-02-16 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101363599B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102271871B1 (ko) * 2015-03-17 2021-07-01 삼성전자주식회사 이동 통신 시스템에서 패킷 생성 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050107070A (ko) * 2004-05-07 2005-11-11 삼성전자주식회사 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
KR20060124276A (ko) * 2005-05-31 2006-12-05 한국전자통신연구원 분산 구조 라우터에서의 계층2 테이블 관리 방법 및 시스템
KR20060130417A (ko) * 2005-06-14 2006-12-19 한국전자통신연구원 IPv6 송신자 기반 멀티캐스트 패킷 포워딩을 위한네트워크 프로세서 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050107070A (ko) * 2004-05-07 2005-11-11 삼성전자주식회사 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
KR20060124276A (ko) * 2005-05-31 2006-12-05 한국전자통신연구원 분산 구조 라우터에서의 계층2 테이블 관리 방법 및 시스템
KR20060130417A (ko) * 2005-06-14 2006-12-19 한국전자통신연구원 IPv6 송신자 기반 멀티캐스트 패킷 포워딩을 위한네트워크 프로세서 및 그 방법

Also Published As

Publication number Publication date
KR20080076464A (ko) 2008-08-20

Similar Documents

Publication Publication Date Title
JP5069356B2 (ja) データ伝送ネットワークにおけるアドレス解決のための技術
KR100652964B1 (ko) 듀얼스택 네트워크 기기 및 그 브로드캐스트 방법
US9178818B2 (en) Communication apparatus
JP2004179812A (ja) アドレス変換装置およびアドレス変換規則管理方式
US8391287B2 (en) Packet relay method and device
US8582574B2 (en) Access device for preventing transmission of copyrighted content to external network and method for the same
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
JP2008079304A (ja) Natを使用した自動トンネリング方法及びそのシステム
US20170332439A1 (en) Extending the range of mesh networks
US10637825B2 (en) Router and method for connecting an IPv4 network and an IPv6 network
Komu et al. Sockets Application Program Interface (API) for Multihoming Shim
KR101363599B1 (ko) 분산 구조 라우팅 시스템에서 아이피 버전 식스 링크 로컬주소 지원 장치 및 방법
JP4472651B2 (ja) ネットワークアクセスシステムおよびネットワークアクセス方法
US20100303069A1 (en) Server, transmission system and gre tunnel encapsulation transferring method thereof
JP2008154012A (ja) ネットワーク監視装置,ネットワーク監視方法,ネットワーク通信方法,ネットワーク検疫システム
JP4591338B2 (ja) 通信システム
CN108040132B (zh) RapidIO转万兆网关协议实现的系统
JP2006333080A (ja) 携帯通信端末および通信経路選択方法と通信経路選択プログラム
CN110650222B (zh) 一种网络访问方法及装置
JP2006197051A (ja) ネットワーク通信制御装置およびネットワーク通信制御方法
JP2009296419A (ja) 通信中継装置、通信システム、通信方法およびプログラム
JP2002325090A (ja) 仮想ルータ
JP6904020B2 (ja) 通信制御装置及び通信制御プログラム
CN117081990B (zh) 一种mpls流量代理方法、系统、设备及存储介质
JP2011082772A (ja) Mpls装置、mpls網及びそれらに用いるarp自動解決方法

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee