Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Congestion and Congestion Control in Packet- Switched Networks.

Similar presentations


Presentation on theme: "1 Congestion and Congestion Control in Packet- Switched Networks."— Presentation transcript:

1 1 Congestion and Congestion Control in Packet- Switched Networks

2 Network Congestion 2 Introduction Packet–switched networks get congested! Packet–switched networks get congested! Congestion occurs when the number of packets transmitted approaches network capacity Congestion occurs when the number of packets transmitted approaches network capacity Objective of congestion control: Objective of congestion control: –keep the number of packets that are entering/within the network below the level at which performance drops off dramatically

3 Network Congestion 3 Queuing Theory Recall from prior module that a data network is a network of queues Recall from prior module that a data network is a network of queues If arrival rate at any queue > transmission rate from the node, and as average arrival rate grows, then queue size grows without bound and packet delay goes to infinity If arrival rate at any queue > transmission rate from the node, and as average arrival rate grows, then queue size grows without bound and packet delay goes to infinity Rule of Thumb Design Point:  = L /R <.8 * Rule of Thumb Design Point:  = L /R <.8 *

4 Network Congestion 4 Input & Output Queues at a Node T s = L/R Nodal Processing

5 Network Congestion 5 At Saturation Point Two Possible Strategies at Node: 1. Discard any incoming packet if no buffer space is available 2. Exercise flow control over neighbors –May cause congestion to propagate throughout network

6 Network Congestion 6 Queue Interaction in Data Network (delay propagation)

7 Network Congestion 7 Jackson’s Theorem - Application in Packet Switched Networks Packet Switched Network External load, offered to network:  =    jk  =    jkwhere:  = total workload in packets/sec  = total workload in packets/sec  jk = workload between source j  jk = workload between source j and destination k and destination k N = total number of (external) N = total number of (external) sources and destinations sources and destinations N N N N j=1 k=2 j=1 k=2 Internal load: =  i =  iwhere: = total on all links in network = total on all links in network i = load on link i i = load on link i L = total number of links L = total number of links L i=1 i=1 Note: Internal > offered load Internal > offered load Average length for all paths: Average length for all paths: E[number of links in path] = /  E[number of links in path] = /  Average number of items waiting Average number of items waiting and being served in link i: r i = i T ri and being served in link i: r i = i T ri Average delay of packets sent Average delay of packets sent through the network is: through the network is: T =  T =  where: M is average packet length and where: M is average packet length and R i is the data rate on link i R i is the data rate on link i 1 L i=1 i=1 M i R i - M i i Notice: As any i increases, total delay increases.

8 Network Congestion 8 Ideal Performance I.e., infinite buffers, no variable overhead for packet transmission or congestion control I.e., infinite buffers, no variable overhead for packet transmission or congestion control Throughput increases with offered load up to full capacity Throughput increases with offered load up to full capacity Packet delay increases with offered load approaching infinity at full capacity Packet delay increases with offered load approaching infinity at full capacity Power = throughput / delay, or a measure of the balance between throughput and delay Power = throughput / delay, or a measure of the balance between throughput and delay –Higher throughput results in higher delay

9 Network Congestion 9 Ideal Network Utilization Load: T s = L /R Power: relationship between Normalized Throughput and Delay

10 Network Congestion 10 Practical Performance I.e., finite buffers, non-zero packet processing overhead I.e., finite buffers, non-zero packet processing overhead With no congestion control, increased load eventually causes moderate congestion: throughput increases at slower rate than load With no congestion control, increased load eventually causes moderate congestion: throughput increases at slower rate than load Further increased load causes packet delays to increase and eventually throughput to drop to zero Further increased load causes packet delays to increase and eventually throughput to drop to zero

11 Network Congestion 11 Effects of Congestion What’s happening here? buffers fill packets discarded sources re-transmit routers generate more traffic to update paths good packets resent delays propagate

12 Network Congestion 12 Common Congestion Control Mechanisms

13 Network Congestion 13 Congestion Control Backpressure Backpressure –Request from destination to source to reduce rate –Useful only on a logical connection basis –Requires hop-by-hop flow control mechanism Policing Policing –Measuring and restricting packets as they enter the network Choke packet Choke packet –Specific message back to source –E.g., ICMP Source Quench Implicit congestion signaling Implicit congestion signaling –Source detects congestion from transmission delays and lost packets and reduces flow

