WO2018117280A1 - 네트워크 장치 및 네트워크 장치의 큐 관리 방법 - Google Patents

네트워크 장치 및 네트워크 장치의 큐 관리 방법 Download PDF

Info

Publication number
WO2018117280A1
WO2018117280A1 PCT/KR2016/014895 KR2016014895W WO2018117280A1 WO 2018117280 A1 WO2018117280 A1 WO 2018117280A1 KR 2016014895 W KR2016014895 W KR 2016014895W WO 2018117280 A1 WO2018117280 A1 WO 2018117280A1
Authority
WO
WIPO (PCT)
Prior art keywords
stream
queue
data
frame
bridge
Prior art date
Application number
PCT/KR2016/014895
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 PCT/KR2016/014895 priority Critical patent/WO2018117280A1/ko
Priority to KR1020197018084A priority patent/KR102164033B1/ko
Priority to EP16924301.1A priority patent/EP3557824B1/en
Priority to US16/471,546 priority patent/US11082348B2/en
Publication of WO2018117280A1 publication Critical patent/WO2018117280A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/54Loss aware scheduling

Definitions

  • the present invention relates to a network device and a transmission selection method of the network device, and more particularly, to a queue management method for efficient memory management 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.
  • Queue management in such a network needs to be efficiently handled according to the field of use or purpose.
  • queue management in the network needs to be determined in consideration of the priority or importance of streams input to the queue.
  • the present invention proposes a network device and a transmission selection method of the network device.
  • a network device may include a queue for storing a plurality of data frames and a processor connected to the queue, wherein the plurality of data frames may have the same traffic class.
  • the processor may determine whether a preset frame elimination condition for the queue is satisfied, and when the preset frame elimination condition is satisfied, remove the at least one data frame from the queue.
  • the processor when the processor removes at least one data frame from the queue, the processor identifies a stream to which each of the plurality of data frames belongs, and identifies the stream based on preset stream priority information. Data frames of at least one stream of the streams may be removed.
  • the stream priority information includes stream identification information for predefined critical streams and priority information associated with each stream identification information, wherein the critical stream includes frame loss. It may be a stream included in the stream priority information to minimize.
  • the processor when the processor removes the at least one data frame based on the preset stream priority information, data of a non-critical stream other than the critical stream among the identified streams may be removed.
  • the frame can be removed first.
  • the processor may be configured to remove the at least one data frame based on the preset stream priority information after the data frame of the non-critical stream is removed, wherein the critical stream of the identified stream is removed. Can remove the first data frame of the first critical stream having the lowest priority.
  • the processor may identify a stream to which the data frame belongs by using additional information other than the information obtained from the data frame or the information obtained from the data frame.
  • a queue management method of a network device includes storing a plurality of data frames in a queue; Determining whether a preset frame elimination condition for the queue is satisfied; And removing at least one data frame from the queue when the preset frame removal condition is satisfied.
  • the plurality of data frames may have the same traffic class.
  • removing at least one data frame from the queue comprises: identifying a stream to which each of the plurality of data frames belongs; And removing data frames of at least one stream of the identified streams based on preset stream priority information.
  • the stream priority information includes stream identification information for predefined critical streams and priority information associated with each stream identification information, wherein the critical stream includes frame loss. It may be a stream included in the stream priority information to minimize.
  • the removing of the at least one data frame based on the preset stream priority information may include a data frame of a non-critical stream that is not the critical stream among the identified streams. Can be removed with
  • the critical stream of the identified stream may be prioritized.
  • the method may further include removing the first data frame of the first critical stream having the lowest rank.
  • identifying a stream to which each of the plurality of data frames belongs may include: belonging to the data frame using additional information other than information obtained from the data frame or information obtained from the data frame. Identifies the stream.
  • the present invention can improve the efficiency of data processing by performing a queue management method in accordance with the field of use or purpose of the network.
  • the present invention makes it possible to maintain the performance expected by the network device by taking a queue management method that takes into account the priority or importance of the streams being input to the queue.
  • 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 a per-stream filtering and policing method according to an embodiment of the present invention.
  • FIG. 14 shows a stream priority table according to an embodiment of the present invention.
  • FIG. 15 illustrates a state change of a queue over time when a queue management method according to an embodiment of the present invention is used.
  • FIG. 16 illustrates a location of stream ID information 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 illustrates a queue management method of a network device according to an embodiment of the present invention.
  • FIG. 19 illustrates a queue management method of a network device according to another 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. This is the protocol that makes the whole process possible.
  • 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.
  • the queue management method (or step) performed in the network device may correspond to the queue management step (or method) of the bridge forwarding process of FIG. 10.
  • the queue management step (or method) corresponds to the method of managing the input of the queue to the outbound queue. do.
  • an outbound queue refers to a queue (or buffer) used to output data and data frames (or frames) from the corresponding bridge port.
  • the network device monitors the status of the queue through a preset queue management method, and efficiently manages the status of the queue by appropriately removing data frames at a suitable time after the queue is completely filled or before being completely filled. .
  • the bubbling effect refers to a faulty talker or bridge (or switch).
  • the fault means that the equipment (for example, the talker or the bridge) spills a lot of wrong data abnormally or transmits the data at the wrong time due to a failure or malfunction.
  • Streams generated by such abnormal talkers or bridges may not only affect other streams, but may also propagate through the entire network and affect the entire network. That is, the abnormal stream may affect the operation of the normal stream and the network in which bandwidth and latency should be guaranteed, and may cause the normal stream and the network to malfunction. Therefore, a method of detecting and preventing occurrence of such an abnormal stream is necessary for normal operation of the network.
  • an abnormal stream may be referred to as a bad stream or a fault stream.
  • a data frame refers to a unit of data transmitted
  • 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.
  • FIG. 11 illustrates a per-stream filtering and policing (PSFP) method according to an embodiment of the present invention.
  • 11 illustrates a network device performing a PSFP method according to an embodiment of the present invention.
  • the PSFP method refers to a method of performing filtering and polishing for each stream, unlike per-class filtering and policing for performing filtering and polishing for each traffic class.
  • the PSFP method may be performed through an ingress policing filter (or stream filter) in the network device.
  • filtering refers to blocking the transfer of data frames from the input port to the output port
  • polishing refers to dropping the input data frame.
  • the network device can efficiently deal with the abnormal stream caused by the bubbling effect. For example, when one of a plurality of streams having the same traffic class is an abnormal stream, the network device distinguishes between an abnormal stream and a non-faulty stream by using the PSFP method, and blocks only the abnormal stream appropriately. It can guarantee the normal transmission for the normal stream. As such, when filtering and polishing by streams, only abnormal streams among a plurality of streams having the same traffic class stored in the same queue can be appropriately blocked, so that queue management can be performed more efficiently than filtering and polishing by traffic. have.
  • the PSFP method of the embodiment of FIG. 11 can generally be applied in a predefined network.
  • a predefined network is a network in which network devices (or users of the network) in the network know in advance the resources (or characteristics) of each stream transmitted over the network, for example, stream ID, bandwidth, importance, priority, etc. .
  • the network device knows the characteristics of each stream in advance, it is possible to determine whether the corresponding stream is normal or abnormal, and use the PSFP method when an abnormal stream is generated.
  • the network is a predefined network, two streams (stream 1 and stream 2) transmitted in talker 1 (T1) are each allocated a bandwidth of 20 Mbit / s, talker 2 (T2) It is assumed that a bandwidth of 55 Mbit / s is allocated to the stream (stream 3) transmitted from the.
  • the ingress polishing filter for filtering and polishing for stream 1 and stream 2 may each have a bandwidth limit of 20 Mbit / s, and the ingress polishing filter for stream 3 is 55 Mbit / s. May have bandwidth limitations.
  • the network device eg, bridge B1
  • the network device eg, bridge B1
  • the detection algorithm may be “Bandwidth Profile Parameters and Algorithm” as defined in the MEF (Metro Ethernet network architecture Forum) 10.3.
  • the network device may block stream 1 at the input port through an ingress polishing filter for stream 1. As a result, other streams are not affected by stream 1, which is an abnormal stream, and can be transmitted normally within the allocated bandwidth. As such, when the PSFP method is used, the network device may properly block only the abnormal stream to ensure normal transmission of the normal stream.
  • FIG. 12 illustrates polishing and filtering latency in accordance with an embodiment of the present invention. Specifically, FIG. 12 (a) shows the process from generation of an abnormal stream to blocking when using the PSFP method of FIG. 11, and FIG. 12 (b) shows the process from generation of an abnormal stream to blocking. Illustrates the effect of the abnormal stream on the network during the period. In FIG. 12, descriptions duplicated with those described in FIG. 11 will be omitted.
  • the period (first period) corresponding to '1' indicates a period in which an abnormal stream has not yet occurred, that is, the network operates normally.
  • Time t0 represents the time at which occurrence of an abnormal stream started at a particular node (e.g., a particular talker or a specific bridge).
  • the period (second period) corresponding to '2' indicates a period from when a abnormal stream is generated to detecting and blocking the abnormal stream. This period is a period in which the generation of the abnormal stream has started, but the polishing and filtering function has not yet operated, and may be referred to as a "delay period".
  • a period corresponding to '3' indicates a period during which the polishing and filtering functions for the abnormal stream are performed so that the abnormal stream is no longer propagated to the network.
  • the operation of the third period is as described above with reference to FIG.
  • FIG. 12 (b) how the abnormal stream propagates to the network and affects the operation of other streams during the delay period will be described.
  • the output bandwidth of stream 3 allocated 55 Mbit / s at the second network device may be reduced to 50 Mbit / s.
  • the second network device eg, bridge 2
  • FIG. 13 A detailed description of the influence of the abnormal stream on the normal stream during the delay period is given in FIG. 13 to be described below.
  • an abnormal stream may affect the output bandwidth of the normal stream.
  • a normal stream that is affected by an abnormal stream is a critical stream that is not critical and has no frame loss, it is fatal due to the reduction of the output bandwidth due to the frame loss generated during this period. Results may also result.
  • the stream is a safety critical stream that carries vehicle safety-related data in the in-vehicle network, it may cause a fatal result even though it is an error for a while. Therefore, apart from the polishing and filtering method performed after the delay period, there is a need for a method capable of minimizing the influence of the high priority stream from the abnormal stream even during the delay period.
  • a traffic class refers to a classification used to expedite the transmission of a frame (or data frame).
  • an outbound queue refers to a queue (or buffer) used to output data or data frames from a corresponding bridge port.
  • a queue may be referred to as a buffer.
  • the queue management algorithm corresponds to a random early detection (RED) algorithm or a weight random early detection (WRED) algorithm.
  • the RED algorithm and the WRED algorithm may be algorithms according to the IEFT RFC 2309 standard.
  • the queue management algorithm may correspond to a queue management algorithm based on the priority of a stream to be described later.
  • the RED algorithm continuously monitors the available size of the queue and discards frames based on statistical probability values.
  • the network device uses the RED algorithm, as the number of frames in the queue increases, the amount of discarded frames increases.
  • the network device uses the RED algorithm, when a frame is full in the queue, all frames that are subsequently input can be discarded, thereby preventing global synchronization.
  • the global synchronization (Global Synchronizaiton) refers to a phenomenon in which a plurality of nodes in response to congestion lowers the transmission speed at the same time. Since the global network can be prevented from slowing down due to the prevention of such global synchronization, the use of the RED algorithm is a method for increasing network efficiency.
  • the WRED algorithm monitors the state of the queue and, when discarding frames entered in the queue, makes a difference between the frames so that more less important frames are discarded.
  • the drop_eligible bit (or parameter) may be used, and the frame in which the drop_eligible parameter is set may be discarded before other frames.
  • the drop_eligible parameter may be encoded in the PCP field of the VLAN tag of the frame, as in the embodiment of FIG. 2, and decoded from the PCP field.
  • the DEI field may be a 1-bit field allocated to the PCP field.
  • the above-described RED algorithm and WRED algorithm do not correspond to an algorithm that discards frames from a queue by making a difference for each stream. Therefore, when using the RED algorithm or the WRED algorithm as the queue management algorithm, a frame input after the bubbling effect is generated may be discarded regardless of the type of the stream to which the frame belongs. That is, regardless of whether the input frame is a frame of an abnormal stream or a frame of a normal stream, it can be discarded from the outbound queue.
  • the network device may remove the frames of the normal stream as well as the frames of the normal stream from the outbound queue during the delay period.
  • the normal stream to be removed is, for example, a safety critical stream used in a vehicle, as described above, a fatal result may be caused due to a brief frame loss. Therefore, there is a need for a new method of queue management (or algorithm) for determining the priority of streams discarded during the delay period based on the importance or priority of the streams in this case.
  • a queue management algorithm is a queue management algorithm based on a priority (or importance) of a stream, and is a stream priority based queue management algorithm (or method) or priority based queue management algorithm (or method). Or priority based algorithm (or method).
  • the priority based algorithm may be used primarily with the PSPF method described above.
  • a predefined frame elimination condition e.g., if the queue is full, full of data frames
  • the network device belongs to the queued data frames.
  • the stream may be identified and data frames of at least one stream of the identified streams may be removed based on preset stream priority information (table).
  • the network device may first remove data frames of non-critical streams among the identified streams not included in the stream priority table from the queue. With data frames of non-critical streams completely removed from the queue, if the frame elimination condition is satisfied again, the network device removes from the queue data frames of the lowest priority stream among the critical streams included in the stream priority table. can do.
  • the critical stream is a stream that needs to minimize frame loss, and may be a stream included in the stream priority table (or information) to minimize frame loss.
  • a critical stream may be a critically affected stream even with a short time or a small amount of frame loss, for example, a safety critical stream carrying safety-related data in a vehicle.
  • the non-critical stream refers to a stream that is not a critical stream.
  • a non-critical stream may be a stream that is not critically affected due to short time or small frame loss (eg, a stream that carries unsafe related data).
  • the non-critical stream may not be included in the stream priority table.
  • the network device using the priority-based algorithm first discards the data frame in the non-critical stream rather than the critical stream, and then the critical stream. It takes a method of discarding data frames of the corresponding stream in order of priority or low priority. When managing a queue in this manner, the highest priority critical stream can be discarded from the queue last.
  • This priority based algorithm may be used in conjunction with other queue management algorithms, the RED algorithm or the WRED algorithm. For example, if a priority based algorithm is used with the RED algorithm, the network device may consult the priority table before the queue becomes full, that is, before the queue is completely filled with data frames. This allows the network device to perform queue management taking into account the priority of the stream early (or faster).
  • the network device may consult the priority table and the DEI field in the frame before the queue is pulled. In this case, for example, when streams other than the safety critical stream are preferentially discarded, the network device may differentiate the data frame (or stream) based on the value of the DEI field, and then the safety critical stream is discarded. When lost, the network device may discard the data frames by varying the streams based on the priority table. In this way, the network device may perform queue management in consideration of the priority of the stream or data frame at an early stage.
  • the priority of the stream may be considered when discarding frames from the queue.
  • the stream priority table (or information) may be referred to. An example of such a stream priority table is described in detail below with reference to FIG. 14.
  • FIG. 14 shows a stream priority table according to an embodiment of the present invention.
  • FIG. 14 illustrates an example of a stream priority table (or information) referred to when the frame elimination condition is satisfied when the priority based algorithm is used as the queue management algorithm so that the network device discards the data frame from the queue.
  • the stream priority table may be referenced (or retrieved) by the network device only if the frame drop condition is met. That is, the network device may refer to the stream priority table only when the frame drop condition is satisfied.
  • the stream priority table may be referred to as a priority table.
  • the stream priority table may include stream identification (ID) information for predefined critical streams and priority information (or index) associated with each stream identification information.
  • ID stream identification
  • the stream priority table may be set for each port in the network or per queue in the port.
  • the stream priority table may be created, updated or managed by a management entity that manages information related to the operation or security of the network device.
  • the management entity is, for example, an internal management entity within the network device or a remote management entity (directly or indirectly connected to the network device within the network to remotely manage the network device externally) ( Or an external management entity).
  • the user of the network may predetermine which of the various streams of the network is a critical or non-critical stream, and also the critical streams.
  • the priority of the liver can be determined in advance. Accordingly, a user of the network may preset a stream priority table as shown in FIG. 14 based on this, and store and manage the stream priority table in a database such as a management information base.
  • the index provides priority information (or importance) of the stream with the corresponding stream ID.
  • the lower the index value the higher the stream priority (or importance), and the larger the index value, the lower the stream priority (or the importance).
  • the priority of the stream corresponding to the stream ID 3 having the index value 1 may be higher than the priority of the stream corresponding to the stream ID 6 having the index value 2.
  • the stream priority table may include only priority information for the critical stream. In this way, instead of determining and managing priority of all streams in the network, only priority of necessary critical streams needs to be determined and managed, thereby creating and managing a priority table.
  • the network device may check how many critical streams are in the predefined network through the stream priority table. In the embodiment of Figure 14, it is confirmed that there are three critical streams in the predefined network.
  • a stream priority table may be referred to as a safety critical stream ID table or a safety critical stream table.
  • FIG. 15 illustrates a state change of a queue over time when a queue management method according to an embodiment of the present invention is used.
  • the above-described priority based algorithm may be used as the queue management method.
  • a first data frame of a first stream, a second data frame of a second stream, and a third data frame of a third stream may be stored in a first queue, which is one of at least one outbound queue of an output port.
  • the first stream may be a non-critical stream having stream ID 1
  • the second stream may be a critical stream having stream ID 3
  • the third stream may be a critical stream having stream ID 7.
  • an abnormal stream is generated at time t0 and the abnormal stream is blocked (or filtered) at time t0 + delay.
  • the third stream becomes an abnormal stream at time t0, and the third stream, which is an abnormal stream, is blocked at time t0 + delay.
  • FIG. 15 (a) shows the state of an exemplary queue during a first period in which no abnormal stream has yet occurred.
  • the first queue is in a normal state where the queue is not completely filled, and the two first data frames of the first stream, the four second data frames of the second stream and the third stream of Two third data frames are stored.
  • FIG. 15 (b) shows the state of an exemplary queue during a second period of time, from a time when an abnormal stream is generated to detecting and blocking (or filtering / polishing) it, that is, a delay period.
  • Blocking of an abnormal stream may be, for example, by the PSFP method described above.
  • the first queue is in a full state in which the queue is completely filled by the third stream, which is an abnormal stream. That is, the frame elimination condition for the first queue is satisfied.
  • the frame removal condition refers to a condition that must be satisfied to remove at least one frame from the queue. That is, the frame removal condition refers to a condition required for determining whether removal of a data frame from a queue is necessary.
  • the network device may monitor the state of the queue to determine whether a preset frame removal condition for the queue is satisfied. For example, when the queue is completely filled with data frames, that is, when the queue is full, the network device may determine that a preset frame removal condition for the queue is satisfied. As another example, when the queue is filled with a data frame more than the preset threshold size, the network device may determine that the preset frame elimination condition for the queue is satisfied. For example, if the queue is filled with more than 80% of the queue size with a data frame, the network device may determine that a preset frame removal condition for the queue is satisfied.
  • the network device first identifies the streams to which the frames stored in the first queue belong, and first removes the data frame of the stream having the lowest priority from the first queue based on the priority of the stream. can do.
  • the network device may refer to the stream priority table (or information), as in the embodiment of FIG. 14.
  • the network device may remove all of the first data frames of the first stream, which is a non-critical stream, having a stream ID not included in the table, from the first queue.
  • the network device can prevent frame loss for the critical stream. Thereafter, the frames stored in the queue may be selected and transmitted (or output) according to a preset queue selection algorithm.
  • Figure 15 (c) like Figure 15 (b), shows an exemplary queue state during the second period of time.
  • the third stream is an abnormal stream.
  • the frame elimination condition indicates a state of the first queue. That is, after all the first data frames of the first stream are removed, the frame elimination condition for the first queue is satisfied again.
  • the network device may remove data frames of the next lowest priority stream from the first queue based on the priority of the stream.
  • the network device removes all the third data frames of the third stream having the lower priority among the critical streams having the stream ID included in the table from the first queue. can do.
  • the network device can prevent frame loss for critical frames with high priority. Thereafter, the frames stored in the queue may be selected and transmitted (or output) according to a preset queue selection algorithm.
  • the first queue is in a normal state and may additionally store the first frame of the first stream and / or the second frame of the second stream that are not blocked.
  • embodiments of the present invention have been described with reference to a case where both a non-critical stream and a critical stream are stored in a queue, but this is only an example for convenience of description and the scope of the present invention is not limited thereto. Do not. For example, if there are only data frames of a critical stream in the queue, the network device checks the priority among the critical streams based on the priority information, and selects the data frames of the corresponding critical stream from the queue in the order of lower priority. Can be removed.
  • embodiments of the present invention have been described with reference to a case where one of the streams stored in the queue becomes an abnormal stream. However, this is merely an example for convenience of description, and among the streams stored in the queue. The same explanation is possible even when none is an abnormal stream.
  • the network device when the frame elimination condition for the queue is satisfied, the network device must identify the streams to which the data frames stored in the queue belong to remove the data frame of the specific stream from the queue based on the priority of the stream.
  • Identification of the stream to which this data frame belongs may be made through stream identifier (ID) information.
  • ID information refers to information for identifying a stream.
  • the stream ID information may be generated based on the destination address information and the VLAN ID information of the data frame belonging to the corresponding stream.
  • the stream ID information may be one integer value mathematically generated based on the destination address information and the VLAN ID information.
  • stream ID information is defined only when stream reservation is used, and a network according to an embodiment of the present invention is predefined to know characteristics of streams used in the network. pre-defined) network, stream ID information defined in IEEE 802.1Q can also be used in the present invention.
  • stream ID information may be defined in various types.
  • the stream ID information is the first type of stream ID information by the null stream identification function, the source (or source) MAC.
  • the second type of stream ID information by the source MAC and VLAN stream identification function, the third type of stream ID information and the IP octet by the destination MAC and VLAN stream identification function.
  • It may be the fourth type of stream ID information by an IP octuplet stream identification function.
  • the null stream identification function corresponds to a passive stream identification function
  • the first type of stream ID information may be generated based on the destination MAC address information and the VLAN ID information.
  • the source MAC and VLAN stream identification function may correspond to a passive stream identification function, and the second type of stream ID information may be generated based on the source MAC address information and the VLAN ID information.
  • the destination MAC and VLAN stream identification function may correspond to an active stream identification function, and the third type of stream ID information may be generated based on the destination MAC address information and the VLAN ID information.
  • the IP octet file stream identification function corresponds to the passive stream identification function
  • the fourth type of stream ID information includes destination MAC address information, VLAN ID information, IP source address information, IP destination address information, and IP next. And may be generated based on IP next protocol information, source port information, and / or destination port information.
  • the passive stream identification function may be referred to herein as the passive identification function
  • the active stream identification function may be referred to as the active identification function.
  • the passive stream identification function transmits the packet (or frame) received from the upper layer to the lower layer without any processing related to stream identification on the transmitting side, and examines the packet (or frame) received from the lower layer on the receiving side ( Refers to a stream identification function that identifies a stream of a packet and determines which SAP (service access point) to forward the packet to a higher layer.
  • the active stream identification function modifies the data parameter of the packet received by the higher layer on the transmitting side, encodes the SAP selection, encapsulates the packet and delivers the packet to the lower layer, and on the receiving side decapsulates the packet received from the lower layer,
  • the stream identification function performs a function of delivering a decapsulated packet to a higher layer through a suitable SAP according to stream identification information obtained from the packet.
  • the station MAC address and the VLAN ID are changed to different values inside the layer where the stream identification function is used except for the final end station (for example, the listener). Or overwrite) and restore these values to their original end stations.
  • a function of tracking a modified destination MAC address and a VLAN ID used internally should be included to identify which stream ID is used. In this case, the user must know the stream ID information of the critical stream having a different value for each bridge.
  • FIG. 16 illustrates a location of stream ID information according to an embodiment of the present invention.
  • the stream ID information may be included in a service primitive (or primitive) of an internal sublayer service (ISS).
  • ISS is a service provided in an inner layer of the MAC sublayer (or layer), and performs data transmission between a plurality of service access points (SAPs), and a bridge port. It provides basic functions of MAC service such as data frame transfer between them.
  • the ISS may provide two service primitives as shown in FIGS. 16A and 16B, that is, a MAC unit data request (M_UNITDATA.request) primitive and a MAC unit data indication (M_UNITDATA.indication) primitive.
  • the MAC unit data request primitive is a primitive that the MAC layer requests data to the physical layer
  • the MAC unit data indication primitive is a primitive that the MAC layer indicates data to the LLS sublayer.
  • the MAC unit data request primitive or MAC unit data indication primitive may include a plurality of parameters, as described above with reference to FIG. 5 (b).
  • the stream ID information may be included in connection_identifier information (or parameter) in the MAC unit data request primitive or MAC unit data indication primitive.
  • the stream ID information is stream handle information (or parameter) which is sub information (or parameter) included in connection identifier information (or parameter) of the MAC unit data request primitive. ) May be included.
  • the stream ID information is stored in stream handle information (or parameter) which is sub information (or parameter) included in the connection identifier information (or parameter) of the MAC unit data indication primitive. May be included.
  • the stream handle information may represent, as an integer, an identifier (ID) identifying a stream to which a frame (or packet) belongs.
  • 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 bridge in a bridge network of IEEE802.1 or a network system including the same.
  • the network device 1700 may be a network bridge or a MAC bridge or VLAN bridge that conforms to IEEE802.1D or IEEE802.1Q.
  • 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).
  • the network device 1700 further includes a second memory for storing at least one of a module, data, computer program instructions or software for implementing the operation of the network device 1700 according to various embodiments of the present disclosure. It may include.
  • the second memory can be in the same or different memory unit as the first memory.
  • the network device 1700 may further include a third memory that stores the stream priority table of FIG. 14.
  • the third memory may be in the same or different memory unit as the first and / or second memory.
  • the first memory, the second memory and the third memory may all be in the same memory unit, each may be in a different memory unit from each other, and the two memories may be in the same memory unit and the other The memory may be in a different memory unit.
  • the processor 1730 is connected to the memory unit 1720 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 1730 is configured to remove data frames by performing a queue management method based on the stream priority according to an embodiment of the present invention to differentiate between the streams from the queue when the frame elimination condition is satisfied, or It can be configured to implement the data link layer and the physical layer of the IEEE802 network.
  • 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 priority-based queue management method of the network device 1700 illustrated in FIG. 17 not only the description related to FIGS. 18 and 19 but also the description of the foregoing specification may be applied.
  • FIG. 18 illustrates a queue management method of a network device according to an embodiment of the present invention.
  • the network device may store a plurality of data frames in a queue (S18010).
  • the network device may store a plurality of data frames in a queue based on the traffic class associated with the data frame. In this case, a plurality of data frames stored in the same queue may have the same data class.
  • the network device may determine whether a preset frame removal condition for the queue is satisfied (S18020). As an embodiment, the network device may monitor the state of the queue to determine whether a preset frame removal condition for the queue is satisfied.
  • the frame removal condition refers to a condition required for determining whether removal of a data frame from a queue is necessary. For example, when the queue is completely filled with data frames, that is, when the queue is full, the network device may determine that a preset frame removal condition for the queue is satisfied. As another example, when the queue is filled with a data frame more than the preset threshold size, the network device may determine that the preset frame elimination condition for the queue is satisfied. For example, if the queue is filled with more than 80% of the queue size with a data frame, the network device may determine that a preset frame removal condition for the queue is satisfied.
  • the network device may continuously monitor the state of the queue to determine whether the preset frame elimination condition for the queue is satisfied.
  • the network device may remove at least one data frame from the queue (S18030). This will be described later in detail with reference to FIG. 19.
  • FIG. 19 illustrates a queue management method of a network device according to another embodiment of the present invention.
  • FIG. 19 illustrates a method in which a network device removes at least one data frame from a queue when a predetermined frame removing condition is satisfied when using a priority-based method (or algorithm) as a queue management method.
  • the priority based algorithm may be used only when the above-described PSPF method is applied.
  • FIG. 19 a detailed description of parts overlapping with those of FIGS. 1 to 18 will be omitted.
  • the network device may identify a stream to which each of the plurality of data frames belongs (S19010). In this case, the network device may obtain stream identification (ID) information for each data frame to identify a stream to which the data frame belongs. This has been described above with reference to FIG. 16.
  • the network device may use additional information other than the information obtained from the data frame to identify the stream to which the data frame belongs.
  • the additional information may be information used internally only within the network device.
  • the network device may obtain a stream ID for the stream to which the data frame belongs from the connection_identifier information (or parameter) in the unit data primitive of the ISS described above.
  • the stream handle information which is sub information of the connection identifier information, may be used to obtain a stream ID for the stream to which the data frame belongs.
  • the network device may use the information obtained from the data frame to identify the stream to which the data frame belongs. For example, the network device may identify the stream to which the data frame belongs by obtaining a stream ID to which the data frame belongs based on the destination MAC address information, the source MAC address, and / or the VLAN ID information of the data frame.
  • This identified stream may include a critical stream and / or a non-critical stream.
  • the network device may remove the data frame of at least one stream of the identified streams based on preset stream priority information.
  • the network device may remove data frames of at least one stream of the identified streams based on preset stream priority information (or a table) (S19020).
  • the stream priority information may include stream identification information for predefined critical streams and priority information associated with each stream identification information.
  • the network device may determine whether the stream to which the data frame belongs is a non-critical stream or a critical stream based on the stream identification information of the obtained data frame and the stream identification information included in the stream priority information. .
  • the network device may first remove the data frame of the non-critical stream that is not included in the stream priority information of the identified stream.
  • the network device may remove all of the data frames from the queue.
  • the network The device may remove the data frame of the lowest priority critical stream in the critical streams included in the stream priority information of the identified stream. In this case, when there are a plurality of data frames of the critical stream, the network device may remove all or part of the data frames from the queue.
  • the network device when the network device removes a data frame from the queue, the network device removes the data frame by streams based on the priority (or importance) of the stream, thereby resulting in a fatal result due to frame loss during the above-described delay period.
  • This has the advantage that the frame loss of the critical stream that can result can be minimized.
  • 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.

Landscapes

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

Abstract

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

Description

네트워크 장치 및 네트워크 장치의 큐 관리 방법
본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법에 대한 것으로, 특히, 네트워크 장치에서 효율적인 메모리의 관리를 위한 큐 관리 방법에 대한 것이다.
LAN(Local Area Network)과 같은 네트워크는 다양한 분야에서 사용된다. 이러한 네트워크는 산업용 네트워크로 사용될 수도 있고, 최근 스마트카의 발전에 따른 차량 내 통신의 발달로 인해 차량내 네트워크로 사용될 수 있다.
이러한 네트워크에서의 큐 관리는 사용 분야 또는 목적에 맞게 효율적으로 처리될 필요가 있다. 또한, 네트워크에서의 큐 관리는 큐에 입력되는 스트림의 우선순위 또는 중요성을 고려하여 결정될 필요가 있다.
상술한 기술적 과제를 해결하기 위하여, 본 발명은 네트워크 장치 및 네트워크 장치의 전송 선택 방법을 제안한다.
본 발명의 일 실시예에 따른 네트워크 디바이스는 복수의 데이터 프레임을 저장하는 큐 및 상기 큐와 연결된 프로세서를 포함하되, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 가질 수 있다. 실시예로서, 상기 프로세서는, 상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하고, 상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 프로세서는, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 로스(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함된 스트림일 수 있다.
실시예로서, 상기 프로세서는, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거할 수 있다.
실시예로서, 상기 프로세서는, 상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거할 수 있다.
실시예로서, 상기 프로세서는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별할 수 있다.
본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법은 큐에 복수의 데이터 프레임을 저장하는 단계; 상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하는 단계; 및 상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계를 포함할 수 있다. 여기서, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 가질 수 있다.
실시예로서, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계는: 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계; 및 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는 단계를 포함할 수 있다.
실시예로서, 상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 로스(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함된 스트림일 수 있다.
실시예로서, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 단계는, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거할 수 있다.
실시예로서, 상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는 단계를 더 포함할 수 있다.
실시예로서, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별할 수 있다.
본 발명은 네트워크의 사용 분야 또는 목적에 맞게 큐 관리 방법을 수행함으로써 데이터 처리의 효율성을 높일 수 있다.
본 발명은 큐에 입력되는 스트림의 우선순위 또는 중요도를 고려하는 큐 관리 방법을 취함으로써 네트워크 디바이스가 기대하는 성능을 유지할 수 있게 해준다.
이하에서 본 발명의 부가적인 효과들이 발명의 구성과 함께 설명될 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 모델을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 브릿지 네트워크를 나타낸다.
도 3은 도 1의 네트워크 모델에서 각 계층간 데이터를 전달하는 방법을 나타낸다.
도 4는 본 발명의 일 실시예에 따른 우선순위와 트래픽 클래스 간의 맵핑 관계를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 브릿지 아키텍쳐를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 제어 평면의 상위 계층 엔티티들을 나타낸다.
도 7은 본 발명의 일 실시에에 따른 브릿지 네트워크의 시간 동기화 방법을 나타낸다.
도 8은 본 발명의 일 실시예에 따른 스트림 등록(stream registration)과 스트림 예약(stream reservation) 방법을 나타낸다.
도 9는 도 8의 스트림 등록 및 예약에 대한 아키텍쳐를 나타낸다.
도 10은 본 발명의 일 실시예에 따른 브릿지 포워딩 프로세스를 나타낸다.
도 11은 본 발명의 일 실시예에 따른 스트림별 필터링 및 폴리싱(per-stream filtering and policing) 방법을 나타낸다.
도 12는 본 발명의 일 실시예에 따른 폴리싱 및 필터링 레이턴시를 나타낸다.
도 13은 도 12의 딜레이 기간 동안의 큐의 상태를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 스트림 우선순위 테이블을 나타낸다.
도 15는 본 발명의 일 실시예에 따른 큐 관리 방법이 사용되는 경우, 시간에 따른 큐의 상태 변화를 나타낸다.
도 16은 본 발명의 일 실시예에 따른 스트림 ID 정보의 위치를 나타낸다.
도 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를 얻을 수 있게 해준다.
상술한 브릿지 포워딩 프로세스에서는 상술한 각 단계의 전부를 수행할 수 있으나, 실시예에 따라서는 상술한 각 단계의 일부만을 수행할 수도 있다. 또한, 상술한 브릿지 포워딩 프로세스는 브릿지 내의 하나 또는 그 이상의 프로세서에 의해 수행될 수 있다.
## 이하에서는, 본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법에 대하여 설명한다. 특히, 버블링 이디엇(babbling idiot)이 발생된 경우, 네트워크 디바이스의 큐 관리 방법에 대하여 설명한다. 상술한 바와 같이, 네트워크 디바이스는 IEEE802.1의 브릿지 네트워크 내의 브릿지에 해당하거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 예를 들면, 네트워크 디바이스는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지이거나, 또는 이를 포함하거나 이에 포함된 장치(또는 시스템)일 수 있다. 본 명세서에서, 상술한 브릿지에 대하여 적용되는 설명은 네트워크 디바이스에도 동일 또는 유사하게 적용될 수 있다.
실시예로서, 네트워크 디바이스에서 수행되는 큐 관리 방법(또는 단계)는 도 10의 브릿지 포워딩 프로세스 중 큐 관리 단계(또는 방법)에 해당될 수 있다. 도 10의 실시예에서, 전송 선택 단계(또는 방법)이 아웃바운드 큐에 저장된 큐의 출력에 관한 방법이라면, 큐 관리 단계(또는 방법)은 아웃바운드 큐에 대한 큐의 입력을 관리하는 방법에 해당한다. 상술한 바와 같이, 아웃바운드 큐는 해당 브릿지 포트로부터 데이터 및 데이터 프레임(또는 프레임)을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 네트워크 디바이스는 미리 설정된 큐 관리 방법을 통해 큐의 상태를 모니터링하면서, 큐가 완전히 채워진 이후 또는 완전히 채워지기 이전의 적절한 시점에 데이터 프레임을 적절하게 제거하여 큐의 상태를 효율적으로 관리하는 역할을 수행한다.
본 명세서에서, 버블링 이디엇은 비정상(faulty) 토커 또는 브릿지(또는 스위치)를 말한다. 여기서, 비정상(fault)이라 함은 고장이나 오작동으로 인하여 장비(예컨대, 토커 또는 브릿지)가 잘못된 데이터(wrong data)를 비정상적으로 많이 쏟아내거나, 잘못된 시간(wrong time)에 데이터를 전송하는 것을 말한다. 이러한 비정상 토커나 브릿지에 의해 발생된 스트림(비정상(faulty) 스트림)은 다른 스트림에 영향을 줄 뿐만 아니라, 전체 네트워크로 전파(propagation)되어 네트워크 전체에 영향을 줄 수 있다. 즉, 비정상 스트림은 대역폭(bandwidth)과 레이턴시(latency )가 보장되어야 하는 정상적인 스트림과 네트워크의 동작에 영향을 미쳐, 정상적인 스트림과 네트워크가 오동작하게 만들 수 있다. 따라서, 이러한 비정상 스트림의 발생을 검출하고 이를 막는 방법이 네트워크의 정상적인 동작을 위해 필요하다. 본 명세서에서, 비정상 스트림은 불량 스트림, 고장 스트림으로 지칭될 수도 있다.
본 명세서에서 데이터 프레임(또는 프레임)은 전송되는 데이터의 단위를 말하고, 데이터 스트림(또는 스트림)은 하나의 엔드 스테이션(예컨대, 토커)에서 다른 엔드 스테이션(예컨대, 리스너)까지의 데이터의 흐름을 말한다. 하나의 스트림은 하나 이상의 프레임을 포함할 수 있다.
도 11은 본 발명의 일 실시예에 따른 스트림별 필터링 및 폴리싱(per-stream filtering and policing: PSFP) 방법을 나타낸다. 도 11은 본 발명의 일 실시예에 따른 네트워크 디바이스가 PSFP 방법을 수행하는 것을 나타낸다. 여기서, PSFP 방법은 트래픽 클래스 별로 필터링 및 폴리싱을 수행하는 클래스별 필터링 및 폴리싱 방법(per-class filtering and policing)과 달리, 스트림 별로 필터링 및 폴리싱을 수행하는 방법을 말한다. 실시예로서, PSFP 방법은 네트워크 디바이스 내의 인그레스 폴리싱 필터(ingress policing filter)(또는 스트림 필터)를 통해 수행될 수 있다. 여기서, 필터링은 입력 포트에서 출력 포트로의 데이터 프레임의 전달을 차단하는 것을 말하고, 폴리싱은 입력된 데이터 프레임을 드랍(drop)시키는 것을 말한다.
이렇게 PSFP 방법을 사용하는 경우, 네트워크 디바이스는 버블링 이디엇에 의한 비정상 스트림을 효율적으로 다룰 수 있다. 예를 들면, 동일한 트래픽 클래스를 갖는 다수 개의 스트림 중 하나의 스트림이 비정상 스트림인 경우, 네트워크 디바이스는 PSFP 방법을 사용하여 비정상 스트림과 정상(non-faulty) 스트림을 구분하여 비정상 스트림만을 적절히 차단하고, 정상 스트림에 대한 정상적인 전송을 보장해줄 수 있다. 이와 같이, 스트림별로 필터링 및 폴리싱하는 경우, 동일한 큐에 저장되는 동일한 트래픽 클래스를 갖는 복수의 스트림 중 비정상 스트림만을 적절히 차단시킬 수 있어, 트래픽 별로 필터링 및 폴리싱하는 것에 비해 더 효율적으로 큐 관리를 할 수 있다.
도 11의 실시예의 PSFP 방법은 일반적으로 미리 정의된 네트워크에서 적용될 수 있다. 미리 정의된 네트워크는 네트워크 내의 네트워크 디바이스들(또는 네트워크의 사용자)이 네트워크를 통해 전송되는 각 스트림의 리소스(또는 특성), 예컨대, 스트림 ID, 대역폭, 중요도, 우선순위 등을 미리 알고 있는 네트워크를 말한다. 미리 정의된 네트워크를 사용하는 경우, 네트워크 디바이스는 각 스트림의 특성을 미리 알고 있기 때문에, 해당 스트림이 정상적인지 비정상적인지를 결정할 수 있고, 비정상 스트림 발생시 PSFP 방법을 사용할 수 있다.
도 11의 실시예에서, 네트워크는 미리 정의된 네트워크로서, 토커 1(T1)에서 전송되는 2개의 스트림(스트림 1과 스트림 2)에는 각각 20 Mbit/s의 대역폭이 할당되고, 토커 2(T2)에서 전송되는 스트림(스트림 3)에는 55 Mbit/s의 대역폭이 할당된 것으로 가정한다. 따라서, 스트림 1 및 스트림 2에 대한 필터링 및 폴리싱을 위한 인그레스 폴리싱 필터는 각각 20 Mbit/s의 대역폭 제한(bandwidth limit)을 가질 수 있고, 스트림 3에 대한 인그레스 폴리싱 필터는 55 Mbit/s의 대역폭 제한을 가질 수 있다.
이때, 도시된 것처럼, 토커 1이 오동작하여 20 Mbit/s가 할당된 스트림 1에서 35 Mbit/s 대역폭의 스트림을 전송하는 경우, 네트워크 디바이스(예컨대, 브릿지 B1)는 미리 설정된 디텍션 방법(또는 알고리즘)을 이용하여 스트림 1이 비정상 스트림이라는 것을 검출할 수 있다. 실시예로서, 디텍션 알고리즘은 MEF(Metro Ethernet network architecture Forum) 10.3에서 정해진“Bandwidth Profile Parameters and Algorithm”일 수 있다.
스트림 1이 비정상 스트림이라는 것이 검출된 경우, 네트워크 디바이스는 스트림 1에 대한 인그레스 폴리싱 필터를 통해 입력 포트에서 스트림 1을 차단(block)할 수 있다. 이로 인하여, 다른 스트림들은 비정상 스트림인 스트림 1에 영향을 받지 않고, 할당된 대역폭 내에서 정상적으로 전송 가능하다. 이와 같이, PSFP 방법을 사용하는 경우, 네트워크 디바이스는 비정상 스트림만을 적절히 차단하여, 정상 스트림의 정상적인 전송을 보장해줄 수 있다.
도 12는 본 발명의 일 실시예에 따른 폴리싱 및 필터링 레이턴시를 나타낸다. 구체적으로, 도 12(a)는 도 11의 PSFP 방법을 사용하는 경우, 비정상 스트림의 발생에서 차단시까지의 과정을 시간측면에서 나타내고, 도 12(b)는 비정상 스트림의 발생에서 차단시까지의 기간 동안 비정상 스트림이 네트워크에 미치는 영향을 예시적으로 나타내는 도면이다. 도 12에서는 도 11에서 설명한 내용과 중복된 설명은 생략한다.
도 12(a)에서, ‘1’에 해당하는 기간(제1 기간)은 아직 비정상 스트림이 발생하지 않은, 즉, 네트워크가 정상적으로 동작하는 기간을 나타낸다. 시간 t0는 특정 노드(예컨대, 특정 토커 또는 특정 브릿지)에서 비정상 스트림의 발생이 시작된 시간을 나타낸다. ‘2’에 해당하는 기간(제2 기간)은 비정상 스트림이 발생된 시점부터 이를 검출하고 차단하는데 까지 걸리는 기간을 나타낸다. 이 기간은 비정상 스트림의 발생이 시작되었으나, 아직 폴리싱 및 필터링 기능이 동작하지 않는 기간으로서, “딜레이 기간(delay period)”으로 지칭될 수도 있다. ‘3’에 해당하는 기간(제3 기간)은 비정상 스트림에 대한 폴리싱 및 필터링 기능이 수행되어, 더 이상 비정상 스트림이 네트워크에 전파되지 않는 기간을 나타낸다. 제3 기간의 동작에 대하여는 도 11을 참조하여 상술한 바와 같다. 이하에서는 도 12(b)를 참조하여 딜레이 기간 동안에, 비정상 스트림이 네트워크로 전파되어 다른 스트림의 동작에 어떠한 영향을 미치는 지를 예시적으로 설명한다.
도 12(b)를 참조하면, 토커 1(T1)의 오동작으로 인해 T1에서 전송되는 20 Mbit/s로 할당된 스트림 1에서 40Mbit/s 대역폭의 데이터가 전송될 수 있다. 즉, 버블링 이디엇이 발생하여 스트림 1이 비정상 스트림으로 될 수 있다. 이 경우, 만일 제1 네트워크 디바이스(예컨대, 브릿지 1)의 출력으로 40Mbit/s의 대역폭이 할당되어 있다면, 비정상 스트림인 스트림 1에 의해 20Mbit/s가 할당된 정상 스트림인 스트림 2가 영향을 받아, 스트림 2의 출력 대역폭이 10Mbit/s로 감소될 수 있다. 유사한 방식으로, 비정상 스트림인 스트림 1은 브릿지 2 및 3에서도 정상 스트림의 출력 대역폭에 영향을 미칠 수 있다. 예컨대, 제2 네트워크 디바이스(예컨대, 브릿지 2)에서의 55Mbit/s가 할당된 스트림 3의 출력 대역폭은 50Mbit/s로 감소될 수 있다. 딜레이 기간 동안에 비정상 스트림이 정상 스트림에 미치는 영향에 대한 구체적은 설명은 이하에서 설명할 도 13에 따른다.
이와 같이, 딜레이 기간 동안에, 비정상 스트림이 정상 스트림의 출력 대역폭에 영향을 미칠 수 있다. 그런데, 만일 비정상 스트림에 영향을 받는 정상 스트림이 중요도 또는 우선순위가 높아 프레임 손실(frame loss)이 있으면 안되는 크리티컬(critical) 스트림이라면, 이 기간 동안 발생된 프레임 손실에 따른 출력 대역폭의 감소로 인하여 치명적인 결과가 초래될 수도 있다. 예컨대, 해당 스트림이 차량내 네트워크에서 차량 안전 관련 데이터를 전달하는 세이프티 크리티컬(safety critical) 스트림인 경우, 잠시 동안의 오류임에도 치명적인 결과를 야기할 수 있기 때문이다. 따라서, 딜레이 기간 이후에 수행되는 폴리싱 및 필터링 방법과는 별도로, 딜레이 기간 동안에도 중요도가 높은 스트림이 비정상 스트림으로부터 받는 영향을 최소화시킬 수 있는 방법이 필요하다.
도 13은 도 12의 딜레이 기간 동안의 큐의 상태를 나타낸다. 도 13에서는, 비정상 스트림과 정상 스트림이 서로 동일한 트래픽 클래스를 가져, 하나의 아웃바운드 큐에 저장되는 것으로 가정한다. 본 명세서에서, 트래픽 클래스는 프레임(또는 데이터 프레임)의 전송을 촉진시키기(expedite) 위해 사용되는 분류(classification)를 말한다. 또한, 아웃바운드 큐는 해당 브릿지 포트로부터 데이터 또는 데이터 프레임을 출력하기 위해 사용되는 큐(또는 버퍼)를 말한다. 본 명세서에서, 큐는 버퍼로 지칭될 수도 있다.
도 13을 참조하면, 버블링 이디엇이 발생된 경우, 비정상 스트림으로 인해 아웃바운드 큐에 입력되는 데이터의 양이 순간적으로 증가되어 큐 사이즈를 초과할 수 있다. 이 경우, 미리 설정된 큐 관리 방법(또는 알고리즘)에 따라 이후 입력되는 프레임이 버려(discard)질 수 있다. 실시예로서, 큐 관리 알고리즘은 RED(Random Early Detection) 알고리즘 또는 WRED(Weight Random Early Detection) 알고리즘에 해당한다. RED 알고리즘 및 WRED 알고리즘은 IEFT RFC 2309 표준에 따르는 알고리즘일 수 있다. 또한, 큐 관리 알고리즘은 후술할 스트림의 우선순위에 기반한 큐 관리 알고리즘에 해당할 수 있다.
RED 알고리즘은 큐의 가용 사이즈를 지속적으로 모니터링하여 통계적 확률값에 기반하여 프레임을 버리는 방법을 말한다. 네트워크 디바이스가 RED 알고리즘을 사용하는 경우, 큐에 프레임이 많이 쌓여갈 수록 입력되는 프레임 중 버려지는 프레임의 양이 증가하게 된다. 또한, 네트워크 디바이스가 RED 알고리즘을 사용하는 경우, 큐에 프레임이 완전히 채워(full)지면 이후 입력되는 모든 프레임을 모두 버릴 수 있고, 이를 통해, 글로벌 동기화를 막을수 있다. 여기서, 글러벌 동기화(Global Synchronizaiton)는 다수의 노드들이 혼잡(congestion)에 반응하여 동시에 전송속도를 낮추는 현상을 말한다. 이러한 글로벌 동기화의 방지로 인하여 네트워크 전체가 느려지는 것을 막을 수 있으므로, RED 알고리즘의 사용은 네트워크 효율성을 높이기 위한 방법이라 할 수 있다.
WRED 알고리즘은 RED 알고리즘과 마찬가지로 큐의 상태를 모니터링하여 큐에 입력되는 프레임을 버릴 때, 프레임 간에 차등을 두어 덜 중요한 프레임이 더 많이 버려질 수 있도록 하는 방법을 말한다. 이때, drop_eligible 비트(또는 파라미터)가 사용될 수 있고, drop_eligible 파라미터가 설정된 프레임은 다른 프레임 보다 먼저 버려질 수 있다. 실시예로서, drop_eligible 파라미터는 도 2의 실시예에와 같은, 프레임의 VLAN 태그의 PCP 필드에 인코딩되고, PCP 필드로부터 디코딩될 수 있다. 예를 들면, DEI 필드는 PCP 필드에 할당된 1 비트의 필드일 수 있다.
상술한 RED 알고리즘 및 WRED 알고리즘은 스트림 별로 차등을 두어 큐로부터 프레임을 버리는 알고리즘에 해당하지 않는다. 따라서, 큐 관리 알고리즘으로서 RED 알고리즘 또는 WRED 알고리즘을 사용하는 경우, 버블링 이디엇이 발생된 이후에 입력되는 프레임은, 프레임이 속하는 스트림의 종류와 관계없이 버려(discard)질 수 있다. 즉, 입력되는 프레임이 비정상 스트림의 프레임인지 정상 스트림의 프레임인지 여부와 관계없이, 아웃바운드 큐로부터 버려질 수 있다.
이와 같이 RED 알고리즘 또는 WRED 알고리즘을 이용하는 경우, 네트워크 디바이스는 딜레이 기간 동안에, 비정상 스트림의 프레임뿐만 아니라, 정상 스트림의 프레임을 아웃바운드 큐로부터 제거할 수 있다. 이때, 제거되는 정상 스트림이 예컨대, 차량 내에서 사용되는 세이프티 크리티컬 스트림인 경우에는 상술한 바와 같이 잠시 동안의 프레임 손실로 인하여 치명적인 결과가 초래될 수 있다. 따라서, 이러한 경우에 스트림의 중요도 또는 우선순위에 기반하여 딜레이 기간 동안 버려지는 스트림의 우선순위를 결정하기 위한 새로운 방식의 큐 관리 방법(또는 알고리즘)이 필요하다.
## 이하에서는, 본 발명의 일 실시예에 따른 큐 관리 알고리즘(또는 방법)에 대하여 설명한다. 본 발명의 일 실시예에 따른 큐 관리 알고리즘은 스트림의 우선순위(또는 중요도)에 기초하는 큐 관리 알고리즘으로서, 스트림 우선순위 기반 큐 관리 알고리즘(또는 방법), 우선순위 기반 큐 관리 알고리즘(또는 방법) 또는 우선순위 기반 알고리즘(또는 방법)으로 지칭될 수 있다. 실시예로서, 우선순위 기반 알고리즘은 주로 상술한 PSPF 방법과 함께 사용될 수 있다.
큐 관리 알고리즘으로 우선순위 기반 알고리즘이 사용되는 경우, 미리 정의된 프레임 제거 조건이 만족되면(예컨대, 큐가 데이터 프레임으로 완전히 채워진 풀(full) 상태이면), 네트워크 디바이스는 큐에 저장된 데이터 프레임이 속하는 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보(테이블)에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
이때, 네트워크 디바이스는 식별된 스트림들 중 스트림 우선순위 테이블에 포함되지 않는 논크리티컬 스트림들의 데이터 프레임들을 큐로부터 최우선적으로 제거할 수 있다. 논크리티컬 스트림들의 데이터 프레임들이 큐로부터 완전히 제거된 상태에서, 다시 프레임 제거 조건이 만족되면, 네트워크 디바이스는 스트림 우선순위 테이블에 포함된 크리티컬 스트림들 중 우선순위가 가장 낮은 스트림의 데이터 프레임들을 큐로부터 제거할 수 있다.
여기서, 크리티컬 스트림은 프레임 손실을 최소화할 필요가 있는 스트림으로서, 프레임 손실을 최소화하기 위해 스트림 우선순위 테이블(또는 정보)에 포함되는 스트림일 수 있다. 예를 들면, 크리티컬 스트림은 짧은 시간 또는 적은 양의 프레임 손실로도 크리티컬한 영향을 받을 수 있는 스트림으로서, 예컨대, 차량내에서 안전 관련 데이터를 운반하는 세이프티 크리티컬 스트림일 수 있다.
여기서, 논크리티컬 스트림은 크리티컬 스트림이 아닌 스트림을 말한다. 예를 들면, 논크리티컬 스트림은 짧은 시간 또는 적은 양의 프레임 손실로 인하여 크리티컬한 영향을 받지 않는 스트림(예컨데, 비안전 관련 데이터를 운반하는 스트림)일 수 있다. 실시예로서, 논크리티컬 스트림은 스트림 우선순위 테이블에 포함되지 않을 수 있다.
이와 같이, 큐에 대한 프레임 제거 조건이 만족되어, 큐로부터 데이터 프레임을 버려야 하는 경우, 우선순위 기반 알고리즘을 사용하는 네트워크 디바이스는 크리티컬 스트림이 아닌 논크리티컬 스트림 내의 데이터 프레임을 가장 먼저 버리고, 이후 크리티컬 스트림 중 우선순위 또는 중요도가 낮은 순서에서 높은 순서로 해당 스트림의 데이터 프레임을 버리는 방식을 취한다. 이와 같은 방식으로 큐를 관리하는 경우, 가장 우선순위가 높은 크리티컬한 스트림은 가장 마지막에 큐로부터 버려질 수 있다.
이를 통해, 네트워크 디바이스는 우선순위가 높은 크리티컬 스트림에 대한 프레임 손실을 최소화할 수 있다. 이는 상술한 딜레이 기간 동안에, 비정상 스트림에 의해 정상 스트림이 영향을 받아, 정상 스트림의 프레임이 큐로부터 버려질 때, 정상 스트림 중 우선순위가 높은 크리티컬 스트림에 대한 프레임 손실을 최소화할 수 있다. 이를 통해, 딜레이 기간 동안에 비정상 스트림에 의해 발생되는 치명적인 오류를 막을 수 있다.
이러한 우선순위 기반 알고리즘은 다른 큐 관리 알고리즘인 RED 알고리즘 또는 WRED 알고리즘과 함께 사용될 수 있다. 예를 들면, 우선순위 기반 알고리즘이 RED 알고리즘과 함께 사용되는 경우, 네트워크 디바이스는 큐가 풀 상태로 되기 이전에, 즉, 큐에 데이터 프레임이 완전히 채워지기 전에, 우선순위 테이블을 참조할 수 있다. 이를 통해, 네트워크 디바이스는 조기에(또는 더 빠르게) 스트림의 우선순위를 고려한 큐 관리를 수행할 수 있다.
다른 예를 들면, 우선순위 기반 알고리즘이 WRED 알고리즘과 함께 사용되는 경우, 네트워크 디바이스는 큐가 풀 상태로 되기 이전에, 우선순위 테이블과 프레임 내의 DEI 필드를 참조할 수 있다. 이 경우, 예컨대, 우선적으로 세이프티 크리티컬 스트림이 아닌 스트림들이 버려질 때, 네트워크 디바이스는 DEI 필드의 값에 기초하여 데이터 프레임(또는 스트림) 별로 차등을 두어 버릴 수 있고, 그 다음으로 세이프티 크리티컬 스트림이 버려질 때, 네트워크 디바이스는 우선순위 테이블에 기초하여 스트림 별로 차등을 두어 데이터 프레임을 버릴 수 있다. 이를 통해, 네트워크 디바이스는 조기에 스트림 또는 데이터 프레임의 우선순위를 고려한 큐 관리를 수행할 수 있다.
상술한 바와 같이, 큐 관리 알고리즘으로서 우선순위 기반 알고리즘이 사용되는 경우, 큐로부터 프레임을 버려야 할 때, 스트림의 우선순위가 고려될 수 있다. 이 경우, 스트림 우선순위 테이블(또는 정보)가 참조될 수 있다. 이러한 스트림 우선순위 테이블의 예시는 도 14를 참조하여 이하에서 상세히 설명한다.
도 14는 본 발명의 일 실시예에 따른 스트림 우선순위 테이블을 나타낸다. 구체적으로, 도 14는 큐 관리 알고리즘으로서 우선순위 기반 알고리즘이 사용되는 경우에 프레임 제거 조건이 만족되어, 네트워크 디바이스가 큐로부터 데이터 프레임을 버릴 때 참조되는 스트림 우선순위 테이블(또는 정보)의 일 예를 나타낸다. 실시예로서, 스트림 우선순위 테이블은 프레임 제거 조건이 만족되는 경우에만 네트워크 디바이스에 의해 참조(또는 검색)될 수 있다. 즉, 네트워크 디바이스는 프레임 제거 조건이 만족되는 경우에만 스트림 우선순위 테이블을 참조할 수 있다. 본 명세서에서, 스트림 우선순위 테이블은 우선순위 테이블로 지칭될 수도 있다.
도 14를 참조하면, 스트림 우선순위 테이블(또는 정보)는 미리 정의된 크리티컬 스트림들에 대한 스트림 식별(ID) 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보(또는 인덱스)를 포함할 수 있다. 실시예로서, 스트림 우선순위 테이블은 네트워크 내에서 포트 별로 또는 포트 내의 큐 별로 설정될 수 있다. 실시예로서, 스트림 우선순위 테이블은 네트워크 디바이스의 운영 또는 보안과 관련된 정보를 관리하는 관리 엔티티(management entity)에 의해 생성, 갱신 또는 관리될 수 있다. 관리 엔티티는 예를 들면, 네트워크 디바이스 내의 내부 관리 엔티티(internal management entity)이거나 또는 네트워크 내에서 네트워크 디바이스와 직접 또는 간접적으로 연결되어 네트워크 디바이스를 외부에서 원격으로 관리하는 원격 관리 엔티티(remote management entity)(또는 외부 관리 엔티티)일 수 있다.
만약 네트워크가 미리 정의된 네트워크인 경우 및/또는 네트워크의 스트림들이 예약된 경우, 네트워크의 사용자는 네트워크의 다양한 스트림 중 어느 스트림이 크리티컬 스트림인지 또는 논크리티컬 스트림인지 미리 결정할 수 있고, 또한, 크리티컬 스트림들 간의 우선순위를 미리 결정할 수 있다. 따라서, 네트워크의 사용자는 이를 기초로 도 14와 같은 스트림 우선순위 테이블을 미리 설정하여, 관리 정보 베이스와 같은 데이터베이스에 저장하고, 관리할 수 있다.
스트림 우선순위 테이블에서, 인덱스는 대응되는 스트림 ID를 갖는 스트림의 우선순위 정보(또는 중요도)를 제공한다. 실시예로서, 인덱스 값이 낮을수록 스트림 우선순위(또는 중요도)가 높고, 인덱스 값이 클수록 스트림 우선순위(또는 중요도)가 낮을 수 있으나, 실시예에 따라서는 그 반대일 수도 있다. 예를 들면, 도 14에서처럼, 인덱스 값 1을 갖는 스트림 ID(3)에 대응되는 스트림의 우선순위는 인덱스 값 2를 갖는 스트림 ID(6)에 대응되는 스트림의 우선순위보다 높을 수 있다.
실시예로서, 스트림 우선순위 테이블은 크리티컬 스트림에 대한 우선순위 정보만을 포함할 수 있다. 이를 통해, 네트워크 내의 모든 스트림에 대한 우선순위를 결정하고 관리하는 대신에, 필요한 크리티컬 스트림에 대한 우선순위만을 결정하고 관리하면 되므로, 우선순위 테이블의 생성 및 관리가 용이할 수 있다. 또한, 이 경우, 네트워크 디바이스는 스트림 우선순위 테이블을 통해 미리 정의된 네트워크 내에 크리티컬 스트림이 몇 개 인지 확인할 수 있다. 도 14의 실시예에서는, 미리 정의된 네트워크 내에 크리티컬 스트림이 3개임이 확인된다. 따라서, 본 명세서에서, 스트림 우선순위 테이블은 세이프티 크리티컬 스트림 ID 테이블 또는 세이프티 크리티컬 스트림 테이블로 지칭될 수도 있다.
도 15는 본 발명의 일 실시예에 따른 큐 관리 방법이 사용되는 경우, 시간에 따른 큐의 상태 변화를 나타낸다. 도 15의 실시예에서는, 큐 관리 방법으로서 상술한 우선순위 기반 알고리즘이 사용될 수 있다.
또한, 도 15의 실시예에서는, 복수의 스트림으로부터의 데이터 프레임들이 동일한 큐에 저장되는 것으로 가정한다. 예를 들면, 출력 포트의 적어도 하나의 아웃바운드 큐 중 하나인 제1 큐에 제1 스트림의 제1 데이터 프레임, 제2 스트림의 제2 데이터 프레임 및 제3 스트림의 제3 데이터 프레임이 저장되는 것으로 가정한다. 이때, 도시된 것처럼, 제1 스트림은 스트림 ID 1을 갖는 논크리티컬 스트림이고, 제2 스트림은 스트림 ID 3을 갖는 크리티컬 스트림이고, 제3 스트림은 스트림 ID 7을 갖는 크리티컬 스트림일 수 있다. 또한, 도 15의 실시예에서는, 시간 t0에서 비정상 스트림이 발생되고, 시간 t0+delay에서 비정상 스트림이 차단(또는 필터링)되는 것으로 가정한다. 예를 들면, 시간 t0에서 제3 스트림이 비정상 스트림이되고, 시간 t0+delay에서 비정상 스트림인 제3 스트림이 차단되는 것으로 가정한다.
도 15(a)는 아직 비정상 스트림이 발생하지 않은 제1 기간 동안의 예시적인 큐의 상태를 나타낸다. 도 15(a)의 실시예에서, 제1 큐는 큐가 완전히 채워지지 않은 정상 상태이고, 제1 스트림의 2개의 제1 데이터 프레임, 제2 스트림의 4개의 제2 데이터 프레임 및 제 3 스트림의 2개의 제3 데이터 프레임을 저장하고 있다.
도 15(b)는 비정상 스트림이 발생된 시점부터 이를 검출하고 차단(또는 필터링/폴리싱)하는데 까지 걸리는 제2 기간, 즉, 딜레이 기간 동안의 예시적인 큐의 상태를 나타낸다. 비정상 스트림의 차단은 예컨대, 상술한 PSFP 방법에 의할 수 있다. 도 15(b)의 실시예에서, 비정상 스트림인 제3 스트림에 의해 제1 큐는 큐가 완전히 채워진 풀(full) 상태가 된다. 즉, 제1 큐에 대한 프레임 제거 조건이 만족된다. 여기서, 프레임 제거 조건은 해당 큐로부터 적어도 하나의 프레임을 제거하기 위해 만족되어야 하는 조건을 말한다. 즉, 프레임 제거 조건은 큐로부터 데이터 프레임의 제거가 필요한지 여부를 결정하기 위해 요구되는 조건을 말한다.
실시예로서, 네트워크 디바이스는 큐의 상태를 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다. 예를 들면, 큐가 데이터 프레임으로 완전히 채워진 경우, 즉, 큐가 풀(full) 상태인 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 다른 예를 들면, 큐가 데이터 프레임으로 미리 설정된 스레시홀드 사이즈 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 예컨대, 큐가 데이터 프레임으로 큐 사이즈의 80% 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다.
프레임 제거 조건이 만족되는 경우, 네트워크 디바이스는 먼저 제1 큐에 저장된 프레임들이 속하는 스트림들을 식별하고, 스트림의 우선순위에 기반하여 제1 큐로부터 우선순위가 가장 낮은 스트림의 데이터 프레임을 최우선적으로 제거할 수 있다. 이때, 네트워크 디바이스는 도 14의 실시예와 같은, 스트림 우선순위 테이블(또는 정보)을 참조할 수 있다. 도 14의 스트림 우선순위 테이블이 참조되는 경우, 네트워크 디바이스는 해당 테이블에 포함되지 않은 스트림 ID를 갖는, 논크리티컬 스트림인 제1 스트림의 제1 데이터 프레임 전부를 제1 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림의 스트림에 속하는 프레임들은 큐로부터 제거되지 않을 수 있다. 즉, 네트워크 디바이스는 크리티컬 스트림에 대한 프레임 손실을 막을 수 있다. 이후, 큐에 저장된 프레임들은 미리 설정된 큐 선택 알고리즘에 따라 선택되어 전송(또는 출력)될 수 있다.
도 15(c)는 도 15(b)와 마찬가지로, 제2 기간 동안의 예시적인 큐의 상태를 나타낸다. 예를 들면, 도 15(c)의 실시예는, 도 15(b)의 실시예에 따라 논크리티컬 스트림인 제1 스트림의 제1 데이터 프레임이 전부 제거된 뒤, 비정상 스트림인 제3 스트림에 의해 다시 프레임 제거 조건이 만족된 제1 큐의 상태를 나타낸다. 즉, 제1 스트림의 제1 데이터 프레임이 전부 제거된 뒤, 제1 큐에 대한 프레임 제거 조건이 다시 만족된 상태를 나타낸다.
따라서, 네트워크 디바이스는 스트림의 우선순위에 기반하여 제1 큐로부터 우선순위가 그 다음으로 낮은 스트림의 데이터 프레임을 제거할 수 있다. 이때, 도 14의 스트림 우선순위 테이블이 참조되는 경우, 네트워크 디바이스는 해당 테이블에 포함된 스트림 ID를 갖는, 크리티컬 스트림들 중 우선순위가 낮은 제3 스트림의 제3 데이터 프레임 전부를 제1 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림들 중 우선순위가 높은 크리티컬 스트림에 속하는 프레임들은 큐로부터 제거되지 않을 수 있다. 즉, 네트워크 디바이스는 우선순위가 높은 크리티컬 프레임에 대한 프레임 손실을 막을 수 있다. 이후, 큐에 저장된 프레임들은 미리 설정된 큐 선택 알고리즘에 따라 선택되어 전송(또는 출력)될 수 있다.
도 15(d)는 스트림별 폴리싱 및 필터링 기능이 동작되어 비정상 스트림(또는 버블링)이 차단된 이후의 기간 동안의 큐의 상태를 나타낸다. 도 15(a)에서, 제1 큐는 정상 상태이고, 차단되지 않은 제1 스트림의 제1 프레임 및/또는 제2 스트림의 제2 프레임을 추가적으로 저장할 수 있다.
도 15에서는 큐에 논크리티컬 스트림 및 크리티컬 스트림이 모두 저장된 경우를 중심으로 본 발명의 실시예들에 대하여 설명하였으나, 이는 설명의 편의를 위한 예시에 불과하고, 본 발명의 범위가 이에 의해 한정되지는 않는다. 예를 들면, 큐에 크리티컬 스트림의 데이터 프레임들만 있는 경우, 네트워크 디바이스는 우선순위 정보에 기초하여 크리티컬 스트림들 간의 우선순위를 확인하고, 우선순위가 낮은 순서로 큐로부터 대응되는 크리티컬 스트림의 데이터 프레임을 제거할 수 있다. 또한, 도 15에서는 큐에 저장된 스트림 중 하나의 스트림이 비정상 스트림이 되는 경우를 중심으로 본 발명의 실시예들에 대하여 설명하였으나, 이는 설명의 편의를 위한 예시를 불과하고, 큐에 저장된 스트림들 중 어느 것도 비정상 스트림이 되지 않는 경우에도 동일한 설명이 가능하다.
상술한 바와 같이, 큐에 대한 프레임 제거 조건 만족 시, 네트워크 디바이스가 스트림의 우선순위에 기반하여 큐로부터 특정 스트림의 데이터 프레임을 제거하기 위해서는 큐에 저장된 데이터 프레임들이 속하는 스트림들을 식별하여야 한다. 이하에서는, 네트워크 디바이스가 데이터 프레임이 속하는 스트림을 식별하는 방법에 대하여 설명한다. 이러한 데이터 프레임이 속하는 스트림의 식별은 스트림 식별자(ID) 정보를 통해 이루어질 수 있다. 본 명세서에서, 스트림 ID 정보는 스트림을 식별하기 위한 정보를 말한다.
일 실시예에서, 스트림 ID 정보는 대응되는 스트림에 속하는 데이터 프레임의 목적지 주소 정보와 VLAN ID 정보에 기초하여 생성될 수 있다. 예를 들면, IEEE 802.1Q에서 정의하고 있는 것처럼, 스트림 ID 정보는 목적지 주소 정보와 VLAN ID 정보에 기초하여 수학적으로 생성된 하나의 정수(integer) 값일 수 있다. 한편, IEEE 802.1Q에서는 스트림 예약(stream reservation)이 사용된 경우에만 스트림 ID 정보를 정의하고 있고, 본 발명의 일 실시예에 따른 네트워크가 네트워크에서 사용되는 스트림들의 특성을 미리 알고 있는 미리 정의된(pre-defined) 네트워크라면, IEEE 802.1Q에 정의된 스트림 ID 정보가 본 발명에서도 사용될 수 있다.
다른 실시예에서, 스트림 ID 정보는 다양한 타입으로 정의될 수 있다. 예를 들면, IEEE 802.1CB(Frame Replication and Elimination for Reliability)에서 정의하고 있는 것처럼, 스트림 ID 정보는 널 스트림 식별(Null Stream identification) 기능에 의한 제1 타입의 스트림 ID 정보, 발신지(또는 소스) MAC 및 VLAN 스트림 식별(Source MAC and VLAN Stream identification) 기능에 의한 제2 타입의 스트림 ID 정보, 목적지 MAC 및 VLAN 스트림 식별(Destination MAC and VLAN Stream identification) 기능에 의한 제3 타입의 스트림 ID 정보 및 IP 옥튜플렛 스트림 식별 기능(IP octuplet Stream identification)에 의한 제4 타입의 스트림 ID 정보일 수 있다.
여기서, 널 스트림 식별 기능은 수동적인(passive) 스트림 식별 기능에 해당하고, 제1 타입의 스트림 ID 정보는 목적지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, 발신지 MAC 및 VLAN 스트림 식별 기능은 수동적인 스트림 식별 기능에 해당하고, 제2 타입의 스트림 ID 정보는 발신지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, 목적지 MAC 및 VLAN 스트림 식별 기능은 능동적인(active) 스트림 식별 기능에 해당하고, 제3 타입의 스트림 ID 정보는 목적지 MAC 주소 정보 및 VLAN ID 정보에 기초하여 생성될 수 있다.
또한, IP 옥튜플렛 스트림 식별 기능은 수동적인 스트림 식별 기능에 해당하고, 제4 타입의 스트림 ID 정보는 목적지 MAC 주소 정보, VLAN ID 정보, IP 발신지(source) 주소 정보, IP 목적지 주소 정보 및 IP 다음 프로토콜(IP next protocol) 정보, 발신지 포트 정보 및/또는 목적지 포트 정보에 기초하여 생성될 수 있다. 본 명세서에 수동적인 스트림 식별 기능은 수동 식별 기능으로 지칭하고, 능동적인 스트림 식별 기능은 능동 식별 기능으로 지칭할 수도 있다.
여기서, 수동적인 스트림 식별 기능은, 송신 측에서는 상위 계층으로부터 받은 패킷(또는 프레임)에 스트림 식별과 관련된 아무런 처리를 하지 않고 하위 계층으로 전달하고, 수신 측에서는 하위 계층으로부터 받은 패킷(또는 프레임)을 조사(examine)하여 패킷의 스트림을 식별하고 어느 SAP(service access point)을 통해 해당 패킷을 상위 계층으로 전달할지를 결정하는 기능을 수행하는 스트림 식별 기능을 말한다.
여기서, 능동 스트림 식별 기능은, 송신 측에서는 상위 계층으로 받은 패킷의 데이터 파라미터를 수정하여 SAP의 선택을 인코딩하고, 패킷을 캡슐화하여 하위 계층으로 전달하고, 수신 측에서는 하위 계층으로부터 받은 패킷을 디캡슐화하고, 패킷으로부터 획득된 스트림 식별 정보에 따라 적합한 SAP를 통해 디캡슐화된 패킷을 상위 계층으로 전달하는 기능을 수행하는 스트림 식별 기능을 말한다.
능동적인 스트림 식별 기능인 목적지 MAC 및 VLAN 스트림 식별 기능의 경우, 최종 엔드 스테이션(예컨대, 리스너)을 제외한 스테이션들에서는 스트림 식별 기능이 사용되는 계층의 내부에서 목적지 MAC 주소와 VLAN ID를 다른 값으로 수정(또는 overwrite)하여 사용하고, 최종 엔드 스테이션에 이 값들을 원래의 값으로 복원하여 사용한다. 이러한, 목적지 MAC 및 VLAN 스트림 식별 기능이 본 발명의 스트림 식별 기능으로서 사용되는 경우, 내부에서 사용되는 수정된 목적지 MAC 주소와 VLAN ID을 추적하여 어떠한 스트림 ID가 사용되는지 확인하는 기능이 포함되어야 한다. 이 경우, 사용자는 브릿지 별로 다른 값의 크리티컬 스트림의 스트림 ID 정보를 알고 있어야 한다.
도 16은 본 발명의 일 실시예에 따른 스트림 ID 정보의 위치를 나타낸다.
실시예로서, 스트림 ID 정보는 ISS(Internal sublayer service)의 서비스 프리미티브(service primitive) (또는 프리미티브)에 포함될 수 있다. 도 5(b)를 참조하여 상술한 바와 같이, ISS는 MAC 부계층(또는 계층)의 내부 계층에서 제공되는 서비스로서, 다수의 SAP(Service Access Point)들 사이에 데이터 전송을 수행하고, 브릿지 포트 사이에 데이터 프레임의 전달이 가능하게 하는 등 MAC 서비스의 기본 기능을 제공한다.
ISS는 도 16(a) 및 (b)와 같은 두 개의 서비스 프리미티브, 즉, MAC 단위데이터 요청(M_UNITDATA.request) 프리미티브 및 MAC 단위데이터 지시(M_UNITDATA.indication) 프리미티브를 제공할 수 있다. 여기서, MAC 단위데이터 요청 프리미티브는 MAC 계층가 피지컬 계층으로 데이터를 요청하는 프리미티브이고, MAC 단위데이터 지시 프리미티브는 MAC 계층이 LLS 부계층으로 데이터를 지시하는 프리미티브이다. 도시된 것처럼, MAC 단위데이터 요청 프리미티브 또는 MAC 단위데이터 지시 프리미티는 다수의 파라미터를 포함할 수 있고, 이에 대한 설명은 도 5(b)에서 상술한 바와 같다.
일 실시예에서, 스트림 ID 정보는 MAC 단위데이터 요청 프리미티브 또는 MAC 단위데이터 지시 프리미티 내의 연결 식별자(connection_identifier) 정보(또는 파라미터)에 포함될 수 있다. 예를 들면, 도 16(a)에 도시된 것처럼, 스트림 ID 정보는 MAC 단위데이터 요청 프리미티브의 연결 식별자 정보(또는 파라미터)에 포함되는 서브 정보(또는 파라미터)인 스트림 핸들(stream_handle) 정보(또는 파라미터)에 포함될 수 있다. 또한, 도 16(b)에 도시된 것처럼, 스트림 ID 정보는 MAC 단위데이터 지시 프리미티브의 연결 식별자 정보(또는 파라미터)에 포함되는 서브 정보(또는 파라미터)인 스트림 핸들(stream_handle) 정보(또는 파라미터)에 포함될 수 있다. 이러한, 스트림 핸들 정보는 프레임(또는 패킷)이 속하는 스트림을 식별하는 식별자(ID)를 정수를 값으로 나타낼 수 있다.
도 17은 본 발명의 일 실시예에 따른 네트워크 디바이스의 구성도이다.
도 17의 실시예에서, 네트워크 디바이스(1700)는 입력 인터페이스(1710), 출력 인터페이스(1720), 하나 이상의 메모리 유닛(1730) 및 프로세서(1740)를 포함할 수 있다. 상술한 바와 같이, 네트워크 디바이스(1700)는 IEEE802.1의 브릿지 네트워크 내의 브릿지 또는 이를 포함하는 네트워크 시스템일 수 있다. 예를 들면, 네트워크 디바이스(1700)는 IEEE802.1D 또는 IEEE802.1Q를 따르는 MAC 브릿지 또는 VLAN 브릿지이거나, 또는 이를 포함하는 네트워크 시스템일 수 있다.
실시예로서, 네트워크 디바이스(1700)는 입력 인터페이스(1710)(예컨대, 입력 포트)를 통해 입력된 프레임들을 저장하는 하나 이상의 큐를 포함하는 제1 메모리를 포함할 수 있다. 또한, 네트워크 디바이스(1700)는 본 발명의 본 발명의 다양한 실시예에 따른 네트워크 디바이스(1700)의 동작을 구현하기 위한 모듈, 데이터, 컴퓨터 프로그램 명령 또는 소프트웨어 중 적어도 하나를 저장하는 제2 메모리를 더 포함할 수 있다. 실시예로서, 제2 메모리는 제1 메모리와 동일하거나 또는 상이한 메모리 유닛 내에 있을 수 있다. 또한, 네트워크 디바이스(1700)는 도 14의 스트림 우선순위 테이블을 저장하는 제3 메모리를 더 포함할 수 있다. 실시예로서, 제3 메모리는 제1 메모리 및/또는 제2 메모리와 동일하거나 또는 상이한 메모리 유닛 내에 있을 수 있다. 예를 들면, 제1 메모리, 제2 메모리 및 제3 메모리가 모두 동일한 메모리 유닛 내에 있을 수 있고, 각각이 서로 상이한 메모리 유닛 내에 있을 수 있으며, 또한, 두 개의 메모리는 동일한 메모리 유닛 내에 있고 나머지 한 개의 메모리는 이와 상이한 메모리 유닛 내에 있을 수 있다.
프로세서(1730)는 메모리 유닛(1720)에 연결되며, 상술한 도면 및 설명에 따른 본 발명의 다양한 실시예에 따른 동작을 수행하도록 구성될 수 있다. 예를 들면, 프로세서(1730)는 본 발명의 일 실시예에 따른 스트림 우선순위에 기반한 큐 관리 방법을 수행하여 프레임 제거조건 만족 시 큐로부터 스트림들 간에 차등을 두어 데이터 프레임을 제거하도록 구성되거나, 또는 IEEE802 네트워크의 데이터 링크 계층 및 물리 계층을 구현하도록 구성될 수 있다. 본 명세서에서, 프로세서(1730)는 본 발명의 네트워크 디바이스(1700)의 각 유닛의 동작을 제어하는 컨트롤러를 포함하는 개념일 수 있다.
도 17의 네트워크 디바이스(1700)의 구체적인 구성은, 전술한 본 발명의 다양한 실시예들이 독립적으로 적용되거나 또는 2 이상의 실시예가 함께 적용되도록 구현될 수 있다. 도 17에서 나타낸 네트워크 디바이스(1700)의 우선순위 기반 큐 관리 방법은 도 18 및 19와 관련된 설명뿐 아니라 상술한 명세서의 설명이 모두 적용될 수 있다.
도 18은 본 발명의 일 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다.
도 18을 참조하면, 네트워크 디바이스는 큐에 복수의 데이터 프레임을 저장할 수 있다(S18010). 실시예로서, 네트워크 디바이스는 데이터 프레임과 연관된 트래픽 클래스에 기초하여 큐에 복수의 데이터 프레임을 저장할 수 있다. 이 경우, 동일한 큐에 저장된 복수의 데이터 프레임은 동일한 데이터 클래스를 가질 수 있다.
네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다(S18020). 실시예로서, 네트워크 디바이스는 큐의 상태를 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다. 여기서, 프레임 제거 조건은 큐로부터 데이터 프레임의 제거가 필요한지 여부를 결정하기 위해 요구되는 조건을 말한다. 예를 들면, 큐가 데이터 프레임으로 완전히 채워진 경우, 즉, 큐가 풀(full) 상태인 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 다른 예를 들면, 큐가 데이터 프레임으로 미리 설정된 스레시홀드 사이즈 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다. 예컨대, 큐가 데이터 프레임으로 큐 사이즈의 80% 이상 채워진 경우, 네트워크 디바이스는 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 것으로 결정할 수 있다.
미리 설정된 프레임 제거 조건이 만족되지 않는 경우, 네트워크 디바이스는 큐의 상태를 계속하여 모니터링하여, 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는 여부를 결정할 수 있다.
미리 설정된 프레임 제거 조건이 만족된 경우, 네트워크 디바이스는 큐로부터 적어도 하나의 데이터 프레임을 제거할 수 있다(S18030). 이에 대하여는 도 19를 참조하여 이하에서 상세히 설명한다.
도 19는 본 발명의 다른 실시예에 따른 네트워크 디바이스의 큐 관리 방법을 나타낸다. 구체적으로, 도 19는 큐 관리 방법으로서 우선순위 기반 방법(또는 알고리즘)을 사용하는 경우, 네트워크 디바이스가 미리 설정된 프레임 제거 조건이 만족되어 큐로부터 적어도 하나의 데이터 프레임을 제거하는 방법을 나타낸다. 실시예로서, 우선순위 기반 알고리즘은 상술한 PSPF 방법이 적용되는 경우에만 사용될 수 있다. 도 19에서는 도 1 내지 18과 중복되는 부분에 대한 자세한 설명은 생략한다.
미리 설정된 프레임 제거 조건이 만족된 경우, 네트워크 디바이스는 복수의 데이터 프레임의 각각이 속하는 스트림을 식별할 수 있다(S19010). 이 경우, 네트워크 디바이스는 데이터 프레임 각각에 대한 스트림 식별(ID) 정보를 획득하여, 데이터 프레임이 속하는 스트림을 식별할 수 있다. 이에 대하여는 도 16을 참조하여 상술한 바와 같다.
일 실시예에서, 네트워크 디바이스는 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 데이터 프레임이 속하는 스트림을 식별할 수 있다. 실시예로서, 추가 정보는 네트워크 디바이스 내에서 내부적으로만 사용되는 정보일 수 있다. 예를 들면, 네트워크 디바이스는 상술한 ISS의 유닛 데이터 프리미티브 내의 연결 식별자(connection_identifier) 정보(또는 파라미터)로부터 데이터 프레임이 속하는 스트림에 대한 스트림 ID를 획득할 수 있다. 이때, 연결 식별자 정보의 서브 정보인 스트림 핸들 정보가 데이터 프레임이 속하는 스트림에 대한 스트림 ID를 획득하기 위해 사용될 수 있다.
다른 실시예에서, 네트워크 디바이스는 데이터 프레임으로부터 획득된 정보를 사용하여 데이터 프레임이 속하는 스트림을 식별할 수 있다. 예를 들면, 네트워크 디바이스는 데이터 프레임의 목적지 MAC 주소 정보, 발신지 MAC 주소 및/또는 VLAN ID 정보에 기초하여 데이터 프레임이 속하는 스트림 ID를 획득하여, 데이터 프레임이 속하는 스트림을 식별할 수 있다.
이렇게 식별된 스트림에는 크리티컬 스트림 및/또는 논크리티컬 스트림이 포함될 수 있다. 실시예로서, 네트워크 디바이스는 미리 설정된 스트림 우선순위 정보에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다.
네트워크 디바이스는 미리 설정된 스트림 우선순위 정보(또는 테이블)에 기초하여 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거할 수 있다(S19020). 실시예로서, 스트림 우선순위 정보는 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함할 수 있다. 이 경우, 네트워크 디바이스는 상기 획득된 데이터 프레임에 대한 스트림 식별 정보와 스트림 우선순위 정보에 포함된 스트림 식별 정보에 기초하여 해당 데이터 프레임이 속하는 스트림이 논크리티컬 스트림인지 또는 크리티컬 스트림인지 여부를 결정할 수 있다.
일 실시예에서, 네트워크 디바이스는 식별된 스트림 중 스트림 우선순위 정보에 포함되지 않은 논크리티컬 스트림의 데이터 프레임을 최우선으로 제거할 수 있다.
이때, 논크리티컬 스트림의 데이터 프레임의 복수 개인 경우, 네트워크 디바이스는 데이터 프레임의 전부를 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림의 스트림에 속하는 프레임들은 큐로부터 제거되지 않고 보호될 수 있다. 즉, 크리티컬 스트림에 대한 프레임 손실을 막을 수 있다.
일 실시예에서, 논크리티컬 스트림의 데이터 프레임이 큐로부터 완전히 제거된 이후에, 다시 미리 설정된 프레임 제거 조건이 만족되어 미리 설정된 스트림 우선순위 정보에 기초하여 적어도 하나의 데이터 프레임을 제거해야 하는 경우, 네트워크 디바이스는 식별된 스트림 중 스트림 우선순위 정보에 포함된 크리티컬 스트림들 내에서 우선순위가 가장 낮은 크리티컬 스트림의 데이터 프레임을 제거할 수 있다. 이때, 크리티컬 스트림의 데이터 프레임의 복수 개인 경우, 네트워크 디바이스는 데이터 프레임의 전부 또는 일부를 큐로부터 제거할 수 있다.
이를 통해, 큐에 대한 프레임 제거 조건이 만족되는 경우에도, 크리티컬 스트림들 중 우선순위가 높은 크리티컬 스트림에 속하는 프레임들은 큐로부터 제거되지 않고 보호될 수 있다. 즉, 우선순위가 높은 크리티컬 프레임에 대한 프레임 손실을 막을 수 있다.
이와 같이, 네트워크 디바이스는 큐로부터 데이터 프레임을 제거하는 경우, 스트림의 우선순위(또는 중요도)에 기초하여 스트림 별로 차등을 두어 데이터 프레임을 제거함으로써, 상술한 딜레이 기간 동안에도 프레임 손실로 인한 치명적인 결과를 초래할 수 있는 크리티컬 스트림의 프레임 손실을 최소화할 수 있다는 이점을 갖는다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(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. 네트워크 디바이스에 있어서,
    복수의 데이터 프레임을 저장하는 큐, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 갖는;
    상기 큐와 연결된 프로세서를 포함하되,
    상기 프로세서는,
    상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하고,
    상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는, 네트워크 디바이스.
  2. 제 1 항에 있어서,
    상기 프로세서는,
    상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하고, 미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는, 네트워크 디바이스.
  3. 제 2 항에 있어서,
    상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 손실(frame loss)를 최소화하기 위해 상기 스트림 우순순위 정보에 포함되는 스트림인, 네트워크 디바이스.
  4. 제 3 항에 있어서,
    상기 프로세서는,
    상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거하는, 네트워크 디바이스.
  5. 제 4 항에 있어서,
    상기 프로세서는,
    상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는, 네트워크 디바이스.
  6. 제 2 항에 있어서,
    상기 프로세서는,
    데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별하는, 네트워크 디바이스.
  7. 네트워크 디바이스의 큐 관리 방법에 있어서,
    큐에 복수의 데이터 프레임을 저장하는 단계, 상기 복수의 데이터 프레임은 동일한 트래픽 클래스를 갖는;
    상기 큐에 대한 미리 설정된 프레임 제거 조건이 만족되는지 여부를 결정하는 단계; 및
    상기 미리 설정된 프레임 제거 조건이 만족되는 경우, 상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계를 포함하는, 네트워크 디바이스의 큐 관리 방법.
  8. 제 7 항에 있어서,
    상기 큐로부터 적어도 하나의 데이터 프레임을 제거하는 단계는:
    상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계; 및
    미리 설정된 스트림 우선순위 정보에 기초하여 상기 식별된 스트림 중 적어도 하나의 스트림의 데이터 프레임을 제거하는 단계를 포함하는, 네트워크 디바이스의 큐 관리 방법.
  9. 제 8 항에 있어서,
    상기 스트림 우선순위 정보는, 미리 정의된 크리티컬 스트림들(critical stream)에 대한 스트림 식별 정보 및 각 스트림 식별 정보와 연관된 우선순위 정보를 포함하되, 상기 크리티컬 스트림은 프레임 손실(frame loss)를 최소화하기 위해 상기 스트림 우선순위 정보에 포함되는 스트림인, 네트워크 디바이스의 큐 관리 방법.
  10. 제 9 항에 있어서,
    상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 단계는, 상기 식별된 스트림 중 상기 크리티컬 스트림이 아닌 논크리티컬 스트림(non-critical stream)의 데이터 프레임을 최우선으로 제거하는, 네트워크 디바이스의 큐 관리 방법.
  11. 제 10 항에 있어서,
    상기 논크리티컬 스트림의 데이터 프레임이 제거된 이후에, 상기 미리 설정된 스트림 우선순위 정보에 기초하여 상기 적어도 하나의 데이터 프레임을 제거하는 경우, 상기 식별된 스트림 중 상기 크리티컬 스트림들 내에서 우선순위가 가장 낮은 제1 크리티컬 스트림의 제1 데이터 프레임을 제거하는 단계를 더 포함하는, 네트워크 디바이스의 큐 관리 방법.
  12. 제 8 항에 있어서,
    상기 복수의 데이터 프레임의 각각이 속하는(belong to) 스트림을 식별하는 단계는, 데이터 프레임으로부터 획득된 정보 또는 상기 데이터 프레임으로부터 획득된 정보 이외의 추가 정보를 사용하여 상기 데이터 프레임이 속하는 스트림을 식별하는, 네트워크 디바이스의 큐 관리 방법.
PCT/KR2016/014895 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법 WO2018117280A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2016/014895 WO2018117280A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법
KR1020197018084A KR102164033B1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법
EP16924301.1A EP3557824B1 (en) 2016-12-19 2016-12-19 Network device and queue management method for network device
US16/471,546 US11082348B2 (en) 2016-12-19 2016-12-19 Network device and queue management method for network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/014895 WO2018117280A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법

Publications (1)

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

Family

ID=62627648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/014895 WO2018117280A1 (ko) 2016-12-19 2016-12-19 네트워크 장치 및 네트워크 장치의 큐 관리 방법

Country Status (4)

Country Link
US (1) US11082348B2 (ko)
EP (1) EP3557824B1 (ko)
KR (1) KR102164033B1 (ko)
WO (1) WO2018117280A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112838992A (zh) * 2019-11-22 2021-05-25 华为技术有限公司 报文调度方法及网络设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11902621B2 (en) * 2018-12-17 2024-02-13 Arris Enterprises Llc System and method for media stream filler detection and smart processing for presentation
US11184097B2 (en) * 2019-08-16 2021-11-23 Arista Networks, Inc. VLAN-aware clock hierarchy
CN112543153A (zh) * 2019-09-20 2021-03-23 华为技术有限公司 报文转发方法、装置、系统、设备及存储介质
DE102021100647A1 (de) * 2020-04-30 2021-11-04 Realtek Semiconductor Corp. Schaltung in einem router oder switch und korrespondierendes rahmenverarbeitungsverfahren

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080367A (ko) * 2003-03-10 2004-09-18 삼성전자주식회사 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
JP2006076175A (ja) * 2004-09-10 2006-03-23 Kyocera Mita Corp 画像形成装置及びその制御方法
KR101138105B1 (ko) * 2005-04-29 2012-04-24 포항공과대학교 산학협력단 광대역 무선 접속 시스템의 단말에서 상향 링크 스케줄러와스케줄링 방법
KR101468082B1 (ko) * 2007-01-12 2014-12-03 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치
KR20150066335A (ko) * 2013-12-06 2015-06-16 가온미디어 주식회사 무선통신에서 패킷 손실을 줄이기 위한 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771653B1 (en) * 1999-09-23 2004-08-03 International Business Machines Corporation Priority queue management system for the transmission of data frames from a node in a network node
US8422500B2 (en) * 2004-07-02 2013-04-16 Rockstar Consortium Us Lp VLAN support of differentiated services
US7966648B2 (en) * 2006-05-01 2011-06-21 Qualcomm Incorporated Dynamic quality of service pre-authorization in a communications environment
US8027252B2 (en) * 2007-03-02 2011-09-27 Adva Ag Optical Networking System and method of defense against denial of service of attacks
EP2982166B1 (en) * 2013-04-02 2020-01-15 Telefonaktiebolaget LM Ericsson (publ) Traffic classification over the base station subsystem transport network
CN108347101A (zh) 2017-01-22 2018-07-31 立锜科技股份有限公司 多模式无线电源接收电路及其控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040080367A (ko) * 2003-03-10 2004-09-18 삼성전자주식회사 이더넷 기반의 네트워크에서 서비스 클래스별 트래픽의스위칭 제어 방법 및 그 스위칭 장치
JP2006076175A (ja) * 2004-09-10 2006-03-23 Kyocera Mita Corp 画像形成装置及びその制御方法
KR101138105B1 (ko) * 2005-04-29 2012-04-24 포항공과대학교 산학협력단 광대역 무선 접속 시스템의 단말에서 상향 링크 스케줄러와스케줄링 방법
KR101468082B1 (ko) * 2007-01-12 2014-12-03 경희대학교 산학협력단 네트워크 추상 계층 유닛의 패킷 구성방법, 이를 이용한비디오 부호화 및 복호화 알고리즘 및 장치, 서비스품질제어를 위한IPv6 라벨 스위칭 알고리즘 및 장치
KR20150066335A (ko) * 2013-12-06 2015-06-16 가온미디어 주식회사 무선통신에서 패킷 손실을 줄이기 위한 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3557824A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112838992A (zh) * 2019-11-22 2021-05-25 华为技术有限公司 报文调度方法及网络设备

Also Published As

Publication number Publication date
KR102164033B1 (ko) 2020-10-12
EP3557824B1 (en) 2022-04-20
US11082348B2 (en) 2021-08-03
US20210135996A1 (en) 2021-05-06
EP3557824A1 (en) 2019-10-23
KR20190082960A (ko) 2019-07-10
EP3557824A4 (en) 2020-07-22

Similar Documents

Publication Publication Date Title
WO2018117279A1 (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
WO2018117280A1 (ko) 네트워크 장치 및 네트워크 장치의 큐 관리 방법
US7675859B2 (en) Transmission apparatus and transmission system
US7324440B2 (en) Multiring control method, node using the method, and control program
US8351352B1 (en) Methods and apparatus for RBridge hop-by-hop compression and frame aggregation
US7394758B2 (en) Method for supporting SDH/SONET APS on Ethernet
EP3373519A1 (en) Active/static path redundancy
US20040213232A1 (en) Data mirroring in a service
US8331241B2 (en) Routing control method, communication apparatus and communication system
US9973349B2 (en) Relay system and switching device
US8873431B1 (en) Communications system and method for maintaining topology in a VLAN environment
WO2015012454A1 (ko) 가상 링크 조정에 의한 네트워크 성능 개선 방법 및 이를 적용한 네트워크 시스템
US20090190588A1 (en) Data Packet Switching
CN103428060A (zh) 环形网络的无缝冗余实现方法
US10587508B2 (en) Ethernet frame transmission method in software defined networks (SDN)
CA2842069A1 (en) Technique for transferring data over a packet switched network
US20070217438A1 (en) Ring node device and method of connecting terminal to ring node device
CN111213345A (zh) 用于发送或接收包含控制信息的报文的设备、方法和系统
US9716639B2 (en) Protection switching method and system
US11552888B2 (en) Communication apparatus and communication method
US20180069790A1 (en) Packet transfer device and packet transfer method
WO2011011934A1 (zh) 一种以太网隧道分段保护方法和装置
Teener IEEE 802 Time-Sensitive Networking: Extending Beyond AVB
CN115297051A (zh) 使用出口端口环回的快速重路由
US10756813B1 (en) Broadband subscriber switchover in a ring network

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: 16924301

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: 20197018084

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2016924301

Country of ref document: EP

Effective date: 20190719