KR20100006679A - 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법 - Google Patents

이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법 Download PDF

Info

Publication number
KR20100006679A
KR20100006679A KR1020080066911A KR20080066911A KR20100006679A KR 20100006679 A KR20100006679 A KR 20100006679A KR 1020080066911 A KR1020080066911 A KR 1020080066911A KR 20080066911 A KR20080066911 A KR 20080066911A KR 20100006679 A KR20100006679 A KR 20100006679A
Authority
KR
South Korea
Prior art keywords
switch
information
fdb
network
collected
Prior art date
Application number
KR1020080066911A
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 KR1020080066911A priority Critical patent/KR20100006679A/ko
Publication of KR20100006679A publication Critical patent/KR20100006679A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법에 관한 것이다.
본 발명에 의하면, 복잡하고 다양해지고 있는 네트워크 환경에서 네트워크 관리자의 실사를 통한 네트워크 스위치 검색이 아닌 자동화된 네트워크 스위치검색이라는 새로운 기술을 제시하여 이더넷(Ethernet) LAN 환경에서 이더넷 스위치 장비에 대한 물리적인 상하구조를 자동적으로 밝혀준다.
그리고, 하나의 랜(LAN, Local Area Network, 30)에서 존재하는 네트워크 장비(스위치 장비)의 연결 구조를 자동으로 검색할 수 있는 방법을 제시하며, 네트워크에 존재하는 모든 스위치간의 물리적인 포트의 연결 관계를 찾음으로서 백본 스위치에서부터 에지(EDGE) 스위치에 이르기까지의 모든 연결 구조를 검색할 수 있도록 한다.
랜, 라우터, 이더넷 스위치, Bridge MIB(Management Information Block), 네트워크 구조, 물리적 포트

Description

이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법{LOCATION SEARCH METHOD OF HOST USING ETHERNET NETWORK APPARATUS CONNECTION STRUCTURE}
본 발명은 로컬 네트워크(LAN)를 구성하는 네트워크 장비간의 연결 구조를 이용한 호스트의 물리적인 위치를 자동으로 검색하는 기술에 관한 것으로, 보다 상세하게는 점차 복잡해지고 있는 LAN 환경에 따라 그 구성 요소들(네트워크 장비, 서버 등)의 물리적인 구조를 동적이고 능동적으로 판별하기 위한 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법에 관한 것이다.
기존에는 인적 자원을 동원해 직접 구성을 파악하거나 아니면 특정 어플리케이션을 사용해 수동으로 그 구조를 그려주는 형태로 진행되었다. 그러나, 네트워크 구조가 변경되거나 새로운 호스트나 새로운 네트워크 장비가 도입될 경우 매번 수작업으로 구성요소들을 파악해야하는 불편함이 있었다.
따라서, 본 분야에서는 소프트웨어 형태로 서버에 탑재되어 주기적인 검출로 네트워크의 구조를 자동으로 판단할 수 있는 기술이 활발히 연구되고 있다.
본 분야에서는 네트워크 스위치 장비의 연결 구조와 호스트의 물리적 위치를 찾는데 있어서 브릿지 밉(Bridge MIB)을 이용하고 있다. 해당 밉(MIB)정보는 네트워크 스위치의 Fdb(Forwarding database)정보를 가지고 있으며, Fdb는 네트워크 스위치가 패킷(Packet)을 어느 포트로 전달(Forwarding)할지를 결정하기 위한 정보다.
따라서, 네트워크 스위치는 특정 패킷이 특정 포트에서 처음 발견되면 그 포트에 그 패킷이 존재한다고 판단하여 패킷의 원본 프레임 주소(Source Frame address)와 포트를 기준으로 Fdb를 작성한다. 결국 Fdb는 특정 호스트의 프레임 주소와 그 호스트가 존재하는 물리적인 포트 번호 정보를 가진다. 여기서 프레임 주소는 MAC(Media Access Control) 주소와 같은 의미이다.
그러나, 특히 단순히 Bridge MIB만으로는 특정 호스트의 물리적인 위치를 찾을 수는 없다. 왜냐하면 특정 호스트가 네트워크를 사용할 경우 그 호스트가 방문한 목적지에 따라 그 호스트의 원본 프레임 주소는 여러 네트워크 스위치에 존재할 수 있기 때문이다.
따라서 본 발명에서는 이러한 구조를 정확히 판단하기 위한 기술을 제시하고자 한다.
본 발명의 목적은, RFC 1493(Definitions of Managed objects for Bridges)을 지원하는 네트워크 스위치로부터 여러 객체(MIB-Management Information Block)를 수집하여 해당 정보를 비교 분석하고 제시된 알고리즘을 적용함으로써 모든 연결 구조 및 호스트의 위치를 자동으로 찾을 수 있는 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법은, L3 장비별로 검색을 시작하는 단계와; 상기 모든 L3 장비에 대해 검사가 진행되었는지 판단한 후, 모든 L3 장비에 대한 검사가 진행되지 않았을 경우에는 장비에서 IP 정보를 수집하는 단계와; 상기 수집된 IP 정보를 기준으로 네트워크 장비를 검색하고, VLAN Index 별로 검색을 시작하는 단계와; 상기 모든 VLAN에 대한 검사를 실시하였는지 판단한 후, 모든 VLAN에 대한 검사를 실시하지 않았을 경우에는 각 네트워크 장비의 업링크 포트를 검색하는 단계와; 계층 구조 검색 알고리즘을 적용한 뒤, 상기 VLAN Index 별로 검색을 시작하는 단계로 되돌아가는 단계를 포함함을 특징으로 한다.
본 발명에서는 복잡하고 다양하게 변화되고 있는 LAN 환경에 구축되어 있는 수많은 네트워크 스위치 장비들에 대한 그 계층 구조를 자동적으로 검색하고 표현 함으로써, 네트워크 분석에 소요되는 인적, 시간적인 요소를 감소시킬 수 있게 되며, 특히 새로운 네트워크 장비 도입이나 노후화된 장비 교체와 같은 네트워크 구성요소 변경 또는 새로운 네트워크 구성과 같은 로컬 망에 대한 변화가 생겼을 때 빠르고 정확한 물리적인 네트워크 구조 분석이 가능해진다.
또한, 본 발명에 제시된 기술을 응용하여 특정 노드가 직접 연결되어 있는 특정 네트워크 스위치의 포트정보를 분석함으로써, 논리적인(VLAN 구조) 노드 연결 상태 파악에서 실제 물리적인 노드 연결 상태 정보를 제공할 수 있게 된다.
또한, 전산망에 자주 발생하여 전산망 속도를 저하시키거나 전산망을 다운시키는 윔 바이러스가 발생하였을 경우, 웜 바이러스가 발생되는 사용자 노드와 연결되어 있는 스위치 포트 정보를 조기에 파악하여 이를 신속하게 차단함으로써, 웜바이러스 확산 방지등 전산망 관리 및 보안에 크게 기여할 수 있게 된다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 본 발명의 카테고리를 벗어나지 않는 범위 내에서 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 분야의 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 1은 일반적인 스타형 네트워크 구조를 나타내며, 도 2는 하나의 래이어 3 스위치를 기준으로 나타날 수 있는 구성을 나타낸다.
도 1을 참조하면, 라우터(20)를 통해 인터넷(10)과 랜(30)이 서로 연결되어 있다. 그리고, 상기 랜(30) 내부에는 래이어 2/3 스위칭 허브(40) 및 래이어 2 스위칭 허브(50)가 구비되어 있다.
상기 도 1에 도시된 스타형 네트워크 구조를 통해 이루어지는 호스트의 위치 검색 방법은 하기의 4가지 단계로 이루어진다.
첫째 단계는, 특정 네트워크 스위치로(백본 스위치)부터 ARP(Address Resolution Protocol) 테이블을 검사하여 백본 스위치(백본 스위치를 최상위 스위치라 가정한다)와 연결되어 있는 모든 노드들에 대한 정보를 수집하는 단계이다.
ARP 정보를 수집하는 방법은 하기 표 1에서와 같은 객체를 이용하여 정보를 얻을 수 있다. 수집된 정보는 크게 IP, 맥 주소 그리고 VLAN(Virtual LAN) Index를 받는다. 수집된 정보는 VLAN Index를 기준으로 각각 다른 테이블에 저장한다.
객체 식별자 객체 설명
::= {mib-2 4} IP
::= {IP 22} ipNetToMediaTable
::= {ipNetToMediaTable 1} ipNetToMediaEntry
::= {ipNetToMediaEntry 1} ipNetToMediaIfIndex
::= {ipNetToMediaEntry 2} ipNetToMediaPhysAddress
::= {ipNetToMediaEntry 3} ipNetToMediaNetAddress
둘째 단계는, 수집된 IP 정보를 가지고 네트워크 스위치 존재 여부를 판단하는 단계이다.
수집된 많은 IP중에서 네트워크 스위치인지 일반 PC나 기타 서버 장비인지를 구분하는 것을 SNMP(Simple Network Management Protocol) GET 명령어를 통해 수신 여부와 수신된 값에 대한 분석을 통해서 이루어질 수 있다. 이때 사용하는 객체는 하기 표 2와 같고, 하기 표 3에서 나타난 알고리즘과 같이 네트워크 스위치와 일반 서버를 구분할 수 있다.
한편, 도 3에는 검색된 IP중 네트워크 노드를 판별하기 위한 흐름도가 도시되어 있다.
도 3을 참조하면, 상기 첫번째 단계에서 수집된 IP 주소가 있는지를 판단한다(S100). 판단 결과, 수집된 IP 주소가 있을 경우, 상기 IP 주소에 대해 SNMP 통신을 시도하여 sysServices 객체에 대한 값을 얻는다(S102).
이어서, 상기 SNMP 통신에 성공하였는지를 판단한다(S104).
판단 결과, 상기 SNMP 통신에 성공하였을 경우에는 수신된 값을 확인하여
Figure 112008049691247-PAT00001
과 AND 연산을 하였을 때 값이 존재하면 래이어 2 스위치로 판단한다(S106). 여기서
Figure 112008049691247-PAT00002
의 의미는 sysServices 객체에 대한 속성을 통해 알 수 있으며 래이어 2기능을 한다는 의미이다. 이와 같이 래이어 2 기능을 한다면 2^1로 표현할 수 있다. 즉,
Figure 112008049691247-PAT00003
으로 sysServices 객체에 대해 정의한다.
이어서, 래이어 2 스위치로 판단되었다면 래이어 3 기능도 하는지를 판단한다(S108). 이것 역시
Figure 112008049691247-PAT00004
과 AND 연산을 하여 그 값이 존재하면 래이어 3 기능을 가진다고 구분한다. 판단 결과, 래이어 3 기능을 수행하지 않을 경우에는 래이어 2 스위치로 기록하고(S110), 래이어 3 기능을 수행할 경우에는 래이어 2/3 스위치로 저장한다(S112). 그리고, 이외의 값을 가지거나 통신이 되지 않는 노드에 대한 IP 정보는 모두 제거한다.
객체 식별자 객체 설명
::= {mib-2 1} System
::= {System 7} sysServices
sysServices = snmp_get() if sysServices is not zero then if (sysServices & 2) then if(sysServices & 4) then return SWITCH_L23 else return SWITCH_L2 end if end if else return NOT_SWITCH end if
특정 망에 존재하는 모든 네트워크 장비(스위치, 라우터, 서버 등)를 검사하기 위해서 모든 대상 노드에 SNMP 패킷을 수 msec 간격으로 한꺼번에 전송하여 정보를 효율적으로 수집한다. 즉, SNMP를 이용한 스위치 장비 검색에 소요되는 시간(t2)를 단축할 수 있다.
각각의 노드와 직렬로 통신하는 방식은 ACK가 오기를 기다려야 하므로 큰 시간이 소모된다. 만일 SNMP에 응답하는 장비라면 짧은 시간 내에 반응이 오겠지만 장비가 아니라면 수초동안 대기상태(time-out)에 들어간다.
따라서 많은 소요시간(t1)을 필요로 한다. 특히 노드수가 증가하면 할수록 t2와 t1의 차이(t2-t1)는 노드 수에 비례하여 커질 수 있다.
셋째 단계는, 상기 두 번째 단계에서 검출된 네트워크 스위치에 대해 Bridge MIB을 수집하는 단계이다. 이 단계에서는 각 네트워크 스위치의 Fdb(Forwarding Database)정보를 수집하는데 사용하는 객체는 하기 표 4와 같다.
객체 식별자 객체 설명
::= {mib-2 17} dot1dBridge
::= { dot1dBridge 1 } dot1dBase
::= { dot1dBase 4 } dot1dBasePortTable
::= { dot1dBasePortTable 1 } dot1dBasePortEntry
::= { dot1dBasePortEntry 2 } dot1dBasePortIfIndex
::= { dot1dBridge 4 } dot1dTp
::= { dot1dTp 3 } dot1dTpFdbTable
::= { dot1dTpFdbEntry 1 } dot1dTpFdbAddress
::= { dot1dTpFdbEntry 2 } dot1dTpFdbPort
::= { dot1dTpFdbEntry 3 } dot1dTpFdbStatus
dot1Tp-dot1dTpFdb테이블은 네트워크 스위치의 각 포트에서 수집된 맥 주소 정보를 수집하기 위해 사용되는 객체이다. 그리고, dot1dTpFdb 주소는 bridge가 가지고 있는 전달(forwarding) 혹은 filtering될 수 있는 unicast 맥 주소를 가진다.
dot1dTpFdbPort는 0이나 특정 포트의 포트 번호를 가진다. 포트 번호가 0이 아닐 경우 그 번호는 특정 프레임에 대한 정보를 가지고 있음을 의미한다. 즉, 해당 포트에서 특정 프레임에 대한 정보가 처음으로 보여졌음을 의미한다.
dot1dTpFdbStatus는 특정 프래임에 대한 속성을 의미하는 객체이다. 값이 3일 경우 특정 프래임은 특정 포트로부터 알려졌다(learned)를 의미한다.
도 4에는 네트워크 스위치의 업링크 포트를 판별하기 위한 흐름도가 도시되어 있다. 그리고, 도 5에는 네트워크 스위치간 계층 구조를 판별하기 위한 흐름도가 도시되어 있다.
도 4를 참조하면, 상기와 같은 객체를 이용하여 네트워크 스위치들에 대한 모든 Fdb(Forwarding database) 정보를 수집할 것인지를 판단한다(S200). 판단 결과, Fdb 정보가 수집되면, 수집되는 정보들을 물리적인 포트번호를 기준으로 구분하여 그룹화한다(S202). 이때, 상기 수집된 Fdb정보와 ARP 테이블 정보를 이용하여 스위치와 스위치 간 연결 정보를 확인한다.
그리고, S204 단계 및 S206단계에서는 각각 "i=포트 개수" 및 "i--"로 정의하고, 상기 i가 0보다 큰지를 판단한다(S208).
이 과정에서는 다음과 같은 세부 2단계를 거친다.
첫째 단계는, 상위 스위치에서 볼 때 하위 스위치가 연결된 포트를 확인하는 단계이다.
도 2에서와 같이 스위치와 스위치가 연결된 네트워크 환경에서 하나의 스위치에서 다른 여러 스위치의 맥 주소정보가 확인될 수 있다. 이러한 경우 직접적으로 연결된 스위치는 어떠한 것인가를 확인하는 것이 중요하다.
그리고, 알고리즘을 설명하기 위해 다음과 같이 정의한다.
DN : n번째 하위 계층에 있는 Layer 2(이하 L2) 장비(D0 : 최상위 장비)
DR : Layer 3(이하 L3) 장비
DNM : DN 장비의 맥 주소
DRM: L3 장비의 맥 주소
DN-PN : DN 장비의 n번째 포트
DN-PNM : DN의 PN과 연관되어 있는 Fdb(맥 주소)
DN/DN-1-PN: DN장비가 직접 연결되어 있는 상위 장비의 포트
상기 도 2와 같은 구조에서 하기에 도시된 표 5 알고리즘을 적용하면 우리가 원하는 구조인 F-(A, B),A-(C, D)와 같은 결과를 얻을 수 없고, F-(A, B, C, D)와 같은 결과를 얻는다. 그러나 아직 원하는 결과는 아니고 최종 결과를 얻기 위해서 2번 과정 알고리즘을 진행시킨다.
for all switchs in a VLAN if D0-PN learns DNM then DN/D0-PN = D0-PN; end if next
둘째 단계는, 하위 스위치가 볼 때 상위 스위치가 연결된 포트를 확인하는 단계이다.
이러한 과정을 위하여, S210단계에서는 포트에서 기본 게이트웨이의 맥(MAC) 주소가 발견되는가를 판단하고, S212단계에서는 그 결과를 저장한다. 하기 표 6에서는 이 과정을 설명하고 있다.
for all ports in a DN if DN-PN learns DRM then return DN-PN; //uplink port end if next
이와 같은 이유는 Transparent Bridging을 설명함으로써 나타낼 수 있는데 Fdb를 구성하기 위해서는 프래임 정보가 최초로 수집된 포트를 기준으로 Fdb 테이블을 생성한다. 따라서 모든 스위치에서 레이어 3 스위치의 맥 주소는 반드시 그 스위치의 업링크 포트에서 발견될 것이다. 또한, 레이어 3 스위치뿐 아니라 다른 래이어 2 스위치의 맥 정보도 발견될 수 있다. 이렇게 다른 래이어 2 스위치의 맥 정보도 발견된다는 의미는 그 스위치보다 계층적으로 더 상위 단계의 스위치라는 의미이다. 역으로 말하면 만일 업링크 포트에 레이어 3 스위치 맥 주소이외 어떠한 래이어 2 스위치의 주소도 발견되지 않는다면 그 스위치는 레이어 3 스위치에 직접 연결되어 있다는 의미이다.
이 과정을 통해 과정 1에서 완전하게 얻지 못한 결과를 보충할 수 있다.
스위치 {A, B, C, D}가 모두 동일 VLAN에 속해있다고 가정한다. F-(A, B,C, D)가 아닌 F-(A, B), A-(C, D)와 같은 결과를 얻기 위해서 상기 표 6에서 제시하는 알고리즘을 스위치 {A ,B, C, D}에 적용하여(S210) 업링크 포트를 판단한다. 그리고, 모든 스위치에 대한 업링크 포트가 판별되면 각 업링크 포트에서 자신의 VLAN에 속해 있는 다른 스위치들의 맥 주소가 발견되는지 검사한다.
하기 표 7은 도 2에 대해 각 스위치 장비에서 보여 줄 수 있는 모든 Fdb를 나타낸 것이다.
스위치 Fdb 정보
SW-A SW-F, SW-B, SW-C, SW-D
SW-B SW-F, SW-A, SW-C, SW-D
SW-C SW-F, SW-A, SW-B, SW-D
SW-D SW-F, SW-A, SW-B, SW-C
S210단계에서 업링크 포트가 검색되면 업링크 포트에서 발견되는 스위치 정보는 다음과 같은 결과를 볼 수 있다.
SW-A ∋ {SW-F, SW-B} //SW-A의 업링크 포트에 SW-F와 SW-B가 발견
SW-C ∋ {SW-F, SW-A, SW-D, SW-B,}
SW-D ∋ {SW-F, SW-A, SW-C, SW-B}
SW-B ∋ {SW-F, SW-A, SW-C, SW-D}
또한, 과정 1에 의해 DA/D0-PN = D0-PN, DB/D0-PN = D0-PN-K과 같이 구할 수 있다. 즉, SW-A는 SW-F의 N번째 포트에서 그리고 SW-B는 SW-F의 N-K (K < N)번째 포트에서 발견되었음을 보여준다.
또한, SW-A, SW-C, SW-D 모두 SW-F의 N번째 포트(D0-PN)에서 발견되어 진다.
따라서, 도 5에 도시된 것과 같이, 상위 장비의 Fdb의 포트 번호를 기준으로 스위 장비를 그룹화한다(S300). 그리고, 그룹별로 네트워크 장비에 대해 Fdb가 작은 순으로 정렬한다(S302). 보다 구체적으로, SW-A와 SW-B는 레이어 2/3 장비의 서로 다른 위치에 연결되어 있음이 확인되어지므로 {A, C, D}를 하나의 그룹으로 그리고 {B}를 또 하나의 그룹으로 지정한다. 그리고, 각 그룹별로 해당 그룹과 관련없는 장비에 대한 Fdb 정보를 제거하고(S304), 그룹을 다시 표현하면 다음과 같이 다시 표현할 수 있다.
SW-A ∋ {SW-F}
SW-C ∋ {SW-F, SW-A, SW-D}
SW-D ∋ {SW-F, SW-A, SW-C}
SW-B ∋ {SW-F}
상기 기재에 의해, SW-A는 SW-F에 직접 연결되어 있으며 SW-B또한 SW-F에 직접 연결되어 있다는 것을 확인할 수 있다. 같은 방식으로 SW-A에서 스위치 SW-C와 SW-D가 어떻게 연결되어 있는지를 확인하면 다음과 같이 다시 표현할 수 있다.
SW-C ∋ {SW-A, SW-D}
SW-D ∋ {SW-A, SW-C}
이어서, 그룹 개수가 0개를 초과하는지를 판단하고(S306), 그룹 개수가 0개를 초과할 경우에는 그룹 내 스위치 개수가 0개를 초과하는지를 판단한다(S308). 그룹 내 스위치 개수가 0개를 초과할 경우에는 스위치의 Fdb 개수가 1 인지를 판단한다(S310). 스위치의 Fdb 개수가 1인 경우에는 Fdb를 저장하고(S312), 스위치 Fdb 정보를 검색한다(S314).
이어서, Fdb의 포트번호를 기준으로 같은 그룹에 속한 스위치 장비를 소그룹화하고(즉, SW-C와 SW-D의 교집합인 SW-A의 포트를 기준으로 소그룹화 하고)(S316), 각 소그룹별로 해당 소그룹과 관련없는 장비에 대한 Fdb 정보를 제거한다(S318). 그리고, 해당 스위치의 Fdb 정보 중, 저장된 Fdb 정보와 일치하는 항목을 제거한 뒤(S320), 상기 S308단계로 되돌아간다.
이처럼, 소그룹의 기준이 되는 상위 장비인 SW-A의 포트를 기준으로 다시 Fdb 정보 제거 과정을 거치면 다음과 같은 결과를 얻을 수 있다.
SW-C ∋ {SW-A}
SW-D ∋ {SW-A}
한편, 도 6은 본 발명을 구현하기 위한 전체흐름도로서, 상기에서 설명한 모든 과정이 도시되어 있다. 그리고, 하기 표 8에서 제시하는 알고리즘은 스위치 장비의 계층 구조를 상세히 설명한 내용이다.
도 6을 참조하면, L3 장비별로 검색을 시작한다(S400). 이어서, 모든 L3 장비에 대해 검사가 진행되었는지 판단한 후(S402), 모든 L3 장비에 대한 검사가 진행되었을 경우에는 상기 S400단계로 되돌아가고, 모든 L3 장비에 대한 검사가 진행되지 않았을 경우에는 장비에서 IP 정보를 수집한다(S404).
이처럼, 수집된 IP 정보를 기준으로 네트워크 장비를 검색하고(S406), VLAN Index 별로 검색을 시작한다(S408).
이어서, 모든 VLAN에 대한 검사를 실시하였는지 판단한 후(S410), 모든 VLAN에 대한 검사를 실시하였을 경우에는 상기 S408단계로 되돌아가고, 모든 VLAN에 대한 검사를 실시하지 않았을 경우에는 각 네트워크 장비의 업링크 포트를 검색한다(S412). 그리고, 계층 구조 검색 알고리즘을 적용한 뒤(S414), 상기 S408단계로 되돌아간다.
struct _switch { int switch_index; //스위치 구분하기 위한 고유 값 int elements[MAX_ELEMENTS]; //업링크 포트에서 검색된 스위치 리스트 int elements_count; //업링크 포트에서 검색된 스위치 개수 int uplink_index; //상위 연결 장비 고유 값 }; struct _group { int group_index; //그룹 고유의 값 struct _switch switch[MAX_SWITCH]; int switch_count; //그룹에 속해있는 스위치 개수 }; for all switches in a VLAN group by DN/DN-1-PN //상위 장비의 발견 포트를 기준으로 그룹화 next //그룹별로 스위치 elements_count가 적은 순으로 정렬 for all groups sort_switch_in_a_group_order_by_elements_count_ascending() next //해당 그룹과 상관없는 스위치 요소 제거 for all groups remove_unrelated_elements_in_a_group next for all groups uplink_index = 0 for all switches if elements_count = 1 then switch.uplink_index = uplink_index = elements[0]; else if elements_count >1 then remove_uplink_index_from_elements_at_switch(uplink_index) continue end if next next
또한, 본 발명에서는 네트워크 스위치의 업링크를 논리적으로 판단하여 네트워크 장비들에 대한 연결 구조를 검색할 수 있다. 이와 같은 업링크 포트에 대한 판단은 네트워크 장비뿐만 아니라 일반 사용자의 컴퓨터가 어떠한 스위치의 어떠한 포트에 연결되어 있는지도 판단 가능하다. 즉, 업링크 포트에서 발견되는 사용자 컴퓨터의 맥 주소는 그 스위치를 방분한 결과이고 업링크가 아닌 포트에서 발견되는 컴퓨터 맥 주소는 그 스위치에 직접 연결되어 있다고 간주할 수 있다.
그러나, 상기 도 2에 도시되어 있는 구조에서 특정 컴퓨터가 SW-C에 연결되어 있다고 하면 그 컴퓨터의 맥 주소는 SW-C, SW-A와 SW-F의 일반 포트(업링크 포트가 아닌)에서 발견될 수 있다. 그렇다면 이 세 가지 스위치 중 직접 연결된 스위치는 어떠한 것이냐가 관건인데 본 발명에서는 정확도(Accuracy)라는 개념으로 결론을 지을 수 있다.
SW-C에서의 Fdb와 관련된 맥 주소의 개수는 SW-A와 SW-F보다는 반드시 적다는 게 그 결과이다. 즉, SW-C에 특정 컴퓨터가 연결되어 있으면 그 컴퓨터가 연결된 포트 개수는 1개 또는 더미 허브가 연결되어 있을 경우 그 더미 허브에 연결된 컴퓨터 개수만큼 발견된다. 그러나 SW-A에서 SW-C와 연결된 포트에서는 SW-C에 연결된 모든 컴퓨터의 맥 주소가 발견될 수 있다. 따라서 반드시 다음과 같은 식이 성립된다.
count(DC-PNM) < count(DA-PNM) < count(DF-PNM)
상기한 바와 같이, 본 발명에서는 복잡하고 다양하게 변화되고 있는 LAN 환경에 구축되어 있는 수많은 네트워크 스위치 장비들에 대한 그 계층 구조를 자동적으로 검색하고 표현함으로써, 네트워크 분석에 소요되는 인적, 시간적인 요소를 감소시킬 수 있게 되며, 특히 새로운 네트워크 장비 도입이나 노후화된 장비 교체와 같은 네트워크 구성요소 변경 또는 새로운 네트워크 구성과 같은 로컬 망에 대한 변화가 생겼을 때 빠르고 정확한 물리적인 네트워크 구조 분석이 가능해진다.
또한, 본 발명에 제시된 기술을 응용하여 특정 노드가 직접 연결되어 있는 특정 네트워크 스위치의 포트정보를 분석함으로써, 논리적인(VLAN 구조) 노드 연결 상태 파악에서 실제 물리적인 노드 연결 상태 정보를 제공할 수 있게 되며, 전산망에 자주 발생하여 전산망 속도를 저하시키거나 전산망을 다운시키는 윔 바이러스가 발생하였을 경우, 웜 바이러스가 발생되는 사용자 노드와 연결되어 있는 스위치 포트 정보를 조기에 파악하여 이를 신속하게 차단하여 웜바이러스 확산 방지등 전산망 관리 및 보안에 크게 기여할 수 있게 된다.
도 1은 일반적인 스타형 네트워크 구조를 나타낸다.
도 2는 하나의 래이어 3 스위치를 기준으로 나타날 수 있는 구성이다.
도 3는 검색된 IP중 네트워크 노드를 판별하기 위한 흐름도이다.
도 4는 네트워크 스위치의 업링크 포트를 판별하기 위한 흐름도이다.
도 5는 네트워크 스위치간 계층 구조를 판별하기 위한 흐름도이다.
도 6는 본 발명을 구현하기 위한 전체 흐름도이다.
<도면 주요 부분에 대한 부호의 설명>
10: 인터넷 20: 라우터
30: 랜(LAN) 40: 래이어 2/3 스위칭 허브
50: 래이어 2 스위칭 허브

Claims (4)

  1. 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법에 있어서;
    L3 장비별로 검색을 시작하는 단계와;
    상기 모든 L3 장비에 대해 검사가 진행되었는지 판단한 후, 모든 L3 장비에 대한 검사가 진행되지 않았을 경우에는 장비에서 IP 정보를 수집하는 단계와;
    상기 수집된 IP 정보를 기준으로 네트워크 장비를 검색하고, VLAN Index 별로 검색을 시작하는 단계와;
    상기 모든 VLAN에 대한 검사를 실시하였는지 판단한 후, 모든 VLAN에 대한 검사를 실시하지 않았을 경우에는 각 네트워크 장비의 업링크 포트를 검색하는 단계와;
    계층 구조 검색 알고리즘을 적용한 뒤, 상기 VLAN Index 별로 검색을 시작하는 단계로 되돌아가는 단계를 포함함을 특징으로 하는 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법.
  2. 제 1항에 있어서, 상기 수집된 IP 정보중에서 네트워크 노드를 판별하는 방법은;
    상기 수집된 IP 주소에 대해 SNMP 통신을 시도하여 sysServices 객체에 대한 값을 얻는 단계와,
    SNMP 통신에 성공하였는지를 판단한 뒤, 상기 SNMP 통신에 성공하였을 경우에는 수신된 값을 확인하여
    Figure 112008049691247-PAT00005
    과 AND 연산을 하였을 때 그 값이 존재하면 래이어 2 스위치로 판단하는 단계와,
    Figure 112008049691247-PAT00006
    과 AND 연산을 하여 그 값이 존재하면 래이어 3 기능을 가진다고 구분하고, 래이어 3 기능을 수행하지 않을 경우에는 래이어 2 스위치로 기록하고, 래이어 3 기능을 수행할 경우에는 래이어 2/3 스위치로 저장하는 단계를 포함함을 특징으로 하는 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법.
  3. 제 1항에 있어서, 상기 네트워크 장비의 업링크 포트를 판별하기 방법은;
    상기 네트워크 장비들에 대한 모든 Fdb(Forwarding database) 정보를 수집할 것인지를 판단하는 단계와,
    상기 Fdb 정보가 수집되면, 수집되는 정보들을 물리적인 포트번호를 기준으로 구분하여 그룹화하여, "i=포트 개수" 및 "i--"로 정의하는 단계와,
    상기 i가 0보다 큰지를 판단하여, 상기 i가 0보다 클 경우에는 포트에서 기본 게이트웨이의 맥(MAC) 주소가 발견되는가를 판단하여 그 결과를 저장하는 단계를 포함함을 특징으로 하는 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법.
  4. 제 1항에 있어서, 상기 네트워크 장비간 계층 구조를 판별하기 위한 방법은;
    상위 장비의 Fdb의 포트 번호를 기준으로 스위 장비를 그룹화하고, 그룹별로 네트워크 장비에 대해 Fdb가 작은 순으로 정렬하는 단계와,
    각 그룹별로 해당 그룹과 관련없는 장비에 대한 Fdb 정보를 제거하는 단계와,
    상기 그룹 개수가 0개를 초과하는지를 판단하고, 상기 그룹 개수가 0개를 초과할 경우에는 그룹내 스위치 개수가 0개를 초과하는지를 판단하는 단계와,
    그룹내 스위치 개수가 0개를 초과할 경우에는 스위치의 Fdb 개수가 1 인지를 판단하고, 스위치의 Fdb 개수가 1인 경우에는 Fdb를 저장한 뒤, 스위치 Fdb 정보를 검색하는 단계와,
    상기 Fdb의 포트번호를 기준으로 같은 그룹에 속한 스위치 장비를 소그룹화하고, 각 소그룹별로 해당 소그룹과 관련없는 장비에 대한 Fdb 정보를 제거하는 단계와,
    해당 스위치의 Fdb 정보 중, 저장된 Fdb 정보와 일치하는 항목을 제거하는 단계를 포함함을 특징으로 하는 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치 검색 방법.
KR1020080066911A 2008-07-10 2008-07-10 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법 KR20100006679A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080066911A KR20100006679A (ko) 2008-07-10 2008-07-10 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066911A KR20100006679A (ko) 2008-07-10 2008-07-10 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법

Publications (1)

Publication Number Publication Date
KR20100006679A true KR20100006679A (ko) 2010-01-21

Family

ID=41815775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066911A KR20100006679A (ko) 2008-07-10 2008-07-10 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법

Country Status (1)

Country Link
KR (1) KR20100006679A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077905A (zh) * 2014-06-04 2014-10-01 刘芬 一种物联网终端节点位置自动采集系统及方法
KR102165532B1 (ko) * 2020-02-10 2020-10-14 국제텔레시스(주) 통합배선반 선번관리 자동화를 위한 소프트웨어적 구현방법
KR20210119313A (ko) * 2020-03-24 2021-10-05 아즈빌주식회사 네트워크 장치 및 네트워크 구성 판별 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077905A (zh) * 2014-06-04 2014-10-01 刘芬 一种物联网终端节点位置自动采集系统及方法
KR102165532B1 (ko) * 2020-02-10 2020-10-14 국제텔레시스(주) 통합배선반 선번관리 자동화를 위한 소프트웨어적 구현방법
KR20210119313A (ko) * 2020-03-24 2021-10-05 아즈빌주식회사 네트워크 장치 및 네트워크 구성 판별 방법

Similar Documents

Publication Publication Date Title
CN111371735B (zh) 僵尸网络检测方法、系统及存储介质
EP1560379B1 (en) Methods and systems for unnumbered network link discovery
KR100922582B1 (ko) 중심점 분할 기법을 이용한 로그 기반의 역추적 시스템 및방법
US6415321B1 (en) Domain mapping method and system
JP5324225B2 (ja) 仮想ルータ機能を提供する方法
JP4020912B2 (ja) 不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法
US8761182B2 (en) Targeted flow sampling
JP4653164B2 (ja) ネットワークマップ生成方法
AU2016262640B2 (en) Node de-duplication in a network monitoring system
US7463593B2 (en) Network host isolation tool
CN101123614B (zh) 一种处理地址解析协议报文的方法及通信装置
EP1839188A2 (en) Method, systems, and computer program products for implementing function-parallel network firewall
JP2005151107A (ja) データセンタの装置管理方法、装置管理サーバ、データセンタの装置管理システム並びにプログラム
CN108206792B (zh) 交换机的拓扑结构发现方法及装置
KR20140027616A (ko) 웹 트랜잭션 밀집도 기반 에이치티티피 봇넷 탐지 장치 및 방법
JP2002009823A (ja) インターネットアドレス決定方法及び装置
EP1428349A2 (en) Method and apparatus for determining and resolving missing topology features of a network for improved topology accuracy
Sayeed et al. Intrusion detection system based on Software Defined Network firewall
CN113542015B (zh) 一种自动绘制网络物理链路方法
US7554980B1 (en) Packet classification using relevance scoring
TWI636679B (zh) 虛擬區域網路配置系統與方法及其電腦程式產品
KR20100006679A (ko) 이더넷 네트워크 장비 연결 구조를 이용한 호스트의 위치검색 방법
CN106878106A (zh) 一种可达性检测方法及装置
JP2009065303A (ja) ネットワーク装置、ネットワーク管理システム及びそれらに用いるmacアドレス重複検出方法
WO2015187200A1 (en) Efficient packet classification for dynamic containers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application