Top Banner
University of Arizona ECE 478/578 1 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If a threshold is passed, set a warning state for the line Arriving packets that are routed to an output line in a warning state generate “choke packets” back on the input line they arrive on with destination specified Forwarded packet is tagged to prevent subsequent routers from generating a choke packet
40

University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

Dec 14, 2015

Download

Documents

Ashly Sparkes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

1

Choke Packets

• Used for congestion control (both VC & datagram nets)

• Router monitors utilization of output lines

• If a threshold is passed, set a warning state for the line

• Arriving packets that are routed to an output line in a warning state generate “choke packets” back on the input line they arrive on with destination specified

• Forwarded packet is tagged to prevent subsequent routers from generating a choke packet

Page 2: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

2

Choke Packets (Cont.)

• Source host receiving choke packet must reduce rate of traffic sent to the specified destination

• Since packets in transit may generate several choke packets, a host can ignore choke packets for a fixed time interval after receiving the first one

• After the interval if there is still a congestion problem, the host well get more choke packets and must then reduce its rate further

Page 3: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

3

Choke Packets (Cont.)

• Since this technique is feedback driven, it doesn’t slow the flow when there is no congestion

• Variations include multiple warning levels and different forms of utilization (# buffers used, queue length) as trigger

• PROBLEM: what if offending host ignores the choke packets?

Page 4: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

4

Hop-by-Hop Choke Packets

• Choke packet takes too long to get back to source in large WAN with high-speed source reacts slowly

• This algorithm has the choke packet affect each hop (usually a router) along the path

• The goal is to address congestion quickly at the point of greatest need propagate the “relief” back to the source

Page 5: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

5

Hop-by-hop Choke Packets (Cont.)

• This generates greater need for buffers at the router – Required to reduce output

– Meanwhile the input continues full blast until the choke packet propagates to the next hop

Page 6: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

6

Load Shedding

• The “big hammer” - router just starts throwing out packets

• Packet discard policy may depend on the application– “wine” drop new packets (old wine is better than

new wine) - good for file transfer

– “milk” drop old packets (don’t even need to talk about old milk!) - good for video/multimedia

Page 7: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

7

Load Shedding (Cont.)

• Requires application to mark packet with priority – How to keep every packet from being marked - DO

NOT DISCARD ?

• Back to carrier/customer environment - make it cheaper to send LOW PRIORITY packets

Page 8: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

8

Load Shedding (Cont.)

• If service is negotiated mark, any packets that exceeded the negotiated service as low priority

• For most networks a packet may be just a portion of a message (48 byte payload of ATM cell is usually a piece of a PDU) and dropping a cell will usually result in retransmission of whole PDU– Drop all the cells making up that PDU

• Use early packet discard to try to preempt congestion

Page 9: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

9

Internetworking Issues

• Expect that there will continue to be a large variety of protocols at each layer

• Interconnecting heterogeneous networks will introduce many conflicts

• To provide services we want the network layer to accommodate:– Different addressing schemes

– Different maximum packet sizes

– Different network access mechanisms

Page 10: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

10

Internetworking Approaches

Connectionless Internetwork

G G

GH1 R

H2

R

S

S

H1

S

S

Connection oriented Internetwork

M H2S

S

S

Page 11: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

11

Internetworking Issues

• Network layer may have to accommodate:– Different timeout values

– Error recovery

– Status reporting

– Routing & congestion control

– User access control

– Service philosophy

Page 12: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

12

Internetworking Approaches

• Same two competing approaches: – Connection oriented with virtual circuits

– Connectionless with Datagrams

Page 13: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

13

Connection Oriented Approach

• We build a virtual circuit pathway through the internetwork between the source and the destination

• Switches maintain information about VCs

S

S

H1

S

S

MH2

SS

S

Page 14: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

14

Connection Oriented Approach (Cont.)

• The connection-oriented approach is often more appropriate when the internetwork is homogeneous

• Benefits of VC based internetworking:– Resource allocation at circuit setup

– Sequencing is guaranteed

– Low header overhead

– No duplicate packets

Page 15: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

15

Connection Oriented Approach (Cont.)

• Drawbacks:– Switch resources needed for each circuit

– Switch failure brings down the whole connection

– Certain paths may be susceptible to congestion

– Difficult to incorporate non-VC based network into the internetwork

Page 16: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

16

Connectionless Approach

• For connectionless we route the packets through the network with routers performing a role similar to the switches but packets do not need to all follow the same route– Useful for heterogeneous networks

G G

GH1

R

H2

R

Connectionless Internetwork

Page 17: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

17

Gateways

• Gateways interconnect networks with different naming/addressing conventions, depending on layer:– Repeaters - physical layer

– Bridges - DL/MAC layer

– Routers (gateways, Multiprotocol routers) - network layer

– Transport gateways - transport layer

– Application gateways (e.g. email gateway) - application layer

Page 18: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

18

Example: Network Gateways

• Here, the gateway performs routing and translation functions between Network A and Network B

Network A Network B

HOST HOST

Page 19: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

19

Tunneling

• Gateway does not translate to the WAN protocol between Network A and Network B but wraps the IP packet in a WAN packet and sends it transparently (tunnels) across the WAN. A & B seem to have a direct serial link.

Network A Network BHOST HOST

WAN

Page 20: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

20

Fragmentation

• If data has to traverse many diverse networks, it is likely that they will have different maximum data “payload” sizes

• This may be determined by the operating system parameters, protocol specifications, etc.

• Usually the size of PDU payload increases in higher layers (higher levels of abstraction)

• Internetwork has to deal with differences - usually means we have to fragment larger packets

Page 21: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

21

Fragmentation (Cont.)

• Easy part - Gateway is allowed to break up a packet into fragments and send fragments separately

• Hard part - Gateway has to put pieces back together to reconstruct the original packet

• So the obvious question is - do we need to put them back together again?

• As usual there are two competing viewpoints – Transparent Fragmentation

– Non-Transparent Fragmentation

Page 22: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

22

Transparent Fragmentation

• Fragments recombined at each gateway and original sized packet delivered at destination

• Requires all packets to leave network via same gateway some performance loss

• Gateway needs to know when all fragments are received

G2G1 R3H1

R1

R2R1 H1

G7 G8

Page 23: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

23

Non-transparent Fragmentation

• Do not recombine fragments at each intermediate gateway each fragment becomes an independent packet

• Allows fragments to take separate paths

• Recombination takes place at the destination host

G4G2 G5H1 G3 H1G1

G7

G6

G8

Page 24: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

24

The Internet Protocol (IP)

• A collection of Autonomous Systems interconnected by one or more backbones

• Loose, collaborative structure with Autonomous Systems (AS’s) organized into Regional Networks interconnected into the larger Internet

• Developed from DARPANET NSFNET Internet

• Provides best effort datagram service to Transport Layer

Page 25: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

25

IP Packet Header Format0 4 8 16 32 Bits2419

VER IHL Type of Service Total Length

Identification FLAGS Fragment Offset

TTL Protocol Header Checksum

Source IP Address

Destination IP Address

Option Parameters (0 or more 32-bit words)

Page 26: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

26

Basic IP Services

• Send and Receive services

• Send (Src Addr, Dst Addr, Protocol, Service Type, Identifier, Don’t Fragment, TTL, Len, Options, Data)– Src Addr = IP Address of sender

– Dst Addr = IP Address of destination

– Protocol = Recipient Protocol using IP Services

– Service Type = Indicates type of service requested

– Identifier = Combined with three above to uniquely identify data unit ...

Page 27: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

27

Basic IP Services – Send (Cont.)

– Don’t Fragment = Says whether or not IP is allowed to fragment data

– TTL = Time To Live for packet

– Len = Length of data being sent

– Options = Options requested by IP user

– Data = The IP user data

Page 28: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

28

Options

• Allow rarely used parameters and future extensions– Security

– Source routing (specify list of routers for packet)

– Route recording (keep a record of routers visited by packet)

– Stream ID

– Timestamping (source and intermediate routers timestamp packet)

Page 29: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

29

IP Addressing

0 8 16 32 Bits24

0

1 0

1 1 0

1 1 1 0

1 1 1 1 0

Network

Network

Network

Multicast Address

Reserved

Host

Host

Host

Class A

Class B

Class C

Class D

Class E

Page 30: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

30

IP Addressing - Special Addresses

0 0 0 0 0 0 …………………….. 0 0 0

0 0 0 0 ……. 0 0 Host

1 1 1 1 1 1 1 …………………….. 1 1 1

NETWORK 1 1 1 1 1 . . . . . 1 1 1

127 DON’T CARE

This host

Host on this Network

Broadcast on this Network

Broadcast on remote Network

Loopback

Page 31: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

31

Internet Control Message Protocol (ICMP)

• IP standards specify that compliant implementations must also implement ICMP (RFC 792)

• ICMP provides a mechanism to provide feedback about problems in the network

• ICMP packets can be sent by routers and hosts

• ICMP exists at the NL but is a user of NL services, i.e., it uses IP datagram service

• ICMP packets are usually generated by a host or router in response to a previous datagram

Page 32: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

32

ICMP (Cont.)

• ICMP packets have a 64-bit header which includes:– Type (8 bits) - type of ICMP packet– Code (8 bits) - specifies parameters of the packet– Checksum (16 bits) - checksum for entire ICMP packet– Parameters (32 bits) - parameters too large for Code

• Header is usually followed by additional information depending on packet type

• When the packet refers to a previous datagram the additional info includes the IP header and first 64 bits of the original datagram

Page 33: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

33

Types of ICMP Packets

• Inclusion of first 64 bits of data after the IP header is to allow IP entity to determine which IP user was associated with the datagram

• Types of packets include:– Destination unreachable (e.g., router can’t reach

destination network)

– Time exceeded - TTL of datagram reached zero

– Parameter error - semantic error in IP header

– Source quench - simple flow control

Page 34: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

34

Types of ICMP Packets (Cont.)

– Redirect - advise host of a better route

– Echo (reply) - test communications

– Timestamp (reply) - allow determination of delay

– Address mask req (reply) - inform host of LAN’s subnet mask

Page 35: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

35

Some ICMP Packet Formats

Type Code Checksum

Unused

Type Code Checksum

Identifier Sequence #

Originate timestamp

Type Code Checksum

Ptr Unused

IP Header + 64 bits original dg

Type Code Checksum

Identifier Sequence #

Originate timestamp

Receive timestamp

Transmit timestamp

Dst. unreachable, time exceeded, src quench Timestamp

Parameter error

Timestamp reply

Page 36: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

36

Some ICMP Packet Formats (Cont.)

Type Code Checksum

Identifier Sequence #

Address mask request

Echo, Echo Reply

Redirect

Type Code Checksum

Gateway IP Address

IP Header + 64 bits original dg

Type Code Checksum

Identifier Sequence #

IP Header + 64 bits original dg

Type Code Checksum

Identifier Sequence #

Address Mask

Address mask reply

Page 37: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

37

Mapping IP to DL Addresses

• Consider IP layer running on an IEEE 802.3 LAN

• Recall DL has its own 48-bit addresses

• NL superimposes an internetwork on top of the LAN and provides its own 32-bit IP address space

• DL knows nothing about IP addresses

• How do these two sets of addresses get mapped to each other?

Page 38: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

38

Address Resolution Protocol (ARP)

• Another control protocol which resides at the NL

• ARP builds a DL broadcast frame with a packet “what’s the DL address for IP address w.x.y.z?” and sends it

• Broadcast frame is received by all hosts and one says “that’s me!” or another says “I know”

Page 39: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

39

Address Resolution Protocol (ARP)

• Host recognizing the IP address builds a response giving the DL address to IP address mapping and sends it to the sender of the broadcast

• Address mappings are cached to prevent repeated broadcasts

• DL-to-IP mapping of sender may be cached by all hosts on the LAN for future use

Page 40: University of ArizonaECE 478/578 348 Choke Packets Used for congestion control (both VC & datagram nets) Router monitors utilization of output lines If.

University of Arizona ECE 478/578

40

Address Resolution Protocol (ARP)

• Host may broadcast ARP for its own address upon booting as a way of announcing its mapping

• This is a simple and effective protocol which eliminates need for maintaining static tables

• Since LAN broadcasts are not routed, the router DL generally becomes the mapping for remote networks