Traffic flow (computer networking)


Traffic flow (computer networking)

In packet switching networks, traffic flow, packet flow or network flow is a sequence of packets from a source computer to a destination, which may be another host, a multicast group, or a broadcast domain. RFC 2722 defines traffic flow as "an artificial logical equivalent to a call or connection."[1] 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."[2] Flow is also defined in RFC 3917 "a set of IP packets passing an observation point in the network during a certain time interval."[3]

Contents

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, routers and network adapters, to achieve traffic shaping, fair queueing or Quality of Service. 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 or TCP). In the TCP case, a flow may be a virtual circuit, also known as a virtual connection or a byte stream.

In packet switches, the flow may be identified by IEEE 802.1Q Virtual LAN tagging in Ethernet networks, or by a Label Switched Path in MPLS tag switching.

Packet flow can be represented as a path in a network to model network performance. For example a water flow network 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

References

  1. ^ N. Brownlee, C. Mills, and G. Ruth (1999-10). "RFC 2722 - Traffic Flow Measurement: Architecture". IETF. http://www.ietf.org/rfc/rfc2722.txt. Retrieved 2010-02-11. 
  2. ^ J. Rajahalme, A. Conta, B. Carpenter and S. Deering (2004-03). "RFC 3697 - IPv6 Flow Label Specification". IETF. http://www.ietf.org/rfc/rfc3697.txt. Retrieved 2010-02-11. 
  3. ^ J. Quittek, JT. Zseby, B. Claise, and S. Zander (2004-10). "RFC 3917 - IPFIX Requirements". IETF. http://www.ietf.org/rfc/rfc3917.txt. Retrieved 2010-02-11. 

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Flow (computer networking) — In a Packet Switching network, a packet flow or traffic flow is a sequence of packets from one particular source (e.g. a computer host, process or class of service) to a single destination (another computer host, multicast group, broadcast domain …   Wikipedia

  • 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… …   Wikipedia

  • computer science — computer scientist. the science that deals with the theory and methods of processing information in digital computers, the design of computer hardware and software, and the applications of computers. [1970 75] * * * Study of computers, their… …   Universalium

  • Traffic shaping — (also known as packet shaping ) is the control of computer network traffic in order to optimize or guarantee performance, lower latency, and/or increase usable bandwidth by delaying packets that meet certain criteria. [… …   Wikipedia

  • Computer science — or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic… …   Wikipedia

  • Flow control — distinguish|control flowIn computer networking, flow control is the process of managing the rate of data transmission between two nodes to prevent a fast sender from over running a slow receiver. This should be distinguished from congestion… …   Wikipedia

  • computer — computerlike, adj. /keuhm pyooh teuhr/, n. 1. Also called processor. an electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations. Cf. analog… …   Universalium

  • Network flow — may refer to: Flow network Traffic flow (computer networking) See also Flow (disambiguation) This disambiguation page lists articles associated with the same title. If an …   Wikipedia

  • Mouse flow — In computer networking, a mouse flow is a short (in total bytes) flow set up by a TCP (or other protocol) flow measured over a network link. A mouse is a flow with less than C packets. An elephant flow is a flow with at least C packets. The… …   Wikipedia

  • Long-tail traffic — This article covers a range of tools from different disciplines that may be used in the important science of determining the probability of rare events. The terms long range dependent , self similar and heavy tailed are very close in meaning.… …   Wikipedia