KR20150095151A - 패킷 포워딩 방법 및 장치 - Google Patents

패킷 포워딩 방법 및 장치 Download PDF

Info

Publication number
KR20150095151A
KR20150095151A KR1020140016297A KR20140016297A KR20150095151A KR 20150095151 A KR20150095151 A KR 20150095151A KR 1020140016297 A KR1020140016297 A KR 1020140016297A KR 20140016297 A KR20140016297 A KR 20140016297A KR 20150095151 A KR20150095151 A KR 20150095151A
Authority
KR
South Korea
Prior art keywords
packet
address
destination
network
identifier
Prior art date
Application number
KR1020140016297A
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 KR1020140016297A priority Critical patent/KR20150095151A/ko
Publication of KR20150095151A publication Critical patent/KR20150095151A/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/72Routing based on the source address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

중복 주소를 가지는 단말에 대한 패킷 포워딩 방법이 개시된다. 패킷 포워딩 방법에서 네트워크 장치는 패킷을 수신하고, 수신된 패킷으로부터 목적지의 IP 주소와 식별자를 추출하고, 추출된 IP 주소 및 식별자를 네트워크 장치의 포워딩 테이블에서 검색하여 패킷을 송신할 포트를 결정하고, 결정된 포트로 패킷을 송신할 수 있다. 따라서, 사설망의 사용으로 인해 단말의 IP 주소가 중복되는 경우에도 사설망 외부에서 단말을 구별하여 통신할 수 있다.

Description

패킷 포워딩 방법 및 장치{METHOD FOR PACKET FORWARDING AND APPARATUS THEREOF}
본 발명은 패킷 포워딩 방법 및 장치에 관한 것으로, 더욱 상세하게는 라우터가 네트워크를 구분하여 패킷을 포워딩하는 방법 및 장치에 관한 것이다.
IT기술이 발달하면서 기업에서 대부분의 업무처리는 전산화된 시스템을 통해 이루어지며, 기업의 전산 시스템은 네트워크상에 연결됨으로써 업무 처리의 효율을 더욱 높일 수 있다. 관리의 편의나 보안성을 확보하기 위해 기업은 독자적인 네트워크를 구축해서 사용하여 왔는데 이것을 사설망이라 한다. 일반적으로 사설망은 IP(Internet Protocol) 주소의 부족으로 인하여 사설 IP 주소를 사용하여 구축된다. 기업은 전용회선(Lease Line)을 임대하여 사설망을 구축하는 방법을 사용한다. 이때, 전용회선을 구축하기 위해서 많은 비용을 투자하여야 한다. 특히 하나의 기업이 물리적으로 여러 곳 또는 원거리에 분산되어 위치한 경우, 독자적인 네트워크를 구축하는 데는 더욱 많은 비용이 필요하다. 따라서, 기업은 보다 저렴하게 사설망을 구축하기 위한 방법으로 공중망(Public Network)을 사용하여 사설망을 구축하는 노력이 많이 시도되어 왔다.
이와 같이 공중망을 이용하여 사설망의 기능을 제공하는 것을 가상사설망(Virtual Private Network)이라 한다. 인터넷의 발달로 인해 많은 망사업자들은 FR(Frame Relay)/ATM(Asynchronous Transfer Mode) 망을 IP(Internet Protocol) 망으로 교체하였고, 그에 따라 IP 망을 활용하여 가상 사설망을 제공하기 위한 기술들이 많이 개발되었다.
이러한 가상 사설망은 기업의 내부 사설 통신망과 공중 인터넷과 연결만 하면 되기 때문에 별도로 값비싼 장비나 소프트웨어를 구입하고 관리할 필요가 없다. 따라서, 기존의 사설망 연결 방식보다 비용이 대폭 절감되는 효과를 기대할 수 있으며 재택 근무자, 출장이 잦은 직원, 현재 근무자들이 인터넷 서비스 제공자와 인터넷을 통하여 기업 사설망에 연결할 수 있다는 장점도 가지고 있다.
즉, 가상사설망의 경우 공중 인터넷을 이용하기 때문에 보다 유연하고 값싸게 본사와 지사, 지사와 지사, 외부 직원의 자료 공유가 용이해진다. 가상 사설망을 구축하는 방법으로 패킷 기반의 비연결형 네트워크인 인터넷상에서 MPLS, L2VPN, L3VPN, L2TP, PPTP과 같은 특정 프로토콜을 사용하여 연결성을 제공하거나 IPSec, SSL과 같은 보안 기능을 추가하여 가상 사설망을 구축하는 경우가 있다.
하지만, 기존의 MPLS L2VPN, L3VPN, L2TP, PPTP 방식은, 단말 간에 IP 주소가 중복될 경우, 인터넷 서비스 제공자(또는 서버)가 IP 주소가 중복된 가입자 단말들을 서로 구분하지 못하고, 따라서, 가입자 단말기에게 회신 데이터를 전달하지 못한다는 문제점이 있다.
상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 동일 IP 주소를 갖는 단말기를 사설망 내부뿐만 아니라 외부에서도 구별할 수 있게 하는 패킷 포워딩 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은 상기 패킷 포워딩 장치에서 수행되는 패킷 포워딩 방법을 제공하는 것이다.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 패킷 포워딩 방법은 패킷을 수신하는 단계, 상기 수신된 패킷으로부터 목적지 주소를 추출하는 단계, 상기 수신된 패킷으로부터 목적지 식별자를 추출하는 단계; 상기 추출된 주소 및 식별자를 기초로하여 상기 패킷을 송신할 포트를 결정하는 단계 및 상기 결정된 포트로 상기 패킷을 송신하는 단계를 포함한다.
여기서, 상기 포트를 결정하는 단계는 상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 한다.
여기서, 상기 포트를 결정하는 단계는 상기 생성된 인자가 상기 포워딩 테이블에서 검색되지 않으면, 미리 설정된 디폴트 포트를 상기 패킷을 송신할 포트로 결정하는 것을 특징으로 한다.
여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.
여기서, 상기 패킷 포워딩 방법은 패킷을 수신하기 전에 단말 식별자 기반의 네트워크 구조 정보를 포함하는 라우팅 테이블을 참조하여 포워딩 테이블을 생성하는 단계를 더 포함한다.
여기서, 상기 라우팅 테이블은 이웃한 네트워크 장치로부터 수신한 네트워크 구조 정보를 참조하여 생성된 것을 특징으로 한다.
또한, 상술한 본 발명의 목적을 달성하기 위한 본 발명의 다른 측면에 따른 패킷 포워딩 방법은 패킷을 수신하는 단계, 상기 수신된 패킷으로부터 출발지 및 목적지 주소를 추출하는 단계, 상기 수신된 패킷으로부터 출발지 및 목적지 식별자를 추출하는 단계 및 상기 추출된 주소 및 식별자를 반영하도록 상기 수신된 패킷의 헤더를 수정하는 단계를 포함한다.
여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.
또한, 상술한 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 패킷 포워딩 장치는 수신된 패킷을 저장하는 저장부, 상기 저장된 패킷에서 목적지 주소 및 식별자를 추출하고, 추출된 주소 및 식별자를 기초로하여 상기 패킷을 송신할 포트를 결정하는 제어부 및 단말 또는 타 네트워크 장치에 대해, 패킷을 수신하고, 상기 결정된 포트를 통해 패킷을 송신하는 통신부를 포함한다.
여기서 상기 제어부는 상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 한다.
여기서, 상기 제어부는 상기 추출된 주소 및 식별자를 반영하도록 상기 저장된 패킷의 헤더를 수정하는 것을 특징으로 한다.
여기서, 상기 목적지의 주소는 목적지의 IP 프리픽스인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지의 네트워크의 ID인 것을 특징으로 한다.
여기서, 상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC 주소인 것을 특징으로 한다.
상술한 바와 같은 패킷 포워딩 장치 및 방법에 따르면, 사설망의 사용으로 인해 단말기의 IP 주소가 중복되는 경우에도 사설망 외부에서 상기 단말기를 구별하여 통신할 수 있다.
또한, 하나의 네트워크 장치로 IP 주소 중복 문제를 해결할 수 있으므로 경제성 있는 사설망을 구축할 수 있다.
도 1은 네트워크 상에서 라우터의 동작을 나타내는 개념도이다.
도 2는 네트워크의 구조의 일 실시예를 나타내는 개념도이다.
도 3은 네트워크의 구조의 다른 실시예를 나타내는 개념도이다.
도 4는 라우터의 포워딩 테이블을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 라우터의 포워딩 테이블을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 패킷 전달 과정을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 포워딩 테이블 관리 과정을 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 장치의 구성을 나타내는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 본 출원에서, "연결하다"의 용어는 명세서상에 기재된 요소의 물리적인 연결만을 의미하는 것이 아니라, 적기적인 연결, 네트워크적인 연결 등을 포함하는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 네트워크 상에서 라우터의 동작을 나타내는 개념도이다.
도 1을 참조하면, 네트워크 상에서 패킷이 제1 단말(100)로부터 제2 단말(110)까지 전달되는 경로는 2개이다. 제 1경로는 세 개의 라우터를 경유하고, 제 2 경로는 네 개의 라우터를 경유한다. 라우터는 일반적으로 네트워크 상에서 출발지부터 목적지까지의 복수의 경로 중 비용이 가장 적게 드는(또는 빨리 전송할 수 있는)경로를 정하여 패킷을 전송한다. 따라서, 라우터 A(120)는 세 개의 라우터만을 경유하여 패킷을 전달 할 수 있는 제1 경로를 선택하고, 패킷을 라우터 C(130)에게 전송한다.
이때, 라우터가 출발지부터 목적지까지의 비용이 가장 적게 드는 경로(이하, '최소경로'라 지칭함)를 판단하기 위해서는 전체 네트워크 구조에 대한 정보가 필요하다. 라우터는 자신에게 직접 연결된 주변 라우터 또는 사용자 단말 등을 인식할 수 있기 때문에 자신을 중심으로 주변 네트워크 구조만을 파악할 수 있다. 따라서, 라우터는 자신이 파악한 네트워크 구조에 관한 정보(이하, '라우팅 테이블'이라 지칭함)를 다른 라우터와 교환하여, 전체 네트워크 구조를 파악할 수 있다. 단말이나 라우터 등은 네트워크 상에 새롭게 추가되거나 존재하던 것이 제거될 수 있다. 따라서 라우터는 미리 설정된 일정 주기로 다른 라우터와 라우팅 테이블을 교환하여 변경된 네트워크 구조를 기준으로 최소경로를 판단하고 패킷을 전달할 수 있다.
도 1에서는 실제 네트워크를 단순화한 두 개의 경로만을 가진 네트워크를 예를 들었지만, 실제 네트워크는 패킷의 출발지부터 목적지까지의 경로가 훨씬 복잡하다. 패킷 전달 경로상의 라우터간에 물리적인 거리가 다르고, 전송속도도 다르기 때문에 패킷 전달 경로상의 라우터의 개수만으로 최소경로를 결정할 수 없다. 따라서, 라우터는 단순히 경로상의 라우터의 개수가 아니라, 대역폭, 전송지연, 회선 신뢰도, 부하 등 다양한 정보를 고려하여 최소경로를 판단할 수 있다.
이하에서는 설명의 편의를 위해 전체 네트워크를 종단 라우터(또는 사용자 단말과 직접 연결된 라우터)를 기준으로 ISP망(또는 인터넷)을 의미하는 외부 네트워크와 기업망, 자가망, 사설망, VLAN(Virtual Local Architecture Network) 및 VPN 등을 의미하는 내부 네트워크로 구분하여 설명한다.
도 2와 도 3은 기존 네트워크의 구조를 나타내는 구조도로서, 도 2는 여러 기업이 각각의 라우터를 사용하여 구축한 네트워크의 구조를 나타내고, 도 3은 여러 기업이 동일한 라우터를 사용하여 구축한 네트워크의 구조를 나타낸다.
도 2를 참조하면, 내부 네트워크 A(200), 내부 네트워크 B(210)는 라우터 A(220), 라우터 B(230)를 각각 사용하여 외부 네트워크와 연결되며, 단말 A(240), 단말 B(250)를 각각 포함한다.
도 2는 IP 주소 체계에서 라우터 A(220)의 주소가 168.0.0.1/16이고, 단말 A(240)의 주소가 10.0.0.0/16이고, 라우터 B(230)의 주소가 168.0.0.2/16이고, 단말 B(250)의 주소가 10.0.0.0/16인 경우를 가정한다. 패킷을 전송하는 라우터들은 단말이 아니라 단말을 포함하는 라우터를 기준으로 패킷을 전달한다. 따라서, 외부 네트워크에서 인식하는 단말 A(240)의 주소는 168.0.0.1/16이고, 단말 B(250)의 주소는 168.0.0.2/16이고, 단말 A(240)와 단말 B(250)는 주소로 구별될 수 있다. 또한, 내부 네트워크에서도 라우터 A(220), 라우터 B(230)는 각각 10.00.0/16의 주소를 갖는 단말을 한대만 인식하기 때문에 단말 A(240) 와 B의 주소가 충돌하는 문제는 발생하지 않는다.
도 3을 참조하면, 내부 네트워크 A(300), 내부 네트워크 B(310)는 동일한 라우터 A(320)를 사용하여 외부 네트워크와 연결되며, 단말 A(330), 단말 B(340)를 각각 포함한다.
도 3은 IP 주소 체계에서 라우터 A(320)의 주소가 168.0.0.1/16이고, 내부 네크워크에서 단말 A(330)의 주소가 10.0.0.0/16이고, 단말 B(340)의 주소가 10.0.0.0/16인 경우를 가정한다. 도 2에서 설명한 바와 같이 외부 네트워크는 두 단말(330, 340)을 포함하는 라우터 A(320)의 주소를 인식한다. 따라서, 외부 네트워크에서 인식하는 단말 A(330), 단말 B(340)의 주소는 각각 168.0.0.1/16로 동일하다. 또한, 내부 네트워크에서 인식하는 단말 A(330), 단말 B(340)의 주소도 모두 10.0.0.0/16으로, 라우터 A(320)는 단말 A(330)와 단말 B(340)를 구별할 수 없다.
이와 같은 경우, 기존의 라우터는 패킷의 헤더에 기록된 목적지 IP 주소를 기반으로 패킷을 전달하기 때문에, IP 주소의 충돌로 인해 패킷을 전달하지 못할 수 있다.
도 4는 라우터의 포워딩 테이블을 나타낸다.
도 4를 참조하면, 포워딩 테이블은 IP 프리픽스(400)와 그에 대응되는 출력포트(410)를 항목으로 포함할 수 있다.
포워딩 테이블이란 패킷의 목적지 주소와 그에 대응되는 라우터 출력포트의 리스트이다. 라우터는 다른 라우터 또는 사용자 단말이 연결되어 패킷을 입출력 할 수 있는 복수의 포트를 포함할 수 있다. 따라서, 라우터는 패킷을 수신하면, 수신된 패킷에서 목적지 주소를 추출하고, 추출된 목적지 주소를 포워딩 테이블에서 검색하여 패킷을 출력할 포트를 결정할 수 있다.
포워딩 테이블은 라우팅 테이블을 참조하여 생성될 수 있다. 라우팅 테이블은 네트워크의 구조를 표로 나타낸 것으로, 네트워크 구조를 표현할 수 있는 다양한 항목의 정보를 포함할 수 있다. 예를 들면, 마스크(mask), 목적지 주소, 다음 홉(hop) 주소, 플래그(flags), 참조 횟수, 사용, 인터페이스 등의 다양한 항목을 포함할 수 있다. 인터넷은 너무 광범위해서 라우터가 네트워크 구조에 관한 정보를 저장는데는 한계가 있다. 따라서, 라우터는 몇 가지 방법을 통해 라우팅 테이블을 효율적으로 사용한다.
라우팅 방법은 크게 다음 홉 라우팅(Next-Hop Routing), 호스트 지정 라우팅 (Host-Specific Routing), 네트워크 지정 라우팅(Network-Specific Routing), 리폴트 라우팅(Default Routing)으로 구분될 수 있다. 각 라우팅 방법의 특징은 다음과 같다.
1. 다음 홉 라우팅
- 목적지에 대한 전체 경로 대신 다음 홉(또는 라우터)에 대한 주소만을 저장.
2. 호스트 지정 라우팅
- 목적지 호스트에 주소를 저장.
- 라우팅 테이블이 너무 커져 비효율적.
- 경로를 점검하거나 보안을 위해 특정 경로를 이용해야 하는 경우 사용.
3. 네트워크 지정 라우팅
- 목적지에 대한 사용자 단말(또는 호스트) 주소 대신, 사용자 단말을 포함하는 네트워크의 주소를 저장.
4. 디폴트 라우팅
- 라우팅 테이블에 명시되어 있지 않은 주소를 목적지로 하는 패킷의 전달에 사용.
- 다른 라우팅 방법을 보조함.
상기 네 개의 라우팅 방법 중 호스트 지정 라우팅 방법을 제외한 나머지 라우팅 방법들은 네트워크 주소를 기준으로 패킷을 전달할 수 있다. 본 발명은 상기 네 개의 방법 모두에서 적용될 수 있지만, 이하에서는 설명의 편의를 위해 일반적으로 많이 사용되고 있는 네트워크 주소를 기준으로 한 라우팅 방법에 적용될 수 있는 포워딩 방법을 설명한다.
네트워크 주소를 기준으로 한 라우팅 방법에서 라우터는 사용자 단말의 주소 대신 네트워크의 주소를 사용하기 때문에 포워딩 테이블은 네트워크 주소와 그에 대응되는 출력포트로 구성될 수 있다. 패킷에 포함된 IP 주소는 네트워크 주소와 호스트(host) 주소를 포함할 수 있다. 따라서, 라우터는 패킷의 목적지 IP 주소에서 네트워크 주소를 추출할 필요가 있다. IP 주소 체계는 0.0.0.0 ~ 255.255.255.255의 영역에서 설정된다. 0 ~ 255를 비트로 바꾸면 00000000b ~ 11111111b의 8비트로 표시될 수 있으며, IP 주소 체계는 8비트의 수 네 개로 표시되므로 총 32비트로 표시된다. 여기서, 32개의 비트 중에 상위 비트가 네트워크 주소를 나타내며 'IP 프리픽스'라 지칭된다. 일반적으로 '/'뒤에 상위 몇 비트가 IP 프리픽스인지 표시된다. 예를 들면, IP 프리픽스 10.20.100.200/16에서 네트워크 주소는 상위 16비트인 10.20 이고, 호스트 주소는 하위 16비트인 100.200일 수 있다.
도 4와 같은 포워딩 테이블을 사용하는 라우터는 동일한 IP 프리픽스를 갖는 사용자 단말이 복수 개 존재하여, 포워딩 테이블에 하나의 IP 프리픽스에 대응되는 출력포트가 복수인 경우, 각 사용자 단말에게 패킷을 전달할 수 없다. 예를 들면, 동일한 내부 네트워크 IP 주소를 갖는 두 개의 단말 중 하나의 단말을 목적지로 하는 패킷이 라우터에게 전달되면, 라우터는 전달된 패킷에서 IP 프리픽스를 추출한다. 라우터는 추출된 IP 프리픽스를 포워딩 테이블에서 룩업(look up)한다. 이때, 하나의 IP 프리픽스에 대응하는 출력포트가 두 개 존재하므로, 라우터는 두 개의 출력포트 중 어느 포트로 패킷을 전달할지 결정할 수 없고, 따라서, 패킷을 전달할 수 없게 된다.
도 5는 본 발명의 일 실시예에 따른 라우터의 포워딩 테이블으로서, IP 프리픽스와 그에 대응하는 출력포트의 리스트로 구성되어 있다.
도 5를 참조하면, 포워딩 테이블은 IP 프리픽스(500) 및 식별자(510)의 조합과 그에 대응되는 출력포트(520)를 항목으로 포함할 수 있다.
라우터는 다른 라우터와 라우팅 프로토콜을 이용하여 라우팅 테이블을 교환할 수 있으므로, 하나의 라우터는 네트워크 상의 다른 라우터들에게 식별자 정보가 추가된 라우팅 테이블을 전파할 수 있다.
여기서, 식별자(510)는 목적지 네트워크를 다른 네트워크와 구분할 수 있는 정보일 수 있다. 예를 들면, 식별자(510)는 네트워크 ID, 네트워크를 관리하는 네트워크 장치의 MAC(Medium Access Control) 주소 및 사용자 단말의 MAC 주소 등의 다양한 정보일 수 있다.
따라서, 네트워크 상의 각 라우터는 수신된 라우팅 테이블을 참조하여 식별자(510) 정보가 추가된 포워딩 테이블을 생성하거나 갱신할 수 있다. 이와 같이 식별자(510) 정보를 추가된 포워딩 테이블을 사용함으로써, 사설 IP 주소뿐만 아니라 공인 IP 주소를 사용하는 네트워크 영역에서도 라우터는 동일한 IP 프리픽스를 갖는 단말기나 네트워크 장치를 구별하여 패킷을 송수신할 수 있다.
도 6은 본 발명의 일 실시예에 따른 패킷 전달 과정을 나타내는 흐름도로써, 라우터가 패킷에서 식별자 정보 및 IP 주소 정보를 추출하여 패킷을 전달하는 과정을 나타낸다.
도 6을 참조하면, 라우터는 패킷을 수신하면(S600), 먼저 패킷에서 패킷 목적지의 식별자 및 IP 프리픽스를 추출할 수 있다(S610). 패킷이 출발지부터 목적지까지 전달되는 과정에는 여러 개의 라우터가 존재할 수 있기 때문에, 라우터는 출발지로부터 패킷을 직접 수신할 수도 있고, 다른 라우터로부터 패킷을 수신할 수도 있다.
이때, 라우터는 추출된 IP 프리픽스 및 식별자를 반영하도록 패킷의 헤더를 수정할 수 있다. 따라서, 이후, 목적지까지의 패킷 전달 과정에서 타 라우터는 추출과정을 반복하지 않을 수 있다. 패킷의 헤더에는 이미 IP 프리픽스가 포함되어 있기 때문에 라우터는 패킷의 헤더에 식별자 정보를 추가로 포함시킬 수 있다.
다음으로, 라우터는 추출된 IP 프리픽스와 식별자를 하나의 인자로 하여 미리 생성된 포워딩 테이블을 검색할 수 있다(S620). 포워딩 테이블은 식별자 및 IP 프리픽스의 조합에 대응되는 출력포트의 리스트로 구성될 수 있다. 따라서, 라우터는 동일한 IP 프리픽스에 대응되는 출력포트가 복수 개 존재하더라도 식별자를 이용하여 패킷을 전송할 출력포트를 검색할 수 있다.
다음으로, 라우터는 검색된 출력포트로 패킷을 전송할 수 있다(S630). 앞에서 설명한 것과 마찬가지로, 패킷이 출발지부터 목적지까지 전달되는 과정에는 여러 개의 라우터가 존재할 수 있기 때문에, 라우터는 목적지에 패킷을 직접 전송할 수도 있고, 다른 라우터에 패킷을 전송할 수도 있다.
도 7은 본 발명의 일 실시예에 따른 포워딩 테이블 관리 과정을 나타내는 흐름도로써, 라우터가 연결된 사용자 단말 또는 주변 라우터로부터 라우팅 테이블을 교환하여 포워딩 테이블을 생성하고 갱신하는 과정을 나타낸다.
도 7을 참조하면, 라우터는 직접 연결된 라우터와 라우팅 테이블을 교환할 수 있다(S700). 여기서, 라우팅 테이블을 교환한다는 의미는 라우터가 타 라우터에게 자신의 라우팅 테이블을 송신하고, 타 라우터의 라우팅 테이블을 수신한다는 의미이지, 자신의 라우팅 테이블을 타 라우터의 라우팅 테이블로 교체한다는 의미는 아니다.
라우터는 직접 연결된 라우터 만을 인식할 수 있기 때문에, 네트워크 상의 각 라우터는 서로 라우팅 테이블을 교환하여 전체 네트워크 구조를 파악할 수 있고, 직접 연결된 라우터의 정상작동 여부도 확인할 수 있다.
외부 네트워크의 구조는 네트워크에 새로운 라우터가 추가되거나 존재하던 라우터가 제거되는 등 변동될 수 있으므로, 라우터는 미리 설정된 일정 주기로 라우팅 테이블의 교환을 반복하여 변동된 네트워크 구조를 파악할 수 있다. 네트워크 관리자가 라우팅 테이블의 항목을 수동으로 입력하여 라우터가 네트워크 구조를 파악하는 방법도 가능하나 현재의 인터넷과 같이 광범위한 네트워크 구조에서는 사용하지 않으며, 실험적인 네트워크에서 제한적으로 사용되는 방법이다.
다음으로, 라우터는 자신에게 연결된 사용자 단말의 IP 주소와 사용자 단말을 포함하는 네트워크의 식별자를 이용하여 인접 사용자 단말을 파악할 수 있다(S710). 내부 네트워크의 구조는 사용자 단말이 네트워크 상에 추가되거나 제거되는 경우 또는 사용자 단말을 관리하는 허브나 스위치 같은 네트워크 장치가 추가되거나 제거되는 등에 따라 변동될 수 있다. 따라서, 라우터는 미리 설정된 일정 주기로 내부 네트워크 구조를 파악하여 변동된 구조를 파악할 수 있다.
내부 네트워크를 포함하는 라우터에서 단계 S700 및 S710이 수행되는 경우, 단계 S700은 외부 네트워크 구조를 파악하는 과정이고, 단계 S710은 내부 네트워크 구조를 파악하는 과정이다. 외부 네트워크와 내부 네트워크는 독립적이기 때문에 단계 S700 및 S710은 서로 순서에 관계없이 수행될 수 있다. 예를 들면, 단계 S700이 먼저 수행되고 단계 S700이 수행될 수 있다. 또한, 내부 네트워크를 포함하지 않는 라우터(또는 사용자 단말과 연결되지 않고 타 라우터와 연결된 라우터)는 단계 S710을 수행하지 않을 수 있다.
다음으로, 라우터는 포워딩 테이블을 생성 및 갱신할 수 있다(S720). 내부 네트워크를 포함하는 라우터의 경우에는 교환된 라우팅 테이블과 생성된 네트워크 정보를 모두 이용하여 포워딩 테이블을 생성 및 갱신할 수 있고, 내부 네트워크를 포함하지 않는 라우터의 경우에는 교환된 라우팅 테이블 만을 이용하여 포워딩 테이블을 생성 및 갱신할 수 있다.
단계 S700 내지 단계 S720을 통해 라우터는 효율적으로 패킷을 전달하기 위한 준비를 할 수 있다.
도 8은 본 발명의 일 실시예에 따른 네트워크 장치의 구성을 나타내는 블록도로써, IP 주소 이외에 추가로 단말을 식별할 수 있는 식별자 정보를 이용하여 패킷을 포워딩하는 네트워크 장치의 구성을 나타낸다.
도 8을 참조하면, 네트워크 장치는 제어부(800), 저장부(810) 및 통신부(820)를 포함할 수 있다.
제어부(800)는 적어도 하나의 처리장치(예를 들면, 중앙처리장치, 입출력 처리장치, 그래픽 처리장치 등)로 구성될 수 있고, 네트워크 장치의 각 구성 요소를 제어하고, 각 구성 요소로부터 제공받는 정보를 처리할 수 있다.
구체적으로, 제어부(800)는 다음과 같은 동작할 수 있다.
제어부(800)는 통신부(820) 및 저장부(810)를 제어할 수 있다.
제어부(800)는 저장된 패킷에서 출발지 및 목적지 각각의 주소 및 식별자를 추출할 수 있다. 이때, 제어부(800)는 저장된 패킷의 헤더를 수정하여 추출된 주소 및 식별자 정보를 헤더에 포함시킬 수 있다.
제어부(800)는 추출된 주소 및 식별자를 기초로 하여 패킷을 송신할 포트를 결정할 수 있다. 여기서, 제어부는 추출된 주소 및 식별자를 쌍으로 하나의 인자를 생성하고, 생성된 인자를 저장된 포워딩 테이블에서 검색하여 패킷을 송신할 포트를 결정할 수 있다. 여기서, 포워딩 테이블은 인자와 그에 대응하는 포트의 정보를 포함할 수 있다.
제어부는(800) 라우팅 테이블을 참조하여 포워딩 테이블을 생성할 수 있다.
저장부(810)는 휘발성 또는 비휘발성 저장 수단으로 구성될 수 있고, 제어부(800)의 제어에 의해 동작할 수 있으며, 구체적으로, 다음과 같이 동작할 수 있다.
저장부는(810) 포워딩 테이블 및 라우팅 테이블을 저장할 수 있다.
저장부는(810) 패킷을 저장할 수 있다. 여기서, 패킷은 통신부(820)에 의해 단말 또는 타 네트워크 장치로부터 수신된 패킷일 수 있고, 제어부(800)에 의해 헤더의 정보가 수정된 패킷일 수도 있다.
통신부(820)는 적어도 하나의 포트(825)를 포함할 수 있고, 네트워크 장치의 제어에 의해 동작할 수 있으며, 각 포트는 단말 또는 타 네트워크 장치와 유선 또는 무선으로 연결될 수 있다. 연결 후, 통신부(820)는 라우팅 테이블 및 패킷을 송수신할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 제1 단말 110 : 제2 단말
120 : 라우터 A 130 : 라우터 C
200, 300 : 내부 네트워크 A 210, 310 : 내부 네트워크 B
220, 320 : 라우터 A 230 : 라우터 B
240, 330 : 단말 A 250, 340 : 단말 B
400, 500 : IP 프리픽스 410, 520 : 출력포트
510 : 식별자 800 : 제어부
810 : 저장부 820 : 통신부

Claims (18)

  1. 네트워크(network) 장치에서 수행되는 방법으로,
    패킷(packet)을 수신하는 단계;
    상기 수신된 패킷으로부터 목적지 주소를 추출하는 단계;
    상기 수신된 패킷으로부터 목적지 식별자를 추출하는 단계;
    상기 추출된 주소 및 식별자를 기초로 하여 상기 패킷을 송신할 포트(port)를 결정하는 단계; 및
    상기 결정된 포트로 상기 패킷을 송신하는 단계를 포함하는 패킷 포워딩(forwarding) 방법.
  2. 청구항 1에 있어서,
    상기 포트를 결정하는 단계는,
    상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블(table)에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 하는 패킷 포워딩 방법.
  3. 청구항 2에 있어서,
    상기 포트를 결정하는 단계는,
    상기 생성된 인자가 상기 포워딩 테이블에서 검색되지 않으면, 미리 설정된 디폴트(default) 포트를 상기 패킷을 송신할 포트로 결정하는 것을 특징으로 하는 패킷 포워딩 방법.
  4. 청구항 1에 있어서,
    상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 방법.
  5. 청구항 1에 있어서,
    상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 방법.
  6. 청구항 1에 있어서,
    상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 방법.
  7. 청구항 1에 있어서,
    상기 패킷 포워딩 방법은,
    패킷을 수신하기 전에,
    단말 식별자 기반의 네트워크 구조 정보를 포함하는 라우팅(routing) 테이블을 참조하여 포워딩 테이블을 생성하는 단계를 더 포함하는 패킷 포워딩 방법.
  8. 청구항 7에 있어서,
    상기 라우팅 테이블은 이웃한 네트워크 장치로부터 수신한 네트워크 구조 정보를 참조하여 생성된 것을 특징으로 하는 패킷 포워딩 방법.
  9. 네트워크(network) 장치에서 수행되는 방법으로,
    패킷(packet)을 수신하는 단계;
    상기 수신된 패킷으로부터 출발지 및 목적지 주소를 추출하는 단계;
    상기 수신된 패킷으로부터 출발지 및 목적지 식별자를 추출하는 단계; 및
    상기 추출된 주소 및 식별자를 반영하도록 상기 수신된 패킷의 헤더(header)를 수정하는 단계를 포함하는 패킷 포워딩 방법.
  10. 청구항 9에 있어서,
    상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 방법.
  11. 청구항 9에 있어서,
    상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 방법.
  12. 청구항 9에 있어서,
    상기 식별자는 상기 목적지 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 방법.
  13. 수신된 패킷(packet)을 저장하는 저장부;
    상기 저장된 패킷에서 목적지 주소 및 식별자를 추출하고, 추출된 주소 및 식별자를 기초로 하여 상기 패킷을 송신할 포트(port)를 결정하는 제어부; 및
    단말 또는 타 네트워크 장치에 대해, 패킷을 수신하고, 상기 결정된 포트를 통해 패킷을 송신하는 통신부를 포함하는 패킷 포워딩(forwarding) 장치.
  14. 청구항 13에 있어서,
    상기 제어부는,
    상기 추출된 목적지 주소와 식별자를 쌍으로 포함하는 인자를 생성하고, 상기 인자와 그에 대응하는 포트 정보를 포함하는 포워딩 테이블(table)에서 상기 생성된 인자를 검색하여 포트를 결정하는 것을 특징으로 하는 패킷 포워딩 장치.
  15. 청구항 13에 있어서,
    상기 제어부는,
    상기 추출된 주소 및 식별자를 반영하도록 상기 저장된 패킷의 헤더(header)를 수정하는 것을 특징으로 하는 패킷 포워딩 장치.
  16. 청구항 13에 있어서,
    상기 목적지의 주소는 목적지의 IP(Internet Protocol) 프리픽스(prefix)인 것을 특징으로 하는 패킷 포워딩 장치.
  17. 청구항 13에 있어서,
    상기 식별자는 상기 목적지의 네트워크의 ID(identification)인 것을 특징으로 하는 패킷 포워딩 장치.
  18. 청구항 13에 있어서,
    상기 식별자는 상기 목적지의 네트워크에 포함된 네트워크 장치의 MAC(Medium Access Control) 주소인 것을 특징으로 하는 패킷 포워딩 장치.
KR1020140016297A 2014-02-12 2014-02-12 패킷 포워딩 방법 및 장치 KR20150095151A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140016297A KR20150095151A (ko) 2014-02-12 2014-02-12 패킷 포워딩 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140016297A KR20150095151A (ko) 2014-02-12 2014-02-12 패킷 포워딩 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150095151A true KR20150095151A (ko) 2015-08-20

Family

ID=54058256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140016297A KR20150095151A (ko) 2014-02-12 2014-02-12 패킷 포워딩 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20150095151A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386975B1 (ko) * 2020-11-16 2022-04-14 에스케이브로드밴드주식회사 네트워크 트래픽 관리장치 및 네트워크 트래픽 관리장치의 동작 방법
WO2022203465A1 (ko) * 2021-03-25 2022-09-29 삼성전자 주식회사 가상 기업망을 구성하기 위한 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102386975B1 (ko) * 2020-11-16 2022-04-14 에스케이브로드밴드주식회사 네트워크 트래픽 관리장치 및 네트워크 트래픽 관리장치의 동작 방법
WO2022203465A1 (ko) * 2021-03-25 2022-09-29 삼성전자 주식회사 가상 기업망을 구성하기 위한 장치 및 방법

Similar Documents

Publication Publication Date Title
CN107911258B (zh) 一种基于sdn网络的安全资源池的实现方法及***
TWI449380B (zh) 資料中心網路系統及其封包傳送方法
JP4057615B2 (ja) ユーザmacフレーム転送方法、エッジ転送装置、およびプログラム
JP5846199B2 (ja) 制御装置、通信システム、通信方法、および通信プログラム
EP2392100B1 (en) Scaled ethernet oam for mesh and hub-and-spoke networks
EP3253006B1 (en) Mapping server, network system, packet forwarding method and program
US20070165603A1 (en) Access network system, subscriber station device, and network terminal device
US8964749B2 (en) Method, device and system for establishing a pseudo wire
CN107820262A (zh) 参数配置方法、装置及***
US8559431B2 (en) Multiple label based processing of frames
CN107682261B (zh) 流量转发方法及装置
CN107360089A (zh) 一种路由建立方法、业务数据转换方法及装置
US20120158992A1 (en) Group Member Detection Among Nodes of a Network
KR100889753B1 (ko) 링크 애그리게이션 그룹에서의 보호 절체 방법 및 그 장치
EP2773072B1 (en) Control apparatus, communication system, virtual network management method, and program
KR20150095151A (ko) 패킷 포워딩 방법 및 장치
US7796614B1 (en) Systems and methods for message proxying
CN105100300B (zh) 网络地址转换nat的方法及装置
EP3477897A1 (en) Methods and apparatuses for routing data packets in a network topology
JP6718739B2 (ja) 通信装置および通信方法
CN114520762B (zh) BIERv6报文的发送方法以及第一网络设备
JP3794496B2 (ja) ネットワーク接続方法及びネットワーク接続システム及びそれを構成するレイヤ2スイッチ及び管理サーバ
CN113630324A (zh) 基于mpls-vpn的新型跨域互联方法
JP2003244251A (ja) トンネル経路を再構成するパケット通信方法
JP5152835B2 (ja) 多重アクセス装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid