KR100705565B1 - 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법 - Google Patents

패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR100705565B1
KR100705565B1 KR1020040110657A KR20040110657A KR100705565B1 KR 100705565 B1 KR100705565 B1 KR 100705565B1 KR 1020040110657 A KR1020040110657 A KR 1020040110657A KR 20040110657 A KR20040110657 A KR 20040110657A KR 100705565 B1 KR100705565 B1 KR 100705565B1
Authority
KR
South Korea
Prior art keywords
mac address
mac
packet
arp
stack
Prior art date
Application number
KR1020040110657A
Other languages
English (en)
Other versions
KR20060072256A (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 KR1020040110657A priority Critical patent/KR100705565B1/ko
Publication of KR20060072256A publication Critical patent/KR20060072256A/ko
Application granted granted Critical
Publication of KR100705565B1 publication Critical patent/KR100705565B1/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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • 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]

Landscapes

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

Abstract

본 발명의 일 측면에 따른 패킷 포워딩을 위한 MAC 주소 관리 장치는, ARP 스택의 MAC 주소 갱신 정보에 대한 모니터링을 수행하는 MAC API; 상기 MAC API로부터 보고되는 MAC 주소 정보로부터 MAC 주소 테이블을 업데이트하는 MAC 테이블 관리자; 및 수신되는 패킷의 넥스트 홉(next Hop) MAC 주소를 상기 MAC 주소 테이블에서 검색하고, 검색된 넥스트 홉으로 수신된 패킷을 포워딩하는 고속 패킷 포워딩 엔진을 포함한다.

Description

패킷 포워딩을 위한 MAC 주소 관리 장치 및 그 방법{Apparatus and Method for Management of MAC Address for Packet Forwarding}
도 1은 본 발명에 따른 라우터의 소프트웨어 논리 블록 구성을 나타낸 도면.
도 2는 본 발명에 따라 MAC 테이블 엔트리를 추가하는 경우의 라우터의 동작 흐름을 나타낸 도면.
도 3은 본 발명에 따라 MAC 테이블 엔트리의 히트 상태 관리를 위한 라우터의 동작 흐름을 나타낸 도면.
도 4는 본 발명에 따라 MAC 테이블 엔트리를 삭제하는 경우 라우터의 동작 흐름을 나타낸 도면.
*도면의 주요 부분에 대한 부호의 설명*
100 : 라우터 110 : IP 스택
120 : ARP 스택 130 : 스택 드라이버
140 : MAC API 150 : 고속 패킷 포워딩 엔진
160 : MAC 테이블 관리자 101 : 포워딩 테이블
102 : 넥스트 홉 테이블 103 : MAC 테이블
본 발명은 라우터의 패킷 포워딩시 넥스트 홉의 MAC 주소 관리에 관한 것으로, 보다 구체적으로는 ARP를 구동시키지 않고 라우터의 고속 패킷 포워딩 엔진에서 내부적으로 ARP 스택의 MAC 주소 정보를 이용하여 패킷 포워딩을 하도록 하는 패킷 포워딩을 위한 MAC 주소 관리 장치 및 그 방법에 관한 것이다.
일반적으로, 데이터 통신 네트워크에서는 전송 데이터의 라우팅(Routing) 정보에 따라 가입자, 교환기 및 네트워크 등과 같은 목적지 네트워크 구성 요소에 데이터를 전송하기 위한 다수의 라우터 시스템이 설치된다.
라우터는 네트워크와 네트워크간의 데이터 전송을 위해 최적 경로를 설정해 주는 네트워크 장비로, IP(Internet Protocol) 패킷을 입력 링크 군으로부터 출력 링크 군으로 전달함으로써, 인터넷 네트워크 구성 요소들을 연결해 주는 장치이다.
라우터는 적용되는 영역에 따라 또는 시스템의 규모와 성능에 따라 차별되어 사용된다. 적용되는 영역에 따라 액세스 라우터, 엔터프라이즈 라우터 및 백본 라우터 등으로 구분되고 있으며, 시스템의 규모와 성능에 따라 소형 라우터, 고속 라우터, 초고속 라우터 등으로 구분되기도 한다.
라우터는 패킷이 입력 포트로 입력되면 라우팅 테이블을 검색하여 출력 포토 를 찾아낸 후 스위칭 패브릭으로 전송하는데, 패킷은 스위칭 패브릭을 통해 출력 포트로 전달되고 출력 포트에서 스케쥴링되어 다음 라우터로 포워딩 된다. 라우터에서는 이러한 동작이 계속 반복되어 마침내 패킷이 최종 목적지에 도달하게 된다.
모든 라우터는 경로 지정 및 패킷 포워딩(packet forwarding) 등 2가지 핵심 업무를 수행한다. 경로 지정 과정을 통해 네트워크 토폴로지에 관한 정보를 수집하고 포워딩 테이블을 작성한다. 그리고, 패킷 포워딩 프로세스에서 포워딩 테이블 내에 포함된 정보를 바탕으로 라우터의 입력 인터페이스에서 적합한 출력 인터페이스로 패킷을 복사한다.
라우팅 시스템은 경로 지정 및 패킷 포워딩 프로세스의 구현시 라우팅 소프트웨어, 패킷 프로세싱, 스위치 패브릭 그리고 라인카드 등의 기본 요소를 필요로 한다. 코어에서 운용되도록 설계된 모든 시스템의 경우 이들 요소가 모두 동일하게 강력해야 하는데, 이는 고성능 라우터라 하더라도 이들 요소 중 가장 취약한 요소의 수준에 한해 그 역량을 발휘하기 때문이다.
라우팅 소프트웨어는 경로 지정 기능을 실행하는 시스템의 일부로서 피어(peer) 관계 유지, 라우팅 프로토콜 실행, 라우팅 테이블 구축 및 시스템의 패킷 포워딩의 일부로 액세스되는 포워딩 테이블의 구축을 수행한다. 또한 이 소프트웨어는 트래픽 엔지니어링, 유저 인터페이스 정책 및 네트워크 관리를 포함한 시스템 제어 기능을 제공한다.
라우터의 아키텍처와는 관계없이 시스템에 입력되는 각 패킷은 패킷의 길이와는 완전히 별개로 어느 정도의 프로세싱을 필요로 한다. 수신 캡슐화 기능은 반 드시 제거되어야 하며, 최장 매치 경로 검색(longest-match route lookup)이 실행되고, 패킷은 출력 포트 상에 대기하며, 반드시 송신 캡슐화 기능이 제공되어야 한다.
스위치 패브릭은 라우터 라인 카드 간의 패킷 이동을 지원하는 인프라를 제공하고, 라인 카드는 DS-3, ATM, SONET, 프레임 릴레이, PPP와 같은 계층 1(Layer 1)과 계층 2(Layer 2) 기술을 구현함으로써 다양한 물리적 매체 유형의 회선을 종료한다.
고속 패킷 포워딩 엔진은 수신된 패킷의 목적 IP 주소에 해당하는 넥스트 홉(next hop)의 출력 인터페이스를 찾는다. 출력 인터페이스 타입이 이더넷(Ethernet)인 경우, 넥스트 홉의 MAC(Medium Access Control) 주소를 패킷의 이더넷 헤더의 목적 MAC 주소 필드(Ethernet Header destination MAC address field)에 채워 넣고 출력 인터페이스로 해당 패킷을 전송한다. 만일, 넥스트 홉의 MAC 주소를 찾지 못한다면 MAC ARP(Address Resolution Protocol)을 사용하여 넥스트 홉의 MAC 주소 정보를 알아내어 저장한다.
이러한 일반적인 고속 패킷 포워딩 엔진을 지원하는 라우터에서는 MAC ARP에서 넥스트 홉의 MAC 주소 정보를 직접 MAC 테이블에 저장하였다. 이 경우 MAC ARP에서 고속 패킷 포워딩 엔진을 위한 MAC 테이블 관리를 담당해야 하며, 고속 패킷 포워딩 엔진이 구조가 변경되면 MAC 주소 ARP도 변경되어야 하는 문제점이 발생하게 된다.
본 발명은 상기의 문제점을 해결하기 위해, 라우터 또는 호스트의 포워딩 수행시 MAC ARP에 대한 의존성을 없애고 하드웨어 단인 고속 패킷 포워딩 엔진이 자체적으로 MAC 테이블로부터 필요한 MAC 주소를 읽어와 패킷 포워딩을 수행할 수 있도록, MAC 주소 테이블과 ARP 스택이 보유하는 ARP 엔트리의 정보를 상호 업데이트하는 패킷 포워딩을 위한 MAC 주소 관리 장치 및 방법을 제공함을 그 목적으로 한다.
본 발명의 일 측면에 따른 패킷 포워딩을 위한 MAC 주소 관리 장치는, ARP 스택의 MAC 주소 갱신 정보에 대한 모니터링을 수행하는 MAC API; 상기 MAC API로부터 보고되는 MAC 주소 정보로부터 MAC 주소 테이블을 업데이트하는 MAC 테이블 관리자; 및 수신되는 패킷의 넥스트 홉(next Hop) MAC 주소를 상기 MAC 주소 테이블에서 검색하고, 검색된 넥스트 홉으로 수신된 패킷을 포워딩하는 고속 패킷 포워딩 엔진을 포함한다.
상기 MAC 주소 관리 장치는, 상기 고속 패킷 포워딩 엔진과 IP 스택 간에 패킷을 전달하는 스택 드라이버를 더 포함할 수 있다.
상기 ARP 스택은, 최근에 트래픽을 전송한 주변의 라우터나 호스트에 대한 엔트리를 테이블 형태로 저장하는 네이버 캐쉬를 포함하는 것을 특징으로 하며, 상기 네이버 캐쉬의 엔트리는, 상기 주변의 라우터나 호스트에 대한 IP 주소, MAC 주 소, 접근 가능 상태에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
상기 고속 패킷 포워딩 엔진은, 수신된 패킷의 목적지 MAC 주소 검색에 실패한 경우, 상기 IP 스택으로 상기 패킷을 전송하는 것을 특징으로 한다.
상기 ARP 스택은, 보유하는 ARP 엔트리 리스트 중 상태가 스테일로 변한 ARP 엔트리가 발생하는 경우, 상기 MAC 테이블 관리자에게 해당 MAC 주소 엔트리의 히트 상태를 요청하여 상기 ARP 엔트리의 상태를 갱신하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 패킷 포워딩을 위한 MAC 주소 관리 방법은, 고속 패킷 포워딩 엔진이 상기 MAC 주소 테이블에서 수신되는 패킷의 넥스트 홉(Next Hop) MAC 주소를 검색하는 단계; 상기 검색 결과 넥스트 홉의 MAC 주소 검색에 실패하는 경우, 상기 패킷을 IP 스택으로 송신하는 단계; 상기 패킷을 수신한 IP 스택이 ARP 요청을 통해 넥스트 홉의 MAC 주소 확보를 시도하는 단계; 및 상기 MAC 주소 확보 결과에 따라 상기 패킷에 대한 ARP 엔트리를 생성 또는 삭제하고, MAC 주소 관리자로 하여금 상기 MAC 주소 테이블을 갱신하도록 하는 단계를 포함한다.
상기 MAC 주소 테이블 갱신 단계에서, 상기 패킷에 대한 MAC 주소 확보에 성공한 경우, 상기 ARP 스택으로 하여금 상기 MAC 주소에 대한 새로운 ARP 엔트리를 생성하도록 하고, MAC 테이블 관리자로 하여금 상기 새로운 ARP 엔트리를 상기 MAC 테이블에 추가하도록 한다.
한편, 상기 패킷에 대한 MAC 주소 확보에 실패한 경우에는, 상기 패킷에 대한 엔트리를 ARP 스택에서 삭제하고, MAC 테이블 관리자로 하여금 상기 패킷의 엔 트리를 상기 MAC 테이블에서도 삭제하도록 하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 패킷 포워딩을 위한 MAC 주소 관리 방법은, 고속 패킷 포워딩 엔진이 상기 MAC 주소 테이블에서 수신되는 패킷의 넥스트 홉(Next Hop) MAC 주소를 검색하는 단계; 상기 검색 결과 넥스트 홉의 MAC 주소가 존재하는 경우, 상기 MAC 주소 테이블의 MAC 주소 엔트리의 히트(Hit) 상태를 세팅하고, 상기 MAC 주소의 넥스트 홉으로 상기 패킷을 포워딩하는 단계; 상기 ARP 스택에서 상기 포워딩 한 패킷의 ARP 엔트리 상태가 스테일로 변한 경우, MAC 테이블 관리자에게 해당 MAC 주소 엔트리의 히트 상태를 요청하는 단계; 및 MAC 테이블 관리자가 요청 받은 MAC 주소 엔트리의 히트 상태를 읽어 응답하고, 상기 MAC 테이블의 히트 상태를 리셋하는 단계를 포함한다.
이하, 본 발명에 따른 바람직한 실시예를 도면을 살펴보면서 구체적으로 설명하기로 한다.
본 발명은 MAC ARP에서 갱신된 MAC 주소 정보를 고속 패킷 포워딩 엔진이 참조하도록 하며, MAC ARP가 각 MAC 주소 엔트리의 상태 머신(state machine)을 지원하기 위해 필요한 데이터 포워딩 정보를 고속 패킷 포워딩 엔진이 제공하도록 한다.
이를 위해 본 발명은 네트워크 프로세서에 리눅스(Linux)와 같은 공개 OS(Operating System)를 포팅하고, 별도의 고속 패킷 포워딩 엔진의 MAC API(Application Programming Interface)를 MAC ARP와 독립적인 모듈로 구성하여 MAC ARP를 이용하여 MAC 테이블을 관리하도록 구현한다.
도 1은 본 발명에 따른 라우터의 소프트웨어 논리 블록 구성을 나타내고 있다.
도 1은 본 발명에서 핵심이 되는 소프트웨어 논리 블록만을 나타내었으며, 본 발명의 핵심에서 벗어나는 논리 블록들은 도시하지 않았다.
본 발명에 따른 라우터(100)는 IP 스택(110), ARP 스택(120), 스택 드라이버(130), MAC API(140), 고속 패킷 포워딩 엔진(150), MAC 테이블 관리자(160)를 구성요소로 포함한다. 또한 이들이 참조 및 관리하는 포워딩 테이블(Forwarding Table)(101), 넥스트 홉 테이블(Next Hop Table)(102), MAC 테이블(103)이 있다.
IP 스택(110)은 수신되는 패킷의 목적지가 라우터인 패킷과 고속 패킷 포워딩 엔진에서 처리할 수 없는 패킷을 처리하고 라우터에서 생성된 패킷을 포워딩하는 역할을 한한다.
ARP 스택(120)은 넥스트 홉(next hop) 엔트리를 관리하고, ARP 요청/응답(Request/Reply) 패킷을 처리한다. 논리적 주소를 바탕으로 이에 대응하는 물리적 주소를 찾는 것을 일반적으로 AR(Address Resolution)이라 하는데, 이때 사용되는 프로토콜을 ARP(Address Resolution Protocol)라고 한다.
이를 위해 ARP 스택(120)은 네이버 캐쉬(121)를 포함하는데, 네이버 캐쉬(121)는 라우터(100)가 최근에 트래픽을 전송한 개개의 네이버(주변의 라우터나 호 스트)에 대한 엔트리를 테이블 형태로 저장한다. 엔트리는 네이버의 IP 주소, MAC 주소 등의 정보를 포함하며, 해당 네이버에 대한 접근 가능 상태(reachability state)나 무응답 프로브의 횟수 등에 대한 정보도 포함한다.
스택 드라이버(130)는 고속 패킷 포워딩 엔진(150)과 IP 스택(110)의 인터페이스 부분으로 두 모듈 사이에서 패킷을 전달한다.
MAC API(140)는 ARP 스택(120)의 MAC 주소 갱신 정보를 MAC 테이블 관리자(160)에게 알려준다. 필요한 경우에는 MAC 테이블 엔트리 히트(Hit) 상태를 읽어와 ARP 엔트리의 상태를 갱신한다.
고속 패킷 포워딩 엔진(150)은 라우터에 수신된 패킷의 넥스트 홉 MAC 주소와 출력 인터페이스 정보를 검색하고 고속으로 패킷을 포워딩한다. 만약 수신된 패킷이 라우터 자신이 목적지인(Local Delivery) 패킷이거나 정상적인 엔진 포워딩이 불가능한 경우 스택 드라이버를 통해 IP 스택(110)으로 패킷을 전달한다.
MAC 테이블 관리자(160)는 MAC API(140)로부터 수신한 MAC 주소 정보로 MAC 주소 테이블을 업데이트하고 MAC 테이블 엔트리의 히트 상태(Hit State) 정보를 제공한다.
포워딩 테이블(101)은 라우터(100)가 목적지 주소로 패킷을 직접 전달할 수 있는지 다른 라우터를 거쳐야 전달이 가능한지 파악하도록 하는 테이블로, 포워딩 테이블의 각 엔트리는 <네트웍 프리픽스, 넥스트 홉>의 형태를 취한다. 각 엔트리는 '네트웍 프리픽스'에 연결되어 있는 호스트 또는 라우터가 목적지인 패킷을 '넥스트 홉'으로 전송할 것을 지시한다.
라우터(100)가 패킷을 수신하면 패킷의 목적지 주소를 추출하여, 포워딩 테이블(101)의 각 엔트리의 네트웍 프리픽스와 패킷의 목적지 주소가 일치하는지 조사하여, 일치하는 엔트리의 '넥스트 홉'에서 지시한 목적지로 패킷을 전송하게 된다. 라우터(100)는 '넥스트 홉' 정보로부터 넥스트 홉 테이블(102)과 MAC 테이블(103)을 이용해 최종적으로 다음 경로의 MAC 주소를 얻을 수 있게 된다.
도 2는 본 발명에 따라 MAC 테이블 엔트리를 추가하는 경우의 라우터의 동작 흐름을 나타낸다.
본 실시예에서는 라우터(100)가 수신하는 패킷의 목적지 MAC 주소를 보유하고 있지 않은 경우를 가정한다.
라우터(100)로 패킷이 수신되는 경우(S201), 먼저 고속 패킷 포워딩 엔진(150)이 수신된 패킷의 목적지 IP 주소를 검색 인자로 하여 포워딩 테이블(101)을 검색하고, MAC 테이블(103)에서 해당 넥스트 홉 엔트리의 MAC 주소를 검색한다(S202). 도 2의 실시예에서는 목적지의 MAC 주소를 가지고 있지 않으므로, 고속 패킷 포워딩 엔진(150)은 스택 드라이버(130)를 통해 수신 패킷을 IP 스택(110)으로 송신한다(S203).
해당 패킷을 수신한 IP 스택(110)은 패킷의 넥스트 홉에 대한 ARP 요청(Request)을 라우터(100)와 연결된 동일 네트워크 내의 모든 노드(호스트 또는 다른 라우터)들에게 전송한다(S204). ARP 요청을 수신한 호스트 또는 라우터들은 ARP 요청 메시지 내에 포함된 ARP 요청 라우터(100)의 IP와 자신의 IP 주소를 비교한 다. 비교 결과, IP 주소가 일치하는 호스트 또는 라우터는 자신의 MAC 주소에 대한 정보를 실어 ARP 응답(Reply) 패킷을 ARP 요청 라우터(100)의 IP 스택(110)으로 전송한다(S205). 한편, ARP 요청된 IP 주소와 일치하지 않는 IP 주소를 가지는 호스트 또는 라우터들은 해당 ARP 요청을 무시할 것이다.
ARP 응답 패킷을 수신한 IP 스택(110)은 이를 ARP 스택(120)으로 알려주고, ARP 스택(120)은 넥스트 홉의 MAC 주소 정보를 포함하는 새로운 ARP 엔트리를 네이버 캐쉬(121)에 저장한다. 새로운 ARP 엔트리가 생성되면, ARP 스택(120)의 동작을 주시하고 있던 MAC API(140)가 넥스트 홉의 새로운 MAC 주소 정보를 MAC 테이블 관리자(160)에게 알려주고(S207), MAC 테이블 관리자(160)는 MAC 테이블(103)에 MAC 주소 엔트리를 추가한다(S208).
도 3은 본 발명에 따라 MAC 테이블 엔트리의 히트 상태 관리를 위한 라우터의 동작 흐름을 나타낸다.
본 실시예에서는 라우터(100)가 수신하는 패킷의 목적지 MAC 주소를 보유하고 있는 경우를 가정한다.
고속 패킷 포워딩 엔진(150)이 수신된 패킷의 목적지 IP 주소로 포워딩 테이블(101)을 검색하고, MAC 테이블(103)에서 해당 넥스트 홉 엔트리의 MAC 주소를 검색한다(S301). MAC 테이블(103)에 넥스트 홉의 MAC 주소 엔트리가 존재하면, MAC 주소 엔트리의 히트 상태를 세팅한다(S302). 이때 '히트' 상태는 해당 주소를 가진 호스트나 라우터로 트래픽을 전송한 적이 있음을 표시하는 것으로 이해할 수 있다. MAC 주소가 검색되면, 수신된 패킷의 이더넷 헤더의 목적 MAC 주소 필드에 검색된 MAC 주소를 입력하고 해당 패킷을 포워딩한다(S303).
일정 시간이 경과하고, 상기 과정을 통해 수신되었던 패킷에 대한 ARP 스택(120)에서의 ARP 엔트리 상태가 스테일(Stale)로 바뀌게 되면(S304), ARP 스택(120)을 모니터링 하던 MAC API(140)이, MAC 테이블 관리자(160)에게 해당 MAC 주소 엔트리의 히트 상태를 요청한다(S305). 'Stale'은 ARP 엔트리 상태에 대한 정보가 이미 시간이 많이 경과한 믿을 수 없는 정보임을 의미하므로, ARP 스택(120)에서의 ARP 엔트리에 대한 상태 정보를 갱신할 필요가 있는 것이다.
MAC 테이블 관리자(160)는 요청 받은 MAC 주소 엔트리의 히트 상태를 읽어서 MAC API(140)에게 알려주고(S306), MAC 테이블(103)의 히트 상태를 리셋한다(S307).
도 4는 본 발명에 따라 MAC 테이블 엔트리를 삭제하는 경우 라우터의 동작 흐름을 나타낸다.
라우터(100)로 패킷이 수신되는 경우, 먼저 고속 패킷 포워딩 엔진(150)이 수신된 패킷의 목적지 IP 주소를 검색 인자로 하여 포워딩 테이블(101)을 검색하고, MAC 테이블(103)에서 해당 넥스트 홉 엔트리의 MAC 주소를 검색한다(S401). 라우터(100)가 수신된 패킷의 목적지의 MAC 주소를 가지고 있지 않은 경우, 고속 패킷 포워딩 엔진(150)은 스택 드라이버(130)를 통해 수신 패킷을 IP 스택(110)으로 발신한다(S402).
해당 패킷을 수신한 IP 스택(110)은 패킷의 넥스트 홉에 대한 ARP 요청(Request)을 라우터(100)와 연결된 동일 네트워크 내의 모든 노드(호스트 또는 다른 라우터)들에게 전송한다(S204). 동일 네트워크 내에 위치하는 노드 중에 ARP 요청 라우터(100)의 IP와 일치하는 IP 주소를 가지는 노드가 있어야 응답이 있을 것이나, 도 4의 실시예에서는 응답이 없는 경우를 가정하고 있다.
이 경우 IP 스택(110)은 ARP 요청에 대한 응답을 받지 못한 엔트리 ARP 스택(120)에서 삭제하도록 한다(S404). ARP 스택(120)을 모니터링 하던 MAC API(140)는 ARP 스택(120)에서 해당 엔트리가 삭제되면 삭제된 MAC 주소 정보를 MAC 테이블 관리자(160)에게 알려준다. 삭제된 MAC 주소 정보를 보고 받은 MAC 테이블 관리자(160)는 MAC 테이블(103)에서 해당 MAC 주소 엔트리를 삭제한다(S406).
삭제된 MAC 주소를 가진 넥스트 홉으로 전송될 패킷이 이후에 수신되는 경우 고속 패킷 포워딩 엔진(150)은 이 패킷을 IP 스택(110)으로 송신하고, IP 스택(110)은 ARP 요청을 하는 도 2에서와 같은 절차를 거치게 된다.
살펴본 바와 같이 본 발명은, 패킷 포워딩을 위해 기존에 사용되던 소프트웨어적인 IP 스택과 ARP 스택을 이용한 방법 외에, 별도로 하드웨어 단인 고속 패킷 포워딩 엔진에서 직접 MAC 테이블을 이용해 패킷 포워딩을 수행할 수 있도록 구현한다. 이를 위해 본 발명은, IP 스택과 고속 패킷 포워딩 엔진을 상호 연결하는 MAC API, 그리고 ARP 스택과 MAC 테이블의 데이터 일치를 위한 MAC 데이터 관리자를 두고 있다.
본 발명은, 일반적인 패킷 포워딩에서 발생하는 고속 패킷 포워딩 엔진 내부에서 MAC ARP를 동작시키는 데 따르는 구현의 복잡성을 피할 수 있게 하며, MAC 주소 엔트리의 생성, 삭제 상태 관리 등을 ARP 스택에서만 관리하게 하고, 상태 머신의 정상 동작을 위해 필요한 패킷 포워딩 정보를 고속 패킷 포워딩 엔진에서 ARP 스택으로 제공해 줌으로써 ARP 스택과 고속 패킷 포워딩 엔진에서 ARP 구동시 발생할 수 있는 오동작을 차단하는 이점을 가진다.

Claims (10)

  1. IP(Internet Protocol) 스택(Stack)과 ARP(Address Resolution Protocol) 스택을 구비하고, MAC 주소 테이블을 이용해 패킷 포워딩을 수행하는 장치에 있어서,
    상기 ARP 스택의 MAC 주소 갱신 정보에 대한 모니터링을 수행하는 MAC API;
    상기 MAC API로부터 보고되는 MAC 주소 정보로부터 MAC 주소 테이블을 업데이트하는 MAC 테이블 관리자; 및
    수신되는 패킷의 넥스트 홉(next Hop) MAC 주소를 상기 MAC 주소 테이블에서 검색하고, 검색된 넥스트 홉으로 수신된 패킷을 포워딩 하는 고속 패킷 포워딩 엔진을 포함하되,
    상기 MAC API는 보유하는 ARP 엔트리 리스트 중 상태가 스테일로 변한 ARP 엔트리가 발생하는 경우 상기 MAC 테이블 관리자에게 해당 MAC 주소 엔트리의 히트 상태를 요청하여 상기 ARP 엔트리의 상태를 갱신하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 장치.
  2. 제 1항에 있어서,
    상기 고속 패킷 포워딩 엔진과 IP 스택 간에 패킷을 전달하는 스택 드라이버를 더 포함하는 패킷 포워딩을 위한 MAC 주소 관리 장치.
  3. 제 1항에 있어서,
    상기 ARP 스택은,
    최근에 트래픽을 전송한 주변의 라우터나 호스트에 대한 엔트리를 테이블 형 태로 저장하는 네이버 캐쉬를 포함하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 장치.
  4. 제 3항에 있어서,
    상기 네이버 캐쉬의 엔트리는,
    상기 주변의 라우터나 호스트에 대한 IP 주소, MAC 주소, 접근 가능 상태에 대한 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 장치.
  5. 제 1항에 있어서,
    상기 고속 패킷 포워딩 엔진은,
    수신된 패킷의 목적지 MAC 주소 검색에 실패한 경우, 상기 IP 스택으로 상기 패킷을 전송하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 장치.
  6. 삭제
  7. IP(Internet Protocol) 스택(Stack)과 ARP(Address Resolution Protocol) 스택을 구비하고, MAC 주소 테이블을 이용해 패킷 포워딩을 수행하는 방법에 있어서,
    고속 패킷 포워딩 엔진이 상기 MAC 주소 테이블에서 수신되는 패킷의 넥스트 홉(Next Hop) MAC 주소를 검색하는 단계;
    상기 검색 결과 넥스트 홉의 MAC 주소 검색에 실패하는 경우, 상기 패킷을 IP 스택으로 송신하는 단계;
    상기 패킷을 수신한 IP 스택이 ARP 요청을 통해 넥스트 홉의 MAC 주소 확보를 시도하는 단계;
    상기 MAC 주소 확보 결과에 따라 상기 패킷에 대한 ARP 엔트리를 생성 또는 삭제하고, MAC 테이블 관리자로 하여금 상기 MAC 주소 테이블을 갱신하도록 하는 단계; 및
    ARP 엔트리 중 상태가 스테일로 변한 ARP 엔트리가 발생하는 경우, 상기 MAC 테이블 관리자에게 해당 MAC 주소 엔트리의 히트 상태를 요청하여 상기 ARP 엔트리의 상태를 갱신하는 단계를 포함하는 패킷 포워딩을 위한 MAC 주소 관리 방법.
  8. 제 7항에 있어서,
    상기 MAC 주소 테이블 갱신 단계에서,
    상기 패킷에 대한 MAC 주소 확보에 성공한 경우,
    상기 ARP 스택으로 하여금 상기 MAC 주소에 대한 새로운 ARP 엔트리를 생성하도록 하고, MAC 테이블 관리자로 하여금 상기 새로운 ARP 엔트리를 상기 MAC 테이블에 추가하도록 하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 방법.
  9. 제 7항에 있어서,
    상기 MAC 주소 테이블 갱신 단계에서,
    상기 패킷에 대한 MAC 주소 확보에 실패한 경우,
    상기 패킷에 대한 엔트리를 ARP 스택에서 삭제하고, MAC 테이블 관리자로 하여금 상기 패킷의 엔트리를 상기 MAC 테이블에서도 삭제하도록 하는 것을 특징으로 하는 패킷 포워딩을 위한 MAC 주소 관리 방법.
  10. IP(Internet Protocol) 스택(Stack)과 ARP(Address Resolution Protocol) 스택을 구비하고, MAC 주소 테이블을 이용해 패킷 포워딩을 수행하는 방법에 있어서,
    고속 패킷 포워딩 엔진이 상기 MAC 주소 테이블에서 수신되는 패킷의 넥스트 홉(Next Hop) MAC 주소를 검색하는 단계;
    상기 검색 결과 넥스트 홉의 MAC 주소가 존재하는 경우, 상기 MAC 주소 테이블의 MAC 주소 엔트리의 히트(Hit) 상태를 세팅하고, 상기 MAC 주소의 넥스트 홉으로 상기 패킷을 포워딩 하는 단계;
    상기 ARP 스택에서 상기 포워딩 한 패킷의 ARP 엔트리 상태가 스테일로 변한 경우, MAC 테이블 관리자에게 해당 MAC 주소 엔트리의 히트 상태를 요청하는 단계; 및
    MAC 테이블 관리자가 요청 받은 MAC 주소 엔트리의 히트 상태를 읽어 응답하고, 상기 MAC 테이블의 히트 상태를 리셋하는 단계를 포함하는 패킷 포워딩을 위한 MAC 주소 관리 방법.
KR1020040110657A 2004-12-22 2004-12-22 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법 KR100705565B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040110657A KR100705565B1 (ko) 2004-12-22 2004-12-22 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040110657A KR100705565B1 (ko) 2004-12-22 2004-12-22 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060072256A KR20060072256A (ko) 2006-06-28
KR100705565B1 true KR100705565B1 (ko) 2007-04-10

Family

ID=37165467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040110657A KR100705565B1 (ko) 2004-12-22 2004-12-22 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100705565B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823135B1 (ko) * 2007-03-13 2008-04-21 삼성전자주식회사 효율적 arp 요청을 수행하는 라우팅 제어 장치 및 그방법
CN110224936B (zh) * 2019-06-12 2021-11-09 四川灵通电讯有限公司 基于mac地址和网络接口的路由方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020051693A (ko) * 2000-12-23 2002-06-29 엘지전자 주식회사 가상 에이알피 패킷을 이용한 프록시 에이알피 동작 방법
KR20040041386A (ko) * 2002-11-11 2004-05-17 엘지전자 주식회사 맥 어드레스 처리 방법
KR20040049899A (ko) * 2002-12-05 2004-06-14 엘지전자 주식회사 범용 서버에서 싱글 아이피 어드레스를 이용한 메시지송수신 방법
KR20040062343A (ko) * 2003-01-02 2004-07-07 삼성전자주식회사 분산형 라우터 및 그 분산형 라우터의 에이알피 패킷 처리방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020051693A (ko) * 2000-12-23 2002-06-29 엘지전자 주식회사 가상 에이알피 패킷을 이용한 프록시 에이알피 동작 방법
KR20040041386A (ko) * 2002-11-11 2004-05-17 엘지전자 주식회사 맥 어드레스 처리 방법
KR20040049899A (ko) * 2002-12-05 2004-06-14 엘지전자 주식회사 범용 서버에서 싱글 아이피 어드레스를 이용한 메시지송수신 방법
KR20040062343A (ko) * 2003-01-02 2004-07-07 삼성전자주식회사 분산형 라우터 및 그 분산형 라우터의 에이알피 패킷 처리방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020051693 *
1020040062343 *

Also Published As

Publication number Publication date
KR20060072256A (ko) 2006-06-28

Similar Documents

Publication Publication Date Title
US6574663B1 (en) Active topology discovery in active networks
US9686194B2 (en) Adaptive multi-interface use for content networking
KR101774951B1 (ko) 분산형 라우팅 테이블 탐색 기술
JP5624331B2 (ja) コンピュータ実施方法
US8923305B2 (en) Flooding-based routing protocol having database pruning and rate-controlled state refresh
US20110051738A1 (en) Method, system and device for maintaining routes
US20110032939A1 (en) Network system, packet forwarding apparatus, and method of forwarding packets
RU2558624C2 (ru) Устройство управления, система связи, способ связи и носитель записи, содержащий записанную на нем программу для связи
US8059658B1 (en) Method and system for automatic expansion and contraction of IP host forwarding database
US8532123B2 (en) Handoffs in a hierarchical mobility label-based network
KR100612315B1 (ko) 핑퐁 방지 기능이 구비된 분산형 라우터 및 그를 이용한핑퐁 방지 방법
Ascigil et al. A native content discovery mechanism for the information-centric networks
JP3685918B2 (ja) 中継装置、ネットワーク中継システムおよび中継方法
US20060153193A1 (en) Network routing control method and apparatus
KR100670818B1 (ko) 분산 구조 라우터에서의 계층2 테이블 관리 방법 및 시스템
KR100705565B1 (ko) 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법
US6615273B1 (en) Method for performing enhanced target identifier (TID) address resolution
KR100475436B1 (ko) 분산형 라우터 및 그 분산형 라우터의 에이알피 패킷 처리방법
US20100080169A1 (en) Hierarchical mobility label-based network
KR100534617B1 (ko) 다중 룩업 부하 감소기능이 구비된 엠피엘에스 에지라우터 및 그 제어방법
CN113037647A (zh) 报文处理方法、装置、设备及计算机可读存储介质
KR100637931B1 (ko) 분산 포워딩 구조 라우터에서의 듀얼 스택 전환메커니즘을 위한 IPv4 주소 풀 관리방법
KR100560756B1 (ko) 분산 구조 라우터의 가상 랜 지원 방법 및 그 장치
KR100590870B1 (ko) 가상 근거리 망에서 멀티캐스트 트래픽을 제거하는 방법및 그 장치
JP2004312308A (ja) 経路制御方法、データ集約装置および経路制御システム

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
LAPS Lapse due to unpaid annual fee