WO2012120990A1 - コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 - Google Patents
コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 Download PDFInfo
- Publication number
- WO2012120990A1 WO2012120990A1 PCT/JP2012/053773 JP2012053773W WO2012120990A1 WO 2012120990 A1 WO2012120990 A1 WO 2012120990A1 JP 2012053773 W JP2012053773 W JP 2012053773W WO 2012120990 A1 WO2012120990 A1 WO 2012120990A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- switch
- packet
- computer system
- name
- iscsi
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Definitions
- the present invention relates to a computer system and a communication method, and more particularly to a flow control method in a computer system using an open flow protocol.
- SANs using iSCSI Internet Small Computer System Interface
- iSCSI Internet Small Computer System Interface
- Patent Document 1 A technology related to SAN using iSCSI is described in, for example, Japanese Patent Laid-Open No. 2005-151437 (see Patent Document 1).
- information indicating that the SCSI command is encapsulated is stored in a TCP (Transmission Control Protocol) packet header, and the SCSI command is not extracted by referring to this information. It can be determined whether or not the command is an encapsulated packet.
- TCP Transmission Control Protocol
- iSCSI uses TCP / IP technology in the lower layer of the SCSI protocol
- the inventor applied flow control with high adaptability (flexibility) by applying the OpenFlow protocol to a system using iSCSI. Is expected to be possible.
- the open flow protocol is a method of performing path control in units of flows proposed by the OpenFlow Consortium (see Non-Patent Document 1).
- a series of communications from a point to a point determined by a combination of a MAC address, an IP address, a port number, and the like is defined as a “flow”.
- the OpenFlow protocol it is possible to change the route for each flow instead of uniformly determining the route based on the information of the source and the destination.
- the route is managed not only between adjacent devices but also by End to End (end to end).
- a switch using the OpenFlow protocol (hereinafter referred to as an OpenFlow switch) can handle only the TCP layer from the layer 1 to the layer 4 in the OSI reference model, and cannot handle the iSCSI layer above it.
- the iSCSI layer also corresponds to layer 4 in the OSI reference model, but cannot be recognized by a conventional OpenFlow switch because it is a layer above the TCP layer. For this reason, in the current OpenFlow system, flow control utilizing the SCSI name (initiator name or target name) of the iSCSI layer cannot be performed.
- the OpenFlow switch can handle the information of the iSCSI layer.
- the OpenFlow switch can handle the iSCSI name, the flow control according to the iSCSI name can be performed, which is highly useful.
- flow control cannot be performed using an iSCSI name, flow control cannot be performed for each initiator or target, making it difficult to construct a highly adaptable network or to efficiently use a logical disk in a SAN. .
- Patent Document 2 describes a system that distinguishes a terminal connected to a server using an option field of a TCP packet.
- Patent Document 3 describes a technique in which flow control between LANs is performed by a switch.
- an object of the present invention is to increase the adaptability of a computer system.
- Another object of the present invention is to provide a computer system capable of flow control according to a protocol higher than the TCP layer.
- a computer system is connected to an OpenFlow controller, an OpenFlow switch that performs a relay operation specified by the flow entry for a received packet that matches the flow entry set by the OpenFlow controller, and the OpenFlow switch.
- Host The host transmits a packet in which protocol information higher than the TCP layer is included in the option area of the TCP header in the transport layer.
- the OpenFlow controller sets a flow entry that defines a transfer destination according to the protocol information in the switch.
- the OpenFlow switch transfers the received packet to a transfer destination according to a flow entry that conforms to the protocol information included in the TCP header of the received packet.
- the host transmits a packet including protocol information higher than the TCP layer in the TCP layer in the transport layer, and the flow in which the OpenFlow controller defines a transfer destination according to the protocol information.
- the step of setting the entry in the switch, and for the received packet that matches the flow entry set by the OpenFlow controller, the OpenFlow switch forwards according to the flow entry that matches the protocol information included in the TCP header of the received packet.
- a step of transferring the received packet first.
- the adaptability of the computer system can be increased.
- FIG. 1 is a diagram showing an example of the configuration of a computer system according to the present invention.
- FIG. 2 is a diagram illustrating an example of a structure of a packet generated and transferred by an initiator or a target according to the present invention.
- FIG. 3 is a diagram illustrating a data design of a general TCP packet.
- FIG. 4A is a diagram illustrating an example of a data design of iSCSI information stored in an option area of a TCP header according to the present invention.
- FIG. 4B is a diagram showing another example of the data design of the iSCSI information stored in the option area of the TCP header according to the present invention.
- FIG. 1 is a diagram showing an example of the configuration of a computer system according to the present invention.
- FIG. 2 is a diagram illustrating an example of a structure of a packet generated and transferred by an initiator or a target according to the present invention.
- FIG. 3 is a diagram illustrating a data design of a general TCP packet.
- FIG. 4C is a diagram showing another example of the data design of the iSCSI information stored in the option area of the TCP header according to the present invention.
- FIG. 5 is a diagram showing an example of the configuration of the OpenFlow controller according to the present invention.
- FIG. 6 is a diagram showing an example of the structure of route information set in the OpenFlow controller according to the present invention.
- FIG. 7 is a diagram showing an example of the structure of a flow table set and managed in the OpenFlow controller according to the present invention.
- FIG. 8 is a diagram showing an example of a flow entry (rule + action) set in the OpenFlow controller according to the present invention.
- FIG. 9 is a diagram showing an example of the configuration of the OpenFlow switch according to the present invention.
- FIG. 10 is a diagram showing an example of a packet transfer operation in the computer system according to the present invention.
- the initiator transfers packet data (packet) in which protocol information (for example, iSCSI name) higher than the TCP layer is stored in the option area of the TCP header in layer 4 (transport layer).
- An OpenFlow controller (hereinafter referred to as a controller) sets a flow entry that uses protocol information higher than the TCP layer as a rule in an OpenFlow switch (hereinafter referred to as a switch).
- An OpenFlow switch (hereinafter referred to as a switch) refers to a TCP header of a received packet and transfers the received packet to a transfer destination defined by a flow entry that matches the header.
- the computer system according to the present invention can control a flow defined by protocol information higher than the TCP layer, and realizes flow control with high fitness (flexibility).
- protocol information higher than the TCP layer
- a computer system that performs flow control using an iSCSI name as protocol information will be described.
- FIG. 1 is a diagram showing an example of the configuration of a computer system according to the present invention.
- a computer system according to the present invention includes a server 100 (host), a storage 200 (storage device, host), a controller 300, and a switch network 400 formed by a plurality of switches 40-1 to 40-4. It has.
- the server 100 and the storage 200 are connected via a switch network 400 connected via a line 600 (for example, Ethernet (registered trademark) LAN), thereby forming a SAN.
- a line 600 for example, Ethernet (registered trademark) LAN
- the server 100 is a computer device including initiators 101-1, 101-2,. Each of the initiators 101-1, 101-2,... Can be realized by software, hardware, or a combination of both.
- the initiator 101 is exemplified by an iSCSI initiator including a SCSI device driver such as a network card (Network Interface Card NIC).
- the initiator 101 encapsulates a SCSI command or SCSI data in a TCP packet and transmits it to the target 201. At this time, the initiator 101 transfers a packet in which protocol information higher than the TCP layer in the layer 4 is stored in the option area of the TCP header to the target 201.
- the storage 200 is a storage device including the targets 201-1, 201-2,. Each of the targets 201-1, 201-2,... Can be realized by software, hardware, or a combination of both.
- the target is a storage device such as a logical disk.
- the target 201 encapsulates a response to the SCSI command in a TCP packet and transmits it to the initiator 101. At this time, the target 201 transfers a packet in which protocol information higher than the TCP layer is stored in the option area of the TCP header in the layer 4 to the initiator 101.
- FIG. 2 is a diagram showing an example of a packet structure generated and transferred by the initiator or target according to the present invention.
- packet 110 is a conventional packet
- packet 210 is a packet generated and transferred by initiator 101 or target 201 according to the present invention.
- the packet 110 is a PDU (Protocol Data Unit) having a layer 2 header, a data area 111 above the SCSI layer (above the TCP layer), a header area 112 in the iSCSI layer (hereinafter referred to as an iSCSI layer header 112), A TCP layer header area 113 (hereinafter referred to as TCP layer header 113) and an IP layer or lower header area 114 (hereinafter referred to as IP layer header 114) are provided.
- the initiator 101 or the target 201 stores information related to the iSCSI protocol (i.e., iSCSI information 115, for example, SCSI name) that should be stored in the iSCSI layer header 112 in the conventional packet 110, and transfers it as the packet 210.
- iSCSI information 115 for example, SCSI name
- the iSCSI layer header 112 and the data area 111 in the packet 110 are used as a data area 211 higher than the iSCSI layer (above the TCP layer) in the packet 210.
- the packet 210 is transferred to the switch network 400 as a PDU including the data area 211 above the iSCSI layer (above the TCP layer), the TCP layer header 113, and the IP layer header 114.
- the iSCSI information 115 is preferably an iSCSI name used for identification and management of an iSCSI node (for example, the initiator 101 or the target 201).
- the iSCSI name does not depend on the location of the iSCSI node and is uniquely assigned to the iSCSI node.
- an iSCSI Qualified Name using an IP domain name and an IEEE EUI-64 Format using an IEEE 64-bit Extended Unique Identifier are used.
- the iSCSI information 115 includes a character string to which a type identifier “iqn.”, A domain acquisition date, a domain name, and a domain acquirer are assigned.
- the configuration shown in FIG. 1 only the initiator 101 is provided in the server 100.
- the configuration is not limited to this, and it is preferable that a configuration having a target function (for example, a network adapter) is provided.
- a configuration having a target function for example, a network adapter
- only the target 201 is provided in the storage 200.
- the configuration is not limited to this, and it is preferable to provide a configuration having an initiator function (for example, a network adapter).
- FIG. 3 is a diagram showing a data design of a general TCP packet.
- TCP layer header 113 includes a source port number, destination port number, sequence number, acknowledgment number, header length, code bits (URG, ACK, PSH, RST, SYN, FIN), window size. , Checksum, urgent pointer, option, and field for storing data.
- the field in which the option is stored (hereinafter referred to as an option area) is a field having a variable length from 160 bytes used for setting the characteristics of the TCP connection.
- the iSCSI information 115 is used as an area for storing 115. In the option area of the TCP layer header 113, iSCSI information 115 is preferably stored for each TCP connection.
- FIG. 4 is a diagram showing an example of the data design of the iSCSI information 115 stored in the option area of the TCP header according to the present invention.
- FIG. 4A shows a data design of the option area when the initiator name and the target name are stored as the iSCSI information 115.
- FIG. 4B shows the data design of the option area when only the initiator name is stored as the iSCSI information 115.
- FIG. 4C shows the data design of the option area when only the target name is stored as the iSCSI information 115.
- the option type is preferably one of “30 to 252” which is not currently defined. In this embodiment, “151” is used.
- the option length is the total size of the option area including the option type and option length area, and is usually 512 bytes.
- the option type and option length are each 1 byte.
- the size of each initiator name and target name stored as iSCSI information 115 is 255 bytes.
- iSCSI name initiator name or target name
- a free area in which the iSCSI name is not stored in the area of 255 bytes from the end of the option length is filled with “0x00” (0 padding).
- a free area in which no iSCSI name is stored is filled with “0x00” in an area of 255 bytes from the end of the 255-byte area in which the iSCSI name and “0x00” are stored.
- 0x00 is not inserted as the end.
- the size of the initiator name stored as iSCSI information 115 is 255 bytes, and the free area (255 bytes) is filled with 0x00.
- the size of the target name stored as iSCSI information 115 is 255 bytes, and the free area (255 bytes) is filled with “0x00”.
- the iSCSI name initiator name or target name
- the empty area is filled with padding “0x00”.
- the controller 300 is connected to each of the plurality of switches 40-1 to 40-4 via a control interface 500 which is a secure channel network.
- the controller 300 sets the flow entry in each of the plurality of switches 40-1 to 40-4 in accordance with the open flow protocol, so that the server 100-storage via any one of the plurality of switches 40-1 to 40-4.
- the communication flow between 200 is controlled.
- the controller 300 according to the present invention can control the flow between the initiator and the target, for example, by setting a flow entry in the switch 40 with the protocol information of the upper layer of the TCP layer as a rule.
- the controller 300 controls communication path construction and packet transfer processing related to packet transfer in the system by the open flow technology.
- the open flow technology means that the controller 300 sets multi-layer and flow unit route information in the switch 40 on the communication route according to the routing policy (flow entry: flow + action), and performs route control and node control.
- the technique to perform is shown (for details, refer nonpatent literature 1).
- the route control function is separated from the routers and switches, and optimal routing and traffic management are possible through centralized control by the controller.
- the switch 40 to which the open flow technology is applied handles communication as a flow of END2END, not as a unit of packet or frame like a conventional router or switch.
- the controller 300 is preferably realized by a computer including a CPU and a storage device.
- the CPU (not shown) executes the program stored in the storage device, thereby realizing the functions of the path calculation unit 31 and the flow control unit 32 illustrated in FIG.
- the controller 300 records the path information 33 and the flow table 34 in a storage device (not shown).
- the controller 300 holds information (physical topology information) on the position and connection status of the switch 40 controlled by itself as topology information (not shown).
- the topology information includes, for example, information regarding the connection status between the ports of the switch 40 and the host (for example, the server 100 and the storage 200).
- the route calculation unit 31 uses the header information of the first packet notified from the switch 40 and the topology information (not shown) to calculate a communication route for transferring the packet.
- the calculation result is recorded as route information 33 in a storage device (not shown).
- a node for example, an initiator or a target
- a switch on the communication path is set.
- FIG. 6 is a diagram showing an example of the structure of the route information 33 set in the OpenFlow controller according to the present invention.
- route information 33 is information for specifying a communication route to which a flow entry (rule + action) described later is applied, and is recorded in association with a flow identifier 341 associated with the flow entry.
- End point information 331, passing switch information 332, and accompanying information 333 is information for designating a node that is an end point of the communication path.
- the passing switch information 332 is information for designating a connection port pair between the switch 40 and the switch on the communication path.
- the accompanying information 333 includes information regarding the switch 40 (passing switch) on the route after the end point is changed when the end point is changed.
- each MAC address pair of the node that is the end point of the communication path is recorded as the end point information 331.
- the passing switch information 332 includes an identifier (for example, DataPath ID: DPID) of the switch 40 provided on the communication path between the end points indicated by the end point information 331.
- the passing switch information 332 may include information for associating a flow entry (rule + action) set in the switch with the switch.
- the flow control unit 32 sets, changes, or deletes the flow entry (rule + action) with respect to the switch 40 on the calculated communication path by the Modify Flow Entry Message. Thereby, the switch 40 executes an action (for example, relay or discard of packet data) corresponding to the rule corresponding to the header information of the received packet.
- the flow control unit 32 sets a flow entry for the switch 40 in response to the notification of the first packet from the switch 40.
- the setting of the communication path and the setting and management of the flow entry in the flow control unit 32 are performed in accordance with the open flow protocol described in Non-Patent Document 1, but some of the operations described later (for example, above the TCP layer)
- the configuration using protocol information as a rule is not defined in the protocol.
- a combination of layer 1 to layer 4 addresses and identifiers of the OSI (Open Systems Interconnection) reference model included in header information in TCP / IP packet data is defined.
- OSI Open Systems Interconnection
- any combination of a layer 1 physical port, a layer 2 MAC address, a layer 3 IP address and protocol, a layer 4 port number, and a VLAN tag (VLAN id) is set as a rule.
- the flow control unit 32 also sets protocol information above the TCP layer in the transport layer as a rule defined by the flow entry.
- protocol information for example, an iSCSI name (initiator name, target name) in the iSCSI layer is set as a rule alone or in combination with the above address or identifier.
- a method for processing TCP / IP packet data is defined in the action set in the flow entry. For example, information indicating whether or not the received packet data is to be relayed and the transmission destination (for example, the output destination port number of the packet) are set in the case of relaying. Further, as an action, information for instructing to copy or discard the packet data may be set.
- the flow entry set (or set) in the switch 40 is recorded in the flow table 34 by the flow control unit 32 and managed in the controller 300.
- FIG. 7 is a diagram showing an example of the structure of the flow table 34 set and managed in the controller according to the present invention.
- the target device 342 indicating the identifier (for example, DPID) of the switch 40 to be set and the flow entry 340 set in the switch 40 correspond to the flow identifier 341 for specifying the flow entry. Attached and recorded.
- a rule 343 and action information 344 are set in the flow entry 340.
- the flow control unit 32 can grasp what flow entry 340 is set in the switch 40 by referring to the flow table 34.
- the flow table 34 may include information indicating whether or not the flow entry 340 is set in the switch 40 that is the target device 342.
- FIG. 8 is a diagram illustrating an example of a flow entry set in the switch 40 by the controller 300 (flow control unit 32).
- a flow entry whose action is to forward a packet using the route A as a communication path is a rule on a combination of the iSCSI name and IP address of the iSCSI layer above the TCP layer.
- the switches 40-2 and 40-4 are set. Specifically, the source IP address “1.0.0.2”, the destination IP address “1.0.0.2”, the initiator name “iqn.2000-01.com. ABC: 0123abcd”, the target name “Iqn.2000-01.com. ABC: 01: xxxx-xxx” is defined as a rule, and “output to the output destination port number for transferring the packet to route A” is defined as an action.
- the switch 40 determines a processing method (action) for the received packet according to the flow entry set (updated) by the controller 300. Examples of actions for received packets include transfer to another switch 40 and packet discard.
- FIG. 9 is a diagram showing an example of the configuration of the switch 40 according to the present invention.
- the switch 40 includes a switch processing unit 41, a flow table 42, and a switch control unit 43.
- the switch processing unit 41 accommodates the line 600 and realizes a switch function for a packet transferred via the accommodated line.
- the switch control unit 43 is connected to the controller 300 via the control interface 500 and controls the setting of the flow entry in the flow table 42 in accordance with an instruction from the controller 300.
- the switch processing unit 41 determines processing for the received packet according to the flow entry set in the flow table 42. Specifically, when a rule that matches the header information of the received packet is set in the flow table 42, the switch processing unit 41 executes an action defined in the flow entry including the rule.
- the switch processing unit 41 notifies the switch control unit 43 of the packet data as a first packet.
- the switch control unit 43 transmits the first packet to the controller 300 via the control interface 500.
- the switch processing unit 41 uses not only the header information defined in Non-Patent Document 1 but also information in the option area of the TCP header for searching for a flow entry that matches the received packet. For example, when receiving the packet 210 shown in FIG. 2, the switch processing unit 41 extracts not only the IP layer header 114 and the TCP layer header 113 but also the iSCSI information 115 stored in the option area of the TCP layer header 113. The flow entry registered in the flow table 42 is checked.
- the switch processing unit 41 may transfer the received packet to a transfer destination according to the flow entry. it can. In this case, the received packet is transferred to the communication path corresponding to the iSCSI information 115.
- the switch processing unit 41 may check the iSCSI information 115 by referring to the option area of the TCP layer header 113 on condition that there is header information of a specific protocol. For example, it is preferable that the confirmation condition of the iSCSI information 115 is set together with the flow entry registration by the controller 300.
- communication control between an initiator and a target specified by a protocol higher than the TCP layer (for example, iSCSI protocol) in layer 4 is performed. It can be realized using the OpenFlow protocol. For example, since the communication connection to a specific target can be controlled by the controller 300, it is possible to easily change the flow when the target moves. In addition, it becomes possible to easily cope with addition and expansion of targets.
- FIG. 10 is a diagram showing an example of a packet transfer operation in the computer system according to the present invention.
- the operation when the packet 210 having the TCP header shown in FIG. 4A is transferred from the initiator 101-1 to the target 201-1 will be described.
- initiator 101 transfers packet 210 in which the initiator name and the target name are stored in the option area of the TCP header (step S1).
- the data in the option area is designated.
- the iSCSI information 115 (initiator name and target name) of the data design shown in FIG. 4A is specified as data in the option area.
- the packet 210 transferred from the initiator 101 is first input to the switch 40-2.
- the switch 40-2 confirms whether a flow entry that matches the received packet 210 is registered in its own flow table 42. Here, it is confirmed whether the header information from the layer 1 to the layer 4 TCP layer (including the option area) of the packet 210 conforms to the rules set in the flow table 42.
- the switch 40-2 transmits the packet 210 to the controller 300 as a first packet (step S2).
- the controller 300 calculates the transfer path of the packet 210 based on the notified header information of the packet 210 and sets a flow entry to be set in the switch 40 in the switch 40 (steps S3 and S4). Specifically, the controller 300 refers to the option area in the TCP header and confirms that the iSCSI information 115 is stored. As a result, the controller 300 recognizes that the packet 210 is data according to the iSCSI protocol. Next, the controller 300 calculates a communication path between the end points specified based on the iSCSI information 115 stored in the packet 210 and other header information (for example, IP address or MAC address) (step S3).
- other header information for example, IP address or MAC address
- the controller 300 sets a flow entry in which the combination of the iSCSI information 115 and other header information as a rule and the action of transferring the calculated communication path as an action is set in the switch 40 on the communication path (step S4). ).
- a path (route A) that reaches the storage 200 via the switch 40-4 is selected so that the path length is the shortest. Further, the controller 300 prescribes this path to be identified on the switch side by the source IP address and destination IP address of the packet 210 and the information of the initiator name and target name in the option area in the TCP header. In this case, for example, as shown in FIG.
- the TCP option area is referred to, and the initiator name Is iqn.2000-01.com.nec: 0123abcd and the target name is iqn.2000-01.com.nec:01: xxxx-xxx, the flow entry that specifies It is set to the switches 40-1 and 40-2 on the route.
- the output destination of the packet 210 set in the switch 40 differs depending on the switch. For example, the port number that is the output destination for transmission to the calculated communication path is defined in the action.
- the switches 40-2 and 40-4 refer to the option area for the packet with the source IP address of 1.0.0.1 and the destination IP address of 1.0.0.2. Thus, collation with the flow entry is performed.
- the switch 40-2 outputs the packet 210 to the route A according to the flow entry set by the controller 300 (step S5).
- the switch 40-2 outputs the packet 210 from the port connected to the switch 40-4 on the route A. Since the source IP address of the received packet 210 is “1.0.0.1” and the destination IP address is “1.0.0.2”, the switch 40-4 has an option area in the TCP header.
- the initiator name is iqn. 2000-01. com. nec: 0123abcd
- the target name is iqn. 2000-01. com. nec: 01: xxxx-xx is included.
- the switch 40-4 determines that the received packet matches the flow entry set in step S4, and outputs the packet 210 to the route A defined by the flow entry (step S6).
- the switch 40-4 outputs the packet 210 from the port connected to the storage 200 on the route A.
- the storage 200 refers to the data area 211 in the received packet 210 packet, confirms the target name, and outputs it to the corresponding target 201 (step S7).
- the storage 200 may confirm the target name with reference to the option area of the TCP layer header 113 in the received packet 210 packet. In this case, since the initiator 101 does not need to insert the target name into the data area 211, the storage area of the data area 211 can be made larger than that of the conventional packet 110.
- the packet 210 is sent to the target 201-1 having the target name “iqn.2000-01.com.nec:01:xxxx-xx” included in the packet 210.
- the target 201-1 When the SCSI command is included in the packet 210, the target 201-1 encapsulates the response in the packet, and stores the target name and the origination name of the transmission source in the TCP layer header 113 as iSCSI information 115 as described above.
- the transmitted packet 210 is transmitted to the server 100. Since the transfer procedure of the packet 210 is the same as described above, a description thereof will be omitted.
- TCP / IP packet communication is performed between the initiator 101-1 and the target 201-1 via the route A set by the controller 300.
- the computer system according to the present invention can control the flow for each initiator and target using the open flow protocol, and thus has the following effects.
- the flow can be controlled for each target in a configuration in which there are a plurality of target logical disks.
- the flow can be adaptively controlled when the target IP address is changed (for example, when the target logical disk is moved between physical storages).
- the controller 300 calculates a new communication route and sets a flow entry according to the information of the movement destination, and refers to the route information 33 and the flow table 34 to make unnecessary the communication route and the flow entry. And remove it from the switch.
- the flow can be adaptively controlled when the IP address of the initiator is changed (for example, when the initiator moves between physical servers).
- a route can be adaptively selected even when a network such as a LAN or WAN through which packets other than iSCSI flow or a network having a mesh shape is used.
- the flow is distinguished and controlled by the combination of the iSCSI name and the IP address, but the flow may be controlled by a rule combined with a MAC address or a port number in addition to the IP address.
- the flow control by the flow entry in which the transfer destination port is specified for the switch on the route has been described, but the present invention is not limited to this. Since the switch 40 according to the present invention can identify the iSCSI information 115 by referring to the option area of the TCP header, the transfer destination can be determined using the iSCSI information 115. For this reason, the controller 300 sets the flow entry set based on the first packet in all the switches to all the switches 40 (switches 40-1 to 40-4 in FIG. 1), and thus according to the iSCSI name. Flow control is possible. In this case, the route setting is performed by the controller 300, and the route selection is performed by the switch 40. It should be noted that the specific policy for route selection in the switch 40 may vary depending on the implementation.
- a plurality of servers 100 and storages 200 may be provided in the system, and the number of switches 40, initiators 101, and targets 201 is not limited to the above example. Further, the initiator 101 and the target 201 may be mounted on a computer device (host) that realizes other functions regardless of the server or the storage.
- host computer device
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明によるイニシエータは、レイヤ4(トランスポート層)においてTCP層よりも上位のプロトコル情報(例えばiSCSIネーム)をTCPヘッダのオプション領域に格納したパケットデータ(パケット)を転送する。オープンフローコントローラ(以下、コントローラと称す)は、TCP層よりも上位のプロトコル情報をルールとしたフローエントリを、オープンフロースイッチ(以下、スイッチと称す)に設定する。オープンフロースイッチ(以下、スイッチと称す)は、受信パケットのTCPヘッダを参照し、当該ヘッダに適合するフローエントリで規定された転送先に当該受信パケットを転送する。これにより、本発明によるコンピュータシステムは、TCP層よりも上位のプロトコル情報によって規定されるフローを制御することが可能となり、適応度(柔軟性)の高いフロー制御を実現する。以下の実施例では、プロトコル情報としてiSCSIネームを利用してフロー制御を行うコンピュータシステムについて説明する。
図1から図9を参照して、本発明によるコンピュータシステムの構成の一例を説明する。図1は、本発明によるコンピュータシステムの構成の一例を示す図である。図1を参照して、本発明によるコンピュータシステムは、サーバ100(ホスト)、ストレージ200(記憶装置、ホスト)、コントローラ300、複数のスイッチ40-1~40-4によって形成されるスイッチネットワーク400を具備する。例えば、サーバ100とストレージ200は、回線600(例えばEthernet(登録商標) LAN)で接続されたスイッチネットワーク400を介して接続されることで、SANを構成する。
Claims (12)
- オープンフローコントローラと、
前記オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うオープンフロースイッチと、
前記オープンフロースイッチに接続されたホストと
を具備し、
前記ホストは、トランスポート層においてTCP(Transmission Control Protocol)層より上位のプロトコル情報をTCPヘッダのオプション領域に含めたパケットを送信し、
前記オープンフローコントローラは、前記プロトコル情報に応じた転送先を規定したフローエントリをスイッチに設定し、
前記オープンフロースイッチは、受信パケットのTCPヘッダに含まれる前記プロトコル情報に適合するフローエントリに従った転送先に、前記受信パケットを転送する
コンピュータシステム。 - 請求項1に記載のコンピュータシステムにおいて、
前記プロトコル情報は、ターゲットとなる宛先ホストを特定するiSCSI(Internet Small Computer System Interface)ネームを含み、
前記オープンフローコントローラは、前記ホストと前記宛先ホストとを結ぶ経路上のスイッチに対し、前記iSCSIネームに応じた転送先を規定したフローエントリを設定する
コンピュータシステム。 - 請求項2に記載のコンピュータシステムにおいて、
前記iSCSIネームは、イニシエータネームのみ、又はターゲットネームのみを含む
コンピュータシステム。 - 請求項1から3のいずれか1項に記載のコンピュータシステムにおいて、
前記プロトコル情報は、TCPヘッダにおけるオプション領域に格納される
コンピュータシステム。 - 請求項1から4のいずれか1項に記載のコンピュータシステムにおいて、
前記宛先ホストは論理ディスクである
コンピュータシステム。 - 請求項1から5のいずれか1項に記載のコンピュータシステムにおいて前記ホストとして利用されるサーバ。
- 請求項1から5のいずれか1項に記載のコンピュータシステムにおいて利用されるオープンフローコントローラ。
- 請求項1から5のいずれか1項に記載のコンピュータシステムにおいて利用されるオープンフロースイッチ。
- ホストが、トランスポート層においてTCP(Transmission Control Protocol)層より上位のプロトコル情報をTCPヘッダに含めたパケットを送信するステップと、
オープンフローコントローラが、前記プロトコル情報に応じた転送先を規定したフローエントリをスイッチに設定するステップと、
前記オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うオープンフロースイッチが、受信パケットのTCPヘッダに含まれるプロトコル情報に適合するフローエントリに従った転送先に、前記受信パケットを転送するステップと
を具備する
通信方法。 - 請求項9に記載の通信方法において、
前記プロトコル情報は、ターゲットとなる宛先ホストを特定するiSCSI(Internet Small Computer System Interface)ネームを含み、
前記オープンフローコントローラは、前記ホストと前記宛先ホストとを結ぶ経路上のスイッチに対し、前記iSCSIネームに応じた転送先を規定したフローエントリを設定する
通信方法。 - 請求項10に記載の通信方法において、
前記iSCSIネームは、イニシエータネームのみ、又はターゲットネームのみを含む
通信方法。 - 請求項9から11のいずれか1項に記載の通信方法において、
前記パケットを送信するステップは、前記ホストが、前記プロトコル情報をTCPヘッダにおけるオプション領域に格納して前記パケットを生成するステップを備える
通信方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012800122205A CN103430496A (zh) | 2011-03-09 | 2012-02-17 | 计算机***、服务器、开放流控制器和通信方法 |
JP2013503438A JP5911108B2 (ja) | 2011-03-09 | 2012-02-17 | コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 |
EP12754670.3A EP2685675A4 (en) | 2011-03-09 | 2012-02-17 | COMPUTER SYSTEM, SERVER, OPENFLOW CONTROL DEVICE, AND COMMUNICATION METHOD |
US14/003,782 US9397937B2 (en) | 2011-03-09 | 2012-02-17 | Computer system, server, open flow controller and communication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011052130 | 2011-03-09 | ||
JP2011-052130 | 2011-03-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012120990A1 true WO2012120990A1 (ja) | 2012-09-13 |
Family
ID=46797959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/053773 WO2012120990A1 (ja) | 2011-03-09 | 2012-02-17 | コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9397937B2 (ja) |
EP (1) | EP2685675A4 (ja) |
JP (1) | JP5911108B2 (ja) |
CN (1) | CN103430496A (ja) |
WO (1) | WO2012120990A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014183579A1 (zh) * | 2013-07-05 | 2014-11-20 | 中兴通讯股份有限公司 | 控制数据转发的方法及逻辑交换机 |
WO2015068598A1 (ja) * | 2013-11-11 | 2015-05-14 | 日本電気株式会社 | 装置、セッション処理品質安定化システム、優先度処理方法、送信方法、中継方法およびプログラム |
US10298454B2 (en) | 2014-11-25 | 2019-05-21 | Ricoh Company, Ltd. | Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811429A (zh) * | 2014-01-27 | 2015-07-29 | 中兴通讯股份有限公司 | 一种of协议指令实现方法及控制器 |
CN105099721B (zh) * | 2014-04-28 | 2018-12-07 | 华为技术有限公司 | 维护组播成员的方法及设备 |
WO2016019676A1 (zh) | 2014-08-06 | 2016-02-11 | 华为技术有限公司 | 一种软件定义网络sdn中处理数据包的方法、装置及*** |
US11281600B2 (en) * | 2019-06-12 | 2022-03-22 | Dell Products L.P. | ALUA/aggregated switch latency reduction system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11239163A (ja) | 1998-02-23 | 1999-08-31 | Nippon Telegr & Teleph Corp <Ntt> | Lan間フロー制御方法及びスイッチ |
JP2002502188A (ja) * | 1998-01-29 | 2002-01-22 | アイピー ダイナミックス インコーポレイテッド | ネットワーク上のデスティネーションへ送信されたデータの経路決めをするドメイン名を使用するためのシステムおよび方法 |
JP2005110118A (ja) * | 2003-10-01 | 2005-04-21 | Hitachi Ltd | ネットワーク変換器及び情報処理システム |
JP2005151437A (ja) | 2003-11-19 | 2005-06-09 | Hitachi Ltd | 記憶装置、記憶装置システム、および、通信制御方法 |
JP2006129487A (ja) | 2004-10-29 | 2006-05-18 | Lg Electronics Inc | 高速移動通信網におけるtcpの流れ制御方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3757917B2 (ja) | 2002-08-20 | 2006-03-22 | 日本電気株式会社 | パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム |
BRPI0519612A2 (pt) * | 2004-12-31 | 2009-02-25 | British Telecomm | aparelho de comutaÇço em uma rede de comunicaÇÕes, mÉtodos de modificar aparelho de comutaÇço posicionado em uma rede de comunicaÇÕes, de comutar pacotes atravÉs de uma rede de comunicaÇÕes compreendendo uma pluralidade de aparelhos de comutaÇço interconectados, de gerar uma conexço de extremidade a extremidade atravÉs de uma rede de comunicaÇÕes compreendendo uma pluralidade de aparelhos de comutaÇço prÉ-configurados para suportar um protocolo de comunicaÇÕes sem conexço, de fornecer modos de encaminhar diferenciados para dados empacotados, de configurar aparelho de comutaÇço para receber informaÇço de gerenciamento e/ou de sinalizaÇço, rede de comunicaÇÕes, processador de plano de controle, e, esquema de comunicaÇço para configurar uma rede |
CN102349268B (zh) * | 2009-03-09 | 2015-11-25 | 日本电气株式会社 | OpenFlow通信***和OpenFlow通信方法 |
-
2012
- 2012-02-17 EP EP12754670.3A patent/EP2685675A4/en not_active Withdrawn
- 2012-02-17 WO PCT/JP2012/053773 patent/WO2012120990A1/ja active Application Filing
- 2012-02-17 CN CN2012800122205A patent/CN103430496A/zh active Pending
- 2012-02-17 JP JP2013503438A patent/JP5911108B2/ja active Active
- 2012-02-17 US US14/003,782 patent/US9397937B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002502188A (ja) * | 1998-01-29 | 2002-01-22 | アイピー ダイナミックス インコーポレイテッド | ネットワーク上のデスティネーションへ送信されたデータの経路決めをするドメイン名を使用するためのシステムおよび方法 |
JPH11239163A (ja) | 1998-02-23 | 1999-08-31 | Nippon Telegr & Teleph Corp <Ntt> | Lan間フロー制御方法及びスイッチ |
JP2005110118A (ja) * | 2003-10-01 | 2005-04-21 | Hitachi Ltd | ネットワーク変換器及び情報処理システム |
JP2005151437A (ja) | 2003-11-19 | 2005-06-09 | Hitachi Ltd | 記憶装置、記憶装置システム、および、通信制御方法 |
JP2006129487A (ja) | 2004-10-29 | 2006-05-18 | Lg Electronics Inc | 高速移動通信網におけるtcpの流れ制御方法 |
Non-Patent Citations (3)
Title |
---|
HIROSHI UENO: "A Study on Deployment of Network Appliance Functionalities in Datacenter Network", IEICE TECHNICAL REPORT, vol. 109, no. 296, 13 November 2009 (2009-11-13), pages 7 - 12, XP008166907 * |
OPENFLOW SWITCH SPECIFICATION, 31 December 2009 (2009-12-31) |
See also references of EP2685675A4 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014183579A1 (zh) * | 2013-07-05 | 2014-11-20 | 中兴通讯股份有限公司 | 控制数据转发的方法及逻辑交换机 |
CN104283814A (zh) * | 2013-07-05 | 2015-01-14 | 中兴通讯股份有限公司 | 控制数据转发的方法及逻辑交换机 |
CN104283814B (zh) * | 2013-07-05 | 2018-03-30 | 中兴通讯股份有限公司 | 控制数据转发的方法及逻辑交换机 |
WO2015068598A1 (ja) * | 2013-11-11 | 2015-05-14 | 日本電気株式会社 | 装置、セッション処理品質安定化システム、優先度処理方法、送信方法、中継方法およびプログラム |
US10298454B2 (en) | 2014-11-25 | 2019-05-21 | Ricoh Company, Ltd. | Communication path switching apparatus, method for controlling communication path switching apparatus, and computer program product |
Also Published As
Publication number | Publication date |
---|---|
EP2685675A1 (en) | 2014-01-15 |
JPWO2012120990A1 (ja) | 2014-07-17 |
EP2685675A4 (en) | 2014-12-10 |
JP5911108B2 (ja) | 2016-04-27 |
US9397937B2 (en) | 2016-07-19 |
US20130343393A1 (en) | 2013-12-26 |
CN103430496A (zh) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9590923B2 (en) | Reliable link layer for control links between network controllers and switches | |
JP5911108B2 (ja) | コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 | |
Li et al. | Source routing with protocol-oblivious forwarding (POF) to enable efficient e-health data transfers | |
JP5590263B2 (ja) | 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム | |
US9215175B2 (en) | Computer system including controller and plurality of switches and communication method in computer system | |
CA2480462C (en) | Label switching in fibre channel networks | |
JP5987920B2 (ja) | 通信システム、制御装置及びネットワークトポロジの管理方法 | |
JP2018525941A (ja) | 拡張されたセッション管理を用いるネットワークパケットフローコントローラ | |
EP2400693A2 (en) | Routing and service performance management in an application acceleration environment | |
JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
CN114422432A (zh) | 基于可靠传输层的可靠覆盖 | |
JP6525256B2 (ja) | 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法 | |
JP5691782B2 (ja) | ネットワークシステム及びフレーム通信方法 | |
JP2013223191A (ja) | 通信システム、制御装置、パケット採取方法及びプログラム | |
WO2014126094A1 (ja) | 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム | |
JP6718739B2 (ja) | 通信装置および通信方法 | |
JP2015521391A (ja) | 通信システムと通信方法並びにプログラム | |
WO2014175335A1 (ja) | 制御装置、計算機システム、通信制御方法及びプログラム | |
JP6314970B2 (ja) | 通信システム、制御装置、通信方法およびプログラム | |
JP2019092233A (ja) | 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法 | |
Wadekar | Handbook of Fiber Optic Data Communication: Chapter 11. InfiniBand, iWARP, and RoCE | |
JP2016225933A (ja) | 制御装置、中継装置の制御方法、プログラム及び通信システム |
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: 12754670 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013503438 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012754670 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012754670 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14003782 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |