home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / iproute / examples / diffserv / README < prev    next >
Encoding:
Text File  |  2004-04-15  |  2.3 KB  |  99 lines

  1.  
  2. Note all these are mere examples which can be customized to your needs
  3.  
  4. AFCBQ
  5. -----
  6. AF PHB built using CBQ, DSMARK,GRED (default in GRIO mode) ,RED for BE 
  7. and the tcindex classifier with some algorithmic mapping
  8.  
  9. EFCBQ
  10. -----
  11. EF PHB built using CBQ (for rate control and prioritization), 
  12. DSMARK( to remark DSCPs), tcindex  classifier and  RED for the BE
  13. traffic.
  14.  
  15. EFPRIO
  16. ------
  17. EF PHB using the PRIO scheduler, Token Bucket to rate control EF,
  18. tcindex classifier, DSMARK to remark, and RED for the BE traffic
  19.  
  20. EDGE scripts
  21. ==============
  22.  
  23. CB-3(1|2)-(u32/chains)
  24. ======================
  25.  
  26.  
  27. The major differences are that the classifier is u32 on -u32 extension
  28. and IPchains on the chains extension. CB stands for color Blind
  29. and 31 is for the mode where only a CIR and CBS are defined whereas
  30. 32 stands for a mode where a CIR/CBS + PIR/EBS are defined.
  31.  
  32. Color Blind (CB)
  33. ==========-----=
  34. We look at one special subnet that we are interested in for simplicty
  35. reasons to demonstrate the capability. We send the packets from that
  36. subnet to AF4*, BE or end up dropping depending on the metering results. 
  37.  
  38.  
  39. The algorithm overview is as follows:
  40.  
  41. *classify:
  42.  
  43. **case: subnet X
  44. ----------------
  45.   if !exceed meter1 tag as AF41
  46.     else
  47.         if !exceed meter2  tag as AF42
  48.             else
  49.           if !exceed meter 3 tag as AF43
  50.               else 
  51.              drop 
  52.  
  53. default case: Any other subnet
  54. -------------------------------
  55.   if !exceed meter 5 tag as AF43
  56.       else
  57.      drop 
  58.  
  59.  
  60. One Egress side change the DSCPs of the packets to reflect AF4* and BE
  61. based on the tags from the ingress.
  62.  
  63. -------------------------------------------------------------
  64.  
  65. Color Aware
  66. ===========
  67.  
  68. Define some meters with + policing and give them IDs eg
  69.  
  70. meter1=police index 1 rate $CIR1 burst $CBS1  
  71. meter2=police index 2 rate $CIR2 burst $CBS2   etc 
  72.  
  73. General overview:
  74. classify based on the DSCPs and use the policer ids to decide tagging
  75.  
  76.  
  77. *classify on ingress:
  78.  
  79. switch (dscp) {
  80.     case AF41: /* tos&0xfc == 0x88 */
  81.     if (!exceed meter1) break;
  82.     case AF42: /* tos&0xfc == 0x90 */
  83.     if (!exceed meter2) {
  84.         tag as AF42;
  85.         break;
  86.     }
  87.     case AF43: /* tos&0xfc == 0x98 */
  88.     if (!exceed meter3) {
  89.         tag as AF43;
  90.         break;
  91.     } else
  92.       drop;
  93.     default:
  94.     if (!exceed meter4) tag as BE;
  95.     else drop;
  96. }
  97.  
  98. On the Egress side mark the proper AF tags
  99.