Flow (computer networking)
Encyclopedia
In packet switching
Packet switching
Packet switching is a digital networking communications method that groups all transmitted data – regardless of content, type, or structure – into suitably sized blocks, called packets. Packet switching features delivery of variable-bit-rate data streams over a shared network...

 networks, traffic flow, packet flow or network flow is a sequence of packets from a source computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 to a destination, which may be another host, a multicast
Multicast
In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source creating copies automatically in other network elements, such as routers, only when the topology of the network requires...

 group, or a broadcast
Broadcast
Broadcast or Broadcasting may refer to:* Broadcasting, the transmission of audio and video signals* Broadcast, an individual television program or radio program* Broadcast , an English electronic music band...

 domain. RFC 2722 defines traffic flow as "an artificial logical equivalent to a call or connection." RFC 3697 defines traffic flow as "a sequence of packets sent from a particular source to a particular unicast, anycast, or multicast destination that the source desires to label as a flow. A flow could consist of all packets in a specific transport connection or a media stream. However, a flow is not necessarily 1:1 mapped to a transport connection." Flow is also defined in RFC 3917 "a set of IP packets passing an observation point in the network during a certain time interval."

Conceptual description

A TCP/IP flow can be uniquely identified by the following parameters within a certain time period:
  • Source and Destination IP address
  • Source and Destination Port
  • Layer 4 Protocol (TCP/UDP/ICMP)

UDP and ICMP flows

All packets with the same source address/port and destination address/port within a time period are considered as one flow.

Since UDP is uni-directional, it causes one flow. ICMP is bi-directional, so it causes two flows.

TCP flow

Establishing a TCP connection begins with a three-way handshake and creates two flows. One from A to B, the other from B to A, where A and B are IP-Port source and destinations.

1. . (A) --> [SYN] ------>(B)
2. . (A) <-- [SYN/ACK] <--(B)
3. . (A) --> [ACK] ------>(B)

The two TCP flows end with a four-way handshake or a time-out.

1. . (A) --> ACK/FIN ---->(B)
2. . (A) <-- ACK <--------(B)
3. . (A) <-- ACK/FIN <----(B)
4. . (A) --> ACK -------->(B)

Other protocols

Packets from other protocols can be grouped into flows as well. There are other transport protocols, and some protocols use layer 4 as a transport. E.g. HTTP traffic is carried by TCP/IP and creates a flow as the connection is built and torn down.

Utility for network administration

The concept is important, since it may be that packets from one flow need to be handled differently from others, by means of separate queues in switches
Network switch
A network switch or switching hub is a computer networking device that connects network segments.The term commonly refers to a multi-port network bridge that processes and routes data at the data link layer of the OSI model...

, routers and network adapters
Network card
A network interface controller is a computer hardware component that connects a computer to a computer network....

, to achieve traffic shaping
Traffic shaping
Traffic shaping is the control of computer network traffic in order to optimize or guarantee performance, improve latency, and/or increase usable bandwidth for some kinds of packets by delaying other kinds of packets that meet certain criteria...

, fair queueing
Fair queueing
Fair queuing is a scheduling algorithm used in computer and telecommunications networks to allow multiple packet flows to fairly share the link capacity. The advantage over conventional first in first out queuing is that a high-data-rate flow, consisting of large or many data packets, cannot take...

 or Quality of Service
Quality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...

. It is also a concept used in network analyzers or in packet tracing.

Applied to Internet routers, a flow may be a host-to-host communication path, or a socket-to-socket communication identified by a unique combination of source and destination addresses and port numbers, together with transport protocol (for example, UDP
User Datagram Protocol
The User Datagram Protocol is one of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol network without requiring...

 or TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

). In the TCP case, a flow may be a virtual circuit
Virtual circuit
In telecommunications and computer networks, a virtual circuit , synonymous with virtual connection and virtual channel, is a connection oriented communication service that is delivered by means of packet mode communication...

, also known as a virtual connection or a byte stream
Byte stream
In computer science, a byte stream is a bit stream, in which data bits are grouped into units, called bytes.In computer networking the term octet stream is sometimes used to refer to the same thing; it emphasizes the use of bytes having the length of 8 bits, known as octets.Formally, a byte stream...

.

In packet switches, the flow may be identified by IEEE 802.1Q
IEEE 802.1Q
IEEE 802.1Q is the networking standard that supports Virtual LANs on an Ethernet network. The standard defines a system of VLAN tagging for Ethernet frames and the accompanying procedures to be used by bridges and switches in handling such frames...

 Virtual LAN tagging in Ethernet networks, or by a Label Switched Path
Label Switched Path
In MPLS networking, a Label Switched Path is a path through an MPLS network, set up by a signaling protocol such as LDP, RSVP-TE, BGP or CR-LDP. The path is set up based on criteria in the forwarding equivalence class ....

 in MPLS
Mpls
MPLS or Mpls can refer to:* Minneapolis, Minnesota, United States* Multiprotocol Label Switching, a data-carrying mechanism in computer networking...

 tag switching.

Packet flow can be represented as a path
Path (graph theory)
In graph theory, a path in a graph is a sequence of vertices such that from each of its vertices there is an edge to the next vertex in the sequence. A path may be infinite, but a finite path always has a first vertex, called its start vertex, and a last vertex, called its end vertex. Both of them...

 in a network to model network performance. For example a water flow network
Flow network
In graph theory, a flow network is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in Operations Research, a directed graph is called a network, the vertices are called nodes and the edges are...

 can be used to conceptualize packet flow. Channels can be thought of as pipes, with the pipe capacity corresponding to bandwidth and flows corresponding to data throughput. This visualization can help to understand bottlenecks, queuing, and help understand the unique requirements of tailored systems.

See also

  • Cisco NetFlow
    Netflow
    NetFlow is a network protocol developed by Cisco Systems for collecting IP traffic information. NetFlow has become an industry standard for traffic monitoring and is supported by platforms other than Cisco IOS and NXOS such as Juniper routers, Enterasys Switches, vNetworking in version 5 of...

  • Communication channel
  • Data flow (software engineering)
  • Data stream
    Data stream
    In telecommunications and computing, a data stream is a sequence of digitally encoded coherent signals used to transmit or receive information that is in the process of being transmitted....

  • Flow control
    Flow control
    In data communications, flow control is the process of managing the pacing of data transmission between two nodes to prevent a fast sender from outrunning a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with...

  • Traffic shaping
    Traffic shaping
    Traffic shaping is the control of computer network traffic in order to optimize or guarantee performance, improve latency, and/or increase usable bandwidth for some kinds of packets by delaying other kinds of packets that meet certain criteria...

  • Traffic policing
    Traffic policing
    Traffic policing is the process of monitoring network traffic for compliance with a traffic contract and taking steps to enforce that contract. Traffic sources which are aware of a traffic contract may apply traffic shaping to ensure their output stays within the contract and is thus not discarded...

  • Flow network
    Flow network
    In graph theory, a flow network is a directed graph where each edge has a capacity and each edge receives a flow. The amount of flow on an edge cannot exceed the capacity of the edge. Often in Operations Research, a directed graph is called a network, the vertices are called nodes and the edges are...

     in graph theory
  • IP Flow Information Export
    IP Flow Information Export
    Internet Protocol Flow Information Export is an IETF working group. It was created from the need for a common, universal standard of export for Internet Protocol flow information from routers, probes, and other devices that is used by mediation systems, accounting/billing systems, and network...

  • Path (graph theory)
    Path (graph theory)
    In graph theory, a path in a graph is a sequence of vertices such that from each of its vertices there is an edge to the next vertex in the sequence. A path may be infinite, but a finite path always has a first vertex, called its start vertex, and a last vertex, called its end vertex. Both of them...

  • Stream (computing)
  • Telecommunication connection
  • Traffic generation model
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK