WO2018117279A1 - 네트워크 장치 및 네트워크 장치의 전송 선택 방법 - Google Patents

네트워크 장치 및 네트워크 장치의 전송 선택 방법 Download PDF

Info

Publication number
WO2018117279A1
WO2018117279A1 PCT/KR2016/014894 KR2016014894W WO2018117279A1 WO 2018117279 A1 WO2018117279 A1 WO 2018117279A1 KR 2016014894 W KR2016014894 W KR 2016014894W WO 2018117279 A1 WO2018117279 A1 WO 2018117279A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission
data
bridge
queues
algorithm
Prior art date
Application number
PCT/KR2016/014894
Other languages
English (en)
French (fr)
Inventor
백서영
고우석
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Priority to KR1020197018083A priority Critical patent/KR102164032B1/ko
Priority to PCT/KR2016/014894 priority patent/WO2018117279A1/ko
Priority to US16/471,540 priority patent/US10999222B2/en
Publication of WO2018117279A1 publication Critical patent/WO2018117279A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing

Definitions

  • the present invention relates to a network device and a transmission selection method of the network device, and more particularly, to a transmission selection method for efficient data output in a network device.
  • Networks such as LAN (Local Area Network) are used in various fields.
  • LAN Local Area Network
  • Such a network may be used as an industrial network or may be used as an in-vehicle network due to the development of in-vehicle communication with the development of smart cars.
  • the transmission of data in such a network needs to be efficiently handled according to the field of use or purpose.
  • the transmission of data in the network needs to be determined in consideration of the characteristics of the station receiving the data.
  • the present invention proposes a network device and a transmission selection method of the network device.
  • the network device may include a plurality of queues storing at least one data frame and a processor connected to the plurality of queues.
  • each of the plurality of queues may correspond to a different traffic class.
  • the processor may obtain information on a transmission selection algorithm for a plurality of queues, and select a data frame for transmission from a corresponding queue based on the information on the transmission selection algorithm.
  • the transmission selection algorithm may correspond to a strict priority algorithm, a credit-based shaper algorithm, or a burst transmission algorithm.
  • selecting a data frame for transmission from the corresponding queue includes: reconfiguring each of the plurality of queues into a pair of sub-queues; The pair of sub-queues have different operating states, and it is determined whether one of the sub-queues in a write state satisfies a preset state change condition, and the one sub-queue satisfies a preset state change condition. Changing the operation state of all sub-queues and selecting data frames for transmission of burst data from the sub-queues changed to a read state.
  • selecting data frames for transmission from the subqueues changed to the read state may include: selecting for transmission all first data frames stored in a subqueue corresponding to a first traffic class, and transmitting the first data frame. After they have been selected for transmission, selecting for transmission all second data frames stored in the sub queue corresponding to the second traffic class, wherein the first traffic class is the traffic class with the highest priority,
  • the second traffic class may be a traffic class having a lower priority than the first traffic class.
  • the processor may determine that the state change condition is satisfied.
  • the processor may change an operation state of all the subqueues only when one of the subqueues in the write state satisfies the preset state change condition within a preset period.
  • the pair of sub cues may have the same size as each other.
  • the network device includes a plurality of queues for storing data frames, and each of the plurality of queues may correspond to a different traffic class.
  • the transmission selection method of the network device may include obtaining information on a transmission selection algorithm for a plurality of queues; And selecting a data frame for transmission from a corresponding queue based on the information on the transmission selection algorithm, wherein the transmission selection algorithm includes a strict priority algorithm and a credit-based shaper. It may correspond to a -based shaper algorithm or a burst transmission algorithm.
  • selecting a data frame for transmission from the corresponding queue includes: reconfiguring each of the plurality of queues into a pair of sub-queues. Determining whether the pair of subqueues have a different operating state, and whether one of the subqueues in the write state satisfies a preset state change condition; Changing an operation state of all subqueues when the one subqueue satisfies a preset state change condition; The method may include selecting data frames for transmission of burst data from subqueues changed to a read state.
  • selecting data frames for transmission from the subqueues changed to the read state may include: selecting for transmission all first data frames stored in a subqueue corresponding to a first traffic class, and transmitting the first data. After the frames are selected for transmission, all second data frames stored in the sub queue corresponding to the second traffic class are selected for transmission, wherein the first traffic class is the traffic class having the highest priority and the first The 2 traffic class may be a traffic class having a lower priority than the first traffic class.
  • the network device may determine that the one subqueue satisfies the preset state change condition.
  • the network device may change the operation state of all the subqueues only when the one subqueue satisfies the preset state change condition within a preset period.
  • the pair of sub cues may have the same size as each other.
  • a network device transmits data using a transmission selection method for transmitting data in accordance with a field of use or purpose of a network, thereby increasing efficiency of data processing.
  • the present invention enables the network device to maintain the performance expected by the station by determining and using a method of selecting data transmission in consideration of the characteristics of the station receiving the data.
  • the present invention allows a network device to provide a transmission selection method for the transmission of burst data, thereby enabling energy efficient processing at the station receiving it.
  • FIG. 1 illustrates a network model according to an embodiment of the present invention.
  • FIG. 2 illustrates a bridge network according to an embodiment of the present invention.
  • FIG. 3 illustrates a method of transferring data between layers in the network model of FIG. 1.
  • FIG. 4 illustrates a mapping relationship between priority and traffic class according to an embodiment of the present invention.
  • FIG. 5 illustrates a bridge architecture according to an embodiment of the present invention.
  • FIG. 6 illustrates upper layer entities of a control plane according to an embodiment of the present invention.
  • FIG. 7 illustrates a time synchronization method of a bridge network according to an embodiment of the present invention.
  • FIG. 8 illustrates a stream registration and a stream reservation method according to an embodiment of the present invention.
  • FIG. 9 illustrates the architecture for stream registration and reservation in FIG.
  • FIG. 10 illustrates a bridge forwarding process according to an embodiment of the present invention.
  • FIG. 11 illustrates operation of a network device using a credit-based shaper in accordance with an embodiment of the present invention.
  • FIG. 12 illustrates a bridge network including a network device according to an embodiment of the present invention.
  • FIG. 13 illustrates a method of transmitting data by a network device using a burst transmission method according to an embodiment of the present invention.
  • FIG. 14 illustrates a method of transmitting data by a network device using a burst transmission method according to another embodiment of the present invention.
  • FIG. 15 illustrates a form of data input and output to a network device when using a burst transmission method according to an embodiment of the present invention.
  • FIG. 16 illustrates a transmission selection algorithm table according to an embodiment of the present invention.
  • FIG. 17 is a configuration diagram of a network device according to an embodiment of the present invention.
  • FIG. 18 is a flowchart illustrating a method of selecting a transmission of a network device according to an embodiment of the present invention.
  • 19 is a flowchart illustrating a transmission selection method using a burst transmission algorithm of a network device according to an embodiment of the present invention.
  • the present invention relates to a network device, where the network device may perform all or some functions of a station (or system) constituting a network such as, for example, a network of Institute of Electrical and Electronics Engineers (IEEE) 802.
  • the network device 1700 may be a device corresponding to, included in, or including a bridge in a bridge network of IEEE802.1.
  • the network device may correspond to a bridge implemented according to IEEE802.1D or IEEE802.1Q, or may be a device (or system) included in or including the bridge.
  • the network device may perform a connection function to the device (or network).
  • the network device may be a device that constitutes an in-vehicle network.
  • a network device may be referred to as a bridge device.
  • FIG. 1 illustrates a network model according to an embodiment of the present invention.
  • FIG. 1 is a diagram illustrating a network model according to an embodiment of the present invention compared with an OSI 7 layer (Open System Interconnection 7 Layer) model.
  • the network model of FIG. 1 represents a reference architecture for a station (eg, a bridge or end station) in a network that conforms to, for example, IEEE802.
  • the OSI 7 layer model shown on the left side of FIG. 1, is a basic model (or reference model) for a standardized network structure presented by the International Standard Organization (ISO). It is defined separately. This is currently a guide for other network communication protocols, but it is not really an industry standard that must be followed. In the OSI 7 layer model, the functions of each layer will be briefly described sequentially from a lower layer to a higher layer.
  • ISO International Standard Organization
  • the physical layer is a physical medium used when network data is transmitted. It is a function of establishing and terminating connections, providing shared communication resources, and converting analog signals into digital signals or digital signals into analog signals. Perform.
  • the physical layer may be referred to as layer 1.
  • the data link layer performs a data transfer function between physical networks.
  • One of the main purposes of this data link layer is to provide addressing schemes used to identify physical devices and error checking to ensure that the data has not been tampered with.
  • the data link layer may be referred to as a second layer (layer 1).
  • the network layer performs the routing function between the physical networks, and a router operates at this layer.
  • the network layer may manage logical addresses (eg, IP addresses) of network hosts, segment packets, and perform protocols such as identifying protocols and detecting errors.
  • the network layer may be referred to as layer 3.
  • the transport layer provides both connection-oriented and connectionless-oriented protocols, with firewalls and proxy servers operating at this layer.
  • One of the main purposes of this transport layer is to enable reliable data transmission to lower layers. That is, the main purpose is to ensure that there is no error between points.
  • the transport layer may be referred to as a fourth layer (layer 4).
  • the session layer is responsible for managing sessions or conversations between two computers. This session layer connects, manages, and terminates all communication devices, as well as the ability to prevent instantaneous disconnections and to properly terminate connections between hosts, and to identify whether a connection is unidirectional or bidirectional. In charge.
  • the session layer may be referred to as layer 5.
  • the presentation layer performs encoding and decoding functions of data transmitted or received from an upper application layer.
  • the presentation layer may include several encryption and decryption formats to safely use the data.
  • the presentation layer may be referred to as a sixth layer.
  • the application layer provides the user with access to network resources.
  • This application layer provides all the basic interfaces for network activities and is typically the only layer seen by the user.
  • the application layer may be referred to as a seventh layer (layer 7).
  • the middle and right side of FIG. 1 show a network model (hereinafter referred to as a “network model”) according to an embodiment of the present invention.
  • the network model may be a network model of a standardized network defined by the Institute of Electrical and Electronics Engineers (IEEE802).
  • IEEE802 network model is a network model derived from the OSI 7 layer model described above, and may be, for example, a model of a network composed of one or more interconnected networks using a Media Access Control (MAC) protocol specified in the IEEE802 standard.
  • MAC Media Access Control
  • This IEEE802 network model mainly emphasizes the lower two layers of the OSI 7 layer model, the physical layer and the data link layer. In the following, each layer of the network model will be described centering on the case where the network model is the IEEE802 network model.
  • the network model includes the physical layer corresponding to the physical layer of the OSI 7 layer model, the data link layer corresponding to the data link layer, and the layers from the network layer to the application layer, which is the highest layer. It may include a corresponding layer.
  • a layer corresponding to layers from the network layer of the OSI 7 layer model to an application layer which is the highest layer may be collectively referred to as an upper layer (or an upper layer protocol).
  • Each of the corresponding layers may perform the same or similar function except as specifically provided in the standard.
  • the data link layer of the network model may be subdivided into a logical link control (LLC) sublayer and a media access control (MAC) sublayer.
  • LLC logical link control
  • MAC media access control
  • the MAC sublayer may include part of a physical layer.
  • the LLC sublayer performs a connection function between the MAC sublayer and a higher layer, and may serve to compensate for differences between topology schemes of various MAC sublayers. That is, the LLC sublayer may play a role of enabling data transmission regardless of the MAC topology of the communication network.
  • the MAC sublayer performs a connection function between the physical layer and the LLC sublayer, which is a higher layer, and may perform a function for providing frame-based data transfer between stations.
  • the MAC sublayer allows for multiple stations to provide reliable communication by preventing mutual collisions when using a limited capacity transmission medium.
  • the topology of the MAC sublayer may include, for example, a token bus, a token ring, or a CSMA / CD.
  • Other functions of the MAC sublayer may include a flow control function between an end device and an interconnect device such as a bridge and forwarding frames according to a destination address.
  • data when transmitting data from a receiving station, data may be processed in descending order from each layer to the physical layer that is the lowest layer. In this case, encapsulation is performed while data is delivered to a lower layer.
  • each layer adds a header and / or tail including specific information to data received from a higher layer. Can be passed to the lower layer later.
  • the data thus transmitted may be transmitted to the transmitting station through the physical layer processing.
  • data when receiving data at the transmitting station, data may be processed in order from the physical layer, which is the lowest layer, to the highest layer, in turn. At this time, decapsulation is performed while data is delivered to an upper layer.
  • each layer analyzes and processes headers and tails from data received from a lower layer, and decodes headers and tails. Can be passed to the layer.
  • the final application layer can only receive the original data that was originally created. Such inter-layer data processing will be described in detail below with reference to FIG. 3.
  • a bridge network means a concatenation of networks interconnected by a bridge, and a bridge means a device (or station) connecting networks in the bridge network.
  • a bridge network may be a combination of individual IEEE 802 LANs interconnected by a bridge, and the bridge may be a MAC bridge or a Virtual LAN (VLAN) bridge that conforms to IEEE802.1D or IEEE802.1Q.
  • VLAN Virtual LAN
  • FIG. 2 illustrates a bridge network according to an embodiment of the present invention. Specifically, FIG. 2 illustrates a physical topology of a bridged network including bridges that perform all or part of the data link layer of the network model of FIG. 1.
  • the bridge network may be a network including a MAC bridge or a VLAN bridge that conforms to IEEE802.1D or IEEE802.1Q.
  • the bridge network may include LANs and bridges.
  • the bridge may include two or more bridge ports.
  • Each bridge port can attach a LAN to a bridge and provide bidirectional connectivity to frames of data (eg, MAC frames). That is, each bridge can connect between the LAN and LAN by passing frames through the bridge port.
  • Each LAN may be connected to all other LANs by a bridge, or may be connected to zero or more other LANs and bridges.
  • the bridge network may be a virtual bridged network including a VLAN bridge.
  • the virtual bridge network may be a bridge network which is a combination of individual IEEE LANs interconnected by bridges including a VLAN bridge according to the IEEE802.1Q described above.
  • the virtual bridge network may configure multiple VLANs using VLAN identifiers (IDs) in frames to transmit.
  • IDs VLAN identifiers
  • the virtual bridge network may be referred to as a VLAN bridge network or a VLAN network.
  • the VLAN bridge may connect a number of different VLANs (or LANs) to one bridge. However, even in this case, it is possible to transmit and receive data through the VLAN bridge only between the same VLAN, and to transmit data to different VLANs, a router operating at a higher layer should be used.
  • whether individual VLANs are identical may be identified by VLAN identification information assigned to each VLAN.
  • VLAN bridges can use VLAN identification information, such as VLAN ID information (or fields), contained in VLAN tags in input data frames to identify whether interconnected individual VLANs are identical, and only between identical VLANs. Data can be exchanged. The configuration and operation principle of such a bridge network and individual bridges will be described with reference to FIG. 5.
  • bridge and the bridge network are mainly VLAN bridge and VLAN bridge network according to IEEE 802.1Q.
  • this is merely an example for convenience of description, and may be applied to other bridges (eg, MAC bridges) and bridge networks that comply with IEEE 802.1 except that the same or similar descriptions are limited to VLANs.
  • FIG. 3 illustrates a method of transferring data between layers in the network model of FIG. 1.
  • FIG. 3 illustrates a method of delivering data transmitted from an upper layer to a lower layer in a MAC sublayer (or MAC layer) of the network model of FIG. 1.
  • encapsulation When data is exchanged between layers, it is possible to add necessary information or to remove information that is no longer needed. This process is called encapsulation / decapsulation. For example, encapsulation may occur when data (or information) descends from the upper layer to the lower layer at the sending station, and decapsulation may occur when the data (or information) rises from the lower layer to the upper layer at the receiving station. have.
  • the station performs an encapsulation process of adding information required for a service data unit (SDU) based on a protocol of a corresponding layer in each layer, thereby providing a PDU (a data type that can be transmitted to a lower layer).
  • SDU service data unit
  • Protocol Data Unit Protocol Data Unit
  • the SDU means information transferred between layers or sublayers.
  • the station may generate an SDU in the form of data that can be transmitted to a higher layer by performing a decapsulation process of acquiring necessary information from a PDU based on a protocol of a corresponding layer in each layer.
  • the station may be configured for an SDU (LN SDU) received from an LLC sublayer (Layer N-1), which is a higher layer in Layer N.
  • SDU SDU
  • LLC sublayer Layer N-1
  • Layer N + 1 LLC sublayer
  • the PDU generated in the layer N may have a frame format as shown in the bottom of FIG. 3. That is, the PDU of the MAC sublayer of the network model (eg, Ethernet) of FIG. 1 may have the same frame format as the bottom of FIG. 3.
  • this L-N PDU may be referred to as a PDU, MAC PDU or MAC frame of the Ethernet MAC layer, and the frame format of the L-N PDU may be referred to as an Ethernet frame format or a MAC frame format.
  • the MAC PDU may include a destination address field, a source address field, a type field, a length field, a data field, and / or an FCS. It may include a (Frame Check Sequence) field. In this specification, each field except the data field may be referred to as a control field.
  • the destination address field includes destination address information of the MAC, and the source address field includes source address information of the MAC.
  • a destination address field may be referred to as a destination field, and a source address field may be referred to as a source field or a source field.
  • the type field contains type information of the upper protocol.
  • the type field may provide type information of the protocol of the LLC sublayer (or layer).
  • the length field contains information about the length of the data field.
  • the length field may indicate the length of data in the data field in octets.
  • the type field and the length field may consist of one field (eg, type / length field).
  • the data field includes data received from the upper layer.
  • the data field may include an SDU received from an LLC sublayer (or layer).
  • the FCS field is a field including information for error detection and may be inserted at the end of the frame for error detection at the receiving side.
  • a data field may be referred to as a payload.
  • the MAC PDU may further include a VLAN tag field.
  • the bridge network is a VLAN bridge network including a VLAN bridge
  • the MAC PDU may further include a VLAN tag field.
  • the VLAN tag field is an optional tag and its existence is determined according to whether the VLAN is supported.
  • the VLAN tag field may include a Tag Protocol Identifier (TPID) field, a Priority Code Point (PCP) field, a Drop Eligible Indicator (DEI) field, and / or a VLAN Identifier (VLAN ID) field.
  • TPID Tag Protocol Identifier
  • PCP Priority Code Point
  • DEI Drop Eligible Indicator
  • VLAN ID VLAN Identifier
  • the VLAN tag field may be located in front of the type / length field or included in the type / length field, but is not limited thereto.
  • the TPID field contains protocol ID information of a VLAN tagged frame.
  • the TPID may have a fixed value (eg, 0x8100 for a costomer network).
  • a fixed value eg, 0x8100 for a costomer network.
  • the TPID field may be located in the front of the VLAN tag field, but is not limited thereto.
  • the PCP field may include information on the priority of the corresponding frame, and this priority information may be associated (or mapped) with the traffic class.
  • the PCP field may consist of a 3-bit field, which may represent the priority of eight frames.
  • each bridge port of a bridge may include a number of (eg, eight) outbound queues.
  • the outbound queue refers to a queue (or buffer) used to output data and data frames from the output port of the bridge. Outbound queues can be mapped one-to-one with traffic classes.
  • the value of the PCP field can be used to determine which queue of the plurality of outbound queues the frame should be stored in. This will be described in detail below with reference to FIG. 4.
  • the DEI field includes information indicating whether a corresponding frame may be removed when a preset condition is satisfied.
  • the DEI field may include information indicating whether or not the current frame may be removed when the amount of data increases to congestion.
  • the VLAN ID field indicates the ID of the VLAN to which the frame belongs. Using this VLAN ID field, data can be transmitted only between devices having the same VLAN ID in a VLAN bridge network.
  • a VLAN ID may be referred to as a VID.
  • the value of the destination address field and the value of the VLAN ID field may be used to determine the bridge port (eg, output bridge port) of the bridge, and the value of the PCP field may be used to determine which queue (eg, Outbound queue).
  • the PCP field and the DEI field may be an element for determining a quality of service (QoS).
  • the MAC PDU includes a VLAN tag field.
  • the MAC PDU is transmitted according to the type of network (Provider network, backbone network, customer network, etc.). You can include the required tag field with the VLAN tag field or replace the VLAN tag field.
  • the station receives a PDU (LN PDU) including the above-described fields in Layer N from a lower layer Physical Layer (Layer N + 1), and decapsulates the received PDU.
  • a PDU LN PDU
  • various information may be obtained, and an SDU (LN SDU) may be generated and delivered to the LLC sublayer (Layer N-1).
  • the station may perform various operations performed in the corresponding layer based on the obtained information.
  • the horizontal axis represents the number of available traffic classes, and the vertical axis represents priority.
  • the mapping relationship between the priority and the traffic class presented in the embodiment of FIG. 4 is one of exemplary mapping relationships, and may be arbitrarily changed by a user of the network.
  • the table representing the mapping relationship between the priority and the traffic class as in the embodiment of FIG. 4 may be referred to as a priority-class mapping table.
  • the bridge may have a priority-class mapping table for each bridge port.
  • a traffic class refers to a classification used to expedite the transmission of a frame.
  • An outbound queue also refers to a queue (or buffer) used to output data and data frames from the bridge's output port.
  • a frame or data frame refers to a unit of data to be transmitted.
  • a queue may be referred to as a buffer.
  • the value of the PCP field indicates the priority of the corresponding frame, and this value may be associated (or mapped) with traffic class values corresponding to each queue of the output port of the bridge.
  • the value of the PCP field can be used to determine which of the queues of the output port should be stored in the queue.
  • the bridge obtains priority information from the PCP field in the received frame, consults the priority-class mapping table to determine the traffic class mapped to that priority, and that frame to the queue associated with that traffic class. Can be saved.
  • Frames of data received at the input port of the bridge can be forwarded directly to the desired output port if the destination is known correctly, otherwise it can be forwarded to all other ports except the input port.
  • the frame transmitted to the output port should be determined in which queue among the queues in the output port.
  • the value of the traffic class associated with the value of the PCP field may be used.
  • the priority-class mapping table as shown in FIG. 4 needs to be set in advance.
  • each frame input to the bridge may have one of eight priorities.
  • each bridge port can have from 1 to up to 8 queues (or outbound queues), and each outbound queue can be mapped one-to-one with an assigned traffic class.
  • the value of the traffic class may be 0 to N-1.
  • N represents the number of outbound queues of the corresponding port.
  • the values of the traffic class available on the bridge port may be 0, 1, or 2. That is, only three types of traffic classes can be used.
  • it may be determined that the queue corresponding to the low traffic class value has a lower priority.
  • a queue corresponding to a value of traffic class 0 may have the lowest priority.
  • the higher the traffic class value may be determined to have a lower priority.
  • the shaded portion in the table of FIG. 4 shows the mapping relationship between traffic classes and priority when the number of available traffic classes is three. That is, an example mapping relationship between a PCP having eight code values (or priority values) and a traffic class having three class values is shown.
  • frames having priority values (or PCP code values) of 0 to 3 have a traffic class value of 0, and therefore, the frame may be stored in queue 1 of the bridge port.
  • the frame having a priority value (or PCP code value) of 4 to 5 has a traffic class value of 1, this frame may be stored in queue 2 of the bridge port.
  • the frame having the priority value (or PCP code value) of 6 to 7 has a traffic class value of 2
  • this frame may be stored in queue 3.
  • a similar description may apply to the mapping relationship between traffic classes and priorities, if the number of available traffic classes has a value other than three.
  • the frames stored in each queue may have different traffic types from each other.
  • frames stored in different queues can have different traffic types.
  • the traffic type may include, for example, three traffics of Best-effort (BE) traffic, Rate constrained (RC) traffic, and Time trigger (TT) traffic.
  • BE Best-effort
  • RC Rate constrained
  • TT Time trigger
  • BE traffic is traffic with low priority and may be of a type that is not guaranteed for timing or latency. That is, when frames stored in multiple queues are sequentially output to one output port, BE traffic may or may not be delivered late without guaranteeing time when congestion occurs.
  • RC traffic (or frames) can be guaranteed bandwidth using the minimum time interval between the frame and the maximum frame size.
  • transmission time is guaranteed within the guaranteed bandwidth, and transmission can be performed without loss of frame when a control occurs.
  • RC traffic is suitable for the transmission of audio and video, but not for time sensitive industrial control or automotive related applications.
  • the TT traffic (or frame) is a structure in which a frame is directly transmitted without interference due to another frame within a given time interval.
  • the TT traffic (or frame) has no frame loss and is a fast type of traffic.
  • the TT traffic may be suitable for a control signal having a high time sensitive requirement.
  • TT traffic may be suitable for time sensitive industrial control or automotive related applications.
  • an outbound queue in which frames with a value of traffic class 0 are stored may be used to carry BE traffic
  • An outbound queue in which frames with a value of class 1 are stored may be used to deliver RC traffic (eg, traffic in frames related to audio or video)
  • an outbound queue in which frames with a value of traffic class 2 are stored may be used.
  • FIG. 5 illustrates a bridge architecture according to an embodiment of the present invention.
  • FIG. 5 (a) is a conceptual diagram of a bridge architecture according to an embodiment of the present invention
  • FIG. 5 (b) is a first example of a bridge architecture
  • FIG. 5 (c) is a second example of a bridge architecture.
  • the bridge architecture of FIG. 5 may be the architecture of a bridge in accordance with IEEE802.1.
  • the bridge architecture may be an architecture of a MAC bridge or VLAN bridge that conforms to IEEE802.1D or IEEE802.1Q.
  • a bridge includes at least one bridge component.
  • the bridge may include at least two ports, a MAC relay entity (or relay entity) and / or higher layer entities.
  • the port into which data is input from the LAN is called an ingress port (or input port), and the port from which data is output to the LAN is called an egress port (or output port).
  • the ingress port may provide functionality related to filtering or drop, (un) tagging, VID translation, and / or (de) en / capsulation, and the like. Can be done.
  • the egress port may perform functions related to filtering, (un) tagging, VID translation, (de) encapsulation, metering, queuing, transmission selection, and the like.
  • Relay entity refers to an entity that interconnects the ports of the bridge.
  • the relay entity may perform the function of relaying frames between the ports of the bridge, the filtering of the frames, and / or the learning of filtering information.
  • a relay entity may be referred to as a MAC relay entity.
  • Higher layer entities refer to protocols that determine the network on which data can be communicated. This will be described below in detail with reference to FIG. 6.
  • the above-mentioned bridge component may be included in the control plane or the data plane depending on its function.
  • higher layer entities may be included in the control plane
  • bridge ports and relay entities may be included in the data plane.
  • an external agent may be further included in the control plane.
  • the external agent refers to an externally provided control instead of a protocol already provided through higher layer entities.
  • the external agent may be a known Software Defined Network (SDN) controller. Through this, data transfer and operation of the bridge may be controlled and managed in the software-based controller.
  • SDN Software Defined Network
  • the bridge architecture of the embodiment of FIG. 5 (b) may be, for example, the architecture of a MAC bridge.
  • the MAC bridge is a bridge implemented according to IEEE802.1D or IEEE802.1Q and refers to a bridge that does not recognize VLAN tagged frames. That is, the MAC bridge refers to a bridge that does not recognize the VLAN tag included in the frame.
  • the MAC bridge may include at least one MAC bridge component that provides the capability to support an Internal Sublayer Service (ISS) at each bridge port and to relay frames between each bridge port.
  • ISS Internal Sublayer Service
  • the MAC bridge may include at least two ports, relay entities and / or higher layer entities in order to perform the above functions.
  • the ISS is a service provided in the inner layer of the MAC sublayer, and provides basic functions of the MAC service such as data transmission between multiple service access points (SAPs) and data frame transfer between bridge ports. do.
  • SAPs service access points
  • inter-layer communication may be performed by transmitting primitives or receiving primitives through a service access point (SAP).
  • SAP service access point
  • each layer should be able to operate independently regardless of a media access method.
  • the MAC sublayer must be able to handle this, whatever the media approach is used, and the ISS is responsible for defining the SAP primitives to make this possible.
  • the ISS may construct primitives from parsed data received at the physical layer and data used locally.
  • the primitives of the ISS may include a destination_address, source_address, source_address, MSDU (mac_service_data_unit), priority, drop_eligible (DE), frame_check_sequence (FCS), service_access_point_identifier, and / or It may include parameters such as a connection_identifier.
  • the destination address, source address, MSDU, priority, DE, FCS parameters are as described above with reference to FIG.
  • the SAP identifier represents the ID of the bridge port used in the relay entity
  • the connection identifier identifies (or identifies) a connection such as a connection in the MAC sublayer, for example, a transport connection for data (or data frame) transmission. Division). This connection identifier is important when there is only one SAP, and in other cases it can be used as a null value.
  • the destination address, source address, MSDU, priority, DE, and FCS parameters are parameters obtained by parsing a frame received from the physical layer, and the SAP identifier and connection identifier parameters are used internally (or locally). It may be a parameter.
  • the bridge architecture of the embodiment of FIG. 5C may be, for example, the architecture of a VLAN bridge.
  • the VLAN bridge is a bridge implemented according to IEEE802.1D or IEEE802.1Q, and refers to a bridge capable of recognizing, inserting, and removing VLAN tags. That is, unlike the MAC bridge, the VLAN bridge refers to a bridge that recognizes a VLAN tag included in a frame.
  • the VLAN bridge may include a VLAN bridge component that provides the ability to support Enhanced Internal Sublayer Service (EISS) at each bridge port and to relay frames between each bridge port.
  • EISS Enhanced Internal Sublayer Service
  • the VLAN bridge may include at least two ports, relay entities, and / or higher layer entities to perform the above functions.
  • EISS is an extended inner layer service provided by the MAC sublayer, which extends the operation of the VLAN bridge to provide services that are extended to those provided by the ISS, such as recognition, insertion, and removal of VLAN tags. It may further include necessary elements and parameters.
  • the primitive of the EISS may further include parameters such as a VLAN identifier (vlan_identifier), a flow hash and / or a time_to_alive in addition to the primitives of the ISS described above.
  • the VLAN identifier parameter represents the ID of the VLAN to be transmitted, which is a value that can be known through a frame received from the physical layer.
  • the flow hash parameter refers to a parameter used to determine which of several ports that are available for forwarding when performing the forwarding process.
  • the time-to-live parameter refers to a parameter used to determine how long a frame will live as it hops through a network hop, and in an embodiment, a null value may be assigned as the value of the parameter.
  • FIG. 6 illustrates upper layer entities of a control plane according to an embodiment of the present invention. Specifically, FIG. 6 illustrates upper layer entities of the control plane constituting the bridge architecture of FIG. 5. Hereinafter, the hierarchical relationship between upper layer entities of the control plane and the data plane will be described in detail with reference to FIG. 6.
  • the upper layer entities of the control plane include Physical Network Topology, Active Topology, VLAN Topology, and / or Station Location.
  • the physical network topology shows a physical connection configuration between a LAN, a bridge, and a bridge port.
  • the bridge port corresponds to a portion connecting the LAN and the bridge, through which a bidirectional Ethernet frame (or MAC frame) can be transmitted between the LAN and the bridge.
  • a bidirectional Ethernet frame or MAC frame
  • Active topology prevents loops within the network, that is, makes the network an active network that is loop-free, which enables or disables (or blocks) the state of a particular bridge port. This can be done by. If a loop occurs in the bridge network, the same data is repeatedly copied in the bridge, degrading the bridge's functionality and causing the MAC address table in the bridge to become unstable. In addition, when data is transmitted through a broadcast function, the network may be paralyzed by a phenomenon called broadcast storm because data is continuously broadcast in the network if a loop occurs. Therefore, in the bridge network, the interconnection relationship between the stations connected to the bridge is activated so that a loop does not occur through the active topology, and various algorithms for this must exist.
  • the VLAN topology may configure a protocol capable of transmitting data between VLANs having the same VID by using the above-described VID.
  • a route can be established between stations by storing individual MAC addresses belonging to the VLAN through the station location. In this way, once the path to each station is determined, the desired data can be delivered using the relay of the bridge.
  • the relay of the bridge represents the operation of the bridge itself by the data plane.
  • data entering the input port of the bridge is forwarded to the output port and transmitted through the output port, which takes several steps within the bridge. Details of this will be described later.
  • stream reservation may be possible by measuring the transmission capability between the bridge port and the port of the neighboring bridge. This operation will be described in detail below with reference to FIGS. 8 and 9.
  • FIG. 7 illustrates a time synchronization method of a bridge network according to an embodiment of the present invention.
  • an operation of synchronizing time between connected bridges may be performed.
  • the reason for time synchronization is to synchronize clock synchronization between bridges in the network and the end device, the end device, to enable transmission of time-sensitive frames. This allows the construction of a time sensitive network.
  • the known IEEE 1588 protocol may be used as a basic protocol for time synchronization, but is not limited thereto.
  • bridges and endpoints (or stations) in the network can synchronize their clocks by periodically exchanging messages with the GM (grandmaster) clock. Through this, all bridges and endpoints except the GM clock in the network can know how much offset they have compared to the GM clock, and based on this, time synchronization is possible.
  • a clock having the highest quality among a plurality of clocks in the network may be selected as the GM clock.
  • the GM clock may be determined using a predetermined algorithm, for example, the Best Master Clock Algorithm (BMCA) algorithm, which corresponds to an algorithm for finding the highest quality clock in the entire bridge network. That is, by using the BMCA algorithm, one of the clocks included in each of the stations (eg, the bridge and the end stations) in the entire bridge network can be determined as the GM clock.
  • the GM clock may be determined by the user's choice. That is, one clock can be determined as the GM clock by the user's choice without using an algorithm such as the BMCA algorithm.
  • the bridge network may time-synchronize with two different paths for clock redundancy during time synchronization.
  • time information is transmitted from two GM clocks to two different paths, even if one of the paths is not activated for some reason, it is possible to quickly adjust the time synchronization through the other path.
  • a method of setting additional clock sources for redundancy of the clock may be used.
  • the second clock source can be activated. This provides the advantage that if the first GM clock is not running, the second preset clock source on standby can be selected as the GM clock for fast time synchronization without the need for time to find another best GM clock again.
  • the second embodiment corresponds to a method of placing redundancy in a clock source. Both embodiments may be a countermeasure for fault tolerance.
  • stream refers to a unidirectional flow of data from a talker to one or more listeners.
  • the talker means an end station that is the source or producer of the stream
  • the listener means an end station that is the destination, receiver or consumer of the stream.
  • stream registration and reservation may be an operation belonging to a VLAN topology and a station location in a higher layer entity of the above-described control plane.
  • a route is first established between the talker to send the stream through the bridge network and the listener to receive it, and whether the frame can be transmitted within the desired bandwidth and the given time latency within the path. Can be calculated. If a given condition is met, a frame can be sent over this path. In this way, since frame transmission is possible within a desired time boundary without congestion loss, QoS can be guaranteed.
  • 'R' and 'D' represent the state of the bridge port
  • 'R' represents the Registration state
  • 'D' represents the Declaration state.
  • the bridge transfers the received frame to other output ports except itself, and the output port to which the frame is delivered is declared.
  • membership of the MAC destination address and VLAN can be registered in the database of each port.
  • the talker may first send a “talker advertise” message to the entire bridge network to which it belongs.
  • the talker advertisement message may include information about the source MAC address, the destination MAC address, the stream ID, the data rate, and / or the latency level.
  • the stream ID means an identifier for identifying a stream to be sent from the source (or talker).
  • the worst case latency may be calculated as this talker advertisement message passes through each bridge.
  • the station may transmit a "talker failed" message to the listener including a code indicating the cause.
  • the listener can send a “listener ready” message to the talker, in which case the talker advertisement from talker to listener, as shown on the right side of FIG.
  • the listener ready message can be forwarded in the reverse direction of the path to which it was forwarded.
  • the talker may transmit a stream along a path that guarantees QoS. After the stream transmission is completed, a de-registering procedure may be performed to cancel the reserved bandwidth and path.
  • the station may say “Listener Asking Failed. asking fail) ”message to the talker.
  • the station may be a concept including a bridge or an end station.
  • FIG. 9 illustrates the architecture for stream registration and reservation in FIG. Specifically, FIG. 9 shows a protocol (stream registration and reservation protocol) used for stream registration and reservation by the control plane of the bridge architecture of FIG. 5.
  • a protocol stream registration and reservation protocol
  • a stream registration and reservation procedure may be performed according to a user's need, and using this, a bandwidth may be allocated up to 75% between a talker and a listener. In this allocated path, since the frame of the talker has priority, it is possible to receive less interference by other frames. Therefore, stream registration and reservation methods can be used for applications that want to guarantee QoS and require low latency. For example, if you want to synchronize between video and audio, you can use the stream registration and reservation methods to ensure synchronization with QoS.
  • the stream registration and reservation protocol includes a multiple registration protocol (MRP), a multiple stream registration protocol (MSRP), a multiple VLAN registration protocol (MVRP), a multiple MAC registration protocol (MMRP), and a stream registration protocol (SRP). Include.
  • MRP multiple registration protocol
  • MSRP multiple stream registration protocol
  • MVRP multiple VLAN registration protocol
  • MMRP multiple MAC registration protocol
  • SRP stream registration protocol
  • the MSRP protocol, MVRP protocol and MMRP protocol are the protocols corresponding to the application of the MRP protocol.
  • the SRP protocol is a protocol that operates based on the MSRP protocol, the MVRP protocol, and the MMRP protocol.
  • stations in the bridge network may perform stream registration and reservation procedures using all or part of the protocol of FIG. 9.
  • MRP Multiple Registration Protocol
  • MRP protocol is a protocol for declaring an attribute of a port.
  • MRP protocol efficiently configures network by storing stream ID, VLAN ID, MAC address, etc. in each port by using MSRP, MVRP, MMRP protocol, etc. corresponding to MRP protocol application at bridge or end station. It is a protocol that allows.
  • the MVRP protocol is a protocol for registering multiple VLAN IDs or VLAN memberships in a bridge port
  • the MMRP protocol is for registering multiple MAC addresses in a bridge port. Through this, multicast may be possible in the bridge.
  • the MSRP protocol transmits a talker advertisement message by the talker described with reference to FIG. 8 to register a stream, sends a talker failure message when the station does not have resources, and sends a listener ready message when resources are reserved. It is a protocol that enables all processes.
  • the MRP protocol uses a flooding method, and in this process, a message called a Multiple Registration Protocol Data Unit (MRPDU) may be generated and forwarded periodically to another bridge or end station.
  • the flooding method refers to a method of transferring data received by each station to all output ports except the input port.
  • the MRPDU is a message corresponding to the data area of the MAC PDU used in the above-described second layer (layer2), that is, the data link layer.
  • the bridge stores the source address of the MRPDU in the input port and forwards the MRPDU to all other possible output ports except the input port.
  • the address value is stored in the input port in this way, when the end station having the address as the source address transmits data later, the data can be transmitted by referring to the address value stored in the port of the bridge without having to be flooded.
  • a port has a table for routing indicating which address value is connected (or associated) through which port in the bridge port, data can be efficiently transmitted.
  • the protocol that allows each port on the bridge to store the address value associated with that port is the MMRP protocol.
  • the protocol that allows each port of a bridge to store the VLAN ID associated with that port is the MVRP protocol
  • the protocol that allows it to store the Stream ID associated with that port is the MSRP protocol.
  • the MSRP protocol is a signaling protocol and transmits data called MSRPDU to accomplish this. This allows network resources to be reserved between end points and enables the guaranteed transmission and reception of the required QoS between the talker and listener.
  • the address, VLAN ID, and stream ID that pass through one port to the next bridge or end station can of course have multiple values. It can be used efficiently. In addition, it is possible to transmit resources that satisfy the required latency (QoS) in the reserved section by reserving resources between end stations.
  • QoS required latency
  • the protocols that make this possible are the MMRP, MVRP, and MSRP protocols.
  • the SRP protocol operates based on the MMRP, MVRP, and MSRP protocols, and has a field called SR class in the MSRPDU to identify a stream to be transmitted.
  • the SRP protocol may enable fields such as SRclassID, SRclassPriority, and SRclassVID in the MSRPDU to specify the characteristics of the stream to pass through the reserved path.
  • the SRclassID field is for identifying a corresponding stream among several streams delivered from the talker
  • the SRclassPriority field is for giving priority to the SR traffic class
  • the SRclassVID field is for identifying a VLAN for the SR traffic class.
  • FIG. 10 illustrates a bridge forwarding process according to an embodiment of the present invention.
  • FIG. 10 illustrates a bridge forwarding process performed by the data plane of the bridge architecture of FIG. 5.
  • the bridge forwarding process represents a process required to relay a data frame received at a receiving bridge port (receiving port) to an output bridge port (output port).
  • the bridge may have various port states through an active topology process of the control plane.
  • the port state may include a discarding state, a learning state, and / or a forwarding state.
  • the removal state refers to a state in which the bridge port is disabled or blocked. In the removal state, the bridge does not forward the input data.
  • the learning state is a state of learning whether or not it is appropriate to deliver the input data. In the learning state, the bridge is suitable to receive and transmit a data frame at the current port based on the stored source address (or source address). It can be determined. By doing so, the bridge can prevent the occurrence of unwanted data loops and prevent unwanted MAC source addresses from being forwarded.
  • the forwarding state is the state of actually delivering data after the learning state is terminated.
  • This filtering step helps the received data frame to be transmitted through the correct bridge output port by referring to the destination address and the VID value stored in the filtering database. Through this, when an output port to which a data frame is to be transmitted is determined, a flow metering step is performed.
  • the bridge may determine which frame to discard when a conference occurs by using a priority and a drop eligible indicator (DEI) value.
  • DEI drop eligible indicator
  • Frames that pass the flow metering step may be queued to the outbound queue based on the priority values of the frames.
  • relationship information (or mapping information) between the priority and traffic class described with reference to FIG. 4 may be used to determine which outbound queue of the plurality of outbound queues the frame is queued.
  • the status of each outbound queue can be monitored and managed by a queue management module.
  • the frame may be transmitted serially through a transmission selection step.
  • bandwidth can be delayed according to the traffic class to secure bandwidth and to guarantee or optimize overall network performance.
  • traffic shaping Such a role can be called traffic shaping.
  • the apparatus for performing traffic shaping as described above may be referred to as a traffic shaper or a shaper. This traffic shaping can be used with the stream reservation described above, in which case it is possible to achieve the desired QoS.
  • bridge forwarding process all of the above-described steps may be performed. However, in some embodiments, only some of the above-described steps may be performed. In addition, the bridge forwarding process described above may be performed by one or more processors in the bridge.
  • the network device may be an apparatus (or system) corresponding to, including or included in a bridge in the bridge network of IEEE802.1.
  • the network device may be a MAC bridge or VLAN bridge that conforms to IEEE802.1D or IEEE802.1Q, or may be a device (or system) including or included in it.
  • the description applied to the above-described bridge may be equally or similarly applied to a network device.
  • a data frame refers to a unit of data transmitted in a network
  • a data stream refers to a flow of data from one end station (eg, a talker) to another end station (eg, a listener).
  • one stream may include one or more frames.
  • data frames may be transmitted based on the transmission selection algorithm operation supported by the traffic class and the queue corresponding to the port. That is, the network device may select and transmit frames from the queue based on a transmission selection algorithm supported for each queue in the port.
  • the network device may select and transmit (or output) frames from the queue based on a transmission selection algorithm when a preset condition is satisfied. For example, the network device may select “transmission selection supported by the queue. The algorithm determines that there are transmittable frames ”or“ transmission selection algorithms supported by each queue corresponding to the numerically higher priority traffic class value supported by that port determine that there are no transmittable frames The frames may be selected and transmitted from the corresponding queue based on the transmission selection algorithm.
  • Such a transmission selection algorithm may include, for example, a strict priority transmission selection algorithm or a credit-based shaper transmission selection algorithm.
  • an additional transmission selection algorithm selectable by the management means in the bridge network, can be supported as an implementation option as long as the requirements are satisfied.
  • the Strick Priority Transmission Selection Algorithm (hereinafter, referred to as “Strick Priority Algorithm”) is a default algorithm for selecting a transmission frame, which is an algorithm that must be supported by all network devices. If the queue supporting this includes more than one frame, the network device can transmit the frames according to the streak priority algorithm. In this case, the order in which frames are transmitted from the queue follows a preset ordering requirement. As an embodiment, the preset order requirement may be a first-in first out (FIFO) scheme.
  • FIFO first-in first out
  • the credit-based shaper transfer selection algorithm corresponds to an algorithm that can be optionally supported in addition to the streak priority algorithm. If the queue supporting this includes one or more frames and the value of the transmitAllowed parameter is true, the network device may transmit the frames according to the credit-based shaper algorithm.
  • the transmit permission parameter is a parameter associated with a queue that supports the credit-based shaper algorithm, and is true if the credit parameter value of the transmit credit currently available in the queue is zero or positive. Has a value, and false if the credit parameter is negative.
  • a credit-based shaper (CBS) operating according to the credit-based shaper algorithm will be described in detail below with reference to FIG. 11.
  • FIG. 11 illustrates operation of a network device using a credit-based shaper in accordance with an embodiment of the present invention.
  • the credit-based shaper refers to a shaper that operates according to the credit-based shaper algorithm described above among transmission selection algorithms used in a bridge network of IEEE 802.18.
  • the credit-based shaper is a shaper used in the existing audio vedio bridging (AVB) system, and it may be guaranteed that data is transmitted within a predetermined latency only when used with the stream reservation protocol (SRP).
  • AVB audio vedio bridging
  • class A and class B are defined, which correspond to the third and second of the traffic shaper's priority, respectively.
  • the selected SR class may have a bounded latency.
  • the priority of class A and class B is only the 3rd and 2nd priority values of priority values 0 to 7, respectively, but this is the highest two traffic class and By associating, it can be treated as having the highest priority in the transmission selection step.
  • AVB A, B, and C frames have the same SR class (eg, SR class B).
  • the traffic class of an AVB frame having an SR class is higher than the traffic class of other frames (eg, Low a, b, etc.).
  • the transmission credit may be a parameter indicating whether the AVB frame can be transmitted. If the credit value is 0 or more, the transmission permission parameter becomes true and the AVB frame is true. If the credit value is less than 0, the value of the transmission allowable parameter becomes false and the transmission of the AVB frame is impossible. If the credit value is less than zero, a frame having a priority other than the AVB frame may be transmitted.
  • the operation of the network device using the credit-based shaper will be described.
  • the network device cannot transmit the AVBs A and B, for example, because another frame Low a is transmitting. In this case, the credit will gradually increase.
  • the network device can transmit the AVB frame A.
  • FIG. The credit is gradually reduced while the AVB frame A is transmitted.
  • the network device cannot transmit the AVB frame B, so that a frame having a different traffic class (Low b, Low c, etc.) is transmitted. do.
  • the AVB frame A and the AVB frame B may be distributed in time and output as shown in FIG. 11.
  • the network device may prevent the data from bursting into the queue for the AVB frame of the next network device that receives the output frame.
  • various shapers may be used in addition to the credit-based shaper described above.
  • the various traffic shapers have different uses for each other, but most of them aim to prevent bursting of data into a queue associated with one traffic class at a time in the network.
  • frame loss may occur due to the limitation of the queue size.
  • an unintended increase in latency may be prevented when a large queue size is set to prevent this.
  • a transmission selection method for outputting burst data may be referred to as a burst transmission method (or algorithm).
  • a port of a bridge provided with a burst transmission method may be referred to as a burst bridge port.
  • burst data is not a set (or collection) of data (or data frames) having, for example, the same traffic class (or priority), but is output in a timely distributed manner, but rather a set of such data frames.
  • Or vowel means that the output is continuous, and the set (or vowel) of the data frame output in this way may be referred to as burst data.
  • each data frame in the set of continuously output data frames may be output at a preset reference time interval or less.
  • the network device when the network device uses a burst transmission method, the network device continuously outputs all of the first data frames in the outbound queue corresponding to the first traffic class, for example, to network the first burst data.
  • Providing a second burst data to the end station connected to the device, and subsequently outputting all of the second data frames in the outbound queue corresponding to the second traffic class having a lower priority than the first traffic class Burst data can be output in a manner that is provided to the end station connected to the
  • the bridge network of FIG. 12 illustrates a bridge network including a network device according to an embodiment of the present invention.
  • the bridge network of FIG. 12 may be an in-vehicle bridged network.
  • efficient use of energy is one of the problems to be solved.
  • a bridge network includes a number of network devices (eg, bridges). Certain network devices in the bridge network are associated with end stations, which may be referred to as boundary network devices (eg, boundary bridges).
  • boundary network devices eg, boundary bridges
  • the end station A which is a source of transmission, provides input data burst, it passes through the general traffic shaper of network devices (eg, bridges A, B, C, etc.) in the bridge network.
  • Data input to the in-end station B is distributed in time.
  • a particular end station such as end station C, may be a station that wants data to be bursty for efficient use of energy.
  • end station C may be an in-vehicle application sensor that requires the input of bursted data.
  • the boundary network device (eg bridge C) connected to the end station C should be able to provide a transmission selection method (algorithm) for the output of bursted data.
  • a particular network device such as a boundary network device connected to an end station, should be able to selectively provide a transmission selection method (or algorithm) for the output of bursted data.
  • the burst transmission selection method may be applied to, for example, a boundary bridge connected to a specific end station.
  • a particular end station may be an end station that does not require a defined range of delay in terms of timing, but only wants burst data input in terms of energy efficiency.
  • the burst transmission selection method can be applied to a network device connected to an end station that requires a burst input rather than a low delay for efficient energy use.
  • the burst transmission method of the embodiment of FIG. 13 may be a burst transmission method of outputting burst data through reconstruction of a queue. That is, the burst transmission method of the embodiment of FIG. 13 may be a burst transmission method using a reconstructed queue.
  • the burst transmission method may be applied at a particular port (or a specific output port) of a network device (eg, boundary bridge) connected with an endpoint in the bridge network.
  • the burst transmission method may be applied to all queues of a particular port of the network device. That is, the burst transmission method may be applied on a per port basis, unlike other types of transmission selection methods applied on a queue basis (or a traffic class basis) in a port.
  • the bridge ID and port ID (or output port ID) of the corresponding port of the network device to which the burst transmission method is applied may be registered or stored in the management information database as management information of the network.
  • the network device may determine whether a particular port of the bridge is a port to which the burst transmission method is applied based on the bridge ID and the port ID. For example, the network device retrieves a transmission selection algorithm (or method) table for that port from a database (eg, a management information database) based on the bridge ID and port ID from which the burst transmission method is applied. It can be determined whether or not the port.
  • a transmission selection algorithm or method
  • the transmission selection algorithm table for a particular port refers to a table that allocates a transmission selection algorithm for each traffic class (or queues associated with each traffic class) supported by a particular port.
  • the network device may refer to the transmission selection algorithm table to obtain information about the transmission selection algorithm applied to individual traffic classes (or queues) of a specific port. This will be described in detail below with reference to FIG. 16.
  • the network device may reconfigure queues (or outbound queues) of the corresponding port.
  • the reconfiguration of the queue may be performed before or after the burst transmission method is applied to the corresponding port.
  • the network device may reconfigure each of the outbound queues of the output port to which the burst transmission method is applied into two subqueues of a predefined type. For example, the network device may reconfigure each of the outbound queues of the burst output port into a pair of sub cues in the form of ping / pong. For example, as shown in FIG. 13, outbound queue 1 associated with traffic class 1 may be reconfigured into sub queue 0 and sub queue 1, and likewise, outbound queues 2 through 8 associated with each traffic class 2 through 8 may also be , May be reconfigured into sub cue 0 and sub cue 1, respectively. As an embodiment, such reconstruction of the outbound queue may be performed by a processor (or controller) of the network device.
  • the reconfigured pair of sub cues may have different operating states. For example, when one subqueue is in read status, the other subqueues paired with this may be in write status. In this case, when the subqueue of the read state is changed to the write state, the subqueue of the write state may be changed to the subqueue of the read state.
  • the output port of the bridge can be reconfigured into a pair of subqueues that perform different operations instead of simultaneously or simultaneously performing read / write operations in one queue, so that read and write operations can be performed separately. have.
  • the selection and change of the operation state of the reconfigured pair of sub-queues may be performed by the selectors S connected to each of the queues controlled by the processor (or controller) of the network device. It may also be performed by the processor (or controller) itself.
  • each size of the reconstructed two sub cues may be the same. That is, the size of each sub cue may be half the queue size.
  • the network device may have a subqueue in a write state having a size of a predetermined range or more, even when an operation state of each subqueue is changed. Therefore, it is possible to minimize the loss of the input frame due to the size change of the sub cue.
  • each size of the reconstructed two sub cues may be different.
  • the network device may store data frames in a subqueue that is in a write state.
  • the network device may determine which subqueue of the plurality of subqueues in the write state to store the data frame based on the mapping information between the priority of the data frame and the traffic class of the queue.
  • the network device may refer to the priority-class mapping table as in the embodiment of FIG. 4.
  • the network device may determine whether the preset state change condition is satisfied.
  • the state change condition refers to a condition for changing the operation state of the sub queue.
  • the network device may determine that the state change condition is satisfied. In another embodiment, when one of the subqueues in the write state is filled with the data frame more than a preset size (or threshold size), the network device may determine that the state change condition is satisfied.
  • the threshold size may be set to more than half the size of the sub queue in the write state. For example, the threshold size may be set to 80% of the sub queue size of the write state.
  • the network device may determine whether a preset state change condition is satisfied within a preset period (or threshold period).
  • the preset threshold period refers to a timeout period waiting for one sub queue to be filled.
  • the threshold period may be set based on the size of the sub queue. For example, as the size of the sub cue increases, a shorter threshold period may be set.
  • the delay time until the burst output comes out depends on the size of the sub cue. That is, burst data is frequently output when the size of the subqueue is small, and time when burst data is relatively outputted when the size of the subqueue is large. In this case, if one of the sub cues takes too long to be filled with data frames, the time for which the burst output is output will be delayed too much.
  • the burst transmission method is applied to a network device connected to an end station that does not require boundary latency, it may result in network degradation due to excessive delay time.
  • the network device of the present invention may change the queue state and output burst data from the queue changed to the read state only when the state change condition is satisfied within a preset threshold period.
  • the state change condition is not satisfied within the preset threshold period, data can be output from the queue in the current read state without changing the queue state, or data can be output from the queue changed to the read state by changing the queue state. have.
  • the data output in this way may not be the desired burst data in the end station. However, it is possible to output the data within a certain timeout time, which has the advantage of solving the problem caused by excessive delay.
  • the network device may change the state of all subqueues. Through this, subqueues in a read state may be changed to a write state, and subqueues in a write state may be changed to a read state.
  • the network device may maintain the state of all subqueues. In this case, the network device may select a data frame for transmission from the sub-queues that are currently in the read state.
  • the network device may select a data frame for burst transmission from the subqueues changed to the read state.
  • the manner in which the network device selects a data frame for burst transmission from a sub-queue in a read state is a method of selecting a data frame for transmission from a sub-queue in a read state using a streak priority algorithm (or method).
  • the network device selects for transmission all data frames stored in a subqueue with the highest traffic class for reading, and then stores data frames stored with a subqueue with the next highest traffic class for reading. By selecting all for transmission, it is possible to sequentially select data frames for burst transmission from subqueues according to the traffic class. In this case, the order of outputting the data frames in the same sub-queue may follow a predefined method.
  • the burst transmission method outputs data from the queue by being dominated by the traffic class to which the most data is input, but in the bursted output, the frames having the highest priority (or traffic class) are prioritized.
  • the burst transmission method has a simple queue control, and the reconfiguration of each queue into a ping-pong-type sub-queue can also be processed by software.
  • the burst transmission method of the embodiment of FIG. 14 may be a burst transmission method of outputting burst data without reconstruction of a queue. That is, the burst transmission method of the embodiment of FIG. 14 may be a burst transmission method that does not use a reconfigured queue.
  • the network device does not reconfigure each queue into a sub-queue, but adjusts the operation state of each queue to burst data. You can output This method has the advantage of enabling more efficient memory use than reconfiguring each queue into subqueues, but provides a reference size for changing the state of the queue so that the queue does not overflow and frame loss occurs while outputting burst data. Threshold size) to manage adaptively.
  • each queue can operate in a first state (or write state).
  • the queue in the first state may only perform a write operation. In this case, the selection process of the data frame for transmission through the read operation may not be performed. This allows time to fill a sufficient amount of data frames to output bursted data to at least one of the queues.
  • the network device may change the state of the entire queue from the first state to the second state (or read / write state).
  • the first state change condition refers to a condition for changing the state of the queue from a write state to a state capable of both reading and writing. That is, the queue in the second state can perform both read and write operations.
  • the network device may determine that the first state change condition is satisfied.
  • the reference size may be set independently for each queue.
  • the network device may determine that the first state change condition is satisfied.
  • the first reference time may be set based on the size of the queue. In an embodiment, the reference time may be set independently for each queue.
  • the network device may perform a process of selecting a data frame for burst transmission.
  • the network device may select and output data frames for burst transmission from the queue according to the method described above with reference to FIG. 13.
  • whether a process of selecting a data frame for transmission in each queue is performed may be determined by a processor (or controller) of the network device.
  • the network device may change the state of the entire queue from the second state to the first state.
  • the second state change condition refers to a condition for changing the state of the queue from a read / write state to a write state.
  • the queues changed to the write state may only perform a write operation as described above.
  • the network device may determine that the second state change condition is satisfied.
  • the preset number may be 1 or 2.
  • the preset number is 1, when burst data is output from one of the queues in the second state, the network device may determine that the second state change condition is satisfied.
  • the preset number is 2, when burst data is output from two of the queues of the second state, the network device may determine that the second state change condition is satisfied. In this way, when a certain amount of burst data is output from a predetermined number of queues, the network device may determine that the second state change condition is satisfied, and change the state of the queue back to the write state. Thereafter, the network device may again have time to fill a sufficient amount of data frames to output bursted data.
  • the network device may determine that the second state change condition is satisfied.
  • the second reference time may be set based on the size of the queue. In an embodiment, the reference time may be set independently for each queue. Through this, when burst data is output for a predetermined time or more, the network device may determine that the second state change condition is satisfied, and change the state of the queue back to the write state. Thereafter, the network device may again have time to fill a sufficient amount of data frames to output bursted data.
  • FIG. 15 illustrates a form of data input and output to a network device when using a burst transmission method according to an embodiment of the present invention.
  • two types of data frames may be input to the network device.
  • a first type data frame and a second type data frame having different priorities may be input to the network device.
  • the first type data frame may be associated with a higher traffic class than the second type data frame.
  • each data frame may be input by being distributed on the time axis.
  • two types of data frames input to the network device may be output as burst data through the burst transmission method (or algorithm) of FIG. 13 or 14.
  • the network The device may output burst data.
  • the burst output of the first type data frame having a high traffic class may precede the burst output of the second type data frame in time.
  • an end station connected to the network device may obtain an output of burst data, in terms of energy efficiency due to a reduction in the actual operating time for data processing. It may have an advantage.
  • the network device uses a burst transmission method, there is a time-based delay until the data is sufficiently filled in the queue, which makes it difficult to apply to time critical applications.
  • the burst transmission method has a preset threshold period (or timeout period), and as shown at the bottom of FIG.
  • the output can be prevented from degrading the network due to excessive wait or delay.
  • the transmission selection algorithm table refers to a table that provides information on the transmission selection algorithm (or method) provided at each port (or queue).
  • the network device may obtain information about a transmission selection method supported by the corresponding port (or each queue in the corresponding port) by referring to the transmission selection algorithm table for the corresponding port.
  • the transmission selection algorithm refers to the algorithm used to select a transmission frame from the corresponding queue.
  • Such a transmission selection algorithm may include a variety of other algorithms depending on the implementation selection in addition to the above-described strick priority algorithm, credit-based shaper algorithm, burst transmission algorithm.
  • a transmission selection algorithm table exists for each port, as described above, the transmission selection algorithm for that port is assigned for each traffic class (or each queue associated with each traffic class) supported by that port.
  • the transmission selection algorithm for the queue can be identified in the transmission selection algorithm table by means of an integer identifier, as shown in FIG.
  • the identifier when the identifier has a first value (eg, a value of “0”), this indicates that the transmission selection algorithm is a styrimatic priority algorithm, and the identifier is a second value (eg, “1”). Value) indicates that the transmission selection algorithm is a credit-based shaper algorithm, and if the identifier has a third value (eg, a value of "2"), indicates that the transmission selection algorithm is an enhanced transmission selection algorithm, Has a fourth value (eg, a value of “4”), it may indicate that the transmission selection algorithm is a burst transmission algorithm.
  • a first value eg, a value of “0”
  • a second value eg, “1”.
  • Value indicates that the transmission selection algorithm is a credit-based shaper algorithm
  • Has a fourth value eg, a value of “4”
  • the identifier may indicate that the transmission selection algorithm is reserved for future use, and the identifier is assigned a sixth value (eg, a “255” value). If so, it may indicate that the transmission selection algorithm is a vendor-specific algorithm for DCBX.
  • the identifier has a seventh value (eg, a 4-octet integer value)
  • the top three octets may be an OUI or CID value and the bottom octet may be an integer value in the range of 0-255 assigned by the owner of the OUI or CID.
  • the above-described transmission selection algorithm table (or transmission selection identification table) may be stored in a management information database and may be managed by management means of the network device.
  • FIG. 17 is a configuration diagram of a network device according to an embodiment of the present invention.
  • the network device 1700 may include an input interface 1710, an output interface 1720, one or more memory units 1730, and a processor 1740.
  • the network device 1700 may be a device corresponding to, included in, or including a bridge in the bridge network of IEEE802.1.
  • the network device may correspond to a bridge implemented according to IEEE802.1D or IEEE802.1Q, or may be a device (or system) included in or including the bridge.
  • the network device may perform a connection function to the device (or network).
  • the network device 1700 may include a first memory that includes one or more queues that store frames input through an input interface 1710 (eg, an input port or an ingress port).
  • the network device 1700 may further include a second memory that stores at least one of a module, data, computer program instructions, or software for implementing an operation of the network device 1700 according to various embodiments of the present disclosure. have.
  • the second memory can be in the same or different memory unit 1730 as the first memory.
  • the network device 1700 may further include a third memory that stores the transmission selection algorithm table of FIG. 16.
  • the third memory may be in a memory unit 1730 that is the same as or different from the first and / or second memory.
  • the first memory, the second memory, and the third memory may all be in the same memory unit 1730, each may be in a different memory unit 1730, and the two memories may be the same memory.
  • One memory in the unit 1730 and the other memory may be in a different memory unit 1730.
  • the processor 1740 is connected to the memory unit 1730, and may be configured to perform an operation according to various embodiments of the present disclosure according to the above-described drawings and descriptions.
  • the processor 1740 may perform a burst transmission method according to an embodiment of the present invention to select burst frames to output data frames through an output interface 1720 (eg, an output port or an egress port).
  • an output interface 1720 eg, an output port or an egress port
  • the processor 1730 may be a concept including a controller for controlling the operation of each unit of the network device 1700 of the present invention.
  • the specific configuration of the network device 1700 of FIG. 17 may be implemented such that the various embodiments of the present invention described above are applied independently or two or more embodiments are applied together.
  • the burst transmission method of the network device 1700 illustrated in FIG. 17 not only the description associated with FIGS. 18 and 19 but also the description of the above specification may be applied.
  • the network device may include a plurality of queues that store at least one data frame. At this time, each of the plurality of queues may correspond to a different traffic class.
  • the network device may obtain information about a transmission selection algorithm for a plurality of queues (S18010).
  • the transmission selection algorithm may correspond to a strict priority algorithm, a credit-based shaper algorithm, or a burst transmission algorithm.
  • the network device retrieves a transmission selection algorithm (or method) table for the port from a database (eg, a management information database) based on the bridge ID and the port ID, and the plurality of network devices within the port from the transmission selection algorithm table.
  • Transmission selection algorithm information for each of the queues (or each traffic class corresponding to each queue) may be obtained.
  • the transmission selection algorithm for that queue may be identified in the transmission selection algorithm table by means of an integer identifier, as shown in FIG.
  • the network device may select a data frame for transmission from the corresponding queue based on the transmission selection algorithm information (S18020).
  • S18020 A method of selecting a data frame for transmission of burst data from a corresponding queue when the transmission selection algorithm is a burst selection algorithm will be described in detail with reference to FIG. 19 below.
  • FIG. 19 is a flowchart illustrating a transmission selection method using a burst transmission algorithm of a network device according to an embodiment of the present invention.
  • FIG. 19 a detailed description of overlapping descriptions with FIGS. 12 to 18 will be omitted.
  • the network device may acquire information on a transmission selection algorithm allocated for a corresponding port or each queue (or each traffic class) within the corresponding port.
  • the transmission selection algorithm for the corresponding port or for each queue (or each traffic class) of the corresponding port may be a burst transmission algorithm.
  • the transmission selection algorithm assigned to all queues in that port may be a burst transmission algorithm.
  • the transmission selection algorithm assigned to some of the queues in that port may be a burst transmission algorithm.
  • the transmission selection algorithm assigned to one or two of the queues in the port may be a burst transmission algorithm.
  • the network device may reconfigure each of the plurality of queues (S19010).
  • the network device may reconfigure each of the outbound queues of the output port into two subqueues of predefined type.
  • the network device may reconfigure each of the outbound queues of the output port into a pair of sub cues in the form of ping / pong.
  • the reconfigured pair of sub cues may have different operating states. For example, when one subqueue is in read status, the other subqueues paired with this may be in write status.
  • the output port of the bridge can be reconfigured into a pair of subqueues that perform different operations instead of simultaneously or simultaneously performing read / write operations in one queue, so that read and write operations can be performed separately.
  • each size of the reconstructed two sub cues may be the same. That is, the size of each sub cue may be half the queue size. As described above with reference to FIG. 13 and the like, detailed description thereof will be omitted.
  • the network device may determine whether the preset state change condition is satisfied (S19020). The network device may determine whether one of the subqueues in the write state satisfies a preset state change condition. In one embodiment, when one of the subqueues in the write state is completely filled with data frames, the network device may determine to satisfy the state change condition. In another embodiment, when a data frame in one of the subqueues in the write state is filled with a threshold size or more, the network device may determine to satisfy the state change condition.
  • the network device may determine whether to meet a preset state change condition within a preset period of time.
  • the preset period refers to a timeout period waiting for one sub queue to be filled.
  • the timeout period may be set based on the size of the sub cue. As described above with reference to FIG. 13 and the like, detailed description thereof will be omitted.
  • the network device may change the states of all subqueues (S19030). Through this, subqueues in a read state may be changed to a write state, and subqueues in a write state may be changed to a read state.
  • the network device may select a data frame for transmission of burst data from the subqueues changed to the read state (S19040).
  • the manner in which the network device selects a data frame for transmission of burst data from a subqueue in a read state uses a streak priority algorithm (or method) to select a data frame for transmission from a subqueue in a read state. It may be in the same way as the way. For example, the network device selects for transmission all of the first data frames stored in a subqueue that is in a read state with the traffic class with the highest priority, and then the traffic class with the next highest priority.
  • all of the second data frames stored in the sub-queue having a read state for selecting for transmission may be sequentially selected from the sub-queue according to the traffic class. As described above with reference to FIG. 13 and the like, detailed description thereof will be omitted.
  • the network device may maintain the states of all subqueues (S19050).
  • the network device may select a data frame for transmission from sub-queues that are currently in a read state (S19060). As described above with reference to FIG. 13 and the like, detailed description thereof will be omitted.
  • the burst transmission method outputs data from the queue by being dominated by the traffic class to which the most data is input, but in the bursted output, the frames having the highest priority (or traffic class) are prioritized. That is, whether the state change condition for outputting burst data is satisfied depends on the queue into which the most data is input, but the actual output of burst data depends on the priority of the traffic class associated with the queue.
  • the burst transmission method has a simple queue control, and the reconfiguration of each queue into a ping-pong-type sub-queue can also be processed by software.
  • the burst transmission algorithm is applied to all the traffic classes (or queues corresponding to the traffic classes) of the corresponding port, but this is mainly described. However, this is only an example for convenience of description, and the scope of the present invention is It is not limited by. For example, a burst transmission algorithm is applied for some traffic classes (or queues corresponding to traffic classes) on that port, and other transmission selection algorithms (eg, streaks) for the remaining traffic classes (or queues corresponding to traffic classes). Priority Algorithm and / or Credit-Based Algorithm) may be applied. In this case, the priority level between traffic classes to which each algorithm is applied may be based on a preset value or a newly defined value.
  • traffic classes (or queues) to which the burst transmission algorithm is applied have the highest priority level
  • traffic classes (or queues) to which the credit-based algorithm is applied have the next highest priority level
  • the traffic class to which the streak priority algorithm is applied may have the lowest priority level.
  • each component or feature is to be considered optional unless stated otherwise.
  • Each component or feature may be embodied in a form that is not combined with other components or features. It is also possible to combine some of the components and / or features to form an embodiment of the invention.
  • the order of the operations described in the embodiments of the present invention may be changed. Some components or features of one embodiment may be included in another embodiment or may be replaced with corresponding components or features of another embodiment. It is obvious that the claims may be combined to form an embodiment by combining claims that do not have an explicit citation relationship in the claims or as new claims by post-application correction.
  • Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof.
  • an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • processors controllers, microcontrollers, microprocessors, and the like.
  • an embodiment of the present invention may be implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above.
  • the software code may be stored in memory and driven by the processor.
  • the memory may be located inside or outside the processor, and may exchange data with the processor by various known means.
  • the present invention is used in a series of network fields.

Abstract

네트워크 디바이스의 전송 선택 방법이 개시된다. 특히, 데이터 프레임을 저장하는 복수의 큐를 포함하는 네트워크 디바이스의 전송 선택 방법이 개시된다. 여기서, 복수의 큐의 각각은 상이한 트래픽 클래스에 대응되고, 상기 방법은 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하는 단계와 전송 선택 알고리즘 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계를 포함한다. 여기서, 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당할 수 있다.

Description

네트워크 장치 및 네트워크 장치의 전송 선택 방법
본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법에 대한 것으로, 특히, 네트워크 장치에서 효율적인 데이터 출력을 위한 전송 선택 방법에 대한 것이다.
LAN(Local Area Network)과 같은 네트워크는 다양한 분야에서 사용된다. 이러한 네트워크는 산업용 네트워크로 사용될 수도 있고, 최근 스마트카의 발전에 따른 차량 내 통신의 발달로 인해 차량내 네트워크로 사용될 수 있다.
이러한 네트워크에서의 데이터의 전송은 사용 분야 또는 목적에 맞게 효율적으로 처리될 필요가 있다. 또한, 네트워크에서의 데이터의 전송은 데이터를 전달받는 스테이션의 특성을 고려하여 결정될 필요가 있다.
상술한 기술적 과제를 해결하기 위하여, 본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법을 제안한다.
본 발명의 일 실시예에 따른 네트워크 디바이스는 적어도 하나의 데이터 프레임을 저장하는 복수의 큐 및 상기 복수의 큐와 연결된 프로세서를 포함할 수 있다. 여기서, 상기 복수의 큐의 각각은 상이한 트래픽 클래스에 대응될 수 있다. 실시예로서, 상기 프로세서는, 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하고, 상기 전송 선택 알고리즘에 대한 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택할 수 있다. 실시예로서, 상기 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당할 수 있다.
실시예로서, 상기 복수의 큐에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘인 경우, 상기 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 것은: 상기 복수의 큐의 각각을 한 쌍의 서브 큐로 재구성하되, 상기 한 쌍의 서브 큐는 상이한 동작 상태를 가지고, 쓰기 상태의 서브 큐들 중 하나가 미리 설정된 상태변경 조건을 만족하는지 여부를 결정하고, 상기 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는 경우, 모든 서브 큐들의 동작 상태를 변경하고, 읽기 상태로 변경된 서브 큐들로부터 버스트 데이터의 전송을 위한 데이터 프레임들을 선택하는 것을 포함할 수 있다.
실시예로서, 상기 읽기 상태로 변경된 서브 큐들로부터 전송을 위한 데이터 프레임들을 선택하는 것은: 제1 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제1 데이터 프레임들을 전송을 위해 선택하고, 상기 제1 데이터 프레임들이 전송을 위해 선택된 이후에, 제2 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제2 데이터 프레임들을 전송을 위해 선택하는 것을 포함하되, 상기 제1 트래픽 클래스는 가장 높은 우선순위를 갖는 트래픽 클래스이고, 상기 제2 트래픽 클래스는 상기 제1 트래픽 클래스보다 낮은 우선순위를 갖는 트래픽 클래스일 수 있다.
실시예로서, 상기 프로세서는, 상기 쓰기 상태의 서브 큐들 중 하나가 상기 데이터 프레임들로 완전히 채워진 경우, 상기 상태변경 조건을 만족하는 것으로 결정할 수 있다.
실시예로서, 상기 프로세서는, 상기 쓰기 상태의 서브 큐들 중 하나가 미리 설정된 기간 이내에 상기 미리 설정된 상태변경 조건을 만족하는 경우에만, 상기 서브 큐들 모두의 동작 상태를 변경할 수 있다.
실시예로서, 상기 한 쌍의 서브 큐는 서로 동일한 사이즈를 가질 수 있다.
본 발명의 일 실시예에 따른 네트워크 디바이스의 전송 선택 방법에서, 네트워크 디바이스는 데이터 프레임을 저장하는 복수의 큐를 포함하고, 상기 복수의 큐의 각각은 상이한 트래픽 클래스에 대응될 수 있다. 상기 네트워크 디바이스의 전송 선택 방법은 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하는 단계; 및 상기 전송 선택 알고리즘에 대한 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계를 포함하며, 상기 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당할 수 있다.
실시예로서, 상기 복수의 큐 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘인 경우, 상기 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계는: 상기 복수의 큐의 각각을 한 쌍의 서브 큐로 재구성하는 단계, 상기 한 쌍의 서브 큐는 상이한 동작 상태를 가지며, 쓰기 상태의 서브 큐들 중 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는지 여부를 결정하는 단계; 상기 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는 경우, 서브 큐들 모두의 동작 상태를 변경하는 단계; 읽기 상태로 변경된 서브 큐들로부터 버스트 데이터의 전송을 위한 데이터 프레임들을 선택하는 단계를 포함할 수 있다.
실시예로서, 상기 읽기 상태로 변경된 서브 큐들로부터 전송을 위한 데이터 프레임들을 선택하는 단계는: 제1 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제1 데이터 프레임들을 전송을 위해 선택하고, 상기 제1 데이터 프레임들이 전송을 위해 선택된 이후에, 제2 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제2 데이터 프레임들을 전송을 위해 선택하되, 상기 제1 트래픽 클래스는 가장 높은 우선순위를 갖는 트래픽 클래스이고, 상기 제2 트래픽 클래스는 상기 제1 트래픽 클래스보다 낮은 우선순위를 갖는 트래픽 클래스일 수 있다.
실시예로서, 상기 네트워크 디바이스는, 상기 쓰기 상태의 서브 큐들 중 하나의 서브 큐가 상기 데이터 프레임들로 완전히 채워진 경우, 상기 하나의 서브 큐가 상기 미리 설정된 상태변경 조건을 만족하는 것으로 결정할 수 있다.
실시예로서, 상기 네트워크 디바이스는, 상기 하나의 서브 큐가 미리 설정된 기간 이내에 상기 미리 설정된 상태변경 조건을 만족하는 경우에만, 서브 큐들 모두의 동작 상태를 변경할 수 있다.
실시예로서, 상기 한 쌍의 서브 큐는 서로 동일한 사이즈를 가질 수 있다.
본 발명은 네트워크 디바이스가 네트워크의 사용 분야 또는 목적에 맞게 데이터의 전송을 위한 전송 선택 방법을 사용하여 데이터를 전송함으로써, 데이터 처리의 효율성을 높일 수 있다.
본 발명은 네트워크 디바이스가 데이터를 전달받는 스테이션의 특성을 고려하여 데이터의 전송 선택 방법을 결정 및 사용함으로써 해당 스테이션이 기대하는 성능을 유지할 수 있게 해준다.
본 발명은 네트워크 디바이스가 버스트 데이터의 전송을 위한 전송 선택 방법을 제공함으로써 이를 전달받는 스테이션에서 에너지 효율적인 처리가 가능하게 한다.
이하에서 본 발명의 부가적인 효과들이 발명의 구성과 함께 설명될 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 브릿지 네트워크를 나타낸다.
도 3은 도 1의 네트워크 모델에서 각 계층간 데이터를 전달하는 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 제어 평면의 상위 계층 엔티티들을 나타낸다.
도 7은 본 발명의 일 실시에에 따른 브릿지 네트워크의 시간 동기화 방법을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 스트림 등록(stream registration)과 스트림 예약(stream reservation) 방법을 나타낸다.
도 9는 도 8의 스트림 등록 및 예약에 대한 아키텍쳐를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 브릿지 포워딩 프로세스를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 크래딧-베이스드 쉐이퍼를 사용하는 네트워크 디바이스의 동작을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 네트워크 디바이스를 포함하는 브릿지 네트워크를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 네트워크 디바이스가 버스트 전송 방법을 이용하여 데이터를 전송하는 방법을 나타낸다.
도 14는 본 발명의 다른 실시예에 따른 네트워크 디바이스가 버스트 전송 방법을 이용하여 데이터를 전송하는 방법을 나타낸다.
도 15는 본 발명의 일 실시예에 따른 버스트 전송 방법을 사용하는 경우, 네트워크 디바이스로 입력 및 출력되는 데이터의 형태를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 전송 선택 알고리즘 테이블을 나타낸다.
도 17은 본 발명의 일 실시예에 따른 네트워크 디바이스의 구성도이다.
도 18은 본 발명의 일 실시예에 따른 네트워크 장치의 전송 선택 방법을 나타내는 순서도이다.
도 19는 본 발명의 일 실시예에 따른 네트워크 장치의 버스트 전송 알고리즘을 이용한 전송 선택 방법을 나타내는 순서도이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 네트워크 디바이스에 관한 것으로, 네트워크 디바이스는 예컨대, IEEE(Institute of Electrical and Electronics Engineers) 802의 네트워크와 같은 네트워크를 구성하는 스테이션(또는, 시스템)의 전체 또는 일부 기능을 수행할 수 있다. 실시예로서, 네트워크 디바이스(1700)는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 이에 포함되거나 이를 포함하는 디바이스일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지에 해당하거나, 또는 브릿지에 포함되거나 브릿지를 포함하는 디바이스(또는 시스템)일 수도 있다. 일 실시예에서, 네트워크 디바이스는 디바이스(또는 네트워크)에 대한 연결 기능을 수행할 수 있다. 일 실시예에서, 네트워크 디바이스는 차량 내 네트워크를 구성하는 디바이스일 수 있다. 본 명세서에서, 네트워크 디바이스는 브릿지 디바이스로 지칭될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 나타낸다. 구체적으로, 도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 OSI 7 계층(Open System Interconnection 7 Layer) 모델과 비교하여 도시한 도면이다. 도 1의 네트워크 모델은 예를 들면, IEEE802를 따르는 네트워크 내의 스테이션(예컨대, 브릿지 또는 엔드 스테이션)에 대한 레퍼런스 아키텍쳐를 나타낸다.
도 1의 왼쪽에 도시된, OSI 7 계층 모델은 ISO (International Standard Organization)에서 제시한 표준화된 네트워크 구조에 대한 기본 모델(또는 참조 모델)로서, 네트워크 통신의 접속에서부터 완료까지의 과정을 7계층으로 구분하여 정의하고 있다. 이는 현재 다른 네트워크 통신 규약의 지침이 되고 있으나, 실제 반드시 준수해야 하는 산업 표준에 해당하지는 않는다. 이러한 OSI 7 계층 모델에서 각 계층의 기능에 대하여 하위 계층에서 상위 계층으로 순차적으로 개략적으로 설명하면 다음과 같다.
우선, 물리(physical) 계층은 네트워크 데이터가 전송될 때 사용되는 물리적 매개체로서, 연결을 설정하고 종료하며, 공유된 통신 자원을 제공하고 아날로그 신호를 디지털 신호로 또는 디지털 신호를 아날로그 신호로 바꾸는 기능을 수행한다. 물리 계층은 제1 계층(layer 1)으로 지칭될 수도 있다.
데이터 링크(data link) 계층은 물리적인 네트워크 사이의 데이터 전송 기능을 수행한다. 이러한 데이터 링크 계층의 주요 목적 중 하나는 물리적인 장비를 식별하는 데 사용되는 주소 지정 체계와 데이터가 변조되지 않았음을 보장하기 위한 오류 확인을 제공하는 것이다. 데이터 링크 계층은 제2 계층(layer 1)으로 지칭될 수 있다.
네트워크(network) 계층은 물리적인 네트워크 사이의 라우팅 기능을 수행하며, 라우터(router)가 이 계층에서 동작한다. 또한, 네트워크 계층은 네트워크 호스트의 논리적인 주소(예컨대, IP주소)를 관리하고 패킷을 분할해 프로토콜을 식별하는 기능, 오류 탐지와 같은 기능 등을 수행할 수 있다. 네트워크 계층은 제3 계층(layer 3)으로 지칭될 수 있다.
전송(transport) 계층은 연결 지향적인 프로토콜과 비연결 지향적인 프로토콜을 제공하며, 방화벽과 프록시 서버가 이 계층에서 동작한다. 이러한 전송 계층의 주요한 목적 중 하나는 하위 계층에 신뢰성 있는 데이터를 전송할 수 있도록 하는 것이다. 즉, 지점과 지점 간의 오류가 없음을 보장해 주는 것을 주요 목적으로 한다. 전송 계층은 제4 계층(layer 4)으로 지칭될 수 있다.
세션(Session) 계층은 두 대의 컴퓨터 사이의 세션이나 대화를 관리하는 기능을 수행한다. 이러한 세션 계층은 모든 통신 장비를 연결하고 관리하며 종료키는 기능, 또한 순간적으로 연결이 끊어지는 것을 막고 호스트 사이의 연결을 적절하게 종료시키기 위한 기능과 연결이 단방향인지 양방향인지에 식별하는 기능 등을 담당한다. 세션 계층은 제5 계층(layer 5)으로 지칭될 수 있다.
표현(Presentation) 계층은 상위 응용 계층으로부터 전송받거나 전달되는 데이터의 인코딩과 디코딩 기능을 수행한다. 또한, 표현(Presentation) 계층은 안전하게 데이터를 사용하기 위해 몇 가지 암호화와 복호화 포맷을 포함할 수 있다. 표현 계층은 제6 계층(layer 6)으로 지칭될 수 있다.
응용(Application) 계층은 사용자에게 네트워크 자원에 대한 접근 기능을 제공한다. 이러한 응용 계층은 네트워크 활동들에 대한 모든 기본적인 인터페이스를 제공하며, 전형적으로 사용자에게 보여지는 유일한 계층에 해당한다. 응용 계층은 제7 계층(layer 7)으로 지칭될 수 있다.
이와 같이 네트워크 구조의 각 계층을 분리하는 경우, 각 계층에서 동작하는 프로토콜이 계층별로 독립적이기 때문에 설계 및 분석이 용이하다는 이점이 있다. 한편, 이러한 OSI 7 계층 모델을 따르는 네트워크 시스템이라고 하더라도, 시스템이 동작하기 위하여 상술한 모든 계층을 포함하여야 하는 것은 아니고, 일부 계층이 생략되거나 변경될 수 있다.
도 1의 가운데 및 오른쪽은 본 발명의 일 실시예에 따른 네트워크 모델(이하 “네트워크 모델”)을 나타낸다. 상술한 바와 같이, 네트워크 모델은 IEEE802 (Institute of Electrical and Electronics Engineers)에서 정의하고 있는 표준화된 네트워크의 네트워크 모델일 수 있다. IEEE802 네트워크 모델은 상술한 OSI 7 계층 모델로부터 유래된 네트워크 모델로서, 예컨대, IEEE802 표준에 특정된 MAC(Media Access Control) 프로토콜을 사용하는 하나 이상의 상호연결된 네트워크로 구성된 네트워크의 모델일 수 있다. 이러한 IEEE802 네트워크 모델은 OSI 7 계층 모델의 하위 2 개의 계층, 즉, 피지컬 계층 및 데이터 링크 계층을 주로 강조한다. 이하에서는, 네트워크 모델이 IEEE802 네트워크 모델인 경우를 중심으로 네트워크 모델의 각 계층에 대하여 설명한다.
도 1의 가운데 및 오른쪽에 도시된 것처럼, 네트워크 모델은 OSI 7 계층 모델의 물리 계층에 대응되는 물리 계층, 데이터 링크 계층에 대응되는 데이터 링크 계층 및 네트워크 계층부터 최상위 계층인 응용 계층까지의 계층들에 대응되는 계층을 포함할 수 있다. 여기서, OSI 7 계층 모델의 네트워크 계층부터 최상위 계층인 응용 계층까지의 계층들에 대응되는 계층은 상위 계층(또는, 상위 계층 프로토콜)로 통칭될 수 있다. 대응되는 각 계층들은 해당 표준에서 특별히 규정하고 있는 부분을 제외하고는 동일 또는 유사한 기능을 수행할 수 있다.
실시예로서, 네트워크 모델의 데이터 링크 계층은 LLC(Logical Link Control) 부계층(sublayer)과 MAC(Media Access Control) 부계층(sublayer)으로 세분화될 수 있다. 실시예에 따라서는, MAC 부계층이 물리 계층의 일부를 포함할 수 있다.
LLC 부계층은 MAC 부계층과 상위 계층간의 연결 기능을 수행하며, 다양한 MAC 부계층의 토폴로지 방식들 간의 차이를 보완해 주는 역할을 수행할 수 있다. 즉, LLC 부계층은 통신 망의 MAC 토플로지(topology) 방식에 관계 없이 데이터의 전송이 가능하도록 하는 역할을 수행할 수 있다.
MAC 부계층은 물리 계층과 상위 계층인 LLC 부계층과의 연결 기능을 수행하며, 스테이션들 간에 프레임-기반 데이터 전달을 제공하기 위한 기능을 수행할 수 있다. 또한, MAC 부계층은 복수의 스테이션(station)이 제한된 용량의 전송 매체를 사용할 때 상호 충돌을 방지하게 함으로써 신뢰성 높은 통신을 제공하도록 한다. 이러한 MAC 부계층의 토플로지 방식(또는 매체 접근(media access) 방식)은, 예컨대, 토큰 버스(token bus), 토큰 링(token ring), CSMA/CD와 같은 방식을 포함할 수 있다. MAC 부계층의 다른 기능으로는 브릿지와 같은 상호연결 장치와 엔드 스테이션 간의 플로우 제어(flow control) 기능과 목적지 주소에 따라 프레임들을 포워딩하는 기능이 포함될 수 있다.
도 1의 가운데 도시된 것처럼, 수신측 스테이션에서 데이터를 전송할 때에는 최상위 계층에서 최하위 계층인 물리 계층까지, 각 계층을 차례로 내려오며 데이터를 처리할 수 있다. 이때, 하위 계층으로 데이터가 전달되는 과정에서 캡슐화(encapsulation)가 수행되는데, 일반적으로 각 계층은 상위 계층에서 전달받은 데이터에 특정 정보가 포함된 헤더(header) 및/또는 테일(tail)을 추가한 뒤 하위 계층으로 전달할 수 있다. 이렇게 전달된 데이터는 물리 계층 처리를 통해 송신측 스테이션으로 전송될 수 있다.
도 1의 오른쪽에 도시된 것처럼, 송신측 스테이션에서 데이터를 수신할 때에는 최하위 계층인 물리 계층에서 최상위 계층까지, 각 계층을 차례로 올라가며 데이터를 처리할 수 있다. 이때, 상위 계층으로 데이터가 전달되는 과정에서 디캡슐화(decapsulation)가 수행되는데, 일반적으로 각 계층은 하위 계층에서 전달받은 데이터에서 헤더와 테일을 분석하고 처리하며, 헤더와 테일이 제거된 데이터를 상위 계층으로 전달할 수 있다. 이러한 방식으로 각 계층에서 데이터를 처리하는 경우, 최종 응용 계층은 최초 생성된 원본 데이터만을 전달받을 수 있다. 이러한 각 계층간 데이터 처리과정은 도 3을 참조하여 이하에서 상세히 설명한다.
본 명세서에서는, 상술한 네트워크 모델의 계층들 중 데이터 링크 계층을 중심으로 본 발명의 다양한 실시예들을 설명한다. 예를 들면, IEEE 802 네트워크의 데이터 링크 계층의 기능의 전부 또는 일부를 수행하는 브릿지 네트워크(bridged network) 내의 브릿지(bridge)에 대하여 설명한다.
본 명세서에서, 브릿지 네트워크는 브릿지에 의해 상호연결된 네트워크들의 결합(concatenation)을 의미하고, 브릿지는 브릿지 네트워크에서 네트워크들을 연결하는 장치(또는 스테이션)를 의미한다. 예를 들면, 브릿지 네트워크는 브릿지에 의해 상호연결된 개별 IEEE 802 LAN들의 결합일 수 있고, 브릿지는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN(Virtual LAN) 브릿지일 수 있다. 이러한 MAC 브릿지 및 VLAN 브릿지에 대하여는 도 5를 참조하여 이하에서 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 브릿지 네트워크를 나타낸다. 구체적으로, 도 2는 도 1의 네트워크 모델의 데이터 링크 계층의 전부 또는 일부 기능을 수행하는 브릿지를 포함하는 브릿지 네트워크(Bridged Network)의 물리적 토폴로지를 나타낸다. 도 2의 실시예에서, 브릿지 네트워크는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지를 포함하는 네트워크일 수 있다.
도 2에 도시된 것처럼, 브릿지 네트워크는 LAN들 및 브릿지들을 포함할 수 있다. 브릿지는 둘 이상의 브릿지 포트를 포함할 수 있다. 각 브릿지 포트는 LAN를 브릿지에 연결(attach)시키고, 데이터의 프레임(예컨대, MAC 프레임)들에 대한 양방향 연결성(bidirectional connectivity)을 제공할 수 있다. 즉, 각 브릿지는 브릿지 포트를 통해 프레임들을 전달함으로써 LAN과 LAN 사이를 연결할 수 있다. 각 LAN은 브릿지에 의해 다른 모든 LAN들과 연결되거나, 또는 영 또는 이상의 다른 LAN들과 브릿지들과 연결될 수 있다.
실시예로서, 브릿지 네트워크는 VLAN 브릿지를 포함하는 가상 브릿지 네트워크(Virtual Bridged Network)일 수 있다. 여기서, 가상 브릿지 네트워크는 상술한 IEEE802.1Q에 따르는 VLAN 브릿지를 포함하는 브릿지들에 의해 상호연결된 개별 IEEE LAN들의 결합인 브릿지 네트워크일 수 있다. 실시예로서, 가상 브릿지 네트워크는 전송할 프레임 내의 VLAN 식별자(ID)를 이용하여 여래 개의 VLAN을 구성할 수 있다. 본 명세서에서, 가상 브릿지 네트워크는 VLAN 브릿지 네트워크 또는 VLAN 네트워크로 지칭될 수도 있다.
브릿지 네트워크가 가상 브릿지 네트워크(Virtual Bridged Network)인 경우, VLAN 브릿지는 하나의 브릿지로 다수의 상이한 VLAN(또는 LAN)을 연결할 수 있다. 다만, 이 경우에도, 동일한 VLAN 사이에서만 VLAN 브릿지를 통한 데이터의 송수신이 가능하며, 상이한 VLAN으로 데이터를 전송하려는 경우에는 상위 계층에서 동작하는 라우터를 이용하여야 한다. 일 실시예에서, 개별 VLAN이 동일한지 여부는 각 VLAN에 할당된 VLAN 식별 정보에 의해 식별될 수 있다. 예를 들면, VLAN 브릿지는 입력된 데이터 프레임의 VLAN 태그에 포함된 VLAN ID 정보(또는 필드)와 같은 VLAN 식별 정보를 이용하여 상호연결된 개별 VLAN이 동일한지 여부를 식별할 수 있고, 동일한 VLAN 사이에서만 데이터가 교환되게 할 수 있다. 이러한 브릿지 네트워크 및 개별 브릿지의 구성과 동작 원리에 대해서는 도 5를 참조하여 설명한다.
이하에서는 브릿지 및 브릿지 네트워크가 주로 IEEE 802.1Q에 따르는 VLAN 브릿지 및 VLAN 브릿지 네트워크인 경우를 예로들어 본 발명의 실시예들을 주로 설명한다. 다만, 이는 설명의 편의를 위한 예시에 불과하고, 동일하거나 유사한 설명이 VLAN에 국한된 경우를 제외하고는 IEEE 802.1에 따르는 다른 브릿지(예컨대, MAC 브릿지) 및 브릿지 네트워크에도 적용될 수 있다.
도 3은 도 1의 네트워크 모델에서 각 계층간 데이터를 전달하는 방법을 나타낸다. 특히, 도 3은 도 1의 네트워크 모델의 MAC 부계층(또는 MAC 계층)에서 상위 계층으로부터 전달된 데이터를 하위 계층으로 전달하는 방법을 나타낸다.
계층간 데이터를 교환하는 경우, 필요한 정보를 추가하거나 더 이상 필요 없는 정보를 제거할 수 있는데, 이러한 과정을 캡슐화(encapsulation)/디캡슐화(decapsulation)라고 한다. 예를 들면, 송신 측 스테이션에서 데이터(또는 정보)가 상위 계층에서 하위 계층으로 내려올 때 캡슐화가 이루어지며, 수신 측 스테이션에서 데이터(또는 정보)가 하위 계층에서 상위 계층으로 올라갈 때 디캡슐화가 이루어질 수 있다.
도 3의 상단에서처럼, 송신 측에서, 스테이션은 각 계층에서 해당 계층의 프로토콜에 기초하여 SDU(Service Data Unit)에 필요한 정보를 추가하는 캡슐화 과정을 수행함으로써, 하위 계층으로 전송 가능한 데이터 형태인 PDU(Protocol Data Unit)를 생성할 수 있다. 여기서, SDU는 계층 또는 부계층 사이에 전달되는 정보를 의미한다. 이와 반대로, 수신 측에서, 스테이션은 각 계층에서 해당 계층의 프로토콜에 기초하여 PDU로부터 필요한 정보를 획득하는 디캡슐화 과정을 수행함으로써, 상위 계층으로 전송 가능한 데이터 형태인 SDU를 생성할 수 있다.
실시예로서, 계층 N(Layer N)이 도 1의 네트워크 모델의 MAC 부계층인 경우, 스테이션은 계층 N에서 상위 계층인 LLC 부계층(Layer N-1)으로부터 전달받은 SDU(L-N SDU)에 대한 캡슐화를 수행하여, PDU(L-N PDU)를 생성할 수 있고, 이를 계층 하위 계층인 물리 계층(Layer N+1)으로 전달할 수 있다. 계층 N에서 생성된 PDU(L-N PDU)는 도 3의 하단과 같은 프레임 포맷를 가질 수 있다. 즉, 도 1의 네트워크 모델(예컨대, 이더넷)의 MAC 부계층의 PDU는 도 3의 하단과 같은 프레임 포맷을 가질 수 있다. 본 명세서에서, 이러한 L-N PDU는 이더넷 MAC 계층의 PDU, MAC PDU 또는 MAC 프레임으로 지칭될 수도 있고, L-N PDU의 프레임 포맷은 이더넷 프레임 포맷 또는 MAC 프레임 포맷으로 지칭될 수도 있다.
도 3의 하단에 도시된 것처럼, MAC PDU는 목적지 주소(Destination Address) 필드, 송신지 주소(Source Address) 필드, 타입(Type) 필드, 길이(Length) 필드, 데이터(Data) 필드 및/또는 FCS(Frame Check Sequence) 필드를 포함할 수 있다. 본 명세에서, 데이터 필드를 제외한, 각 필드들은 제어 필드로 지칭될 수도 있다.
목적지 주소 필드는 MAC의 목적지 주소 정보를 포함하고, 송신지 주소 필드는 MAC의 송신지 주소 정보를 포함한다. 본 명세서에서, 목적지 주소 필드는 목적지 필드로 지칭될 수도 있고, 송신지 주소 필드는 송신지 필드 또는 소스 필드로 지칭될 수도 있다.
타입 필드는 상위 프로토콜의 타입 정보를 포함한다. 예를 들면, 타입 필드는 LLC 부계층(또는 계층)의 프로토콜의 타입 정보를 제공할 수 있다. 길이 필드는 데이터 필드의 길이에 대한 정보를 포함한다. 실시예로서, 길이 필드는 데이터 필드 내 데이터의 길이를 옥텟(octet)으로 표시할 수 있다. 일 실시예에서, 타입 필드 및 길이 필드는 하나의 필드(예컨대, 타입/길이 필드)로 구성될 수 있다.
데이터 필드는 상위 계층에서 전달 받은 데이터를 포함한다. 예를 들면, 데이터 필드는 LLC 부계층(또는 계층)에서 전달 받은 SDU를 포함할 수 있다. FCS 필드는 에러 검출을 위한 정보를 포함하는 필드로서, 수신 측에서의 에러 검출을 위해 프레임의 마지막 부분에 삽입될 수 있다. 본 명세서에, 데이터 필드는 페이로드로 지칭될 수도 있다.
실시예로서, MAC PDU는 VLAN 태그 필드를 더 포함할 수 있다. 예를 들면, 브릿지 네트워크가 VLAN 브릿지를 포함하는 VLAN 브릿지 네트워크인 경우, MAC PDU는 VLAN 태그 필드를 더 포함할 수 있다.
VLAN 태그 필드는 선택적인(optional) 태그로서, VLAN의 지원 여부에 따라 그 존재 여부가 결정된다. 실시예로서, VLAN 태그 필드는 TPID(Tag protocol Identifier) 필드, PCP(Priority Code Point) 필드, DEI(Drop Eligible Indicator) 필드 및/또는 VLAN ID(VLAN Identifier) 필드를 포함할 수 있다. 실시예로서, VLAN 태그 필드는 타입/길이 필드의 앞에 위치되거나, 타입/길이 필드 내에 포함될 수 있으나, 이에 한정되지 않는다.
TPID 필드는 VLAN 태그된 프레임의 프로토콜 ID 정보를 포함한다. 예를 들면, 해당 프레임이 VLAN 태그된 이더넷 프레임 (또는 MAC 프레임)인 경우, TPID는 고정된 값(예컨대, costomer network의 경우, 0x8100)을 가질 수 있다. 이러한 고정된 값을 갖는 TPID 필드의 존재 여부에 따라, 해당 프레임이 VLAN 태그를 지원하는지 여부가 결정될 수 있다. 실시예로서, TPID 필드는 VLAN 태그 필드 내에서 맨 앞쪽에 위치될 수 있으나, 이에 한정되지 않는다.
PCP 필드는 해당 프레임의 우선순위에 대한 정보를 포함할 수 있고, 이 우선순위 정보는 트래픽 클래스와 연관(또는 맵핑)될 수 있다. 실시예로서, PCP 필드는 3 비트의 필드로 구성될 수 있고, 이를 통해 8개의 프레임의 우선순위를 표현할 수 있다. 실시예로서, 브릿지의 각 브릿지 포트는 다수 개(예컨대, 8 개)의 아웃바운드 큐(outbound queue)를 포함할 수 있다. 여기서, 아웃바운드 큐는 브릿지의 출력 포트로부터 데이터 및 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 아웃바운드 큐는 트래픽 클래스와 일대일로 맵핑될 수 있다. 따라서, PCP 필드의 값은 해당 프레임이 다수 개의 아웃바운드 큐 중 어느 큐에 저장되어야 하는지를 결정하는데 사용될 수 있다. 이에 대하여는 도 4를 참조하여 이하에서 상세히 설명한다.
DEI 필드는 미리 설정된 조건 만족 시, 해당 프레임이 제거되어도 되는지 여부를 나타내는 정보를 포함한다. 예를 들면, DEI 필드는 데이터의 양이 증가하여 혼잡(congestion) 상태가 되었을 때, 현재 프레임이 제거되어도 되는지 여부를 나타내는 정보를 포함할 수 있다.
VLAN ID 필드는 해당 프레임이 속한 VLAN의 ID를 나타낸다. 이 VLAN ID 필드를 이용하여, VLAN 브릿지 네트워크에서 동일한 VLAN ID를 갖는 디바이스 간에만 데이터의 전송이 가능하다. 본 명세서에서, VLAN ID는 VID로 지칭될 수도 있다.
일 실시예에서, 목적지 주소 필드의 값과 VLAN ID 필드의 값은 브릿지의 브릿지 포트(예컨대, 출력 브릿지 포트)를 결정하기 위해 사용될 수 있고, PCP 필드의 값은 결정된 브릿지 포트에서 어떤 큐(예컨대, 아웃바운드 큐)에 데이터 프레임이 저장될 지를 결정하기 위해 사용될 수 있다. 또한, PCP 필드와 DEI 필드는 QoS (Quality of Service)를 결정하는 요소가 될 수 있다.
상술한 실시예에서는, MAC PDU가 VLAN 태그 필드를 포함하는 실시예에 대하여만 설명하였으나, 실시예에 따라서는, MAC PDU가 전송되는 네트워크의 종류(Provider network, backbone network, customer network 등)에 따라 필요한 태그 필드를 VLAN 태그 필드와 함께 또는 VLAN 태그 필드를 대체하여 포함할 수 있다.
수신측에서, 스테이션은 계층 N(Layer N)에서 상술한 필드들을 포함하는 PDU(L-N PDU)를 하위 계층인 물리 계층(Layer N+1)으로부터 전달받고, 전달받은 PDU에 대한 디캡슐화를 수행하여, 다양한 정보를 획득하고, SDU(L-N SDU)를 생성할 수 있고, 이를 상위 계층인 LLC 부계층(Layer N-1)으로 전달할 수 있다. 또한, 스테이션은 획득한 정보에 기초하여 해당 계층에서 수행되는 다양한 동작을 수행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타낸다. 도 4의 실시예에서, 가로 축은 이용가능한 트래픽 클래스의 수를 나타내고, 세로축은 우선순위(priority)를 나타낸다. 도 4의 실시예에서 제시되는 우선순위와 트래픽 클래스 간의 맵핑 관계는 예시적인 맵핑 관계 중 하나이고, 네트워크의 사용자에 의해 임의로 변경될 수 있다. 도 4의 실시예와 같은 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타내는 테이블은 우선순위-클래스 맵핑 테이블로 지칭될 수 있다. 실시예로서, 브릿지는 브릿지 포트 별로 우선순위-클래스 맵핑 테이블을 가질 수 있다.
본 명세서에서, 트래픽 클래스는 프레임의 전송을 촉진시키기(expedite) 위해 사용되는 분류(classification)를 말한다. 또한, 아웃바운드 큐는 브릿지의 출력 포트로부터 데이터 및 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 또한, 프레임(또는 데이터 프레임)은 전송되는 데이터의 단위를 말한다. 본 명세서에서, 큐는 버퍼로 지칭될 수도 있다.
상술한 바와 같이, PCP 필드의 값은 해당 프레임의 우선순위를 나타내고, 이 값은 브릿지의 출력 포트의 각 큐에 대응되는 트래픽 클래스 값들과 연관(또는 맵핑)될 수 있다. 따라서, PCP 필드의 값은 해당 프레임이 출력 포트의 큐들 중 어느 큐에 저장되어야 하는지 결정하기 위해 사용될 수 있다. 예를 들면, 브릿지는 수신된 프레임 내의 PCP 필드로부터 우선순위 정보를 획득하고, 우선순위-클래스 맵핑 테이블을 참조하여 해당 우선순위와 맵핑된 트래픽 클래스를 확인하고, 해당 트래픽 클래스와 연관된 큐에 해당 프레임을 저장할 수 있다.
브릿지의 입력 포트로 수신된 데이터의 프레임은 목적지를 정확히 알고 있다면 원하는 출력 포트로 바로 전달될 수 있으나, 그렇지 않다면, 입력 포트를 제외한 다른 모든 포트로 전달될 수 있다. 이렇게 출력 포트로 전달된 프레임은 출력 포트 내의 큐들 중 어느 큐에 저장될지 결정되어야 하는데, 이때, PCP 필드의 값과 연관된 트래픽 클래스의 값이 사용될 수 있다. 이를 위해, 예컨대, 도 4와 같은 우선순위-클래스 맵핑 테이블이 미리 설정될 필요가 있다.
상술한 바와 같이, PCP 필드는 3 비트의 필드로 구성되므로, 브릿지에 입력되는 각 프레임은 8 가지의 우선순위 중 한 가지를 가질 수 있다. 또한, 각 브릿지 포트는 1 에서 최대 8 개까지의 큐(또는 아웃바운드 큐)를 가질 수 있고, 각 아웃바운드 큐는 할당된 트래픽 클래스와 1 대 1로 맵핑될 수 있다. 이 경우, 트래픽 클래스의 값은 0 에서 N-1일 수 있다. 여기서, N은 해당 포트의 아웃바운드 큐의 수를 나타낸다. 예를 들면, 브릿지 포트에서 사용 가능한 큐가 3개인 경우, 해당 브릿지 포트에서 사용 가능한 트래픽 클래스의 값은 0, 1, 2 일 수 있다. 즉, 3 종류의 트래픽 클래스만이 사용될 수 있다. 이때, 낮은 트래픽 클래스 값에 대응되는 큐가 더 낮은 우선순위를 갖는 것으로 결정될 수 있다. 예를 들면, 트래픽 클래스가 0인 값에 대응되는 큐가 가장 낮은 우선순위를 가질 수 있다. 다만, 실시예에 따라서는, 트래픽 클래스 값이 높을수록 더 낮은 우선순위를 갖는 것으로 결정될 수도 있다.
도 4의 표에서 음영으로 표시된 부분은 이용가능한 트래픽 클래스의 수가 3인 경우의 트래픽 클래스와 우선순위 간의 맵핑 관계를 나타난대. 즉, 8 개의 코드 값(또는 우선순위 값)을 갖는 PCP와 3개의 클래스 값을 갖는 트래픽 클래스 간의 예시적인 맵핑 관계를 보여준다. 해당 부분을 참조하면, 우선순위 값(또는 PCP 코드 값)이 0 내지 3인 프레임은 트래픽 클래스 값으로 0을 가지므로, 이 프레임은 브릿지 포트의 1번 큐에 저장될 수 있다. 또한, 우선순위 값(또는 PCP 코드 값)이 4 내지 5인 프레임은 트래픽 클래스 값으로 1을 가지므로, 이 프레임은 브릿지 포트의 2번 큐에 저장될 수 있다. 또한, 우선순위 값(또는 PCP 코드 값)이 6 내지 7인 프레임은 트래픽 클래스 값으로 2 값을 가지므로, 이 프레임은 3번 큐에 저장될 수 있다. 이와 유사한 설명이, 이용가능한 트래픽 클래스의 수가 3이 아닌 다른 값을 갖는 경우, 트래픽 클래스와 우선순위 간의 맵핑 관계에도 적용될 수 있다.
실시예로서, 각 큐에 저장된 프레임은 서로 상이한 트래픽 타입을 가질 수 있다. 즉, 상이한 큐에 저장된 프레임은 상이한 트랙픽 타입을 가질 수 있다. 여기서, 트래픽 타입은 예컨대, BE(Best-effort) 트래픽, RC(Rate constrained) 트래픽 및 TT(Time trigger) 트래픽의 3개의 트래픽을 포함할 수 있다.
BE 트래픽(또는 프레임)은 낮은 우선순위를 갖는 트래픽이며, 타이밍이나 레이턴시가 보장되지 않는 타입일 수 있다. 즉, 다수의 큐에 저장된 프레임들이 하나의 출력 포트로 순차적으로 출력될 때, BE 트래픽은 컨제스쳔이 발생하는 경우에 시간 보장성 없이 늦게 전달되거나, 또는 전달이 되지 않을 수도 있다.
RC 트래픽(또는 프레임)은 프레임과 프레임 사이의 최소 시간 간격과 최대 프레임 크기를 이용하여 전송할 수 있는 대역폭을 보장 받을 수 있다. RC 트래픽의 경우, 보장된 대역폭 내에서는 전송 시간이 보장되며 컨제스쳔 발생시 프레임 손실없이 전송이 가능하다. 그러나, 보장되는 전체적인 전송 딜레이가 큰 편이기 때문에, RC 트래픽은 오디오와 비디오의 전송에는 적합하나 타임 센서티브한(time sensitive) 산업 제어(industrial control)나 자동차 관련 어플리케이션(application)에는 적합하지 않다.
TT 트래픽(또는 프레임)은 주어진 시간 구간내에서는 다른 프레임으로 인한 간섭(interference) 없이 바로 프레임이 전달되는 구조로서, 프레임 로스가 없고, 전달 시간이 빠른 트래픽 타입이다. TT 트래픽은 타임 센서티브에 관한 요구 사항이 높은 제어 신호 등에 적합할 수 있다. 예를 들면, TT 트래픽은 타임 센서티브한 산업 제어나 자동차 관련 어플리케이션(application)에 적합할 수 있다.
이러한 트래픽 타입을 상술한 도 4의 표에 음영 표시된 부분의 트래픽 클래스와 연관시키는 경우, 예컨대, 트래픽 클래스 0인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 BE 트래픽을 전달하기 위해 사용될 수 있고, 트래픽 클래스 1인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 RC 트래픽(예컨대, 오디오 또는 비디오와 관련된 프레임들의 트래픽)을 전달하기 위해 사용될 수 있고, 트래픽 클래스 2인 값을 갖는 프레임들이 저장되는 아웃바운드 큐는 TT 트래픽(예컨대, 자동차나 공장 자동화를 위한 제어 신호와 관련된 프레임들의 트래픽)을 전달하기 위해 사용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐를 나타낸다. 구체적으로, 도 5(a)는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐의 개념도이고, 도 5(b)는 브릿지 아키텍쳐의 제1 예이고, 도 5(c)는 브릿지 아키텍쳐의 제2 예이다. 실시예로서, 도 5의 브릿지 아키텍쳐는 IEEE802.1에 따르는 브릿지의 아키텍쳐일 수 있다. 예를 들면, 브릿지 아키텍쳐는 IEEE802.1D 또는 IEEE802.1Q에 따르는 MAC 브릿지 또는 VLAN 브릿지의 아키텍쳐일 수 있다.
도 5(a)를 참조하면, 브릿지는 적어도 하나의 브릿지 컴포넌트를 포함한다. 실시예로서, 브릿지는 적어도 두 개의 포트, MAC 릴레이 엔티티(또는 릴레이 엔티티) 및/또는 상위 레이어 엔티티들을 포함할 수 있다.
적어도 두 개의 브릿지 포트 중 LAN에서 데이터가 입력되는 포트를 인그레스 포트(ingress port)(또는 입력 포트)라고 하고, LAN으로 데이터가 출력되는 포트는 이그레스 포트(egress port)(또는 출력 포트)라고 한다. 실시예로서, 인그레스 포트는 필터링(filtering or drop), (언)태깅((un)tagging), VID 번역(VID translation) 및/또는 (디)캡슐화(de/en-capsulation) 등에 관련된 기능을 수행할 수 있다. 실시예로서, 이그레스 포트는 필터링, (언)태깅, VID 번역, (디)캡슐화, 메터링(metering), 큐잉(queuing), 전송 선택(transmission selection)등에 관련된 기능을 수행할 수 있다.
릴레이 엔티티는 브릿지의 포트들을 상호연결하는 엔티티를 말한다. 실시예로서, 릴레이 엔티티는 브릿지의 포트들 사이에서 프레임들을 전달(relaying)하는 기능, 프레임들을 필터링(filtering)하는 기능 및/또는 필터링 정보를 학습(learning)하는 기능을 수행할 수 있다. 본 명세서에서, 릴레이 엔티니는 MAC 릴레이 엔티티로 지칭될 수도 있다.
상위 계층 엔티티들은 데이터를 통신할 수 있는 네트워크 망을 결정하는 프로토콜들을 말한다. 이에 대하여는 도 6을 참조하여 이하에서 상세히 설명한다.
실시예로서, 상술한 브릿지 컴포넌트는 그 기능에 따라 제어 평면 또는 데이터 평면에 포함될 수 있다. 예를 들면, 상위 계층 엔티티들은 제어 평면에 포함될 수 있고, 브릿지 포트 및 릴레이 엔티티는 데이터 평면에 포함될 수 있다.
일 실시예에서, 외부 에이전트(External Agent)가 제어 평면에 더 포함될 수 있다. 여기서, 외부 에이전트는 상위 계층 엔티티들을 통해 이미 제공된 프로토콜 대신에 외부에서 제공되는 컨트롤을 말한다. 예를 들면, 외부 에이전트는 공지된 SDN(Software Defined Network) 컨트롤러일 수 있다. 이를 통해, 브릿지의 데이터 전달 및 동작이 소프트웨어 기반 컨트롤러에서 제어 관리될 수도 있다.
도 5(b)의 실시예의 브릿지 아키텍쳐는 예컨대, MAC 브릿지의 아키텍쳐일 수 있다. 실시예로서, MAC 브릿지는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지로서, VLAN 태깅(tagging)된 프레임을 인식(recognize)하지 않는 브릿지를 말한다. 즉, MAC 브릿지는 프레임에 포함된 VLAN 태그를 인식하지 못하는 브릿지를 말한다.
실시예로서, MAC 브릿지는 각 브릿지 포트에서 ISS(Internal Sublayer Service)를 지원하는 기능 및 각 브릿지 포트들 사이에 프레임들을 전달(relay)하는 기능을 제공하는 적어도 하나의 MAC 브릿지 컴포넌트를 포함할 수 있다. 예를 들면, 도 5(b)에서와 같이, MAC 브릿지는 상술한 기능을 수행하기 위하여, 적어도 두 개의 포트, 릴레이 엔티티 및/또는 상위 계층 엔티티들을 포함할 수 있다.
여기서, ISS는 MAC 부계층의 내부 계층에서 제공되는 서비스로서, 다수의 SAP(Service Access Point)들 사이에 데이터 전송 및 브릿지 포트 사이에 데이터 프레임의 전달이 가능하게 하는 등 MAC 서비스의 기본 기능을 제공한다.
일반적으로, 상위 계층이 하위 계층에 데이터를 호출하는 경우 또는 그 반대의 경우 SAP(Service Access Point)를 통해서 프리미티브(primitive)를 전달하거나, 프리미티브를 받는 방법으로 계층간 통신이 이루어 질 수 있다. 그리고, MAC 부계층을 포함하는 계층 구조에서, 각 계층은 매체 접근 방식(media access method)에 상관없이 독립적으로 동작할 수 있어야 한다. 이를 위해, 상술한 바와 같이, 어떤 방식의 매체 접근 방식으로 사용되더라도 MAC 부계층은 이를 처리할 수 있어야 하고, ISS는 이것이 가능하도록 SAP의 프리미티브를 정하는 역할을 수행한다. 실시예로서, ISS는 물리 계층에서 받은 파싱(parsing)된 데이터와 지역적으로 사용되는 데이터로 프리미티브를 구성할 수 있다.
일 실시예에서, ISS의 프리미티브는 목적지 주소(destination_address), 발신지 주소(source_address), MSDU(mac_service_data_unit), 우선순위(priority), DE(drop_eligible), FCS(frame_check_sequence), SAP 식별자(service_access_point_identifier) 및/또는 연결 식별자(connection_identifier)와 같은 파라미터들을 포함할 수 있다. 여기서, 목적지 주소, 발신지 주소, MSDU, 우선순위, DE, FCS 파라미터는 도 4를 참조하여 상술한 바와 같다. 또한, SAP 식별자는 릴레이 엔티티에서 사용되는 브릿지 포트의 ID를 나타내며, 연결 식별자는 MAC 부계층에서의 연결, 예를 들어, 데이터(또는 데이터 프레임) 전송을 위한 전송 연결과 같은 연결에 대한 식별(또는 구분)을 나타낸다. 이러한 연결 식별자는 SAP가 하나인 경우에 중요하며, 나머지 경우에는 null 값으로 사용될 수도 있다.
실시예로서, 목적지 주소, 발신지 주소, MSDU, 우선순위, DE, FCS 파라미터는 물리 계층에서 받은 프레임을 파싱함으로써 얻을 수 있는 파라미터이며, SAP 식별자 및 연결 식별자 파라미터는 내부적으로(또는 지역적으로) 사용되는 파라미터일 수 있다.
도 5(c)의 실시예의 브릿지 아키텍쳐는 예컨대, VLAN 브릿지의 아키텍쳐일 수 있다. 실시예로서, VLAN 브릿지는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지로서, VLAN 태그를 인식, 삽입 및 제거할 수 있는 브릿지를 말한다. 즉, VLAN 브릿지는 MAC 브릿지와는 달리, 프레임에 포함된 VLAN 태그를 인식하하는 브릿지를 말한다.
실시예로서, VLAN 브릿지는 각 브릿지 포트에서 EISS(Enhanced Internal Sublayer Service)를 지원하는 기능 및 각 브릿지 포트들 사이에 프레임들을 전달(relay)하는 기능을 제공하는 VLAN 브릿지 컴포넌트를 포함할 수 있다. 예를 들면, 도 5(b)에서와 같이, VLAN 브릿지는 상술한 기능을 수행하기 위하여, 적어도 두 개의 포트, 릴레이 엔티티 및/또는 상위 계층 엔티티들을 포함할 수 있다.
EISS는 MAC 부계층에서 제공되는 확장된 내부 계층 서비스로서, ISS에서제공되는 서비스보다 확장된 서비스, 예를 들면, VLAN 태그의 인식, 삽입 및 제거와 같은 서비스를 제공하기 위해, VLAN 브릿지의 동작에 필요한 요소들과 파라미터들을 더 포함할 수 있다. 실시예로서, EISS의 프리미티브는 상술한 ISS의 프리미티브 외에 VLAN 식별자(vlan_identifier), 플로우 해쉬(flow_hash) 및/또는 타임-투-얼라이브(time_to_alive)와 같은 파라미터를 더 포함할 수 있다.
여기서, VLAN 식별자 파라미터는 전송될 VLAN의 ID를 나타내며, 이는 물리 계층에서 받은 프레임을 통해 알 수 있는 값이다. 또한, 플로우 해쉬 파라미터는 포워딩 프로세스를 수행 할 때 포워딩이 가능한 여러 포트 중 어떤 포트를 사용할지 여부를 결정하기 위해 사용되는 파라미터를 말한다. 또한, 타임-투-얼라이브 파라미터는 프레임이 네트워크의 홉을 거치면서 얼마동안 살아 있을 것인지를 결정하기 위해 사용되는 파라미터를 말하고, 실시예로서, null 값이 해당 파라미터의 값으로서 할당될 수 있다.
도 6은 본 발명의 일 실시예에 따른 제어 평면의 상위 계층 엔티티들을 나타낸다. 구체적으로, 도 6은 도 5의 브릿지 아키텍쳐를 구성하는 제어 평면의 상위 계층 엔티티들을 나타낸다. 이하에서는 도 6을 참조하여, 제어 평면의 상위 계층 엔티티들과 데이터 평면의 계층 관계를 구체적으로 설명한다.
도 6을 참조하면, 제어 평면의 상위 계층 엔티티들은 물리적 네트워크 토플로지(Physical Network Topology), 활성 토플로지(Active Topology), VLAN 토폴로지(VLAN topology) 및/또는 스테이션 로케이션(Station Location)를 포함한다.
물리적 네트워크 토플로지는 도 2에서와 같이, LAN, 브릿지(Bridge), 브릿지 포트(Bridge Port)간의 물리적인 연결 구성을 나타낸다. 여기서, 브릿지 포트는 LAN과 브릿지를 연결하는 부분에 해당하며, 이를 통해 LAN과 브릿지 간 양방향 이더넷 프레임(또는 MAC 프레임)의 전송이 가능하다. 이러한 연결은 유선을 통해 이루어지며, 물리적 네트워크 토폴로지는 단지 물리적인 연결 관계만을 나타낸다.
활성 토플로지는 네트워크 내에서 루프(loop)가 생기지 않도록, 즉, 네트워크가 루프-프리(loop-free)상태인 활성 네트워크가 되도록 하는데, 이는 특정 브릿지 포트의 상태를 활성화시키거나 비활성화(또는 블록)시킴으로써 이루어질 수 있다. 브릿지 네트워크 내에 루프가 생기면, 동일한 데이터가 브릿지 내에서 반복하여 복사되어 브릿지의 기능이 저하되며, 브릿지 내의 MAC 주소 테이블이 불안정하게 된다. 또한, 브로드캐스트(broadcast) 기능으로 데이터를 전송할 때, 루프가 생긴다면 네트워크 내에서 계속해서 데이터가 브로드캐스팅되기 때문에, 브로드캐스트 스톰(broadcast storm)이라는 현상으로 네트워크가 마비될 수 있다. 따라서, 브릿지 네트워크에서는 활성 토폴로지를 통해 루프가 생기지 않도록 브릿지에 연결된 스테이션들 간의 상호 연결 관계를 활성화시키며, 이를 위한 다양한 알고리즘이 존재하여야 한다.
활성 토폴로지를 통해 루프-프리 상태인 활성 네트워크가 형성된 경우, VLAN 토폴로지는 상술한 VID를 이용하여, 동일한 VID을 갖는 VLAN 사이에 데이터를 전송할 수 있는 프로토콜을 구성할 수 있다. 이렇게 VLAN 토폴로지를 구성한 후에는 스테이션 로케이션을 통해 VLAN에 속하는 개별적인 MAC 주소를 저장하여 스테이션 간의 통신이 가능한 경로가 형성될 수 있다. 이와 같이, 각 스테이션까지의 경로가 결정되면, 원하는 데이터가 브릿지의 릴레이를 이용하여 전달될 수 있다.
상술한 토플로지가 형성되는 과정은 각 과정을 단계적으로 형성하는 개별 프로토콜이 존재할 수도 있으나, 실시예에 따라서는 활성 토플로지에서부터 스테이션 로케이션까지 한번에 구성하는 단일의 프로토콜이 존재할 수도 있다.
앞서 설명한 단계가 브릿지 네트워크를 구성하는 것에 관한 반면, 브릿지의 릴레이는 데이터 평면에 의한 브릿지 자체의 동작을 나타낸다. 브릿지 릴레이에서는 브릿지의 입력 포트로 들어온 데이터가 출력 포트로 포워딩되고, 출력 포트를 통해서 전송되는데, 이때 브릿지 내에서 여러 단계를 거치게 된다. 이에 대한 자세한 내용은 이후 설명된다.
한편, 활성 토플로지가 형성된 후 브릿지 포트와 이웃 브릿지의 포트간의 전송 능력을 측정하여 스트림 예약(stream reservation)이 가능할 수 있다. 이 동작에 관하여는 도 8 및 9를 참조하여 이하에서 상세히 설명한다.
도 7은 본 발명의 일 실시에에 따른 브릿지 네트워크의 시간 동기화 방법을 나타낸다.
도 6을 참조하여 설명한 바와 같이, 임의의 단일 또는 복수의 프로토콜을 사용하여 활성 토폴로지가 형성된 경우, 연결된 브릿지들 사이에 시간 동기를 맞추는 동작이 수행될 수 있다. 시간 동기를 맞추는 이유는 네트워크 내의 브릿지들과 최종 디바이스인 엔드 포인트(end point) 간에 클럭 동기화를 맞추어 타임 센서티브한 프레임의 전송을 가능하게 하기 위해서이다. 이를 통해, 타임 센서티브한 네트워크의 구성이 가능하다. 실시예로서, 시간 동기화를 위한 기본 프로토콜로서 공지된 IEEE 1588 프로토콜이 사용될 수 있으나, 이에 한정되지는 않는다.
시간 동기화 과정에 대하여 간단히 설명하면, 네트워크 내의 브릿지들과 엔드 포인트(또는 스테이션)들은 GM(grandmaster) 클럭과 주기적으로 메시지를 교환하여 클럭 동기를 맞출 수 있다. 이를 통해, 네트워크 내의 GM 클럭을 제외한 모든 브릿지와 엔드 포인트들은 자신이 GM 클럭에 비해 어느 정도의 오프셋(offset)을 갖는지 알 수 있고, 이를 기반으로 시간 동기화가 가능하다. 이때, 실시예로서, 네트워크 내에 있는 여러 개의 클럭 중 가장 퀄리티가 좋은 클럭이 GM 클럭으로 선택될 수 있다.
일 실시예에서, GM 클럭은 미리 정해진 알고리즘, 예컨대, 전체 브릿지 네트워크에서 가장 퀄리티(quality)가 좋은 클럭을 찾는 알고리즘에 해당하는 BMCA(Best Master Clock Algorithm)알고리즘을 사용하여 결정될 수 있다. 즉, BMCA 알고리즘을 사용함으로써, 전체 브릿지 네트워크 내의 각 스테이션들(예컨대, 브릿지 및 엔드 스테이션)들에 포함된 클럭 중 하나의 클럭이 GM 클럭으로서 결정될 수 있다. 다른 실시예에서, GM 클럭은 사용자의 선택에 의해 결정될 수 있다. 즉, BMCA 알고리즘과 같은 알고리즘 사용 없이 사용자의 선택에 의해, 하나의 클럭이 GM 클럭으로서 결정될 수 있다.
도 7의 실시예에서, 브릿지 네트워크는 시간 동기화 시, 클럭의 리던던시(Redundancy)를 위해 두 개의 서로 다른 경로로 시간 동기를 맞출 수 있다. 이 경우, 하나의 GM 클럭에서 두 개의 서로 다른 경로로 시간 정보가 전달되므로, 그 중 하나의 경로가 어떤 이유로 활성화되지 못한다고 하더라도, 다른 경로를 통해 시간 동기를 신속하게 맞추는 것이 가능하다는 이점을 갖는다.
추가적인 또는 대체적인 실시예에서, 클럭의 리던던시를 위해 추가적인 클럭 소스를 설정하는 방법이 사용될 수 있다. 이 경우, 첫 번째 GM 클럭이 실패(fail)되면, 두 번째 클럭 소스가 활성화될 수 있다. 이를 통해, 첫 번째 GM 클럭이 동작하지 않는 경우, 다른 최선의 GM 클럭을 다시 찾는 시간의 필요 없이, 대기 중이던 미리 설정된 두 번째 클럭 소스가 GM 클럭으로서 선택되어 빠르게 시간 동기화를 수행할 수 있다는 이점을 갖는다.
상술한 도 7에 도시된 첫 번째 실시예가 리던던시 경로를 두어 리던던시를 확보하는 것이라면, 두 번째 실시예는 클럭 소스에 리던던시를 두는 방식에 해당한다. 두 실시예 모두 폴트 톨러런스(fault tolerance)를 위한 대비책일 수 있다.
도 8은 본 발명의 일 실시예에 따른 스트림 등록(stream registration)과 스트림 예약(stream reservation) 방법을 나타낸다. 본 명세서에서, 스트림은 토커(talker)로부터 하나 이상의 리스너(listener)로의 데이터의 단방향 흐름(unidirectional flow)를 의미한다. 여기서, 토커는 스트림의 소스 또는 생산자인 엔드 스테이션을 의미하고, 리스너는 스트림의 목적지, 수신자 또는 소비자인 엔드 스테이션을 의미한다.
실시예로서, 스트림 등록 및 예약은 상술한 제어 평면 중 상위 계층 엔티티에서 VLAN 토폴로지와 스테이션 로케이션에 속하는 동작일 수 있다. 이러한 스트림 등록 및 예약 과정에서는, 먼저 브릿지 네트워크를 통해 스트림을 보내려 하는 토커와 이를 받으려 하는 리스너 사이의 경로(route)가 설정되고, 이 경로 내에서 원하는 대역폭과 주어진 시간 레이턴시 내에 프레임을 전송할 수 있는지 여부가 계산될 수 있다. 주어진 조건이 만족된 경우, 이 경로를 통해 프레임이 전송될 수 있다. 이를 통해, 컨제스쳔 로스(congestion loss)없이 원하는 시간 바운더리 내에 프레임 전송이 가능하므로, QoS가 보장될 수 있다.
도 8의 실시예에서, ‘R’과 ‘D’는 브릿지 포트의 상태를 나타내며, ‘R’은 등록(Registration) 상태이고, ‘D’는 선언(Declaration) 상태를 나타낸다. 브릿지 포트의 상태가 등록 상태가 되면, 브릿지는 수신한 프레임을 자신을 제외한 다른 출력 포트로 전달하며, 프레임이 전달된 출력 포트는 선언 상태가 된다. 이러한 과정을 수행하면서, MAC 목적지 주소와 VLAN의 멤버쉽(membership)이 각 포트의 데이터 베이스에 등록될 수 있다.
스트림 등록을 위해, 도 8의 왼쪽에서처럼, 토커는 먼저 자신이 속한 브릿지 네트워크 전체에 “토커광고(talker advertise)” 메시지를 보낼 수 있다. 실시예로서, 토커광고 메시지는 송신지 MAC 주소, 목적지 MAC 주소, 스트림 ID, 데이터 레이트 및/또는 레이턴시 레벨에 대한 정보를 포함할 수 있다. 여기서, 스트림 ID는 소스 (또는 토커)에서 보내려 하는 스트림을 구별하기 위한 식별자를 의미한다.
실시예로서, 이 토커광고 메시지가 각 브릿지를 통과할 때마다 워스트 케이스 레이턴시(worst case latency)가 계산될 수 있다. 이렇게 토커광고 메시지가 전달되는 과정에서, 만일 리소스 확보가 가능하지 않다면, 해당 스테이션은 그 원인을 나타내는 코드가 포함되어 있는 “토커실패(talker failed)” 메시지를 리스너에게 전달할 수 있다.
만약 리소스 확보가 가능하고, 리스너가 토커광고 메시지를 받았다면, 리스너는 “리스너레디(listener ready)” 메시지를 토커에게 보낼 수 있다, 이 경우, 도 8의 오른쪽에서처럼, 토커에서 리스너로 토커광고 메시지가 전달 되었던 경로의 역방향으로 리스너레디 메시지가 전달될 수 있다. 리스너레디 메시지가 전달되면, 토커는 QoS가 보장되는 경로를 따라 스트림을 전송할 수 있다. 스트림 전송이 다 끝난 이후에는 등록해제(de-registering) 절차가 수행되어 예약한 대역폭과 경로가 해지될 수 있다.
만일 스테이션에 전달된 메시지에 포함된 축척된 최대 레이턴시(accumulated max latency), 즉, 워스트 케이스 레이턴시(worst case latency)가 리스너가 기대하는 QoS를 만족시키지 못한다면, 해당 스테이션은 “리스너 애스킹 실패(Listener asking fail)” 메시지를 토커로 전달할 수 있다. 여기서, 스테이션은 브릿지 또는 엔드 스테이션을 포함하는 개념일 수 있다.
도 9는 도 8의 스트림 등록 및 예약에 대한 아키텍쳐를 나타낸다. 구체적으로, 도 9는 도 5의 브릿지 아키텍쳐의 제어 평면에 의한 스트림 등록 및 예약을 위해 사용되는 프로토콜(스트림 등록 및 예약 프로토콜)을 나타낸다.
본 명세서에서, 스트림 등록 및 예약 절차는 사용자의 필요에 따라 수행 될 수 있으며, 이를 이용하면, 토커(talker)와 리스너(lisnter)간에 대역폭(bandwidth)을 최대 75%까지 할당 할 수 있다. 이렇게 할당된 경로 내에서는 해당 토커의 프레임이 우선권을 가지고 있으므로, 다른 프레임에 의하여 간섭을 적게 받을 수 있다. 따라서, 스트림 등록 및 예약 방법은 QoS를 보장 받기 원하며 적은 지연 시간을 요구하는 응용에 쓰일 수 있다. 예를 들면, 비디오와 오디오 간에 동기(sync)를 맞추고자 하는 경우, 스트림 등록 및 예약 방법을 사용하면 QoS를 보장받으면서 동기를 맞추는 것이 가능하다.
도 9를 참조하면, 스트림 등록 및 예약 프로토콜은 MRP(Multiple Registration Protocol), MSRP(Multiple Stream Registration Protocol), MVRP(Multiple VLAN Registration Protocol), MMRP(Multiple MAC Registration Protocol) 및 SRP(Stream Registration Protocol)를 포함한다. MSRP 프로토콜, MVRP 프로토콜 및 MMRP 프로토콜은 MRP 프로토콜의 어플리케이션에 해당하는 프로토콜이다.
SRP 프로토콜은 MSRP 프로토콜, MVRP 프로토콜 및 MMRP 프로토콜에 기반하여 동작하는 프로토콜이다. 실시예로서, 브릿지 네트워크 내의 스테이션은 도 9의 프로토콜의 전부 또는 일부의 기능을 사용하여 스트림 등록 및 예약 절차를 수행할 수 있다.
MRP(Multiple Registration Protocol) 프로토콜은 포트의 속성(attribute)을 선언하는 프로토콜을 말한다. MRP 프로토콜은 브릿지나 엔드 스테이션에서 MRP 프로토콜의 어플리케이션에 해당하는 프로토콜에 해당하는 MSRP, MVRP, MMRP 프로토콜 등을 이용하여 stream ID, VLAN ID, MAC 어드레스 등을 각 포트에 저장함으로써, 효율적으로 네트워크를 구성할 수 있게 하는 프로토콜이다.
MVRP 프로토콜은 브릿지 포트에 여러 개의 VLAN ID, 또는 VLAN 멤버십을 등록할 수 있게 하는 프로토콜이고, MMRP 프로토콜은 브릿지 포트에 여러 개의 MAC 어드레스를 등록할 수 있게 하는 프로토콜이다. 이를 통해, 브릿지 내에서 멀티캐스트(multicast)가 가능할 수 있다. MSRP 프로토콜은 스트림 등록을 위해, 도 8을 참조하여 설명한 토커가 토커광고 메시지를 전송하고, 스테이션이 리소스가 확보되지 못한 경우 토커실패 메시지를 전달하고, 리소스가 확보된 경우에는 리스너레디 메시지를 보내는 등의 모든 과정을 가능하게 하는 프로토콜이다.
실시예로서, MRP 프로토콜은 플루딩(flooding) 방식을 사용하며, 이 과정에서 MRPDU(Multiple Registration Protocol Data Unit)라는 메시지를 만들어서 주기적으로 다른 브릿지나 엔드 스테이션으로 전달할 수 있다. 여기서, 플루딩 방식은 각 스테이션이 입력 받은 데이터를 입력 포트를 제외한 모든 출력 포트로 전달하는 방식을 말한다. MRPDU는 상술한 제2 계층(layer2), 즉 데이터 링크 계층에서 사용되는 MAC PDU의 데이터 영역에 해당하는 메시지로서, 실제 브릿지 내에서 전송될 때에는 MRPDU에 송신지 어드레스, 목적지 어드레스, VLAN 태그 등이 덧붙여져서 전송될 수 있다.
예를 들면, 처음 네트워크가 시작되는 경우, 어떤 브릿지에 데이터가 전달되면 이 데이터를 어느 포트로 전달해야 목적지에 도착할 수 있는지에 대한 사전 정보가 없는 상태이다. 이 경우, MRPDU가 입력되면 브릿지는 MRPDU의 송신지 주소를 입력 포트에 저장하고, 입력 포트를 제외한 다른 모든 가능한 출력 포트로 MRPDU를 전달한다.
이렇게 주소 값이 입력 포트에 저장되면, 추후 해당 주소를 송신지 주소로 갖는 엔드 스테이션이 데이터를 전송하는 경우, 플루딩 할 필요 없이 브릿지의 포트에 저장된 주소 값을 참조하여 데이터를 전송 할 수 있다. 즉, 브릿지 포트 내에 어느 포트를 통하면 어떤 주소 값이 연결(또는 연관)되는지를 나타내는 경로 설정(routing)을 위한 테이블을 갖고 있는 경우, 데이터를 효율적으로 전송할 수 있다. 이러한 방식으로 브릿지의 각 포트가 해당 포트와 연관된 주소 값을 저장할 수 있게 하는 프로토콜이 MMRP 프로토콜이다. 마찬가지의 방식으로, 브릿지의 각 포트가 해당 포트와 연관된 VLAN ID를 저장할 수 있게 하는 프로토콜이 MVRP 프로토콜이며, 해당 포트와 연관된 Stream ID를 저장할 수 있게 하는 프로토콜이 MSRP 프로토콜이다.
MSRP 프로토콜은 시그널링 프로토콜이며 이를 수행하기 위해서 MSRPDU라는 데이터를 전송한다. 이를 이용하여 엔트 포인트 간에 네트워크 리소스를 예약하며, 토커와 리스너 간에 요구되는 QoS가 보장된 전송과 수신이 가능하게 한다.
하나의 포트를 통과해서 다음 브릿지나 엔드 스테이션으로 전달하는 주소값, VLAN ID, stream ID는 당연히 다수의 값을 가지고 있을 수 있으며 이 값을 이용하여 필터링을 수행하여 네트워크 내의 데이터를 전송하는 경우 네트워크를 효율적으로 사용할 수 있다. 또한 엔드 스테이션 간에 리소스를 예약하여 예약된 구간에서는 요구되는 레이턴시(QoS)를 만족시키는 전송도 가능하다. 이러한 것을 가능하게 해주는 프로토콜이 MMRP, MVRP, MSRP 프로토콜이다.
SRP 프로토콜은 이러한 MMRP, MVRP, MSRP 프로토콜에 기반하여 동작하되, MSRPDU에 SR class라는 필드를 두어 전송하는 스트림을 식별할 수 있게 하는 프로토콜이다. 즉, SRP 프로토콜은 MSRPDU 내에 SRclassID, SRclassPriority, SRclassVID와 같은 필드를 두어 예약된 경로를 통과할 스트림에 대한 특징을 구체화 하는 것을 가능하게 할 수 있다. 이때, SRclassID 필드는 토커에서 전달되는 여러 스트림 중 해당 스트림을 식별하기 위한 것이며, SRclassPriority 필드는 SR 트래픽 클래스에 우선순위를 부여하기 위한 것이고, SRclassVID 필드는 SR 트래픽 클래스에 대한 VLAN을 식별하기 위한 것이다.
도 10은 본 발명의 일 실시예에 따른 브릿지 포워딩 프로세스를 나타낸다. 실시예로서, 도 10은 도 5의 브릿지 아키텍쳐의 데이터 평면에 의해 수행되는 브릿지의 포워딩 프로세스를 나타낸다. 본 명세서에서, 브릿지 포워딩 프로세스는 수신 브릿지 포트(수신 포트)에서 수신한 데이터 프레임을 출력 브릿지 포트(출력 포트)로 전달(Relay)하는데 필요한 과정을 나타낸다.
도 10을 참조하면, 우선 수신 포트에 데이터 프레임이 수신된 경우, 액티브 토폴로지 인포스먼트(active topology enforcement)가 수행된다. 이때, 브릿지는 제어 평면의 액티브 토폴로지 과정을 통해 여러 포트 상태를 가질 수 있다. 실시예로서, 포트 상태는 제거 상태(discarding state), 학습 상태(learning state) 및/또는 포워딩 상태(forwarding state)를 포함할 수 있다.
제거 상태는 브릿지 포트가 비활성화(disabled) 또는 블록(blocking)되어 있는 상태를 말하며, 제거 상태에서 브릿지는 입력 받은 데이터를 포워딩하지 않는다. 학습 상태는 입력 받은 데이터를 전달하는 것이 적합한지 여부를 학습하는 상태를 말하며, 학습 상태에서 브릿지는 저장된 소스 어드레스(또는 송신지 어드레스)에 기초하여 현재 포트에서 데이터 프레임을 입력받아 전달하는 것이 적합한지 여부를 판단할 수 있다. 이를 통해, 브릿지는 원하지 않는 데이터 루프의 발생을 막고, 원하지 않는 MAC 소스 어드레스가 포워딩 되는 것을 막을 수 있다.. 포워딩 상태는 학습 상태가 종료된 후 실제로 데이터를 전달하는 상태를 말한다.
이 단계를 수행한 뒤, 여러 필터링 단계(예컨대, 인그레스 필터링(ingress filtering), 프레임 필터링(frame filtering) 및/또는 이그레스 필터링(egress filtering))가 수행될 수 있다. 이러한 필터링 단계는 필터링 데이터베이스(filtering database)에 저장된 목적지 어드레스와 VID 값을 참조하여 전달받은 데이터 프레임이 정확한 브릿지 출력 포트를 통하여 전송되는 것을 돕는다. 이를 통해, 데이터 프레임이 전송될 출력 포트가 정해지면, 플로우 메터링(flow metering) 단계가 수행된다.
플로우 메터링 단계에서, 브릿지는 우선순위(priority)와 DEI(Drop Eligible Indicator) 값을 이용하여 컨제스쳔 발생시 어느 프레임을 버릴(discard) 것인지 여부를 결정할 수 있다.
플로우 메터링 단계를 통과한 프레임은 프레임의 우선순위 값에 기초하여 아웃바운드 큐에 큐잉될 수 있다. 이 경우, 해당 프레임이 다수의 아웃바운드 큐 중 어느 아웃바운드 큐에 큐잉되지는 결정하기 위하여, 도 4를 참조하여 설명된 우선순위와 트래픽 클래스 간의 관계 정보(또는 맵핑 정보)가 사용될 수 있다. 또한, 각 아웃바운드 큐의 상태는 큐 관리(queue management) 모듈에 의해 모니터링되고, 관리될 수 있다.
프레임이 아웃바운드 큐에 저장된 이후에, 프레임은 전송 선택(transmission selection) 단계를 통해 시리얼(serial)하게 전송될 수 있다. 이와 같이 데이터를 시리얼하게 전송하는 과정에서, 트래픽 클래스에 따라 프레임을 지연시킴으로써 대역폭을 확보하고 전체 네트워크 성능을 보장하거나 최적화시킬 수 있는데, 이러한 역할을 수행하는 것을 트래픽 쉐이핑(traffic shaping)이라고 부를 수 있다. 이와 같이 트래픽 쉐이핑을 수행하는 장치는 트래픽 쉐이퍼(traffic shaper) 또는 쉐이퍼로 지칭될 수 있다. 이러한 트래픽 쉐이핑은 상술한 스트림 예약과 함께 사용될 수 있고, 이 경우, 원하는 QoS를 얻을 수 있게 해준다.
상술한 브릿지 포워딩 프로세스에서는 상술한 각 단계의 전부를 수행할 수 있으나, 실시예에 따라서는 상술한 각 단계의 일부만을 수행할 수도 있다. 또한, 상술한 브릿지 포워딩 프로세스는 브릿지 내의 하나 또는 그 이상의 프로세서에 의해 수행될 수 있다.
## 이하에서는 본 발명의 일 실시예에 따른 네트워크 디바이스의 전송 선택 방법에 설명한다. 이러한 전송 선택 방법은 도 10의 브릿지 포워딩 프레세스 중 전송 선택 단계(또는 방법)의 일 예일 수 있다. 상술한 바와 같이, 네트워크 디바이스는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지이거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 본 명세서에서, 상술한 브릿지에 대하여 적용되는 설명은 네트워크 디바이스에도 동일 또는 유사하게 적용될 수 있다.
본 명세서에서 데이터 프레임(또는 프레임)은 네트워크에서 전송되는 데이터의 단위를 말하고, 데이터 스트림(또는 스트림)은 하나의 엔드 스테이션(예컨대, 토커)에서 다른 엔드 스테이션(예컨대, 리스너)까지의 데이터의 흐름을 말한다. 실시예로서, 하나의 스트림은 하나 이상의 프레임을 포함할 수 있다.
네트워크 디바이스(또는 브릿지)의 각 포트에서는, 트래픽 클래스 및 포트에 대응되는 큐에 의해 지원되는 전송선택 알고리즘 동작에 기초하여 데이터 프레임들이 전송될수 있다. 즉, 네트워크 디바이스는 포트 내의 큐 별로 지원되는 전송 선택 알고리즘에 기초하여 큐로부터 프레임들을 선택 및 전송할 수 있다.
이때, 네트워크 디바이스는 미리 설정된 조건을 만족하는 경우에 전송 선택 알고리즘에 기초하여 큐로부터 프레임들을 선택 및 전송(또는 출력)할 수 있다 예를 들면, 네트워크 디바이스는 “만일 해당 큐에 의해 지원되는 전송 선택 알고리즘이 전송 가능한 프레임이 있다고 결정하는 경우”또는, “해당 포트에 의해 지원되는 숫자적으로 더 높은 우선순위를 갖는 트래픽 클래스 값에 대응되는 각 큐의해 지원되는 전송 선택 알고리즘이 전송가능한 프레임이 없다고 결정하는 경우”에, 전송 선택 알고리즘에 기초하여 해당 큐로부터 프레임들을 선택 및 전송할 수 있다.
이러한 전송 선택을 위한 알고리즘(전송 선택 알고리즘)에는 예컨대, 스트릭 프라이어티 전송 선택 알고리즘(strict priority transmission selection algorithm) 또는 크래딧-베이스드 쉐이퍼 전송 선택 알고리즘(credit-based shaper transmission selection algorithm) 등이 포함될 수 있다. 한편, 브릿지 네트워크 내의 관리 수단에 의해 선택가능한, 추가적인 전송 선택 알고리즘이 요구사항이 만족되는 한 구현 옵션으로서 지원될 수 있다.
스트릭 프라이어티 전송 선택 알고리즘(이하, “스트릭 프라이어티 알고리즘”)은 전송 프레임을 선택하기 위한 디폴트 알고리즘으로서, 모든 네트워크 디바이스에서 지원되어야 하는 알고리즘이다. 이를 지원하는 큐가 하나 이상의 프레임을 포함한다면, 네트워크 디바이스는 스트릭 프라이어티 알고리즘에 따라 프레임을 전송할 수 있다. 이 경우, 프레임이 그 큐로부터 전송되는 순서는 미리 설정된 순서 요구사항(ordering requirement)을 따른다. 실시예로서, 미리 설정된 순서 요구사항은 FIFO(first-in first out) 방식일 수 있다.
크래딧-베이스드 쉐이퍼 전송 선택 알고리즘(이하, “크래딧-베이스드 쉐이퍼 알고리즘”)은 스트릭 프라이어티 알고리즘 이외에, 선택적으로 지원될 수 있는 알고리즘에 해당한다. 이를 지원하는 큐가 하나 이상의 프레임을 포함하고 전송허용(transmitAllowed) 파라미터의 값이 참일 경우, 네트워크 디바이스는 크래딧-베이스드 쉐이퍼 알고리즘에 따라 프레임을 전송할 수 있다. 실시예로서, 전송허용 파라미터는 크래딧-베이스드 쉐이퍼 알고리즘을 지원하는 큐와 연관되는 파라미터로서, 큐에서 현재 이용 가능한 전송 크래딧(credit)의 크래딧 파라미터의 값(크래딧 값)이 0 또는 양인 경우에 참 값을 가지고, 크래딧 파라미터의 값이 음인 경우에 거짓 값을 갖는다. 이러한 크레딧-베이스드 쉐이퍼 알고리즘에 따라 동작하는 크래딧-베이스드 쉐이퍼(CBS)에 대하여는 도 11을 참조하여 이하에서 상세히 설명한다.
도 11은 본 발명의 일 실시예에 따른 크래딧-베이스드 쉐이퍼를 사용하는 네트워크 디바이스의 동작을 나타낸다.
크래딧-베이스드 쉐이퍼는 IEEE 802.1의 브릿지 네트워크에서 사용되는 전송 선택 알고리즘 중 상술한 크래딧-베이스드 쉐이퍼 알고리즘에 따라 동작하는 쉐이퍼를 말한다. 실시예로서, 크래딧-베이스드 쉐이퍼는 기존의 AVB(Audio Vedio Bridging) 시스템에서 사용되는 쉐이퍼로서, 스트림 예약 프로토콜(SRP)과 함께 사용하는 경우에만 정해진 레이턴시 내에 데이터가 전송되는 것이 보장될 수 있다.
크래딧-베이스드 쉐이퍼가 사용되는 네트워크에서는 클래스 A와 클래스 B 라 불리는 두 개의 SR 클래스가 정의되며, 이는 각각 트래픽 쉐이퍼의 우선순위 중 3번째, 2번째에 해당한다. 이렇게 선택된 SR 클래스는 바운디드된 레이턴시(bounded latency)를 가질 수 있다.
크래딧-베이스드 쉐이퍼가 사용되는 경우, 클래스 A와 클래스 B의 우선순위는 각각 0에서 7까지의 우선순위 값 중 3번째, 2번째 순위 값에 해당될 뿐이지만, 이를 최상위 두 개의 트패픽 클래스와 연관시킴으로써 전송 선택 단계에서 가장 높은 우선순위를 갖는 것으로 취급하여 처리할 수 있다. 도 11에서, AVB A, B 및 C 프레임은 동일한 SR 클래스(예컨대, SR 클래스 B)를 갖는 것으로 가정한다. 상술한 바와 같이, SR 클래스를 갖는 AVB 프레임의 트래픽 클래스는 다른 프레임들(예컨대, Low a, b 등)의 트래픽 클래스보다 높다.
상술한 바와 같이, 크래딧-베이스드 쉐이퍼에서는 전송 크래딧(크래딧)이 AVB 프레임을 전송할 수 있는지 여부를 알려주는 파라미터가 될 수 있으며, 크래딧 값이 0 이상이면 전송허용 파라미터의 값이 참이 되어 AVB 프레임의 전송이 가능하며, 크래딧 값이 0 미만이면 전송허용 파라미터의 값이 거짓이 되어 AVB 프레임의 전송이 불가하다. 크래딧 값이 0 미만인 경우에는 AVB 프레임이 아닌 다른 우선순위를 갖는 프레임이 전송될 수 있다. 이하에서는 도 11을 참조하여, 크래딧-베이스드 쉐이퍼를 사용하는 네트워크 디바이스의 동작에 대하여 설명한다.
도 11에 도시된 것과 같이, AVB 프레임 A, B가 큐에 도달한 시간 t0에서는, 예컨대, 다른 프레임(Low a)이 전송 중이기 때문에, 네트워크 디바이스가 AVB A, B를 전송할 수 없다. 이 경우, 크래딧은 점차 증가하게된다. 프레임(Low a)가 전송이 완료된 시간 t1에서는, 크래딧 값이 0 이상이므로, 네트워크 디바이스가 AVB 프레임(A)을 전송할 수 있다. AVB 프레임(A)이 전송되는 동안 크래딧은 점차 감소되게 된다. AVB 프레임(A)의 전송이 완료된 시간 t2에서는, 크래딧 값이 0 이하이므로, 네트워크 디바이스가 AVB 프레임(B)을 전송할 수 없고, 다른 트래픽 클래스를 갖는 프레임(Low b, Low c 등)이 전송되게 된다. AVB 프레임 C가 큐에 도달한 시간 t3에서도, 크레딧 값이 0 이하이므로, 네트워크 디바이스가 AVB 프레임(B 또는 C)을 전송할 수 없고, 다른 트래픽 클래스를 갖는 프레임(Low d)이 전송되게 된다. 다른 우선순위의 프레임이 전송되는 동안 크래딧은 점차 증가한다. 프레임(Low d)의 전송이 완료된 시간 t4에서는, 크래딧 값이 0 이상이므로, 네트워크 디바이스가 AVB 프레임(B)를 전송할 수 있다.
이러한 방식으로 전송 선택이 수행되면, 비록 AVB 프레임 A, B가 함께 입력되었다 하더라도, 출력 될 때에는 도 11에서와 같이 AVB 프레임(A)와 AVB 프레임(B)가 시간적으로 분산되어 출력될 수 있다. 이를 통해, 네트워크 디바이스는 출력된 프레임을 입력받는 다음 네트워크 디바이스의 AVB 프레임을 위한 큐에 데이터가 버스트(burst)하게 입력되는 것을 방지할 수 있다.
IEEE 802.1의 네트워크에서는 상술한 크래딧-베이스드 쉐이퍼 외에도 다양한 쉐이퍼(또는 트래픽 쉐이퍼)들이 사용될 수 있다. 다양한 트래픽 쉐이퍼들은 서로 용도가 상이하지만, 대부분은 네트워크 내에서 한 시점에 하나의 트래픽 클래스와 연관된 큐에 데이터가 버스트하게 입력되는 것을 방지하는 것을 목적으로 한다. 하나의 큐에 데이터가 버스트하게 입력되는 경우, 큐 사이즈의 제한으로 인해 프레임 손실(frame loss)이 발생할 수 있고, 이를 방지하기 위해 브릿지 내의 큐의 크기를 크게 설정하는 경우 의도하지 않은 레이턴시의 증가를 발생시킬 수 있다. 따라서, 타임 크리티컬한 데이터 처리를 위하여, 일반적으로 브릿지 네트워크에서는 트래픽 쉐이퍼를 이용해 다음 스테이션에 데이터를 일정한 간격으로 또는 시간적으로 분산되게 전송해주는 것이 중요하다.
하지만, 특정 브릿지 네트워크, 예컨대, 차량용 브릿지 네트워크에서는 타임 크리티컬한 데이터 처리 보다는 에너지 효율적인 데이터 처리를 위해 버스트한 데이터 입력을 필요로 하는 엔드 스테이션이 존재할 수도 있다. 이 경우, 해당 엔드 스테이션에 연결된 네트워크 디바이스에서는, 일반적으로 사용되는 상술한 전송 선택 방법과는 달리, 에너지 효율적인 데이터 처리를 위하여 버스트한 데이터를 출력할 수 있는 새로운 방식의 전송 선택 방법을 사용할 필요가 있다. 이하에서는 버스트 데이터의 출력을 위한 새로운 방식의 전송 선택 방법(또는 알고리즘) 및 이를 사용하는 네트워크 디바이스에 대하여 도면을 참조하여 설명한다. 본 명세서에서, 버스트 데이터(burst data)의 출력을 위한 전송 선택 방법은 버스트 전송 방법(또는 알고리즘)으로 지칭될 수도 있다. 또한, 버스트 전송 방법이 제공되는 브릿지의 포트는 버스트 브릿지 포트로 지칭될 수 있다.
본 명세서에서, 버스트 데이터의 출력은 예를 들면, 동일한 트래픽 클래스(또는 우선순위)를 갖는 데이터(또는 데이터 프레임)의 집합(또는 모음)이 시간적으로 분산되어 출력되는 것이 아니라, 이러한 데이터 프레임의 집합(또는 모음)이 연속적으로 출력되는 것을 의미하고, 이러한 방식으로 출력되는 데이터 프레임의 집합(또는 모음)을 버스트 데이터라고 지칭할 수 있다. 이때, 연속적으로 출력되는 데이터 프레임의 집합 내의 각 데이터 프레임은 미리 설정된 기준 시간간격 이하로 출력될 수 있다.
실시예로서, 네트워크 디바이스가 버스트 전송 방법을 사용하는 경우, 네트워크 디바이스는 예를 들면, 제1 트래픽 클래스에 대응되는 아웃바운드 큐 내의 제1 데이터 프레임들 모두를 연속적으로 출력하여 제1 버스트 데이터를 네트워크 디바이스에 연결된 엔드 스테이션에 제공하고, 이후, 제1 트래픽 클래스 보다 낮은 우선순위를 갖는 제2 트래픽 클래스에 대응되는 아웃바운드 큐 내의 제2 데이터 프레임들 모두를 연속적으로 출력하여 제2 버스트 데이터를 네트워크 디바이스에 연결된 엔드 스테이션에 제공하는 방식으로 버스트 데이터를 출력할 수 있다.
도 12는 본 발명의 일 실시예에 따른 네트워크 디바이스를 포함하는 브릿지 네트워크를 나타낸다. 실시예로서, 도 12의 브릿지 네트워크는 차량내 브릿지 네트워크(in-vehicle bridged network)일 수 있다. 이러한 차량내 브릿지 네트워크에서는 에너지의 효율적인 사용이 매우 중요하게 해결해야 하는 문제 중 하나이다.
도 12를 참조하면, 브릿지 네트워크는 다수의 네트워크 디바이스(예컨대, 브릿지)를 포함한다. 브릿지 네트워크 내 특정 네트워크 디바이스는 엔드 스테이션과 연결되는데, 이러한 네트워크 디바이스는 바운더리(boundary) 네트워크 디바이스(예컨대, 바운더리 브릿지)로 지칭될 수 있다.
도 12에 도시된 것처럼, 송신지인 엔드 스테이션 A에서 버스트한 입력 데이터를 제공한다고 하더라도, 브릿지 네트워크 내의 네트워크 디바이스들(예컨대, 브릿지 A, B, C 등)의 일반적인 트래픽 쉐이퍼를 통과하게 되면, 최종 목적지인 엔드 스테이션 B로 입력되는 데이터는 시간적으로 분산되어 들어오게 된다. 하지만, 특정 엔드 스테이션, 예컨대, 엔드 스테이션 C는 에너지의 효율적인 사용을 위해 데이터가 버스트하게 입력되는 것을 원하는 스테이션일 수 있다. 예를 들면, 엔드 스테이션 C는 버스트한 데이터의 입력을 필요로 하는 차량내 응용 센서일 수 있다. 이 경우, 엔드 스테이션 C에 연결된 바운더리 네트워크 디바이스(예컨대, 브리지 C)는 버스트한 데이터의 출력을 위한 전송 선택 방법(알고리즘)을 제공할 수 있어야 한다.
이와 같이, 특정 네트워크 디바이스, 예컨대, 엔드 스테이션에 연결된 바운더리 네트워크 디바이스는 버스트한 데이터의 출력을 위한 전송 선택 방법(또는 알고리즘)을 선택적으로 제공할 수 있어야 한다.
버스트 전송 선택 방법은 예를 들면, 특정 엔드 스테이션에 연결된 바운더리네트워크 디바이스(boundary bridge)에 적용될 수 있다. 실시예로서, 특정 엔드 스테이션은 타이밍(timing) 측면에서 정해진 범위의 지연시간을 요구하지는 않지만, 에너지 효율 측면에서 단지 버스트한 데이터 입력을 원하는 엔드 스테이션일 수 있다. 즉, 버스트 전송 선택 방법은 효율적인 에너지 사용을 위해 적은 지연시간 보다는 버스트한 입력을 필요로 하는 엔드 스테이션에 연결된 네트워크 디바이스에 적용될 수 있다.
도 13은 본 발명의 일 실시예에 따른 네트워크 디바이스가 버스트 전송 방법을 이용하여 데이터를 전송하는 방법을 나타낸다. 도 13의 실시예의 버스트 전송 방법은 큐의 재구성을 통해 버스트 데이터를 출력하는 버스트 전송 방법일 수 있다. 즉, 도 13의 실시예의 버스트 전송 방법은 재구성된 큐를 이용하는 버스트 전송 방법일 수 있다.
실시예로서, 버스트 전송 방법은 브릿지 네트워크 내의 엔드 포인트와 연결된 네트워크 디바이스(예컨대, 바운더리 브릿지)의 특정 포트(또는 특정 출력 포트)에서 적용될 수 있다. 실시예로서, 버스트 전송 방법은 네트워크 디바이스의 특정 포트의 모든 큐들에 대하여 적용될 수 있다. 즉, 버스트 전송 방법은 포트 내의 큐 단위(또는 트래픽 클래스 단위)로 적용되는 다른 종류의 전송 선택 방법과 달리 포트 단위로 적용될 수 있다. 이 경우, 버스트 전송 방법이 적용되는 네트워크 디바이스의 해당 포트의 브릿지 ID와 포트 ID(또는 출력 포트 ID)는 네트워크의 관리 정보로서, 관리 정보 데이터베이스에 등록 또는 저장될 수 있다.
실시예로서, 네트워크 디바이스는 브릿지 ID 및 포트 ID에 기초하여 브릿지의 특정 포트가 버스트 전송 방법이 적용되는 포트인지 여부를 결정할 수 있다. 예를 들면, 네트워크 디바이스는 브릿지 ID 및 포트 ID에 기초하여 데이터베이스(예컨대, 관리 정보 데이터베이스)로부터 해당 포트에 대한 전송 선택 알고리즘(또는 방법) 테이블을 검색하고, 이로부터 해당 포트가 버스트 전송 방법이 적용되는 포트인지 여부를 결정할 수 있다.
여기서, 특정 포트에 대한 전송 선택 알고리즘 테이블은 특정 포트에 의해 지원되는 각 트래픽 클래스들(또는 각 트래픽 클래스들과 연관된 큐들)에 대한 전송 선택 알고리즘을 할당하는 테이블을 말한다. 네트워크 디바이스는 전송 선택 알고리즘 테이블을 참조하여, 특정 포트의 개별 트래픽 클래스(또는 큐)들에 적용되는 전송 선택 알고리즘에 대한 정보를 획득할 수 있다. 이에 대하여는 도 16을 참조하여 이하에서 상세히 설명한다.
바운더리 브릿지의 해당 포트가 버스트 전송 방법이 적용되는 포트인 경우, 네트워크 디바이스는 해당 포트의 큐(또는 아웃바운드 큐)들을 재구성할 수 있다. 실시예로서, 큐의 재구성은 해당 포트에 버스트 전송 방법이 적용되기 이전 또는 적용된 이후에 수행될 수 있다.
실시예로서, 네트워크 디바이스는 버스트 전송 방법이 적용되는 출력 포트의 아웃바운드 큐들의 각각을 미리 정의된 형태의 2개의 서브 큐들로 재구성할 수 있다. 예를 들면, 네트워크 디바이스는 버스트 출력 포트의 아웃바운드 큐들의 각각을 핑퐁(ping/pong) 형태의 한 쌍의 서브 큐들로 재구성할 수 있다. 예컨대, 도 13에 도시된 바와 같이, 트래픽 클래스 1과 연관된 아웃바운드 큐 1은 서브 큐 0와 서브 큐 1로 재구성될 수 있고, 마찬가지로, 각 트래픽 클래스 2 내지 8과 연관된 아웃바운드 큐 2 내지 8 역시, 각각 서브 큐 0과 서브 큐 1로 재구성될 수 있다. 실시예로서, 이러한 아웃바운드 큐의 재구성은 네트워크 디바이스의 프로세서(또는 컨트롤러)에 의해 수행될 수 있다.
이렇게 재구성된 한 쌍의 서브 큐(예컨대, 핑퐁 형태의 서브 큐)는 서로 상이한 동작 상태를 가질 수 있다. 예를 들면, 한 서브 큐가 읽기 상태(read status)인 경우, 이와 쌍을 이루는 다른 서브 큐는 쓰기 상태(write status)일 수 있다. 이때, 읽기 상태의 서브 큐가 쓰기 상태로 변경된 경우, 쓰기 상태의 서브 큐는 읽기 상태의 서브 큐로 변경될 수 있다. 이를 통해, 브릿지의 출력 포트는 하나의 큐에서 읽기/쓰기 동작을 함께 또는 동시에 수행하는 것이 아닌, 서로 상이한 동작을 수행하는 한 쌍의 서브 큐로 재구성되어 읽기 동작 및 쓰기 동작을 각각 분리하여 수행할 수 있다. 실시예로서, 재구성된 한 쌍의 서브 큐의 동작 상태의 선택 및 변경 등은 네트워크 디바이스의 프로세서(또는 컨트롤러)에 의해 제어되는 각 큐와 연결된 셀렉터(S)들에 의해 수행될 수 있으나, 이에 한정되지 아니하고, 프로세서(또는 컨트롤러) 그 자체에 의해 수행될 수도 있다.
일 실시예에서, 재구성된 2개의 서브 큐들의 각 사이즈는 동일할 수 있다. 즉, 각 서브 큐의 사이즈는 큐 사이즈의 절반일 수 있다. 이를 통해, 네트워크 디바이스는 각 서브 큐의 동작 상태가 변경된 경우에도, 일정한 범위 이상의 사이즈를 갖는 쓰기 상태의 서브 큐를 가질 수 있다. 따라서, 서브 큐의 사이즈 변경에 따른 입력 프레임의 손실을 최소화할 수 있다. 다만, 실시예에 따라서는 재구성된 2개의 서브 큐들의 각 사이즈가 상이할 수도 있다.
네트워크 디바이스는 쓰기 상태에 있는 서브 큐에 데이터 프레임을 저장할 수 있다. 실시예로서, 네트워크 디바이스는 데이터 프레임의 우선순위와 큐의 트래픽 클래스 간의 맵핑 정보에 기초하여, 쓰기 상태에 있는 다수의 서브 큐 중 어느 서브 큐에 데이터 프레임을 저장할지 결정할 수 있다. 이 경우, 네트워크 디바이스는 도 4의 실시예와 같은 우선순위-클래스 맵핑 테이블을 참조할 수 있다.
네트워크 디바이스는 미리 설정된 상태변경 조건을 만족하는지 여부를 결정할 수 있다. 여기서, 상태변경 조건은 서브 큐의 동작상태를 변경하기 위한 조건을 말한다.
일 실시예에서, 쓰기 상태에 있는 서브 큐 중 하나가 데이터 프레임으로 완전히 채워진 경우, 네트워크 디바이스는 상태변경 조건이 만족된 것으로 결정할 수 있다. 다른 실시예에서, 쓰기 상태에 있는 서브 큐 중 하나에서 데이터 프레임이 미리 설정된 사이즈(또는 스레시홀드 사이즈) 이상으로 채워진 경우, 네트워크 디바이스는 상태변경 조건이 만족된 것으로 결정할 수 있다. 실시예로서, 스레시홀드 사이즈는 쓰기 상태의 서브 큐의 사이즈의 절반 이상으로 설정될 수 있다. 예를 들면, 스레시홀드 사이즈는 쓰기 상태의 서브 큐 사이즈의 80%로 설정될 수 있다.
실시예로서, 네트워크 디바이스는 미리 설정된 기간(또는 스레시홀드 기간) 내에 미리 설정된 상태변경 조건을 만족하는지 여부를 결정할 수 있다. 여기서, 미리 설정된 스레시홀드 기간은 하나의 서브 큐가 채워지길 기다리는 타임아웃 기간을 말한다. 실시예로서, 스레시홀드 기간은 서브 큐의 사이즈에 기초하여 설정될 수 있다. 예를 들면, 서브 큐의 사이즈가 클수록 더 짧은 스레시홀드 기간이 설정될 수 있다.
버스트 전송 방법을 수행하는 경우, 버스트 아웃풋이 나오기까지 지연되는 시간은 서브 큐의 사이즈에 의존하게 된다. 즉, 서브 큐의 사이즈가 작은 경우 버스트 데이터가 자주 출력되고, 서브 큐의 사이즈가 큰 경우에는 상대적으로 버스트 데이터가 출력되는 시간이 길어지게 된다. 이때, 서브 큐들 중 어느 하나가 데이터 프레임들로 채워지는데 너무 오랜 시간이 걸리는 경우, 버스트 아웃풋이 출력되는 시간도 많이 지연되게 될 것이다. 이는 비록 버스트 전송 방법이 바운더리 레이턴시를 요구하지 않는 엔드 스테이션에 연결된 네트워크 디바이스에 적용될지라도, 과도한 지연 시간으로 인하여 네트워크의 성능 저하를 가져 올 수 있다.
따라서, 실시예에 따라서는, 본 발명의 네트워크 디바이스는 미리 설정된 스레시홀드 기간 내에 상태변경 조건을 만족하는 경우에만 큐 상태를 변경하여 읽기 상태로 변경된 큐로부터 버스트 데이터를 출력할 수 있다. 한편, 미리 설정된 스레시홀드 기간 내에 상태변경 조건을 만족하지 않는 경우에는 큐 상태의 변경 없이 현재 읽기 상태의 큐로부터 데이터를 출력하거나, 큐 상태를 변경시켜 읽기 상태로 변경된 큐로부터 데이터를 출력할 수 있다. 이렇게 출력되는 데이터는 엔드 스테이션에서 원하는 형태의 버스트 데이터가 아닐 수 있다. 하지만, 일정한 타임아웃 시간 내에 데이터의 출력을 낼 수 있어, 과도한 지연으로 인한 문제를 해결할 수 있다는 이점을 갖는다.
미리 설정된 상태변경 조건이 만족된 경우, 네트워크 디바이스는 전체 서브 큐들의 상태를 변경시킬 수 있다. 이를 통해, 읽기 상태인 서브 큐들은 쓰기 상태로 변경되고, 쓰기 상태인 서브 큐들은 읽기 상태로 변경될 수 있다.
미리 설정된 상태변경 조건이 만족되지 않는 경우, 네트워크 디바이스는 전체 서브 큐들의 상태를 유지할 수 있다. 이 경우, 네트워크 디바이스는 현재 읽기 상태인 서브 큐들로부터 전송을 위한 데이터 프레임을 선택할 수 있다.
네트워크 디바이스는 읽기 상태로 변경된 서브 큐들로부터 버스트 전송을 위한 데이터 프레임을 선택할 수 있다. 실시예로서, 네트워크 디바이스가 읽기 상태인 서브 큐로부터 버스트 전송을 위한 데이터 프레임을 선택하는 방식은 스트릭 프라이어티 알고리즘(또는 방법)을 사용하여 읽기 상태인 서브 큐로부터 전송을 위한 데이터 프레임을 선택하는 방식과 동일 또는 유사한 방식에 의할 수 있다. 예를 들면, 네트워크 디바이스는 가장 높은 트래픽 클래스를 갖는 읽기 상태인 서브 큐에 저장된 데이터 프레임들을 모두 전송을 위해 선택하고, 이후에, 그 다음 높은 트래픽 클래스를 갖는 읽기 상태인 서브 큐에 저장된 데이터 프레임들을 모두 전송을 위해 선택하는 방식으로, 트래픽 클래스에 따라 순차적으로 서브 큐로부터 버스트 전송을 위한 데이터 프레임을 선택할 수 있다. 이때, 동일한 서브 큐 내에서 데이터 프레임들을 출력하는 순서는 미리 정의된 방식을 따를 수 있다.
이와 같이, 버스트 전송 방법은 가장 많은 데이터가 입력되는 트래픽 클래스에 지배되어 큐에서 데이터를 출력하지만, 버스트하게 출력되는 아웃풋 내에서는 가장 높은 우선순위(또는 트래픽 클래스)를 갖는 프레임들이 우선하도록 한다. 또한, 버스트 전송 방법은 큐 제어가 간단하고, 각 큐를 핑퐁 형태의 서브 큐로 재구성하는 것 역시 소프트웨어에 의한 처리도 가능하므로 구현 상의 어려움도 적다는 이점을 갖는다.
도 14는 본 발명의 다른 실시예에 따른 네트워크 디바이스가 버스트 전송 방법을 이용하여 데이터를 전송하는 방법을 나타낸다. 도 14의 실시예의 버스트 전송 방법은 큐의 재구성 없이 버스트 데이터를 출력하는 버스트 전송 방법일 수 있다. 즉, 도 14의 실시예의 버스트 전송 방법은 재구성된 큐를 이용하지 않는 버스트 전송 방법일 수 있다.
도 13의 실시예에 따른 버스트 전송 방법과 달리, 도 14의 실시예에 따른 버스트 전송 방법을 사용하는 경우, 네트워크 디바이스는 각 큐를 서브 큐로 재구성하지 않고, 각 큐의 동작상태를 조정하여 버스트 데이터를 출력할 수 있다. 이 방식은 각 큐를 서브 큐로 재구성하는 방식에 비해, 더 효율적인 메모리 사용이 가능하다는 이점이 있으나, 버스트 데이터를 출력하는 동안에 큐가 넘쳐 프레임 손실이 생기지 않도록 큐의 상태를 변경하기 위한 기준 사이즈(또는 스레시홀드 사이즈)를 적응적으로 관리하여 하는 어려움을 갖는다.
도 14의 실시예에서, 먼저, 각 큐는 제1 상태(또는 쓰기 상태)로 동작할 수 있다. 제1 상태의 큐는 쓰기 동작만을 수행할 수 있다. 즉, 이 경우에는 읽기 동작을 통한 전송을 위한 데이터 프레임의 선택 과정이 수행되지 않을 수 있다. 이를 통해, 큐들 중 적어도 하나에 버스트한 데이터를 출력할 정도로 충분한 양의 데이터 프레임이 채워질 수 있는 시간을 갖게 된다.
미리 설정된 제1 상태변경 조건이 만족되는 경우, 네트워크 디바이스는 큐 전체의 상태를 제1 상태에서 제2 상태(또는 읽기/쓰기 상태)로 변경시킬 수 있다. 여기서, 제1 상태변경 조건은 큐의 상태를 쓰기 상태에서 읽기/쓰기가 모두 가능한 상태로 변경하기 위한 조건을 말한다. 즉, 제2 상태의 큐는 읽기 및 쓰기 동작을 모두 수행할 수 있다.
일 실시예에서, 제1 상태의 큐들 중 어느 하나의 큐에 데이터 프레임이 미리 설정된 기준 사이즈 이상으로 채워진 경우, 네트워크 디바이스는 제1 상태변경 조건이 만족된 것으로 결정할 수 있다. 실시예로서, 기준 사이즈는 큐 별로 독립적으로 설정될 수 있다.
다른 실시예에서, 제1 상태에서 미리 설정된 제1 기준 시간이 경과된 경우, 네트워크 디바이스는 제1 상태변경 조건이 만족된 것으로 결정할 수 있다. 실시예로서, 제1 기준 시간은 큐의 사이즈에 기초하여 설정될 수 있다. 실시예로서, 기준 시간은 큐 별로 독립적으로 설정될 수 있다.
큐가 제2 상태로 동작하는 경우, 네트워크 디바이스는 버스트 전송을 위한 데이터 프레임의 선택 과정을 수행될 수 있다. 이때, 네트워크 디바이스는 도 13에 상술한 방법에 따라 큐로부터 버스트 전송을 위한 데이터 프레임들을 선택하여 출력할 수 있다. 실시예로서, 각 큐에서 전송을 위한 데이터 프레임의 선택 과정이 수행되는지 여부는 네트워크 디바이스의 프로세서(또는 컨트롤러)에 의해 결정될 수 있다.
이후, 미리 설정된 제2 상태변경 조건이 만족되는 경우, 네트워크 디바이스는 큐 전체의 상태를 제2 상태에서 제1 상태로 변경시킬 수 있다. 여기서, 제2 상태변경 조건은 큐의 상태를 읽기/쓰기 상태에서 쓰기 상태로 상태로 변경하기 위한 조건을 말한다. 쓰기 상태로 변경된 큐들은 상술한 바와 같이 쓰기 동작만을 수행할 수 있다.
일 실시예에서, 제2 상태의 큐들 중 미리 설정된 수의 큐로부터 데이터 프레임들이 출력된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정할 수 있다. 실시예로서, 미리 설정된 수는 1 또는 2일 수 있다. 미리 설정된 수가 1인 경우, 제2 상태의 큐들 중 하나의 큐로부터 버스트 데이터가 출력된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정할 수 있다. 미리 설정된 수가 2인 경우, 제2 상태의 큐들 중 두 개의 큐로부터 버스트 데이터가 출력된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정할 수 있다. 이를 통해, 일정한 수의 큐로부터 일정량 이상의 버스트 데이터가 출력된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정하고, 큐의 상태를 다시 쓰기 상태로 변경할 수 있다. 이후, 네트워크 디바이스는 버스트한 데이터를 출력할 정도로 충분한 양의 데이터 프레임이 채워질 수 있는 시간을 다시 가질 수 있다.
다른 실시예에서, 제2 상태에서 미리 설정된 제2 기준 시간이 경과된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정할 수 있다. 실시예로서, 제2 기준 시간은 큐의 사이즈에 기초하여 설정될 수 있다. 실시예로서, 기준 시간은 큐 별로 독립적으로 설정될 수 있다. 이를 통해, 일정한 시간 이상 동안 버스트 데이터가 출력된 경우, 네트워크 디바이스는 제2 상태변경 조건이 만족된 것으로 결정하고, 큐의 상태를 다시 쓰기 상태로 변경할 수 있다. 이후, 네트워크 디바이스는 버스트한 데이터를 출력할 정도로 충분한 양의 데이터 프레임이 채워질 수 있는 시간을 다시 가질 수 있다.
도 15는 본 발명의 일 실시예에 따른 버스트 전송 방법을 사용하는 경우, 네트워크 디바이스로 입력 및 출력되는 데이터의 형태를 나타낸다.
도 15의 상단에 도시된 것처럼, 두 종류의 데이터 프레임이 네트워크 디바이스로 입력될 수 있다. 예를 들면, 서로 상이한 우선순위를 갖는 제1 타입 데이터 프레임 및 제2 타입 데이터 프레임이 네트워크 디바이스로 입력될 수 있다. 실시예로서, 제1 타입 데이터 프레임은 제2 타입 데이터 프레임 보다 더 높은 트래픽 클래스과 연관될 수 있다. 이때, 각 데이터 프레임은 시간축에서 분산되어 입력될 수 있다.
도 15의 하단에 도시된 것처럼, 네트워크 디바이스에 입력된 두 종류의 데이터 프레임은 도 13 또는 14의 버스트 전송 방법(또는 알고리즘)을 통해 버스트 데이터로 출력될 수 있다. 예를 들면, 도시된 것과 같이, t0 시간에서부터 미리 설정된 스레시홀드 기간(또는, 기준 시간) 내인 t1 시간에 제1 타입 데이터 프레임 또는 제2 타입 데이터 프레임이 대응되는 서브 큐를 모두 채운 경우, 네트워크 디바이스는 버스트 데이터를 출력할 수 있다. 이때, 트래픽 클래스가 높은 제1 타입 데이터 프레임의 버스트 출력이 제2 타입 데이터 프레임의 버스트 출력보다 시간적으로 선행할 수 있다.
이와 같이, 네트워크 디바이스가 버스트 전송 방법을 사용하는 경우, 네트워크 디바이스에 연결된 엔드 스테이션에서는 버스트한 데이터의 출력을 얻을 수 있어, 데이터 처리를 위한 실제 동작 시간의 감소에 따른 에너지 효율성(energy efficient) 측면에서 이점을 가질 수 있다. 하지만, 네트워크 디바이스가 버스트 전송 방법을 사용하는 경우, 큐에 데이터가 충분히 채워질 때까지 시간적인 측면의 지연이 생기므로, 타임 크리티컬(time critical)한 응용에는 적용하기 어려운 면이 있다.
또한, 상술한 바와 같이, 본 발명의 일 실시예에 따른 버스트 전송 방법은 미리 설정된 스레시홀드 기간(또는 타임아웃 기간)을 두어, 도 15의 하단에 도시된 것처럼, 해당 기간 이내에는 버스트 데이터를 출력할 수 있어, 과도한 기다림 또는 지연으로 인한 네트워크의 성능 저하를 막을 수 있다.
도 16은 본 발명의 일 실시예에 따른 전송 선택 알고리즘 테이블을 나타낸다. 본 명세서에서, 전송 선택 알고리즘 테이블은 각 포트(또는 큐)에서 제공되는 전송 선택 알고리즘(또는 방법)에 대한 정보를 제공하는 테이블을 말한다. 네트워크 디바이스는 해당 포트에 대한 전송 선택 알고리즘 테이블을 참조하여, 해당 포트(또는 해당 포트 내의 각 큐)에서 지원되는 전송 선택 방법에 대한 정보를 획득할 수 있다.
상술한 바와 같이, 전송 선택 알고리즘(또는 방법)은 대응되는 큐로부터 전송 프레임을 선택하기 위해 사용되는 알고리즘을 말한다. 이러한 전송 선택 알고리즘에는 상술한 스트릭 프라이어티 알고리즘, 크래딧-베이스드 쉐이퍼 알고리즘, 버스트 전송 알고리즘 외에 구현 선택에 따라 다른 다양한 알고리즘이 포함될 수 있다.
실시예로서, 전송 선택 알고리즘 테이블은 각 포트 별로 존재하는데, 상술한 바와 같이 해당 포트에 대한 전송 선택 알고리즘은 해당 포트에 의해 지원되는 각 트래픽 클래스(또는 각 트래픽 클래스와 연관되 각 큐)에 대하여 할당된 전송 선택 방법(알고리즘)을 나타내는 테이블이다. 이 경우, 해당 큐에 대한 전송 선택 알고리즘은 도 16에 도시된 것처럼, 정수 식별자를 수단으로 전송 선택 알고리즘테이블에서 식별될 수 있다.
예를 들면, 도 16에 도시된 것처럼, 식별자가 제1 값(예컨대, “0” 값)을 갖는 경우, 전송 선택 알고리즘이 스티릭 프라이어티 알고리즘임을 나타내고, 식별자가 제2 값(예컨대, “1”값)을 갖는 경우, 전송 선택 알고리즘이 크래딧-베이스드 쉐이퍼 알고리즘임을 나타내고, 식별자가 제3 값(예컨대, “2” 값)을 갖는 경우, 전송 선택 알고리즘이 인핸스드 전송 선택 알고리즘임을 나타내고, 식별자가 제4 값(예컨대,“4”값)을 갖는 경우, 전송 선택 알고리즘이 버스트 전송(BurstTransmission) 알고리즘임을 나타낼 수 있다.
또한, 식별자가 제5 값(예컨대, “4-255” 값)을 갖는 경우, 전송 선택 알고리즘이 추후 사용을 위해 예약된 것임을 나타낼 수 있고, 식별자가 제6 값(예컨대, “255” 값)을 갖는 경우, 전송 선택 알고리즘이 DCBX 용 벤더-특정 알고리즘임을 나타낼 수 있다. 또한, 식별자가 제7 값(예컨대, 4-옥텟 정수 값)을 갖는 경우, 전송 선택 알고리즘이 벤더-특정 알고리즘임을 나타낼 수 있다. 이 경우, 최상위 3-옥텟은 OUI 또는 CID 값일 수 있고, 최하위 옥텟은 OUI 또는 CID의 소유자에 의해 할당된 0-255 범위의 정수 값일 수 있다.
상술한 전송 선택 알고리즘 테이블(또는 전송 선택 식별 테이블)은 관리 정보 데이터베이스에 저장될 수 있고, 네트워크 디바이스의 관리 수단에 의해 관리될 수 있다.
도 17은 본 발명의 일 실시예에 따른 네트워크 디바이스의 구성도이다.
도 17의 실시예에서, 네트워크 디바이스(1700)는 입력 인터페이스(1710), 출력 인터페이스(1720), 하나 이상의 메모리 유닛(1730) 및 프로세서(1740)를 포함할 수 있다. 상술한 바와 같이, 네트워크 디바이스(1700)는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 이에 포함되거나 이를 포함하는 디바이스일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q에 따라 구현된 브릿지에 해당하거나, 또는 브릿지에 포함되거나 브릿지를 포함하는 디바이스(또는 시스템)일 수도 있다. 일 실시예에서, 네트워크 디바이스는 디바이스(또는 네트워크)에 대한 연결 기능을 수행할 수 있다.
실시예로서, 네트워크 디바이스(1700)는 입력 인터페이스(1710)(예컨대, 입력 포트 또는 인그레스 포트)를 통해 입력된 프레임들을 저장하는 하나 이상의 큐를 포함하는 제1 메모리를 포함할 수 있다. 또한, 네트워크 디바이스(1700)는 본 발명의 다양한 실시예에 따른 네트워크 디바이스(1700)의 동작을 구현하기 위한 모듈, 데이터, 컴퓨터 프로그램 명령 또는 소프트웨어 중 적어도 하나를 저장하는 제2 메모리를 더 포함할 수 있다. 실시예로서, 제2 메모리는 제1 메모리와 동일하거나 또는 상이한 메모리 유닛(1730) 내에 있을 수 있다.
또한, 네트워크 디바이스(1700)는 도 16의 전송 선택 알고리즘 테이블를 저장하는 제3 메모리를 더 포함할 수 있다. 실시예로서, 제3 메모리는 제1 메모리 및/또는 제2 메모리와 동일하거나 또는 상이한 메모리 유닛(1730) 내에 있을 수 있다. 예를 들면, 제1 메모리, 제2 메모리 및 제3 메모리가 모두 동일한 메모리 유닛(1730) 내에 있을 수 있고, 각각이 서로 상이한 메모리 유닛(1730) 내에 있을 수 있으며, 또한, 두 개의 메모리는 동일한 메모리 유닛(1730) 내에 있고 나머지 한 개의 메모리는 이와 상이한 메모리 유닛(1730) 내에 있을 수 있다.
프로세서(1740)는 메모리 유닛(1730)에 연결되며, 상술한 도면 및 설명에 따른 본 발명의 다양한 실시예에 따른 동작을 수행하도록 구성될 수 있다. 예를 들면, 프로세서(1740)는 본 발명의 일 실시예에 따른 버스트 전송 방법을 수행하여 버스트 전송을 데이터 프레임들을 선택하여 출력 인터페이스(1720)(예컨대, 출력 포트 또는 이그레스 포트)를 통해 출력하도록 구성되거나, 또는 IEEE802 네트워크의 데이터 링크 계층 및 물리 계층을 구현하도록 구성될 수 있다. 본 명세서에서, 프로세서(1730)는 본 발명의 네트워크 디바이스(1700)의 각 유닛의 동작을 제어하는 컨트롤러를 포함하는 개념일 수 있다.
도 17의 네트워크 디바이스(1700)의 구체적인 구성은, 전술한 본 발명의 다양한 실시예들이 독립적으로 적용되거나 또는 2 이상의 실시예가 함께 적용되도록 구현될 수 있다. 도 17에서 나타낸 네트워크 디바이스(1700)의 버스트 전송 방법은 도 18 및 19와 관련된 설명뿐 아니라 상술한 명세서의 설명이 모두 적용될 수 있다.
도 18은 본 발명의 일 실시예에 따른 네트워크 장치의 전송 선택 방법을 나타내는 순서도이다. 도 18의 실시예에서, 네트워크 디바이스는 적어도 하나의 데이터 프레임을 저장하는 복수의 큐를 포함할 수 있다. 이때, 복수의 큐의 각각은 상이한 트래픽 클래스에 대응될 수 있다.
도 18을 참조하면, 네트워크 디바이스는 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득할 수 있다(S18010). 실시예로서, 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당할 수 있다.
실시예로서, 네트워크 디바이스는 브릿지 ID 및 포트 ID에 기초하여 데이터베이스(예컨대, 관리 정보 데이터베이스)로부터 해당 포트에 대한 전송 선택 알고리즘(또는 방법) 테이블을 검색하고, 전송 선택 알고리즘 테이블로부터 해당 포트 내의 복수의 큐의 각각(또는 각 큐에 대응되는 각 트래픽 클래스)에 대한 전송 선택 알고리즘 정보를 획득 할 수 있다. 해당 큐에 대한 전송 선택 알고리즘은 도 16에 도시된 것처럼, 정수 식별자를 수단으로 전송 선택 알고리즘 테이블에서 식별될 수 있다.
네트워크 디바이스는 전송 선택 알고리즘 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택할 수 있다(S18020). 전송 선택 알고리즘이 버스트 선택 알고리즘인 경우의 대응되는 큐로부터 버스트 데이터의 전송을 위한 데이터 프레임을 선택하는 방법에 대하여는 이하에서 도 19를 참조하여 상세히 설명한다.
도 19는 본 발명의 일 실시예에 따른 네트워크 장치의 버스트 전송 알고리즘을 이용한 전송 선택 방법을 나타내는 순서도이다. 도 19에서는 도 12 내지 도 18과 중복되는 설명에 대한 자세한 설명은 생략한다.
본 발명의 일 실시예에 따른 네트워크 디바이스는 도 18에서 설명한 바와 같이 해당 포트 또는 해당 포트 내의 각 큐(또는 각 트래픽 클래스)에 대하여 할당된 전송 선택 알고리즘에 대한 정보를 획득할 수 있다. 이때, 획득된 해당 포트에 대한 또는 해당 포트의 각 큐(또는 각 트래픽 클래스)에 대한 전송 선택 알고리즘은 버스트 전송 알고리즘일 수 있다.
일 실시예에서, 해당 포트 내의 모든 큐에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘일 수 있다. 다른 실시예에서, 해당 포트 내의 큐들 중 일부에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘일 수 있다. 예를 들면, 해당 포트 내의 큐들 중 하나 또는 두 개의 큐에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘일 수 있다. 이하에서는, 해당 포트 내의 모든 큐에 전송 선택 알고리즘이 할당된 실시예에 대하여 설명하지만, 이는 설명의 편의를 위한 예시에 불과하고, 동일하거나 유사한 설명이 해당 포트 내의 큐들 중 일부에만 전송 선택 알고리즘이 할당된 실시예에 대하여 적용될 수 있다.
도 19를 참조하면, 복수의 큐의 각각에 대하여 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘인 경우, 네트워크 디바이스는 복수의 큐 각각을 재구성할 수 있다(S19010). 실시예로서, 네트워크 디바이스는 출력 포트의 아웃바운드 큐들의 각각을 미리 정의된 형태의 2개의 서브 큐들로 재구성할 수 있다. 예를 들면, 네트워크 디바이스는 출력 포트의 아웃바운드 큐들의 각각을 핑퐁(ping/pong) 형태의 한 쌍의 서브 큐들로 재구성할 수 있다.
실시예로서, 재구성된 한 쌍의 서브 큐(예컨대, 핑퐁 형태의 서브 큐)는 서로 상이한 동작 상태를 가질 수 있다. 예를 들면, 한 서브 큐가 읽기 상태(read status)인 경우, 이와 쌍을 이루는 다른 서브 큐는 쓰기 상태(write status)일 수 있다. 이를 통해, 브릿지의 출력 포트는 하나의 큐에서 읽기/쓰기 동작을 함께 또는 동시에 수행하는 것이 아닌, 서로 상이한 동작을 수행하는 한 쌍의 서브 큐로 재구성되어 읽기 동작 및 쓰기 동작을 각각 분리하여 수행할 수 있다. 일 실시예에서, 재구성된 2개의 서브 큐들의 각 사이즈는 동일할 수 있다. 즉, 각 서브 큐의 사이즈는 큐 사이즈의 절반일 수 있다. 이에 대하여는 도 13 등을 참조하여 상술한 바 자세한 설명은 생략한다.
네트워크 디바이스는 미리 설정된 상태변경 조건을 만족하는지 여부를 결정할 수 있다(S19020). 네트워크 디바이스는 쓰기 상태의 서브 큐들 중 하나가 미리 설정된 상태변경 조건을 만족하는지 여부를 결정할 수 있다. 일 실시예에서, 쓰기 상태에 있는 서브 큐 중 하나가 데이터 프레임으로 완전히 채워진 경우, 네트워크 디바이스는 상태변경 조건을 만족하는 것으로 결정할 수 있다. 다른 실시예에서, 쓰기 상태에 있는 서브 큐 중 하나에서 데이터 프레임이 스레시홀드 사이즈 이상으로 채워진 경우, 네트워크 디바이스는 상태변경 조건을 만족하는 것으로 결정할 수 있다.
실시예로서, 네트워크 디바이스는 미리 설정된 기간 내에 미리 설정된 상태변경 조건을 만족하는지 여부를 결정할 수 있다. 여기서, 미리 설정된 기간은 하나의 서브 큐가 채워지길 기다리는 타임아웃 기간을 말한다. 실시예로서, 타임아웃 기간은 서브 큐의 사이즈에 기초하여 설정될 수 있다. 이에 대하여는 도 13 등을 참조하여 상술한 바 자세한 설명은 생략한다.
미리 설정된 상태변경 조건이 만족된 경우, 네트워크 디바이스는 전체 서브 큐들의 상태를 변경시킬 수 있다(S19030). 이를 통해, 읽기 상태인 서브 큐들은 쓰기 상태로 변경되고, 쓰기 상태인 서브 큐들은 읽기 상태로 변경될 수 있다.
네트워크 디바이스는 읽기 상태로 변경된 서브 큐들로부터 버스트 데이터의 전송을 위한 데이터 프레임을 선택할 수 있다(S19040). 실시예로서, 네트워크 디바이스가 읽기 상태인 서브 큐로부터 버스트 데이터의 전송을 위한 데이터 프레임을 선택하는 방식은 스트릭 프라이어티 알고리즘(또는 방법)을 사용하여 읽기 상태인 서브 큐로부터 전송을 위한 데이터 프레임을 선택하는 방식과 동일한 방식에 의할 수 있다. 예를 들면, 네트워크 디바이스는 가장 높은 우선순위를 갖는 트래픽 클래스를 갖는 읽기 상태인 서브 큐에 저장된 제1 데이터 프레임들 모두를 전송을 위해 선택하고, 이후에, 그 다음으로 높은 우선순위를 갖는 트래픽 클래스를 갖는 읽기 상태인 서브 큐에 저장된 제2 데이터 프레임들 모두를 전송을 위해 선택하는 방식으로, 트래픽 클래스에 따라 순차적으로 서브 큐로부터 버스트 전송을 위한 데이터 프레임을 선택할 수 있다. 이에 대하여는 도 13 등을 참조하여 상술한 바 자세한 설명은 생략한다.
미리 설정된 상태변경 조건이 만족되지 않는 경우, 네트워크 디바이스는 전체 서브 큐들의 상태를 유지할 수 있다(S19050). 네트워크 디바이스는 현재 읽기 상태인 서브 큐들로부터 전송을 위한 데이터 프레임을 선택할 수 있다(S19060). 이에 대하여는 도 13 등을 참조하여 상술한 바 자세한 설명은 생략한다.
이와 같이, 버스트 전송 방법은 가장 많은 데이터가 입력되는 트래픽 클래스에 지배되어 큐에서 데이터를 출력하지만, 버스트하게 출력되는 아웃풋 내에서는 가장 높은 우선순위(또는 트래픽 클래스)를 갖는 프레임들이 우선하도록 한다. 즉, 버스트 데이터를 출력하기 위한 상태변경 조건의 만족 여부는 가장 많은 데이터가 입력된 큐에 의존하지만, 실제 버스트 데이터의 출력은 큐와 연관된 트래픽 클래스의 우선순위에 의존한다. 또한, 버스트 전송 방법은 큐 제어가 간단하고, 각 큐를 핑퐁 형태의 서브 큐로 재구성하는 것 역시 소프트웨어에 의한 처리도 가능하므로 구현 상의 어려움도 적다는 이점을 갖는다.
본 명세서에서는 해당 포트의 모든 트래픽 클래스(또는 트래픽 클래스에 대응되는 큐)에 버스트 전송 알고리즘이 적용되는 실시예들을 중심으로 설명하였으나, 이는 설명의 편의를 위한 예시에 불과하고, 본 발명의 범위가 이에 의해 한정되지는 않는다. 예를 들면, 해당 포트의 일부 트래픽 클래스(또는 트래픽 클래스에 대응되는 큐)에 대하여 버스트 전송 알고리즘이 적용되고, 나머지 트래픽 클래스(또는 트래픽 클래스에 대응되는 큐)에 대하여는 다른 전송 선택 알고리즘(예컨대, 스트릭 프라이어티 알고리즘 및/또는 크래딧-베이스드 알고리즘)이 적용될 수 있다. 이 경우, 각 알고리즘이 적용되는 트래픽 클래스간의 우선순위 레벨은 미리 설정된 값에 따르거나, 새로 정의된 값에 따를 수 있다. 예를 들면, 버스트 전송 알고리즘이 적용되는 트래픽 클래스들(또는 큐들)이 가장 높은 우선순위 레벨을 갖고, 크래딧-베이스드 알고리즘이 적용되는 트래픽 클래스들(또는 큐들)이 그 다음 높은 우선순위 레벨을 갖고, 스트릭 프라이어티 알고리즘이 적용되는 트래픽 클래스등(또는 큐들)이 가장 낮은 우선순위 레벨을 가질 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 네트워크 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (12)

  1. 네트워크 디바이스에 있어서,
    적어도 하나의 데이터 프레임을 저장하는 복수의 큐, 상기 복수의 큐의 각각은 상이한 트래픽 클래스에 대응되는;
    상기 복수의 큐와 연결된 프로세서를 포함하되,
    상기 프로세서는,
    상기 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하고,
    상기 전송 선택 알고리즘에 대한 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하며,
    상기 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당하는, 네트워크 디바이스.
  2. 제 1 항에 있어서,
    상기 복수에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘인 경우, 상기 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 것은:
    상기 복수의 큐의 각각을 한 쌍의 서브 큐로 재구성하되, 상기 한 쌍의 서브 큐는 상이한 동작 상태를 가지고,
    쓰기 상태의 서브 큐들 중 하나가 미리 설정된 상태변경 조건을 만족하는지 여부를 결정하고,
    상기 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는 경우, 모든 서브 큐들의 동작 상태를 변경하고,
    읽기 상태로 변경된 서브 큐들로부터 버스트 데이터의 전송을 위한 데이터 프레임들을 선택하는 것을 포함하는, 네트워크 디바이스.
  3. 제 2 항에 있어서,
    상기 읽기 상태로 변경된 서브 큐들로부터 전송을 위한 데이터 프레임들을 선택하는 것은:
    제1 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제1 데이터 프레임들을 전송을 위해 선택하고,
    상기 제1 데이터 프레임들이 전송을 위해 선택된 이후에, 제2 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제2 데이터 프레임들을 전송을 위해 선택하는 것을 포함하되, 상기 제1 트래픽 클래스는 가장 높은 우선순위를 갖는 트래픽 클래스이고, 상기 제2 트래픽 클래스는 상기 제1 트래픽 클래스보다 낮은 우선순위를 갖는 트래픽 클래스인, 네트워크 디바이스.
  4. 제 3 항에 있어서,
    상기 프로세서는,
    상기 쓰기 상태의 서브 큐들 중 하나가 상기 데이터 프레임들로 완전히 채워진 경우, 상기 상태변경 조건을 만족하는 것으로 결정하는, 네트워크 디바이스.
  5. 제 3 항에 있어서,
    상기 프로세서는,
    상기 쓰기 상태의 서브 큐들 중 하나가 미리 설정된 기간 이내에 상기 미리 설정된 상태변경 조건을 만족하는 경우에만, 상기 서브 큐들 모두의 동작 상태를 변경하는, 네트워크 디바이스.
  6. 제 2 항에 있어서,
    상기 한 쌍의 서브 큐는 서로 동일한 사이즈를 갖는, 네트워크 디바이스.
  7. 데이터 프레임을 저장하는 복수의 큐를 포함하는 네트워크 디바이스의 전송 선택 방법에 있어서, 상기 복수의 큐의 각각은 상이한 트래픽 클래스에 대응됨,
    상기 복수의 큐에 대한 전송 선택 알고리즘에 대한 정보를 획득하는 단계; 및
    상기 전송 선택 알고리즘에 대한 정보에 기초하여 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계를 포함하며,
    상기 전송 선택 알고리즘은, 스트릭 프라이어티(strict priority) 알고리즘, 크래딧-베이스드 쉐이퍼(credit-based shaper) 알고리즘 또는 버스트 전송(burst transmission) 알고리즘에 해당하는, 네트워크 디바이스의 전송 선택 방법.
  8. 제 7 항에 있어서,
    상기 복수의 큐에 할당된 전송 선택 알고리즘이 버스트 전송 알고리즘인 경우, 상기 대응되는 큐로부터 전송을 위한 데이터 프레임을 선택하는 단계는:
    상기 복수의 큐의 각각을 한 쌍의 서브 큐로 재구성하는 단계로서, 상기 한 쌍의 서브 큐는 상이한 동작 상태를 가지며:
    쓰기 상태의 서브 큐들 중 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는지 여부를 결정하는 단계;
    상기 하나의 서브 큐가 미리 설정된 상태변경 조건을 만족하는 경우, 서브 큐들 모두의 동작 상태를 변경하는 단계;
    읽기 상태로 변경된 서브 큐들로부터 버스트 데이터의 전송을 위한 데이터 프레임들을 선택하는 단계를 포함하는, 네트워크 디바이스의 전송 선택 방법.
  9. 제 8 항에 있어서,
    상기 읽기 상태로 변경된 서브 큐들로부터 전송을 위한 데이터 프레임들을 선택하는 단계는:
    제1 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제1 데이터 프레임들을 전송을 위해 선택하고,
    상기 제1 데이터 프레임들이 전송을 위해 선택된 이후에, 제2 트래픽 클래스에 대응되는 서브 큐에 저장된 모든 제2 데이터 프레임들을 전송을 위해 선택하되, 상기 제1 트래픽 클래스는 가장 높은 우선순위를 갖는 트래픽 클래스이고, 상기 제2 트래픽 클래스는 상기 제1 트래픽 클래스보다 낮은 우선순위를 갖는 트래픽 클래스인, 네트워크 디바이스의 전송 선택 방법.
  10. 제 9 항에 있어서,
    상기 네트워크 디바이스는,
    상기 쓰기 상태의 서브 큐들 중 하나의 서브 큐가 상기 데이터 프레임들로 완전히 채워진 경우, 상기 하나의 서브 큐가 상기 미리 설정된 상태변경 조건을 만족하는 것으로 결정하는, 네트워크 디바이스의 전송 선택 방법.
  11. 제 9 항에 있어서,
    상기 네트워크 디바이스는,
    상기 하나의 서브 큐가 미리 설정된 기간 이내에 상기 미리 설정된 상태변경 조건을 만족하는 경우에만, 서브 큐들 모두의 동작 상태를 변경하는, 네트워크 디바이스의 전송 선택 방법.
  12. 제 8 항에 있어서,
    상기 한 쌍의 서브 큐는 서로 동일한 사이즈를 갖는, 네트워크 디바이스의 전송 선택 방법.
PCT/KR2016/014894 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 전송 선택 방법 WO2018117279A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020197018083A KR102164032B1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 전송 선택 방법
PCT/KR2016/014894 WO2018117279A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 전송 선택 방법
US16/471,540 US10999222B2 (en) 2016-12-19 2016-12-19 Network device and method for selecting transmission of network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/014894 WO2018117279A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 전송 선택 방법

Publications (1)

Publication Number Publication Date
WO2018117279A1 true WO2018117279A1 (ko) 2018-06-28

Family

ID=62626574

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/014894 WO2018117279A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 전송 선택 방법

Country Status (3)

Country Link
US (1) US10999222B2 (ko)
KR (1) KR102164032B1 (ko)
WO (1) WO2018117279A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245732B2 (en) * 2017-03-10 2022-02-08 Siemens Aktiengesellschaft Method and device for the modular orientation of an AVB stream
JP6933535B2 (ja) * 2017-09-21 2021-09-08 株式会社東芝 通信装置、通信方法及びプログラム
EP3522477B1 (de) * 2018-01-31 2021-08-11 Siemens Aktiengesellschaft Verfahren zur daten-kommunikation in einem insbesondere industriellen netzwerk, vorrichtung zur durchführung des verfahrens, computerprogramm sowie computerlesbares medium
WO2020039538A1 (ja) * 2018-08-23 2020-02-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム
US11080133B1 (en) * 2018-08-27 2021-08-03 Johnny Yau Systems and methods for reduced latency in data processing
EP3873009A1 (de) * 2020-02-28 2021-09-01 Siemens Aktiengesellschaft Verfahren zur synchronisation von steuerungsanwendungen über ein kommunikationsnetz zur übermittlung zeitkritischer daten, netzinfrastrukturgerät und kommunikationsendgerät
US11121889B1 (en) * 2020-06-15 2021-09-14 Moxa Inc. Apparatuses and methods for routing packets between a time-sensitive networking (TSN) network and a non-TSN network by virtual local area network (VLAN) tag manipulation
CN112769514A (zh) * 2020-12-22 2021-05-07 国家电网有限公司 基于时间敏感的通信设备
CN115865810B (zh) * 2023-02-22 2023-06-09 浙江中控研究院有限公司 一种时间敏感网络中信用值流量调度系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095498A1 (en) * 2000-06-05 2002-07-18 Accordion Networks Network architecture for multi-client units
JP2008165485A (ja) * 2006-12-28 2008-07-17 Fujitsu Ltd 半導体装置及びバッファ制御回路
JP2010157782A (ja) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp パケットスケジューリング方法および装置
US20140071823A1 (en) * 2012-03-08 2014-03-13 Marvell World Trade Ltd. Method and apparatus for transmitting packets in accordance with ieee 802.1 qbv

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553061A (en) * 1994-06-27 1996-09-03 Loral Fairchild Corporation Packet processor having service priority and loss priority features
US7158528B2 (en) * 2000-12-15 2007-01-02 Agere Systems Inc. Scheduler for a packet routing and switching system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020095498A1 (en) * 2000-06-05 2002-07-18 Accordion Networks Network architecture for multi-client units
JP2008165485A (ja) * 2006-12-28 2008-07-17 Fujitsu Ltd 半導体装置及びバッファ制御回路
JP2010157782A (ja) * 2008-12-26 2010-07-15 Mitsubishi Electric Corp パケットスケジューリング方法および装置
US20140071823A1 (en) * 2012-03-08 2014-03-13 Marvell World Trade Ltd. Method and apparatus for transmitting packets in accordance with ieee 802.1 qbv

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IMTIAZ, JAHANZAIB ET AL.: "A Performance Study of Ethernet Audio Video Bridging (AVB) for Industrial Real-time Communication", IEEE CONFERENCE ON EMERGING TECHNOLOGIES & FACTORY AUTOMATION (ETFA), 22 September 2009 (2009-09-22), XP031575698 *

Also Published As

Publication number Publication date
US20190386935A1 (en) 2019-12-19
KR20190084315A (ko) 2019-07-16
KR102164032B1 (ko) 2020-10-12
US10999222B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
WO2018117279A1 (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
WO2018117280A1 (ko) 네트워크 장치 및 네트워크 장치의 큐 관리 방법
CN111684776B (zh) 用于网络中的数据通信的方法、控制方法和通信系统
US8351352B1 (en) Methods and apparatus for RBridge hop-by-hop compression and frame aggregation
US8416795B2 (en) Ethernet switching
US7170897B2 (en) Method and apparatus for implementing point-to-multipoint communications over a connection- based data communication network
US8527674B2 (en) Data packet switching
US20060212551A1 (en) Plug and play node addition in a dual ring topology network
WO2019129236A1 (zh) 基于隧道传输数据的方法及装置
US8331241B2 (en) Routing control method, communication apparatus and communication system
WO2015012454A1 (ko) 가상 링크 조정에 의한 네트워크 성능 개선 방법 및 이를 적용한 네트워크 시스템
US9973349B2 (en) Relay system and switching device
US8873431B1 (en) Communications system and method for maintaining topology in a VLAN environment
US10587508B2 (en) Ethernet frame transmission method in software defined networks (SDN)
US20160087900A1 (en) A communication node for a packet-switched data network and a method for operation thereof
AU2018231406A1 (en) Methods and devices for preserving relative timing and ordering of data packets in a network
US20070217438A1 (en) Ring node device and method of connecting terminal to ring node device
US6233221B1 (en) System and method for a ring network with virtual path connections
US20180069790A1 (en) Packet transfer device and packet transfer method
JP2003234750A (ja) タグ変換によるlan間の接続方法及びタグ変換装置
CN109379234B (zh) 基于Hybrid交换机的报文转发处理方法及系统
CN114584509A (zh) 一种通信方法及相关设备
JP5853758B2 (ja) 通信装置及び帯域制御方法
US20160127271A1 (en) Relay System and Switching Device
US7006515B1 (en) Isochronous queue and buffer management

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16924580

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20197018083

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 16924580

Country of ref document: EP

Kind code of ref document: A1