Download (direct link):
Otherwise, it is in excess of the peak rate, and TP is not decreased. The packet is a violating packet and it can be marked or dropped.
Note that a positive infinite value of either PBS or MBS implies that arriving packets are never in excess of the peak rate.
An example of the peak rate token bucket operation is given in Figure 7.16. The thick line at the top indicates the value of TP , and the thin line below indicates the arrival of
THE CONSTRAINED-BASED ROUTING LABEL DISTRIBUTION PROTOCOL 163
Packet 1 Packet 2
Figure 7.16 An example of the peak rate token buck operation.
Packet 1 Packet 2 Packet 3
Figure 7.17 The transmission rate exceeds PDR.
a packet. The slope of all of the lines is equal to PDR. At time t = 0, the token bucket contains PBS tokens. Packet 1 begins to arrive at the rate of PDR bytes/sec. When it has completely arrived, the size of the packet expressed in bytes is deducted from the current token count TP, the packet is allowed to go through, and the replenishment of the token bucket begins at the rate of PDR bytes/sec. Packet 2 begins to arrive immediately after packet 1. Since the size of packet 2 is less that the current token count, it is allowed to go through. In general, all of the packets will go through, as long as the user transmits at a rate which is less or equal to PDR.
Consider the case where the users transmission rate temporarily exceeds PDR (see Figure 7.17). The dashed lines indicate the transmission rate of a packet if the source transmitted at the rate of PDR. The thin continuous lines (above the dashed lines) indicate the rate at which the packets are transmitted, and the thick line in the top of the diagram shows the current token count. Note that packet 1, although it arrives faster than it should, goes through. The token count is reduced appropriately, and the replenishment of the token bucket at the PDR rate begins. Packet 2 is not as lucky, and it will be either marked and let into the network or dropped. Packet 3 goes through.
Therefore, if the transmission rate temporarily exceeds PDR, it is possible that some of the packets will go through, as in the case of the GCRA scheme in ATM. On the other hand, if the user attempts to transmit a packet whose size is larger than MBS, this packet will immediately be classified as violating, since the token bucket can never contain more than PBS tokens.
LABEL DISTRIBUTION PROTOCOLS
Committed data rate (CDR), committed burst size (CBS), and excess burst size
The traffic that is sent to the network, which is the output of the token bucket P, is policed using the token bucket C, referred to as the committed token bucket. The maximum size of token bucket C is set equal to the committed burst size (CBS), expressed in bytes, and the token bucket is replenished at the committed data rate (CDR), expressed in bytes/sec. The output of this token bucket is referred to as the committed rate which is the amount of bandwidth the network should allocate for the CR-LSP.
In addition to C, it is possible to use a second policing token bucket E, referred to as the excess token bucket. The maximum size of this token bucket is equal to the excess burst size (EBS), expressed in bytes, and the token bucket is replenished at the committed data rate (CDR), expressed in bytes/sec. As will be seen below, this token bucket can be used to decide whether a violating packet should be marked and let into the network, or it should be dropped.
The operation of the committed and excess token buckets is as follows:
Initially, the token count in the committed token bucket TC = CBS, and the token count in the excess token bucket TE = EBS.
Thereafter, TC and TE are updated every second as follows:
? If Tc < CBS, then TC is incremented by M bytes (it should not exceed CBS).
? If Te < EBS, then TE is incremented by M bytes (it should not exceed EBS) where CDR = M bytes/sec.
The following action is taken when a packet of size B arrives:
? If TC B > 0, then there are enough tokens in the committed token bucket for the packet, and TC = TC - B .
? If TC B < 0 and TE B > 0, then there not enough tokens in the committed token bucket, but there are enough tokens in the excess token bucket, and TE = TE B.
? If TC B < 0 and TE B < 0, then there not enough tokens in the committed token bucket or in the excess token bucket, and TC or TE are not decremented.
Note that if CDR is positive infinity, then an arriving packet will never be in excess of either token bucket counts.
The action taken when the size of a packet exceeds the token count in the token bucket (either committed or excess) is implementation dependent. For instance, if the packet size is larger than the token count in the committed token bucket, but less than the token count in the excess token bucket, then we might chose to mark it and let into the network. If the packet size is larger than both of the token counts, then we might choose to drop it.