KR100503423B1 - Memory mapping apparatus in multiple spanning tree protocol and method of the same - Google Patents
Memory mapping apparatus in multiple spanning tree protocol and method of the same Download PDFInfo
- Publication number
- KR100503423B1 KR100503423B1 KR10-2003-0046117A KR20030046117A KR100503423B1 KR 100503423 B1 KR100503423 B1 KR 100503423B1 KR 20030046117 A KR20030046117 A KR 20030046117A KR 100503423 B1 KR100503423 B1 KR 100503423B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- block
- bits
- memory
- vlan
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
MSTP에서의 메모리 맵핑 장치 및 방법이 개시된다. 메모리는 VALN 식별정보에 대응하는 정보를 저장한다. 메모리관리부는 각 블록의 비트 개수의 총합이 MST 인스턴스가 수용 가능한 최대 VLAN 식별정보 개수 이상이 되도록 메모리에 블록들을 배열한다. 연산부는 정수로 표현된 VLAN 식별정보와 일대일 대응되는 비트의 위치를 비트의 개수를 기초로 산출한다. 맵핑부는 산출된 비트위치에 해당하는 비트를 소정의 로직상태로 설정한다. MSTP의 각 인스턴스와 VLAN ID를 비트맵을 이용하여 맵핑함으로써, VLAN ID를 저장하기 위하여 필요한 메모리공간이 종래기술에서 요구되는 메모리공간보다 절약된다.A memory mapping apparatus and method in MSTP are disclosed. The memory stores information corresponding to the VALN identification information. The memory manager arranges the blocks in the memory such that the sum of the number of bits of each block is equal to or greater than the maximum number of VLAN identifications that the MST instance can accommodate. The calculating unit calculates the position of the bit corresponding to the VLAN identification information expressed as an integer one-to-one based on the number of bits. The mapping unit sets the bit corresponding to the calculated bit position to a predetermined logic state. By mapping each instance of MSTP and VLAN ID using a bitmap, the memory space required to store the VLAN ID is saved than the memory space required in the prior art.
Description
본 발명은 MSTP(Mutilple Spanning Tree Protocol) 에서의 메모리 맵핑 장치 및 방법에 관한 것으로, 보다 상세하게는 MSTP의 인스턴스와 VLAN ID의 매핑관계에 관한 메모리 맵핑 장치 및 방법에 관한 것이다.The present invention relates to a memory mapping apparatus and method in MTP (Mutilple Spanning Tree Protocol), and more particularly, to a memory mapping apparatus and method relating to mapping relationship between an instance of MSTP and VLAN ID.
MSTP는 스패닝 트리 프로토콜의 하나로써 일정 영역내의 브리지 망 토폴로지(topology)를 기반으로 주어진 VLAN에 대하여 루프 없는 경로를 제공한다. IEEE 802.1S 에 따르면 MSTP의 최대 인스턴스 ID는 64개까지 지원될 수 있으며, 각 인스턴스마다 VLAN ID는 4096개까지 설정이 가능하다. MSTP is a spanning tree protocol that provides a loopless path for a given VLAN based on a bridge network topology within a certain area. According to IEEE 802.1S, up to 64 instance IDs of MSTP can be supported, and up to 4096 VLAN IDs can be set for each instance.
종래의 MSTP를 지원하는 시스템에서 각 인스턴스와 VLAN ID 맵핑을 위해서는 최소 2(VLAN ID) * 4096(최대 VALN ID 개수) * 64(최대 MSTP 인스턴스 개수) = 524,208byte 의 메모리 공간이 필요하다. 실제 MSTP에는 인스턴스와 VLAN ID 맵핑테이블 외에 관리되어야 하는 많은 자료구조가 있다. 실제 이와같은 메모리 사용 문제로 인해 종래의 MSTP시스템 장비들의 대부분은 64개의 인스턴스 중 16개만을 지원한다.In the conventional MSTP supporting system, at least 2 (VLAN ID) * 4096 (maximum number of VALN IDs) * 64 (maximum number of MSTP instances) = 524,208 bytes of memory space are required for VLAN ID mapping with each instance. In fact, MSTP has many data structures that need to be managed in addition to the instance and VLAN ID mapping tables. In fact, due to this memory usage problem, most of the conventional MSTP system equipment supports only 16 out of 64 instances.
본 발명이 이루고자 하는 기술적 과제는 MSTP에서의 각 인스턴스와 VLAN ID의 매핑테이블을 위한 메모리를 효율적으로 절약하기 위한 메모리 맵핑장치 및 방법을 제공하는 데 있다.An object of the present invention is to provide a memory mapping apparatus and method for efficiently saving memory for the mapping table of each instance and VLAN ID in MSTP.
본 발명이 이루고자 하는 다른 기술적 과제는 MSTP에서의 각 인스턴스와 VLAN ID의 매핑테이블을 위한 메모리를 효율적으로 절약하기 위한 메모리 맵핑방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another technical problem to be achieved by the present invention is to provide a computer-readable recording medium having recorded thereon a program for executing a memory mapping method on a computer to efficiently save memory for each instance and VLAN ID mapping table in MSTP. There is.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 MSTP에서의 메모리 맵핑 장치의 일 실시예는, VALN 식별정보에 대응하는 정보를 저장하는 메모리; 각 블록의 비트 개수의 총합이 MST 인스턴스가 수용 가능한 최대 VLAN 식별정보 개수 이상이 되도록 상기 메모리에 상기 블록들을 배열하는 메모리관리부; 정수로 표현된 VLAN 식별정보와 일대일 대응되는 비트의 위치를 상기 비트의 개수를 기초로 산출하는 연산부; 및 상기 산출된 비트위치에 해당하는 비트를 소정의 로직상태로 설정하는 맵핑부;를 갖는다.In order to achieve the above technical problem, an embodiment of the memory mapping apparatus in the MSTP according to the present invention, a memory for storing information corresponding to the VALN identification information; A memory management unit for arranging the blocks in the memory such that the sum of the number of bits of each block is equal to or greater than the maximum number of VLAN identifications that the MST instance can accommodate; An operation unit calculating a position of bits corresponding to one-to-one correspondence with VLAN identification information expressed as an integer based on the number of bits; And a mapping unit which sets a bit corresponding to the calculated bit position to a predetermined logic state.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 MSTP에서의 메모리 맵핑 장치의 다른 실시예는, 소정 개수의 비트를 포함하는 복수의 블록이 순차적으로 배열되어 있는 메모리; 상기 메모리의 블록에 대해 첫 번째 블록부터 마지막 블록까지 순차적으로 검색하고 각 블록의 비트에 대해 첫 번째 비트부터 마지막 비트까지 순차적을 검색하여 소정의 로직상태로 설정된 비트의 위치를 독출하는 비트검색부; 및 상기 비트검색부에 의해 독출된 블록의 위치 및 비트의 위치를 기초로 정수로 표현되는 VALN ID를 산출하는 식별정보산출부;를 갖는다.Another embodiment of the memory mapping apparatus in the MSTP according to the present invention for achieving the above technical problem is a memory in which a plurality of blocks including a predetermined number of bits are sequentially arranged; Bit search unit for sequentially searching the first block to the last block for the block of the memory, and sequentially searched from the first bit to the last bit for the bit of each block to read the position of the bit set to a predetermined logic state ; And an identification information calculation unit for calculating a VALN ID expressed as an integer based on the position of the block read by the bit search unit and the position of the bit.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 MSTP에서의 메모리 맵핑 방법의 일 실시예는, 한 블록에 포함되는 비트 개수를 결정하고, 각 블록의 비트 개수의 총합이 MST 인스턴스가 수용 가능한 최대 VLAN 식별정보 개수이상이 되도록 블록 개수를 결정하여 블록을 순차적으로 배열하는 단계; 정수값으로 표현되는 VLAN 식별정보를 입력받는 단계; 상기 입력받은 VLAN 식별정보와 일대일 대응되는 비트의 위치를 상기 결정된 비트의 개수를 기초로 산출하는 단계; 및 상기 산출된 비트를 소정의 로직상태로 설정하는 단계;를 갖는다.In order to achieve the above technical problem, an embodiment of the memory mapping method in the MSTP according to the present invention determines the number of bits included in one block, and the sum of the number of bits in each block is the maximum that the MST instance can accommodate. Arranging blocks sequentially by determining the number of blocks to be equal to or greater than the number of VLAN identification information; Receiving VLAN identification information expressed as an integer value; Calculating a location of the bit corresponding to the received VLAN identification information based on the determined number of bits; And setting the calculated bit to a predetermined logic state.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 MSTP에서의 메모리 맵핑 방법의 다른 실시예는, 소정 개수의 비트를 포함하는 복수의 블록이 순차적으로 배열된 메모리에서, 블록에 대해 첫 번째 블록부터 마지막 블록까지 순차적으로 검색하고, 각 블록의 비트에 대해 첫 번째 비트부터 마지막 비트까지 순차적으로 검색하여 소정의 로직상태로 설정된 비트의 위치를 독출하는 단계; 및 상기 독출된 블록의 위치 및 비트의 위치를 기초로 정수로 표현되는 VALN 식별정보를 산출하는 단계;를 갖는다.Another embodiment of the memory mapping method in the MSTP according to the present invention for achieving the above technical problem, in the memory in which a plurality of blocks sequentially comprising a predetermined number of bits, from the first block to the block Searching sequentially to the last block, sequentially searching from the first bit to the last bit for each bit of the block, and reading the position of the bit set to a predetermined logic state; And calculating VALN identification information expressed as an integer based on the position of the read block and the position of the bit.
본 발명에 따르면, MSTP의 각 인스턴스와 VLAN ID를 비트맵을 이용하여 맵핑함으로써, VLAN ID를 저장하기 위하여 필요한 메모리공간이 종래기술에서 요구되는 메모리공간보다 절약된다.According to the present invention, by mapping each instance of MSTP and VLAN ID using a bitmap, the memory space required for storing the VLAN ID is saved than the memory space required in the prior art.
이하에서, 첨부된 도면을 참조하여 본 발명에 따른 MSTP에서의 메모리 맵핑장치 및 방법에 대하여 상세히 설명한다.Hereinafter, a memory mapping apparatus and method in MSTP according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 비트맵 메모리 구조의 일 예를 도시한 도면이다.1 is a diagram illustrating an example of a bitmap memory structure according to the present invention.
도 1을 참조하면, MST 인스턴스(100)는 ID 0부터 ID 63까지 64개가 존재하고, 각 MST 인스턴스(100)는 블록 0부터 블록 255까지 256개의 블록(110,120,130)을 포함한다. 각 블록은 16비트(112,114)로 구성된다. 본 발명에 따르면, 입력되는 VLAN ID의 정수값은 도1에 도시된 256개 블록의 각 비트 중 VLAN ID의 정수값에 대응되는 특정 비트위치로 맵핑된다. Referring to FIG. 1, 64 MST instances 100 exist from ID 0 to ID 63, and each MST instance 100 includes 256 blocks 110, 120, and 130 from block 0 to block 255. Each block consists of 16 bits (112, 114). According to the present invention, the integer value of the input VLAN ID is mapped to a specific bit position corresponding to the integer value of the VLAN ID among the bits of the 256 blocks shown in FIG.
도 2는 정수값을 비트맵으로 맵핑하는 본 발명에 따른 MSTP에서의 메모리 맵핑 장치의 일 실시예에 따른 블록도이다.2 is a block diagram according to an embodiment of a memory mapping apparatus in MSTP according to the present invention for mapping integer values to bitmaps.
도 2를 참조하면, 본 발명에 따른 메모리 맵핑 장치는 메모리관리부(200), 입력부(210), 연산부(220), 맵핑부(230) 및 메모리(240)로 구성된다.Referring to FIG. 2, the memory mapping apparatus according to the present invention includes a memory manager 200, an input unit 210, an operation unit 220, a mapping unit 230, and a memory 240.
메모리(240)에는 VLAN 식별정보를 위한 비트맵이 저장된다. 메모리(240)는 비트맵만을 저장하는 기억공간으로 구성될 수 있다. 메모리는 RAM, ROM 이거나 데이터를 저장하기 위하여 자기적, 전기적 또는 광학적인 신호를 이용하는 기억소자일 수 있다. 메모리(240)는 메모리관리부(200)와 별도로 구비되거나 메모리관리부(200)의 일부로 포함되어 구현될 수 있다.The memory 240 stores a bitmap for VLAN identification information. The memory 240 may be configured as a storage space that stores only bitmaps. The memory may be a RAM, a ROM, or a memory device that uses magnetic, electrical or optical signals to store data. The memory 240 may be provided separately from the memory manager 200 or included as part of the memory manager 200.
메모리관리부(200)는 한 블록에 포함되는 비트 개수를 결정하고, 각 블록의 비트 개수의 총합이 MSTP 인스턴스가 수용 가능한 최대 VLAN 식별정보 개수이상이 되도록 블록 개수를 결정하여 블록을 순차적으로 배열한다. 블록배열의 일 예로써, 메모리관리부(200)는 4096개의 VLAN ID를 지원하는 경우 16개의 비트를 포함하는 256개의 블록을 순차적으로 메모리 또는 기억소자에 배열한다. 이 외에 메모리관리부(200)는 4096개의 VLAN ID를 지원하기 위하여 32개의 비트를 포함하는 128개의 블록을 배열할 수 있으며 그 밖의 비트 및 블록수의 조합도 가능하다. 즉, 비트 및 블록수의 조합은 배열내의 비트수의 총합이 각 인스턴스가 수용 가능한 최대 VALN ID의 개수 이상이 되도록 하는 조건을 만족하면 된다. The memory manager 200 determines the number of bits included in one block, and sequentially arranges the blocks by determining the number of blocks such that the sum of the number of bits of each block is equal to or greater than the maximum number of VLAN identification information that the MSTP instance can accommodate. As an example of the block arrangement, the memory manager 200 sequentially arranges 256 blocks including 16 bits in a memory or a memory device when supporting 4096 VLAN IDs. In addition, the memory management unit 200 may arrange 128 blocks including 32 bits to support 4096 VLAN IDs, and other combinations of bits and blocks may be possible. That is, the combination of bits and blocks may satisfy the condition that the sum of the number of bits in the array is equal to or greater than the maximum number of VALN IDs that each instance can accommodate.
입력부(210)는 MSTP의 각 인스턴스(100)에 해당하는 VLAN ID를 입력받는다. IEEE 802.1S 에 따르면 MSTP의 최대 인스턴스 ID는 64개까지 지원될 수 있으며, 각 인스턴스마다 VLAN ID는 4096개까지 설정이 가능하다. 최대 MSTP 인스턴스 및 VLAN ID의 지원규모는 표준의 변경에 따라 변경될 수 있다. IEEE 802.1S 에 따르면 VLAN ID는 0부터 4095까지의 정수값이다. 정수값의 범위는 표준의 변경에 따라 변경될 수 있다.The input unit 210 receives a VLAN ID corresponding to each instance 100 of the MSTP. According to IEEE 802.1S, up to 64 instance IDs of MSTP can be supported, and up to 4096 VLAN IDs can be set for each instance. Support for the maximum MSTP instance and VLAN ID may change as the standard changes. According to IEEE 802.1S, the VLAN ID is an integer value from 0 to 4095. The range of integer values may change in accordance with changes in the standard.
연산부(220)는 입력부(210)에 의해 입력된 VLAN ID를 메모리관리부(200)에 의해 결정된 비트수로 나누어 몫 및 나머지를 산출한다. The calculator 220 calculates the quotient and the remainder by dividing the VLAN ID input by the input unit 210 by the number of bits determined by the memory manager 200.
맵핑부(230)는 연산부(220)에 의해 산출된 몫을 기초로 블록의 위치를 선택하고 나머지를 기초로 블록내 비트의 위치를 결정하여 결정된 블록내의 비트를 1로 설정한다. 즉, 블록의 위치가 1부터 시작하고 비트의 위치가 1부터 시작한다면, 블록의 위치 m은 몫에 1을 더한 값이고, 블록내 비트의 위치 n은 나머지에 1을 더한 값이다. 이 경우에 맵핑부(230)는 m번째 블록의 n번째 비트를 1로 설정한다. The mapping unit 230 selects the position of the block based on the quotient calculated by the operation unit 220, determines the position of the bit in the block based on the remainder, and sets the bit in the determined block to 1. That is, if the position of the block starts from 1 and the position of the bit starts from 1, the position m of the block is 1 plus the quotient, and the position n of the bits in the block is 1 plus the rest. In this case, the mapping unit 230 sets the n-th bit of the m-th block to one.
예를 들어, VLAN ID는 0부터 4096사이에 존재하는 임의의 정수값이며, 메모리관리부(200)가 16개의 비트를 포함하는 256개의 블록을 메모리에 배열하는 경우에 입력부(210)가 VLAN ID 로서 20을 입력받았다고 가정한다. 연산부(220)는 입력된 VALN ID인 20을 비트값으로 나누어 몫 1, 나머지 4를 산출한다. 맵핑부(230)는 몫에 1을 더한값이 2이므로 두번째 블록을 선택하고, 나머지에 1을 더한값이 5이므로 5번째 비트를 선택한다. 맵핑부(230)는 선택된 두번째 블록의 다섯 번째 비트를 1로 설정한다. 블록의 위치가 0부터 시작하고 비트의 위치가 0부터 시작한다면, 블록의 위치는 몫의 값과 같고, 비트의 위치는 나머지의 값과 같다. 이로써, 입력된 정수값은 비트의 위치로 맵핑된다. For example, the VLAN ID is an arbitrary integer value between 0 and 4096, and when the memory manager 200 arranges 256 blocks including 16 bits in the memory, the input unit 210 serves as a VLAN ID. Suppose you have entered 20. The calculator 220 calculates the quotient 1 and the remainder 4 by dividing the input VALN ID 20 by the bit value. The mapping unit 230 selects the second block since the quotient is 1 plus 2, and the fifth block is selected because the remainder is 1 plus 5. The mapping unit 230 sets the fifth bit of the selected second block to one. If the position of the block starts at 0 and the position of the bit starts at 0, the position of the block is equal to the quotient and the position of the bit is equal to the remainder. In this way, the input integer value is mapped to the position of the bit.
종래의 기술에 의한 메모리 공간은 최소 2(VLAN ID) * 4096(최대 VALN ID 개수) * 64(최대 MSTP 인스턴스 개수) = 524,208byte 가 필요로 하지만 본 발며에 따르면, 2byte(16bit:한 블록내 비트수) * 256(블록 수) * 64(최대 MSTP인스턴스 개수) = 32,768 byte의 메모리 공간이 필요하다. 즉, 종래기술에 의한 메모리 공간보다 약 1/15로 절약되는 효과가 있다. The conventional memory space requires a minimum of 2 (VLAN ID) * 4096 (maximum number of VALN IDs) * 64 (maximum number of MSTP instances) = 524,208 bytes. Number) * 256 (number of blocks) * 64 (maximum number of MSTP instances) = 32,768 bytes of memory space are required. That is, it is possible to save about 1/15 of the conventional memory space.
도 3은 비트맵을 정수값으로 산출하는 본 발명에 따른 MSTP에서의 메모리 맵핑방법의 일 실시예에 따른 블록도이다.3 is a block diagram according to an embodiment of a memory mapping method in MSTP according to the present invention for calculating a bitmap as an integer value.
도 3을 참조하면, 본 발명에 따른 메모리 맵핑 장치는, 메모리(300), 비트검색부(310) 및 식별정보산출부(320)로 구성된다.Referring to FIG. 3, the memory mapping apparatus according to the present invention includes a memory 300, a bit searching unit 310, and an identification information calculating unit 320.
메모리(300)에는 소정 개수의 비트를 포함하는 복수의 블록이 순차적으로 배열되고, 각 블록의 각 비트는 0 또는 1로 설정되어 있다. 비트 개수와 블록 개수는 도 2을 참조하여 설명한 본 발명에 따른 메모리 맵핑 장치의 메모리관리부(200)에 의해 결정되다. IEEE 802.1S 표준에 따르면, MSTP는 4096개의 VALN ID가 지원되므로 비트 개수를 16개, 블록 개수를 256개가 될 수 있다. 그 외의 비트 개수 및 블록개수의 조합이 가능하다.In the memory 300, a plurality of blocks including a predetermined number of bits are sequentially arranged, and each bit of each block is set to 0 or 1. The number of bits and the number of blocks are determined by the memory manager 200 of the memory mapping apparatus according to the present invention described with reference to FIG. 2. According to the IEEE 802.1S standard, MSTP supports 4096 VALN IDs, so that the number of bits can be 16 and the number of blocks can be 256. Other combinations of the number of bits and the number of blocks are possible.
비트검색부(310)는 메모리(300)에 배열된 블록에 대해 첫번째 블록부터 마지막 블록까지 순차적으로 검색하고, 비트에 대해 각 블록의 첫번째 비트부터 마지막 비트까지 순차적으로 검색하여 1로 설정된 비트의 위치를 독출한다. 즉, 첫번째 블록의 첫번째 비트부터 마지막 블록의 마지막 비트까지 순차적으로 각 비트를 검색하여 1로 설정된 비트의 위치를 독출한다.The bit search unit 310 sequentially searches for the blocks arranged in the memory 300 from the first block to the last block, sequentially searches the first bit to the last bit of each block for the bit, and then positions the bits set to 1. Read out. That is, each bit is sequentially searched from the first bit of the first block to the last bit of the last block to read the position of the bit set to 1.
식별정보산출부(320)는 비트검색부(310)에 의해 선택된 n번째 블록의 m번째 비트가 1로 설정되어 있으면 n에서 1을 뺀 후 한 블록의 비트 개수를 곱하여 산출된 값에 m을 더하여 정수값을 구한다. 즉, 정수값 = (n-1) * (한 블록내 비트개수) + m 이다. 구해진 정수값은 VALN ID 이다. 첫번째 블록부터 마지막 블록까지 이상의 과정을 수행하여 비트맵으로 저장된 VLAN ID를 독출한다. If the m-th bit of the n-th block selected by the bit search unit 310 is set to 1, the identification information calculating unit 320 subtracts 1 from n, multiplies the number of bits in one block, and adds m to the value calculated. Returns an integer value. That is, integer value = (n-1) * (number of bits in one block) + m. The integer value obtained is the VALN ID. The above process is performed from the first block to the last block to read the VLAN ID stored as a bitmap.
예들 들어, VLAN ID는 0부터 4095사이의 어떤 정수값이며, 메모리관리부(200)는 16개의 비트를 포함하는 256개의 블록을 메모리에 배열한다. 이 경우에 비트검색부(310)가 1로 설정된 비트의 위치로 2번째 블록 4번째 비트를 가리키는 경우를 가정한다. 식별정보산출부(320)는 1(2번째 블록위치 - 1) * 16(한 블록의 비트 개수) + 4(비트 위치) = 20을 산출한다. 이 경우 VLAN ID는 20이다. For example, the VLAN ID is an integer value between 0 and 4095, and the memory manager 200 arranges 256 blocks including 16 bits in the memory. In this case, it is assumed that the bit search unit 310 points to the fourth bit of the second block as the position of the bit set to one. The identification information calculating unit 320 calculates 1 (second block position-1) * 16 (number of bits in one block) + 4 (bit position) = 20. In this case, the VLAN ID is 20.
도 4는 VLAN ID인 정수값을 비트맵으로 맵핑하는 본 발명에 따른 MSTP에서의 메모리 맵핑방법의 흐름을 도시한 도면이다.4 is a flowchart illustrating a memory mapping method in MSTP according to the present invention for mapping an integer value of a VLAN ID into a bitmap.
도 4를 참조하면, 메모리관리부(200)는 하나의 MSTP 인스턴스에 대하여 256개의 블록을 포함하고 각 블록은 16개의 비트를 포함하도록 결정한다(S400). 각 블록의 비트 개수의 총합이 MSTP 인스턴스가 수용 가능한 최대 VLAN 식별정보 개수이상이 되도록 블록 개수 및 비트 개수를 결정할 수 있다. IEEE 802.1S 표준에 따라, 각 MSTP 인스턴스가 4096개의 VLAN ID를 지원하는 경우 메모리관리부(200)는 16개의 비트와 256개의 블록으로 배열한다(S400). 이 외에 메모리관리부(200)는 32개의 비트와 128개의 블록으로 배열할 수도 있으며 그 밖의 비트 및 블록수의 조합도 가능하다. 즉, 비트 및 블록수의 조합은 배열내의 비트수의 총합이 각 인스턴스가 수용 가능한 최대 VALN ID의 개수 이상이 되도록 하는 조건을 만족하면 된다. Referring to FIG. 4, the memory manager 200 includes 256 blocks for one MSTP instance and each block includes 16 bits (S400). The number of blocks and the number of bits may be determined such that the sum of the number of bits of each block is equal to or greater than the maximum number of VLAN identifications that the MSTP instance can accommodate. According to the IEEE 802.1S standard, when each MSTP instance supports 4096 VLAN IDs, the memory manager 200 arranges 16 bits and 256 blocks (S400). In addition, the memory management unit 200 may be arranged in 32 bits and 128 blocks, and other combinations of bits and blocks may be possible. That is, the combination of bits and blocks may satisfy the condition that the sum of the number of bits in the array is equal to or greater than the maximum number of VALN IDs that each instance can accommodate.
입력부(210)는 0부터 4095까지의 정수값인 VLAN ID를 입력받는다(S410). IEEE 802.1S 에 따르면 MSTP의 최대 인스턴스 ID는 64개까지 지원될 수 있으며, 각 인스턴스마다 VLAN ID는 4096개까지 설정이 가능하다. 최대 MSTP의 인스턴스 및 VLAN ID의 지원규모는 표준의 변경에 따라 변경될 수 있다. IEEE 802.1S 표준에 따르면 VLAN ID는 0부터 4095까지의 정수값이다. 정수값의 범위는 표준의 변경에 따라 변경될 수 있다.The input unit 210 receives a VLAN ID which is an integer value from 0 to 4095 (S410). According to IEEE 802.1S, up to 64 instance IDs of MSTP can be supported, and up to 4096 VLAN IDs can be set for each instance. The maximum MSTP instance and VLAN ID support size may change depending on changes in the standard. According to the IEEE 802.1S standard, the VLAN ID is an integer value from 0 to 4095. The range of integer values may change in accordance with changes in the standard.
연산부(220)는 수신된 VLAN 식별정보를 한 블록내 비트의 개수인 16으로 나누어 몫 및 나머지를 산출한다(S420). 메모리관리부(200)에 의해 한 블록내 비트의 수가 변경된다면 연산부(220)의 제수인 16은 변경된다.The calculating unit 220 divides the received VLAN identification information by 16, which is the number of bits in one block, and calculates a quotient and remainder (S420). If the number of bits in one block is changed by the memory manager 200, the divisor 16 of the calculator 220 is changed.
맵핑부(230)는 연산부(220)에 의해 산출된 몫을 기초로 블록의 위치를 선택하고, 나머지를 기초로 선택된 블록내의 비트위치로 선택하여 상기 선택된 비트를 1로 설정한다(S430). The mapping unit 230 selects the position of the block based on the quotient calculated by the calculating unit 220, selects the position of the block as the bit position in the selected block based on the remainder, and sets the selected bit to 1 (S430).
예를 들어, 0부터 4095사이에 존재하는 정수로 표현되는 VLAN ID가 20인 경우에 연산부(220)에 의해 몫 및 나머지는 각각 1 및 4가 산출된다. 맵핑부(230)는 몫이 1이므로 두번째 블록을 선택하고, 나머지가 4이므로 5번째 비트를 선택한다. VLAN ID는 0부터 4095까지의 정수값이므로 몫이 0인 경우가 첫번째 블록을 나타내고, 나머지가 0인 경우에 첫번째 비트를 나타내므로 몫 및 나머지에 각각 1을 더한 값으로 블록 및 비트위치를 결정한다. For example, when the VLAN ID represented by an integer existing between 0 and 4095 is 20, the quotient and the remainder are 1 and 4, respectively, by the calculation unit 220. The mapping unit 230 selects the second block because the quotient is 1, and selects the fifth bit since the remainder is 4. Since the VLAN ID is an integer value from 0 to 4095, if the quotient is 0, the first block is indicated, and if the remainder is 0, the first bit is represented, the block and bit position are determined by adding 1 to the quotient and the remainder, respectively. .
VALN ID가 비트맵의 각 비트와 1:1 대응관계에 의해 저장되므로 상술한 블록 및 비트위치의 산출과정은 달리 계산되어질 수 있다. 또한, 257개의 블록과 각 블록내 17개의 비트를 포함하는 메모리가 있는 경우에, 각 몫 및 나머지를 그대로 블록위치 및 비트위치로 결정하여 사용할 수도 있다, 다만, 이런 경우에는 블록 및 비트의 낭비가 있다.Since the VALN ID is stored in a 1: 1 correspondence with each bit of the bitmap, the above-described calculation process of the block and the bit position may be calculated differently. In addition, when there is a memory including 257 blocks and 17 bits in each block, each quotient and remainder may be determined and used as the block position and the bit position as they are. have.
도 5는 비트맵을 정수값으로 산출하는 본 발명에 따른 MSTP에서의 메모리 맵핑방법의 다른 흐름을 도시한 도면이다.FIG. 5 illustrates another flow of the memory mapping method in the MSTP according to the present invention for calculating a bitmap as an integer value.
도 5를 참조하면, 메모리(300)에는 16개의 비트를 포함하는 256개의 블록이 순차적으로 배열되고, 각 블록의 각 비트는 0또는 1로 설정되어 있다(S500). 비트 개수와 블록 개수는 도 4을 참조하여 설명한 본 발명에 따른 메모리 맵핑 방법의 메모리관리부(200)에 의해 결정되어된다. IEEE 802.1S 표준에 따르면, MSTP는 4096개의 VALN ID가 지원되므로 비트 개수를 16개, 블록 개수를 256개가 될 수 있다. 그 외의 비트 개수 및 블록개수의 조합이 가능하다.Referring to FIG. 5, 256 blocks including 16 bits are sequentially arranged in the memory 300, and each bit of each block is set to 0 or 1 (S500). The number of bits and the number of blocks are determined by the memory manager 200 of the memory mapping method according to the present invention described with reference to FIG. 4. According to the IEEE 802.1S standard, MSTP supports 4096 VALN IDs, so that the number of bits can be 16 and the number of blocks can be 256. Other combinations of the number of bits and the number of blocks are possible.
비트검색부(310)는 메모리(300)의 첫번째 블록부터 마지막 블록까지 블록위치를 순차적으로 증가시킨다. 즉 첫번째 블록 0부터 마지막 블록 255까지 블록위치를 순차적으로 증가시킨다(S500). 비트검색부(310)는 한 블록의 첫 번째 비트부터 마지막 비트까지 비트위치를 순차적으로 증가시킨다(S510). 즉, 비트검색부(310)에 의해 첫번째 블록의 첫번째 비트부터 마지막 블록의 마지막 블록까지 모든 비트가 순차적으로 검색된다. The bit search unit 310 sequentially increases the block positions from the first block to the last block of the memory 300. That is, the block positions are sequentially increased from the first block 0 to the last block 255 (S500). The bit search unit 310 sequentially increases the bit position from the first bit to the last bit of one block (S510). That is, the bit search unit 310 sequentially searches all bits from the first bit of the first block to the last block of the last block.
식별정보산출부(320)는 비트검색부(310)에 의해 검색되는 n번째 블록의 m번째 비트가 1로 설정되어 있으면(S520), 상기 n에서 1을 뺀 후 한 블록의 비트 개수를 곱하여 산출된 값에 m을 더하여 정수값을 구한다(S530). 즉, 정수값 = (n-1) * 16(한 블록내 비트개수) + m(비트 위치) 이다. 구해진 정수값은 VALN ID 이다. If the m-th bit of the n-th block retrieved by the bit search unit 310 is set to 1 (S520), the identification information calculation unit 320 calculates by multiplying the number of bits of one block after subtracting 1 from n. The integer value is obtained by adding m to the obtained value (S530). That is, integer value = (n-1) * 16 (number of bits in one block) + m (bit position). The integer value obtained is the VALN ID.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상의 설명은 바람직한 실시예를 설명한 것에 불과한 것으로서, 본 발명은 상술한 실시예에 한정되지 아니하며 첨부한 특허청구범위 내에서 다양하게 변경 가능하다. 예를 들어 본 발명의 실시예에 구체적으로 나타난 각 구성요소의 형상 및 구조는 변형하여 실시할 수 있다. The foregoing descriptions are merely illustrative of preferred embodiments, and the present invention is not limited to the above-described embodiments and can be variously changed within the scope of the appended claims. For example, the shape and structure of each component specifically shown in the embodiment of the present invention may be modified.
본 발명에 따르면, MSTP의 각 인스턴스와 VLAN ID를 비트맵을 이용하여 맵핑함으로써, VLAN ID를 저장하기 위하여 필요한 메모리공간이 종래기술에서 요구되는 메모리공간보다 절약된다. 또한, VLAN ID가 맵핑되는 비트맵의 크기는 용이하게 확장될 수 있으므로 많은 수의 VLAN ID가 용이하게 지원될 수 있다. 비트맵은 블록 및 비트로 구성되므로 관리가 용이하며 각 시스템의 성능에 적합한 블록의 수 및 비트의 수로 구현될 수 있다.According to the present invention, by mapping each instance of MSTP and VLAN ID using a bitmap, the memory space required for storing the VLAN ID is saved than the memory space required in the prior art. In addition, since the size of the bitmap to which the VLAN ID is mapped can be easily extended, a large number of VLAN IDs can be easily supported. Since the bitmap is composed of blocks and bits, it is easy to manage and can be implemented with the number of blocks and the number of bits suitable for the performance of each system.
도 1은 본 발명에 따른 비트맵 메모리 구조의 일 예를 도시한 도면,1 is a diagram illustrating an example of a bitmap memory structure according to the present invention;
도 2는 정수값을 비트맵으로 맵핑하는 본 발명에 따른 메모리 맵핑장치의 블록도,2 is a block diagram of a memory mapping apparatus according to the present invention for mapping integer values to bitmaps;
도 3은 비트맵을 정수값으로 산출하는 본 발명에 따른 메모리 맵핑장치의 블록도,3 is a block diagram of a memory mapping apparatus according to the present invention for calculating a bitmap as an integer value.
도 4는 정수값을 비트맵으로 맵핑하는 본 발명에 따른 메모리 맵핑 방법의 흐름을 도시한 도면, 그리고,4 is a view showing a flow of a memory mapping method according to the present invention for mapping integer values to bitmaps, and
도 5는 비트맵을 정수값으로 산출하는 본 발명에 따른 메모리 맵핑 방법의 흐름을 도시한 도면이다.5 is a flowchart illustrating a memory mapping method according to the present invention for calculating a bitmap as an integer value.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0046117A KR100503423B1 (en) | 2003-07-08 | 2003-07-08 | Memory mapping apparatus in multiple spanning tree protocol and method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0046117A KR100503423B1 (en) | 2003-07-08 | 2003-07-08 | Memory mapping apparatus in multiple spanning tree protocol and method of the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050006407A KR20050006407A (en) | 2005-01-17 |
KR100503423B1 true KR100503423B1 (en) | 2005-07-22 |
Family
ID=37220229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0046117A KR100503423B1 (en) | 2003-07-08 | 2003-07-08 | Memory mapping apparatus in multiple spanning tree protocol and method of the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100503423B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100777614B1 (en) * | 2005-06-27 | 2007-11-21 | 학교법인 동의학원 | Optimum Topological MSTP Network Structure and Mapping Method of the same |
-
2003
- 2003-07-08 KR KR10-2003-0046117A patent/KR100503423B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050006407A (en) | 2005-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9235651B2 (en) | Data retrieval apparatus, data storage method and data retrieval method | |
US20080059749A1 (en) | Dynamic Fragment Mapping | |
US8010557B2 (en) | Retrieving method for fixed length data | |
US20080133494A1 (en) | Method and apparatus for searching forwarding table | |
CN112311571B (en) | Network topology generation method and device, electronic equipment and non-transitory storage medium | |
CN114138193B (en) | Data writing method, device and equipment for partition naming space solid state disk | |
CN106302172A (en) | Support Hash lookup and the storage of route querying, lookup method and device simultaneously | |
KR101411321B1 (en) | Method and apparatus for managing neighbor node having similar characteristic with active node and computer readable medium thereof | |
CN110941602B (en) | Database configuration method and device, electronic equipment and storage medium | |
CN101159619A (en) | Fast adding method, device and switching arrangement of ARP table | |
CN105512229A (en) | IP address regional information storage, query method and device | |
CN106547870A (en) | Point table method and device of data base | |
KR20140038441A (en) | Compression match enumeration | |
CN102426601B (en) | Data deleting method and device | |
US7197498B2 (en) | Apparatus, system and method for updating a sorted list | |
CN111382323A (en) | Data retrieval optimization method and device and computer equipment | |
KR100503423B1 (en) | Memory mapping apparatus in multiple spanning tree protocol and method of the same | |
CN102984071B (en) | Method for organizing routing table of segment address route and method for checking route | |
US7154892B2 (en) | Method and apparatus for managing LPM-based CAM look-up table, and recording medium therefor | |
US6678675B1 (en) | Techniques for searching for best matches in tables of information | |
CN117235069A (en) | Index creation method, data query method, device, equipment and storage medium | |
CN110221778A (en) | Processing method, system, storage medium and the electronic equipment of hotel's data | |
CN115221360A (en) | Tree structure configuration method and system | |
US20020078133A1 (en) | Information collection apparatus and method | |
CN105786819A (en) | Data operation method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100701 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |