36
PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Wed, 10 Oct 2012 00:39:18 UTC An Introduction to Computer Networks (week 2) Stanford Univ CS144 Fall 2012

An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information.PDF generated at: Wed, 10 Oct 2012 00:39:18 UTC

An Introduction to ComputerNetworks (week 2)Stanford Univ CS144 Fall 2012

Page 2: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

ContentsArticlesPacket switching 1

Introduction 2

Network switch 2Media access control 7Packet switching 9

Principles 14

Transmission delay 14Network congestion 15Taxonomy of congestion control 21TCP congestion avoidance algorithm 25Network calculus 29

ReferencesArticle Sources and Contributors 32Image Sources, Licenses and Contributors 33

Article LicensesLicense 34

Page 3: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

1

Packet switching

Page 4: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

2

Introduction

Network switch

Avaya ERS 2550T-PWR 50-port network switch

A network switch or switching hub is a computer networking devicethat connects network segments or network devices. The termcommonly refers to a multi-port network bridge that processes androutes data at the data link layer (layer 2) of the OSI model. Switchesthat additionally process data at the network layer (layer 3) and aboveare often referred to as layer-3 switches or multilayer switches.

The first Ethernet switch was introduced by Kalpana in 1990.[1]

FunctionA switch is a telecommunication device which receives a message from any device connected to it and thentransmits the message only to the device for which the message was meant. This makes the switch a more intelligentdevice than a hub (which receives a message and then transmits it to all the other devices on its network). Thenetwork switch plays an integral part in most modern Ethernet local area networks (LANs). Mid-to-large sized LANscontain a number of linked managed switches. Small office/home office (SOHO) applications typically use a singleswitch, or an all-purpose converged device such as a residential gateway to access small office/home broadbandservices such as DSL or cable Internet. In most of these cases, the end-user device contains a router and componentsthat interface to the particular physical broadband technology. User devices may also include a telephone interfacefor VoIP.An Ethernet switch operates at the data link layer of the OSI model to create a separate collision domain for eachswitch port. With 4 computers (e.g., A, B, C, and D) on 4 switch ports, any pair (e.g. A and B) can transfer data backand forth while the other pair (e.g. C and D) also do so simultaneously, and the two conversations will not interferewith one another. In full duplex mode, these pairs can also overlap (e.g. A transmits to B, simultaneously B to C, andso on). In the case of a repeater hub, they would all share the bandwidth and run in half duplex, resulting incollisions, which would then necessitate retransmissions.

MicrosegmentationUsing a bridge or a switch (or a router) to split a larger collision domain into smaller ones in order to reduce collisionprobability and improve overall throughput is called segmentation. In the extreme of microsegmentation, each deviceis located on a dedicated switch port. In contrast to an Ethernet hub, there is a separate collision domain on each ofthe switch ports. This allows computers to have dedicated bandwidth on point-to-point connections to the networkand also to run in full duplex without collisions. Full duplex mode has only one transmitter and one receiver per'collision domain', making collisions impossible.

Page 5: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network switch 3

Role of switches in a networkSwitches may operate at one or more layers of the OSI model, including data link and network. A device thatoperates simultaneously at more than one of these layers is known as a multilayer switch.In switches intended for commercial use, built-in or modular interfaces make it possible to connect different types ofnetworks, including Ethernet, Fibre Channel, ATM, ITU-T G.hn and 802.11. This connectivity can be at any of thelayers mentioned. While layer-2 functionality is adequate for bandwidth-shifting within one technology,interconnecting technologies such as Ethernet and token ring is easier at layer 3.Devices that interconnect at layer 3 are traditionally called routers, so layer-3 switches can also be regarded as(relatively primitive) routers.Where there is a need for a great deal of analysis of network performance and security, switches may be connectedbetween WAN routers as places for analytic modules. Some vendors provide firewall,[2][3] network intrusiondetection,[4] and performance analysis modules that can plug into switch ports. Some of these functions may be oncombined modules.[5]

In other cases, the switch is used to create a mirror image of data that can go to an external device. Since most switchport mirroring provides only one mirrored stream, network hubs can be useful for fanning out data to severalread-only analyzers, such as intrusion detection systems and packet sniffers.

Layer-specific functionality

A modular network switch with three networkmodules (a total of 24 Ethernet and 14 Fast

Ethernet ports) and one power supply.

While switches may learn about topologies at many layers, andforward at one or more layers, they do tend to have common features.Other than for high-performance applications, modern commercialswitches use primarily Ethernet interfaces.At any layer, a modern switch may implement power over Ethernet(PoE), which avoids the need for attached devices, such as a VoIPphone or wireless access point, to have a separate power supply. Sinceswitches can have redundant power circuits connected touninterruptible power supplies, the connected device can continueoperating even when regular office power fails.

Layer 1(Hubs versus higher-layer switches)

A network hub, or repeater, is a simple network device. Hubs do notmanage any of the traffic that comes through them. Any packetentering a port is broadcast out or "repeated" on every other port,except for the port of entry. Since every packet is repeated on every other port, packet collisions affect the entirenetwork, limiting its capacity.

A switch creates the – originally mandatory – Layer 1 end-to-end connection only virtually. Its bridge functionselects which packets are forwarded to which port(s), removing the requirement that every node is presented all data.The connection lines are not "switched" literally, it only appears like this on the packet level. "Bridging hub" orpossibly "switching hub" would be more appropriate terms.There are specialized applications where a hub can be useful, such as copying traffic to multiple network sensors.High end switches have a feature which does the same thing called port mirroring.By the early 2000s, there was little price difference between a hub and a low-end switch.[6]

Page 6: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network switch 4

Layer 2A network bridge, operating at the data link layer, may interconnect a small number of devices in a home or theoffice. This is a trivial case of bridging, in which the bridge learns the MAC address of each connected device.Single bridges also can provide extremely high performance in specialized applications such as storage areanetworks.Classic bridges may also interconnect using a spanning tree protocol that disables links so that the resulting localarea network is a tree without loops. In contrast to routers, spanning tree bridges must have topologies with only oneactive path between two points. The older IEEE 802.1D spanning tree protocol could be quite slow, with forwardingstopping for 30 seconds while the spanning tree would reconverge. A Rapid Spanning Tree Protocol was introducedas IEEE 802.1w. The newest standard Shortest path bridging (IEEE 802.1aq) is the next logical progression andincorporates all the older Spanning Tree Protocols (IEEE 802.1D STP, IEEE 802.1w RSTP, IEEE 802.1s MSTP)that blocked traffic on all but one alternative path. IEEE 802.1aq (Shortest Path Bridging SPB) allows all paths to beactive with multiple equal cost paths, provides much larger layer 2 topologies (up to 16 million compared to the4096 VLANs limit)[7], faster convergence times, and improves the use of the mesh topologies through increasebandwidth and redundancy between all devices by allowing traffic to load share across all paths of a meshnetwork.[8][9][10][11]

While layer 2 switch remains more of a marketing term than a technical term, the products that were introduced as"switches" tended to use microsegmentation and Full duplex to prevent collisions among devices connected toEthernet. By using an internal forwarding plane much faster than any interface, they give the impression ofsimultaneous paths among multiple devices. 'Non-blocking' devices use a forwarding plane or equivalent method fastenough to allow full duplex traffic for each port simultaneously.Once a bridge learns the addresses of its connected nodes, it forwards data link layer frames using a layer 2forwarding method. There are four forwarding methods a bridge can use, of which the second through fourth methodwere performance-increasing methods when used on "switch" products with the same input and output portbandwidths:1. Store and forward: The switch buffers and verifies each frame before forwarding it.2. Cut through: The switch reads only up to the frame's hardware address before starting to forward it. Cut-through

switches have to fall back to store and forward if the outgoing port is busy at the time the packet arrives. There isno error checking with this method.

3. Fragment free: A method that attempts to retain the benefits of both store and forward and cut through. Fragmentfree checks the first 64 bytes of the frame, where addressing information is stored. According to Ethernetspecifications, collisions should be detected during the first 64 bytes of the frame, so frames that are in errorbecause of a collision will not be forwarded. This way the frame will always reach its intended destination. Errorchecking of the actual data in the packet is left for the end device.

4. Adaptive switching: A method of automatically selecting between the other three modes.While there are specialized applications, such as storage area networks, where the input and output interfaces are thesame bandwidth, this is not always the case in general LAN applications. In LANs, a switch used for end user accesstypically concentrates lower bandwidth and uplinks into a higher bandwidth.

Page 7: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network switch 5

Layer 3Within the confines of the Ethernet physical layer, a layer-3 switch can perform some or all of the functionsnormally performed by a router. The most common layer-3 capability is awareness of IP multicast through IGMPsnooping. With this awareness, a layer-3 switch can increase efficiency by delivering the traffic of a multicast grouponly to ports where the attached device has signaled that it wants to listen to that group.

Layer 4While the exact meaning of the term layer-4 switch is vendor-dependent, it almost always starts with a capability fornetwork address translation, but then adds some type of load distribution based on TCP sessions.[12]

The device may include a stateful firewall, a VPN concentrator, or be an IPSec security gateway.

Layer 7Layer-7 switches may distribute loads based on Uniform Resource Locator URL or by some installation-specifictechnique to recognize application-level transactions. A layer-7 switch may include a web cache and participate in acontent delivery network.[13]

Rack-mounted 24-port 3Com switch

Types of switches

Form factor

•• Desktop, not mounted in an enclosure, typically intended to be usedin a home or office environment outside of a wiring closet

• Rack mounted - A switch that mounts in an equipment rack• Chassis - with swappable module cards• DIN rail mounted - normally seen in industrial environments or

panels

Configuration options• Unmanaged switches — These switches have no configuration interface or options. They are plug and play. They

are typically the least expensive switches, found in home, SOHO, or small businesses. They can be desktop orrack mounted.

• Managed switches — These switches have one or more methods to modify the operation of the switch. Commonmanagement methods include: a command-line interface (CLI) accessed via serial console, telnet or Secure Shell,an embedded Simple Network Management Protocol (SNMP) agent allowing management from a remote consoleor management station, or a web interface for management from a web browser. Examples of configurationchanges that one can do from a managed switch include: enable features such as Spanning Tree Protocol, set portbandwidth, create or modify Virtual LANs (VLANs), etc. Two sub-classes of managed switches are marketedtoday:• Smart (or intelligent) switches — These are managed switches with a limited set of management features.

Likewise "web-managed" switches are switches which fall in a market niche between unmanaged andmanaged. For a price much lower than a fully managed switch they provide a web interface (and usually noCLI access) and allow configuration of basic settings, such as VLANs, port-bandwidth and duplex.[14]

• Enterprise Managed (or fully managed) switches — These have a full set of management features, including CLI, SNMP agent, and web interface. They may have additional features to manipulate configurations, such as the ability to display, modify, backup and restore configurations. Compared with smart switches, enterprise

Page 8: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network switch 6

switches have more features that can be customized or optimized, and are generally more expensive than smartswitches. Enterprise switches are typically found in networks with larger number of switches and connections,where centralized management is a significant savings in administrative time and effort. A stackable switch isa version of enterprise-managed switch.

Traffic monitoring on a switched network Unless port mirroring or other methods such as RMON, SMON or sFloware implemented in a switch,[15] it is difficult to monitor traffic that is bridged using a switch because only thesending and receiving ports can see the traffic. These monitoring features are rarely present on consumer-gradeswitches.Two popular methods that are specifically designed to allow a network analyst to monitor traffic are:• Port mirroring — the switch sends a copy of network packets to a monitoring network connection.• SMON — "Switch Monitoring" is described by RFC 2613 and is a protocol for controlling facilities such as port

mirroring.Another method to monitor may be to connect a layer-1 hub between the monitored device and its switch port. Thiswill induce minor delay, but will provide multiple interfaces that can be used to monitor the individual switch port.

Typical switch management features

Linksys 48-port switch

HP Procurve rack-mounted switches mounted ina standard Telco Rack 19-inch rack with network

cables

•• Turn particular port range on or off• Link bandwidth and duplex settings•• Priority settings for ports•• IP Management by IP Clustering.• MAC filtering and other types of "port security" features which

prevent MAC flooding• Use of Spanning Tree Protocol• SNMP monitoring of device and link health• Port mirroring (also known as: port monitoring, spanning port,

SPAN port, roving analysis port or link mode port)• Link aggregation (also known as bonding, trunking or teaming)•• VLAN settings• 802.1X network access control•• IGMP snoopingLink aggregation allows the use of multiple ports for the sameconnection achieving higher data transfer rates. Creating VLANs canserve security and performance goals by reducing the size of thebroadcast domain.

References[1] Robert J. Kohlhepp (2000-10-02). "The 10 Most Important Products of the Decade"

(http:/ / www. networkcomputing. com/ 1119/ 1119f1products_5. html). NetworkComputing. . Retrieved 2008-02-25.

[2] Cisco Catalyst 6500 Series Firewall Services Module (http:/ / cisco. com/ en/ US/products/ hw/ modules/ ps2706/ ps4452/ index. html), Cisco Systems,2007

[3] Switch 8800 Firewall Module (http:/ / www. 3com. com/ products/ en_US/ detail.jsp?tab=features& sku=3C17546& pathtype=purchase3Com), 3Com Corporation, 2006

[4] Cisco Catalyst 6500 Series Intrusion Detection System (IDSM-2) Module (http:/ / cisco. com/ en/ US/ products/ hw/ modules/ ps2706/ps5058/ index. html), Cisco Systems,2007

[5] Getting Started with Check Point Fire Wall-1 (http:/ / www. checkpoint. com/ support/ technical/ online_ug/ firewall-14. 0/ config. htm),Checkpoint Software Technologies Ltd., n.d.

Page 9: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network switch 7

[6] Matthew Glidden (October 2001). "Switches and Hubs" (http:/ / www. atpm. com/ 7. 10/ networking-1. shtml). About This ParticularMacintosh blog. . Retrieved June 9, 2011.

[7] Shuang Yu. "IEEE APPROVES NEW IEEE 802.1aq™ SHORTEST PATH BRIDGING STANDARD" (http:/ / standards. ieee. org/ news/2012/ 802. 1aq. html). IEEE Standards Association. . Retrieved 19 June 2012. "Using the IEEE’s next-generation VLAN, called a ServiceInterface Identifier (I-SID), it is capable of supporting 16 million unique services compared to the VLAN limit of four thousand."

[8] Peter Ashwood-Smith (24 Feb 2011). "Shortest Path Bridging IEEE 802.1aq Overview" (http:/ / meetings. apnic. net/ __data/ assets/ pdf_file/0012/ 32007/ APRICOT_SPB_Overview. pdf). Huawei. . Retrieved 11 May 2012.

[9] Jim Duffy (11 May 2012). "Largest Illinois healthcare system uproots Cisco to build $40M private cloud" (http:/ / www. pcadvisor. co. uk/news/ internet/ 3357242/ largest-illinois-healthcare-system-uproots-cisco-build-40m-private-cloud/ ). PC Advisor. . Retrieved 11 May 2012."Shortest Path Bridging will replace Spanning Tree in the Ethernet fabric."

[10] "IEEE Approves New IEEE 802.1aq Shortest Path Bridging Standard" (http:/ / www. techpowerup. com/ 165594/IEEE-Approves-New-IEEE-802. 1aq-Shortest-Path-Bridging-Standard. html). Tech Power Up. 7 May 2012. . Retrieved 11 May 2012.

[11] D. Fedyk, Ed.,; P. Ashwood-Smith, Ed.,; D. Allan, A. Bragg,; P. Unbehagen (April 2012). "IS-IS Extensions Supporting IEEE 802.1aq"(http:/ / www. ietf. org/ mail-archive/ web/ ietf-announce/ current/ msg10166. html). IETF. . Retrieved 12 May 2012.

[12] S. Sathaye (January 1999), The Ins and Outs of Layer 4+ Switching (http:/ / www. nanog. org/ mtg-9901/ ppt/ alteon/ alteon. ppt), NANOG15, , "It usually means one of two things: - 1. Layer 4 information is used to prioritize and queue traffic (routers have done this for years) - 2.Layer 4 information is used to direct application sessions to different servers (next generation load balancing)."

[13] How worried is too worried? Plus, a Global Crossing Story. (http:/ / www. irbs. net/ internet/ nanog/ 0110/ 0618. html), NANOG mailing listarchives, S. Gibbard,October 2001

[14] Tech specs for a sample HP "web-managed" switch (archived page from web.archive.org) (http:/ / web. archive. org/ web/ 20071213185114/http:/ / www. hp. com/ rnd/ products/ switches/ ProCurve_Switch_1800_Series/ specs. htm)

[15] Remote Network Monitoring Management Information Base (http:/ / www. ietf. org/ rfc/ rfc2819. txt), RFC 2819, S. Waldbusser,May 2000

External links• Five datacenter switches compared -- Network World, 2010 (http:/ / www. networkworld. com/ community/

node/ 62095)

Media access controlIn the seven-layer OSI model of computer networking, media access control (MAC) data communication protocolis a sublayer of the data link layer, which itself is layer 2. The MAC sublayer provides addressing and channel accesscontrol mechanisms that make it possible for several terminals or network nodes to communicate within a multipleaccess network that incorporates a shared medium, e.g. Ethernet. The hardware that implements the MAC is referredto as a medium access controller.The MAC sublayer acts as an interface between the logical link control (LLC) sublayer and the network's physicallayer. The MAC layer emulates a full-duplex logical communication channel in a multi-point network. This channelmay provide unicast, multicast or broadcast communication service.

Functions performed in the MAC sublayerAccording to 802.3-2002 section 4.1.4, the functions required of a MAC are:[1]

•• receive/transmit normal frames•• half-duplex retransmission and backoff functions• append/check FCS (frame check sequence)•• interframe gap enforcement•• discard malformed frames•• append(tx)/remove(rx) preamble, SFD, and padding•• half-duplex compatibility: append(tx)/remove(rx) MAC addressIn 100Mbit/s and faster MACs, the MAC address is not actually handled in the MAC layer. Doing so would make it impossible to implement IP because the ARP(Address Resolution Protocol) layer of IP-Ethernet needs access to the

Page 10: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Media access control 8

MAC address.

Addressing mechanismIn 100Mbit/s and faster Ethernet MACs, there is no required addressing mechanism. However, the MAC addressinherited from the original MAC layer specification is used in many higher level protocols such as Internet Protocol(IP) over Ethernet.The local network address used in IP-Ethernet is called MAC address because it historically was part of the MAClayer in early Ethernet implementations. The MAC layer's addressing mechanism is called physical address or MACaddress. A MAC address is a unique serial number. Once a MAC address has been assigned to a particular networkinterface (typically at time of manufacture), that device should be uniquely identifiable amongst all other networkdevices in the world. This guarantees that each device in a network will have a different MAC address (analogous toa street address). This makes it possible for data packets to be delivered to a destination within a subnetwork, i.e.hosts interconnected by some combination of repeaters, hubs, bridges and switches, but not by IP routers. Thus,when an IP packet reaches its destination (sub)network, the destination IP address (a layer 3 or network layerconcept) is resolved with the Address Resolution Protocol for IPv4, or by Neighbor Discovery Protocol (IPv6) intothe MAC address (a layer 2 concept) of the destination host.An example of a physical network is an Ethernet network, perhaps extended by wireless local area network (WLAN)access points and WLAN network adapters, since these share the same 48-bit MAC address hierarchy as Ethernet.A MAC layer is not required in full-duplex point-to-point communication, but address fields are included in somepoint-to-point protocols for compatibility reasons.

Channel access control mechanismThe channel access control mechanisms provided by the MAC layer are also known as a multiple access protocol.This makes it possible for several stations connected to the same physical medium to share it. Examples of sharedphysical media are bus networks, ring networks, hub networks, wireless networks and half-duplex point-to-pointlinks. The multiple access protocol may detect or avoid data packet collisions if a packet mode contention basedchannel access method is used, or reserve resources to establish a logical channel if a circuit switched orchannelization based channel access method is used. The channel access control mechanism relies on a physicallayer multiplex scheme.The most widespread multiple access protocol is the contention based CSMA/CD protocol used in Ethernetnetworks. This mechanism is only utilized within a network collision domain, for example an Ethernet bus networkor a hub-based star topology network. An Ethernet network may be divided into several collision domains,interconnected by bridges and switches.A multiple access protocol is not required in a switched full-duplex network, such as today's switched Ethernetnetworks, but is often available in the equipment for compatibility reasons.

Page 11: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Media access control 9

Common multiple access protocolsExamples of common packet mode multiple access protocols for wired multi-drop networks are:• CSMA/CD (used in Ethernet and IEEE 802.3)• Token bus (IEEE 802.4)• Token ring (IEEE 802.5)• Token passing (used in FDDI)Examples of common multiple access protocols that may be used in packet radio wireless networks are:• CSMA/CA (used in IEEE 802.11/WiFi WLANs)•• Slotted ALOHA•• Dynamic TDMA• Reservation ALOHA (R-ALOHA)• Mobile Slotted Aloha (MS-ALOHA)•• CDMA•• OFDMA

References[1][1] IEEE 802.3

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 andincorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

Packet switchingPacket switching is a digital networking communications method that groups all transmitted data – regardless ofcontent, type, or structure – into suitably sized blocks, called packets. Packet switching features delivery ofvariable-bit-rate data streams (sequences of packets) over a shared network. When traversing network adapters,switches, routers and other network nodes, packets are buffered and queued, resulting in variable delay andthroughput depending on the traffic load in the network.Packet switching contrasts with another principal networking paradigm, circuit switching, a method which sets up alimited number of dedicated connections of constant bit rate and constant delay between nodes for exclusive useduring the communication session. In case of traffic fees (as opposed to flat rate), for example in cellularcommunication services, circuit switching is characterized by a fee per time unit of connection time, even when nodata is transferred, while packet switching is characterized by a fee per unit of information.Two major packet switching modes exist; (1) connectionless packet switching, also known as datagram switching,and (2) connection-oriented packet switching, also known as virtual circuit switching. In the first case each packetincludes complete addressing or routing information. The packets are routed individually, sometimes resulting indifferent paths and out-of-order delivery. In the second case a connection is defined and preallocated in eachinvolved node during a connection phase before any packet is transferred. The packets include a connectionidentifier rather than address information, and are delivered in order. See below.Packet mode communication may be utilized with or without intermediate forwarding nodes (packet switches or routers). In all packet mode communication, network resources are managed by statistical multiplexing or dynamic bandwidth allocation in which a communication channel is effectively divided into an arbitrary number of logical variable-bit-rate channels or data streams. Statistical multiplexing, packet switching and other store-and-forward buffering introduces varying latency and throughput in the transmission. Each logical stream consists of a sequence of packets, which normally are forwarded by the multiplexers and intermediate network nodes asynchronously using

Page 12: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Packet switching 10

first-in, first-out buffering. Alternatively, the packets may be forwarded according to some scheduling discipline forfair queuing, traffic shaping or for differentiated or guaranteed quality of service, such as weighted fair queuing orleaky bucket. In case of a shared physical medium, the packets may be delivered according to some packet-modemultiple access scheme.

HistoryThe concept of switching small blocks of data was first explored by Paul Baran in the early 1960s. Independently,Donald Davies at the National Physical Laboratory (NPL) in the UK had developed the same ideas a few years later(Abbate, 2000).Leonard Kleinrock conducted early research in queueing theory which would be important in packet switching, andpublished a book in the related field of digital message switching (without the packets) in 1961; he also later playeda leading role in building and management of the world's first packet-switched network, the ARPANET.Baran developed the concept of message block switching during his research at the RAND Corporation for the USAir Force into survivable communications networks, first presented to the Air Force in the summer of 1961 asbriefing B-265[1] then published as RAND Paper P-2626 [2] in 1962 and then including and expanding somewhatwithin a series of eleven papers titled On Distributed Communications [3] in 1964. Baran's P-2626 paper described ageneral architecture for a large-scale, distributed, survivable communications network. The paper focuses on threekey ideas: first, use of a decentralized network with multiple paths between any two points; and second, dividingcomplete user messages into what he called message blocks (later called packets); then third, delivery of thesemessages by store and forward switching.Baran's study made its way to Robert Taylor and J.C.R. Licklider at the Information Processing Technology Office,both wide-area network evangelists, and it helped influence Lawrence Roberts to adopt the technology when Taylorput him in charge of development of the ARPANET.Baran's work was similar to the research performed independently by Donald Davies at the National PhysicalLaboratory, UK. In 1965, Davies developed the concept of packet-switched networks and proposed development ofa UK wide network. He gave a talk on the proposal in 1966, after which a person from the Ministry of Defence(MoD) told him about Baran's work. A member of Davies' team met Lawrence Roberts at the 1967 ACMSymposium on Operating System Principles, bringing the two groups together.Interestingly, Davies had chosen some of the same parameters for his original network design as Baran, such as apacket size of 1024 bits. In 1966 Davies proposed that a network should be built at the laboratory to serve the needsof NPL and prove the feasibility of packet switching. The NPL Data Communications Network entered service in1970. Roberts and the ARPANET team took the name "packet switching" itself from Davies's work.The first computer network and packet switching network deployed for computer resource sharing was the OctopusNetwork at the Lawrence Livermore National Laboratory that began connecting four Control Data 6600 computersto several shared storage devices (including an IBM 2321 Data Cell[4] in 1968 and an IBM Photostore[5] in 1970)and to several hundred Teletype Model 33 ASR terminals for time sharing use starting in 1968.[6]

In 1973 Vint Cerf and Bob Kahn wrote the specifications for Transmission Control Protocol (TCP), aninternetworking protocol for sharing resources using packet-switching among the nodes.

Page 13: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Packet switching 11

Connectionless and connection-oriented packet switchingThe service actually provided to the user by networks using packet switching nodes can be either connectionless(based on datagram messages), or virtual circuit switching (also known as connection oriented). Someconnectionless protocols are Ethernet, IP, and UDP; connection oriented packet-switching protocols include X.25,Frame relay, Multiprotocol Label Switching (MPLS), and TCP.In connection-oriented networks, each packet is labeled with a connection ID rather than an address. Addressinformation is only transferred to each node during a connection set-up phase, when the route to the destination isdiscovered and an entry is added to the switching table in each network node through which the connection passes.The signalling protocols used allow the application to specify its requirements and the network to specify whatcapacity etc. is available, and acceptable values for service parameters to be negotiated. Routing a packet is verysimple, as it just requires the node to look up the ID in the table. The packet header can be small, as it only needs tocontain the ID and any information (such as length, timestamp, or sequence number) which is different for differentpackets.In connectionless networks, each packet is labeled with a destination address, source address, and port numbers; itmay also be labeled with the sequence number of the packet. This precludes the need for a dedicated path to help thepacket find its way to its destination, but means that much more information is needed in the packet header, which istherefore larger, and this information needs to be looked up in power-hungry content-addressable memory. Eachpacket is dispatched and may go via different routes; potentially, the system has to do as much work for every packetas the connection-oriented system has to do in connection set-up, but with less information as to the application'srequirements. At the destination, the original message/data is reassembled in the correct order, based on the packetsequence number. Thus a virtual connection, also known as a virtual circuit or byte stream is provided to theend-user by a transport layer protocol, although intermediate network nodes only provides a connectionless networklayer service.

Packet switching in networksPacket switching is used to optimize the use of the channel capacity available in digital telecommunication networkssuch as computer networks, to minimize the transmission latency (the time it takes for data to pass across thenetwork), and to increase robustness of communication.The best-known use of packet switching is the Internet and most local area networks. The Internet is implemented bythe Internet Protocol Suite using a variety of Link Layer technologies. For example, Ethernet and Frame Relay arecommon. Newer mobile phone technologies (e.g., GPRS, I-mode) also use packet switching.X.25 is a notable use of packet switching in that, despite being based on packet switching methods, it providedvirtual circuits to the user. These virtual circuits carry variable-length packets. In 1978, X.25 provided the firstinternational and commercial packet switching network, the International Packet Switched Service (IPSS).Asynchronous Transfer Mode (ATM) also is a virtual circuit technology, which uses fixed-length cell relayconnection oriented packet switching.Datagram packet switching is also called connectionless networking because no connections are established.Technologies such as Multiprotocol Label Switching (MPLS) and the resource reservation protocol (RSVP) createvirtual circuits on top of datagram networks. Virtual circuits are especially useful in building robust failovermechanisms and allocating bandwidth for delay-sensitive applications.MPLS and its predecessors, as well as ATM, have been called "fast packet" technologies. MPLS, indeed, has beencalled "ATM without cells".[7] Modern routers, however, do not require these technologies to be able to forwardvariable-length packets at multigigabit speeds across the network.

Page 14: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Packet switching 12

X.25 vs. Frame Relay packet switchingBoth X.25 and Frame Relay provide connection-oriented packet switching, also known as virtual circuit switching.A major difference between X.25 and Frame Relay packet switching is that X.25 is a reliable protocol, based onnode-to-node automatic repeat request, while Frame Relay is a non-reliable protocol, maximum packet length is1000 bytes. Any retransmissions must be carried out by higher layer protocols. The X.25 protocol is a network layerprotocol, and is part of the X.25 protocol suite, also known as the OSI protocol suite. It was widely used in switchingnetworks during the 1980s and early 1990s, for example as an alternative to circuit mode terminal switching, and forautomated teller machines. Frame relay is a further development of X.25. The simplicity of Frame Relay made itconsiderably faster and more cost effective than X.25 packet switching. Frame relay is a data link layer protocol, anddoes not provide logical addresses and routing. It is only used for "semi-permanent" connections, while X.25connections also can be established for each communication session. Frame Relay was used to interconnect LANs orLAN segments, mainly in the 1990s by large companies that had a requirement to handle heavy telecommunicationstraffic across wide area networks.[8]:250 Despite the benefits of frame relay packet switching, many internationalcompanies are staying with the X.25 standard. In the United States, X.25 packet switching was used heavily ingovernment and financial networks that use mainframe applications. Many companies did not intend to cross over toFrame Relay packet switching because it is more cost effective to use X.25 on slower networks. In certain parts ofthe world, particularly in Asia-Pacific and South America regions, X.25 was the only technology available.[9]

References[1] Stewart, Bill (2000-01-07). "Paul Baran Invents Packet Switching" (http:/ / www. livinginternet. com/ i/ ii_rand. htm). Living Internet. .

Retrieved 2008-05-08.[2] http:/ / www. rand. org/ pubs/ papers/ P2626/[3] http:/ / www. rand. org/ pubs/ research_memoranda/ RM3420/ index. html[4] The IBM 2321 Data Cell Drive (http:/ / www. columbia. edu/ acis/ history/ datacell. html), Columbia University Computing History[5] The IBM 1360 Photostore (http:/ / www. computer-history. info/ Page4. dir/ pages/ Photostore. dir/ index. html), Lawrence Livermore

Laboratory Computing History[6] Mendicino, Samuel (1970-11-30). "Octopus: The Lawrence Radiation Laboratory Network" (http:/ / www. rogerdmoore. ca/ PS/ OCTOA/

OCTO. html). . Retrieved 2009-05-06.[7] Interview with the author (of an MPLS-based VPN article) (http:/ / www. certificationzone. com/ cisco/ newsletter/ SL/ interview_08-12-03.

html), G. Pildush[8] O’Brien, J. A. & Marakas, G. M. (2009). Management Information Systems (9th ed.). New York: McGraw-Hill/Irwin.[9][9] Girard, K. (1997, January). X.25 users remaining loyal despite frame-relay hype. Computerworld, 31(4), 16. Retrieved March 6, 2009, from

ABI/INFORM Global database. (Document ID: 10946641).

Bibliography• Leonard Kleinrock, Information Flow in Large Communication Nets (http:/ / www. lk. cs. ucla. edu/

bibliography-public_reports. html), (MIT, Cambridge, May 31, 1961) Proposal for a Ph.D. Thesis• Leonard Kleinrock. Information Flow in Large Communication Nets (RLE Quarterly Progress Report, July 1961)• Leonard Kleinrock. Communication Nets: Stochastic Message Flow and Delay (McGraw-Hill, New York, 1964)• Paul Baran et al., On Distributed Communications, Volumes I-XI (http:/ / www. rand. org/ about/ history/

baran-list. html) (RAND Corporation Research Documents, August, 1964)• Paul Baran, On Distributed Communications: I Introduction to Distributed Communications Network (http:/ /

www. rand. org/ publications/ RM/ RM3420/ ) (RAND Memorandum RM-3420-PR. August 1964)• Paul Baran, On Distributed Communications Networks (http:/ / www. cs. ucla. edu/ classes/ cs217/ Baran64. pdf),

(IEEE Transactions on Communications Systems, Vol. CS-12 No. 1, pp. 1-9, March 1964)• D. W. Davies, K. A. Bartlett, R. A. Scantlebury, and P. T. Wilkinson, A digital communications network for

computers giving rapid response at remote terminals (ACM Symposium on Operating Systems Principles.October 1967)

Page 15: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Packet switching 13

• R. A. Scantlebury, P. T. Wilkinson, and K. A. Bartlett, The design of a message switching Centre for a digitalcommunication network (IFIP 1968)

• Larry Roberts and Tom Merrill, Toward a Cooperative Network of Time-Shared Computers (http:/ / www. packet.cc/ files/ toward-coop-net. html) (Fall AFIPS Conference. October 1966)

• Lawrence Roberts, The Evolution of Packet Switching (http:/ / www. packet. cc/ files/ ev-packet-sw. html)(Proceedings of the IEEE, November, 1978)

Further reading• Katie Hafner, Where Wizards Stay Up Late (Simon and Schuster, 1996) pp 52–67• Janet Abbate, Inventing the Internet (MIT Press, 2000) ISBN 0-262-51115-0• Arthur Norberg, Judy E. O'Neill, Transforming Computer Technology: Information Processing for the Pentagon,

1962-1982 (Johns Hopkins University, 1996)

External links• Oral history interview with Paul Baran (http:/ / purl. umn. edu/ 107101). Charles Babbage Institute University of

Minnesota, Minneapolis. Baran describes his working environment at RAND, as well as his initial interest insurvivable communications, and the evolution, writing and distribution of his eleven-volume work, "OnDistributed Communications." Baran discusses his interaction with the group at ARPA who were responsible forthe later development of the ARPANET.

• Packet Switching History and Design (http:/ / www. livinginternet. com/ i/ iw_packet. htm), site reviewed byBaran, Roberts, and Kleinrock

• Paul Baran and the Origins of the Internet (http:/ / www. rand. org/ about/ history/ baran. html)• A Brief History of the Internet (http:/ / www. isoc. org/ internet/ history/ brief. shtml)This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 andincorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

Page 16: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

14

Principles

Transmission delayIn a network based on packet switching, transmission delay (or store-and-forward delay) is the amount of timerequired to push all of the packet's bits into the wire. In other words, this is the delay caused by the data-rate of thelink.Transmission delay is a function of the packet's length and has nothing to do with the distance between the twonodes. This delay is proportional to the packet's length in bits,It is given by the following formula:

whereis the transmission delay

N is the number of bits, andR is the rate of transmission (say in bits per second)

Most packet switched networks use store-and-forward transmission at the input of the link. A switch usingstore-and-forward transmission will receive (save) the entire packet to the buffer and check it for CRC errors or otherproblems before sending the first bit of the packet into the outbound link. Thus store-and-forward packet switchesintroduce a store-and-forward delay at the input to each link along the packet's route.

References• Computer Networking: A Top-Down Approach by Kurose and Ross

External links• Java Applet [1]

References[1] http:/ / media. pearsoncmg. com/ aw/ aw_kurose_network_2/ applets/ transmission/ delay. html

