* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Network Congestion
Survey
Document related concepts
Multiprotocol Label Switching wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Distributed firewall wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Internet protocol suite wikipedia , lookup
Computer network wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Deep packet inspection wikipedia , lookup
Network tap wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Quality of service wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
Congestion and Congestion Control in PacketSwitched Networks 1 Introduction Packet–switched networks get congested! Congestion occurs when the number of packets transmitted approaches network capacity Objective of congestion control: – keep the number of packets that are entering/within the network below the level at which performance drops off dramatically Network Congestion 2 Queuing Theory 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 Rule of Thumb Design Point: = L/R < .8 * Network Congestion 3 Input & Output Queues at a Node Ts = L/R Ts = L/R Nodal Processing Network Congestion Ts = L/R 4 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 Network Congestion 5 Queue Interaction in Data Network (delay propagation) Network Congestion 6 Jackson’s Theorem - Application in Packet Switched Networks Internal load: L Packet Switched Network External load, offered to network: N N = jk j=1 k=2 where: = total workload in packets/sec jk = workload between source j and destination k N = total number of (external) sources and destinations Network Congestion = i i=1 where: = total on all links in network i = load on link i L = total number of links Note: • Internal > offered load • Average length for all paths: E[number of links in path] = / • Average number of items waiting and being served in link i: ri = i Tri • Average delay of packets sent through the network is: Notice: As any i increases, 1 L Mi T= total delay i=1 Ri - Mi increases. where: M is average packet length and Ri is the data rate on link i 7 Ideal Performance I.e., infinite buffers, no variable overhead for packet transmission or congestion control Throughput increases with offered load up to 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 – Higher throughput results in higher delay Network Congestion 8 Ideal Network Utilization Load: Ts = L/R Power: relationship between Normalized Throughput and Delay Network Congestion 9 Practical Performance 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 Further increased load causes packet delays to increase and eventually throughput to drop to zero Network Congestion 10 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 Network Congestion 11 Common Congestion Control Mechanisms Network Congestion 12 Congestion Control Backpressure Policing Choke packet Implicit congestion signaling – Request from destination to source to reduce rate – Useful only on a logical connection basis – Requires hop-by-hop flow control mechanism – Measuring and restricting packets as they enter the network – Specific message back to source – E.g., ICMP Source Quench – Source detects congestion from transmission delays and lost packets and reduces flow Network Congestion 13 Explicit congestion signaling Direction – Backward – Forward Categories – Binary – Credit-based – Rate-based Network Congestion 14 Traffic Management in Congested Network – Some Considerations Fairness – Various flows should “suffer” equally – Last-in-first-discarded may not be fair 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 – Policing: excess traffic discarded or handled on best-effort basis Network Congestion 15 Congestion Avoidance with Explicit Signaling Two general strategies considered: 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 – backward explicit congestion avoidance Network Congestion 16 Congestion Control: BECN/FECN Network Congestion 17 Explicit Signaling in Packets Forward Explicit Congestion Notification – For traffic in same direction as received frame – This frame has encountered congestion Backward Explicit Congestion Notification – For traffic in opposite direction of received frame – Frames transmitted may encounter congestion Network Congestion 18 Explicit Signaling 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 – inspects packet for congestion indication – reduces send rate if congestion indicated Network Congestion 19 Explicit Congestion Control with TCP/IP (RFC 3168) Routers monitor queue depth, using Active Queue Management (AQM) – typically via Random Early Detection (RED) Routers signal congestion indication by “marking” IP packets TCP end systems monitor congestion indication in received packet headers TCP senders regulate send rate based on signaling from routers – recall: TCP window size – why not UDP? Network Congestion 20 Explicit Congestion Control with TCP/IP (RFC 3168) TCP Host TCP Host Network Congestion 21 Explicit Congestion Control with TCP/IP 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 – ECE, SYN and ACK set – called ECN-Setup SYN-ACK packet Network Congestion 22 TCP segment structure 32 bits URG: urgent data (generally not used) ACK: ACK # valid # 32-bit words in header PSH: push data now (generally not used) RST, SYN, FIN: Connection mgmt. (setup, teardown commands) Internet checksum (as in UDP) Transport Layer source port # dest port # sequence number acknowledgement number head not UAP R S F len used checksum counting by bytes of data (not segments!) receive window URG data pointer options (variable length) # bytes rcvr willing to accept application data (variable length) 23 TCP segment structure-RFC 3168 32 bits source port # sequence number ECN-Echo Flag (bit 8) acknowledgement number head len Congestion Window Reduced Flag (bit-9) dest port # C E WC UAP R SF R E checksum receive window URG data pointer options (variable length) application data (variable length) Transport Layer 24 IPv4 datagram structure IP protocol version number header length (bytes) service request (QoS) max number remaining hops (decremented at each router) transport layer protocol to deliver payload to 32 bits ver hdr. type of len service total datagram length (bytes) length fragment 16-bit identifier flgs offset upper time to header layer live checksum 32 bit source IP address 32 bit destination IP address options (if any) data (variable length, typically a TCP or UDP segment) Network Layer for fragmentation/ reassembly e.g. timestamp, record route taken, specify list of routers to visit. 25 IPv4 datagram structure – RFC 3168 32 bits ECN-capable Transport (bit-6) Congestion Experienced (bit-7) hdr. DSCP CE C ver len TE length fragment offset upper time to header layer live checksum 32 bit source IP address 16-bit identifier flgs 32 bit destination IP address options (if any) data (variable length, typically a TCP or UDP segment) Network Layer 26