oup statement: access-list 121 remark [---[ Call Center HTTP ]---] access-list 121 permit tcp any 10.10.100.100 0.0.0.0 eq WWW access-list 121 permit tcp any eq WWW 10.10.100.100 0.0.0.0 ACLs allow for a great deal of flexibility when used in class maps. For example, we could: Create a time-based ACL (different QoS for different times of the day!). Create an IP-based ACL (certain IP addresses get priority). Give a group minus one person priority (put a single deny on top, then a permit for the group). Create a dynamic ACL ("If I'm using SSH, don't prioritize Bob's SSH packets."). Pretty much anything you can dream up can be used, but be careful-the more complex your rules are, the harder they are to manage and maintain. For the email item on our list, we can again use protocol names. Because email involves many protocols, we'll list them all. The router is even smart enough to refer- ence "exchange" as a traffic type: class-map match-any Mail-Traffic description [ Any Mail Traffic (Set on WAN Router) ]---] match protocol smtp Chapter 30: Designing a QoS Scheme match protocol pop3 match protocol imap match protocol exchange Policy Maps Now that we have our class maps defined, we need to create the policy maps. While class maps determine which packets get policed, the policy map determines how they get policed. This step is actually pretty easy if you've done all your planning up front like we have. Because we're only worried about one T1, we only need to make one policy map. Let's call it WAN-Link: policy-map WAN-Link description [ [ Apply Treatment for Classes ]---] You've probably noticed that I use a lot of descriptions. I think description statements are the single best thing to ever happen to Cisco IOS. As I've said, simple is good, and well-documented code is always a plus. Any time you have the option of adding a comment to your configuration, I highly encourage you to do SO. A policy map is simply a list of all your class maps with commands for each. First, we'll create the policy map, and an entry for the