EP3222007A1 - Test apparatus - Google Patents

Test apparatus

Info

Publication number
EP3222007A1
EP3222007A1 EP15860718.4A EP15860718A EP3222007A1 EP 3222007 A1 EP3222007 A1 EP 3222007A1 EP 15860718 A EP15860718 A EP 15860718A EP 3222007 A1 EP3222007 A1 EP 3222007A1
Authority
EP
European Patent Office
Prior art keywords
packets
flows
cause
memory
processor
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
EP15860718.4A
Other languages
German (de)
French (fr)
Other versions
EP3222007A4 (en
Inventor
Vinski Bräysy
Jouko Sankala
Mikko Karjalainen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rugged Tooling Oy
Original Assignee
Rugged Tooling Oy
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 Rugged Tooling Oy filed Critical Rugged Tooling Oy
Publication of EP3222007A1 publication Critical patent/EP3222007A1/en
Publication of EP3222007A4 publication Critical patent/EP3222007A4/en
Withdrawn legal-status Critical Current

Links

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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Definitions

  • the exemplary and non-limiting embodiments of the invention relate generally to communications. Embodiments of the invention relate especially to apparatuses and methods for testing communication networks and devices.
  • an apparatus comprising: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive packets; divide the received packets into flows on the basis of one or more parameters of each packet; divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time; transmit packets of the one or more flows via an output port.
  • a method comprising: receive packets via an input port; divide the received packets into flows on the basis of one or more parameters of each packet; divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time; transmit the packets of the one or more flows.
  • Figure 1 illustrates a simplified example of a connection between two devices communicating via a communication network
  • Figures 2A and 2B illustrate simplified examples of embodiments of testing of a connection
  • Figure 3 is a flowchart illustrating a simplified example of an embodiment of the invention.
  • Figure 4 illustrates a simplified example of the operation of a test apparatus
  • Figure 5 illustrates a simplified example of the structure of a test apparatus.
  • the protocol to use may depend on several factors, such as the communicating devices, the service used, the type of traffic, the connection type. There may be more than one protocol used on a single connection between two communicating devices.
  • Transmission control protocol is one of the protocols in the internet protocol (IP) suite.
  • IP internet protocol
  • the TCP, and other transport layer protocols, may be used to deliver data streams between programs running on computers connected to internet, for example.
  • the TCP may control the transmission by dividing the data to be transmitted into segments and by forwarding the segments to an IP layer, which encapsulates each data segment into an IP packet. Thereafter, the IP packet may be transmitted to the receiver.
  • Figure 1 illustrates a simplified example of a connection between two devices communicating via a communication network.
  • two devices or hosts 100, 102 are connected via a communication network comprising two intervening routers 104, 106 and connecting lines 108, 1 10, 1 12.
  • the routers or servers 104, 106 may be any devices relaying traffic.
  • realistic connections typically comprise a large number of relaying routers, servers or other network devices.
  • the number of devices on the signal path from the first device 100 to the second device 102 may easily be hundreds or thousands. Different connections types (for example wired or wireless) may be used on a single connection between two communicating devices.
  • Figure 2A illustrates a simplified example of an embodiment of testing of a connection.
  • the example illustrates testing a connection between two devices of Figure 1 .
  • embodiments of the invention are not limited to testing connections between two devices or generally any specific number of devices. Embodiments of the invention may be applied to any network or connection.
  • the connection may be intranet, Internet or anything between.
  • a test apparatus 200 is installed in the connection between device 100 and device 102. In this example the test apparatus is located between two routers or servers 104, 106. In general, the location of a test apparatus 200 depends on what needs to be tested. During testing more than one test apparatuses may be used depending on the application.
  • the test apparatus 200 receives the traffic sent from the device 100 and retransmits the traffic towards device 102. Likewise, the traffic sent from the device 102 is received and retransmitted towards device 100. The test apparatus may process the traffic and introduce some deviations or errors so that the operation of the connection may be monitored.
  • Figure 2B illustrates another simplified example of an embodiment of testing of a connection.
  • the example illustrates testing a connection between two devices of Figure 1 .
  • a test apparatus 200 is installed directly between device 100 and device 102.
  • the test apparatus may be used to emulate the delays and errors caused by routers in the connection between the devices 100 and 102.
  • Figure 3 is a flowchart illustrating a simplified example of an embodiment of the invention. The flowchart illustrates an example of the operation of the test apparatus 200.
  • the apparatus is configured to receive a signal via an input port.
  • the signal comprises packets.
  • the apparatus is configured to divide the received packets into one or more flows on the basis of one more parameters of each packet.
  • the parameters of the packets may comprise the IP protocol used in the transmission of the packets, IP source or destination address, TCP/UDP/SCTP source or destination ports, virtual local area network tags, Multiprotocol Label Switching labels, GTP TEID (General Packet Radio Service Tunneling Protocol Tunnel endpoint identifier), for example.
  • each flow comprises packets which have the same given parameters.
  • the apparatus may process more than one flow of packets at the same time.
  • the apparatus is configured to divide one or more packets of the one or more flows into smaller packets according to flow specific rules.
  • the apparatus is configured to process the packets within each flow in a similar manner.
  • different flows may have different processing instructions.
  • the apparatus may be configured to fragment the packets of the flow according to rules specific to the flow. Also reassembly and defragmentation may be performed.
  • TCP the segmentation of data may be changed.
  • SCTP the number of chucks in the STCP messages may be reduced or increased.
  • step 306 the apparatus is configured to transmit the processed packets of the one or more flows via an output port.
  • the example ends in step 308.
  • the test apparatus may introduce packet fragmentation into the communication between source and destination devices.
  • devices such as routers, which receive and forward data, have as a parameter a maximum transmission unit (MTU), which denotes the maximum size of a data unit the device can process.
  • MTU maximum transmission unit
  • a device receives a data unit which is larger than the MTU of the device, it may fragment the data unit into units of smaller size so that it may forward the data towards its destination.
  • the fragmented data units may be assembled.
  • the test apparatus fragments the packets, it is configured to define the fragmentation specific parameters according to IP. If a packet is to be fragmented into segments the length of each segment (except possibly the last segment) is having a given value.
  • Each segment is put to its own packet.
  • Each packet comprising a segment comprises some fragment related information.
  • a more fragment flag (MF) is set for all packets except the last one.
  • a fragment offset field is computed and added into each packet. The offset field indicates the location of the segment in the original data.
  • the header checksum is recalculated for each packet.
  • the fragmentation parameters may vary for flows, packets and fragments.
  • the fragmentation delays and the lengths of the fragments may be adjusted, for example.
  • fragmentation parameters comprise fragment size (bytes or chunks, for example), fragment transmission timer offset, fragment drop mode and fragment drop rate.
  • IPv4 if traffic is IPv4 traffic, several packet header values may be intentionally corrupted. For example, given values may be set for following fields: IP version, header length, type of service, time to live, protocol field, source address, destination address and flags. Values of following fields may be adjusted: total field length, identification, fragment offset and checksum. In addition, an option field may be added after the header.
  • IPv6 traffic if traffic is IPv6 traffic, several packet header values may be intentionally corrupted. For example, given values may be set for following fields: IP version, traffic class, flow label, next header, hop limit, source address and destination address. If fragment extension header is not desired, payload length field may be adjusted. In addition, next header field may be added. Fragment extension header may be adjusted by setting following fields: reserved field (8bit), reserved field (2bit), more fragments field and next header field. Fragment offset and identification fields may be adjusted and next header may be added after the header.
  • the same procedure applies to TCP, where data to be transmitted is segmented into pieces and placed in TCP data fields.
  • the test apparatus may be configured to change the segmentation.
  • SCTP messages and control information is placed into separate chunks which are identified by a header.
  • One or more chunks may be included in each transmission unit, i.e. SCTP packet which are submitted to the Internet Protocol.
  • the test apparatus may be configured to change the number of chunks in the packets.
  • Figure 4 illustrates another example of the operation of the test apparatus 200.
  • the test apparatus may be configured to perform also other operations besides fragmentation.
  • the test apparatus comprises input port 400 configured to receive a signal.
  • the signal comprises packets.
  • the apparatus further comprises a flow lookup module 402 configured to divide the received packets into one or more flows on the basis of one or more parameters of each packet as described above.

Abstract

A solution for testing communication networks and devices comprises receiving (300) packets; dividing (302) the received packets into one or more flows on the basis of one or more parameters of each packet; dividing (304) one or more packets of the one or more flows into smaller packets according to flow specific rules and transmitting (306) the packets of the one or more flows.

Description

TEST APPARATUS
Field of the invention
The exemplary and non-limiting embodiments of the invention relate generally to communications. Embodiments of the invention relate especially to apparatuses and methods for testing communication networks and devices.
Background
In modern communication and computer networks, data exchange between programs and computers is a vital element. Information must be exchanged reliably. There are several factors which may cause errors or impairments in communication. Therefore it is useful to test the tolerance or operation of networks, connections, and network devices in situations when there are problems in communication. Devices providing versatile ways of testing networks are needed.
Summary
The following presents a simplified summary of the invention in order to provide a basic understanding of some aspects of the invention. This summary is not an extensive overview of the invention. It is not intended to identify key/critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to a more detailed description that is presented later.
According to an aspect of the present invention, there is provided an apparatus, comprising: at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: receive packets; divide the received packets into flows on the basis of one or more parameters of each packet; divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time; transmit packets of the one or more flows via an output port.
According to an aspect of the present invention, there is provided a method, comprising: receive packets via an input port; divide the received packets into flows on the basis of one or more parameters of each packet; divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time; transmit the packets of the one or more flows.
Brief description of the drawings
In the following the invention will be described in greater detail by means of preferred embodiments with reference to the attached drawings, in which
Figure 1 illustrates a simplified example of a connection between two devices communicating via a communication network;
Figures 2A and 2B illustrate simplified examples of embodiments of testing of a connection;
Figure 3 is a flowchart illustrating a simplified example of an embodiment of the invention;
Figure 4 illustrates a simplified example of the operation of a test apparatus; and
Figure 5 illustrates a simplified example of the structure of a test apparatus.
Detailed description of some embodiments
The following embodiments are only examples. Although the specification may refer to "an", "one", or "some" embodiment(s) in several locations, this does not necessarily mean that each such reference is to the same embodiment(s), or that the feature only applies to a single embodiment.
Single features of different embodiments may also be combined to provide other embodiments. Furthermore, words "comprising" and "including" should be understood as not limiting the described embodiments to consist of only those features that have been mentioned and such embodiments may also contain also features, structures, units, modules etc. that have not been specifically mentioned.
There are a large number of different protocols used to realise communication between different devices. The protocol to use may depend on several factors, such as the communicating devices, the service used, the type of traffic, the connection type. There may be more than one protocol used on a single connection between two communicating devices.
Transmission control protocol (TCP) is one of the protocols in the internet protocol (IP) suite. The TCP, and other transport layer protocols, may be used to deliver data streams between programs running on computers connected to internet, for example. The TCP may control the transmission by dividing the data to be transmitted into segments and by forwarding the segments to an IP layer, which encapsulates each data segment into an IP packet. Thereafter, the IP packet may be transmitted to the receiver.
Other typical protocols include Stream Control Transmission
Protocol (SCTP) and User Datagram Protocol (UDP) which are transport layer protocols like TCP.
Figure 1 illustrates a simplified example of a connection between two devices communicating via a communication network. In the example, two devices or hosts 100, 102 are connected via a communication network comprising two intervening routers 104, 106 and connecting lines 108, 1 10, 1 12. The routers or servers 104, 106 may be any devices relaying traffic. In practise, realistic connections typically comprise a large number of relaying routers, servers or other network devices. The number of devices on the signal path from the first device 100 to the second device 102 may easily be hundreds or thousands. Different connections types (for example wired or wireless) may be used on a single connection between two communicating devices.
The varying connections and other traffic may cause several impairments to the traffic between communicating devices. For example, in packet network packets may be lost, corrupted, delayed or duplicated, to name a few deficiencies. To ensure the operation of devices, connections and services in different situations test procedures where different deviations and errors are emulated are required.
Figure 2A illustrates a simplified example of an embodiment of testing of a connection. The example illustrates testing a connection between two devices of Figure 1 . However, as one skilled in the art is aware, embodiments of the invention are not limited to testing connections between two devices or generally any specific number of devices. Embodiments of the invention may be applied to any network or connection. The connection may be intranet, Internet or anything between. In the example of Figure 2A, a test apparatus 200 is installed in the connection between device 100 and device 102. In this example the test apparatus is located between two routers or servers 104, 106. In general, the location of a test apparatus 200 depends on what needs to be tested. During testing more than one test apparatuses may be used depending on the application. In this example, the test apparatus 200 receives the traffic sent from the device 100 and retransmits the traffic towards device 102. Likewise, the traffic sent from the device 102 is received and retransmitted towards device 100. The test apparatus may process the traffic and introduce some deviations or errors so that the operation of the connection may be monitored.
Figure 2B illustrates another simplified example of an embodiment of testing of a connection. The example illustrates testing a connection between two devices of Figure 1 . In this example, a test apparatus 200 is installed directly between device 100 and device 102. The test apparatus may be used to emulate the delays and errors caused by routers in the connection between the devices 100 and 102.
Figure 3 is a flowchart illustrating a simplified example of an embodiment of the invention. The flowchart illustrates an example of the operation of the test apparatus 200.
In step 300, the apparatus is configured to receive a signal via an input port. Typically the signal comprises packets.
In step 302, the apparatus is configured to divide the received packets into one or more flows on the basis of one more parameters of each packet. The parameters of the packets may comprise the IP protocol used in the transmission of the packets, IP source or destination address, TCP/UDP/SCTP source or destination ports, virtual local area network tags, Multiprotocol Label Switching labels, GTP TEID (General Packet Radio Service Tunneling Protocol Tunnel endpoint identifier), for example. Thus, each flow comprises packets which have the same given parameters. The apparatus may process more than one flow of packets at the same time.
In step 304, the apparatus is configured to divide one or more packets of the one or more flows into smaller packets according to flow specific rules. The apparatus is configured to process the packets within each flow in a similar manner. However, different flows may have different processing instructions. For example, if the flow comprises IP packets, the apparatus may be configured to fragment the packets of the flow according to rules specific to the flow. Also reassembly and defragmentation may be performed. In TCP, the segmentation of data may be changed. In SCTP, the number of chucks in the STCP messages may be reduced or increased.
In step 306, the apparatus is configured to transmit the processed packets of the one or more flows via an output port. The example ends in step 308.
Thus, the test apparatus may introduce packet fragmentation into the communication between source and destination devices. Let us study communication utilising IP as an example. In normal IP communication, devices such as routers, which receive and forward data, have as a parameter a maximum transmission unit (MTU), which denotes the maximum size of a data unit the device can process. If a device receives a data unit which is larger than the MTU of the device, it may fragment the data unit into units of smaller size so that it may forward the data towards its destination. At the receiving end, the fragmented data units may be assembled. When the test apparatus fragments the packets, it is configured to define the fragmentation specific parameters according to IP. If a packet is to be fragmented into segments the length of each segment (except possibly the last segment) is having a given value. Each segment is put to its own packet. Each packet comprising a segment comprises some fragment related information. A more fragment flag (MF) is set for all packets except the last one. A fragment offset field is computed and added into each packet. The offset field indicates the location of the segment in the original data. The header checksum is recalculated for each packet.
The fragmentation parameters may vary for flows, packets and fragments. The fragmentation delays and the lengths of the fragments may be adjusted, for example.
Examples of fragmentation parameters comprise fragment size (bytes or chunks, for example), fragment transmission timer offset, fragment drop mode and fragment drop rate.
In an example embodiment, if traffic is IPv4 traffic, several packet header values may be intentionally corrupted. For example, given values may be set for following fields: IP version, header length, type of service, time to live, protocol field, source address, destination address and flags. Values of following fields may be adjusted: total field length, identification, fragment offset and checksum. In addition, an option field may be added after the header.
Also if traffic is IPv6 traffic, several packet header values may be intentionally corrupted. For example, given values may be set for following fields: IP version, traffic class, flow label, next header, hop limit, source address and destination address. If fragment extension header is not desired, payload length field may be adjusted. In addition, next header field may be added. Fragment extension header may be adjusted by setting following fields: reserved field (8bit), reserved field (2bit), more fragments field and next header field. Fragment offset and identification fields may be adjusted and next header may be added after the header.
The same procedure applies to TCP, where data to be transmitted is segmented into pieces and placed in TCP data fields. The test apparatus may be configured to change the segmentation. In SCTP, messages and control information is placed into separate chunks which are identified by a header. One or more chunks may be included in each transmission unit, i.e. SCTP packet which are submitted to the Internet Protocol. The test apparatus may be configured to change the number of chunks in the packets.
Figure 4 illustrates another example of the operation of the test apparatus 200. The test apparatus may be configured to perform also other operations besides fragmentation. The test apparatus comprises input port 400 configured to receive a signal. Typically the signal comprises packets. The apparatus further comprises a flow lookup module 402 configured to divide the received packets into one or more flows on the basis of one or more parameters of each packet as described above.
The test apparatus further may comprise a controller module 404, which is configured to control the flow lookup module. The controller module 404 may store information on the basis of which the flow lookup is performed by the flow lookup module. In an embodiment, the information is stored as a configuration matrix. The matrix comprises rules for mapping packets to different flows as described above. In addition, the matrix may comprise information how each flow is to be processed in the test apparatus. The configuration matrix may comprise a set of definitions for each flow.
In an embodiment, the configuration matrix in the controller module 404 comprises for each flow a data field defining the physical port of the apparatus where the defined rules are to be applied. The port may define if the rules are to be applied to both transmission direction of communication. The matrix may comprise a data field defining the parameters for defining the flow. The matrix may comprise a data field defining a drop function which simulates packet loss. The drop function may define the percentage of packets lost. The matrix may comprise a data field defining bandwidth function which simulates limited bandwidth in a network. The bandwidth function may define the maximum number of bits per second supported in a flow, for example. The matrix may comprise a data field defining a delay function which simulates delay in a packet network. Incoming packets in a flow may be delayed with a given time delay.
In an embodiment, the matrix may comprise a data field defining a jitter function, i.e varying packet delay in a packet network. The jitter function may be defined by parameters describing the maximum deviation of jitter, jitter distribution and the correlation of successive jittered delay values. The matrix may comprise a data field defining a reorder function, which simulates packet reordering in a packet network. The matrix may further comprise a data field defining a corruption function, which defines how packets may be corrupted. Corruption means modifying the contents of a packet. The matrix may comprise a data field defining a duplication function simulating packet duplication in a network. The duplication function may define the percentage of packets duplicated. The matrix may comprise a data field defining packet length change function. The packet length change function may comprise parameters defining the number of bits added or removed from a packet of a flow.
The above functions are merely examples of possible actions that may be performed to packets in a flow.
The test apparatus 200 further may comprise a fragmentation module 406 which is configured to fragment packets of a flow under the control of the controller module 404. The test apparatus further may comprise a deviation module 408 which is configured to introduce deviations to the packets of a flow under the control of the controller module 404. The deviations may be the based on the functions described above. The test apparatus further may comprise a delay module 410 which is configured to introduce delay to the packets of a flow under the control of the controller module 404. The delays may be the based on the functions described above.
In an embodiment, the actions performed to different packets or flows may be dynamic. For example, different actions may be performed at different times. The delays and errors introduced to the packets may vary according to time.
The test apparatus 200 comprises an output port 412 configured to transmit the processed packets.
Figure 5 illustrates an embodiment. The figure illustrates a simplified example of an apparatus 200 in which embodiments of the invention may be applied.
It should be understood that the apparatus is depicted herein as an example illustrating some embodiments. It is apparent to a person skilled in the art that the apparatus may also comprise other functions and/or structures and not all described functions and structures are required. Although the apparatus has been depicted as one entity, different modules and memory may be implemented in one or more physical or logical entities. The apparatus may also be a part of a larger apparatus.
The apparatus of the example includes a control circuitry 500 configured to control at least part of the operation of the apparatus. The control circuitry 500 is configured to execute one or more applications.
In an embodiment, the apparatus may comprise an input/output interface 502 operationally connected to the control circuitry 500. The input/output interface 502 may comprise input/output ports 400, 412 of Figure 4. The number and type of ports may vary in different embodiments. The ports enable connecting the apparatus to different networks and systems. The ports may be equipped with RJ45 connectors, for example. The apparatus may communicate with other network elements using the interface. In an embodiment, when the apparatus is a part of a larger apparatus, separate input/output ports are not needed. The apparatus may be configured to receive packets directly from other parts of the larger apparatus without the need of separate input ports and feed the packets to other parts of the larger apparatus without separate output ports.
The apparatus may comprise a memory 504 for storing data or applications. Furthermore the memory may store software 506 executable by the control circuitry 500. The memory may be integrated in the control circuitry. The control circuitry 500 together with applications stored in the memory 504 may execute the functions of the controller module 404.
In an embodiment, the apparatus may further comprise user interface 508 operationally connected to the control circuitry 500. The interface may comprise a display, a keypad, a set of light emitting diodes (LED), for example. Instead of or in addition to user interface, the apparatus may comprise an interface to which a separate user interface may be connected. Commands controlling the apparatus may be given in many various ways as one skilled in the art is aware. In an embodiment, the applications stored in the memory 504 may cause the apparatus at least to receive packets via the input/output interface 502, divide the received packets into one or more flows on the basis of one or more parameters of each packet, divide one or more packets of the one or more flows into smaller packets according to flow specific rules and transmit packets of the one or more flows via the input/output interface 502.
The steps and related functions described in the above and attached figures are in no absolute chronological order, and some of the steps may be performed simultaneously or in an order differing from the given one. Other functions can also be executed between the steps or within the steps. Some of the steps can also be left out or replaced with a corresponding step.
The apparatuses or controllers able to perform the above-described features may be implemented as an electronic digital computer, or a circuitry which may comprise a working memory (RAM), a central processing unit (CPU), and a system clock. The CPU may comprise a set of registers, an arithmetic logic unit, and a controller. The controller or the circuitry is controlled by a sequence of program instructions transferred to the CPU from the RAM. The controller may contain a number of microinstructions for basic operations. The implementation of microinstructions may vary depending on the CPU design. The program instructions may be coded by a programming language, which may be a high-level programming language, such as C++, C#, Java, etc., or a low-level programming language, such as a machine language, or an assembler. The electronic digital computer may also have an operating system, which may provide system services to a computer program written with the program instructions.
As used in this application, the term 'circuitry' refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of circuits and software (and/or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s)/software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of 'circuitry' applies to all uses of this term in this application. As a further example, as used in this application, the term 'circuitry' would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and/or firmware. The term 'circuitry' would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.
An embodiment provides a computer program embodied on a distribution medium, comprising program instructions which, when loaded into an electronic apparatus, are configured to control the apparatus to execute the embodiments described above.
The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. Such carriers include a record medium, computer memory, read-only memory, and a software distribution package, for example. Depending on the processing power needed, the computer program may be executed in a single electronic digital computer or it may be distributed amongst a number of computers.
The apparatus may also be implemented as one or more integrated circuits, such as application-specific integrated circuits ASIC. Other hardware embodiments are also feasible, such as a circuit built of separate logic components. A hybrid of these different implementations is also feasible. When selecting the method of implementation, a person skilled in the art will consider the requirements set for the size and power consumption of the apparatus, the necessary processing capacity, production costs, and production volumes, for example.
The apparatuses or controllers able to perform the above-described features may comprise means for receiving packets via an input port; means for dividing the received packets into one or more flows on the basis of one or more parameters of each packet; means for dividing one or more packets of the one or more flows into smaller packets according to flow specific rules and means for transmitting packets of the one or more flows via an output port.
It will be obvious to a person skilled in the art that, as the technology advances, the inventive concept can be implemented in various ways. The invention and its embodiments are not limited to the examples described above but may vary within the scope of the claims.

Claims

Claims
1 . An apparatus, comprising:
at least one processor; and
at least one memory including computer program code,
the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:
receive packets;
divide the received packets into flows on the basis of one or more parameters of each packet;
divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time;
transmit packets of the one or more flows.
2. The apparatus of claim 1 , the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
cause deviations to one or more packets of the one or more flows according to flow specific rules, the deviations comprising at least one of reorder, drop, duplication, corruption; and
cause timing deviations to one or more packets of the one or more flows into smaller packets according to flow specific rules.
3. The apparatus of claim 1 or 2, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
store a set of rules defining how to divide received packets into one or more flows and flow specific rules defining how to process the packets of different flows.
4. The apparatus of any preceding claim, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
fragment Internet Protocol packets to packets of a given size and adjust fragmentation specific data in the packets.
5. The apparatus of any preceding claim, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
divide Transmission Control Protocol segments into smaller segments of a given size.
6. The apparatus of any preceding claim, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
determine received packets are Stream Control Transmission
Protocol (SCTP) messages, each message comprising one or more chucks; and
reduce the number of chunks in the SCTP messages.
7. The apparatus of any preceding claim, further comprising user interface, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus further to:
adjust the flow specific rules on the basis of input received via the user interface.
8. A method, comprising:
receive packets;
divide the received packets into flows on the basis of one or more parameters of each packet;
divide one or more packets of the flows into smaller packets according to flow specific rules, wherein the rules vary according to time;
transmit the packets of the one or more flows.
9. The method of claim 8, further comprising:
cause deviations to one or more packets of the one or more flows according to flow specific rules, the deviations comprising at least one of reorder, drop, duplication, corruption; and
cause timing deviations to one or more packets of the one or more flows into smaller packets according to flow specific rules.
10. The method of claim 8 or 9, further comprising: store a set of rules defining how to divide received packets into one or more flows and flow specific rules defining how to process the packets of different flows.
EP15860718.4A 2014-11-17 2015-11-16 Test apparatus Withdrawn EP3222007A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20146004A FI126611B (en) 2014-11-17 2014-11-17 The testing device
PCT/FI2015/050794 WO2016079381A1 (en) 2014-11-17 2015-11-16 Test apparatus

Publications (2)

Publication Number Publication Date
EP3222007A1 true EP3222007A1 (en) 2017-09-27
EP3222007A4 EP3222007A4 (en) 2018-08-15

Family

ID=56013334

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15860718.4A Withdrawn EP3222007A4 (en) 2014-11-17 2015-11-16 Test apparatus

Country Status (3)

Country Link
EP (1) EP3222007A4 (en)
FI (1) FI126611B (en)
WO (1) WO2016079381A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4105341B2 (en) * 1999-08-13 2008-06-25 富士通株式会社 Fragment size changing method and router apparatus
US6901357B1 (en) * 1999-12-14 2005-05-31 Microsoft Corporation System and method for simulating network connection characteristics
AU2003237344A1 (en) * 2002-06-03 2003-12-19 Karl Auerbach Testing device
US7873047B2 (en) * 2006-04-19 2011-01-18 Motorola, Inc. Method and apparatus for quality of service for packet communications
US20080056192A1 (en) * 2006-08-31 2008-03-06 Piping Hot Networks Limited Latency reduction by adaptive packet fragmentation
US20110282642A1 (en) * 2010-05-15 2011-11-17 Microsoft Corporation Network emulation in manual and automated testing tools
US8964553B2 (en) * 2011-12-13 2015-02-24 Ixia Network impairment unit with bandwidth-constrained packet duplication

Also Published As

Publication number Publication date
FI126611B (en) 2017-03-15
FI20146004A (en) 2016-05-18
WO2016079381A1 (en) 2016-05-26
EP3222007A4 (en) 2018-08-15

Similar Documents

Publication Publication Date Title
US11374848B2 (en) Explicit routing with network function encoding
US11929945B2 (en) Managing network traffic in virtual switches based on logical port identifiers
US20180288179A1 (en) Proxy for serving internet-of-things (iot) devices
US10038766B2 (en) Partial reassembly and fragmentation for decapsulation
CN110912798B (en) Method and system for transmitting data through aggregated connections
US9609065B2 (en) Bridge for implementing a converged network protocol to facilitate communication between different communication protocol networks
CN104506408A (en) Data transmission method and device based on SDN
RU2540815C2 (en) Interruption, at least in part, of frame transmission
CN105577413A (en) OAM (Operation, Administration and Management) message processing method and device
WO2018187049A1 (en) Digital signature systems and methods for network path trace
CN108512758B (en) Message processing method, controller and forwarding equipment
US20220263681A1 (en) Methods and systems for transmitting and receiving data packets through a bonded connection
WO2021088813A1 (en) Packet encapsulating method and apparatus, and packet decapsulating method and apparatus
JP6525256B2 (en) Virtual network system and virtual network route setting method
CN107948217B (en) Switch system and communication method
US8743907B1 (en) Apparatus for reassembling a fragmented data unit and transmitting the reassembled data unit
CN102907046B (en) For the treatment of the method for message
US20210084125A1 (en) Managing layer two network extension communications using maximum segment size (mms) modifications
US9521014B2 (en) Network system and data transmission method
FI126611B (en) The testing device
US8583822B2 (en) Method and system for minimum frame size support for a communication protocol encapsulated over Ethernet
US9998376B2 (en) Control device, communication system, control method, and non-transitory recording medium
US11848863B2 (en) Universal network protocol encapsulation and methods for transmitting data
EP4319096A1 (en) Packet transmission method and related device
WO2016189207A1 (en) Test apparatus

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20170613

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20180713

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 12/26 20060101AFI20180709BHEP

Ipc: H04L 29/06 20060101ALI20180709BHEP

Ipc: H04L 12/851 20130101ALI20180709BHEP

Ipc: H04L 12/805 20130101ALI20180709BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20190212