Page 17: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 15

Network congestionIn data networking and queueing theory, network congestion occurs when a link or node is carrying so much datathat its quality of service deteriorates. Typical effects include queueing delay, packet loss or the blocking of newconnections. A consequence of these latter two is that incremental increases in offered load lead either only to smallincreases in network throughput, or to an actual reduction in network throughput.Network protocols which use aggressive retransmissions to compensate for packet loss tend to keep systems in astate of network congestion even after the initial load has been reduced to a level which would not normally haveinduced network congestion. Thus, networks using these protocols can exhibit two stable states under the same levelof load. The stable state with low throughput is known as congestive collapse.Modern networks use congestion control and network congestion avoidance techniques to try to avoid congestioncollapse. These include: exponential backoff in protocols such as 802.11's CSMA/CA and the original Ethernet,window reduction in TCP, and fair queueing in devices such as routers. Another method to avoid the negative effectsof network congestion is implementing priority schemes, so that some packets are transmitted with higher prioritythan others. Priority schemes do not solve network congestion by themselves, but they help to alleviate the effects ofcongestion for some services. An example of this is 802.1p. A third method to avoid network congestion is theexplicit allocation of network resources to specific flows. One example of this is the use of Contention-FreeTransmission Opportunities (CFTXOPs) in the ITU-T G.hn standard, which provides high-speed (up to 1 Gbit/s)Local area networking over existing home wires (power lines, phone lines and coaxial cables).RFC 2914 addresses the subject of congestion control in detail.

Network capacityThe fundamental problem is that all network resources are limited, including router processing time and linkthroughput.For example:• Today's (2006) Wireless LAN effective bandwidth throughput (15-100Mbit/s) is easily filled by a single personal

computer.• Even on fast computer networks (e.g. 1 Gbit), the backbone can easily be congested by a few servers and client

PCs.• Because P2P scales very well, file transmissions by P2P have no problem filling and will fill an uplink or some

other network bottleneck, particularly when nearby peers are preferred over distant peers.• Denial of service attacks by botnets are capable of filling even the largest Internet backbone network links (40

Gbit/s as of 2007), generating large-scale network congestion.

Congestive collapseCongestive collapse (or congestion collapse) is a condition which a packet switched computer network can reach,when little or no useful communication is happening due to congestion. Congestion collapse generally occurs atchoke points in the network, where the total incoming traffic to a node exceeds the outgoing bandwidth. Connectionpoints between a local area network and a wide area network are the most likely choke points.When a network is in such a condition, it has settled (under overload) into a stable state where traffic demand is highbut little useful throughput is available, and there are high levels of packet delay and loss (caused by routersdiscarding packets because their output queues are too full) and general quality of service is extremely poor.

Page 18: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 16

HistoryCongestion collapse was identified as a possible problem as far back as 1984 (RFC 896, dated 6 January). It was firstobserved on the early Internet in October 1986, when the NSFnet phase-I backbone dropped three orders ofmagnitude from its capacity of 32 kbit/s to 40 bit/s, and this continued to occur until end nodes started implementingVan Jacobson's congestion control between 1987 and 1988.

CauseWhen more packets were sent than could be handled by intermediate routers, the intermediate routers discardedmany packets, expecting the end points of the network to retransmit the information. However, early TCPimplementations had very bad retransmission behavior. When this packet loss occurred, the end points sent extrapackets that repeated the information lost, doubling the data rate sent, exactly the opposite of what should be doneduring congestion. This pushed the entire network into a 'congestion collapse' where most packets were lost and theresultant throughput was negligible.

Congestion controlCongestion control concerns controlling traffic entry into a telecommunications network, so as to avoid congestivecollapse by attempting to avoid oversubscription of any of the processing or link capabilities of the intermediatenodes and networks and taking resource reducing steps, such as reducing the rate of sending packets. It should not beconfused with flow control, which prevents the sender from overwhelming the receiver.

Theory of congestion controlThe modern theory of congestion control was pioneered by Frank Kelly, who applied microeconomic theory andconvex optimization theory to describe how individuals controlling their own rates can interact to achieve an"optimal" network-wide rate allocation.Examples of "optimal" rate allocation are max-min fair allocation and Kelly's suggestion of proportional fairallocation, although many others are possible.The mathematical expression for optimal rate allocation is as follows. Let be the rate of flow , be thecapacity of link , and be 1 if flow uses link and 0 otherwise. Let , and be the correspondingvectors and matrix. Let be an increasing, strictly convex function, called the utility, which measures howmuch benefit a user obtains by transmitting at rate . The optimal rate allocation then satisfies

such that The Lagrange dual of this problem decouples, so that each flow sets its own rate, based only on a "price" signalledby the network. Each link capacity imposes a constraint, which gives rise to a Lagrange multiplier, . The sum ofthese Lagrange multipliers, is the price to which the flow responds.

Congestion control then becomes a distributed optimisation algorithm for solving the above problem. Many currentcongestion control algorithms can be modelled in this framework, with being either the loss probability or thequeueing delay at link .A major weakness of this model is that it assumes all flows observe the same price, while sliding window flowcontrol causes "burstiness" which causes different flows to observe different loss or delay at a given link.

Page 19: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 17

Classification of congestion control algorithmsThere are many ways to classify congestion control algorithms:•• By the type and amount of feedback received from the network: Loss; delay; single-bit or multi-bit explicit

signals•• By incremental deployability on the current Internet: Only sender needs modification; sender and receiver need

modification; only router needs modification; sender, receiver and routers need modification.•• By the aspect of performance it aims to improve: high bandwidth-delay product networks; lossy links; fairness;

advantage to short flows; variable-rate links•• By the fairness criterion it uses: max-min, proportional, "minimum potential delay"

AvoidanceThe prevention of network congestion and collapse requires two major components:1. A mechanism in routers to reorder or drop packets under overload,2.2. End-to-end flow control mechanisms designed into the end points which respond to congestion and behave

appropriately.The correct end point behaviour is usually still to repeat dropped information, but progressively slow the rate thatinformation is repeated. Provided all end points do this, the congestion lifts and good use of the network occurs, andthe end points all get a fair share of the available bandwidth. Other strategies such as slow-start ensure that newconnections don't overwhelm the router before the congestion detection can kick in.The most common router mechanisms used to prevent congestive collapses are fair queueing and other schedulingalgorithms, and random early detection, or RED, where packets are randomly dropped proactively triggering the endpoints to slow transmission before congestion collapse actually occurs. Fair queueing is most useful in routers atchoke points with a small number of connections passing through them. Larger routers must rely on RED.Some end-to-end protocols are better behaved under congested conditions than others. TCP is perhaps the bestbehaved. The first TCP implementations to handle congestion well were developed in 1984, but it was not until VanJacobson's inclusion of an open source solution in the Berkeley Standard Distribution UNIX ("BSD") in 1988 thatgood TCP implementations became widespread.UDP does not, in itself, have any congestion control mechanism. Protocols built atop UDP must handle congestionin their own way. Protocols atop UDP which transmit at a fixed rate, independent of congestion, can be troublesome.Real-time streaming protocols, including many Voice over IP protocols, have this property. Thus, special measures,such as quality-of-service routing, must be taken to keep packets from being dropped from streams.In general, congestion in pure datagram networks must be kept out at the periphery of the network, where themechanisms described above can handle it. Congestion in the Internet backbone is very difficult to deal with.Fortunately, cheap fiber-optic lines have reduced costs in the Internet backbone. The backbone can thus beprovisioned with enough bandwidth to keep congestion at the periphery.

Page 20: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 18

Practical network congestion avoidanceImplementations of connection-oriented protocols, such as the widely-used TCP protocol, generally watch for packeterrors, losses, or delays (see Quality of Service) in order to adjust the transmit speed. There are many differentnetwork congestion avoidance processes, since there are a number of different trade-offs available. [1]

TCP/IP congestion avoidance

The TCP congestion avoidance algorithm is the primary basis for congestion control in the Internet. [2] [3] [4] [5] [6]

Problems occur when many concurrent TCP flows are experiencing port queue buffer tail-drops. Then TCP'sautomatic congestion avoidance is not enough. All flows that experience port queue buffer tail-drop will begin aTCP retrain at the same moment - this is called TCP global synchronization.

Active Queue Management (AQM)

Random early detection

One solution is to use random early detection (RED) on the network equipment's port queue buffer. [7] [8] Onnetwork equipment ports with more than one queue buffer, weighted random early detection (WRED) could be usedif available.RED indirectly signals to sender and receiver by deleting some packets, e.g. when the average queue buffer lengthsare more than e.g. 50% (lower threshold) filled and deletes linearly more or (better according to paper) cubical morepackets, [9] up to e.g. 100% (higher threshold). The average queue buffer lengths are computed over 1 second at atime.

Robust random early detection (RRED)

Robust Random Early Detection (RRED) algorithm was proposed to improve the TCP throughput againstDenial-of-Service (DoS) attacks, particularly Low-rate Deinal-of-Service (LDoS) attacks. Experiments haveconfirmed that the existing RED-like algorithms are notably vulnerable under Low-rate Denial-of-Service [10]

(LDoS) attacks due to the oscillating TCP queue size caused by the attacks.[11] RRED algorithm can significantlyimprove the performance of TCP under Low-rate Denial-of-Service attacks.[11]

Recent Publications in low-rate Denial-of-Service (DoS) attacks [12]

Flowbased-RED/WRED

Some network equipment are equipped with ports that can follow and measure each flow (flowbased-RED/WRED)and are hereby able to signal to a too big bandwidth flow according to some QoS policy. A policy could divide thebandwidth among all flows by some criteria.

IP ECN

Another approach is to use IP ECN.[13] ECN is only used when the two hosts signal that they want to use it. Withthis method, an ECN bit is used to signal that there is explicit congestion. This is better than the indirect packetdelete congestion notification performed by the RED/WRED algorithms, but it requires explicit support by bothhosts to be effective. [14] Some outdated or buggy network equipment drops packets with the ECN bit set, rather thanignoring the bit. More information on the status of ECN including the version required for Cisco IOS, by SallyFloyd,[7] one of the authors of ECN.When a router receives a packet marked as ECN capable and anticipates (using RED) congestion, it will set anECN-flag notifying the sender of congestion. The sender then ought to decrease its transmission bandwidth; e.g. bydecreasing the tcp window size (sending rate) or by other means.

Page 21: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 19

Cisco AQM: Dynamic buffer limiting (DBL)

Cisco has taken a step further in their Catalyst 4000 series with engine IV and V. Engine IV and V has the possibilityto classify all flows in "aggressive" (bad) and "adaptive" (good). It ensures that no flows fill the port queues for along time. DBL can utilize IP ECN instead of packet-delete-signalling. [15] [16]

TCP Window Shaping

Congestion avoidance can also efficiently be achieved by reducing the amount of traffic flowing into a network.When an application requests a large file, graphic or web page, it usually advertises a "window" of between 32K and64K. This results in the server sending a full window of data (assuming the file is larger than the window). Whenthere are many applications simultaneously requesting downloads, this data creates a congestion point at an upstreamprovider by flooding the queue much faster than it can be emptied. By using a device to reduce the windowadvertisement, the remote servers will send less data, thus reducing the congestion and allowing traffic to flow morefreely. This technique can reduce congestion in a network by a factor of 40.

Side effects of congestive collapse avoidance

Radio links

The protocols that avoid congestive collapse are often based on the idea that data loss on the Internet is caused bycongestion. This is true in nearly all cases; errors during transmission are rare on today's fiber based Internet.However, this causes WiFi, 3G or other networks with a radio layer to have poor throughput in some cases sincewireless networks are susceptible to data loss due to interference. The TCP connections running over a radio basedphysical layer see the data loss and tend to believe that congestion is occurring when it isn't and erroneously reducethe data rate sent.

Short-lived connections

The slow-start protocol performs badly for short-lived connections. Older web browsers would create manyconsecutive short-lived connections to the web server, and would open and close the connection for each filerequested. This kept most connections in the slow start mode, which resulted in poor response time.To avoid this problem, modern browsers either open multiple connections simultaneously or reuse one connectionfor all files requested from a particular web server. However, the initial performance can be poor, and manyconnections never get out of the slow-start regime, significantly increasing latency.

References[1] TCP Tunnels: Avoiding Congestion Collapse (2000) (http:/ / citeseer. ist. psu. edu/ lee00tcp. html)[2] Van Jacobson, Michael J. Karels. Congestion Avoidance and Control (http:/ / citeseer. ist. psu. edu/ 484335. html) (1988). Proceedings of the

Sigcomm '88 Symposium, vol.18(4): pp.314–329. Stanford, CA. August, 1988. This paper originated many of the congestion avoidancealgorithms used in TCP/IP.

[3][3] RFC 2001 - TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms[4][4] RFC 2581 - TCP Congestion Control[5][5] RFC 3390 - TCP Increasing TCP's Initial Window[6] TCP Congestion Avoidance Explained via a Sequence Diagram (http:/ / www. eventhelix. com/ RealtimeMantra/ Networking/

TCP_Congestion_Avoidance. pdf)[7] Sally Floyd: RED (Random Early Detection) Queue Management (http:/ / www. icir. org/ floyd/ red. html)[8] Sally Floyd, Van Jacobson. Random Early Detection Gateways for Congestion Avoidance (http:/ / citeseer. ist. psu. edu/ 462978. html)

(1993). IEEE/ACM Transactions on Networking, vol.1(4): pp.397–413. Invented Random Early Detection (RED) gateways.[9] An Analytical RED Function Design Guaranteeing Stable System Behavior (http:/ / www. ist-mobydick. org/ publications/ aqm_iscc2003.

pdf) Quote: "...The advantage of this function lies not only in avoiding heavy oscillations but also in avoiding link under-utilization at lowloads. The applicability of the derived function is independent of the load range, no parameters are to be adjusted. Compared to the originallinear drop function applicability is extended by far...Our example with realistic system parameters gives an approximation function of thecubic of the queue size..."

Page 22: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network congestion 20

[10] http:/ / sites. google. com/ site/ cwzhangres/ home/ files/ RREDRobustREDAlgorithmtoCounterLow-rateDenial-of-ServiceAttacks.pdf?attredirects=0

[11] Changwang Zhang, Jianping Yin, Zhiping Cai, and Weifeng Chen, RRED: Robust RED Algorithm to Counter Low-rate Denial-of-ServiceAttacks (http:/ / sites. google. com/ site/ cwzhangres/ home/ files/ RREDRobustREDAlgorithmtoCounterLow-rateDenial-of-ServiceAttacks.pdf?attredirects=0), IEEE Communications Letters, vol. 14, pp. 489-491, 2010. Ref (http:/ / ieeexplore. ieee. org/ xpl/ freeabs_all.jsp?arnumber=5456075)

[12] http:/ / sites. google. com/ site/ cwzhangres/ home/ posts/ recentpublicationsinlow-ratedosattacks[13][13] RFC 3168 - The Addition of Explicit Congestion Notification (ECN) to IP[14] Comparative study of RED, ECN and TCP Rate Control (1999) (http:/ / citeseer. ist. psu. edu/ bagal99comparative. html)[15] Active Queue Management (http:/ / www. cisco. com/ univercd/ cc/ td/ doc/ product/ lan/ cat4000/ 12_1_19/ config/ qos. htm#1271743)[16] Enabling Dynamic Buffer Limiting (http:/ / www. cisco. com/ univercd/ cc/ td/ doc/ product/ lan/ cat4000/ 12_1_19/ config/ qos.

htm#1271759)

•• "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils(Morgan Kaufmann, 2007, ISBN 0-12-370549-5)

• RFC 2914 (http:/ / tools. ietf. org/ html/ rfc2914) - Congestion Control Principles, Sally Floyd, September, 2000• RFC 896 (http:/ / tools. ietf. org/ html/ rfc896) - "Congestion Control in IP/TCP", John Nagle, 6 January 1984• Introduction to Congestion Avoidance and Control (http:/ / ee. lbl. gov/ papers/ congavoid. pdf), Van Jacobson

and Michael J. Karels, November, 1988

Books•• "Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice" by John Evans, Clarence Filsfils

(Morgan Kaufmann, 2007, ISBN 0-12-370549-5)

External links• Nagle, J. RFC 896: Congestion control in IP/TCP internetworks (1984)• Floyd, S. RFC 2914: Congestion control principles (2000)• Floyd, S. and K. Fall, Promoting the Use of End-to-End Congestion Control in the Internet (http:/ / www. aciri.

org/ floyd/ end2end-paper. html) (IEEE/ACM Transactions on Networking, August 1999)• Sally Floyd, On the Evolution of End-to-end Congestion Control in the Internet: An Idiosyncratic View (http:/ /

www. ima. umn. edu/ talks/ workshops/ 10-22-24. 99/ floyd/ floyd. pdf) (IMA Workshop on Scaling Phenomenain Communication Networks, October 1999) (pdf format)

• Linktionary term: Queuing (http:/ / www. linktionary. com/ q/ queuing. html)• Pierre-Francois Quet, Sriram Chellappan, Arjan Durresi, Mukundan Sridharan, Hitay Ozbay, Raj Jain, "

Guidelines for optimizing Multi-Level ECN, using fluid flow based TCP model" (http:/ / www. cse. wustl. edu/~jain/ papers. html)

• Sally Floyd, Ratul Mahajan, David Wetherall: RED-PD: RED with Preferential Dropping (http:/ / www. cs.washington. edu/ homes/ ratul/ red-pd/ )

• A Generic Simple RED Simulator for educational purposes by Mehmet Suzen (http:/ / code. google. com/ p/guduz/ )

• Approaches to Congestion Control in Packet Networks (http:/ / utopia. duth. gr/ ~emamatas/ jie2007. pdf)• Papers in Congestion Control (http:/ / www. ecse. rpi. edu/ Homepages/ shivkuma/ research/ cong-papers. html)• Random Early Detection Homepage (http:/ / www. icir. org/ floyd/ red. html)• Explicit Congestion Notification Homepage (http:/ / www. icir. org/ floyd/ ecn. html)• TFRC Homepage (http:/ / www. icir. org/ tfrc/ )• AIMD-FC Homepage (http:/ / www. ccs. neu. edu/ home/ ladrian/ abstract/ aimdfc. html)• TCP congestion control simulation: Fast recovery (http:/ / www. visualland. net/ tcp_histrory.

php?simu=tcp_fast_recovery& protocol=TCP& title=5. Fast recovery& ctype=1)

Page 23: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Taxonomy of congestion control 21

Taxonomy of congestion controlTaxonomy of congestion control refers to grouping TCP congestion avoidance algorithms according to theircharacteristics.

Example classificationThe following is one possible classification according to the following properties:1.1. The type and amount of feedback received from the network: Loss (L); delay (D); single-bit (S) or multi-bit (M)

explicit signals2.2. Incremental deployability on the current Internet: Sender needs modification (S); receiver needs modification (R);

routers/gateways need modification (G)3. The aspect of performance it aims to improve: high bandwidth-delay product networks (B); lossy links (L);

fairness (F); advantage to short flows (S); variable-rate links (V); speed of convergence (C)4.4. The fairness criterion it uses: max-min (M), proportional (P), "minimum potential delay" (D), Other (O)Some well-known congestion avoidance mechanisms are classified by this scheme as follows:

Variant Feedback Changes Benefits Fairness

(New)Reno L - - D

Vegas D S Less loss P

High Speed L S B O

BIC L S B O

CUBIC L S B O

H-TCP L S B O

FAST D S B P

Compound TCP L/D S B P

Westwood L/D S L O

Jersey L/D S L O

CLAMP M G/R V M

TFRC L S/R No Retransmission D

XCP M S/G/R BLFC M

VCP M(2 bits) S/G/R BLF P

MaxNet M S/G/R BLFSC M

JetMax M S/G/R B M

RED L G Smaller delay ?

ECN S S/G/R Less loss ?

Page 24: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Taxonomy of congestion control 22

Classification by network awarenessCongestion control algorithms can be categorized using network awareness as a criterion [1]. The first category (”thebox is black”) consists of a group of algorithms that consider the network as a black box, assuming no knowledge ofits state, other than the binary feedback upon congestion. The second category (”the box is grey”) groups approachesthat use measurements to estimate available bandwidth, level of contention or even the temporary characteristics ofcongestion. Due to the possibility of wrong estimations and measurements, the network is considered a grey box.The third category (”the box is green”) contains the bimodal congestion control, which calculates explicitly thefairshare, as well as the network-assisted control, where the network communicates its state to the transport layer; thebox now is becoming green.

The Box is Black: Blind Congestion ControlThe Additive Increase Multiplicative Decrease (AIMD) algorithm is used to implement TCP window adjustments;based on the analysis of Chiu and Jain the algorithm achieves stability and converges to fairness in situations wherethe demand (of competing flows) exceeds the channel’s bandwidth. The congestion control in the traditional TCP, isbased on the basic idea of AIMD. In TCP-Tahoe, TCP-NewReno and TCP-Sack, the additive increase phase isadopted exactly as in AIMD, when the protocols are in the congestion avoidance phase. In case of a packet drop,instead of the multiplicative decrease a more conservative tactic is used in TCP-Tahoe. The congestion windowresets and the protocol enters again the slow-start phase. On the other hand, in TCP-NewReno and TCP-Sack, whenthe sender receives 3 DACKs, a multiplicative decrease is used in both window and slow-start threshold. In suchcase, the protocols remain at the Congestion Avoidance phase. When the retransmission timeout expires, they enterthe slow-start phase as in TCP-Tahoe.• Highspeed-TCP -- Highspeed-TCP modifies the TCP response function in environments with large

Delay-Bandwidth product and increase the congestion window more aggressively upon receiving an ACK anddecreases the window more gently upon a loss event.

• BIC-TCP -- Binary Increase Congestion Control Protocol (BIC-TCP) uses a concave increase of the sources rateafter each congestion event until the window is equal to that before the event, in order to maximise the time thatthe network is fully utilised. After that, it probes aggressively.

• CUBIC TCP -- CUBIC is a less aggressive and more systematic derivative of BIC, in which the window is acubic function of time since the last congestion event, with the inflection point set to the window prior to theevent.

• AIMD-FC -- A recent improvement of AIMD, Additive Increase Multiplicative Decrease with Fast Convergence(AIMD-FC) is not based on a new algorithm, but rather on an optimization of AIMD during the convergenceprocedure that enables the algorithm to converge faster and achieve higher efficiency.

• Binomial Mechanisms -- Binomial Mechanisms form a new class of nonlinear congestion control algorithmsnamed Binomial Congestion Control Algorithms. These algorithms are called binomial because their control isbased on the involvement of two additional algebraic terms with different exponents.

• SIMD Protocol -- SIMD is a TCP-friendly nonlinear congestion control algorithm that utilizes historyinformation.

• GAIMD -- General AIMD Congestion Control (GAIMD) generalizes AIMD congestion control byparameterizing the additive increase value α and multiplicative decrease ratio β.

Page 25: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Taxonomy of congestion control 23

The Box is Grey: Measurement-based Congestion ControlStandard TCP relies on packet losses as an implicit congestion signal from overloaded links. However, packet loss isnot a sufficient indication of congestion, in its own right, for a number of reasons: 1) Packet loss can be caused byrandom bit corruption when bandwidth is still available. 2) Acknowledgement-based loss detection at the sender sidecan be affected by the cross-traffic on the reverse path. 3) Packet loss, as a binary feedback, cannot indicate the levelof contention before the occurrence of congestion. Therefore, an efficient window adjustment tactic should reflectvarious network conditions, which cannot all be captured simply by packet drops. Several measurement-basedtransport protocols gather information on current network conditions.• TCP Vegas -- Vegas estimates the queueing delay, and linearly increases or decreases the window so that a

constant number of packets per flow are queued in the network. Vegas implements proportional fairness.• FAST TCP -- FAST achieves the same equilibrium as Vegas, but uses proportional control instead of linear

increase, and intentionally scales the gain down as the bandwidth increases with the aim of ensuring stability.• TCP-Westwood -- In TCP-Westwood (TCPW), a loss causes the window to be reset to the sender's estimate of

the bandwidth-delay product, which is the smallest measured RTT times the observed rate of receiving ACKs.• TFRC -- TFRC is a TCP-Friendly, rate-based congestion control protocol, which intends to compete fairly for

bandwidth with TCP flows.• TCP-Real -- TCP-Real employs a receiver-oriented and measurement-based congestion control mechanism that

improves TCP performance over heterogeneous (wired/wireless) networks and over asymmetric paths.• TCP-Jersey -- TCP-Jersey is a new TCP scheme that focuses on the capability of the transport mechanism to

distinguish the wireless from congestion packet losses.

The Box is Green• Bimodal Mechanism -- Bimodal Congestion Avoidance and Control mechanism measures the fair-share of the

total bandwidth that should be allocated for each flow, at any point, during the system’s execution.•• Signalling methods implemented by routers

• Random Early Detection -- Random Early Detection (RED) randomly drops packets in proportion to therouter's queue size, triggering multiplicative decrease in some flows.

• Explicit Congestion Notification -- Explicit Congestion Notification (ECN) enables routers to probabilisticallymark a bit in the IP header, rather than drop the packet, to inform end-hosts of pending congestion when thelength of the queue exceeds a threshold.

•• Network-Assisted Congestion Control• VCP -- The variable-structure congestion control protocol (VCP) uses 2 ECN bits to explicitly feedback the

network state of congestion. It includes an end host side algorithm as well.The following algorithms require custom fields to be added to the TCP packet structure.

• eXplicit Control Protocol (XCP) -- XCP routers signal explicit increase and decreases in the senders'congestion windows.

• MaxNet -- MaxNet uses a single header field, which carries the maximum congetsion level of any router on aflow's path. The rate is set as a function of this maximum congestion, resulting in max-min fairness.

• JetMax -- JetMax, like MaxNet, also responds only to the maximum congestion signal, but also carries otheroverhead fields

Page 26: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Taxonomy of congestion control 24

External links• Approaches to Congestion Control in Packet Networks [1]

• Papers in Congestion Control [2]

• TCP Vegas Homepage [3]

• Random Early Detection Homepage [4]

• Explicit Congestion Notification Homepage [5]

• AIMD-FC Homepage [6]

• TCP-Westwood Homepage [7]

• Highspeed-TCP Homepage [8]

• BIC-TCP [9]

• TFRC Homepage [10]

• MaxNet Homepage [11]

References[1] http:/ / utopia. duth. gr/ ~emamatas/ jie2007. pdf[2] http:/ / www. shivkumar. org/ research/ cong-papers. html[3] http:/ / www. cs. arizona. edu/ projects/ protocols/[4] http:/ / www. icir. org/ floyd/ red. html[5] http:/ / www. icir. org/ floyd/ ecn. html[6] http:/ / www. ccs. neu. edu/ home/ ladrian/ abstract/ aimdfc. html[7] http:/ / www. cs. ucla. edu/ NRL/ hpi/ tcpw/[8] http:/ / www. icir. org/ floyd/ hstcp. html[9] http:/ / www. csc. ncsu. edu/ faculty/ rhee/ export/ bitcp/[10] http:/ / www. icir. org/ tfrc/[11] http:/ / netlab. caltech. edu/ maxnet/

Page 27: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

TCP congestion avoidance algorithm 25

TCP congestion avoidance algorithmTransmission Control Protocol (TCP) uses a network congestion avoidance algorithm that includes various aspectsof an additive increase/multiplicative decrease (AIMD) scheme, with other schemes such as slow-start in order toachieve congestion avoidance.The TCP congestion avoidance algorithm is the primary basis for congestion control in the Internet.[1][2][3][4][5]

Naming historyTwo such variations are those offered by TCP Tahoe and Reno. The two algorithms were retrospectively named afterthe 4.3BSD operating system in which each first appeared (which were themselves named after Lake Tahoe and thecity of Reno, Nevada). The “Tahoe” algorithm first appeared in 4.3BSD-Tahoe (which was made to support the CCIPower 6/32 “Tahoe” minicomputer), and was made available to non-AT&T licensees as part of the “4.3BSDNetworking Release 1”; this ensured its wide distribution and implementation. Improvements, described below, weremade in 4.3BSD-Reno and subsequently released to the public as “Networking Release 2” and later 4.4BSD-Lite.The “TCP Foo” names for the algorithms appear to have originated in a 1996 paper by Kevin Fall and Sally Floyd.[6]

TCP Tahoe and RenoTo avoid congestion collapse, TCP uses a multi-faceted congestion control strategy. For each connection, TCPmaintains a congestion window, limiting the total number of unacknowledged packets that may be in transitend-to-end. This is somewhat analogous to TCP's sliding window used for flow control. TCP uses a mechanismcalled slow start[7] to increase the congestion window after a connection is initialized and after a timeout. It startswith a window of two times the maximum segment size (MSS). Although the initial rate is low, the rate of increaseis very rapid: for every packet acknowledged, the congestion window increases by 1 MSS so that the congestionwindow effectively doubles for every round trip time (RTT). When the congestion window exceeds a thresholdssthresh the algorithm enters a new state, called congestion avoidance. In some implementations (e.g., Linux), theinitial ssthresh is large, and so the first slow start usually ends after a loss. However, ssthresh is updated at the end ofeach slow start, and will often affect subsequent slow starts triggered by timeouts.Congestion avoidance: As long as non-duplicate ACKs are received, the congestion window is additively increasedby one MSS every round trip time. When a packet is lost, the likelihood of duplicate ACKs being received is veryhigh (it's possible though unlikely that the stream just underwent extreme packet reordering, which would alsoprompt duplicate ACKs). The behavior of Tahoe and Reno differ in how they detect and react to packet loss:• Tahoe: Triple duplicate ACKS are treated the same as a timeout. Tahoe will perform "fast retransmit", reduce

congestion window to 1 MSS, and reset to slow-start state.[8]

• Reno: If three duplicate ACKs are received (i.e., four ACKs acknowledging the same packet, which are notpiggybacked on data, and do not change the receiver's advertised window), Reno will halve the congestionwindow, perform a fast retransmit, and enter a phase called Fast Recovery. If an ACK times out, slow start is usedas it is with Tahoe.[8]

Fast Recovery. (Reno Only) In this state, TCP retransmits the missing packet that was signaled by three duplicateACKs, and waits for an acknowledgment of the entire transmit window before returning to congestion avoidance. Ifthere is no acknowledgment, TCP Reno experiences a timeout and enters the slow-start state.Both algorithms reduce congestion window to 1 MSS on a timeout event.

Page 28: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

TCP congestion avoidance algorithm 26

TCP VegasUntil the mid 1990s, all of TCP's set timeouts and measured round-trip delays were based upon only the lasttransmitted packet in the transmit buffer. University of Arizona researchers Larry Peterson and Lawrence Brakmointroduced TCP Vegas, in which timeouts were set and round-trip delays were measured for every packet in thetransmit buffer. In addition, TCP Vegas uses additive increases in the congestion window. This variant was notwidely deployed outside Peterson's laboratory. In a comparison study of various TCP congestion control algorithms,TCP Vegas appeared to be the smoothest followed by TCP CUBIC[9].However, TCP Vegas was deployed as default congestion control method for DD-WRT firmwares v24 SP2.[10]

TCP New RenoTCP New Reno, defined by RFC 3782,[11] improves retransmission during the fast recovery phase of TCP Reno.During fast recovery, for every duplicate ACK that is returned to TCP New Reno, a new unsent packet from the endof the congestion window is sent, to keep the transmit window full. For every ACK that makes partial progress in thesequence space, the sender assumes that the ACK points to a new hole, and the next packet beyond the ACKedsequence number is sent.Because the timeout timer is reset whenever there is progress in the transmit buffer, this allows New Reno to filllarge holes, or multiple holes, in the sequence space - much like TCP SACK. Because New Reno can send newpackets at the end of the congestion window during fast recovery, high throughput is maintained during thehole-filling process, even when there are multiple holes, of multiple packets each. When TCP enters fast recovery itrecords the highest outstanding unacknowledged packet sequence number. When this sequence number isacknowledged, TCP returns to the congestion avoidance state.A problem occurs with New Reno when there are no packet losses but instead, packets are reordered by more than 3packet sequence numbers. When this happens, New Reno mistakenly enters fast recovery, but when the reorderedpacket is delivered, ACK sequence-number progress occurs and from there until the end of fast recovery, every bit ofsequence-number progress produces a duplicate and needless retransmission that is immediately ACKed.New Reno performs as well as SACK at low packet error rates, and substantially outperforms Reno at high errorrates.

TCP HyblaTCP Hybla[12] aims to eliminate penalization of TCP connections that incorporate a high-latency terrestrial orsatellite radio link, due to their longer round trip times. It stems from an analytical evaluation of the congestionwindow dynamics, which suggests the necessary modifications to remove the performance dependence on RTT.

TCP BICBinary Increase Congestion control is an implementation of TCP with an optimized congestion control algorithm forhigh speed networks with high latency (called LFN, long fat networks, in RFC 1072[13]). BIC is used by default inLinux kernels 2.6.8 through 2.6.18.

Page 29: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

TCP congestion avoidance algorithm 27

TCP CUBICCUBIC is a less aggressive and more systematic derivative of BIC, in which the window is a cubic function of timesince the last congestion event, with the inflection point set to the window prior to the event. CUBIC is used bydefault in Linux kernels since version 2.6.19.

Compound TCPCompound TCP is a Microsoft implementation of TCP which maintains two different congestion windowssimultaneously, with the goal of achieving good performance on LFNs while not impairing fairness. It has beenwidely deployed with Microsoft Windows Vista and Windows Server 2008 and has been ported to older MicrosoftWindows versions as well as Linux.

Other TCP congestion avoidance algorithms•• FAST TCP•• H-TCP•• Data Center TCP•• High Speed TCP• HSTCP-LP[14]

•• TCP-Illinois• TCP-LP[15]

•• TCP SACK• Scalable TCP[16]

•• TCP Veno•• Westwood•• Westwood+• XCP[17]

• YeAH-TCP[18]

• TCP-FIT[19]

• Congestion Avoidance with Normalized Interval of Time (CANIT)[20]

TCP New Reno is the most commonly implemented algorithm, SACK support is very common and is an extensionto Reno/New Reno. Most others are competing proposals which still need evaluation. Starting with 2.6.8 the Linuxkernel switched the default implementation from Reno to BIC. The default implementation was again changed toCUBIC in the 2.6.19 version.When the per-flow product of bandwidth and latency increases, regardless of the queuing scheme, TCP becomesinefficient and prone to instability. This becomes increasingly important as the Internet evolves to incorporate veryhigh-bandwidth optical links.TCP Interactive (iTCP)[21] allows applications to subscribe to TCP events and respond accordingly enabling variousfunctional extensions to TCP from outside TCP layer. Most TCP congestion schemes work internally. iTCPadditionally enables advanced applications to directly participate in congestion control such as to control the sourcegeneration rate.Zeta-TCP detects the congestions from both the latency and loss rate measures, and applies different CWND backoffstrategies based on the likelihood of the congestions to maximize the goodput. It also has a couple of otherimprovements to accurately detect the packet losses, avoiding RTO retransmission; and accelerate/control theinbound (download) traffic.

Page 30: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

TCP congestion avoidance algorithm 28

References[1] Van Jacobson, Michael J. Karels. Congestion Avoidance and Control (http:/ / citeseer. ist. psu. edu/ 484335. html) (1988). Proceedings of the

Sigcomm '88 Symposium, vol.18(4): pp.314–329. Stanford, CA. August, 1988. This paper originated many of the congestion avoidancealgorithms used in TCP/IP.

[2][2] RFC 2001 - TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms[3][3] RFC 5681 - TCP Congestion Control[4][4] RFC 3390 - TCP Increasing TCP's Initial Window[5] TCP Congestion Avoidance Explained via a Sequence Diagram (http:/ / www. eventhelix. com/ RealtimeMantra/ Networking/

TCP_Congestion_Avoidance. pdf)[6] Fall, Kevin; Sally Floyd (July 1996). "Simulation-based Comparisons of Tahoe, Reno and SACK TCP" (ftp:/ / ftp. ee. lbl. gov/ papers/ sacks.

ps. Z) (PostScript). Computer Communications Review. .[7] Jacobson, Van; Karels, Michael (1988). "Congestion Avoidance and Control" (http:/ / ee. lbl. gov/ papers/ congavoid. pdf). ACM SIGCOMM

Computer Communication Review 25 (1): 157–187. doi:10.1145/205447.205462. .[8] Kurose & Ross 2008, p. 284.[9] "Performance Analysis of TCP Congestion Control Algorithms" (http:/ / www. wseas. us/ journals/ cc/ cc-27. pdf). . Retrieved 26 March

2012.[10] "DD-WRT changelog" (http:/ / www. dd-wrt. com/ wiki/ index. php/ Changelog). . Retrieved 2 January 2012.[11] http:/ / www. faqs. org/ rfcs/ rfc3782. html[12] http:/ / hybla. deis. unibo. it/[13][13] [http://tools.ietf.org/html/rfc1072[14] http:/ / www. ece. rice. edu/ networks/ TCP-LP/[15] http:/ / www. ece. rice. edu/ networks/ TCP-LP/[16] http:/ / www. deneholme. net/ tom/ scalable/[17] http:/ / www. isi. edu/ isi-xcp/[18] http:/ / wil. cs. caltech. edu/ pfldnet2007/ paper/ YeAH_TCP. pdf[19] http:/ / media. cs. tsinghua. edu. cn/ ~multimedia/ tcp-fit/[20] An analytical study of CANIT algorithm in TCP protocol. doi:10.1145/605521.605530.[21] http:/ / www. medianet. kent. edu/ itcp/ main. html

Sources• Kurose, James; Ross, Keith (2008). Computer Networking - A Top-Down Approach (4thth ed.). Addison Wesley.

ISBN 978-0-13-607967-5.• Afanasyev, A.; N. Tilley, P. Reiher, and L. Kleinrock (2010). "Host-to-host congestion control for TCP" (http:/ /

lasr. cs. ucla. edu/ afanasyev/ data/ files/ Afanasyev/ Host-to-host congestion control for TCP. pdf). IEEECommunication Surveys and Tutorials 12 (3).

External links• Congestion avoidance simulation (http:/ / www. visualland. net/ tcp_histrory. php?simu=tcp_swnd&

protocol=TCP& title=2. Sliding Window& ctype=1)

Page 31: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network calculus 29

Network calculusNetwork calculus is a theoretical framework for analysing performance guarantees in computer networks. As trafficflows through a network it is subject to constraints imposed by the system components, for example:• link capacity• traffic shapers (leaky buckets)•• congestion control•• background trafficThese constraints can be expressed and analysed with network calculus methods. Constraint curves can be combinedusing convolution under min-plus algebra. Network calculus can also be used to express traffic arrival and departurefunctions as well as service curves.

Traffic envelopesTraffic flows in networks are described as cumulative functions. For example, is the number of bits in theinterval . is said to conform to an envelope arrival curve , if for all it holds that

Thus, places an upper constraint on flow , i.e. an envelope specifies an upper bound on thenumber of bits of flow seen in any interval of length starting at an arbitrary . The above equation can berephrased for all as

Service curvesIn order to provide performance guarantees to traffic flows it may be necessary to implement reservations in thenetwork. Service curves provide a means of expressing resource allocations.

Let be a flow arriving at the ingress of a system, e.g. a link, a scheduler, a traffic shaper, or a whole network,and be the flow departing at the egress. The system is said to provide a service curve , if for all itholds that

Min-plus algebraIn filter theory respectively linear systems theory the convolution of two functions and is defined as

In min-plus algebra the sum is replaced by the minimum respectively infimum operator and the product is replacedby the sum. So the min-plus convolution of two functions and becomes

e.g. see the definition of service curves. Convolution and min-plus convolution share many algebraic properties. Inparticular both are commutative and associative.A so-called min-plus de-convolution operation is defined as

e.g. as used in the definition of traffic envelopes.

Page 32: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network calculus 30

ConcatenationConsider two systems with service curve and in series. Let be the arrival function at system 1and the departure function of system 2. By iterative application of the definition of service curves we have

.By associativity of the min-plus convolution it follows that

i.e. the tandem of systems and is equivalent to a single, lumped system where.

Performance boundsThe virtual backlog is defined as the vertical deviation of and

Using the concepts of traffic envelopes and service curves the maximum backlog is bounded by

The delay is defined as the horizontal deviation of and

Using the concepts of traffic envelopes and service curves the maximum delay is bounded by

ReferencesBooks that cover Network Calculus• C.-S. Chang: Performance Guarantees in Communications Networks, Springer, 2000.• J.-Y. Le Boudec and P. Thiran: Network Calculus: A Theory of Deterministic Queuing Systems for the Internet [1],

Springer, LNCS, 2001.• A. Kumar, D. Manjunath, and J. Kuri: Communication Networking: An Analytical Approach, Elsevier, 2004.• Y. Jiang and Y. Liu: Stochastic Network Calculus, Springer, 2008.Related books on the max-plus algebra or on convex minimization• R. T. Rockafellar: Convex analysis, Princeton University Press, 1972.• F. Baccelli, G. Cohen, G. J. Olsder, and J.-P. Quadrat: Synchronization and Linearity: An Algebra for Discrete

Event Systems, Wiley, 1992.Some related research papers•• R. L. Cruz: A Calculus for Network Delay. Part I: Network Elements in Isolation (doi:10.1109/18.61109) and

Part II: Network Analysis (doi:10.1109/18.61110), IEEE Transactions on Information Theory, 37(1):114-141,Jan. 1991.

• O. Yaron and M. Sidi: Performance and Stability of Communication Networks via Robust Exponential Bounds,IEEE/ACM Transactions on Networking, 1(3):372-385, Jun. 1993.

• C.-S. Chang: Stability, Queue Length and Delay of Deterministic and Stochastic Queueing Networks, IEEETransactions on Automatic Control, 39(5):913-931, May 1994.

• D. E. Wrege, E. W. Knightly, H. Zhang, and J. Liebeherr: Deterministic delay bounds for VBR video inpacket-switching networks: Fundamental limits and practical tradeoffs, IEEE/ACM Transactions on Networking,4(3):352-362, Jun. 1996.

Page 33: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Network calculus 31

• R. L. Cruz: SCED+: Efficient Management of Quality of Service Guarantees, IEEE INFOCOM, pp. 625-634,Mar. 1998.

• J.-Y. Le Boudec: Application of Network Calculus to Guaranteed Service Networks, IEEE Transactions onInformation Theory, 44(3):1087-1096, May 1998.

• C.-S. Chang: On Deterministic Traffic Regulation and Service Guarantees: A Systematic Approach by Filtering,IEEE Transactions on Information Theory, 44(3):1097-1110, May 1998.

• R. Agrawal, R. L. Cruz, C. Okino, and R. Rajan: Performance Bounds for Flow Control Protocols, IEEE/ACMTransactions on Networking, 7(3):310-323, Jun. 1999.

• D. Starobinski and M. Sidi: Stochastically Bounded Burstiness for Communication Networks, IEEE Transactionson Information Theory, 46(1):206-212, Jan. 2000.

• A. Charny and J.-Y. Le Boudec: Delay Bounds in a Network with Aggregate Scheduling, QoFIS, pp. 1-13, Sep.2000.

• R.-R. Boorstyn, A. Burchard, J. Liebeherr, and C. Oottamakorn: Statistical Service Assurances for TrafficScheduling Algorithms, IEEE Journal on Selected Areas in Communications, 18(12):2651-2664, Dec. 2000.

• J.-Y. Le Boudec: Some properties of variable length packet shapers, IEEE/ACM Transactions on Networking,10(3):329-337, Jun. 2002.

• Q. Yin, Y. Jiang, S. Jiang, and P. Y. Kong: Analysis of Generalized Stochastically Bounded Bursty Traffic forCommunication Networks, IEEE LCN, pp. 141-149, Nov. 2002.

• C.-S. Chang, R. L. Cruz, J.-Y. Le Boudec, and P. Thiran: A Min, + System Theory for Constrained TrafficRegulation and Dynamic Service Guarantees, IEEE/ACM Transactions on Networking, 10(6):805-817, Dec.2002.

• D. Starobinski, M. Karpovsky, and L. Zakrevski: Application of Network Calculus to General Topologies usingTurn-Prohibition, IEEE/ACM Transactions on Networking, 11(3):411-421, Jun. 2003.

• C. Li, A. Burchard, and J. Liebeherr: A Network Calculus with Effective Bandwidth, University of Virginia,Technical Report CS-2003-20, Nov. 2003.

• F. Ciucu, A. Burchard, and J. Liebeherr: A Network Service Curve Approach for the Stochastic Analysis ofNetworks, IEEE/ACM Transactions on Networking, 52(6):2300–2312, Jun. 2006.

• M. Fidler and S. Recker: Conjugate network calculus: A dual approach applying the Legendre transform,Computer Networks, 50(8):1026-1039, Jun. 2006.

• M. Fidler: An End-to-End Probabilistic Network Calculus with Moment Generating Functions, IEEE IWQoS,Jun. 2006.

• A. Burchard, J. Liebeherr, and S. D. Patek: A Min-Plus Calculus for End-to-end Statistical Service Guarantees,IEEE Transactions on Information Theory, 52(9):4105–4114, Sep. 2006.

• Eitan Altman, Kostya Avrachenkov, and Chadi Barakat: TCP network calculus: The case of largebandwidth-delay product, In proceedings of IEEE INFOCOM, NY, June 2002.

• Kym Watson, Juergen Jasperneite: Determining End-to-End Delays using Network Calculus, in 5th IFACInternational Conference on Fieldbus Systems and their Applications (FeT´2003) S.: 255-260, Aveiro, Portugal,Jul 2003

References[1] http:/ / ica1www. epfl. ch/ PS_files/ NetCal. htm

Page 34: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Article Sources and Contributors 32

Article Sources and ContributorsNetwork switch  Source: http://en.wikipedia.org/w/index.php?oldid=515777396  Contributors: A8UDI, Abune, Abyss of enchantment, Acroterion, Adalie, Adam850, Adamantios, Aditsu,Aegicen, Aero Leviathan, Airman99, Akc9000, Alansohn, Aldie, Aldis90, Ale jrb, Alexandria, Alpha 4615, Alvestrand, Alykhan2006, Andre Engels, AndreasWittenstein, Androsyn, Aneah,Angus Lepper, Apparition11, Arpabone, Arthena, Ashleshakadam1, Astronautics, Atlantia, Atomician, Atropos235, Auntof6, B4hand, Barry26, Bencherlite, Berkut, Bjankuloski06en, Blashyrk,Bluemoose, Bluerasberry, Blues-harp, Boscobiscotti, Bovineone, Breno, Brfiner, Brnsuga99, Brons, Brucevdk, Btyner, Butseriouslyfolks, C45207, Cagatay.ucar, Capnquackenbush, Caruch6392,Casey Abell, Cassini83, Chiefwei, Chmod007, Chowbok, ChrisCork, Clemente, Colinstu, CommonsDelinker, DARTH SIDIOUS 2, DVD R W, Dalahäst, Danielcohn, Defendfreedom, Demicx,Denisarona, DerHexer, Dgtsyb, Djg2006, Dkhydema, EJvL, Eitheladar, Electron9, Equendil, Erich gasboy, Evil saltine, Excirial, Favonian, Fleung, Flowanda, Fmcway, Forseti, Fred J,Freeingmind, Frosty3219, Fuzheado, Fyyer, Fæ, Gamera2, Geek2003, Geimas5, Giftlite, Glenn, Grblomerth, Guy Harris, H2g2bob, Hcberkowitz, Helix84, Heymid, Hghyux, Hunppa, II MusLiMHyBRiD II, Iambk, Ibc111, Illythr, Indefatigable, Intgr, Itusg15q4user, J.delanoy, J.smith, JHunterJ, JPINFV, JamesHoadley, Jasper Deng, Javawizard, Jbridge19, Jdthood, Jef-Infojef,Jim.henderson, Jim1138, John Vandenberg, Johnuniq, JonHarder, Jsharpminor, Julesd, Julie188, Kadin2048, Kar.ma, Kaschei, Kayvee, Ke4roh, Kesvas, KnowledgeOfSelf, Kostmo, KoyaanisQatsi, Kozuch, Kvng, Laveol, Lenilucho, Li4kata, Lightmouse, Marco255, Marek69, Mark Arsten, Mateo2, Matthodge77, Melaen, Memset, Mentifisto, Misteror, Mitar, Mmmeg, Mo ainm,Moozaad, Motley Crue Rocks, MrOllie, Mxn, Napalm Llama, Nathanael Bar-Aur L., Natkeeran, Neilc, Nelson50, Nestea Zen, NickBush24, NickSentowski, Nicolaasuni, Nimakha, Ninly,NiteSnow, NonNobisSolum, Nubiatech, Nuno Tavares, Obradovic Goran, OllieFury, Omegatron, Omicronpersei8, Opelio, P4k, Paddy lib, Pamri, Panchurret, Patcat88, Paul 012, Paul Koning,Paul Slocum, PaulHanson, Pawl Kennedy, Peripitus, Perl, Peter Horn, Petiatil, Pgilberd, Pharaoh of the Wizards, Phatom87, Philip Trueman, Philjk4eva, PierreAbbat, Piesangboer,Pipedreambomb, Piper8, PlayCold, Plugwash, Pnm, Pxma, Quarl, R'n'B, Rachmaninoff, Rails, Raucanum, Rchandra, Reaper Eternal, Reconsider the static, RedDragonAkai, RedWolf,Requestion, Rich Farmbrough, Rick Sidwell, Rje, Roguelazer, Roystonea, Rror, Rsduhamel, Rtcpenguin, Rubicon, Sander123, Sannse, Seitz, Sephiroth storm, Shadowjams, Shahid789,Shahzad16a, Sharon gngt, Sheetalthebest, Sjmrox4ever, Sreeharim, Srinivasbt, Stevedouglas, Sunborn, Tbsdy lives, Tfga, Thaas00, The Anome, The Thing That Should Not Be, TheIrishWarden,Theresa knott, Tholme, Tide rolls, Tim Starling, Tim1988, Tizio, Tompsci, Torahulonly, UU, Ummit, UncleBubba, Uyer, Vegardw, Vi2, Visor, Voidxor, Voldemortuet, Vssun, W Nowicki,WWStone, WarrenA, Wiki13, Wikidudeman, Wikipelli, Will Hawes, WillNess, Winchelsea, Woohookitty, Wtmitchell, Wtshymanski, YUL89YYZ, Yunshui, Zac67, ZachCrichfield, Zhen Lin,620 anonymous edits

Media access control  Source: http://en.wikipedia.org/w/index.php?oldid=515482811  Contributors: @modi, A purple wikiuser, Alexander.stohr, Angela, Arathald, Arkrishna, Avitesh,Beno1000, Bentogoa, Borgx, Breno, Caesura, Casey Abell, Cburnett, Closedmouth, Crazy Murdoc, Dawnseeker2000, DenesVadasz, Dgtsyb, Dicklyon, Djg2006, Dominio, Ebraminio,Enjoi4586, ErikHaugen, Evercat, Extraordinary, FDD, Figureskatingfan, GPHemsley, Ghez, Giftlite, Good Olfactory, Gwalker nz, HappyCamper, HarisM, Intgr, Irnavash, Itai, JFSM, JesseViviano, Joconnor, Johnuniq, Jusdafax, Kbrose, KelleyCook, Khazar, KnightRider, Leon Hunt, Lihui912, Logan, Loosecannon93, Luís Felipe Braga, Mange01, Mellery, Mlaffs, Mojodaddy, MrStephen, Nageh, Notheruser, Nuno Tavares, Nurg, OrangeDog, PaulTanenbaum, Pgallert, Philip Trueman, ProveIt, Rick Sidwell, Snori, Srleffler, Stassats, Steven Hepting, Suruena, Templatenamespace initialisation script, Timwi, Treekids, Vitz-RS, Widefox, Willy on Wheels over Ethernet, Woohookitty, Youssefsan, Zachlipton, Zanetu, Zoicon5, 114 anonymous edits

Packet switching  Source: http://en.wikipedia.org/w/index.php?oldid=515974234  Contributors: A.Petrenko, A.wasylewski, Airplaneman, Ali Esfandiari, AlphaPyro, Alxeedo, Andrewpmk,Anon lynx, Barberio, Benhoyt, BertK, Bevo, Binksternet, Bp2010.hprastiawan, BradBeattie, Brewhahaitsme, Can't sleep, clown will eat me, Capricorn42, CarlHewitt, Cburnett, Cgarciap86,Cgdallen, Chancemill, Charles Matthews, Chris the speller, Ciphers, Closedmouth, Dave Cohoe, Dead3y3, DeadEyeArrow, Deema AlShamaa, Dgtsyb, Dgw, Diberri, DonDaMon, Donreed,Edcolins, Ee02b022, Ewlyahoocom, Excirial, Fishyghost, Foelectric, Foobaz, Freedomfighter21, Fresheneesz, Fumblebruschi, GPHemsley, Gentleman wiki, Gerfaut, Giftlite, Groundeyes,Harryzilber, Hcberkowitz, Helix84, Hjf, Ilario, Itai, J.delanoy, JNW, JTN, Jamescfield, Jedi Master Brownlow, Jedonnelley, Jhertel, Jim.henderson, Jm34harvey, Jnc, JoanneB,JohnGrantNineTiles, Johnbojaen, JonHarder, Jopsen, Jpatokal, Jpbowen, Jy, K12u, Kabdcn, Kablammo, Karol Langner, Kbrose, Kungfuadam, Kvng, Lee Carre, Lesgles, LeviathinXII, Logicat,LouScheffer, MCBastos, MacStep, Mange01, Manop, Maurreen, Mbarbier, Mendaliv, Merope, Mild Bill Hiccup, Mojodaddy, NeruYume, Neurolysis, Niteowlneils, Nmacu, Noctibus, Nubiatech,Nuno Tavares, Oli Filth, PerryTachett, Phatom87, Philbarker, Philip Trueman, PierreAbbat, R2jitu, Rabarberski, Rdmoore6, RedWolf, Reliablesources, Rich Farmbrough, Rspanton, Sabri76,Sowsnek, Sricciar, Sun Creator, Synchrodyne, Teemu Maki, That Guy, From That Show!, The Anome, The Original Wildbear, The Singing Badger, The Thing That Should Not Be, Thom2729,Thparkth, ThreePD, Timsk, Timwi, Tom94022, Toreau, Torla42, Usangel1066, Vary, Vrenator, W Nowicki, W163, Wa3frp, Waveguy, Welsh, William Avery, Wingsandsword, Wizard191,Wmasterj, Woohookitty, Yamaguchi先 生, Ynhockey, Zondor, Тиверополник, 241 anonymous edits

Transmission delay  Source: http://en.wikipedia.org/w/index.php?oldid=375593294  Contributors: Atlantia, Elmindreda, Engr phoenix, Fresheneesz, Iridescent, Jim.henderson, Malcolma, OliFilth, Rait, Sanel vejzovic, 5 anonymous edits

Network congestion  Source: http://en.wikipedia.org/w/index.php?oldid=516861162  Contributors: Billc.cn, Bloodshedder, Fortdj33, Gqqnb, Imcdnzl, Incompetence, Inwind, Itusg15q4user,Jim.henderson, Jnc, JonHarder, Jtk, Kvng, LachlanA, Leblondleblond, Loftenter, MER-C, Maadikhah, MacsBug, Mandarax, Mleoking, MsFionnuala, Neilc, Nick Number, Nimiew,PabloCastellano, Peyre, QmunkE, RA0808, Rememberway, Seifried, Stw, The Anome, The Evil IP address, Tomkerswill, Woohookitty, Wrs1864, Xofc, Тиверополник, 23 anonymous edits

Taxonomy of congestion control  Source: http://en.wikipedia.org/w/index.php?oldid=488961927  Contributors: 4a6f656c, Crystallina, Euchiasmus, Grapestain, JIP, Jec, Jeepday, Joy, LachlanA,Mimi2008, Mrsmalkav, R'n'B, SergeyRyzhikov, ThisIsAce, 8 anonymous edits

TCP congestion avoidance algorithm  Source: http://en.wikipedia.org/w/index.php?oldid=510072790  Contributors: Ahassan503, Anthony Rushton, Barvinok, Beren023, Bfitz99, Bhy,Blaisorblade, Bwinds, Cawka, Cecilyen, CesarB, Cheskis, Coinchon, Cxxl, Doristein, Dweekly, Dysprosia, Foobaz, Frap, Grievous Angel, Herr Baum, Imcdnzl, Intgr, Jedonnelley, Jibjibjib,Jimreynold2nd, Joy, Jugander, Ketiltrout, Kvng, LachlanA, Lavendert, Madhupsinha, Mess, Mgream, Michael Hardy, Michael miceli, Mpeylo, Musiphil, Nealcardwell, Nimiew, NovaScorpio,Ohconfucius, Oldiowl, Plaidomatic, PolicyReformer, Rememberway, Ricky Lau, Robosycho, RyanCu, Sam Hocevar, Shaddack, Sligocki, Soumyasch, SystemBuilder, The Anome,TheParanoidOne, Tmimak, Toothswung, Treekids, Uogl, Whitepaw, Winterheart, Xcyborg, YUL89YYZ, 106 anonymous edits

Network calculus  Source: http://en.wikipedia.org/w/index.php?oldid=509201233  Contributors: Adel314, Aholt, Bluemoose, EagleFan, Fidler, Jmlon, JonHarder, Kiefer.Wolfowitz, Leboudec,LouScheffer, Palfrey, Pietdesomere, Rjwilmsi, Samw, Tenida, That Guy, From That Show!, Tompw, Welsh, 12 anonymous edits

Page 35: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

Image Sources, Licenses and Contributors 33

Image Sources, Licenses and ContributorsFile:2550T-PWR-Front.jpg  Source: http://en.wikipedia.org/w/index.php?title=File:2550T-PWR-Front.jpg  License: Creative Commons Attribution-Sharealike 3.0  Contributors:User:Geek2003File:Smartswitch6000.jpg  Source: http://en.wikipedia.org/w/index.php?title=File:Smartswitch6000.jpg  License: GNU Free Documentation License  Contributors: User:Matthäus WanderImage:24-port 3Com switch.JPG  Source: http://en.wikipedia.org/w/index.php?title=File:24-port_3Com_switch.JPG  License: Public Domain  Contributors: Rodrigo CésarFile:Linksys48portswitch.jpg  Source: http://en.wikipedia.org/w/index.php?title=File:Linksys48portswitch.jpg  License: Attribution  Contributors: Original uploader was Akc9000 aten.wikipediaFile:Switch-and-nest.jpg  Source: http://en.wikipedia.org/w/index.php?title=File:Switch-and-nest.jpg  License: Creative Commons Attribution-Sharealike 2.5  Contributors: Original uploaderwas J.smith at en.wikipedia

Page 36: An Introduction to Computer Networks (week 2) · 2012-10-10 · 2 Introduction Network switch Avayaroutes data at the ERS 2550T-PWR 50-port network switch A network switch or switching

License 34

LicenseCreative Commons Attribution-Share Alike 3.0 Unported//creativecommons.org/licenses/by-sa/3.0/