KR102468625B1 - 네트워크 토폴로지 생성 방법 및 장치 - Google Patents

네트워크 토폴로지 생성 방법 및 장치 Download PDF

Info

Publication number
KR102468625B1
KR102468625B1 KR1020207037435A KR20207037435A KR102468625B1 KR 102468625 B1 KR102468625 B1 KR 102468625B1 KR 1020207037435 A KR1020207037435 A KR 1020207037435A KR 20207037435 A KR20207037435 A KR 20207037435A KR 102468625 B1 KR102468625 B1 KR 102468625B1
Authority
KR
South Korea
Prior art keywords
port
downlink
data block
packet
network device
Prior art date
Application number
KR1020207037435A
Other languages
English (en)
Other versions
KR20210010586A (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20210010586A publication Critical patent/KR20210010586A/ko
Application granted granted Critical
Publication of KR102468625B1 publication Critical patent/KR102468625B1/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/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Abstract

본 출원은 네트워크 토폴로지 생성 방법 및 장치를 제공하며, 네트워크 기술 분야에 속한다. 본 출원은 새로운 패킷 인코딩 구조를 제공한다. 패킷 내의 데이터는 대응하는 목적지 포트에 기초하여 블록 단위로 인코딩되며, 각각의 데이터 블록의 목적지 포트는 포트 지시 정보를 사용하여 지시된다. 이러한 새로운 패킷 인코딩 구조에 기초하면, 네트워크 기기는 패킷 내의 포트 지시 정보에 기초하여 패킷에서 제어 데이터 블록을 찾고, 제어 데이터 블록 내의 기기 정보 전송 명령을 획득하여 기기 정보를 중앙 장비에 보고할 수 있다. 따라서 네트워크 기기는 계층 2 프로토콜과 계층 3 프로토콜을 식별하지 않고 MAC 주소와 IP 주소를 파싱하지 않고도 중앙 장비의 기기 정보 전송 명령을 성공적으로 수신할 수 있다. 이는 네트워크 기기가 계층 2 프로토콜 및/또는 계층 3 프로토콜을 지원할 때만 네트워크 기기가 토폴로지 구축을 수행할 수 있다는 심각한 한계를 극복하고, 물리 계층의 기기 대해 토폴로지 구축이 수행되는 시나리오에 적용될 수 있다. 이러한 방식으로, 적용 범위가 크게 확장된다.

Description

네트워크 토폴로지 생성 방법 및 장치
삭제
본 출원은 네트워크 기술 분야에 관한 것으로, 특히 네트워크 토폴로지 생성 방법 및 장치에 관한 것이다.
패킷은 일반적으로 교환기 및 라우터와 같은 다양한 네트워크 기기를 사용하여 네트워크에서 전송된다. 근원지 기기(source device)가 패킷을 전송한 후, 패킷은 네트워크 기기에 의해 연속적으로 포워딩되고, 최종적으로 목적지 기기(destination device)에 도착한다. 패킷 송신 기능을 구현하려면, 네트워크 기기는네트워크 토폴로지에 기초하여 패킷의 전달 경로를 결정하기 위해, 인접한 네트워크 기기와 정보를 교환하고, 인접한 네트워크 기기의 기기 정보를 수신하고, 인접한 네트워크 기기의 기기 정보에 기초하여 네트워크 기기 및 인접한 네트워크 기기를 포함하는 네트워크 토폴로지를 생성해야 한다.
네트워크 기기가 교환기인 것이 일례로 사용된다. 종래의 교환기는 데이터 링크 계층(계층 2 또는 L2 계층이라고도 함)에서 작동하고, 데이터 링크 계층의 통신 프로토콜을 식별할 수 있고, 미디어 액세스 제어(Media Access Control, 이하 약칭하여 MAC) 주소의 포워딩 표를 저장하며, 데이터 링크 계층의 프로토콜 및 포워딩 표에 기초하여 인접한 교환기와 기기 정보를 교환하여, 교환기의 기기 정보에 기초하여 네트워크 토폴로지를 구축할 수 있다. 구체적으로 데이터 링크 계층에는 스패닝 트리 프로토콜(Spanning Tree Protocol, 이하 약칭하여 STP)과 브리지 프로토콜 데이터 유닛(Bridge Protocol Data Unit, 이하 약칭하여 BPDU)가 지정되어 있다. BPDU의 목적지 MAC 주소는 멀티 캐스트 주소: 01-80-C2-00-00-00이고, BPDU의 근원지 MAC 주소는 교환기의 식별자(Identifier, 이하 약칭하여 ID)이다. 네트워크의 각 교환기는 BPDU를 식별, 처리 및 전송할 수 있다. 서로 다른 교환기는 서로 간에 BPDU를 송수신하고, BPDU 콘텐츠를 파싱하고, 루트 브리지(root bridge), 루트 포트(root port), 지정된 포트(designated port) 및 차단된 포트(blocked port)를 선택하는 등의 여러 단계를 수행한다. 교환기는 차단된 포트를 디스에이블시키고 나머지 포트는 포워딩 상태에 진입하게 하여, 네트워크 토폴로지가 생성될 수 있도록 한다.
전술한 방안은 네트워크 기기가 데이터 링크 계층의 프로토콜을 식별할 수 있어야 하므로, 데이터 링크 계층에서 작동하는 네트워크 기기에만 적용할 수 있다. 그러나 물리 계층에서 작동하는 네트워크 기기는 BPDU의 파싱은 커녕 데이터 링크 계층의 프로토콜을 식별할 수도 없다. 결과적으로, 전술한 방안은 네트워크 토폴로지를 생성하는 데 사용될 수 없다.
본 출원의 실시예는 관련 기술에서 물리 계층에서 네트워크 기기에 대한 네트워크 토폴로지를 생성할 수 없다는 기술적 문제를 해결하기 위해, 네트워크 토폴로지 생성 방법 및 장치를 제공한다. 기술적 방안은 다음과 같다.
제1 측면에 따르면, 네트워크 토폴로지 생성 방법이 제공되며, 상기 네트워크 토폴로지 제공 방법은,
중앙 장비로부터 패킷을 수신하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용됨 -;
상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하는 단계; 및
상기 제어 데이터 블록에서의 기기 정보 전송 명령에 따라 상기 중앙 장비에 기기 정보를 전송하는 단계 - 상기 기기 정보는 네트워크 토폴로지를 생성하기 위해 상기 중앙 장비에 의해 사용됨 - 를 포함한다.
이 실시예에서 제공되는 방법에서, 새로운 패킷 인코딩 구조가 제공된다. 패킷 내의 데이터는 목적지 포트에 기초하여 블록 단위로 인코딩되고, 제어 데이터 블록의 목적지 포트는 패킷 내의 포트 지시 정보를 사용하여 지시된다. 이러한 새로운 패킷 인코딩 구조에 기초하여, 네트워크 기기는 패킷의 포트 지시 정보에 기초하여 패킷에서 제어 데이터 블록을 찾고, 제어 데이터 블록에서 기기 정보 전송 명령을 획득하여, 기기 정보를 중앙 장비에 보고할 수 있다. 이 실시예에서 제공되는 패킷 인코딩 구조 및 패킷 교환 프로시저를 사용함으로써, 네트워크 기기는 데이터 링크 계층의 프로토콜 식별 및 MAC 주소의 파싱 없이, 그리고 네트워크 계층의 프로토콜 식별 및 인터넷 프로토콜(Internet Protocol, 이하 약칭하여 IP) 주소의 파싱 없이 중앙 장비의 기기 정보 전송 명령을 성공적으로 수신할 수 있다. 이는 네트워크 기기가 계층 2 프로토콜 및/또는 계층 3 프로토콜을 지원하는 경우에만 네트워크 기기가 토폴로지 구축을 수행할 수 있는 심각한 한계를 극복하고, 물리 계층환경에서 기기에 대한 토폴로지 구축이 수행되는 시나리오에 적용될 수 있다. 이와 같이, 적용 범위가 크게 확장되고, 유연성이 향상된다.
가능한 구현예에서, 상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하는 단계는,
상기 포트 지시 정보에서 제어 포트 식별자를 결정하는 단계 - 상기 제어 포트 식별자는 상기 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용됨 -; 및
상기 제어 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록을 상기 제어 데이터 블록인 것으로 결정하는 단계를 포함한다.
이 구현예에서, 패킷에 제어 데이터 블록이 있는지는 유효한 포트 식별자가 유효한 식별자인지에 기초하여 판정될 수 있다. 이에 상응하여, 네트워크 기기는 제어 포트 식별자가 유효한 식별자인지에 기초하여, 패킷에 제어 데이터 블록이 있는지를 알 수 있다. 제어 포트 식별자가 유효한 식별자인 경우, 네트워크 기기는 중앙 장비가 네트워크 기기에 명령 또는 구성 정보를 전송하다는 것을 학습한 다음, 패킷에서 제어 데이터 블록을 찾을 수 있다. 이 단계는 간단하며 유효성이 바람직하다.
가능한 구현예에서, 상기 하나 이상의 데이터 블록은 목적지 포트가 다운링크 포트인 하나 이상의 다운링크 데이터 블록을 포함하고;
상기 하나 이상의 다운링크 데이터 블록은 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 또는 상기 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
한편, 이 구현예에서는 다음 레벨의 네트워크 기기에 명령을 전송하는 기능이 구현되고, 이 구현예는 네트워크 토폴로지 구축 시나리오에 적용되며 다중 레벨의 네트워크 토폴로지 구축을 지원할 수 있다. 포트 지시 정보와 제어 데이터 블록은 다음 레벨의 네트워크 기기에 전송되어, 기기 정보를 보고하도록 다음 레벨의 네트워크 기기에 명령한다. 이와 같이, 적용 범위가 크게 확장되고 유연성이 향상된다. 한편, 이 구현예는 데이터 송신 시나리오에 적용된다. 단말기에 전송될 데이터는 다운링크 데이터 블록에 추가되므로, 네트워크 기기는 계층 2 프로토콜 및/또는 계층 3 프로토콜을 식별하지 않고 데이터를 단말기에 포워딩하는 기능을 구현할 수 있다. 이와 같이, 적용 범위가 크게 확장된다.
가능한 구현예에서, 상기 네트워크 토폴로지 생성 방법은,
상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 상기 하나 이상의 다운링크 데이터 블록을 결정하는 단계;
상기 하나 이상의 다운링크 데이터 블록에 기초하여 패킷을 생성하는 단계 - 상기 패킷은 상기 하나 이상의 다운링크 데이터 블록을 포함함 -; 및
상기 다운링크 포트를 통해 상기 패킷을 전송하는 단계를 더 포함한다.
가능한 구현예에서, 상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 상기 하나 이상의 다운링크 데이터 블록을 결정하는 단계는,
상기 포트 지시 정보에서 다운링크 포트 식별자를 결정하는 단계 - 상기 다운링크 포트 식별자는, 상기 하나 이상의 데이터 블록이 목적지 포트가 상기 다운링크 포트인 데이터 블록을 갖는지를 식별하는 데 사용됨 -; 및
상기 다운링크 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 상기 다운링크 포트인 데이터 블록이 상기 다운링크 데이터 블록인 것으로 결정하는 단계를 포함한다.
이 구현예에서, 패킷이 다운링크 데이터 블록을 갖는지는 다운링크 포트 식별자가 유효한 식별자인지에 기초하여 판정될 수 있다. 이에 상응하여, 네트워크 기기는 다운링크 포트 식별자가 유효한 식별자인지에 기초하여, 패킷이 다운링크 데이터 블록을 갖는지를 알 수 있다. 다운링크 포트 식별자가 유효한 식별자인 경우, 네트워크 기기는 패킷의 데이터에 대해 다운링크 송신이 수행되어야 함을 학습한 다음, 패킷에서 다운링크 데이터 블록을 찾을 수 있다. 이 단계는 간단하고, 유효성이 바람직하다.
또한, 제어 포트 식별자 및 다운링크 포트 식별자의 설계에 따라, 포트 지시 정보에서 각각의 포트 식별자는 1비트만 차지하면 된다. 중앙 장비가 네트워크 기기의 포트에 데이터 블록을 전송해야 하는 경우, 중앙 장비는 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖는다는 것을 지시하기 위해, 포트에 대응하는 비트에 1을 추가하기만 하면 된다. 중앙 장비가 네트워크 기기의 포트에 데이터 블록을 전송할 필요가 없는 경우, 중앙 장비는 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖지 않는다는 것을 지시하기 위해, 포트에 대응하는 비트에 0을 추가하기만 하면 된다. 이와 같이, 포트 지시 정보의 총 데이터량이 매우 적어, 사용되는 네트워크 송신 자원을 줄일 수 있다.
가능한 구현예에서, 상기 하나 이상의 데이터 블록에서 목적지 포트가 상기 다운링크 포트인 데이터 블록이 상기 다운링크 데이터 블록인 것으로 결정하는 단계는,
상기 포트 지시 정보 내의 모든 유효한 식별자에서 상기 다운링크 포트 식별자의 위치를 획득하는 단계; 및
상기 하나 이상의 데이터 블록에서, 상기 위치에 대응하는 데이터 블록을 상기 다운링크 데이터 블록으로 결정하는 단계를 포함한다.
가능한 구현예에서, 상기 중앙 장비에 기기 정보를 전송하는 단계는,
제어 포트를 사용하여 패킷을 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 제어 데이터 블록을 포함하고, 상기 포트 지시 정보는 상기 제어 데이터 블록의 근원지 포트를 지시하는 데 사용되며, 상기 제어 데이터 블록은 상기 기기 정보를 실어 전달함 -; 및
상기 패킷을 상기 중앙 장비에 전송하는 단계를 포함한다.
이 구현에서, 네트워크 기기는 인접한 기기 장치의 네트워크 주소의 인식 및 저장 없이 그리고 계층 2 네트워크 프로토콜 또는 계층 3 네트워크 프로토콜을 지원하지 않고 중앙 장비에 기기 정보를 전송할 수 있으며, 이 구현예는 물리 계층에서 기기에 대한 토폴로지 구축이 수행되는 시나리오에 적용 가능하다. 이와 같이, 적용 범위가 크게 확장되고, 유연성이 향상된다.
가능한 구현예에서, 상기 기기 정보를 중앙 장비에 전송하는 단계 후, 상기 네트워크 토폴로지 생성 방법은,
상기 중앙 장비로부터 포트 매핑 관계를 수신하는 단계 - 상기 포트 매핑 관계는 상기 하나 이상의 다운링크 포트에 매핑된 업링크 포트를 지시하는 데 사용됨 -;
임의의 다운링크 포트를 통해 상기 단말기로부터 패킷을 수신하는 단계;
상기 포트 매핑 관계를 조회하여 상기 다운링크 포트에 매핑된 업링크 포트를 획득하는 단계; 및
상기 업링크 포트를 통해 상기 중앙 장비로 상기 패킷을 전송하는 단계를 더 포함한다.
이 구현예에서, 네트워크 기기는 인접한 기기의 기기 정보의 인식 없이 그리고 전체 네트워크의 네트워크 토폴로지에 대한 인식 및 저장 없이 네트워크 기기의 포트 매핑 관계를 저장함으로써만 패킷 포워딩 기능을 구현할 수 있다. 이는 네트워크 기기가 계층 2 네트워크 프로토콜 또는 계층 3 네트워크 프로토콜을 식별할 수 있는 경우에만 네트워크 기기가 패킷을 포워딩할 수 있다는 한계를 극복하고, 물리 계층의 네트워크 기기에 적용할 수 있다. 물리 계층의 네트워크 기기가 패킷을 전달한다. 이는 네트워크 기기의 기능을 최대한 단순화하기 위한 요건을 충족하고, 네트워크 기기의 운영 전력 소비를 줄인다.
가능한 구현예에서, 상기 제어 포트 식별자는 상기 포트 지시 정보에서 제1 미리 설정된 위치의 비트에 실려 전달된다.
제1 미리 설정된 위치의 비트는 제1 비트로서 설계되고, 제어 포트 식별자는 포트 지시 정보 내의 제1 비트이며, 제어 포트는 정확히 네트워크 기기의 포트 0이다. 이 경우, 포트 지시 정보 내의 제어 포트 식별자의 시퀀스는 네트워크 기기의 포트 중 제어 포트의 시퀀스와 일치한다.
가능한 구현예에서, 상기 제어 데이터 블록은 상기 하나 이상의 데이터 블록에서 제2 미리 설정된 위치에 있다.
제2 미리 설정된 위치의 비트가 제1 비트로서 설계되어, 중앙 장비가 제어 데이터 블록을 패킷에서의 제1 데이터 블록으로 사용할 수 있도록 한다.
포트 지시 정보를 식별한 후, 네트워크 기기는 포트 지시 정보 후의 제1 데이터 블록을 찾는다, 즉, 제어 데이터 블록을 획득한다. 이 단계는 복잡한 처리 논리의 저장 및 실행 없이 간단하며, 네트워크 기기의 에너지 소비가 감소하고, 효율이 비교적 높다.
가능한 구현예에서, 상기 패킷 내의 데이터 블록은 복수의 주기에 따라 연속적으로 정렬되고, 상기 복수의 주기에서 동일한 위치에 있는 데이터 블록의 목적지 포트는 동일하다.
복수의 주기의 포맷을 설계함으로써, 단일 데이터 블록의 용량 제한을 극복할 수 있고, 패킷 확장성을 향상시킬 수 있다. 각각의 64b/66b 데이터 블록은 최대 64비트 데이터를 실어 전달하며, 단일 데이터 블록은 일반적으로 모든 데이터를 수용하기 위한 요건을 충족시킬 수 없다. 이 실시예에서, 중앙 장비가 네트워크 기기의 포트에 대량의 데이터를 전송해야 하면, 중앙 장비는 포트에 대해 복수의 데이터 블록을 생성하고, 복수의 데이터 블록에 모든 데이터를 패딩(pad)할 수 있으며, 복수의 주기로 복수의 데이터 블록을 정렬한다. 데이터 블록이 각각의 주기 순으로 정렬되도록 보장하면서 패킷 용량을 크게 늘릴 수 있다. 또한, 요건에 따라 각각의 패킷에 대한 주기의 수량을 결정할 수 있다. 실어 전달해야 하는 데이터의 양이 비교적 적으면, 데이터 블록에 대한 주기의 수량이 비교적 적어, 패킷의 길이가 비교적 짧다. 실어 전달해야 하는 데이터의 양이 비교적 많으면, 데이터 블록에 대한 주기의 수량이 비교적 많아, 패킷의 길이가 비교적 길다. 요건에 따라 패킷의 길이를 유연하게 조정할 수 있으며, 확장성과 유연성이 비교적 바람직하다는 것을 알 수 있다.
가능한 구현예에서, 각각의 다운링크 포트는 포트 매핑 관계에서 유일한 업링크 포트에 매핑된다.
이러한 구현예에서, 각각의 다운링크 포트는 포트 매핑 관계에서 유일한 업링크 포트에 대응하기 때문에, 네트워크 기기에서 패킷의 내부 송신 경로의 유일성을 보장할 수 있다. 또한, 각각의 네트워크 기기에서 내부 송신 경로의 유일성은 단말기와 중앙 장비 사이의 경로의 유일성을 보장할 수 있다. 이는 트리 토폴로지(tree topology)의 구성을 구현하고, 네트워크 토폴로지에서 발생하는 루프(loop)를 방지할 수 있으며, 루프에서 패킷의 순환 및 증식(proliferation)으로 인한 브로드캐스트 폭풍을 추가로 방지할 수 있으므로, 네트워크 토폴로지의 안정성을 보장할 수 있다.
가능한 구현예에서, 네트워크 토폴로지 생성 방법은,
제1 포트가 네트워크로부터 연결 해제된 후, 상기 중앙 장비로부터 상기 패킷을 수신하는 단계 - 상기 패킷은 상기 포트 지시 정보 및 상기 하나 이상의 데이터 블록을 포함하고, 상기 제1 포트는 하나 이상의 포트에 매핑됨 -;
상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하는 단계; 및
상기 제어 데이터 블록을 파싱하여 갱신된 포트 매핑 관계를 획득하는 단계 - 상기 갱신된 포트 매핑 관계는 제2 포트와 상기 하나 이상의 포트 사이의 매핑 관계를 포함하고, 상기 제2 포트는 상기 네트워크에 연결됨 -를 더 포함한다.
이 구현예에서, 네트워크 토폴로지가 구성된 후, 네트워크 링크는 포트 고장, 네트워크 지터 또는 기타 요인으로 인해 연결 해제될 수 있다. 이 실시예에서, 네트워크 기기의 임의의 포트에서 고장이 발생한 후, 네트워크 기기는 원래 그 포트와 매핑 관계가 확립된 하나 이상의 포트가 다른 포트와 매핑 관계를 확립하게 하여, 포트 매핑 관계를 갱신할 수 있다. 이와 같이, 네트워크 토폴로지를 적응적이고 동적으로 갱신하는 기능은 현재 네트워크 링크가 연결 해제될 때 구현된다. 이는 네트워크 토폴로지의 견고성을 보장하여, 네트워크 토폴로지를 보호한다.
제2 측면에 달면, 네트워크 토폴로지 생성 방법이 제공되며, 상기 네트워크 토폴로지 생성 방법은,
패킷 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용되며, 상기 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 상기 제어 데이터 블록은 기기 정보 전송 명령을 실어 전달함 -;
상기 패킷을 네트워크 기기에 전송하는 단계;
상기 네트워크 기기로부터 기기 정보를 수신하는 단계; 및
상기 기기 정보를 기초하여 네트워크 토폴로지를 생성하는 단계를 포함한다.
이 실시예에서 제공되는 방법에서, 새로운 패킷 인코딩 구조가 제공된다. 패킷의 데이터는 목적지 포트에 기초하여 블록의 단위로 인코딩되고, 제어 데이터 블록의 목적지 포트는 패킷 내의 포트 지시 정보를 사용하여 지시된다. 이러한 새로운 패킷 인코딩 구조에 하여, 패킷을 생성하고 패킷을 네트워크 기기에 전송한 후, 중앙 장비는 네트워크 기기에 이해 보고되는 기기 정보를 수신할 수 있다. 본 실시예에서 제공되는 패킷 인코딩 구조 및 패킷 교환 프로시저를 사용함으로써, 중앙 장비는 물리 계층에서 네트워크 기기에 대한 네트워크 토폴로지를 구축하는 기능을 구현할 수 있다. 이는 네트워크 기기가 계층 2 프로토콜 및/또는 계층 3 프로토콜을 지원하는 경우에만 네트워크 기기가 토폴로지 구축을 수행할 수 있다는 심각한 한계를 극복한다. 이와 같이, 적용 범위가 크게 확장되고 유연성이 향상된다.
가능한 구현예에서, 상기 포트 지시 정보의 제어 포트 식별자는 유효한 식별자이고, 상기 제어 포트 식별자는 상기 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용된다.
가능한 구현예에서, 상기 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
상기 하나 이상의 다운링크 데이터 블록은 상기 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 상기 포트 지시 정보 및 상기 제어 데이터 블록을 실어 전달하거나, 상기 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
다운링크 데이터 블록이 사용된다. 네트워크 토폴로지를 구축 동안, 기기 정보를 보고하도록 다음 레벨의 네트워크 기기에 명령하기 위해, 기기 정보 전송 명령이 다운링크 데이터 블록에 추가될 수 있다. 네트워크 토폴로지를 전달하는 중에, 포트 매핑 관계를 다운링크 데이터 블록에 추가하여, 포트 매핑 관계를 저장하고 사용하도록 다음 레벨의 네트워크 기기에 명령할 수 있다. 데이터 송신 중에, 사용자 데이터를 단말기에 송신하기 위해, 사용자 데이터가 다운링크 데이터 블록에 추가될 수 있다. 따라서 계층적 패킷 캡슐화 및 네트워크 기기의 레벨별 발견(level-by-level discovery)이 구현되고, 다중 레벨 네트워크 토폴로지 구축이 수행될 수 있다. 이는 복잡한 네트워킹 시나리오에서 사용할 수 있으며 광범위한 적용 범위를 가진 다양한 유형의 액세스 네트워크 시나리오에 적용 가능하다.
가능한 구현예에서, 상기 포트 지시 정보의 다운링크 포트 식별자는 유효한 식별자이고, 상기 다운링크 포트 식별자는 상기 하나 이상의 데이터 블록이 다운링크 데이터 블록을 갖는지를 식별하는 데 사용된다.
가능한 구현예에서, 상기 포트 지시 정보의 모든 유효한 식별자에서의 상기 다운링크 포트 식별자의 위치는 상기 하나 이상의 데이터 블록에서의 상기 다운링크 데이터 블록의 위치에 대응한다.
가능한 구현예에서, 상기 네트워크 토폴로지를 생성하는 단계 후, 상기 네트워크 토폴로지 생성 방법은,
상기 네트워크 기기의 하나 이상의 업링크 포트 및 하나 이상의 다운링크 포트를 얻기 위해 네트워크 토폴로지를 조회하는 단계;
각각의 다운링크 포트에 대해 상기 하나 이상의 업링크 포트에서 하나의 업링크 포트를 선택하는 단계;
각각의 다운링크 포트에 대응하는 업링크 포트에 기초하여 상기 네트워크 기기에 대한 포트 매핑 관계를 확립는 단계; 및
상기 포트 매핑 관계를 상기 네트워크 기기로 전송하는 단계를 더 포함한다.
이 구현에서, 네트워크 기기의 다운링크 포트는 업링크 포트에 유일하게 매핑되고, 포트 매핑 관계가 전달된다. 네트워크 기기가 포트 매핑 관계를 사용하여 패킷을 전달하는 경우, 임의의 패킷이 다운링크 포트에 도착한 후, 패킷은 복수의 업링크 포트를 통해 반복적으로 포워딩되는 대신 유일한 업링크 포트를 통해서만 포워딩된다. 이는 네트워크 기기에서 패킷의 내부 송신 경로의 유일성을 보장한다. 네트워크상의 각각의 네트워크 기기의 내부 송신 경로의 유일성에 기초하여, 네트워크 기기의 다운링크 포트는 단말기에 직접 또는 간접적으로 연결되고, 네트워크 기기의 업링크 포트는 중앙 장비에 직접 또는 간접적으로 연결되므로, 단말기와 중앙 장비 사이의 경로는 유일하다. 따라서, 중앙 장비의 다운링크 포트 각각은 트리 토폴로지에서 루트 노드(leaf node)가 되고, 각각의 단말기는 트리 토폴로지에서 리프 노드(leaf node)가 된다. 이 경우, 비 트리 네트워크 토폴로지는 복수의 트리 토폴로지로 분할될 수 있다.
가능한 구현예에서, 상기 포트 매핑 관계를 상기 네트워크 기기에 전송하는 단계는,
상기 포트 매핑 관계에 기초하여 패킷을 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 상기 제어 데이터 블록은 상기 포트 매핑 관계를 실어 전달함 -; 및
상기 패킷을 상기 네트워크에 전송하는 단계를 포함한다.
가능한 구현예에서, 상기 제어 포트 식별자는 상기 포트 지시 정보의 제1 미리 설정된 위치의 비트에 실려 전달된다.
가능한 구현예에서, 상기 제어 데이터 블록은 상기 하나 이상의 데이터 블록의 제2 미리 설정된 위치에 있다.
가능한 구현예에서, 상기 패킷 내의 데이터 블록은 복수의 주기에 따라 연속적으로 정렬되고, 상기 복수의 주기에서 동일한 위치에 있는 데이터 블록의 목적지 포트는 동일하다.
가능한 구현예에서, 상기 복수의 네트워크 기기의 기기 정보에 기초하여 네트워크 토폴로지를 생성한 후, 상기 네트워크 토폴로지 생성 방법은,
상기 네트워크 기기의 제1 포트가 네트워크로부터 연결 해제되는 경우, 상기 네트워크 기기의 포트 매핑 관계를 조회하여 상기 제1 포트에 매핑된 하나 이상의 포트를 획득하는 단계; 및
상기 포트 매핑 관계를 갱신하여 갱신된 매핑 관계를 획득하는 단계 - 상기 갱신된 포트 매핑 관계에서 상기 하나 이상의 포트는 상기 네트워크 기기의 제2 포트에 매핑되고, 상기 제2 포트는 네트워크에 연결됨 -를 더 포함한다.
가능한 구현예에서, 상기 포트 매핑 관계를 갱신한 후, 상기 네트워크 토폴로지 생성 방법은,
상기 갱신된 포트 매핑 관계에 기초하여 패킷을 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 하나 이상의 데이터 블록 내의 제어 데이터 블록은 상기 갱신된 포트 매핑 관계를 실어 전달함 -; 및
상기 패킷을 상기 네트워크 기기에 전송하는 단계를 더 포함한다.
가능한 구현예에서, 상기 네트워크 기기의 포트 매핑 관계를 조회하기 전에, 상기 네트워크 토폴로지 생성 방법은,
상기 제2 포트에서 통지 메시지를 수신하는 단계 - 상기 통지 메시지는 상기 제1 포트가 상기 네트워크로부터 연결 해제되었음을 지시하는 데 사용됨 -를 더 포함한다.
이 구현예에서, 네트워크 기기의 포트에 고장이 발생한 후, 중앙 장비는 포트 매핑 관계를 갱신 및 전달할 수 있으며, 그러면 네트워크 기기는 패킷을 전송하기 위한 포트를 변경한다. 이와 같이, 네트워크 토폴로지를 적응적이고 동적으로 갱신하는 기능은 현재 네트워크 링크가 연결 해제됨에 따라 구현된다. 이는 네트워크 토폴로지의 견고성을 보장하여, 네트워크 토폴로지를 보호한다.
제3 측면에 따르면, 네트워크 토폴로지 생성 장치가 제공된다. 상기 네트워크 토폴로지 생성 장치는 제1 측면 또는 제1 측면의 가능한 구현예 중 어느 하나에 따른 방법을 수행하도록 구성된다. 구체적으로, 상기 네트워크 토폴로지 생성 장치는 제1 측면 또는 제1 측면의 가능한 구현예 중 어느 하나에 따른 방법을 수행하도록 구성된 기능 모듈을 포함한다.
제4 측면에 따르면, 네트워크 토폴로지 생성 장치가 제공된다. 상기 네트워크 토폴로지 생성 장치는 제1 측면 또는 제1 측면의 가능한 구현예 중 어느 하나에 따른 방법을 수행하도록 구성된다. 구체적으로, 상기 네트워크 토폴로지 생성 장치는 제2 측면 또는 제2 측면의 가능한 구현예 중 어느 하나에 따른 방법을 수행하도록 구성된 기능 모듈을 포함한다.
제5 측면에 따르면, 전자 기기가 제공된다. 상기 전자 기기는 송수신기, 메모리 및 프로세서를 포함한다. 상기 송수신기, 상기 메모리 및 상기 프로세서는 내부 연결 경로를 통해 서로 통신한다. 상기 메모리는 명령어를 저장하도록 구성되고; 상기 프로세서는 상기 메모리에 저장된 명령어를 실행하여, 신호를 수신하도록 상기 송수신기를 제어하고, 신호를 전송하도록 송수신기를 제어하도록 구성된다. 상기 프로세서가 상기 메모리에 저장된 명령어를 실행할 때, 상기 전자 기기는 상기 프로세서가 제1 측면 또는 제1 측면의 가능한 구현예 중 어느 하나에 따른 네트워크 토폴로지 생성 방법을 수행할 수 있게 한다.
제5 측면에 따르면, 전자 기기가 제공된다. 상기 전자 기기는 송수신기, 메모리 및 프로세서를 포함한다. 상기 송수신기, 상기 메모리 및 상기 프로세서는 내부 연결 경로를 통해 서로 통신한다. 상기 메모리는 명령어를 저장하도록 구성되고; 상기 프로세서는 상기 메모리에 저장된 명령어를 실행하여, 신호를 수신하도록 상기 송수신기를 제어하고, 신호를 전송하도록 송수신기를 제어하도록 구성된다. 상기 프로세서가 상기 메모리에 저장된 명령어를 실행할 때, 상기 전자 기기는 상기 프로세서가 제2 측면 또는 제2 측면의 가능한 구현예 중 어느 하나에 따른 네트워크 토폴로지 생성 방법을 수행할 수 있게 한다.
제7 측면에 따르면, 네트워크 토폴로지 생성 시스템이 제공된다. 가능한 구현에서 상기 네트워크 토폴로지 생성 시스템은,
제3 측면에 따른 네트워크 토폴로지 생성 장치 및 제4 측면에 따른 네트워크 토폴로지 생성 장치를 포함한다.
다른 가능한 구현에서, 상기 네트워크 토폴로지 생성 시스템은,
제5 측면에 따른 네트워크 토폴로지 생성 장치 및 제6 측면에 따른 네트워크 토폴로지 생성 장치를 포함한다.
제8 측면에 따르면, 컴퓨터로 판독 가능한 저장 매체가 제공된다. 상기 컴퓨터로 판독 가능한 저장 매체는 컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램은 프로세서에 의해 로딩되고 실행되어, 임의의 측면 또는 임의의 측면의 임의의 가능한 구현예에 따른 네트워크 토폴로지 생성 방법을 구현한다.
제9 측면에 따르면, 칩이 제공된다. 상기 칩은 프로세서 및/또는 프로그램 명령어가 포함된다. 상기 칩이 실행될 때, 임의의 측면 또는 임의의 가능한 구현예에 따른 네트워크 토폴로지 생성 방법이 수행된다.
도 1은 본 출원의 일 실시예에 따른 구현 환경의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 구현 환경의 개략도이다.
도 3은 본 출원의 일 실시예에 따른 교환기의 기능 아키텍처도이다.
도 4는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다.
도 5는 본 출원의 일 실시예에 따른 네트워크 토폴로지의 개략 구성도이다.
도 6은 본 출원의 일 실시예에 따른 포트 지시 정보의 개략도이다.
도 7은 본 출원의 일 실시예에 따른 포트 지시 정보의 개략도이다.
도 8은 본 출원의 일 실시예에 따른 패킷의 개략도이다.
도 9는 본 출원의 일 실시예에 따른 패킷의 개략도이다.
도 10은 본 출원의 일 실시예에 따른 네트워크 토폴로지의 개략 구성도이다.
도 11은 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다.
도 12는 본 출원의 일 실시예에 따른 네트워크 토폴로지의 개략 구성도이다.
도 13은 본 출원의 일 실시예에 따른 패킷의 개략도이다.
도 14는 본 출원의 일 실시예에 따른 패킷의 개략도이다.
도 15는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다.
도 16은 본 출원의 일 실시예에 따른 네트워크 기기의 포트 매핑 관계의 개략도이다.
도 17은 본 출원의 일 실시예에 따른 네트워크 기기의 포트 매핑 관계의 개략도이다.
도 18은 본 출원의 일 실시예에 따른 트리 네트워크 토폴로지의 개략도이다.
도 19는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다.
도 20은 본 출원의 일 실시예에 따른 네트워크 토폴로지에서 발생하는 링크 고장의 개략도이다.
도 21은 본 출원의 일 실시예에 따른 포트 매핑 관계를 갱신하는 개략도이다.
도 22는 본 출원의 일 실시예에 따른 네트워크 토폴로지 재구성의 개략도이다.
도 23은 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 장치의 개략 구성도이다.
도 24는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 장치의 개략 구성도이다.
도 25는 본 출원의 일 실시예에 따른 전자 기기의 개략 구성도이다.
도 1은 본 출원의 일 실시예에 따른 구현 환경의 개략도이다. 구현 환경은 중앙 장비(101) 및 복수의 네트워크 기기(102)를 포함하고, 중앙 장비(101)는 네트워크를 사용하여 각각의 네트워크 기기(102)에 연결된다.
중앙 장비(101)는 네트워크 기기를 관리하는 기능을 가지며, 네트워크의 관리 센터 역할을 할 수 있다. 중앙 장비(101)는 네트워크 기기(102)를 관리하도록 구성된다. 선택적으로, 중앙 장비(101)는 데이터 포워딩 기능을 더 가질 수 있고, 중앙 장비(101)는 네트워크상에서 전송되는 패킷을 포워딩도록 구성될 수 있다. 중앙 장비(101)는 임의의 네트워크 기기(102)의 패킷을 수신하고, 패킷을 다른 네트워크 기기(102)에 전송할 수 있다.
중앙 장비(101)는 교환기, 라우터, 광 선로 단말기(optical line terminal, 이하 약칭하여 OLT) 등을 포함할 수 있다. 예를 들어, 중앙 장비(101)는 수동 광 네트워크(Passive Optical Network, 이하 약칭하여 PON)상의 OLT 기기일 수 있다. 물론, 중앙 장비(101)는 대안으로 네트워크 관리 기능을 갖는 다른 기기일 수 있다. 선택적으로, 사물 인터넷에 적용되는, 중앙 장비(101)는 기기를 관리하는 기능을 갖고 사물 인터넷상에 있는 임의의 기기일 수 있다. 예를 들어, 중앙 장비(101)는 사물 인터넷 게이트웨이를 포함할 수 있다.
네트워크 기기(102)는 데이터 송신 기능을 갖고 있으며, 네트워크의 기본 기기 역할을 할 수 있다. 네트워크 기기(102)는 패킷을 포워딩하도록 구성될 수 있다. 예를 들어, 네트워크 기기(102)는 근원지 단말기에 의해 전송되는 패킷을 수신하고 패킷을 중앙 장비(101)에 전송할 수 있다. 다른 예를 들어, 네트워크 기기(102)는 중앙 장비(101)에 의해 전송된 패킷을 수신하고 패킷을 목적지 단말기에 전송할 수 있다.
네트워크 기기(102)는 교환기, 라우터, 광 네트워크 단말기(Optical network terminal, 이하 약칭하여 ONT), 광 네트워크 유닛(Optical Network Unit, 이하 약칭하여 ONU), 또는 분광기(optical splitter)일 수 있다. 선택적으로, 네트워크 기기(102)는 사물 인터넷상의 임의의 기기일 수 있다. 예를 들어, 네트워크 기기(102)는 사용자에게 속한 기기, 서비스 제공자에 의해 사용자 측에 배치된 기기, 인프라 기기 및 공공 장소에 있는 기기를 포함할 수 있다. 예를 들어, 네트워크 기기(102)는 맨홀 덮개, 소화전, 수도 계량기, 전기 계량기, 가로등, 자전거 및 자동차를 포함할 수 있다.
이 실시예에서, 네트워크 기기(102)는 네트워크상의 물리 계층(Physical Layer)에서 작동하는 기기일 수 있으며, L1 계층 기기, 물리 계층 장치 또는 계층 1 네트워크 기기로 지칭될 수 있다.
중앙 장비(101)와 네트워크 기기(102)는 직접 연결 방식 또는 간접 연결 방식으로 연결될 수 있다. 중앙 장비(101)와 네트워크 기기(102)가 직접 연결된다는 것은 중앙 장비(101)의 다운링크 포트가 네트워크 기기(102)의 업링크 포트에 연결된다는 것을 의미한다. 중앙 장비(101)와 네트워크 기기(102)가 간접적으로 연결된다는 것은, 중앙 장비(101)의 다운링크 포트는 다른 기기의 업링크 포트에 연결되고, 다른 기기의 다운링크 포트는 네트워크 기기(102)의 업링크 포트에 연결된다는 것을 의미한다.
직접 연결 방식 및 간접 연결 방식을 통해, 복수의 네트워크 기기(102)는 다중 레벨 네트워크 토폴로지를 형성할 수 있다. 중앙 장비(101)에 직접 연결된 하나 이상의 네트워크 기기(102)는 제1 레벨 네트워크 토폴로지를 형성하며, 여기서 제1 레벨 네트워크 토폴로지에서의 각각의 네트워크 기기(102)는 제1 레벨 네트워크 기기로 사용될 수 있고, 제1 레벨 네트워크 기기는 중앙 장비(101)와 직접 정보를 교환할 수 있다. 마찬가지로, 제1 레벨 네트워크 기기에 직접 연결된 하나 이상의 네트워크 기기는 제2 레벨 네트워크 토폴로지를 형성하며, 여기서 제2 레벨 네트워크 토폴로지에서의 각각의 네트워크 기기(102)는 제2 레벨 네트워크 기기(102)로서 사용될 수 있고, 제2 레벨 네트워크 기기(102)는 제1 레벨 네트워크 기기(102)의 패킷 포워딩 기능을 사용하여 중앙 장비(101)와 정보를 교환할 수 있다.
도 1에 도시된 구현 환경에 기초하면, 중앙 장비(101)와 복수의 네트워크 기기(102)는 다중 레벨 네트워크를 형성할 수 있으며, 예를 들어 3개 이상의 레벨을 갖는 네트워크를 형성할 수 있다. 예를 들어 3 레벨 네트워크를 예로 사용하면, 중앙 장비(101)는 코어 계층 네트워크에 대응하고, 제1 레벨 네트워크 기기는 집성 계층 계층 네트워크(aggregation layer network)에 대응하며, 제2 레벨 네트워크 기기는 액세스 계층 네트워크에 대응한다. 코어 계층 네트워크는 전체 네트워크의 중추(backbone)이며, 전체 네트워크를 연결하는 데 중요한 역할을 한다. 액세스 계층 네트워크는 사용자 연결 또는 네트워크 액세스를 지향하는 전체 네트워크의 일부분이다. 집성 계층 네트워크는 액세스 계층 네트워크의 트래픽을 집성하는 데 사용되고, 코어 계층 네트워크에 도착하는 업링크를 제공한다.
중앙 장비는 코어 계층 네트워크에 배치된 기기인 코어 교환기 또는 코어 라우터일 수 있고, 제1 레벨 네트워크 기기는 집성 계층 네트워크에 배치된 기기인 집성 교환기일 수 있으며, 제2 레벨 네트워크 기기는 액세스 계층 네트워크에 배치된 기기인 액세스 교환기일 수 있다.
전술한 내용은 3 레벨 네트워크의 아키텍처에 기초하여 네트워킹이 수행되는 설명을 위한 예를 사용한다는 것에 유의해야 한다. 가능한 구현예에서, 3 레벨보다 많거나 적은 레벨의 네트워크가 네트워킹에 사용될 수 있다. 예를 들어, 도 2를 참조하면, 코어 계층 네트워크와 액세스 계층 네트워크를 포함하는 2 레벨 네트워크는 집성 계층 네트워크 없이 배치된다. 도 2에 도시된 네트워킹 아키텍처에서, 중앙 장비는 각각의 네트워크 기기에 직접 연결된다.
이하에서는 예시적인 애플리케이션 시나리오를 참조하여 설명을 제공한다.
현재, 이더넷상의 교환기에는 종래의 패킷 교환 기술(Packet switching technology, 또는 packet-switched technology이라 함)이 사용된다. 패킷은 MAC 주소 학습 및 룩업을 통해 수평으로 교환되고 수직으로 교환된다. 교환기의 기능 아키텍처에는 MAC 집성, 패킷 파싱, 패킷 편집, 패킷 교환, 트래픽 관리 등이 포함된다. 이러한 기능 아키텍처는 수평 교환 네트워크에 비교적 적절하지만, 데이터 센터가 대중화됨에 따라, 네트워크 트래픽은 주로 수직 교환에 기초하고 수평 교환에 대한 요구는 점차 감소한다. 원래의 2 레벨 교환 방안에서 수평 교환을 지원하는 기능은 중복되고 복잡해져서, 실행중인 교환기의 전력 소비가 과도하게 높아지고 불필요한 비용이 증가한다. 따라서, 데이터 센터를 중심으로 사용하는 네트워크 아키텍처에서, 네트워크 기기는 파이프 라인이 그런 것처럼, 기존 교환기의 복잡한 기능을 사용하지 않고, 사용자 장비의 데이터를 데이터 센터에 수직 송신해야 한다. 이는 교환기의 특징: 낮은 전력 소비, 유지 관리 필요 없는, 단순화된 기능을 구현한다.
이를 고려하여, 도 3을 참조하면, 도 3은 본 출원의 일 실시예에 따른 교환기의 기능 아키텍처도이다. MAC 집성, 패킷 파싱, 및 패킷 편집과 같은 교환기의 기능이 제거되고, 데이터 패킷 MAC 교환은 비트 블록(데이터 블록) 집성 방식으로 대체된다. 이는 교환기의 복잡성과 전력 소비를 크게 줄일 수 있다. 실험 평가에 따르면, 동일한 처리량으로, 전력 소비 및 칩 규모의 관점에서, PHY((physical layer, 물리 계층) 집성 칩의 전력 소비 및 규모를 MAC 집성 칩의 그것에 비해 6배 줄일 수 있고; 칩 비용의 관점에서, PHY 집성 칩의 비용은 MAC 집성 칩의 비용에 비해 10배 절감될 수 있다.
그러나 교환기의 MAC 계층 네트워크 기능이 제거된 후, 교환기는 물리 계층 네트워크 기능만을 갖고; 업링크 포트와 다운링크 포트의 데이터를 집성 및 배포만 할 수 있고, 계층 2 네트워크 프로토콜, 계층 3 네트워크 프로토콜 또는 상위 계층 네트워크 프로토콜을 식별할 수 없고; 기기의 포트 매핑 관계를 저장만 하고, 네트워크 토폴로지를 인식할 수 없다. 따라서 기존의 계층 2 네트워크 프로토콜과 계층 3 네트워크 프로토콜은 사용될 수 없으며, 물리 계층 네트워크 프로토콜을 지원할 수 있는 새로운 토폴로지 구축 방안이 제공되어야 한다.
본 출원의 이 실시예는 물리 계층의 네트워크 기기에 적용될 수 있으며, 네트워크 기기가 상위 계층 네트워크 프로토콜을 식별할 수 없고 네트워크 토폴로지를 인식하지 못하는 상황에서 네트워크 토폴로지 구축을 구현하는 문제를 해결하는 데 사용될 수 있다.
예시적인 시나리오에서, 본 출원의 이 실시예는 교환기를 포함하는 다양한 네트워크, 예를 들어 이더넷 액세스 네트워크, 기업 교환기 네트워크 및 캠퍼스 교환기 네트워크에 적용될 수 있다. 네트워크 트래픽이 주로 수직 송신에 기초하고, 데이터 센터를 중심으로 사용하는 네트워크가 배치된 후에 수평 교환에 대한 요구 사항이 감소하는 경우, 본 출원의 실시예에서 제공되는 방법을 수행하기 위한 교환기는 기존 교환기를 대체할 수 있으므로, 교환기의 복잡도, 전력 소비 및 비용을 크게 줄일 수 있다. 예시적인 애플리케이션 시나리오에서, 본 출원의 실시예에서 제공되는 방법은 차세대 액세스 교환기에 적용될 수 있으며, FTTB(Fiber to The Building) 업그레이드 및 네트워크 인프라 공동 구축 및 공유와 같은 시나리오에 적용 가능하다
다른 예시적인 애플리케이션 시나리오에서, 본 출원의 이 실시예는 사물 인터넷 시나리오에 적용될 수 있다. 다양한 사물 인터넷 기기가 본 출원의 실시예에서 제공되는 방법을 수행하여, 사물 인터넷 기기를 포함하는 네트워크 토폴로지를 구축하고, 사물 인터넷의 대량의 사물 인터넷 기긴 간의 연결을 구현함으로써, 모든 사물을 연결하는 기능을 구현한다. 또한, 본 출원의 실시예에서 제공되고 기기가 상위 계층 프로토콜을 식별할 필요가 없는 간단한 단계를 포함하는 방법에서는, 저전력 소비, 저비용 및 유지관리가 필요없는 요건이 충족될 수 있다. 이는 기기의 실행으로 인한 기기 제조 비용과 에너지 오버 헤드를 줄일 수 있다.
본 출원의 이 실시예에서, 중앙 장비는 제1 레벨 네트워크 토폴로지를 구축하기 위해, 중앙 장비에 직접 연결된 네트워크 기기의 기기 정보를 찾을 수 있다. 이하에서는 도 4의 실시예를 참조하여 상세한 설명을 제공한다.
도 4는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다. 이 네트워크 토폴로지 생성 방법에서의 상호 작용 엔티티는 중앙 장비와 네트워크 기기를 포함한다. 이 네트워크 토폴로지 생성 방법은 다음 단계를 포함한다.
401. 중앙 장비가 패킷을 생성하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함한다.
중앙 장비에 의해 패킷을 생성하는 경우와 관련하여, 중앙 장비는 네트워크 토폴로지 구축을 임의의 경우에 패킷을 생성할 수 있다. 예를 들어, 중앙 장비는 네트워크 기기가 네트워크에 액세스하는 경우, 즉 네트워크 기기가 네트워크에서 온라인 상태가 되는 경우에 패킷을 생성하여, 네트워크 초기화 동안에 네트워크 기기의 기기 정보를 획득할 수 있다. 다른 예를 들어, 중앙 장비는 주기적으로 패킷을 생성하여, 네트워크 기기의 기기 정보를 주기적으로 획득하고, 네트워크 토폴로지를 정기적으로 갱신할 수 있다. 또 다른 예를 들어, 중앙 장비는 명령을 수신하는 경우에 패킷을 생성할 수 있으며, 여기서 명령은 중앙 장비의 입력 작업에 의해 트리거될 수 있으므로, 중앙 장비는 사용자 요구 및 현재 네트워크 상태에 기초하여 실시간으로 네트워크 토폴로지를 구축할 수 있다. 또 다른 예를 들어, 중앙 장비는 지정된 시점에 패킷을 생성하여, 지정된 시점에 대응하는 네트워크 토폴로지를 획득할 수 있다. 중앙 장비가 패킷을 생성하는 경우는 본 실시예에서 한정되지 않는다.
네트워크 기기가 네트워크에 액세스 하는 경우에 패킷이 생성되는 것이 예로 사용된다 네트워크 기기가 네트워크에 액세스할 때, 코어 네트워크 기기는 네트워크 기기가 네트워크에 액세스했음을 검출할 수 있고, 그 후 패킷이 생성된다.
네트워크 기기가 네트워크에 액세스했는지를 검출하는 구현과 관련하여, 가능한 구현예에서, 중앙 장비는 각각의 다운링크 포트의 상태를 결정할 수 있다. 임의의 다운링크 포트가 인에이블된(up) 상태에 있는 경우, 중앙 장비는 다운링크 포트에 연결된 네트워크 기기가 네트워크에 액세스하였다고 결정할 수 있다. 또는 임의의 다운링크 포트가 디스에이블된(down) 상태에 있는 경우, 중앙 장비는 다운링크 포트에 연결된 네트워크 기기가 네트워크에 액세스하지 않았다고 결정할 수 있다.
구체적으로, 네트워크 기기에 의한 네트워크 액세스하는 과정에서, 네트워크 기기의 업링크 포트와 중앙 장비의 다운링크 포트는 인에이블되어야 하고, 네트워크 기기의 업링크 포트의 파라미터 및 중앙 장비의 다운링크 포트의 파라미터가 구성되고, 이들 두 포트의 파라미터는 매칭되도록 만들어진다. 네트워크 기기의 업링크 포트와 중앙 장비의 다운링크 포트은 전원이 켜진 후, 두 포트는 서로 네고시에션한다. 네고시에이션이 완료된 후, 네트워크 기기의 업링크 포트와 중앙 장비의 다운링크 포트 사이에 네트워크 링크가 확립다. 이 경우, 중앙 장비는 다운링크 포트의 상태를 변경하고, 다운링크 포트의 상태를 "down" 상태에서 "up" 상태로 조정하고, 네트워크 기기가 네트워크에 액세스했음을 검출한다.
예시적인 시나리오에서, 도 5에 도시된 네트워크 아키텍처에서, 중앙 장비(A)에는 네 개의 다운링크 포트: 포트 1, 2, 3 및 4가 있고, 네트워크 기기(B)에는 두 개의 포트: 포트 0a와 0b가 있으며, 중앙 장비(A)의 다운링크 포트 1과 네트워크 기기(B)의 업링크 포트 0a는 링크-1로 표시되어 있다. 중앙 장비(A)의 다운링크 포트 1과 네트워크 기기(B)의 업링크 포트 0a가 인에이블되고 전원이 켜지면, 다운링크 포트 1이 업링크 포트 0a와 네고시에션을 한다. 네고시에이션이 종료된 후, 중앙 장비(A)의 다운링크 포트 1의 상태가 "up" 상태로 설정되어, 중앙 장비(A)는 네트워크 기기(B)가 네트워크에 액세스했음을 검출한다.
본 출원의 이 실시예는 중앙 장비에 의해 생성되는 패킷에 대한 새로운 패킷 구조를 제공하며, 여기서 새로운 패킷 구조는 주로 포트 지시 정보 및 데이터 블록을 포함한다. 패킷 구조에 기초하여, 패킷은 포트 지시 정보와 하나 이상의 데이터 블록을 포함할 수 있다. 설계된 패킷 구조를 사용함으로써, 패킷을 송수신하는 기기가 계층 2 프로토콜 및/또는 계층 3 프로토콜을 지원할 수 있어야 한다는 심각한 한계를 극복하고, 패킷 구조는 물리 계층에서 기기에 적용될 수 있다. 이러한 방식으로, 물리 계층의 네트워크 기기는 패킷을 식별하고 파싱할 수 있으므로, 적용 범가 크게 확장된다.
이하에서는 (1) 포트 지시 정보 및 (2) 데이터 블록을 개별적으로 상세하게 설명한다.
(1) 포트 지시 정보
이하에서는 포트 지시 정보의 기능, 위치, 내용, 형식, 생성 과정 등의 관점에서 포트 지시 정보를 개별적으로 상세히 설명한다.
(1.1) 포트 지시 정보의 기능: 포트 지시 정보는 종래의 계층 3 헤더(IP 헤더)와 계층 2 헤더(MAC 헤더)를 대체할 수 있고, 물리 계층에 적용 가능한 새로운 헤더 정보로 사용될 수 있으며, 패킷 내의 필드일 수 있다. 포트 지시 정보는 네트워크 기기의 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용된다, 즉, 패킷 내의 데이터 블록 각각이 전송될 특정 포트를 지시할 수 있다. 네트워크 기기는 포트 지시 정보를 식별함으로써 서로 다른 목적지 포트에 대한 데이터 블록을 구분할 수 있다.
(1.2) 포트 지시 정보의 내용: 가능한 구현예에서, 포트 지시 정보는 하나 이상의 포트 식별자를 포함할 수 있고, 각각의 포트 식별자는 네트워크 기기의 하나의 포트에 대응하고, 각각의 포트 식별자는 패킷 내의 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 포함하는지를 식별하는 데 사용된다.
포트 식별자에 대응하는 포트의 관점에서, 네트워크 기기는 서로 다른 기능을 가진 두 개의 포트, 즉 제어 포트와 다운링크 포트를 가질 수 있다. 이에 상응하여, 포트 식별자는 제어 포트 식별자 및 다운링크 포트 식별자를 포함할 수 있으며, 여기서 제어 포트 식별자는 네트워크 기기의 제어 포트에 대응하고, 다운링크 포트 식별자는 네트워크 기기의 다운링크 포트에 대응한다.
예를 들어, 도 6은 본 출원의 일 실시예에 따른 포트 지시 정보의 개략도이다. 도 6에서 각각의 "X"는 포트 식별자를 나타내며, 패킷에서 "X" 값은 실제로 "1" 또는 "0"일 수 있다. 도 6에 도시된 포트 지시 정보에서, 첫 번째 "X"는 포트 지시 정보의 제1(첫 번째) 비트이며 제어 포트 식별자를 나타내고, 두 번째 "X"에서 마지막 "X"까지는 포트 지시 정보의 제2(두 번째) 비트 내지 포트 지시 정보의 마지막 비트이며, 다운링크 포트 식별자를 나타낸다. 예를 들어, 두 번째 "X"는 포트 1에 대응하는 다운링크 포트 식별자를 나타내고, 세 번째 "X"는 포트 2에 대응하는 다운링크 포트 식별자를 나타낸다.
제어 포트는 콘솔 포트(consol port), 관리 포트 또는 제어 관리 포트라고도 하며, 네트워크 기기에 대한 명령 및/또는 구성된 파라미터를 네트워크 기기에 전송하도록 구성된다. 제어 포트는 논리적으로 포트, 즉 가상 포트일 수 있으며, 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 제어 포트는 컴퓨터 프로그램을 포함하는 기능 모듈일 수 있다. 선택적으로, 제어 포트는 네트워크 기기의 포트 0으로 표시될 수 있다.
본 실시예에서 제공되는 패킷에서, 제어 데이터 블록의 목적지 포트는 제어 포트일 수 있다. 또한, 제어 데이터 블록의 목적지 포트는 실제 요건에 따라 네트워크 기기의 다른 포트일 수도 있다. 제어 데이터 블록은 제어 관리 패킷의 역할을 하도록 제공될 수 있으며, 제어 데이터 블록은 네트워크 기기에 송신되는/될 네트워크 기기에 대한 명령 및/또는 구성된 파라미터를 실어 전달한다.
제어 포트 식별자는 하나 이상의 데이터 블록이 제어 데이터 블록을 포함하는지를 지시하는 데 사용된다, 예를 들어, 패킷에 제어 포트가 목적지 포트인 데이터 블록이 있는지를 지시할 수 있다. 네트워크 기기는 제어 포트 식자를 사용하여 하나 이상의 데이터 블록이 제어 데이터 블록을 가지고 있는지를 판정할 수 있으므로, 하나 이상의 데이터 블록이 제어 데이터 블록을 가지고 있는 경우, 네트워크 기기는 하나 이상의 데이터 블록에서 제어 데이터 블록을 찾은 다음, 중앙 장비에 의해 네트워크 기기에 전송되는 명령 및/또는 파라미터를 획득한다.
다운링크 포트는 네트워크 기기의 입력/출력 포트이며, 다음 레벨 네트워크 기기 또는 단말에 패킷을 전송하도록 구성된다. 다운링크 포트는 물리적으로 포트, 즉, 물리 포트일 수 있다. 또는 다운링크 포트는 논리적으로 포트, 즉, 가상 포트일 수 있다. 다운링크 포트가 가상 포트인 경우, 소프트웨어를 사용하여 다운링크 포트를 구현할 수 있다. 예를 들어, 다운링크 포트는 컴퓨터 프로그램을 포함하는 기능 모듈일 수 있다. 선택적으로 네트워크 기기는 n개의 다운링크 포트를 가질 수 있다(여기서 n은 양의 정수). 상이한 다운링크 포트는 상이한 다음 레벨 네트워크 기기에 연결될 수 있고, n개의 다운링크 포트는 n개의 다음 레벨 네트워크 기기에 연결될 수 있으며, 여기서 n개의 다운링크 포트는 각각 네트워크 기기에서 포트 1 내지 포트 n으로 표시될 수 있다.
다운링크 포트 식별자는 하나 이상의 데이터 블록이 다운링크 데이터 블록을 포함하는지를, 예를 들어, 하나 이상의 데이터 블록이 다운링크 포트가 목적지 포트인 데이터 블록을 가지고 있는지를 지시하는 데 사용된다. 설명을 구별하기 위해, 이 실시예에서, 다운링크 데이터 블록은 다른 기기에 전송될 데이터를 실어 전달한다. 다른 기기는 목적지 단말기 및 네트워크 기기에 연결된 다음 레벨 네트워크 기기를 포함할 수 있다. 다운링크 데이터 블록은 다운링크 포트를 통해 다른 기기에 송신되고, 다운링크 포트 식별자는 패킷 내의 하나 이상의 데이터 블록이 다운링크 데이터 블록을 가지고 있는지를 식별하는 데 사용된다. 네트워크 기기는 다운링크 포트 식별자를 사용하여, 하나 이상의 데이터 블록이 다운링크 데이터 블록을 가지고 있는지를 판정할 수 있으므로, 하나 이상의 데이터 블록이 다운링크 데이터 블록을 가지고 있는 경우, 네트워크 기기는 ?汰鵑瓚? 데이터 브록에서 다운링크 데이터 블록을 찾은 다음, 다운링크 데이터 블록을 다른 기기에 송신한다.
포트 식별자의 값의 관점에서, 포트 식별자의 값은 유효한 식별자 및 무효한 식별자를 포함할 수 있다. 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시하는 데 사용되며, 무효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 있는 데이터 블록을 가지고 있지 않음 지시하는 데 사용된다.
구체적으로, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖는 경우, 포트 식별자의 값은 유효한 식별자이므로, 포트 식별자가 유효한 식별자임을 식별하는 경우, 네트워크 기기는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있음을 학습한다. 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖지 않는 경우, 포트 식별자의 값은 무효한 식별자이므로, 포트 식별자가 무효한 식별자임을 식별하는 경우, 네트워크 기기는 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있지 않음을 학습한다. 다시 말해, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있는지에 관한 서로 다른 경우는 유효한 식별자와 무효한 식별자를 사용하여 구별할 수 있다.
유효한 식별자는 숫자, 문자(letter), 문자열(character string) 및 기타 데이터 유형을 포함할 수 있다. 예를 들어, 유효한 식별자는 1, Y, Yes, T, True 등을 포함할 수 있다. 무효한 식별자는 숫자, 문자, 문자열 및 기타 데이터 유형을 포함할 수 있다. 예를 들어, 무효한 식별자는 0, N, No, F, False 등을 포함할 수 있다.
유효한 식별자는 1이고 무효한 식별자는 0인 것을 예로 사용한다. 포트 지시 정보 내의 제어 포트 식별자가 1인 것은 패킷이 제어 데이터 블록을 가지고 있음을 지시할 수 있고, 포트 지시 정보 내의 제어 포트 식별자가 0인 것은 패킷이 제어 데이터 블록을 가지고 있지 않음을 지시할 수 있다. 마찬가지로, 포트 지시 정보에서 다운링크 포트 식별자가 1인 것은 패킷이 다운링크 데이터 블록을 가지고 있음을 지시할 수 있고, 포트 지시 정보에서 다운링크 포트 식별자가 0인 것은 패킷이 다운링크 데이터 블록을 가지고 있지 않음을 지시할 수 있다.
본 실시예에서 제공되는 패킷에서, 포트 지시 정보는 MAC 주소 및/또는 IP 주소를 실어 전달하는 대신에 각각의 포트 식별자만을 실어 전달함으로써 데이터 블록의 목적지 포트를 지시할 수 있다. 따라서 네트워크 기기가 계층 2 프로토콜 및/또는 계층 3 프로토콜을 지원할 수 있을 필요가 없다. 네트워크 기기는 포트 지시 정보를 식별함으로써 각각의 포트의 데이터 블록을 패킷에서 찾을 수 있다.
전술한 내용은 포트 지시 정보가 각각의 포트 식별자만을 실어 전달함으로써 각각의 데이터 블록의 목적지 포트를 지시하는 설명을 위한 예를 사용함에 유의해야 한다. 다른 가능한 구현예에서, 포트 지시 정보는 대안으로 다른 방식으로 각각의 데이터 블록의 목적지 포트를 지시할 수 있다. 데이터 블록의 목적지 포트를 지시하기 위해 포트 지시 정보에 의해 사용되는 특정 방식은 본 실시예에서 한정되지 않는다.
(1.3) 포트 지시 정보의 형식: 포트 지시 정보에서 각각의 포트 식별자는 1비트를 차지한다. 이진법으로 포트 식별자의 값이 1 또는 0이고, 각각의 포트 식별자가 1비트(이진수, 이하 약칭하여 비트)를 차지하는 경우, 포트 지시 정보가 n개의 포트 식별자를 가지고 있으면, 포트 지시 정보는 총 n 비트를 차지한다. 가능한 설계에서, 포트 지시 정보는 총 약 56비트를 차지한다.
포트 지시 정보에서 각각의 포트 식별자에 의해 점유되는 비트는 미리 지정될 수 있다. 이 실시예에서, 포트 지시 정보의 제1 미리 설정된 위치의 비트가 제어 포트 식별자를 실어 전달하는 것으로 지정되는 예가 설명을 위해 사용된다. 미리 설정된 위치의 비트는 제1 비트일 수 있거나, 실제 요건에 따라 다른 위치에 있는 것으로 설계될 수 있다. 제1 미리 설정된 위치의 비트는 제1 비트로서 설계되고, 제어 포트 식별자는 포트 지시 정보에서의 제1 비트이며, 제어 포트는 정확히 네트워크 기기의 포트 0이다. 이 경우, 포트 지시 정보 내의 제어 포트 식별자의 시퀀스는 네트워크 기기의 포트 중 제어 포트의 시퀀스와 매칭된다.
다운링크 포트 식별자는 포트 지시 정보에서의 제1 미리 설정된 위치의 비트 이외의 비트에 실려 전달될 수 있으며, 예를 들어, 포트 지시 정보의 두 번째 내지 마지막 비트 중 어느 하나에 실려 전달될 수 있다. 네트워크 기기가 복수의 다운링크 포트를 가지면, 포트 지시 정보는 복수의 다운링크 포트 식별자에 대응하는 비트들을 가질 수 있고, 복수의 비트의 정렬 시퀀스는 다운링크 포트의 번호와 매칭될 수 있다. 예를 들어, 네트워크 기기가 n개의 다운링크 포트를 갖는 경우, n개의 다운링크 포트의 번호는 각각 포트 1, 포트 2,… 및 포트 n이다. 도 6을 참조하면, 포트 지시 정보는 n개의 다운링크 포트 식별자에 대응하는 비트들을 가지며, n 비트의 정렬 순서는 포트 1의 비트, 포트 2의 비트,… 및 포트 n의 비트이다.
(1.4) 포트 지시 정보의 위치: 포트 지시 정보는 패킷의 헤더에 위치할 수 있다. 가능한 구현예에서, 포트 지시 정보는 패킷 내의 제1 정보일 수 있다. 예를 들어, 포트 지시 정보는 패킷의 첫 번째 비트 내지 56번째 비트에 위치할 수 있다. 다른 가능한 구현예에서, 다른 정보는 패킷에서 포트 지시 정보 이전에 있을 수 있다. 예를 들어, 도 7를 참조하면, 포트 지시 정보 이전에, 패킷은 동기화 헤더 및 유형과 같은 다른 정보를 더 포함할 수 있다. 동기화 헤더는 2비트를 점유하고, 유형은 8비트를 점유하고, 포트 지시 정보는 패킷의 10번째 비트내지 66번째 비트에 위치할 수 있다.
(1.5) 포트 지시 정보 생성 프로세스: 포트 지시 정보 내의 복수의 포트 식별자 각각에 대해, 중앙 기기가 포트 지시 정보를 생성할 때마다, 중앙 기기는 하나 이상의 데이터 블록이, 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있는지에 기초하여 포트 식별자의 값을 결정한다. 구체적으로, 하나 이상의 데이터 블록이, 대응하는 포트가 목적지 포트인 데이터 블록을 갖는 경우, 포트 식별자의 값은 유효한 식별자인 것으로 결정된다; 또는 하나 이상의 데이터 블록이, 대응하는 포트가 목적지 포트인 데이터 블록을 갖지 않는 경우, 포트 식별자의 값은 무효한 식별자인 것으로 결정된다. 복수의 포트 식별자의 값이 획득된 후, 복수의 포트 식별자의 값은 포트 지시 정보를 형성할 수 있다.
본 실시예에서, 중앙 장비에 직접 연결된 네트워크 기기가 발견되는 시나리오에서, 네트워크 기기의 기기 정보를 획득하기 위해, 중앙 장비는 네트워크 기기에 전송될 제어 데이터 블록을 생성한다. 따라서, 포트 지시 정보를 생성하는 동안에, 포트 지시 정보 내의 제어 포트 식별자의 값이 유효한 식별자인 것으로 결정된다. 예를 들어, 포트 지시 정보의 제1 비트에 1이 추가될 수 있다. 또한, 다운링크 포트 식별자의 값에 대해, 중앙 장비가 네트워크 기기의 다운링크 포트에 데이터를 전송할 필요가 있으면, 포트 지시 정보에서 대응하는 다운링크 포트 식별자의 값은 유효한 식별자일 수 있다. 예를 들어, 포트 지시 정보의 제2 비트에 1이 추가될 수 있다. 중앙 장비가 네트워크 기기의 다운링크 포트에 데이터를 전송할 필요가 없으면, 포트 지시 정보에서 대응하는 다운링크 포트 식별자의 값은 무효한 식별자일 수 있다.
전술한 (1.1) 내지(1.5)를 참조하면, 본 출원의 이 실시예에서는, 포트 지시 정보를 제공함으로써, 적어도 다음과 같은 기술적 효과를 달성될 수 있다:
첫째, 각각의 데이터 블록의 목적지 포트를 지시하는 기능이 구현된다. 각각의 데이터 블록이 전송될 포트는 각각의 포트 식별자를 사용하여 정확하게 식별될 수 있다. 네트워크 기기는 각각의 포트 식별자에 기초하여, 패킷이 대응하는 포트의 데이터 블록을 갖고 있는지를 학습하여, 패킷으로부터, 대응하는 포트의 데이터 블록을 찾을 수 있다.
둘째, 포트 지시 정보는 물리 계층에서 네트워크 기기에 의해 식별될 수 있다. 포트 지시 정보는 IP 주소와 MAC 주소를 실어 전달할 필요가 없다. 따라서, 네트워크 기기는 계층 2 프로토콜 및 계층 3 프로토콜을 지원할 수 있을 필요없이 포트 지시 정보를 식별하고, 각각의 데이터 블록의 목적지 포트를 결정할 수 있다. 이러한 방식으로, 적용 범위가 확장되고 유연성이 바람직하다.
셋째, 데이터의 양이 적다. 포트 지시 정보 내의 각각의 포트 식별자는 단 1비트만을 점유해야 한다. 중앙 장비가 네트워크 기기의 포트에 데이터 블록을 전송해야 하는 경우, 중앙 장비는 포트에 대응하는 비트에 1을 추가하여, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있음을 지시한다. 중앙 장비가 네트워크 기기의 포트에 데이터 블록을 전송할 필요가 없는 경우, 중앙 장비는 포트에 대응하는 비트에 0을 추가하여, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 갖고 있지 않음을 지시한다. 이와 같이, 포트 지시 정보의 데이터의 총량이 매우 적어, 사용되는 송신 자원을 줄일 수 있다.
(2) 데이터 블록(비트 블록)은 데이터 세그먼트가 인코딩된 후에 형성되는 코드 블록이다. 본 실시예에서 제공되는 패킷 구조에서, 패킷의 데이터 부분은 하나 이상의 데이터 블록으로 분할된다. 데이터 블록은 네트워크 기기에 전송될 명령, 예를 들어 기기 정보 전송 명령을 실어 전달할 수 있다. 대안으로, 데이터 블록은 네트워크 기기상에서 구성을 수행하는 데 사용되는 정보, 예를 들어 포트 매핑 관계를 실어 전달할 수 있다. 대안으로, 데이터 블록은 데이터 패킷으로 사용될 수 있으며, 송신되어야 하는 데이터, 예를 들어 근원지 단말기에 의해 생성된 데이터를 실어 전달할 수 있다.
패킷 내의 모든 데이터는 대응하는 목적지 포트에 기초하여 블록 단위로 인코딩된다. 하나의 데이터 블록에서 데이터의 목적지 포트는 동일하고, 목적지 포트가 다른 데이터는 다른 데이터 블록에 있다. 데이터가 한 번에 복수의 목적지 포트에 전송되어야 하면, 하나의 패킷에 여러 개의 데이터 블록이 있다. 예를 들어 데이터가 네트워크 기기의 제어 포트와 다운링크 포트 1에 전송되어야 하면, 패킷은 제어 데이터 블록과 다운링크 포트 1의 다운링크 데이터 블록을 갖는다.
데이터 블록 유형에 대해 설명하면, 각각의 데이터 블록은 네트워크 기기의 하나의 포트에 대응하고, 데이터 블록은 대응하는 포트 유형에 기초하여 제어 데이터 블록과 다운링크 데이터 블록을 포함한다. 제어 데이터 블록의 목적지 포트는 네트워크 기기의 제어 포트이고, 제어 데이터 블록은 네트워크 기기에 대한 명령 또는 구성된 파라미터를 네트워크 기기에 전송하는 데 사용된다. 다운링크 데이터 블록의 목적지 포트는 네트워크 기기의 다운링크 포트이며, 다운링크 데이터 블록은 네트워크 기기의 다운링크 포트를 통해 다른 기기에 데이터를 전송하는 데 사용된다.
제어 데이터 블록과 관련하여, 제어 데이터 블록은 명령 또는 구성된 파라미터를 실어 전달하고, 패킷 내의 하나 이상의 데이터 블록에서 제어 데이터 블록의 위치는 미리 지정될 수 있다. 이 실시예에서, 제어 데이터 블록의 위치는 제2 미리 설정된 위치로 지칭된다. 제2 미리 설정된 위치의 비트는 제1 비트일 수 있거나, 실제 요건에 따라 다른 위치에 있는 것으로 설계될 수 있다. 중앙 장비는 하나 이상의 데이터 블록에서의 제2 미리 설정된 위치에 제어 데이터 블록을 배열할 수 있다. 제2 미리 설정된 위치의 비트는 제1 비트로서 설계될 수 있다. 포트 지시 정보를 식별한 후, 네트워크 기기는 포트 지시 정보 뒤의 제1 데이터 블록을 찾는다, 즉, 제어 데이터 블록을 획득한다.
다운링크 데이터 블록과 관련하여, 다운링크 데이터 블록은 다운링크 포트를 통해 다운링크에서 네트워크 기기에 의해 송신되어야 하는 데이터를 실어 전달한다. 예를 들어, 네트워크 기기의 다운링크 포트가 다음 레벨 네트워크 기기에 연결되어 있는 경우, 다운링크 데이터 블록은 다음 레벨 네트워크 기기에 전송될 명령 또는 구성된 파라미터를 실어 전달할 수 있다. 다른 예를 들어, 네트워크 기기의 다운링크 포트가 단말기에 연결되어 있는 경우, 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달할 수 있다. 이러한 방식으로, 네트워크 토폴로지를 구축하는 동안, 다음 레벨 네트워크 기기에 기기 정보를 보고하도록 명령하기 위해, 기기 정보 전송 명령이 다운링크 데이터 블록에 추가될 수 있다. 네트워크 토폴로지를 전달하는 동안에, 다음 레벨 네트워크 기기에 포트 매핑 관계를 저장하고 사용하도록 명령하기 위해, 포트 매핑 관계가 다운링크 데이터 블록에 추가될 수 있다. 데이터를 송신하는 동안에, 사용자 데이터를 단말기에 송신하기 위해, 사용자 데이터가 다운링크 데이터 블록에 추가될 수 있다.
패킷 내의 하나 이상의 데이터 블록에서의 다운링크 데이터 블록의 위치는 미리 결정될 수 있다. 데이터 블록이 네트워크 기기의 복수의 다운링크 포트를 통해 다운링크로 전송되어야 하면, 패킷은 복수의 다운링크 데이터 블록을 가질 수 있으며, 복수의 다운링크 데이터 블록의 정렬 시퀀스는 다운링크 포트의 정렬 시퀀스와 매칭될 수 있다. 예를 들어, 데이터가 네트워크 기기의 포트 1 내지 포트 n을 통해 다운링크로 전송되어야 하면, 포트 1의 다운링크 데이터 블록 내지 포트 n의 다운링크 데이터 블록은 패킷에서 연속적으로 정렬된다.
데이터 블록의 인코딩 방식에 대해 설명하면, 가능한 구현예에서, 각각의 데이터 블록은 64b/66b 방식으로 인코딩될 수 있다. 구체적으로, 각각의 데이터 블록은 66비트를 갖는다. 처음 두 비트는 프리앰블 부분이고, 수신단에서 데이터 정렬 및 비트 스트림 동기화에 사용될 수 있으며; 나머지 64비트는 명령 또는 데이터를 실어 전달하는 데이터 부분이다.
예를 들어, 도 8은 본 출원의 일 실시예에 따른 패킷의 개략도이다. 패킷은 복수의 데이터 블록을 갖는다. 제1 데이터 블록은 네트워크 기기의 제어 포트에 대응하고 제어 데이터 블록이고; 제2 데이터 블록은 네트워크 기기의 포트 1에 대응하고 포트 1의 다운링크 데이터 블록이고; 제3 데이터 블록은 네트워크 기기의 포트 2에 대응하고 포트 2의 다운링크 데이터 블록이고; 등등이다.
선택적으로, 패킷 내의 하나 이상의 데이터 블록은 복수의 주기에 따라 연속적으로 정렬될 수 있으며, 각각의 주기에는 하나 이상의 데이터 블록이 존재한다. 하나의 주기에서, 서로 다른 데이터 블록의 목적지 포트는 서로 다르며, 데이터 블록은 포트와 일대일로 대응한다. 구체적으로 다음 두 가지 경우가 포함된다.
경우 1: 모든 포트에 대응하는 데이터 블록이 하나의 주기에 포함될 수 있다. 예를 들어, 네트워크 기기는 제어 포트, 포트 1 및 포트 2가 있다. 이 경우, 그 주기에는 패킷에 세 개의 데이터 블록: 제어 데이터 블록, 포트 1의 다운링크 데이터 블록, 및 포트 2의 다운링크 데이터 블록 2가 있다.
경우 2: 일부 포트에 대응하는 데이터 블록이 하나의 주기에 포함될 수 있다. 예를 들어, 네트워크 기기에는 제어 포트, 포트 1 및 포트 2가 있다. 명령 또는 구성 정보만 네트워크 기기에 전송해야 하고, 데이터는 네트워크 기기에 의해 다운링크로 전송할 필요가 없으면, 주기 내의 패킷에는 하나의 데이터 블록: 제어 데이터 블록이 있다. 다른 예를 들어, 네트워크 기기에는 제어 포트, 포트 1 및 포트 2가 있다. 데이터만 네트워크 기기에 의해 다운링크로 포트 1과 포트 2를 통해 송신되어야하고, 명령 또는 구성 정보는 네트워크 기기에 전송될 필요가 없으면, 주기 내의 패킷에는 두 개의 데이터 블록: 포트 1의 다운링크 데이터 블록과 포트 2의 다운링크 데이터 블록 2가 있다.
다시 말해, 하나의 주기에서 패킷이 임의의 포트에 대응하는 데이터 블록을 갖는지는 필요에 따라 유연하게 결정할 수 있다. 주기 내에서 패킷은 디폴트로 모든 포트에 대응하는 데이터 블록 또는 일부 포트에 대응하는 데이터 블록을 포함할 수 있다. 이 실시예에서 이를 한정하지 않는다.
상이한 주기에서의 데이터 블록의 정렬 규칙은 동일하다. 복수의 주기에서 동일한 위치에 있는 데이터 블록의 목적지 포트는 동일하다. 예를 들어, 각각의 주기에서의 제1 데이터 블록은 제어 데이터 블록이고, 각각의 기간의 제2 데이터 블록은 포트 1의 다운링크 데이터 블록이다. 다시 말해, 임의의 포트에 대응하는 데이터 블록의 경우, 데이터가 블록이 제1 주기에서 위치 i(여기서 i는 양의 정수)으면, 데이터 블록도 제2 주기, 제3 주기, ...마지막 주기에서 위치 i에 있다.
예를 들어, 도 9는 본 출원의 일 실시예에 따른 패킷의 개략도이다. 패킷 내의 데이터 블록은 두 주기로 정렬된다. 제1 주기에서, 데이터 블록은 제어 데이터 블록이고, 제2 데이터 블록은 포트 1의 다운링크 데이터 블록이고; 제2 주기에서, 제1 데이터 블록은 제어 데이터 블록이고, 제2 데이터 블록은 포트 1의 다운링크 데이터 블록이다. 제1 주기에서의 데이터 블록의 정렬 규칙은 제2 주기에서의 데이터 블록의 정렬 규칙과 같음을 알 수 있다.
복수의 주기의 포맷을 설계함으로써, 단일 데이터 블록의 용량 제한을 극복할 수 있고, 패킷 확장성이 향상된다. 각각의 64b/66b 데이터 블록은 최대 64비트 데이터를 실어 전달하며, 단일 데이터 블록은 일반적으로 모든 데이터를 수용하기위한 요건을 충족할 수 없다. 이 실시예에서, 중앙 장비가 네트워크 기기의 포트에 대량의 데이터를 전송해야 하면, 중앙 장비는 포트에 대해 복수의 데이터 블록을 생성하고, 모든 데이터로 복수의 데이터 블록을 패딩할 수 있으며, 복수의 주기에서 복수의 데이터 블록을 정렬할 수 있다. 데이터 블록이 각각의 주기에서 순서대로 정렬되도록 보장하면서 패킷 용량을 크게 증대시킬 수 있다. 또한, 필요에 따라 각각의 패킷에 대한 주기의 수량을 결정할 수 있다. 실어 전달해야 하는 데이터의 양이 비교적 적으면, 패킷의 길이가 비교적 짧다. 실어 전달해야 하는 데이터의 양이 비교적 많으면, 데이터 블록에 대해 주기의 수량이 비교적 많을 수 있으므로, 패킷의 길이가 상대적으로 길다. 필요에 따라 패킷의 길이를 유연하게 조정할 수 있으며, 확장성과 유연성이 비교적 바람직하다는 것을 알 수 있다.
데이터 블록 내용의 경우, 이 단계에서, 네트워크 기기의 기기 정보를 획득하기 위해, 중앙 장비는 기기 정보 전송 명령을 획득하고, 하나 이상의 데이터 블록의 제어 데이터 블록에 기기 정보 전송 명령을 추가하여, 네트워크 기기가 기기 정보 전송 명령에 따라 네트워크 기기의 기기 정보를 전송할 수 있도록 한다.
기기 정보 전송 명령은 네트워크 기기의 기기 정보를 획득하는 데 사용되며, 기기 정보를 전송하도록 네트워크 기기에 명령할 수 있다. 기기 정보 전송 명령은 간단한 네트워크 관리 프로토콜(Simple Network Management Protocol, 이하 약칭하여 SNMP)에서의 명령, 링크 계층 검색 프로토콜(Link Layer Discovery Protocol, 이하 약칭하여 LLDP)에서의 명령, 네트워크 구성(Network Configuration, 이하 약칭하여 NETCONF) 프로토콜에서의 명령, 또는 정보를 보고하도록 기기에 명령할 수 있는 기타 명령일 수 있다. 예를 들어, 기기 정보 전송 명령은 SNMP에서의 "get" 명령일 수 있다.
기기 정보 전송 명령을 제어 데이터 블록에 추가하는 프로세스와 관련하여, 가능한 구현예에서, 중앙 장비는 먼저 복수의 빈(blank) 데이터 블록을 생성하고; 빈 데이터 블록들 중에서 제2 미리 설정된 위치에 배치된 빈 데이터 블록을 결정하고; 빈 데이터 블록을 패딩될 제어 데이터 블록으로 사용하고; 패딩될 제어 데이터 블록에 대해 데이터 기록 작업을 수행하여, 기기 정보 전송 명령을 기록한다. 이러한 방식으로 제어 데이터 블록은 기기 정보 전송 명령을 실어 전달한다. 빈 데이터 블록은 데이터로 패딩되지 않은 데이터 블록이며, 대량의 0 또는 다른 디폴트 데이터를 포함할 수 있다.
선택적으로, 데이터 블록에 대응하는 복수의 주기에 기초하여, 중앙 장비는 각각의 주기에서 패딩될 제어 데이터 블록을 결정하고; 패딩될 복수의 제어 데이터 블록에 대해 연속적으로 데이터 기록 작업 수행하여, 기기 정보 전송 명령을 기록할 수 있다. 이러한 방식으로, 복수의 패딩된 제어 데이터 블록은 결합된 후에 완전한 기기 정보 전송 명령을 실어 전달한다.
요약하면, 전술한 내용은 (1) 포트 지시 정보 및 (2) 데이터 블록을 개별적으로 설명한다. 중앙 장비는 먼저 포트 지시 정보 및 하나 이상의 데이터 블록을 생성한 다음, 포트 지시 정보 및 하나 이상의 데이터 블록을 캡슐화하여 패킷을 획득할 수 있다. 캡슐화된 패킷에서, 포트 지시 정보는 헤더에 위치할 수 있고, 하나 이상의 데이터 블록은 포트 지시 정보 뒤에 위치할 수 있다.
402. 중앙 장비가 패킷을 네트워크 기기에 전송한다.
중앙 장비는 네트워크 기기에 연결된 다운링크 포트를 결정하고, 다운링크 포트를 통해 패킷을 전송할 수 있다. 패킷은 중앙 장비의 다운링크 포트에서 네트워크 링크를 통해 네트워크 기기의 업링크 포트에 전송되므로, 네트워크 기기의 업링크 포트가 패킷을 수신한다.
선택적으로, 단계 401에서, 중앙 장비에 의해 패킷을 생성하기 위한 트리거 시기(trigger occasion)가, 네트워크 기기가 네트워크에 액세스한 것을 검출하는 것이면, 중앙 장비는 상태가 변경된 다운링크 포트, 즉, 상태가 "up" 상태로 설정된 다운링크 포트를 결정하고; 다운링크 포트를 패킷 전송을 위한 다운링크 포트로 사용할 수 있다.
예시적인 시나리오에서, 도 5를 참조하면, 네트워크 기기(B)가 업링크 포트 0a이 네트워크에 액세스할 수 있도록 하고 중앙 장비의 다운링크 포트 1의 상태가 "down" 상태에서 "up" 상태로 조정되면, 이 단계에서, 중앙 장비는 다운링크 포트 1을 통해 패킷을 전송하여, 패킷이 다운링크 포트 1을 통해 네트워크 기기(B)의 업링크 포트 0a에 도착하도록 한다. 네트워크 기기(B)가 업링크 포트 0b가 네트워크에 액세스할 수 있도록 하고, 중앙 장비의 다운링크 포트 2의 상태가 "down" 상태에서 "up" 상태로 조정되면, 이 단계에서, 중앙 장비는 다운링크 포트 2를 통해 패킷을 전송하여, 패킷이 다운링크 포트 2 통해 네트워크 기기(B)에 도착하도록 한다.
403. 네트워크 기기는 패킷을 수신하고, 포트 지시 정보에 기초하여 하나 이상의 데이터 블록 내의 제어 데이터 블록을 결정한다.
패킷에서 포트 지시 정보를 결정하는 구체적인 프로세스와 관련하여, 네트워크 기기는 포트 지시 정보의 위치를 획득하고; 포트 지시 정보의 위치에 기초하여 포트 지시 정보를 결정하여, 패킷 내의 포트 지시 정보를 식별할 수 있다. 예를 들어, 포트 지시 정보가 패킷의 제10 비트 내지 제66 비트에 위치하도록 미리 지정될 수 있으며, 이 경우, 네트워크 기기는 패킷의 제10 비트 내지 제66 비트를 결정할 수 있으며, 패킷의 제10 비트 내지 제66 비트를 판독하여 포트 지시 정보를 획득할 수 있다.
제어 데이터 블록을 결정하는 구체적인 프로세스와 관련하여, 가능한 구현예에서, 네트워크 기기는 다음의 단계 1 내지 단계 3에서 패킷의 제어 데이터 블록을 결정할 수 있다.
단계 1: 네트워크 기기는 포트 지시 정보 내의 제어 포트 식별자를 식별한다.
네트워크 기기는 제어 포트 식별자의 위치, 즉 미리 설정된 제1 위치를 미리 저장할 수 있고; 네트워크 기기는 포트 지시 정보에서 제1 미리 설정된 위치의 비트를 파싱하여 비트에 실려 전달된 제어 포트 식별자를 획득할 수 있다. 제1 미리 설정된 위치의 비트가 제1 비트인 것을 예로 사용한다. 네트워크 기기는 포트 지시 정보에서 제1 비트를 식별하여 제1 비트에 실려 전달되는 제어 포트 식별자를 획득할 수 있다.
단계 2: 네트워크 기기가 제어 포트 식별자가 유효한 식별자인지를 판정한다.
제어 포트 식별자가 유효한 식별자인 경우, 이는 하나 이상의 데이터 블록이, 목적지 포트가 제어 포트인 데이터 블록을 포함하고 있음을 지시하고, 네트워크 기기는 단계 3을 수행한다. 제어 포트 식별자가 무효한 식별자인 경우, 이는 하나 이상의 데이터 블록이 목적지 포트가 제어 포트인 데이터 블록을 포함하지 않음을 지시하고, 그러면 네트워크 기기가 단계 3을 수행할 필요가 없다.
유효한 식별자가 1이고 무효한 식별자가 0인 것을 예로 사용한다. 네트워크 기기는 제어 포트 식별자가 1인지를 판정하고; 제어 포트 식별자가 1이면, 단계 3을 수행한다.
단계 3: 네트워크 기기가 하나 이상의 데이터 블록으로부터 제어 데이터 블록을 결정한다.
네트워크 기기는 하나 이상의 데이터 블록에서 제어 데이터 블록의 위치, 즉 미리 설정된 제2 위치를 획득하고; 하나 이상의 데이터 블록의 제2 미리 설정된 위치에서 데이터 블록을 식별하고; 제2 미리 설정된 위치에 있는 데이터 블록을 제어 데이터 블록으로 사용할 수 있다. 제2 미리 설정된 위치의 비트가 제1 비트인 것을 예로 사용한다. 네트워크 기기는 하나 이상의 데이터 블록에서 제1 데이터 블록을 식별하고, 제1 데이터 블록을 제어 데이터 블록으로 사용할 수 있다.
선택적으로, 패킷 내의 데이터 블록이 복수의 주기에 따라 연속적으로 정렬되면, 네트워크 기기는 각각의 주기에서 제2 미리 설정된 위치에 있는 데이터 블록을 결정하여 복수의 데이터 블록을 획득하고; 복수의 데이터 블록 모두를 제어 데이터 블록으로 사용할 수 있다.
404. 네트워크 기기가 제어 데이터 블록을 파싱하여 기기 정보 전송 명령을 획득하고, 기기 정보 전송 명령에 따라 기기 정보를 중앙 장비에 전송한다.
단계 401에서, 중앙 장비는 제어 데이터 블록에 기기 정보 전송 명령을 추가한다. 따라서, 이 단계에서, 네트워크 기기는 제어 데이터 블록을 파싱하여 제어 데이터 블록에 포함된 기기 정보 전송 명령을 획득할 수 있고; 네트워크 기기는 기기 정보 전송 명령에 따라, 중앙 장비가 기기 정보를 보고하도록 네트워크 기기에 명령한다는 것을 학습할 수 있다. 이 경우, 기기 정보 전송 명령에 응답하여, 네트워크 기기는 네트워크 기기의 기기 정보를 획득하고, 네트워크 기기의 기기 정보를 중앙 장비에 전송하여, 중앙 장비가 네트워크 기기의 기기 정보에 기초하여 네트워크 토폴로지를 생성할 수 있도록 한다.
네트워크 기기의 기기 정보는 네트워크 토폴로지를 생성하기 위해 중앙 장비에 의해 사용된다. 네트워크 기기의 기기 정보는 네트워크 기기의 식별자 및 네트워크 기기의 포트 정보를 포함할 수 있다. 네트워크 기기의 식별자는 대응하는 네트워크 기기를 식별하는 데 사용되며, 네트워크 기기의 번호, 명칭, 등일 수 있다. 네트워크 기기의 포트 정보는 네트워크 기기의 업링크 포트 정보 및/또는 다운링크 포트 정보를 포함할 수 있다. 네트워크 기기의 포트 정보로는 포트 수량, 포트 식별자, 포트가 "up" 상태인지 여부, 포트 유형, 포트의 트래픽 쉐이핑 속도(traffic shaping rate), 포트의 심플렉스(simplex)/듀플렉스 모드9duplex mode), 포트의 링크 유형, 포트의 네트워크 케이블 유형 등이 있다. 포트 식별자는 대응하는 포트를 식별하는 데 사용되며 포트의 번호, 명칭 등일 수 있다. 포트의 심플렉스/듀플렉스 모드는 심플렉스/듀플렉스 모드, 풀 듀플렉스 모드, 자동 네고시에이션(auto-negotiation) 등을 포함할 수 있다.
네트워크 기기에 의해 기기 정보를 전송하는 구체적인 프로세스와 관련하여, 가능한 구현예에서, 네트워크 기기는 본 출원의 이 실시예에서 제공되는 새로운 패킷 포맷을 사용하여 패킷을 생성하고; 네트워크 기기의 정보를 패킷에 추가한 다음 패킷을 전송하여, 전송 정보를 전송할 수 있다.
네트워크 기기에 의해 패킷을 생성하는 구체적인 구현예의 경우, 네트워크 기기가 패킷을 생성하는 프로세스는 중앙 장비가 패킷을 생성하는 프로세스의 역 프로세스로 간주될 수 있다. 네트워크 기기는 제어 포트를 사용하여 패킷을 생성할 수 있다. 패킷은 포트 지시 정보와 제어 데이터 블록을 포함하고, 제어 데이터 블록은 기기 정보를 실어 전달한다. 가능한 구현예에서, 네트워크 기기는 먼저 포트 지시 정보 및 제어 데이터 블록을 생성하고; 제어 데이터 블록에 기기 정보를 추가하고; 포트 지시 정보 및 제어 데이터 블록을 캡슐화하여 패킷을 획득할 수 있다.
네트워크 기기에 의해 생성된 패킷의 포트 지시 정보는 전술한 설명에서 중앙 장비에 의해 생성된 포트 지시 정보와 유사하다. 차이점은, 중앙 장비에 의해 생성된 패킷은 네트워크 장비에 다운링크로 송신되고 중앙 장비에 의해 생성된 포트 지시 정보는 네트워크 장비에 의해 식별에 사용된다는 점이다. 따라서 중앙 장비에 의해 생성된 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용되므로, 데이터 블록은 대응하는 목적지 포트에 다운링크로 송신된다. 네트워크 기기에 의해 생성된 패킷은 중앙 장비에 업링크로 송신되고, 네트워크 기기에의해 생성된 포트 지시 정보는 중앙 장비에 의해 식별에 위해 사용된다. 따라서 네트워크 기기에 의해 생성된 포트 지시 정보는 각각의 데이터 블록의 근원지 포트(source port)를 지시하는 데 사용된다, 예를 들어, 제어 데이터 블록의 근원지 포트가 제어 포트임을 지시하므로, 중앙 장비는 근원지 포트를 지시하는 기능을 사용하여 네트워크 기기의, 각각의 데이터 블록이 들어오는 특정 포트를 통보받는다.
이 단계에서, 제어 데이터 블록의 근원지 포트는 네트워크 기기의 제어 포트이다. 따라서, 포트 지시 정보를 생성하는 동안에, 네트워크 기기는 포트 지시 정보 내의 제어 포트 식별자를 유효한 식별자로 설정하며, 예를 들어 포트 지시 정보의 제1 비트에 1을 추가한다. 패킷이 제어 포트로부터 들어오는 제어 데이터 블록을 갖는다 것은 제어 포트 식별자를 사용하여 지시될 수 있으므로, 중앙 장비가 포트 지시 정보 내의 제어 포트 식별자에 기초하여 패킷이 제어 포트로부터 들어오는 제어 데이터를 갖는다고 결정할 수 있다.
네트워크 기기에 의해 중앙 장비에 패킷을 전송하는 구체적인 프로세스와 관련하여, 네트워크 기기는 단계 405에서 기기 정보 전송 명령을 실어 전달하는 패킷이 수신되는 업링크 포트를 결정하고, 업링크 포트를 통해, 네트워크 기기에 의해 캡슐화된 패킷을 전송할 수 있다. 이 경우, 패킷은 중앙 장비의 다운링크 포트와 업링크 포트 사이의 네트워크 링크를 통해 중앙 장비의 다운링크 포트에 송신되므로, 중앙 장비의 다운링크 포트가 패킷을 수신하게 된다.
예시적인 시나리오에서, 도 5를 참조하면, 네트워크 기기(B)가 업링크 포트 0a를 통해 단계 405에서, 기기 정보 전송 명령을 실어 전달하는 패킷을 수신하면, 네트워크 기기(B)는 이 단계에서 업링크 포트 0a를 통해 중앙 장비에 기기 정보를 실어 전달하는 패킷을 전송한다. 이 경우, 패킷은 업링크 포트 0a와 다운링크 포트 1 사이의 네트워크 링크를 거쳐 중앙 장비(A)의 다운링크 포트 1에 도착한다.
기기 획득 명령을 실어 전달하는 패킷의 다운링크 송신을 위한 프로세스 및 기기 정보를 실어 전달하는 패킷의 업링크 송신을 위한 프로세스를 참조하면, 기기 정보를 실어 전달하는 패킷이 기기 획득 명령을 실어 전달하는 패킷을 따라 회신되어, 업링크 송신이 구현됨을 알 수 있다. 따라서, 네트워크 기기의 관점에서, 네트워크 기기는 중앙 장비의 IP 주소 및 MAC 주소를 인식하지 않고, 기기 정보 전송 명령을 실어 전달하는 패킷이 수신되는 특정 업링크 포트만 결정하고; 그 업링크 포트를 통해 기기 정보를 실어 전달하는 패킷을 전송하여, 중앙 장비에의 업링크 송신을 구현한다. 기기 정보를 실어 전달하는 패킷은 업링크 포트와 다운링크 포트 사이의 경로를 따라 중앙 장비에 자동으로 회신된다.
이 실시예에서, 업링크 패킷을 전송하는 동안, 네트워크 기기는 중앙 장비의 IP 주소 또는 MAC 주소의 인식 없이 그리고 패킷에 중앙 장비의 IP 주소 또는 MAC 주소를 추가하지 않고, 네트워크 기기 내부의 포트만 인식하면 된다. 이는 상위 계층 프로토콜이 지원될 수 있고 상위 계층 프로토콜의 헤더가 캡슐화될 수 있다는 한계를 극복한다. 이러한 방식으로, 적용 범위가 크게 확장되고 유연성이 향상된다. 또한, 종래의 교환기가 MAC 집성을 통해 패킷을 전송하는 복잡한 방식에 비해, 네트워크 기기는 본 출원의 본 실시예에서 제공하는 패킷 포맷으로 기기 정보를 전송하므로 작업이 단순하다. 이는 복잡도를 크게 줄이고 실행 전력 소비를 감소시킨다.
405. 중앙 장비가 기기 정보를 수신한다.
중앙 장비는 네트워크 기기에 의해 전송된 기기 정보를 수신하여, 기기 정보에 기초하여 네트워크 토폴로지를 생성할 수 있다. 단계 404에서 네트워크 기기에 의해 패킷을 생성하고 전송하는 방식을 참조하면, 중앙 장비는 네트워크 기기로부터 패킷을 수신하고; 패킷 내의 포트 지시 정보를 결정하고; 포트 지시 정보에 기초하여, 패킷에서 근원지 포트가 제어 포트인 데이터 블록을 결정하여, 제어 데이터 블록을 획득하고; 제어 데이터 블록을 파싱하여 제어 데이터 블록에 실려 전달되는 기기 정보를 획득할 수 있다.
중앙 장비에 의해 패킷이 수신되는 구체적인 프로세스와 관련하여, 네트워크 기기가 업링크 포트를 통해 패킷을 전송한 후, 패킷은 중앙 장비와 네트워크 기기의 업링크 포트 사이의 네트워크 링크를 통해 중앙 장비의 다운링크 포트에 송신되고, 그러면 네트워크 기기의 다운링크 포트가 패킷을 수신한다.
중앙 장비에 의해 제어 데이터 블록을 결정하는 구체적인 구현에 대해, 가능한 구현예에서, 단계 403에서 네트워크 기기에 의해 제어 데이터 블록을 결정하는 프로세스와 유사하게, 중앙 장비는 다음의 단계 1 내지 단계 3에서 패킷 내의 제어 데이터 블록을 결정할 수 있다.
단계 1: 중앙 장비가 포트 지시 정보 내의 제어 포트 식별자를 결정한다.
예를 들어, 중앙 장비는 포트 지시 정보에서 제1 미리 설정된 위치의 비트를 결정하여 그 비트에 실려 전달되는 제어 포트 식별자를 획득할 수 있다. 제1 미리 설정된 위치의 비트가 제1 비트인 것을 예로 사용한다. 중앙 장비는 포트 지시 정보에서 제1 비트를 결정하여 제1 비트에 실려 전달되는 제어 포트 식별자를 획득할 수 있다.
단계 2: 중앙 장비가 제어 포트 식별자가 유효한 식별자인지를 판정한다.
제어 포트 식별자가 유효한 식별자인 경우, 패킷의 하나 이상의 데이터 블록이 근원지 포트가 제어 포트인 데이터 블록을 갖고 있음을 지시하며, 그러면 중앙 장비는 단계 3을 수행한다. 제어 포트 식별자가 무효한 식별자인 경우, 패킷의 하나 이상의 데이터 블록이 근원지 포트가 제어 포트인 데이터 블록을 갖고 있지 않음을 지시하며, 그러면 중앙 장비는 단계 3을 수행할 필요가 없다.
유효한 식별자는 1이고 무효한 식별자는 0인 것을 예로 사용한다. 중앙 장비는 제어 포트 식별자가 1인지를 판정할 수 있고; 제어 포트 식별자가 1이면 단계 3을 수행한다.
단계 3: 중앙 장비가 하나 이상의 데이터 블록으로부터 제어 데이터 블록을 결정한다.
중앙 장비는 하나 이상의 데이터 블록에서의 제어 데이터 블록의 위치, 즉, 제2 미리 설정된 위치를 획득하고; 하나 이상의 데이터 블록에서의 제2 미리 설정된 위치에 있는 데이터 블록을 결정하고; 제2 미리 설정된 위치에 있는 데이터 블록을 제어 데이터 블록으로 사용할 수 있다. 제2 미리 설정된 위치의 비트가 제1 비트인 것을 예로 사용한다. 중앙 장비는 하나 이상의 데이터 블록 중의 제1 데이터 블록을 결정하고, 제1 데이터 블록을 제어 데이터 블록으로 사용할 수 있다.
선택적으로, 패킷 내의 데이터 블록이 복수의 주기에 따라 연속적으로 정렬되면, 중앙 장비는 각각의 주기에서 제2 미리 설정된 위치에 있는 데이터 블록을 결정하여 복수의 데이터 블록을 획득하고; 복수의 데이터 블록 모두를 제어 데이터 블록으로 사용할 수 있다.
요약하면, 단계 401 내지 단계 405를 사용함으로써, 중앙 장비는 네트워크 기기의 기기 정보를 획득하여, 네트워크 기기의 발견을 완료할 수 있다. 선택적으로, 중앙 장비는 단계 401 내지 단계 405를 복수 회 수행하고, 복수의 네트워크 기기의 기기 정보를 획득하여, 모든 네트워크 기기의 발견을 완료할 수 있다.
예시적인 시나리오에서, 도 10에 도시된 네트워킹에서, 중앙 장비(A)의 다운링크 포트 1은 네트워크 기기(D)의 업링크 포트 0a에 연결되고, 중앙 장비(A)의 다운링크 포트 2는 네트워크 기기(E)의 업링크 포트 0a에 연결되고, 중앙 장비(A)의 다운링크 포트 3은 네트워크 기기(F)의 업링크 포트 0a에 연결되고, 중앙 장비(A)의 다운링크 포트 4는 네트워크 기기(E)의 업링크 포트 0a에 연결된다. 중앙 장비(A)의 다운링크 포트 1이 네트워크 기기(D)의 업링크 포트 0a에 패킷을 전송한 후, 네트워크 기기(D)의 업링크 포트 0a가 기기 정보를 회신하므로, 중앙 장비(A)는 네트워크 기기(D)의 기기 정보를 획득할 수 있다. 마찬가지로, 중앙 장비(A)의 다운링크 포트 2가 네트워크 기기(E)의 업링크 포트 0a에 패킷을 전송한 후, 네트워크 기기(E)의 업링크 포트 0a가 기기 정보를 회신하므로, 중앙 장비(A)는 네트워크 기기(E)의 기기 정보를 획득할 수 있다. 나머지는 유추로 추론할 수 있다. 마지막으로, 중앙 장비는 모든 제1 레벨 네트워크 기기: 네트워크 기기(D), 네트워크 기기(E), 네트워크 기기(F), 네트워크 기기(G)의 기기 정보를 획득한다. 다시 말해, 중앙 장비는 모든 다운링크 포트를 통해 패킷을 전송함으로써 모든 제1 레벨 수준 네트워크 기기의 기기 정보를 획득할 수 있다.
본 실시예에서, 패킷 내의 데이터는 상이한 목적지 포트에 기초하여 블록 단위로 인코딩되고, 각각의 데이터 블록의 목적지 포트는 포트 지시 정보를 사용하여 지시된다. 네트워크 초기화 시나리오에서, 네트워크 기기의 식별자를 알 수 없는 상태에서 네트워크 기기의 기기 정보를 획득하는 기술적인 문제가 해결된다.
구체적으로, 중앙 장비의 관점에서, 네트워크 초기화 동안, 중앙 장비의 다운링크 포트가 연결되는, 네트워크 기기의 특정 업링크 포트는 중앙 장비에 알려져 있지 않다. 이 실시예에서, 네트워크 기기의 임의의 업링크 포트가 네트워크에 액세스하는 경우, 중앙 장비는 중앙 장비의 다운링크 포트가 연결되는 네트워크 기기의 특정 업링크 포트를 인식하지 않고, 전술한 방식으로 기기 정보를 보고하도록 네트워크 기기에 획일적으로 명령할 수 있다. 예를 들어, 도 5를 참조하면, 중앙 장비(A)의 다운링크 포트 1이 "up" 상태인 경우, 중앙 장비(A)는 다운링크 포트 1이 네트워크 기기(B)의 업링크 포트 0a 또는 네트워크 기기(B)의 업링크 포트 0b에 연결되어 있는지를 학습하지 않고, 패킷을 생성하고; 패킷 내의 포트 지시 정보 내의 제어 포트 식별자를 유효한 식별자로 설정하고; 패킷 내의 제어 데이터 블록에 기기 정보 전송 명령을 추가하고; 다운링크 포트 1을 통해 패킷을 전송하기만 하면 된다.
406. 중앙 장비가 기기 정보에 기초하여 네트워크 토폴로지를 생성한다.
네트워크 토폴로지(Network Topology)는 복수의 네트워크 기기의 기기 정보를 포함한다. 네트워크 토폴로지는 목록, 그래픽 또는 다른 데이터 구조의 형태로 표현될 수 있으며, 물리적 또는 논리적으로 네트워크상의 기기 간의 정렬 방식을 반영할 수 있다.
이 실시예에서, 중앙 장비가 네트워크 기기의 기기 정보를 획득할 때마다, 중앙 장비는 기기 정보에 기초하여 네트워크 기기 및 네트워크 기기의 포트를 결정하여, 중앙 장비에 직접 연결된 네트워크 기기를 발견할 수 있다. 나머지는 유추로 추론할 수 있다. 중앙 장비에 직접 연결된 모든 네트워크 기기는 중앙 장비에 직접 연결된 모든 네트워크 기기의 기기 정보를 사용함으로써 발견될 수 있다. 발견된 모든 네트워크 기기의 기기 정보에 기초하여 네트워크 토폴로지를 생성할 수 있다.
이 실시예에서 제공되는 방법에서, 새로운 패킷 인코딩 구조가 설계된다. 패킷 내의 데이터는 목적지 포트에 기초하여 블록 단위로 인코딩되며, 제어 데이터 블록의 목적지 포트는 포트 지시 정보를 사용하여 지시된다. 중앙 장비는 이러한 패킷 인코딩 구조로 패킷을 생성하고, 패킷을 네트워크 기기에 전송한다. 그러면, 네트워크 기기는 패킷 내의 포트 지시 정보에 기초하여 패킷에서 제어 데이터 블록을 찾아, 제어 데이터 블록에서 기기 정보 전송 명령을 획득하여, 기기 정보를 중앙 장비에 보고할 수 있다. 이 실시예에서, 네트워크 기기는 데이터 링크 계층의 프로토콜을 식별할 필요가 없으므로, 데이터 링크 계층의 프로토콜이 사용되는 경우에만 네트워크 기기가 발견될 수 있다는 한계를 극복한다. 또한, 네트워크 기기는 네트워크 계층의 프로토콜을 식별할 필요가 없으므로, 네트워크 계층의 프로토콜을 사용해야 만 네트워크 기기를 발견할 수 있다는 한계를 극복할 수 있다. 이는 물리 계층에서 작업하는 네트워크 기기에 적용될 수 있다. 이러한 방식으로, 적용 범위가 크게 확장되고 유연성이 향상된다.
도 4의 실시예에서는 중앙 장비가 중앙 장비에 직접 연결된 네트워크 기기를 발견하는 프로세스를 설명한다. 본 출원의 일 실시예에서, 중앙 장비는 각각 레벨의 네트워크 기기의 레벨 별 발견(level-by-level discovery)을 구현하여, 각각의 레벨의 네트워크 기기의 기기 정보를 획득함으로써, 다중 레벨 네트워크 토폴로지 구축을 구현할 수 있다. 이하에서는 도 11의 실시예를 참조하여 상세한 설명을 제공한다.
설명의 편의를 위해, 도 11의 실시예의 설명에는제2 레벨 네트워크 기기가 발견되는 예를 사용한다. 가능한 구현예에서, 동일한 프로세스가 3 레벨 이상의 네트워크 기기를 발견하고 3 레벨 이상의 네트워크 토폴로지를 구축하는 데 사용될 수 있다. 네트워크 기기에 대해 배치된 레벨의 수량과 구성된 네트워크 토폴로지 레벨의 수량은 본 출원에서 한정되지 않는다.
도 11은 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다. 이 네트워크 토폴로지 생성 방법의 상호작용 엔티티는 중앙 장비, 제1 레벨 네트워크 기기 및 제2 레벨 네트워크 기기를 포함한다. 이 네트워크 토폴로지 생성 방법은 도 1에 도시된 구현 환경에 적용될 수 있다. 이 네트워크 토폴로지 생성 방법은 다음 단계를 포함한다.
1101. 중앙 장비가 패킷을 생성한다.
중앙 장비가 패킷을 생성하는 시기와 관련하여, 가능한 구현에서, 제2 레벨 네트워크 기기가 네트워크에 액세스하는 경우, 중앙 장비는 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 검출할 수 있으며, 그러면 패킷이 생성된다. 물론, 중앙 장비는 대안으로 다른 시기에 패킷을 생성할 수 있다. 다른 시기의 예는 단계 401을 참조하기 바란다. 세부사항은 여기서 다시 설명하지 않는다.
제2 레벨 네트워크 기기가 네트워크에 액세스했는지를 검출하는 구체적인 구현에 대해 설명하면, 제2 레벨 네트워크 기기가 네트워크에 액세스한 경우, 제1 레벨 네트워크 기기는 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 검출하고,
제1 레벨 네트워크 기기는 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 중앙 장비에 통지할 수 있다. 중앙 장비는 제1 레벨 네트워크 기기의 통지를 사용하여 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 검출할 수 있다.
제1 레벨 네트워크 기기에 의해, 제2 레벨 네트워크 기기가 네트워크에 액세스했는지 여부를 검출하는 구체적인 구현의 경우는, 단계 401에서 중앙 장비에 의해 제1 레벨 네트워크 기기가 네트워크에 액세스했는지를 중앙 장비가 검출하는 구현과 유사하며, 제1 레벨 네트워크 기기는 각각의 다운링크 포트의 상태를 결정할 수 있다. 다운링크 포트가 "up" 상태에 있는 경우, 제1 레벨 네트워크 기기는 다운링크 포트에 연결된 제2 레벨 네트워크 기기가 네트워크에 액세스했다고 결정할 수 있거나; 또는 임의의 다운링크 포트가 "down" 상태에 있는 경우, 제1 레벨 네트워크 기기는 다운링크 포트에 연결된 제2 레벨 네트워크 기기가 네트워크에 액세스하지 않았다고 결정할 수 있다.
구체적으로, 제2 레벨 네트워크 기기가 네트워크에 액세스하는 과정에서, 제2 레벨 네트워크 기기의 업링크 포트와 제1 레벨 네트워크 기기의 다운링크 포트가 인에이블되어야 하고, 제2 레벨 네트워크 기기의 업링크 포트와 제1 레벨 네트워크 기기의 다운링크 포트의 파라미터가 구성되고, 두 포트의 파라미터가 서로 매칭되도록 한다. 그런 다음, 제2 레벨 네트워크 기기의 업링크 포트와 제1 레벨 네트워크 기기의 다운링크 포트가 서로 네고시에이션한다. 네고시에이션이 완료된 후, 제2 레벨 네트워크 기기의 업링크 포트와 제1 레벨 네트워크 기기의 다운링크 포트 사이에 네트워크 링크가 확립된다. 이 경우, 제1 레벨 네트워크 기기는 다운링크 포트의 상태를 변경하고, 다운링크 포트의 상태를 "down" 상태에서 "up" 상태로 조정하고, 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 검출한다.
예시적인 시나리오에서, 도 12에 도시된 네트워크 아키텍처에서, 제1 레벨 네트워크 기기(B)는 네 개의 다운링크 포트: 포트 1, 2, 3 및 4를 구비하고, 제2 레벨 네트워크 기기(D)는 두 개의 업링크 포트: 포트 0a 및 0b를 구비하며,
제1 레벨 네트워크 기기(B)의 다운링크 포트 1과 제2 레벨 네트워크 기기(D)의 업링크 포트 0a는 링크-3으로 표시된다. 제1 레벨 네트워크 기기(B)의 다운링크 포트 1과 제2 레벨 네트워크 기기(D)의 업링크 포트 0a가 인에이블되고 네고시에이션이 완료된 후, 제1 레벨 네트워크 기기(B)의 다운링크 포트 1의 상태는 "up" 상태로 설정되고, 제1 레벨 네트워크 기기(B)의 다운링크 포트 1은 링크-3이 유효하다고 보고하므로, 제1 레벨 네트워크 기기(B)는 제2 레벨 네트워크 기기(D)가 네트워크를 액세스했음을 검출할 수 있다.
제1 레벨 네트워크 기기가 중앙 장비에 통지하는 구체적인 구현에 대해 설명하면, 제1 레벨 네트워크 기기는 통지 메시지를 생성하고, 통지 메시지를 중앙 장비에 전송할 수 있으며; 중앙 장비는 통지 메시지를 수신하고 통지 메시지에 기초하여 제2 레벨 네트워크 기기가 네트워크에 액세스했음을 결정할 수 있다. 통지 메시지는 제2 레벨 네트워크 기기가 네트워크에 접속했음을 통지하는 데 사용되며, 통지 메시지는 제1 레벨 네트워크 기기의 제어 포트를 사용하여 생성될 수 있다. 통지 메시지는 프로그램에서 포트 상태 변경 메시지로 기록될 수 있으며, 통지 메시지는 상태가 "up" 상태로 설정된 다운링크 포트의 식별자를 실어 전달할 수 있다. 통지 메시지는 다운링크 포트의 식별자를 사용하여, 제1 레벨 네트워크 기기에서 상태가 변경된 다운링크 포트를 지시할 수 있다. 통지 메시지는 제1 네트워크 기기의 업링크 포트를 통해 전송되고, 중앙 장비의 다운링크 포트와 업링크 포트 사이의 네트워크 링크를 통과한 다음, 중앙 장비의 다운링크 포트에 도착할 수 있다.
예시적인 시나리오에서, 도 12를 참조하면, 제2 레벨 네트워크 기기(D)가 네트워크에 액세스했음을 검출한 후, 제1 레벨 네트워크 기기(B)는 제어 포트를 사용하여 통지 메시지를 생성하고, 업링크 포트 0a를 통해 통지 메시지를 전송할 수 있다. 이 경우, 중앙 장비의 다운링크 포트 1이 통지 메시지를 수신한다. 통지 메시지는 제1 레벨 네트워크 기기(B)의 포트 1의 식별자를 실어 전달할 수 있으며, 이는 포트 1의 포트 상태 변경 메시지로서 기록될 수 있다.
다중 레벨 네트워킹 아키텍처에서 중앙 장비에 의해 생성되는 패킷과 관련하여, 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함한다. 하나 이상의 데이터 블록은 목적지 포트가 네트워크 기기의 다운링크 포트인 하나 이상의 다운링크 데이터 블록을 포함하고, 하나 이상의 다운링크 데이터 블록은 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하고, 제어 데이터 블록은 기기 정보 전송 명령을 실어 전달한다. 이 실시예에서 제공되는 2 레벨 네트워킹이 예로서 사용된다. 패킷 내의 하나 이상의 데이터 블록은 목적지 포트가 제1 레벨 네트워크 기기의 다운링크 포트인 하나 이상의 다운링크 데이터 블록을 포함하고, 하나 이상의 다운링크 데이터 블록은 제2 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달한다.
예를 들어, 도 13은 3개의 화살표가 가리키는 필드를 도시한다. 첫 번째 화살표가 가리키는 필드, 즉 "X1XXX"를 포함하는 필드는 제1 레벨 네트워크 기기에 전송될 포트 지시 정보이다. "1"은 "X1XXX"의 두 번째 비트이며 제1 레벨 네트워크 기기의 다운링크 포트 1에 대응한다. "1"은 후속 패킷에 목적지 포트가 다운링크 포트 1인 다운링크 데이터 블록이 포함되어 있음을 지시한다.
두 번째 화살표가 가리키는 필드, 즉 "1XXXX"를 포함하는 필드는 제1 레벨 네트워크 기기의 다운링크 포트 1상의 다운링크 데이터 블록 및 제2 레벨ㄹ 네트워크 기기에 전송될 포트 지시 정보 둘 다이다. "1"은 "1XXXX"의 첫 번째 비트이며 제2 레벨 네트워크 기기의 제어 포트 식별자이다. "1"은 후속 패킷이 제어 데이터 블록을 포함함을 지시한다.
세 번째 화살표가 가리키는 필드는 제2 레벨 네트워크 기기의 제어 데이터 블록이다. 이 단계에서, 제어 데이터 블록은 제2 레벨의 네트워크 기기에 전송될 기기 정보 전송 명령을 실어 전달한다. 포트 매핑 관계를 전달하는 후속 프로세스에서, 제어 데이터 블록은 제2 레벨 네트워크 기기에 전송될 포트 매핑 관계를 실어 전달한다.
구체적으로, 도 12의 패킷은 두 개의 포트 지시 정보를 포함하고, 여기서 포트 지시 정보 중 하나는 제1 레벨 네트워크 기기에 전송될 포트 지시 정보이고; 포트 지시 정보의 다른 하나는 제2 레벨 네트워크 기기에 전송될 포트 지시 정보이며, 또한 제1 레벨 네트워크 기기의 다운링크 포트 1에 의해 다운링크로 전송되는 다운링크 데이터 블록이다.
전술한 예로부터, 본 실시예에서 제공하는 패킷은 계층적 구조로 이해될 수 있으며, 각각의 네트워크 기기에 전송되는 패킷은 코어 네트워크 기기에 의해 생성되는 패킷의 하나의 계층 역할을 할 수 있음을 알 수 있다. 구체적으로, 각각의 계층은 네트워크 기기에 전송될 적어도 포트 지시 정보를 포함한다. 선택적으로, 명령 또는 구성된 파라미터가 임의의 레벨의 네트워크 기기에 전송되어야 하면, 각각의 계층은 네트워크 기기에 전송될 제어 데이터 블록을 더 포함할 수 있다.
패킷의 계층적 구조를 이용함으로써, 패킷은 다운링크 송신 동안에 계층별로 제거되어(stripped), 다운링크 송신이 레벨별로 수행될 수 있도록 한다. 구체적으로, 하나의 네트워크 기기를 통과할 때마다, 패킷의 하나의 계층이 제거된다. 다시 말해, 하나의 네트워크 기기가 패킷을 수신할 때마다, 네트워크 기기는 패킷에서, 네트워크 기기로 전송된 포트 지시 정보를 제거하며; 포트 지시 정보의 제어 포트 식별자가 유효하면, 패킷에서, 네트워크 기기에 전송된 제어 데이터 블록을 추가로 제거하고; 패킷의 나머지 부분, 즉 하나 이상의 다운링크 데이터 블록을 다운링크 포트를 통해 다음 레벨 네트워크 기기에 전송한다. 다음 수준의 네트워크 기기는 마찬가지로 포트 지시 정보와 제어 데이터 블록을 제거한다. 이 경우, 패킷이 마지막 레벨 네트워크 기기에 도착한 후, 마지막 레벨 네트워크 기기에 의해 획득되는 패킷은 계층별 제거를 통해 단일 계층 구조로 되어 있으며, 패킷은 포트 지시 정보와 마지막 레벨 네트워크 기기에 전송될 제어 데이터 블록을 포함한다.
선택적으로, 패킷의 복수 계층의 정렬 시퀀스는 네트워크 아키텍처에서 네트워크 기기의 레벨 시퀀스와 매칭될 수 있다. 예를 들어, 네트워크 아키텍처가 각각 맨 위에서부터 아래로 제1 레벨 네트워크 기기, 제2 레벨 네트워크 기기, ... 그리고 마지막 레벨 네트워크 기기를 포함하면, 패킷의 복수 계층의 경우, 최외곽 계층은 제1 레벨 네트워크 기기에 전송될 포트 지시 정보, 두 번째 최외곽 계층은 제2 레벨 네트워크 기기에 전송될 포트 지시 정보를 포함하고, 가장 안쪽 계층은 마지막 레벨 네트워크 기기에 전송될 포트 지시 정보를 포함한다.
이 실시예의 2 레벨 네트워킹 아키텍처에 기초하여, 패킷은 두 개의 계층을 포함한다. 외부 계층 패킷은 제1 레벨 네트워크 기기에 전송될 포트 지시 정보를 포함하며, 내부 계층 패킷은 두 가지 역할을 하는 것으로 이해될 수 있다. 한편, 내부 계층 패킷은 제1 레벨 네트워크 기기에 의해 다운링크로 투명하게 송신되어야 하는 데이터 패킷으로 간주될 수 있으며, 내부 계층 패킷은 제1 레벨의 네트워크 기기에 전송될 하나 이상의 다운링크 데이터 블록을 포함한다. 한편, 내부 계층 패킷은 제2 레벨 네트워크 기기에 의해 수신 및 처리되어야 하는 제어 패킷으로 간주될 수도 있으며, 내부 계층 패킷은 제2 레벨 네트워크 기기에 전송될 포트 지시 정보와 제어 데이터 블록을 포함한다.
예를 들어, 도 13 및 도 14를 참조하면, 도 13에 도시된 패킷은 중앙 장비에 의해 생성되는 패킷, 즉 제1 레벨 네트워크 기기에 의해 수신되는 패킷이고; 도 14에 도시된 패킷은 제2 레벨 네트워크 기기에 의해 수신되는 패킷이다. 도 13 및 도 14로부터 알 수 있는 것은, 도 14에 도시된 패킷은 도 13에 도시된 패킷에 포함된 데이터 블록을 포함하고, 도 13에 도시된 패킷을 분할하여 획득한 패킷으로 간주할 수 있다.
외부 계층 패킷에 포함된 포트 지시 정보, 즉 제1 레벨 네트워크 기기에 전송될 포트 지시 정보의 경우, 패킷이 제1 레벨 네트워크 기기에 전송될 다운링크 데이터 블록을 가지고 있기 때문에, 중앙 장비는 제2 레벨 네트워크 기기에 연결된, 제1 레벨 네트워크 기기의 다운링크 포트를 결정하고; 포트 지시 정보에서 다운링크 포트의 다운링크 포트 식별자를 유효한 식별자로 설정한다. 예를 들어, 다운링크 데이터 블록이 제1 레벨 네트워크 기기(B)에 의해 제1 레벨 네트워크 기기(B)의 다운링크 포트 1을 통해 제2 레벨 네트워크 기기(D)에 전송되어야 하고, 다운링크 포트 1의 다운링크 포트 식별자가 포트 지시 정보의 제2 비트이면, 중앙 장비는 포트 지시 정보에서의 제2 비트에 1을 추가한다. 그러면, 제1 레벨 네트워크 기기는 포트 지시 정보에 기초하여 패킷으로부터 다운링크 데이터 블록을 찾고; 다운링크 데이터 블록을 캡슐화하여 패킷을 획득하고; 패킷을 제2 레벨 네트워크 기기에 전송할 수 있다.
내부 계층 패킷에 포함된 포트 지시 정보, 즉, 제2 레벨 네트워크 기기에 전송될 포트 지시 정보의 경우, 중앙 장비는 포트 지시 정보 내의 제어 포트 식별자를 유효한 것으로 설정한다, 예를 들어, 포트 지시 정보의 제1 비트에 1을 추가한다. 그러면, 제2 레벨 네트워크 기기는 포트 지시 정보에 기초하여 패킷이 제어 데이터 블록을 포함한다고 결정하고; 패킷 내의 하나 이상의 데이터 블록으로부터 제어 데이터 블록을 찾고; 제어 데이터 블록으로부터 기기 정보 전송 명령을 획득하고; 기기 정보를 중앙 장비에 적극적으로 보고할 수 있다.
예를 들어, 도 13을 참조하면, 패킷에서 외부 계층에 있는 포트 지시 정보는 "X1XXX"이고 제2 비트가 1이므로, 패킷이 포트 1의 다운링크 데이터 블록을 포함 함을 지시하고; 내부 계층의 포트 지시 정보는 "1XXXX"이고 제1 비트는 1이므로, 패킷이 제2 레벨 네트워크 기기에 전송될 제어 데이터 블록을 포함함을 지시한다.
요약하면, 이 단계에서 코어 네트워크 기기에 의해 생성되는 패킷은 두 개의 패킷의 조합으로 간주될 수 있으며, 제1 레벨 네트워크 기기에 전송될 패킷과 제2 레벨 네트워크 기기에 전송될 패킷을 포함한다. 이 실시예에서 제공되는 패킷 포맷을 사용함으로써, 코어 네트워크 기기는 패킷에 제1 레벨 네트워크 기기의 IP 주소 및/또는 제2 레벨 네트워크 기기의 IP 주소를 추가하지 않고, 제1 레벨 네트워크 기기의 MAC 주소 및/또는 제2 레벨 네트워크 기기의 MAC 주소를 패킷에 추가하고, 또 미리 설정된 MAC 주소 또는 IP 주소를 패킷에 추가하고, 예를 들어 STP 프로토콜에 의해 지정된 멀티캐스트 주소를 추가하지 않고, 패킷 레벨별로 다운링크 송신을 수행할 수 있다. 이러한 방식으로 적용 범위가 크게 확장된다.
1102. 중앙 장비가 패킷을 제1 레벨 네트워크 기기에 전송한다.
중앙 장비는 제1 레벨 네트워크 기기에 연결된 다운링크 포트를 결정하고 다운링크 포트를 통해 패킷을 전송할 수 있다. 패킷은 네트워크 링크를 통해 다운링크 포트에서 제1 네트워크 기기의 업링크 포트로 전송되어, 제1 네트워크 기기의 업링크 포트가 패킷을 수신한다. 중앙 장비는 1101 단계에서 통지 메시지를 수신하는 다운링크 포트를, 패킷 전송을 위한 다운링크 포트로 결정할 수 있다.
예시적인 시나리오에서, 도 12를 참조하면, 제2 레벨 네트워크 기기(D)가 네트워크에 액세스했으면, 제1 레벨 네트워크 기기(B)의 업링크 포트 0a는 통지 메시지를 중앙 장비(A)의 다운링크 포트 1에 전송한다. 중앙 장비(A)는 통지 메시지를 수신한 포트가 다운링크 포트 1인 것으로 결정하고, 다운링크 포트 1을 통해 패킷을 전송할 수 있으므로, 패킷은 제1 레벨 네트워크 기기(B)에 도착한다.
1103. 제1 레벨 네트워크 기기가 패킷을 수신하고, 포트 지시 정보에 기초하여 하나 이상의 데이터 블록 내의 하나 이상의 다운링크 데이터 블록을 결정한다.
다운링크 데이터 블록을 식별하는 구체적인 프로세스와 관련하여, 가능한 구현에서, 제1 레벨 네트워크 기기는 하나 이상의 다운링크 데이터 블록을 식별하기 위해 다음의 단계 1 내지 단계 3에서 하나 이상의 데이터 블록에서 목적지 포트가 다운링크 포트인 데이터 블록을 결정할 수 있다.
단계 1: 제1 레벨 네트워크 기기가 포트 지시 정보 내의 다운링크 포트 식별자를 결정한다.
제1 레벨 네트워크 기기의 하나 이상의 다운링크 포트 각각에 대해, 제1 레벨 네트워크 기기는 다운링크 포트의 다운링크 포트 식별자를 미리 저장하고; 포트 지시 정보에서의 위치에서, 포트 지시 정보에서의 위치의 비트를 파싱하여, 비트에 실려 전달된 다운링크 포트 식별자를 획득할 수 있다.
예로서 포트 1이 사용된다. 포트 지시 정보의 제2 비트에 포트 1의 다운링크 포트 식별자가 실려 전달되는 것으로 미리 지정되어 있다. 제1 레벨 네트워크 기기(B)는 포트 지시 정보에서의 제2 비트를 결정하고, 제2 비트를 파싱하여 제2 비트에 실려 전달되는 다운링크 포트 식별자를 획득할 수 있다. 예를 들어, "X1XXX"의 제2 비트를 결정하여 1을 획득할 수 있다.
단계 2: 제1 레벨 네트워크 기기가 다운링크 포트 식별자가 유효한 식별자인지를 판정한다.
다운링크 포트 식별자가 유효한 식별자인 경우, 하나 이상의 데이터 블록에 목적지 포트가 다운링크 포트인 데이터 블록이 포함되어 있음을 지시하고, 그러면 제1 레벨 네트워크 기기는 단계 3을 수행한다. 식별자가 무효한 식별자인 경우, 이는 하나 이상의 데이터 블록에 목적지 포트가 다운링크 포트인 데이터 블록이 포함되어 있지 않은 것을 지시하고, 그러면 제1 레벨 네트워크 기기는 단계 3를 수행할 필요가 없다. 유효한 식별자가 1이고 무효한 식별자는 0인 것을 예로 사용된다. 제1 레벨 네트워크 기기는 다운링크 포트 식별자가 1인지를 판정할 수 있고; 다운링크 포트 식별자가 1이면 단계 3을 수행한다.
단계 3: 제1 레벨 네트워크 기기가 하나 이상의 데이터 블록으로부터 다운링크 데이터 블록을 결정한다.
가능한 구현에서, 이 단계는 다음과 같이 (1) 및 (2)를 포함할 수 있다.
(1) 제1 레벨 네트워크 기기가 포트 지시 정보의 모든 유효한 식별자에서의 다운링크 포트 식별자의 위치를 획득한다.
포트 지시 정보 내의 하나 이상의 다운링크 포트 식별자는 유효한 식별자로 설정될 수 있으며, 포트 지시 정보 내의 제어 포트 식별자는 또한 유효한 식별자로 설정될 수 있다. 임의의 다운링크 포트 식별자에 대해, 네트워크 기기는 포트 지시 정보 내의 제1 포트 식별자에서부터 다운링크 포트 식별자까지의 각각의 포트 식별자를 결정하고; 포트 식별자의 값에 기초하여, 포트 지시 정보 내의 다운링크 포트 식별자의 유효한 식별자 시퀀스 번호, 즉, 포트 지시 정보 내의 모든 유효한 식별자의 다운링크 포트 식별자의 위치를 결정할 수 있다.
(2) 제1 레벨 네트워크 기기가 하나 이상의 데이터 블록에서, 그 위치에 대응하는 데이터 블록을 다운링크 데이터 블록으로서 결정한다.
제1 레벨 네트워크 기기는 패킷 내의 데이터 블록의 정렬 시퀀스를 결정할 수 있고, 하나 이상의 데이터 블록에서, 그 위치에 대응하는 데이터 블록을 결정할 수 있다. 예를 들어, 패킷이 하나의 주기에서의 데이터 블록만 포함하면, 패킷 내 하나 이상의 데이터 블록에서 그 위치에 있는 데이터 블록을 직접 결정하고, 그 위치에 있는 데이터 블록을 다운링크 데이터 블록으로서 사용한다. 다른 예를 들어, 패킷이 복수 주기에서의 데이터 블록을 포함하는 경우, 그 위치에 있는 데이터 블록은 각각의 주기에서 결정되고, 각각의 주기에서 그 위치에 있는 데이터 블록을 다운링크 데이터 블록으로서 사용하여, 복수의 다운링크 데이터 블록을 획득한다.
예를 들어, 도 6을 참조하면, 제1 레벨 네트워크 기기의 포트 1에 대해, 포트 지시 정보의 처음 2비트가 01이라고 가정하면, 제1 레벨 네트워크 기기는 포트 1의 다운링크 포트 식별자가 모든 유효한 식별자에서 제1 비트라고 결정할 수 있다. 이 경우, 제1 레벨 네트워크 기기는 하나 이상의 데이터 블록 내의 제1 데이터 블록을 식별하고, 제1 데이터 블록을 포트 1의 다운링크 데이터 블록으로서 사용할 수 있다. 또한, 복수의 주기를 갖는 구조에 기초하여, 제1 레벨 네트워크 기기는 마지막 주기의 제1 데이터 블록이 결정될 때까지 제1 주기의 제1 데이터 블록, 제2 주기의 제1 데이터 블록 등을 결정하고, 프로세스를 종료하며, 이들 데이터 블록을 모두 포트 1의 다운링크 데이터 블록으로서 사용할 수 있다.
마찬가지로, 포트 지시 정보가 11이라고 가정하면, 제1 레벨 네트워크 기기는 포트 1의 다운링크 포트 식별자가 모든 유효한 식별자에서 제2 비트라고 결정할 수 있다. 이 경우, 제1 레벨 네트워크 기기는 하나 이상의 데이터 블록 내의 제2 데이터 블록을 식별하고, 제2 데이터 블록을 포트 1의 다운링크 데이터 블록으로 사용할 수 있다. 또한, 복수의 주기를 갖는 구조에 기초하여, 제1 레벨 네트워크 기기는 마지막 주기의 제2 데이터 블록이 결정될 때까지 제1 주기의 제2 데이터 블록, 제2 주기의 제2 데이터 블록 등을 결정하고, 프로세스를 종료하며, 이들 데이터 블록을 모두 포트 1의 다운링크 데이터 블록으로서 사용할 수 있다.
1104. 제1 레벨 네트워크 기기가 하나 이상의 다운링크 데이터 블록에 기초하여 패킷을 생성하고, 패킷을 제2 레벨 네트워크 기기에 전송한다.
제1 레벨 네트워크 기기는 하나 이상의 다운링크 데이터 블록을 캡슐화하여 패킷을 획득할 수 있다.
패킷 전송 프로세스와 관련하여, 제1 레벨 네트워크 기기는 제2 레벨 네트워크 기기와 연결된 다운링크 포트를 결정하고, 다운링크 포트를 통해 패킷을 전송할 수 있다. 패킷은 제1 레벨 네트워크 기기의 다운링크 포트와 제2 레벨의 업링크 포트 사이의 네트워크 링크를 통해 제1 레벨 네트워크 기기의 다운링크 포트에서 제2 레벨 네트워크 기기의 업링크 포트로 전송되어, 제2 레벨 네트워크 기기의 업링크 포트가 패킷을 수신할 수 있도록 한다. 제1 레벨 네트워크 기기는 단계 1101에서 상태가 "up" 상태로 설정된 다운링크 포트를 결정하고; 상태가 "up" 상태로 설정된 다운링크 포트를 제2 레벨 네트워크 기기에 연결된 다운링크 포트, 즉 패킷을 전송하기 위한 다운링크 포트로 사용한다.
예시적인 시나리오에서, 도 12를 참조하면, 제2 레벨 네트워크 기기(D)가 네트워크에 액세스하였고 제1 레벨 네트워크 기기(B)의 다운링크 포트 1의 상태가 1101 단계에서 "down" 상태에서 "up" 상태로 조정되면, 레벨 네트워크 기기(B)는 이 단계에서 다운링크 포트 1을 통해 패킷을 전송하여, 패킷이 제2 레벨 네트워크 기기(D)에 도착할 수 있도록 한다. 제2 레벨 네트워크 기기(E)가 네트워크에 액세스하였고 제1 레벨 네트워크 기기(B)의 다운링크 포트 2의 상태가 1101 단계에서 "down" 상태에서 "up" 상태로 조정되면, 제1 레벨 네트워크 기기(B)는 이 단계에서 다운링크 포트 2를 통해 패킷을 전송하여, 패킷이 제2 레벨 네트워크 기기(E)에 도착할 수 있도로 한다.
1105. 제2 레벨 네트워크 기기가 패킷을 수신하고, 포트 지시 정보에 기초하여 제어 데이터 블록을 결정한다.
단계 1105는 단계 1103과 유사하다. 구체적으로, 제2 레벨 네트워크 기기는 패킷 내의 포트 지시 정보를 결정하고; 포트 지시 정보 내의 제어 포트 식별자를 결정하고; 제어 포트 식별자가 유효한 식별자인지를 판정하고; 포트 식별자가 유효한 식별자인 경우, 패킷 내의 하나 이상의 데이터 블록으로부터, 목적지 포트가 하나 이상의 데이터 블록의 제어 포트인 데이터 블록을 결정하여, 제어 데이터 블록을 획득할 수 있다.
1106. 제2 레벨 네트워크 기기가 제어 데이터 블록을 파싱하여 기기 정보 전송 명령을 획득한다.
중앙 장비는 제어 데이터 블록에 기기 정보 전송 명령을 추가한다. 따라서, 이 단계에서, 제2 레벨 네트워크 기기는 제어 데이터 블록을 파싱하여 제어 데이터 블록에 실려 전달되는 기기 정보 전송 명령을 획득하고; 제2 레벨 네트워크 기기는 기기 정보 전송 명령에 따라, 중앙 장비가 기기 정보를 보고하도록 제2 레벨 네트워크 기기에 명령한 것을 학습할 수 있다. 이 경우, 기기 정보 전송 명령에 응답하여, 제2 레벨 네트워크 기기는제2 레벨 네트워크 기기의 기기 정보를 획득하고 제1 레벨 네트워크 기기에 기기 정보를 전송하므로 네트워크 기기는 기기 정보를 중앙 장비에 전달하고 중앙 장비는제2 레벨 네트워크 기기의 기기 정보를 기반으로 네트워크 토폴로지를 생성한다.
제2 레벨 네트워크 기기의 기기 정보의 설명에 대해서는 단계 404를 참조한다. 여기서 세부사항을 다시 설명하지 않는다.
1107. 제2 레벨 네트워크 기기가 기기 정보를 제1 레벨 네트워크 기기에 전송한다.
제2 레벨 네트워크 기기가 기기 정보를 전송하는 구체적인 프로세스와 관련하여, 가능한 구현예에서, 제2 레벨 네트워크 기기는 본 출원의 이 실시예에서 제공되는 새로운 패킷 형식을 사용하여 새로운 패킷 형식의 패킷을 생성하고; 제2 레벨 네트워크 기기의 기기 정보를 전송하기 위해, 기기 정보를 패킷에 추가할 수 있다.
제2 레벨 네트워크 기기가 패킷을 생성하는 구체적인 구현의 경우, 제2 레벨 네트워크 기기가 패킷을 생성하는 프로세스는 단계 404에서 패킷을 생성하는 프로세스와 유사하다. 구체적으로, 제2 레벨 네트워크 기기는 제어 포트를 사용하여 포트 지시 정보 및 제어 데이터 블록을 생성할 수 있으며, 여기서 포트 지시 정보는 제어 데이터 블록의 근원지 포트를 지시하는 데 사용된다. 제2 레벨 네트워크 기기는 포트 지시 정보 및 제어 데이터 블록을 캡슐화하여 패킷을 획득할 수 있다. 패킷은 포트 지시 정보와 제어 데이터 블록을 포함하고, 제어 데이터 블록은 제2 레벨 네트워크 기기의 기기 정보를 실어 전달한다.
제2 레벨 네트워크 기기가 제1 레벨 네트워크 기기에 패킷을 전송하는 구체적인 프로세스와 관련하여, 제2 레벨 네트워크 기기는 1105 단계에서 패킷을 수신한 업링크 포트, 즉, 기기 정보 전송 명령을 실어 전달하는 패킷이 도착하는 업링크 포트를 결정할 수 있고; 업링크 포트를 통해 제2 레벨 네트워크 기기에 의해 생성된 패킷을 전송한다. 패킷은 제1 레벨 네트워크 기기의 다운링크 포트와 상기 업링크 포트 사이의 네트워크 링크를 통해 제1 레벨 네트워크 기기의 다운링크 포트에 전송되어, 제1 레벨 네트워크 기기의 다운링크 포트가 패킷을 수신할 수 있도록 한다.
예시적인 시나리오에서, 도 12를 참조 참조하면, 1101 단계에서 제2 레벨 네트워크 기기(D)가 업링크 포트 0a를 통해 제1 레벨 네트워크 기기(B)에 의해 전송되는 패킷을 수신하면, 제2 레벨 네트워크 기기(D)는 이 단계에서 패킷을 업링크 포트 0a를 통해 제1 레벨 네트워크 기기(B)에 전송한다. 패킷은 제2 레벨 네트워크 기기(D)의 업링크 포트 0a와 제1 레벨 네트워크 기기(B)의 다운링크 포트 1 사이의 네트워크 링크를 통과한 다음, 제1 레벨 네트워크 기기(B)의 다운링크 포트 1에 도착한다.
1108. 제1 레벨 네트워크 기기가 기기 정보를 수신하고 기기 정보를 중앙 장비에 전송한다.
제1 레벨 네트워크 기기는 제2 레벨 네트워크 기기로부터 패킷을 수신할 수 있으며, 여기서 패킷은 기기 정보를 수신할 수 있도록, 제2 레벨 네트워크 기기의 기기 정보를 실어 전달한다.
제1 레벨 네트워크 기기가 제2 레벨 네트워크 기기의 기기 정보를 포워딩하는 구체적인 프로세스와 관련하여, 제1 레벨 네트워크 기기는 패킷을 생성할 수 있으며, 여기서 패킷은 제2 레벨 네트워크 기기의 기기 정보를 포함한다. 예를 들어, 제2 레벨 네트워크 기기로부터 패킷을 수신한 후, 제1 레벨 네트워크 기기는 포트 지시 정보를 생성하고; 수신된 패킷에 포트 지시 정보를 캡슐화하여 캡슐화된 패킷을 획득하고; 캡슐화된 패킷을 중앙 장비에 전송할 수 있다. 이 경우, 캡슐화된 패킷은 제2 레벨 네트워크 기기에 의해 생성된 패킷을 포함하고, 또한 제1 레벨 네트워크 기기에 의해 생성된 포트 지시 정보를 더 포함한다.
선택적으로, 제1 레벨 네트워크 기기가 중앙 장비에 정보를 보고할 필요가 있으면, 제1 레벨 네트워크 기기는 제어 데이터 블록을 추가로 생성하고, 포트 지시 정보와 제어 데이터 블록을 수신된 패킷으로 캡슐화할 수 있다. 이 경우, 캡슐화된 패킷은 제2 레벨 네트워크 기기에 의해 생성된 패킷을 포함하고, 또한 제1 레벨 네트워크 기기에 의해 생성된 포트 지시 정보 및 제어 데이터 블록을 더 포함한다.
이 경우, 제1 레벨 네트워크 기기에 의해 전송되는 패킷은 1101 단계에서 중앙 장비에 의해 전송되는 패킷과 유사하며, 2 계층 구조를 갖는다. 내부 계층 패킷은 제2 레벨 네트워크 기기에 의해 생성된 패킷이며, 제2 레벨 네트워크 기기의 포트 지시 정보와 제어 데이터 블록을 포함하고, 여기서 제어 데이터 블록은 제2 레벨 네트워크 기기의 기기 정보를 실어 전달한다. 외부 계층 패킷은 제1 레벨 네트워크 기기에 의해 생성되는 패킷이며, 제1 레벨 네트워크 기기에 의해 생성되는 포트 지시 정보를 포함한다.
제1 레벨 네트워크 기기에 의해 생성되는 포트 지시 정보는 패킷의 근원지 포트를 지시하는 데 사용된다. 제1 레벨 네트워크 기기의 관점에서, 패킷은 제1 레벨 네트워크 기기에 의해 생성되지 않고 다운링크 포트를 통해 수신되기 때문에, 제1 레벨 네트워크 기기는 다운링크 포트를 패킷의 근원지 포트로서 사용한다. 포트 지시 정보를 생성하는 동안, 네트워크 기기는 포트 지시 정보 내의 다운링크 포트 식별자를 유효한 식별자로 설정한다, 예를 들어, 포트 지시 정보의 제1 비트에 1을 추가한다.
이 실시예에서, 제1 레벨 네트워크 기기는 다운링크 포트 식별자를 사용하여 패킷이 제1 레벨 네트워크 기기의 다운링크 포트로부터 오는 다운링크 데이터 블록을 가지고 있음을 지시하여, 패킷이 제2 레벨 네트워크 기기에 의해 생성되는 데이터를 가지고 있다는 것을 지시할 수 있다. 이 프로세스에서, 제1 레벨 네트워크 기기는 제2 레벨 네트워크 기기의 식별자를 패킷에 추가할 필요가 없고, 제2 레벨 네트워크 기기의 기기 정보도 인식할 필요가 없어, 다른 기기의 네트워크 토폴로지를 인식하지 않는다는 제약을 충족시킨다.
1109. 중앙 장비가 기기 정보를 수신한다.
패킷을 수신한 후, 중앙 장비는 패킷 내의 포트 지시 정보를 결정하고; 포트 지시 정보에 기초하여, 근원지 포트가 패킷의 다운링크 포트인 데이터 블록을 결정하여, 다운링크 데이터 블록을 획득하고; 다운링크 데이터 블록을 파싱하여 다운링크 데이터 블록에 실려 전달되고 제2 레벨 네트워크 기기에 의해 생성된 패킷을 획득할 수 있다. 중앙 장비는 패킷 내의 포트 지시 정보를 결정하고; 패킷이 제2 레벨 네트워크 기기에 의해 생성된 제어 데이터 블록을 포함한다고 결정하고; 제어 데이터 블록을 파싱하여 제어 데이터 블록에 실려 전달되는 제2 레벨 네트워크 기기의 기기 정보를 획득할 수 있다.
다운링크 데이터 블록을 결정하는 구체적인 프로세스에 대해, 가능한 구현예에서, 중앙 장비는 다음의 단계 1 내지 단계 3에서 패킷 내의 다운링크 데이터 블록을 결정할 수 있다.
단계 1: 중앙 장비가 포트 지시 정보 내의 다운링크 포트 식별자를 결정한다.
제2 레벨 네트워크 기기의 하나 이상의 다운링크 포트 각각에 대해, 중앙 장비는 다운링크 포트의 다운링크 포트 식별자를 미리 저장할 수 있고; 포트 지시 정보에서의 위치에서, 포트 지시 정보에서의 위치에 있는 비트를 파싱하여, 그 비트에 실려 전달되는 다운링크 포트 식별자를 획득할 수 있다.
단계 2: 중앙 장비가 다운링크 포트 식별자가 유효한 식별자인지를 결정한다.
다운링크 포트 식별자가 유효한 식별자인 경우, 패킷 내의 하나 이상의 데이터 블록이 근원지 포트가 다운링크 포트인 데이터 블록을 포함함을 지시하고, 그러면 중앙 장비는 단계 3을 수행한다. 식별자가 무효한 식별자인 경우, 이는 하나 이상의 데이터 블록이 근원지 포트가 다운링크 포트인 데이터 블록을 포함하지 않음을 지시하고, 그러면 중앙 장비는 단계 3을 수행할 필요가 없다. 유효한 식별자는 1이고 무효한 식별자는 0인 것을 예로 사용한다. 중앙 장비는 다운링크 포트 식별자가 1인지를 판정할 수 있고; 다운링크 포트 식별자가 1이면, 단계 3을 수행한다.
단계 3: 중앙 장비가 하나 이상의 데이터 블록으로부터 다운링크 데이터 블록을 결정한다.
중앙 장비는 포트 지시 정보의 모든 유효한 식별자에서의 다운링크 포트 식별자의 위치를 획득하고, 하나 이상의 데이터 블록에서 그 위치에 있는 데이터 블록을 식별할 수 있다.
선택적으로, 패킷 내의 데이터 블록이 복수의 주기에 따라 연속적으로 정렬되면, 복수의 주기 각각에 대해, 중앙 장비는 주기 내의 그 위치에 있는 데이터 블록을 식별하여 주기 내의 다운링크 데이터 블록을 획득하여, 복수의 주기에 대응하는 복수의 데이터 블록을 획득할 수 있고; 복수의 데이터 블록 모두를 다운링크 데이터 블록으로서 사용한다.
제2 레벨 네트워크 기기에 의해 생성되는 제어 데이터 블록을 결정하는 구체적인 프로세스의 경우, 가능한 구현예에서, 단계 405에서 중앙 장비가 제어 데이터 블록을 결정하는 프로세스와 유사하게, 중앙 장비는 다음의 단계 1 내지 단계 3에서 패킷 내의 제어 데이터 블록을 결정할 수 있다.
단계 1: 중앙 장비가 포트 지시 정보 내의 제어 포트 식별자를 결정한다.
단계 2: 중앙 장비는 제어 포트 식별자가 유효한 식별자인지를 판정한다.
제어 포트 식별자가 유효한 식별자인 경우, 하나 이상의 데이터 블록이 근원지 포트가 제어 포트인 데이터 블록을 포함함을 지시하고, 그러면 중앙 장비는 단계 3을 수행한다. 제어 포트 식별자가 무효한 식별자인 경우, 하나 이상의 데이터 블록이 목적지 포트가 제어 포트인 데이터 블록을 포함하지 않음을 지시하고, 그러면 중앙 장비가 단계 3을 수행할 필요가 없다.
단계 3: 중앙 장비가 하나 이상의 데이터 블록으로부터 제어 데이터 블록을 결정한다.
1110. 중앙 장비가 기기 정보에 기초하여 네트워크 토폴로지를 생성한다.
중앙 장비가 제2 레벨 네트워크 기기의 기기 정보를 획득할 때마다, 중앙 장비는 기기 정보에 기초하여 제2 레벨 네트워크 기기 및 제2 레벨 네트워크 기기의 각각의 포트를 결정하여, 제2 레벨 네트워크 기기를 발견할 수 있다. 나머지는 유추로 추론할 수 있다. 모든 제2 레벨 네트워크 기기가 모든 제2 레벨 네트워크 기기의 기기 정보를 사용함으로써 발견될 수 있다. 모든 제2 레벨 네트워크 기기를 포함하는 네트워크 토폴로지는 발견된 모든 제2 레벨 네트워크 기기의 기기 정보에 기초하여 생성될 수 있다.
본 실시예에서 제공되는 방법에 따르면, 계층적 패킷 캡슐화 및 네트워크 기기의 레벨별 발견이 구현되고, 다중 레벨 네트워크 토폴로지 구축이 수행될 수 있다. 이는 복잡한 네트워킹 시나리오에 사용될 수 있으며, 광범위한 적용 범위를 가진 상이한 유형의 액세스 네트워크 시나리오에 적용 가능하다.
전술한 실시예에서 구성된 네트워크 토폴로지는 비 트리(a non-tree ) 네트워크 토폴로지일 수 있다. 본 출원의 이 실시예에서, 중앙 장비는 단말기 그룹을 사용하여 네트워크 기기의 다운링크 포트 각각을 대응하는 업링크 포트에 유일하게 매핑하여, 비 트리 네트워크 토폴로지를 복수의 트리 네트워크로 분할할 수 있다. 이하에서는 도 15의 실시예를 사용하여 트리 토폴로지 구축을 구체적으로 설명한다.
도 15는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다. 이 네트워크 토폴로지 생성 방법을 수행하는 엔티티는 중앙 장비이다. 이 네트워크 토폴로지 생성 방법은 다음 단계를 포함한다.
1501. 중앙 장비가 네트워크 토폴로지를 조회하여 네트워크 기기의 하나 이상의 업링크 포트 및 하나 이상의 다운링크 포트를 획득한다.
네트워크 토폴로지는 전체 네트워크상의 각각의 네트워크 기기 및 각각으ㅢ 네트워크 기기의 기기 정보를 포함할 수 있다. 임의의 네트워크 기기에 대해, 중앙 장비는 네트워크 토폴로지를 조회하고; 네트워크 토폴로지로부터 네트워크 기기의 포트 정보를 획득하고; 포트 정보에 기초하여 네트워크기의 업링크 네트워크 기기의 업링크 포트 및 다운링크 포트를 결정하여, 하나 이상의 업링크 포트 및 하나 이상의 다운링크 포트를 획득할 수 있다.
1502. 중앙 장비가 각각의 다운링크 포트에 대해 하나 이상의 업링크 포트로부터 하나의 업링크 포트를 선택한다.
이 실시예에서, 중앙 장비는 네트워크상의 각각의 네트워크 기기에 대한 포트 매핑 관계를 확립하고, 네트워크 기기에 포트 매핑 관계를 전송하여, 네트워크 기기가 포트 매핑을 사용하여 패킷 포워딩 기능을 구현할 수 있도록 한다.
포트 매핑 관게를 확립하기 위해, 중앙 장비는 네트워크 기기의 하나 이상의 다운링크 포트와 하나 이상의 업링크 포트를 획득한 후, 네트워크 기기의 각각의 다운링크 포트에 대해 유일한 업링크 포트를 선택할 수 있다, 즉, 하나의 다운링크 포트에 대해 하나의 업링크 포트만 선택하여, 하나의 다운링크 포트가 최대 하나의 업링크 포트에 매핑되도록 한다.
예를 들어, 업링크 포트를 선택하는 프로세스는 다음 두 가지 방식을 포함할 수 있다.
방식 1: 네트워크 기기의 모든 업링크 포트는 다운링크 포트에 매핑되는 포트로 사용될 수 있다. 즉, 다운링크 포트는 업링크 포트에 매핑된다. 이 경우, 확립된 포트 매핑 관계에 기초하여 수행되는 후속 패킷 전송 동안, 네트워크 기기의 모든 업링크 포트가 패킷 송신을 위한 포트로 사용된다.
예를 들어, 도 15는 본 출원의 일 실시예에 따른 네트워크 기기의 포트 매핑의 개략도이다. 도 15의 네트워크 기기에는 업링크 포트 0a, 업링크 포트 0b, 다운링크 포트 1, 다운링크 포트 2, 다운링크 포트 3 및 다운링크 포트 4가 있다. 네트워크 기기는 다운링크 포트 1과 다운링크 포트 2를 업링크 포트 0a에 매핑할 수 있고, 다운링크 포트 3 및 다운링크 포트 4를 업링크 포트 0b에 매핑할 수 있다. 이러한 방식으로, 네트워크 기기의 모든 업링크 포트는 다운링크 포트에 매핑되는 포트로 사용된다.
방식 2: 네트워크 기기의 일부 업링크 포트가 다운링크 포트에 매핑되는 포트로 사용될 수 있다. 구체적으로, 중앙 장비는 모든 업링크 포트 중에서 일부 업링크 포트를 선택하고, 그 일부 업링크 포트와 다운링크 포트 사이에 매핑 관계를 확립하고, 나머지 업링크 포트를 대기 포트로 사용할 수 있다. 이 경우, 확립된 매핑 관계를 기초로 수행되는 후속 패킷 전송 동안, 네트워크 기기의 일부 업링크 포트가 패킷 송신을 위한 포트로 사용된다.
예를 들어, 도 17을 참조하면, 네트워크 기기는 업링크 포트 0a만을 다운링크 포트에 매핑되는 포트로 사용하고, 업링크 포트 0b를 대기 포트로 사용할 수 있다. 이 경우, 중앙 장비는 다운링크 포트 1, 다운링크 포트 2, 다운링크 포트 3, 다운링크 포트 4를 모두 네트워크 기기의 업링크 포트 0a에 매핑할 수 있다.
1503. 중앙 장비가 각각의 다운링크 포트에 매핑된 업링크 포트에 기초하여 네트워크 기기에 대한 포트 매핑 관계를 확립한다.
포트 매핑 관계는 각각의 다운링크 포트에 매핑된 업링크 포트를 지시하는 데 사용되며, 포트 지시 정보는 네트워크 기기에 의해 다운링크 포트에 기초하여 대응하는 업링크 포트를 결정하는 데 사용되므로, 네트워크 기기에 의해 수행되는 패킷 업링크 송신을 위한 경로가 결정될 수 있다. 포트 매핑 관계는 하나 이상의 다운링크 포트의 식별자 및 하나 이상의 업링크 포트의 대응하는 식별자를 포함할 수 있다. 예를 들어, 포트 매핑 관계는 표 1과 같이 나열될 수 있다:
[표 1]
Figure 112020141102577-pct00001
중앙 장비는 네트워크 기기의 포트 매핑 관계를 저장할 수 있으며, 예를 들어 포트 매핑 관계를 데이터베이스에 기록할 수 있음에 유의해야 한다. 선택적으로, 중앙 장비가 네트워크 기기에 대한 포트 매핑 관계를 확립할 때마다, 중앙 장비는 네트워크 기기의 포트 매핑 관계를 저장할 수 있다. 따라서 중앙 장비는 전체 네트워크상의 모든 네트워크 기기의 포트 매핑 관계를 저장할 수 있으므로, 네트워크 링크 고장 발생시 저장된 포트 매핑 관계에 기초하여 재조정을 수행할 수 있다.
1504. 중앙 장비가 포트 매핑 관계를 네트워크 기기에 전송한다.
본 출원에서 제공하는 패킷 인코딩 포맷에 기초하면, 포트 매핑 관계를 전송하는 프로세스는 다음의 단계 1 내지 단계 3을 포함할 수 있다.
단계 1: 중앙 장비가 포트 매핑 관계에 기초하여 패킷을 생성하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함한다.
네트워크 기기가 제1 레벨 네트워크 기기이면, 중앙 장비가 포트 지시 정보 및 데이터 블록을 생성하는 프로세서는 도 4의 실시예와 유사하다. 네트워크 기기가 제2 레벨 네트워크 기기이거나 다른 다중 레벨 네트워크 기기이면, 중앙 장비가 포트 지시 정보 및 데이터 블록을 생성하는 프로세스는 도 10의 실시예와 유사하다. 차이점은 이 단계에서는, 중앙 장비에 의해 제어 데이터 블록에 추가된 내용이 다르다는 것이다. 도 4의 실시예 및 도 10의 실시예에서는 중앙 장비가 제어 데이터 블록에 기기 정보 전송 명령을 추가하지만, 이 단계에서 중앙 장비는 제어 데이터 블록에 포트 매핑 관계를 추가한다.
단계 2: 네트워크 기기가 패킷을 수신하고, 포트 지시 정보에 기초하여 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록을 결정하여, 제어 데이터 블록을 획득한다.
단계 3: 네트워크 기기가 제어 데이터 블록을 파싱하여, 제어 데이터 블록에 포함된 포트 매핑 관계를 획득한다.
포트 매핑 관계를 획득한 후, 네트워크 기기는 포트 매핑 관계를 저장할 수 있고, 인접한 기기의 기기 정보를 인식하지 않고 또한 전체 네트워크의 네트워크 토폴로지를 인식하지 않고, 포트 매핑 관계를 사용하여 패킷 포워딩 기능을 구현할 수 있어, 네트워크 기기의 포트 매핑 관계만 유지하면 된다. 이는 물리 계층의 네트워크 기기에 적용될 수 있다.
예를 들어, 패킷 송신을 위해 포트 매핑 관계를 사용하는 프로세스는 다음의 1 단계 및 단계 2를 포함할 수 있다.
단계 1: 네트워크 기기가 임의의 다운링크 포트를 통해 단말기로부터 패킷을 수신한다.
단말기는 사용자 측 장치일 수 있고, 단말기는 패킷을 생성할 수 있다. 단말기에 의해 생성된 패킷은 데이터 패킷이라고 할 수 있고, 서비스 데이터를 실어 전달할 수 있다. 단말기는 패킷을 전송할 수 있고, 네트워크 기기는 다운링크 포트를 통해 패킷을 수신할 수 있다.
네트워크 기기에 의해 수신되는 패킷은 단말기에 의해 네트워크 기기에 직접 전송된 패킷일 수 있음에 유의해야 한다. 예를 들어, 네트워크 기기는 액세스 계층의 네트워크 기기이다. 예를 들어, 네트워크 기기는 도 1의 제2 레벨 네트워크 기기이다. 이 경우, 단말기가 패킷을 전송한 후, 네트워크 기기의 다운링크 포트는 패킷을 수신할 수 있다. 또한, 네트워크 기기에 의해 수신되는 패킷은 대안으로 단말기에 의해 전송된 후, 다음 레벨 네트워크 기기에 의해 포워딩되는 패킷일 수 있다. 예를 들어, 네트워크 기기는 집성 계층의 네트워크 기기이다. 예를 들어, 네트워크 기기는 도 1의 제1 레벨 네트워크 기기이다. 이 경우, 단말기가 패킷을 전송한 후, 제2 레벨 네트워크 기기가 패킷을 수신하여 제1 레벨 네트워크 기기에 패킷을 포워딩한다. 그러면 제1 레벨 네트워크 기기의 다운링크 포트가 패킷을 수신한다.
단계 2: 네트워크 기기가 포트 매핑 관계를 조회하여, 다운링크 포트에 매핑된 업링크 포트를 획득한다.
패킷 수신 프로세스와 관련하여, 네트워크 기기의 다운링크 포트 각각은 네트워크 링크를 통해 다른 기기와 연결될 수 있고, 다운링크 포트는 다른 기기에 의해 전송되는 패킷을 수신할 수 있다. 예를 들어, 도 1에 도시된 구현 환경에서, 제2 레벨 네트워크 기기의 다운링크 포트는 단말기에 의해 전송되는 패킷을 수신할 수 있고, 제1 레벨 네트워크 기기의 다운링크 포트는 제2 레벨 네트워크 기기에 의해 전송되는 패킷을 수신할 수 있다.
매핑 관계를 조회하는 프로세스와 관련하여, 네트워크 기기는 패킷을 수신하는 다운링크 포트를 결정하고, 다운링크 포트를 색인으로 사용하여 포트 매핑 관계를 조회하여, 포트 매핑 관계로부터 다운링크 포트에 대응하는 업링크 포트를 획득할 수 있다.
단계 3: 네트워크 기기가 다운링크 포트에 매핑된 업링크 포트를 통해 중앙 장비에 패킷을 전송한다.
네트워크 토폴로지가 1 레벨(one-level) 네트워크 토폴로지인 경우, 패킷에 대해 네트워크 기기에 의해 업링크 포워딩이 수행된 후에 패킷은 중앙 장비에 직접 도착할 수 있다. 구체적으로, 패킷은 네트워크 기기의 업링크 포트와 중앙 장비의 다운링크 포트 사이의 네트워크 링크를 통과한 다음, 중앙 장비의 다운링크 포트에 도착한다.
네트워크 토폴로지가 다중 레벨 네트워크 토폴로지이면, 패킷에 대해 네트워크 기기에 의해 업링크 포워딩이 수행된 후, 패킷이 중앙 장비에 도착할 때까지 패킷은 계속해서 아래에서 위로 레벨별로 포워딩된다. 구체적으로, 패킷은 네트워크 기기의 업링크 포트와 이전 레벨 네트워크 기기의 다운링크 포트 사이의 네트워크 링크를 통과한 다음, 이전 레벨 네트워크 기기의 다운링크 포트에 도착한다. 그러면, 이전 레벨 네트워크 기기는 전술한 단계와 유사한 단계를 수행하고, 이전 레벨 네트워크 기기에 저장된 포트 매핑 관계를 조회하고, 대응하는 업링크 포트를 통해 패킷을 전송한다. 나머지는 패킷이 중앙 장비의 다운링크 포트에 포워딩될 때까지 유추에 의해 추론될 수 있다.
1505. 중앙 장비가 전술한 단계를 반복하여 분할을 통해 획득되는 복수의 트리 토폴로지를 획득한다.
트리 토폴로지(tree topology)는 계층적으로 배열된 네트워크 노드를 갖는 상향 트리와 유사한 형상의 네트워크 토폴로지이다. 트리 토폴로지에는 주로 루트 노드와 리프 노드의 두 가지 유형의 네트워크 노드가 포함된다. 트리 토폴로지에서 각각의 리프 노드와 루트 노드 사이의 경로는 유일하고, 네트워크상의 임의의 두 네트워크 노드 간에는 루프가 발생하지 않으며, 네트워크 노드는 관리하기 쉽다. 트리 토폴로지에는 네트워크 노드 확장이 편리하고 유연하며, 링크 경로의 발견이 비교적 편리한 등의 장점이 있다.
이 실시예에서, 중앙 장비는 단계 1501 내지 단계 1504를 반복하여 각각의 네트워크 기기에 대해 포트 매핑 관계를 연속적으로 확립하여, 도 4의 실시예 또는 도 10의 실시예에서 생성된 네트워크 토폴로지를 트리 토폴로지로 분할한다.
구체적으로, 네트워크 기기의 다운링크 포트는 업링크 포트에 유일하게 매핑되고, 포트 매핑 관계가 전달된다. 네트워크 기기가 포트 매핑 관계를 사용하여 패킷을 포워딩하는 경우, 임의의 패킷이 다운링크 포트에 도착한 후, 패킷은 복수의 업링크 포트를 통해 반복적으로 포워딩되는 대신 유일한 업링크 포트를 통해서만 포워딩된다. 이는 네트워크 기기에서 패킷의 내부 송신 경로의 유일성을 보장한다. 네트워크상의 각각의 네트워크 기기의 내부 송신 경로의 유일성에 기초하여, 네트워크 기기의 다운링크 포트는 단말기에 직접 또는 간접적으로 연결되고 네트워크 기기의 업링크 포트는 중앙 장비에 직접 또는 간접적으로 연결되므로, 단말기와 중앙 장비 사이의 경로는 유일하다. 따라서 중앙 장비의 각각의 다운링크 포트는 트리 토폴로지에서 루트 노드가 되고, 각각의 단말기는 트리 토폴로지에서 리프 노드가 된다. 이 경우, 비 트리 네트워크 토폴로지는 복수의 트리 토폴로지로 분할될 수 있다.
예를 들어, 도 12 및 도 18을 참조하면, 중앙 장비(A)는 도 12의 각각의 네트워크 기기에 대한 포트 매핑 관계를 확립하고, 포트 매핑 관계를 네트워크 기기에 전달하고, 네트워크 토폴로지를 도 18에 도시된 두 개의 트리 토폴로지로 분할한다. 중앙 장비(A)의 다운링크 포트 1은 아래에 트리 토폴로지를 가지고, 중앙 장비(A)의 다운링크 포트 3은 아래에 또 다른 트리 토폴로지를 갖는다. 다운링크 포트 1에 대응하는 트리 토폴로지가 예로 사용된다. 도 18의 상부 도면을 참조하면, 중앙 장비의 다운링크 포트 1은 루트 노드이고, 다운링크 포트 1의 리프 노드 그룹은 단말기 1, 단말기 2, 단말기 5, 단말기 7, 단말기 8, 단말기 11, 단말기 12, 단말기 14 및 단말기 15이다.
본 실시예에서 제공되는 방법에서, 포트 매핑 관계는 각각의 네트워크 기기에 대해 확립되고, 포트 매핑 관계가 네트워크 기기에 전달된다. 각각의 다운링크 포트는 포트 매핑 관계에서 유일한 업링크 포트에 대응하기 때문에, 네트워크 기기에서 패킷의 내부 송신 경로의 유일성이 보장될 수 있다. 또한, 각각의 네트워크 기기의 내부 송신 경로의 유일성은 단말기와 중앙 장비 간의 경로의 유일성을 보장할 수 있다. 이는 트리 토폴로지의 구성을 구현하고, 네트워크 토폴로지에서 발생하는 루프를 방지할 수 있으며, 루프에서 패킷의 순환 및 증식으로 인한 브로드캐스트 폭풍을 추가로 방지할 수 있으므로, 네트워크 토폴로지의 안정성을 보장할 수 있다.
또한, 중앙 장비는 각각의 네트워크 기기에 대한 포트 매핑 관계를 확립하고 네트워크 기기에 포트 매핑 관계를 전달한다. 네트워크 기기는 인접한 기기의 기기 정보를 인식하지 않고 또한 전체 네트워크의 네트워크 토폴로지를 인식 및 저장하지 않고 네트워크 기기의 포트 매핑 관계를 저장하는 것만으로 패킷 포워딩 기능을 구현할 수 있다. 이는 네트워크 기기가 계층 2 네트워크 프로토콜 또는 계층 3 네트워크 프로토콜을 식별할 수 있는 경우에만 네트워크 기기가 패킷을 포워딩할 수 있다는 제한을 극복하며, 물리 계층의 네트워크 기기에 적용할 수 있다. 물리 계층의 네트워크 기기가 패킷을 전달한다. 이는 네트워크 기기의 기능을 최대한 단순화하기 위한 요건을 충족하고, 네트워크 기기의 실행 전력 소비를 감소시킨다.
네트워크 기기에 의해 수행되는 패킷 다운링크 송신을 위한 프로세스는 도 4의 실시예 또는 도 11의 실시예와 유사하다는 것에 유의해야 한다. 프로세스가 도 2에 도시된 구현 환경에 적용되는 것이 예로 사용된다. 패킷 다운링크 송신을 위한 프로세스는 다음의 단계 1 내지 단계 6을 포함할 수 있다.
단계 1: 중앙 장비가 패킷을 생성하며, 여기서 패킷은 포트 지시 정보와 하나 이상의 데이터 블록을 포함하고, 하나 이상의 데이터 블록은 목적지 포트가 다운링크 포트인 하나 이상의 다운링크 데이터 블록을 포함하고, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
단계 2: 중앙 장비가 패킷을 네트워크 기기에 전송한다.
단계 3: 네트워크 기기가 패킷을 수신하고, 포트 지시 정보에 기초하여 패킷에서 목적지 포트가 다운링크 포트인 데이터 블록을 결정하여, 하나 이상의 다운링크 데이터 블록을 획득한다.
단계 4: 네트워크 기기가 패킷을 생성하며, 여기서 패킷은 단계 3에서 획득된 하나 이상의 다운링크 데이터 블록을 포함한다.
단계 5: 네트워크 기기가 다운링크 포트를 통해 패킷을 단말기에 전송한다.
단계 6: 단말기가 패킷을 수신하고 패킷으로부터 데이터를 획득한다.
프로세스는 도 1에 도시된 구현 환경에 적용되는 것을 예로 사용한다. 대킷 다운링크 송신을 위한 프로세스는 다음 단계 1 내지 단계 9를 포함할 수 있다.
단계 1: 중앙 장비가 패킷을 생성하며, 여기서 패킷은 포트 지시 정보와 제1 레벨 네트워크 기기에 전송될 하나 이상의 데이터 블록을 포함하고, 하나 이상의 데이터 블록은 목적지 포트가 다운링크 포트인 하나 이상의 다운링크 데이터 블록을 포함하고, 하나 이상의 다운링크 데이터 블록은 제2 레벨 네트워크 기기에 전송될 포트 지시 정보 및 단말기에 전송될 데이터를 실어 전달한다.
단계 2: 중앙 장비가 패킷을 제1 레벨 네트워크 기기에 전송한다.
단계 3: 제1 레벨 네트워크 기기가 패킷을 수신하고, 패킷의 포트 지시 정보에 기초하여 하나 이상의 데이터 블록에서 목적지 포트가 다운링크 포트인 데이터 블록을 결정하여, 하나 이상의 다운링크 데이터 블록을 획득한다.
단계 4: 제1 레벨 네트워크 기기가 패킷을 생성하며, 여기서 패킷은 단계 3에서 획득된 하나 이상의 다운링크 데이터 블록을 포함한다.
단계 5: 제1 레벨 네트워크 기기가 다운링크 포트를 통해 제2 레벨 네트워크 기기에 패킷을 전송한다.
단계 6: 제2 레벨 네트워크 기기가 패킷을 수신하고, 패킷의 포트 지시 정보에 기초하여, 패킷에서 목적지 포트가 다운링크 포트인 데이터 블록을 결정하여, 하나 이상의 다운링크 데이터 블록를 획득한다.
단계 7: 제2 레벨 네트워크 기기가 패킷을 생성하며, 여기서 패킷은 단계 6에서 획득된 하나 이상의 다운링크 데이터 블록을 포함하고, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
단계 8: 제2 레벨 네트워크 기기가 다운링크 포트를 통해 단말기에 패킷을 전송한다.
단계 9: 단말기가 패킷을 수신하고 패킷으로부터 데이터를 획득한다.
네트워크 토폴로지가 구축된 후, 네트워크 링크는 포트 고장, 네트워크 지터 또는 기타 요인으로 인해 연결 해제될 수 있다. 본 출원의 이 실시예에서, 네트워크 토폴로지를 동적으로 갱신하는 기능이 구현될 수 있다. 네트워크 링크가 연결 해제되는 경우, 네트워크 기기가 중앙 장비에 링크 상태를 보고할 수 있다. 중앙 장비는 전체 네트워크의 토폴로지를 제어하고, 네트워크 기기에 의해 보고되는 링크 상태에 기초하여 네트워크 기기의 포트 매핑 관계를 실시간으로 조정할 수 있으며, 네트워크 토폴로지를 재구성함으로써, 네트워크 토폴로지를 보호할 수 있다. 도 19의 실시예를 사용하여, 이하에서는 네트워크 토폴로지를 동적으로 갱신하는 구체적인 구현을 상세하게 설명한다.
도 19는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 방법의 흐름도이다. 이 네트워크 토폴로지 생성 방법의 상호작용 엔티티는 중앙 장비와 네트워크 기기를 포함한다. 이 네트워크 토폴로지 생성 방법은 다음 단계를 포함한다.
1901. 중앙 장비가 네트워크 기기에서 포트 고장이 발생한 것으로 결정한다.
포트 고장은, 포트가 "down" 상태에 있고, 네트워크 링크가 연결 해제되고, 네트워크 링크 지터, 송신 지연이 비교적 크고, 및 기타 비정상적인 상황을 포함할 수 있다. 네트워크 기기에 포트 고장이 발생하는 경우, 중앙 장비는 네트워크 기기에서 발생한 포트 고장을 검출하여, 네트워크 기기의 포트 매핑 관계를 재구성할 수 있다.
설명을 구분하기 위해, 네트워크 기기에서 고장이 발생한 임의의 포트를 제1 포트라고 하고, 고장이 발생하지 않은 모든 포트를 제2 포트라고 하는 것을 본 실시예에서의 설명을 예로 사용한다. 제1 포트는 업링크 포트 또는 다운링크 포트일 수 있다. 가능한 구현예에서 네트워크 기기의 제1 포트에서 포트 고장이 발생하는 경우, 중앙 장비는 다음의 단계 1 및 단계 2에서 포트 고장을 검출할 수 있다.
단계 1: 제1 포트에서 포트 고장이 발생한 후, 네트워크 기기는 제2 포트를 통해 중앙 장비에 통지 메시지를 전송한다.
네트워크 기기는 각각의 포트의 상태를 인식할 수 있다. 제1 포트에서 포트 고장이 발생한 경우, 네트워크 기기는 포트 고장를 인식하고 통지 메시지를 전송하는 프로시저를 수행할 수 있다.
통지 메시지는 제1 포트에서 고장이 발생했음을 지시하는 데 사용된다. 통지 메시지는 네트워크 기기의 제어 포트를 이용하여 생성될 수 있으며, 통지 메시지는 프로그램에서 링크 상태 변경 메시지에 기록될 수 있다. 통지 메시지의 내용과 관련하여, 통지 메시지는 제1 포트의 식별자를 실어 전달할 수 있고, 통지 메시지는 제1 포트의 식별자를 사용하여 제1 포트를 지시할 수 있다. 또한, 통지 메시지는 제1 포트에 연결된 네트워크 링크의 식별자를 실어 전달하여, 네트워크 링크의 식별자를 사용하여 연결 해제된 네트워크 링크를 지시할 수 있다. 통지 메시지는 네트워크 기기의 제2 포트를 통해 전송될 수 있다. 제2 포트는 제1 포트와 다르며, 제2 포트는 네트워크 기기에서 포트 고장이 발생하지 않는 포트이다.
가능한 구현예에서, 네트워크 기기는 본 출원에서 제공되는 패킷 인코딩 포맷을 사용하여 포트 지시 정보 및 제어 데이터 블록을 생성하고; 제어 데이터 블록에 통지 메시지를 추가하고; 포트 지시 정보 및 제어 데이터 블록을 캡슐화하여 패킷을 획득하고; 패킷을 중앙 장비에 전송하여, 통지 메시지를 전송할 수 있다. 네트워크 기기가 중앙 장비에 직접 연결된 네트워크 기기이면, 네트워크 기기가 패킷을 전송하는 방식은 도 4의 실시예와 유사하다. 네트워크 기기가 중앙 장비에 간접적으로 연결된 네트워크 기기이면, 네트워크 기기가 패킷을 전송하는 방식은 도 11의 실시예와 유사하다.
예시적인 시나리오에서, 도 20을 참조하면, 도 20에서의 네트워크 기기(D)를 예로 사용한다. 네트워크 기기(D)가 업링크 포트 0a의 연결 해제된 것을 인식하는 경우, 네트워크 기기(D)는 네트워크 기기(D)의 업링크 포트 0b를 통해 중앙 장비(A)에 통지 메시지를 전송한다. 통지 메시지는 경로 2를 통과한 다음 중앙 장비(A)에 도착한다. 도 20에서의 네트워크 기기(B)를 예로 사용한다. 네트워크 기기(B)가 다운링크 포트 1에서 고장이 발생했음을 인식하는 경우, 네트워크 기기(B)는 네트워크 기기(B)의 업링크 포트 0a를 통해 중앙 장비(A)에 통지 메시지를 전송할 수 있다. 통지 메시지는 경로 1을 통고한 다음 중앙 장비(A)에 도착한다.
단계 2: 중앙 장비가 네트워크 기기의 제2 포트로부터 통지 메시지를 수신한다.
중앙 장비는 다운링크 포트를 통해 제2 포트를 통해 네트워크 기기에 의해 전송된 통지 메시지를 수신할 수 있으며; 중앙 장비는 통지 메시지에 기초하여 네트워크 기기의 제1 포트에서 고장이 발생한 것으로 결정할 수 있다. 예를 들어, 중앙 장비는 통지 메시지를 파싱하여 제1 포트의 식별자를 획득하고, 제1 포트의 식별자에 기초하여 고장이 제1 포트에서 발생한 것으로 결정할 수 있다. 또한, 네트워크 기기의 제1 포트가 연결 해제된 것으로 결정한 후, 중앙 장비는 제1 포트로의 패킷 전송을 중지할 수 있다.
1902. 중앙 장비가 네트워크 기기의 포트 매핑 관계를 조회하여 제1 포트에 매핑된 하나 이상의 포트를 획득한다.
중앙 장비는 네트워크 기기의 미리 확립된 포트 매핑 관계를 결정하고, 제1 포트를 색인으로 사용하여 네트워크 기기의 포트 매핑 관계를 조회하고, 포트 매핑 관계로부터 제1 포트에 매핑된 하나 이상의 포트를 획득하여, 하나 이상의 포트에 매핑된 포트를 갱신할 수 있다. 예를 들어, 제1 포트가 업링크 포트이면, 원래 제1 포트에 매핑된 다운링크 포트는 제1 포트가 아닌 다른 업링크 포트로 매핑되도록 한다. 다른 예를 들어, 제1 포트가 다운링크 포트이면, 원래 제1 포트에 매핑된 업링크 포트는 제1 포트가 아닌 다른 다운링크 포트에 매핑되도록 한다. 예를 들어, 도 21을 참조하면, 제1 포트가 네트워크 기기(D)의 포트 0a인 것을 예로 사용한다. 포트 매핑 관계를 조회한 후, 중앙 장비는 네트워크 링크가 연결 해제되기 전에 포트 0a에 매핑된 다운링크 포트가 포트 1과 포트 2를 포함하는 것으로 결정할 수 있다.
1903. 중앙 장비가 포트 매핑 관계를 갱신하여 갱신된 포트 매핑 관계를 획득한다.
포트 매핑 관계를 갱신하는 구체적인 프로세스와 관련하여, 중앙 장비는 네트워크 기기의, 네트워크에 연결된 포트를 결정하여 제2 포트를 획득하고; 원래 제1 포트와 매핑 관계가 확립되어 있던 하나 이상의 포트가 제2 포트와 매핑 관계를 확립하도록 하여, 갱신된 포트 매핑 관계를 획득할 수 있다. 갱신된 포트 매핑 관계에서는, 원래 제1 포트에 매핑되어 있던 하나 이상의 포트가 네트워크 기기의 제2 포트에 매핑된다.
예를 들어, 포트 고장이 발생한 제1 포트는 업링크 포트이고, 제2 포트를 결정하는 프로세스는 다음 세 가지 구현예를 포함할 수 있다.
구현예 1: 중앙 장비가 통지 메시지의 근원지 포트, 즉 통지 메시지를 전송하기 위해 네트워크 기기에 의해 사용되는 업링크 포트를 결정하고; 통지 메시지의 근원지 포트를 제2 포트로 사용할 수 있다.
구현예 2: 중앙 장비가 포트 매핑 관계에서 모든 업링크 포트를 결정하고; 모든 업링크 포트에서 제1 포트를 제외한 업링크 포트를 제2 포트로 선택한다.
구현예 3: 중앙 장비가 포트 매핑 관계를 확립하기 전에 네트워크 기기의 업링크 포트를 대기 포트로 예약할 수 있다. 그러면, 이 단계에서, 중앙 장비는 네트워크 기기의 대기 포트를 결정하고, 대기 포트를 제2 포트로 사용할 수 있다.
예를 들어, 갱신 전의 포트 매핑 관계는 표 1에 나열되어 있고, 원래 업링크 포트 0a에 매핑된 다운링크 포트는 다운링크 포트 1 및 다운링크 포트 2라고 가정한다. 업링크 포트 0a에서 고장이 발생한 후, 중앙 장비는 다운링크 포트 1과 업링크 포트 0b 사이 및 업링크 포트 0b와 다운링크 포트 2 사이의 매핑 관계를 재확립할 수 있다. 이 경우 갱신된 포트 매핑 관계는 표 2에 나열된 것일 수 있다.
[표 2]
Figure 112020141102577-pct00002
네트워크 기기의 포트 매핑 관계 조정을 통해, 패킷 송신 동안, 고장이 발생한 네트워크 링크를 우회하여, 네트워크 토폴로지를 조정한다는 점에 유의해야 한다. 포트 매핑 관계가 갱신된 후, 원래 제1 포트를 통해 전송된 패킷은 제2 포트를 통해 전송되도록 변경된다. 따라서 제1 포트에 연결된 네트워크 링크를 우회하여 패킷이 전송된다. 또한, 제1 포트에 연결된 네트워크 기기는 제2 포트에 연결된 네트워크 기기와 다를 수 있으므로, 패킷이 도착하는 네트워크 기기도 변경된다.
예를 들어, 도 22를 참조하면, 고장이 발생하기 전에, 단말기 1과 단말기 2에 의해 수행된 업링크 전송을 위한 패킷은 제1 레벨 네트워크 기기(B)의 다운링크 포트 1과 제2 레벨 네트워크 기기(D)의 업링크 포트 0a 사이의 네트워크 링크를 통해 송신된다. 네트워크 링크가 연결 해제된 후, 네트워크 기기(D)의 포트 매핑 관계에서 업링크 포트 0a는 업링크 포트 0b로 갱신되고, 그런 다음 네트워크 토폴로지가 도 23의 왼쪽 도면에서 오른쪽 도면으로 갱신된다. 단말기 1과 단말기 2에 의해 수행되는 업링크 송신을 위한 패킷은 연결 해제된 네트워크 링크를 통과하지 않고, 업링크 송신을 위해, 제1 레벨 네트워크 기기(C)의 다운링크 포트 1과 제2 레벨 네트워크 기기(D)의 업링크 포트 0b 사이의 네트워크 링크를 통과한다.
1904. 중앙 장비가 패킷을 생성하고, 패킷을 네트워크 기기에 전송하며, 여기서 패킷은 포트 지시 정보와 하나 이상의 데이터 블록을 포함하고, 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 직시하는 데 사용되고, 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 제어 데이터 블록은 갱신된 포트 매핑 관계를 실어 전달한다.
중앙 장비는 갱신된 포트 매핑 관계를 패킷 내의 제어 데이터 블록에 추가하고, 패킷의 포트 지시 정보 내의 제어 포트 식별자를 유효한 식별자로 설정할 수 있다, 예를 들어, 포트 지시 정보의 제1 비트에 1을 추가할 수 있다.
1905. 네트워크 기기가 패킷을 수신하고, 포트 지시 정보에 기초하여, 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록을 결정하여, 제어 데이터 블록을 획득한다.
1906. 네트워크 기기는 제어 데이터 블록을 파싱하여 제어 데이터 블록에 시려 전달되는 갱신된 포트 매핑 관계를 획득한다.
갱신된 포트 매핑 관계를 획득한 후, 네트워크 기기는 갱신된 포트 매핑 관계를 저장한다, 예를 들어, 원래 저장된 포트 매핑 관계를 갱신된 포트 매핑 관계로 대체하여, 이후에 갱신된 포트 매핑 관계를 패킷 포워딩에 사용한다.
예를 들어, 도 21을 참조하면, 네트워크 링크가 연결 해제되기 전에 네트워크 기기(D)의 업링크 포트 0a가 다운링크 포트 1과 다운링크 포트 2에 매핑되어 있다고 가정한다. 업링크 포트 0a에 장애가 발생한 후, 다운링크 포트 1과 다운링크 포트 2에 매핑된 업링크 포트는 업링크 포트 0b로 갱신된다.
예를 들어, 패킷 포워딩에 갱신된 포트 매핑 관계를 사용하는 프로세스는 다음 단계 1 내지 단계 3을 포함할 수 있다.
단계 1: 네트워크 기기가 임의의 다운링크 포트를 통해 패킷을 수신한다.
단계 2: 네트워크 기기가 갱신된 포트 매핑 관계를 조회하여 다운링크 포트에 대응하는 제2 포트를 획득한다.
단계 3: 네트워크 기기가 제2 포트를 통해 패킷을 전송한다.
포트 매핑 관계가 갱신되기 때문에, 네트워크 기기가 갱신된 포트 매핑 관계를 조회한 후, 획득된 업링크 포트는 제1 포트에서 제2 포트로 변경되고, 그러면 네트워크 기기는 대신에 제2 포트를 통해 패킷을 전송한다.
본 실시예에서 제공되는 방법에 따르면, 네트워크 기기의 제1 포트에 고장이 발생한 후, 중앙 장비는 포트 매핑 관계를 갱신하고, 포트 매핑 관계에서 원래 제1 포트와 매핑 관계가 확립되어 있던 하나 이상의 포트가 제2 포트와 매핑 관계를 확립하도록 한다. 이러한 방식으로, 현재 네트워크 링크가 연결해제됨에 따라 네트워크 토폴로지를 적응적이고 동적으로 갱신하는 기능이 구현된다. 이는 네트워크 토폴로지의 견고성을 보장하여, 네트워크 토폴로지를 보호한다.
도 23은 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 장치의 개략 구성도이다. 네트워크 토폴로지 생성 장치는 수신 모듈(2301), 결정 모듈(2302) 및 전송 모듈(2303)을 포함한다.
수신 모듈(2301)은 단계 403에서의 패킷을 수신하는 프로세스를 수행하도록 구성된다.
결정 모듈(2302)은 단계 403에서의 제어 데이터 블록을 결정하는 프로세스를 수행하도록 구성된다.
전송 모듈(2303)은 단계 404에서의 기기 정보를 전송하는 프로세스를 수행하도록 구성된다.
가능한 구현예에서, 결정 모듈(2302)은 포트 지시 정보 내의 제어 포트 식별자를 결정하도록 구성된다.
가능한 구현예에서, 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
하나 이상의 다운링크 데이터 블록은 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
가능한 구현예에서, 결정 모듈(2302)은 하나 이상의 다운링크 데이터 블록을 결정하도록 구성된다.
가능한 구현에서, 네트워크 토폴로지 생성 장치는 단계 1204에서의 패킷을 생성하는 프로세스를 수행하도록 구성된 생성 모듈을 더 포함한다.
전송 모듈(2303)은 추가로, 단계 1204에서의 패킷을 전송하는 프로세스를 수행하도록 구성된다.
가능한 구현예에서, 수신 모듈(2301)은 단계 1203 또는 단계 1205에서의 패킷을 수신하는 프로세스를 수행하도록 구성된다.
가능한 구현예에서, 결정 모듈(2302)은,
다운링크 포트 식별자의 위치를 획득하도록 구성된 획득 서브모듈; 및
상기 위치에 대응하는 데이터 블록을 다운링크 데이터 블록으로서 결정하도록 구성된 결정 서브모듈을 포함한다.
가능한 구현예에서, 전송 모듈(2303)은,
단계 404에서의 패킷을 생성하는 프로세스를 수행하도록 구성된 생성 서브모듈; 및
단계 404에서의 패킷을 전송하는 프로세스를 수행하도록 구성된 전송 서브모듈을 포함한다.
단계 404에서 패킷을 전송하는 프로세스.
가능한 구현예에서, 전송 모듈(2303)은 단계 1204, 단계 1207 및 단계 1208에서의 패킷을 전송하는 프로세스를 수행하도록 구성된다.
수신 모듈(2301)은 전자 기기의 수신기로 구현될 수 있고, 전송 모듈(2303)은 전자 기기의 송신기로 구현될 수 있으며, 결정 모듈(2302)은 전자 기기의 프로세서로 구현될 수 있음에 유의해야한다.
도 24는 본 출원의 일 실시예에 따른 네트워크 토폴로지 생성 장치의 개략 구성도이다. 네트워크 토폴로지 생성 장치는 생성 모듈(2401), 전송 모듈(2402) 및 수신 모듈(2403)을 포함한다.
생성 모듈(2401)은 단계 401을 수행하도록 구성된다.
전송 모듈(2402)은 단계 402를 수행하도록 구성된다.
수신 모듈(2403)은 단계 405를 수행하도록 구성된다.
생성 모듈(2401)은 추가로, 단계 406을 수행하도록 구성된다.
가능한 구현예에서, 포트 지시 정보 내의 제어 포트 식별자는 유효한 식별자이다.
가능한 구현에서, 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
하나 이상의 다운링크 데이터 블록은 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
가능한 구현예에서, 생성 모듈(2401)은 단계 1201 및/또는 단계 1210을 수행하도록 구성된다.
가능한 구현예에서, 포트 지시 정보 네의 다운링크 포트 식별자는 유효한 식별자이다.
가능한 구현예에서, 포트 지시 정보 내의 모든 유효한 식별자에서 다운링크 포트 식별자의 위치는 하나 이상의 데이터 블록에서의 다운링크 데이터 블록의 위치에 대응한다.
생성 모듈(2401)은 전자 기기의 프로세서로 구현될 수 있고, 전송 모듈(2402)은 전자 기기의 송신기로 구현될 수 있으며, 수신 모듈(2403)은 전자 기기의 수신기로 구현될 수 있음에 유의해야 한다.
전술한 실시예에서 제공된 네트워크 토폴로지 생성 장치가 네트워크 토폴로지를 생성하는 경우, 전술한 기능 모듈의 분할은 단지 설명을 위한 예로서 사용된다는 점에 유의해야 한다. 실제 적용시에, 전술한 기능은 필요에 따라 구현을 위해 서로 다른 기능 모듈에 할당될 수 있다. 즉, 장치의 내부 구성은 위에서 설명한 기능의 전부 또는 일부를 구현하기 위해 서로 다른 기능 모듈로 분할된다. 또한, 전술한 실시예에서 제공되는 네트워크 토폴로지 생성 장치는 네트워크 토폴로지 생성 방법의 실시예와 동일한 개념에 기초한다. 구체적인 구현 프로세스에 대해서는 방법 실시예를 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
도 25는 본 출원의 일 실시예에 따른 전자 기기의 개략 구성도이다. 전자 기기(2500)는 네트워크 기기 및/또는 중앙 장비로서 제공될 수 있다. 도 25를 참조하면, 전자 기기(2500)는 프로세서(2501) 및 메모리(2502)를 포함하고, 송수신기(2503)를 더 포함할 수 있다. 메모리(2502)는 컴퓨터 프로그램을 저장하고, 프로세서(2501)는 메모리(2502)에 저장된 컴퓨터 프로그램을 실행하도록 구성된다. 전자 기기(2500)가 네트워크 기기로서 제공되는 경우, 컴퓨터 프로그램이 다음 실시예에서 네트워크 기기 측에 의해 수행되는 네트워크 토폴로지 생성 방법을 수행하는 데 사용된다. 전자 기기(2500)가 중앙 장비로서 제공되는 경우, 컴퓨터 프로그램은 다음 실시예에서 중앙 장비 측에 의해 수행되는 네트워크 토폴로지 생성 방법을 수행하는 데 사용된다.
메모리(2502)로는 랜덤 액세스 메모리(random-access memory, 이하 약칭하여 RAM), 판독 전용 메모리(Read-Only Memory, 이하 약칭하여 ROM), 플래시 메모리(flash memory), 하드 디스크 드라이브(Hard Disk Drive, 이하 약칭하여 HDD) 및 솔리드 스테이트 드라이브(Solid-State Drive, 이항 약칭하여 SSD)를 포함할 수 있다.
프로세서(2501)는 중앙 처리 장치(Central Processing Unit, 이하 CPU)일 수 있다.
송수신기(2503)는 네트워크 기기의 다운링크 포트 및/또는 업링크 포트일 수 있다. 업링크 포트는 이전 레벨 기기에 연결될 수 있다. 업링크 포트는 이전 레벨 기기에 의해 전송되는 패킷을 수신할 수 있고 다음 레벨 기기에 패킷을 전송할 수도 있다. 다운링크 포트는 다음 레벨 기기에 연결될 수 있다. 다운링크 포트는 다음 레벨 기기에 의해 전송되는 보낸 패킷을 수신할 수 있고 패킷을 다음 레벨 기기에 전송할 수도 있다.
전자 기기(2500)가 네트워크 기기로서 제공되는 경우, 프로세서(2501)는 송수신기(2503)를 제어하여 중앙 장비로부터 패킷을 수신하며, 여기서 패킷은 포트 지시 정보와 하나 이상의 데이터 블록을 포함하고, 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용된다.
프로세서(2501)는 포트 지시 정보에 기초하여 하나 이상의 데이터 블록 내의 제어 데이터 블록을 결정하고;
프로세서(2501)는 송수신기(2503)를 제어하여 제어 데이터 블록의 기기 정보 전송 명령에 따라 중앙 장비에 기기 정보를 전송하며, 여기서 기기 정보는 네트워크 토폴로지를 생성하기 위해 중앙 장비에 의해 사용된다.
가능한 구현예에서, 프로세서(2501)는 포트 지시 정보 내의 제어 포트 식별자를 결정하며, 여기서 제어 포트 식별자는 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용되며; 제어 포트 식별자가 유효한 식별자인 경우, 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록이 제어 데이터 블록이라고 결정한다.
가능한 구현예에서, 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
하나 이상의 다운링크 데이터 블록은 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달한다.
가능한 구현예에서, 프로세서(2501)는 포트 지시 정보에 기초하여 하나 이상의 데이터 블록 내의 하나 이상의 다운링크 데이터 블록을 결정하고; 하나 이상의 다운링크 데이터 블록에 기초하여 패킷을 생성하며, 여기서 패킷은 하나 이상의 다운링크 데이터 블록을 포함하고;
프로세서(2501)는 다운링크 포트를 통해 패킷을 전송하도록 송수신기(2503)를 제어한다.
가능한 구현예에서, 프로세서(2501)는 포트 지시 정보 내의 다운링크 포트 식별자를 결정하며, 여기서 다운링크 포트 식별자는 하나 이상의 데이터 블록이 목적지 포트가 다운링크 포트인 데이터 블록을 갖는지를 식별하는 데 사용되며;
프로세서(2501)는 다운링크 포트 식별자가 유효한 식별자인 경우, 하나 이상의 데이터 블록에서 목적지 포트가 다운링크 포트인 데이터 블록이 다운링크 데이터 블록인 것으로 결정한다.
가능한 구현예에서, 프로세서(2501)는 포트 지시 정보 내의 모든 유효한 식별자에서 다운링크 포트 식별자의 위치를 획득하고; 하나 이상의 데이터 블록에서, 그 위치에 대응하는 데이터 블록을 다운링크 데이터 블록으로서 결정한다.
가능한 구현예에서, 프로세서(2501)는 제어 포트를 사용하여 패킷을 생성하며, 여기서 패킷은 포트 지시 정보 및 제어 데이터 블록을 포함하고, 포트 지시 정보는 제어 데이터 블록의 근원지 포트를 지시하는 데 사용되며, 제어 데이터 블록은 기기 정보를 실어 전달하고;
프로세서(2501)는 패킷을 중앙 장비에 전송하도록 송수신기(2503)를 제어한다.
가능한 구현에서, 프로세서(2501)는 중앙 장비로부터 포트 매핑 관계를 수신하도록 송수신기(2503)를 제어하며, 여기서 포트 매핑 관계는 하나 이상의 다운링크 포트에 매핑된 업링크 포트를 지시하는 데 사용되며;
프로세서(2501)는 임의의 다운링크 포트를 통해 단말기로부터 패킷을 수신하도록 송수신기(2503)를 제어하고;
프로세서(2501)는 포트 매핑 관계를 조회하여 다운링크 포트에 매핑된 업링크 포트를 획득하고;
프로세서(2501)는 업링크 포트를 통해 중앙 장비에 패킷을 전송하도록 송수신기(2503)를 제어한다.
가능한 구현예에서, 제어 포트 식별자는 포트 지시 정보의 제1 미리 설정된 위치의 비트에 포함된다.
가능한 구현예에서, 제어 데이터 블록은 하나 이상의 데이터 블록의 제2 미리 설정된 위치에 있다.
가능한 구현예에서, 패킷의 데이터 블록은 복수의 주기에 따라 연속적으로 정렬되고, 복수의 주기에서 동일한 위치에 있는 데이터 블록의 목적지 포트는 동일하다.
가능한 구현예에서, 프로세서(2501)는 중앙 장비로부터 패킷을 수신하도록 송수신기(2503)를 제어하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고;
프로세서(2501)는 다운링크 포트를 통해 패킷을 수신한 후에 제어 데이터 블록의 포트 매핑 관계에 기초하여 포트 매핑 관계를 조회하여, 다운링크 포트에 대응하는 업링크 포트를 획득하고;
프로세서(2501)는 업링크 포트를 통해 패킷을 전송하도록 송수신기(2503)를 제어한다.
선택적으로, 각각의 다운링크 포트는 포트 매핑 관계에서 유일한 업링크 포트에 매핑된다.
가능한 구현예에서, 프로세서(2501)는 송수신기(2503)를 제어하여, 제1 포트가 네트워크에서 연결 해제된 후, 중앙 장비로부터 패킷을 수신하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 제1 포트는 하나 이상의 포트에 매핑되며;
프로세서(2501)는 포트 지시 정보에 기초하여 하나 이상의 데이터 블록 내의 제어 데이터 블록을 결정하고; 제어 데이터 블록을 파싱하여 갱신된 포트 매핑 관계를 획득하며, 여기서 갱신된 포트 매핑 관계는 제2 포트와 하나 이상의 포트 간의 매핑 관계를 포함하고, 제2 포트는 네트워크에 연결된다.
전자 기기(2500)가 중앙 장비로서 제공되는 경우, 프로세서(2501)는 패킷을 생성하며, 여기서 패킷은 포트 지시 정보와 하나 이상의 데이터 블록을 포함하고, 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용되고, 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 제어 데이터 블록은 기기 정보 전송 명령을 실어 전달하고;
프로세서(2501)는 패킷을 네트워크 기기에 전송하도록 송수신기(2503)를 제어하고;
프로세서(2501)는 네트워크 기기로부터 기기 정보를 수신하도록 송수신기(2503)를 제어하고;
프로세서(2501)는 기기 정보에 기초하여 네트워크 토폴로지를 생성한다.
가능한 구현예에서, 포트 지시 정보 내의 제어 포트 식별자는 유효한 식별자이고, 제어 포트 식별자는 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용된다.
가능한 구현예에서, 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
하나 이상의 다운링크 데이터 블록은 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 전달한다.
가능한 구현예에서, 포트 지시 정보 내의 다운링크 포트 식별자는 유효한 식별자이고, 다운링크 포트 식별자는 하나 이상의 데이터 블록이 다운링크 데이터 블록을 갖는지를 식별하는 데 사용된다.
가능한 구현예에서, 포트 지시 정보 내의 모든 유효한 식별자에서의 다운링크 포트 식별자의 위치는 하나 이상의 데이터 블록에서의 다운링크 데이터 블록의 위치에 대응한다.
가능한 구현예에서, 프로세서(2501)는 네트워크 토폴로지에 조회하여 네트워크 기기의 하나 이상의 업링크 포트 및 하나 이상의 다운링크 포트를 획득하도록 송수신기(2503)를 제어하고;
프로세서(2501)는 각각의 다운링크 포트에 대해 하나 이상의 업링크 포트로부터 하나의 업링크 포트를 선택하고;
프로세서(2501)는 각각의 다운링크 포트에 대응하는 업링크 포트에 기초하여 네트워크 기기에 대한 포트 매핑 관계를 확립하고;
프로세서(2501)는 송수신기(2503)를 제어하여 포트 매핑 관계를 네트워크 기기에 전송한다.
가능한 구현예에서, 프로세서(2501)는 포트 매핑 관계에 기초하여 패킷을 생성하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 제어 데이터 블록은 포트 매핑 관계를 실어 전달하고;
프로세서(2501)는 패킷을 네트워크 기기에 전송하도록 송수신기(2503)를 제어한다.
가능한 구현예에서, 제어 포트 식별자는 포트 지시 정보의 제1 미리 설정된 위치의 비트에 실려 전달된다.
가능한 구현예에서, 제어 데이터 블록은 하나 이상의 데이터 블록에서의 제2 미리 설정된 위치에 있다.
가능한 구현예에서, 패킷의 데이터 블록은 복수의 주기에 따라 연속적으로 정렬되고, 복수의 주기에서 동일한 위치에 있는 데이터 블록의 목적지 포트는 동일하다.
가능한 구현예에서, 프로세서(2501)는 네트워크 기기의 제1 포트가 네트워크로부터 연결 해제되는 경우, 네트워크 기기의 포트 매핑 관계를 조회하여, 제1 포트에 매핑된 하나 이상의 포트를 획득하고;
프로세서(2501)는 포트 매핑 관계를 갱신하여 갱신된 매핑 관계를 획득하며, 여기서 갱신된 포트 매핑 관계에서의 하나 이상의 포트는 네트워크 기기의 제2 포트에 매핑되고, 제2 포트는 네트워크에 연결된다.
가능한 구현예에서, 프로세서(2501)는 갱신된 포트 매핑 관계에 기초하여 패킷을 생성하며, 여기서 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 하나 이상의 데이터 블록 내의 제어 데이터 블록은 갱신된 포트 매핑 관계를 실어 전달하고;
프로세서(2501)는 패킷을 네트워크 기기에 전송하도록 송수신기(2503)를 제어한다.
가능한 구현예에서, 프로세서(2501)는 제2 포트로부터 통지 메시지를 수신하도록 송수신기(2503)를 제어하며, 여기서 통지 메시지는 제1 포트가 네트워크로부터 연결 해제되었음을 지시하는 데 사용된다.
예로서 사용되는 실시예는 컴퓨터로 판독 가능한 저장 매체, 예를 들어 명령어를 포함하는 메모리를 더 제공한다. 명령어는 네트워크 기기의 프로세서 및/또는 중앙 장비의 프로세서에 의해 실행되어, 전술한 실시예에서 네트워크 토폴로지 생성 방법을 완료할 수 있다. 예를 들어, 컴퓨터로 판독 가능한 저장 매체는 판독 전용 메모리(Read-Only Memory, 이하 약칭하여 ROM), 랜덤 액세스 메모리(random-access memory, 이하 약칭하여 RAM), CD-ROM, 자기 테이프, 플로피 디스크 또는 광학 데이터 저장 기기일 수 있다.
전술한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 실시예를 구현하기 위해 소프트웨어가 사용될 때, 실시예는 완전히 또는 부분적으로 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 프로그램 명령어를 포함한다. 컴퓨터 프로그램 명령어가 컴퓨터에 로드되어 실행될 때, 본 출원의 실시예에 따른 프로시저 또는 기능이 전부 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령어는 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있거나, 컴퓨터로 판독 가능한 저장 매체로부터 다른 컴퓨터로 판독 가능한 저장 매체로 송신될 수 있다. 예를 들어, 컴퓨터 프로그램 명령어은 웹 사이트, 컴퓨터, 서버 또는 데이터 센터에서 유선 또는 무선 방식으로 다른 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로 송신될 수 있다. 컴퓨터로 판독 가능한 저장 매체는 컴퓨터 또는 하나 이상의 사용 가능한 매체를 통합하는 서버 또는 데이터 센터와 같은 데이터 저장 장치에 의해 액세스 가능한 임의의 사용 가능한 매체일 수 있다. 사용 가능한 매체는 자기 매체(예: 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예: 디지털 비디오 디스크(digital video disc, DVD)), 반도체 매체(예: 솔리드 스테이트 드라이브) 등일 수 있다.
본 출원에서 "및/또는"이라는 용어는 연관된 객체를 설명하기 위한 연관 관계만을 기술하고 세 가지의 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 세 가지 경우: A만 존재하는 경우, A와 B가 모두 존재하는 경우, B만 존재하는 경우를 나타낼 수 있다. 또한, 본 출원에서 문자 "/"는 일반적으로 관련 객체 간의 "또는(or)" 관계를 나타낸다. 이상의 설명은 단지 본 출원의 선택적 실시예일 뿐, 본 출원을 한정하려는 의도는 아니다. 본 출원에 개시된 기술적 범위 내에서 당업자에 의해 용이하게 파악되는 임의의 변형 또는 대체는 본 출원의 보호 범위 내에 속한다.

Claims (24)

  1. 네트워크 토폴로지 생성 방법으로서,
    중앙 장비로부터 패킷을 수신하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용됨 -;
    상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하는 단계; 및
    상기 제어 데이터 블록에서의 기기 정보 전송 명령에 따라 상기 중앙 장비에 기기 정보를 전송하는 단계 - 상기 기기 정보는 네트워크 토폴로지를 생성하기 위해 상기 중앙 장비에 의해 사용됨 -
    를 포함하는 네트워크 토폴로지 생성 방법.
  2. 제1항에 있어서,
    상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하는 단계는,
    상기 포트 지시 정보에서 제어 포트 식별자를 결정하는 단계 - 상기 제어 포트 식별자는 상기 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용됨 -; 및
    상기 제어 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록을 상기 제어 데이터 블록인 것으로 결정하는 단계 - 상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시함 -
    를 포함하는, 네트워크 토폴로지 생성 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
    상기 하나 이상의 다운링크 데이터 블록은 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 또는 상기 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달하는, 네트워크 토폴로지 생성 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 네트워크 토폴로지 생성 방법은,
    상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 상기 하나 이상의 다운링크 데이터 블록을 결정하는 단계;
    상기 하나 이상의 다운링크 데이터 블록에 기초하여 패킷을 생성하는 단계 - 상기 패킷은 상기 하나 이상의 다운링크 데이터 블록을 포함함 -; 및
    다운링크 포트를 통해 상기 패킷을 전송하는 단계를 더 포함하는 네트워크 토폴로지 생성 방법.
  5. 제4항에 있어서,
    상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 상기 하나 이상의 다운링크 데이터 블록을 결정하는 단계는,
    상기 포트 지시 정보에서 다운링크 포트 식별자를 결정하는 단계 - 상기 다운링크 포트 식별자는 상기 하나 이상의 데이터 블록이 다운링크 데이터 블록을 갖는지를 식별하는 데 사용됨 -; 및
    상기 다운링크 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 상기 다운링크 포트인 데이터 블록이 상기 다운링크 데이터 블록인 것으로 결정하는 단계 - 상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시함 -
    를 포함하는, 네트워크 토폴로지 생성 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 데이터 블록에서 목적지 포트가 상기 다운링크 포트인 데이터 블록이 상기 다운링크 데이터 블록인 것으로 결정하는 단계는,
    상기 포트 지시 정보 내의 모든 유효한 식별자에서 상기 다운링크 포트 식별자의 위치를 획득하는 단계; 및
    상기 하나 이상의 데이터 블록에서, 상기 위치에 대응하는 데이터 블록을 상기 다운링크 데이터 블록으로 결정하는 단계를 포함하는, 네트워크 토폴로지 생성 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 중앙 장비에 기기 정보를 전송하는 단계는,
    제어 포트를 사용하여 패킷을 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 제어 데이터 블록을 포함하고, 상기 포트 지시 정보는 상기 제어 데이터 블록의 근원지 포트를 지시하는 데 사용되며, 상기 제어 데이터 블록은 상기 기기 정보를 실어 전달함 -; 및
    상기 패킷을 상기 중앙 장비에 전송하는 단계를 포함하는, 네트워크 토폴로지 생성 방법.
  8. 네트워크 토폴로지 생성 방법으로서,
    패킷 생성하는 단계 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용되며, 상기 하나 이상의 데이터 블록은 제어 데이터 블록을 포함하고, 상기 제어 데이터 블록은 기기 정보 전송 명령을 실어 전달함 -;
    상기 패킷을 네트워크 기기에 전송하는 단계;
    상기 네트워크 기기로부터 기기 정보를 수신하는 단계; 및
    상기 기기 정보를 기초하여 네트워크 토폴로지를 생성하는 단계
    를 포함하고,
    상기 포트 지시 정보의 제어 포트 식별자는 유효한 식별자이고,
    상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시하며,
    상기 제어 포트 식별자는 상기 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용되는, 네트워크 토폴로지 생성 방법.
  9. 제8항에 있어서,
    상기 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
    상기 하나 이상의 다운링크 데이터 블록은 상기 네트워크 기기의 다음 레벨 네트워크 기기에 전송될 상기 포트 지시 정보 및 상기 제어 데이터 블록을 실어 전달하거나, 상기 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달하는, 네트워크 토폴로지 생성 방법.
  10. 제9항에 있어서,
    상기 포트 지시 정보의 다운링크 포트 식별자는 유효한 식별자이고,
    상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시하며,
    상기 다운링크 포트 식별자는 상기 하나 이상의 데이터 블록이 다운링크 데이터 블록을 갖는지를 식별하는 데 사용되는, 네트워크 토폴로지 생성 방법.
  11. 제10항에 있어서,
    상기 포트 지시 정보의 모든 유효한 식별자에서의 상기 다운링크 포트 식별자의 위치는 상기 하나 이상의 데이터 블록에서의 상기 다운링크 데이터 블록의 위치에 대응하는, 네트워크 토폴로지 생성 방법.
  12. 네트워크 토폴로지 생성 장치로서,
    중앙 장비로부터 패킷을 수신하도록 구성된 수신 모듈 - 상기 패킷은 포트 지시 정보 및 하나 이상의 데이터 블록을 포함하고, 상기 포트 지시 정보는 각각의 데이터 블록의 목적지 포트를 지시하는 데 사용됨 -;
    상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 제어 데이터 블록을 결정하도록 구성된 결정 모듈; 및
    상기 제어 데이터 블록의 기기 정보 전송 명령에 따라 상기 중앙 장비에 기기 정보를 전송하도록 구성된 전송 모듈 - 상기 기기 정보는 네트워크 토폴로지를 생성하기 위해 상기 중앙 장비에 의해 사용됨 -
    을 포함하는 네트워크 토폴로지 생성 장치.
  13. 제12항에 있어서,
    상기 결정 모듈은,
    상기 포트 지시 정보에서 제어 포트 식별자를 결정하고 - 상기 제어 포트 식별자는 상기 하나 이상의 데이터 블록이 제어 데이터 블록을 갖는지를 식별하는 데 사용됨 -; 그리고
    상기 제어 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 제어 포트인 데이터 블록을 상기 제어 데이터 블록인 것으로 결정하도록 구성되며,
    상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시하는,
    네트워크 토폴로지 생성 장치.
  14. 제12항 또는 제13항에 있어서,
    상기 하나 이상의 데이터 블록은 하나 이상의 다운링크 데이터 블록을 포함하고;
    상기 하나 이상의 다운링크 데이터 블록은 다음 레벨 네트워크 기기에 전송될 포트 지시 정보 및 제어 데이터 블록을 실어 전달하거나, 또는 상기 하나 이상의 다운링크 데이터 블록은 단말기에 전송될 데이터를 실어 전달하는, 네트워크 토폴로지 생성 장치.
  15. 제14항에 있어서,
    상기 네트워크 토폴로지 생성 장치는,
    상기 결정 모듈이 상기 포트 지시 정보에 기초하여 상기 하나 이상의 데이터 블록에서 상기 하나 이상의 다운링크 데이터 블록을 결정하도록 구성되고;
    상기 하나 이상의 다운링크 데이터 블록에 기초하여 패킷을 생성하도록 구성된 생성 모듈을 더 포함하고, 상기 패킷은 상기 하나 이상의 다운링크 데이터 블록을 포함하며;
    상기 전송 모듈이 다운링크 포트를 통해 상기 패킷을 전송하도록 구성되는, 네트워크 토폴로지 생성 장치.
  16. 제15항에 있어서,
    상기 결정 모듈은,
    상기 포트 지시 정보에서 다운링크 포트 식별자를 결정하고 - 상기 다운링크 포트 식별자는 상기 하나 이상의 데이터 블록이 다운링크 데이터 블록을 갖는지를 식별하는 데 사용됨 -;
    상기 다운링크 포트 식별자가 유효한 식별자인 경우, 상기 하나 이상의 데이터 블록에서 목적지 포트가 상기 다운링크 포트인 데이터 블록이 상기 다운링크 데이터 블록인 것으로 결정하도록 구성되며,
    상기 유효한 식별자는, 하나 이상의 데이터 블록이 대응하는 포트가 목적지 포트인 데이터 블록을 가지고 있음을 지시하는,
    네트워크 토폴로지 생성 장치.
  17. 제16항에 있어서,
    상기 결정 모듈은,
    상기 포트 지시 정보 내의 모든 유효한 식별자에서 상기 다운링크 포트 식별자의 위치를 획득하도록 구성된 획득 서브모듈; 및
    상기 하나 이상의 데이터 블록에서, 상기 위치에 대응하는 데이터 블록을 상기 다운링크 데이터 블록으로 결정하도록 구성된 결정 서브모듈을 포함하는, 네트워크 토폴로지 생성 장치.
  18. 제12항 또는 제13항에 있어서,
    상기 전송 모듈은,
    제어 포트를 사용하여 패킷을 생성하도록 구성된 생성 서브모듈 - 상기 패킷은 포트 지시 정보 및 제어 데이터 블록을 포함하고, 상기 포트 지시 정보는 상기 제어 데이터 블록의 근원지 포트를 지시하는 데 사용되며, 상기 제어 데이터 블록은 상기 기기 정보를 실어 전달함 -; 및
    상기 패킷을 상기 중앙 장비에 전송하도록 구성된 전송 서브모듈을 포함하는, 네트워크 토폴로지 생성 장치.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020207037435A 2018-05-28 2019-05-23 네트워크 토폴로지 생성 방법 및 장치 KR102468625B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810525425.2 2018-05-28
CN201810525425.2A CN110545194B (zh) 2018-05-28 2018-05-28 网络拓扑的生成方法及装置
PCT/CN2019/088194 WO2019228251A1 (zh) 2018-05-28 2019-05-23 网络拓扑的生成方法及装置

Publications (2)

Publication Number Publication Date
KR20210010586A KR20210010586A (ko) 2021-01-27
KR102468625B1 true KR102468625B1 (ko) 2022-11-17

Family

ID=68696620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207037435A KR102468625B1 (ko) 2018-05-28 2019-05-23 네트워크 토폴로지 생성 방법 및 장치

Country Status (5)

Country Link
EP (1) EP3817286B1 (ko)
JP (1) JP7144539B2 (ko)
KR (1) KR102468625B1 (ko)
CN (1) CN110545194B (ko)
WO (1) WO2019228251A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751697B (zh) 2019-10-31 2023-11-21 华为技术有限公司 网络拓扑发现方法及节点设备
CN111464450B (zh) * 2020-03-27 2022-03-25 杭州海康威视数字技术股份有限公司 网络拓扑结构的生成方法及装置
CN113472562B (zh) * 2020-03-31 2023-09-01 华为技术有限公司 一种设备管理方法、装置及计算机系统
CN113872868B (zh) * 2020-06-30 2022-11-25 华为技术有限公司 通知消息传输方法、装置及系统、存储介质
CN112104451B (zh) * 2020-11-20 2021-02-09 武汉绿色网络信息服务有限责任公司 一种数据包传输端口的刷新方法和装置
CN113259976B (zh) * 2021-06-16 2021-09-24 浩鲸云计算科技股份有限公司 一种基于多数据融合的5g基站网络路径还原的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341330A (zh) * 2016-08-30 2017-01-18 广州西麦科技股份有限公司 一种sdn控制器的拓扑发现方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222840B1 (en) * 1996-12-30 2001-04-24 Compaq Computer Corporation Method and system for performing concurrent read and write cycles in network switch
KR100646478B1 (ko) * 2004-06-21 2006-11-15 에스케이 텔레콤주식회사 댁내 기기와 사용자 단말간의 메시지 송수신 서비스방법
CN101064631A (zh) * 2006-04-25 2007-10-31 华为技术有限公司 拓扑结构扫描方法和扫描系统
CN101183924B (zh) * 2007-12-19 2010-09-29 华为技术有限公司 用户数据报协议复用和复用协商的方法及装置
CN103368856A (zh) * 2013-07-10 2013-10-23 杭州华三通信技术有限公司 一种拓扑管理方法和设备
JP2016181819A (ja) * 2015-03-24 2016-10-13 富士通株式会社 ネットワークの制御装置及び制御方法、並びに、ネットワークスイッチ
CN105959150B (zh) * 2016-06-23 2019-10-18 武汉丰天鼎业信息网络有限公司 自动发现操作管理adoa系统统一网络管理平台的实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341330A (zh) * 2016-08-30 2017-01-18 广州西麦科技股份有限公司 一种sdn控制器的拓扑发现方法及系统

Also Published As

Publication number Publication date
JP7144539B2 (ja) 2022-09-29
CN110545194B (zh) 2021-06-01
EP3817286A1 (en) 2021-05-05
EP3817286B1 (en) 2024-01-24
WO2019228251A1 (zh) 2019-12-05
JP2021526331A (ja) 2021-09-30
EP3817286A4 (en) 2021-05-05
KR20210010586A (ko) 2021-01-27
CN110545194A (zh) 2019-12-06

Similar Documents

Publication Publication Date Title
KR102468625B1 (ko) 네트워크 토폴로지 생성 방법 및 장치
US7619987B2 (en) Node device
JP5334001B2 (ja) 通信システムおよびノード
JP4031500B2 (ja) ノード冗長方法、インタフェースカード、インタフェースデバイス、ノード装置およびパケットリングネットワークシステム
US8672566B2 (en) Node apparatus and communication method
US10404571B2 (en) Communication among network controllers
Jain et al. Viro: A scalable, robust and namespace independent virtual id routing for future networks
JP2003526277A (ja) デュアル・モードによる仮想ネットワーク・アドレス指定方式
CN111147372B (zh) 下行报文发送、转发方法和装置
US20150319084A1 (en) Routing messages in a computer network using deterministic and probalistic source routes
US20060023726A1 (en) Multifabric zone device import and export
CN103220215B (zh) TRILL网络中FCoE报文的转发方法和装置
CN107615721B (zh) 传输软件定义网络-逻辑链路聚合成员信令的系统和方法
CN101674229B (zh) 一种链路聚合组信息管理的方法和网络节点
CN114024969B (zh) 一种负载均衡方法、装置和系统
US20160344607A1 (en) Transport Software Defined Networking (SDN) - Zero Configuration Adjacency via Packet Snooping
CN108199986B (zh) 一种数据传输方法、堆叠设备及堆叠系统
US8934492B1 (en) Network systems and methods for efficiently dropping packets carried by virtual circuits
WO2022012145A1 (zh) 一种负载均衡方法、装置和系统
CN101582848A (zh) 一种弹性分组环跨环保护方法和系统
JP6244185B2 (ja) ネットワークシステムおよび中継装置
JP2013198077A (ja) ネットワーク及びブリッジ
CN113114494A (zh) 一种基于sdn的物联网异构网络通信设备及数据传递算法
CN102971990B (zh) 一种生成隧道转发表项的方法和网络设备
CN105554182B (zh) 信息处理方法及电子设备

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