14 Network Congestion 14 Explicit congestion signaling Direction Direction –Backward –Forward Categories Categories –Binary –Credit-based –Rate-based

15 Network Congestion 15 Traffic Management in Congested Network – Some Considerations Fairness Fairness –Various flows should “suffer” equally –Last-in-first-discarded may not be fair Quality of Service (QoS) Quality of Service (QoS) –Flows treated differently, based on need –Voice, video: delay sensitive, loss insensitive –File transfer, mail: delay insensitive, loss sensitive –Interactive computing: delay and loss sensitive Reservations Reservations –Policing: excess traffic discarded or handled on best-effort basis

16 Network Congestion 16 Congestion Avoidance with Explicit Signaling Two general strategies considered: Hypothesis 1: Congestion always occurs slowly, almost always at egress nodes Hypothesis 1: Congestion always occurs slowly, almost always at egress nodes –forward explicit congestion avoidance Hypothesis 2: Congestion grows very quickly in internal nodes and requires quick action Hypothesis 2: Congestion grows very quickly in internal nodes and requires quick action –backward explicit congestion avoidance

17 Network Congestion 17 Congestion Control: BECN/FECN

18 Network Congestion 18 Explicit Signaling in Packets Forward Explicit Congestion Notification Forward Explicit Congestion Notification –For traffic in same direction as received frame –This frame has encountered congestion Backward Explicit Congestion Notification Backward Explicit Congestion Notification –For traffic in opposite direction of received frame –Frames transmitted may encounter congestion

19 Network Congestion 19 Explicit Signaling Response Network Response Network Response –each router monitors its queuing behavior and takes action (AQM) –sets bits in packets to indicate congestion –some/all connections notified of congestion Sender (end-system) Response Sender (end-system) Response –inspects packet for congestion indication –reduces send rate if congestion indicated

20 Network Congestion 20 Explicit Congestion Control with TCP/IP (RFC 3168) Routers monitor queue depth, using Active Queue Management (AQM) Routers monitor queue depth, using Active Queue Management (AQM) –typically via Random Early Detection (RED) Routers signal congestion indication by “marking” IP packets Routers signal congestion indication by “marking” IP packets TCP end systems monitor congestion indication in received packet headers TCP end systems monitor congestion indication in received packet headers TCP senders regulate send rate based on signaling from routers TCP senders regulate send rate based on signaling from routers –recall: TCP window size –why not UDP?

21 Network Congestion 21 Explicit Congestion Control with TCP/IP (RFC 3168) TCPHost TCPHost

22 Explicit Congestion Control with TCP/IP Initiating TCP host signals Explicit congestion control capability during connection setup Initiating TCP host signals Explicit congestion control capability during connection setup –ECE,CWR and SYN set –known as ECN-Setup SYN packet Target host acknowledges connection with ECN Target host acknowledges connection with ECN –ECE, SYN and ACK set –called ECN-Setup SYN-ACK packet Network Congestion 22

23 Transport Layer 23 TCP segment structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number receive window URG data pointer checksum F SR PAU head len not used options (variable length) URG: urgent data (generally not used) ACK: ACK # valid PSH: push data now (generally not used) RST, SYN, FIN: Connection mgmt. (setup, teardown commands) # bytes rcvr willing to accept counting by bytes of data (not segments!) Internet checksum (as in UDP) # 32-bit words in header

24 Transport Layer 24 TCP segment structure-RFC 3168 source port # dest port # 32 bits application data (variable length) sequence number acknowledgement number receive window URG data pointer checksum F S R PA U head len options (variable length) ECN-Echo Flag (bit 8) CWRCWR ECEECE Congestion Window Reduced Flag (bit-9)

25 Network Layer 25 ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live 32 bit source IP address hdr. len type of service flgs fragment offset upper layer 32 bit destination IP address options (if any) IPv4 datagram structure IP protocol version number header length (bytes) transport layer protocol to deliver payload to total datagram length (bytes) service request (QoS) for fragmentation/ reassembly max number remaining hops (decremented at each router) e.g. timestamp, record route taken, specify list of routers to visit.

26 Network Layer 26 ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier header checksum time to live 32 bit source IP address hdr. len flgs fragment offset upper layer 32 bit destination IP address options (if any) IPv4 datagram structure – RFC 3168 ECN-capable Transport (bit-6) Congestion Experienced (bit-7) DSCP ECTECT CECE


Download ppt "1 Congestion and Congestion Control in Packet- Switched Networks."

Similar presentations


Ads by Google