This directory contains an example which tests the setting of the Diffserv Codepoint (DSCP) values in the IP TOS field of a stream of UDP packets. Running the example =================== (1) On one host, run: server [UDP port number] If port number is omitted, a default port number of 20002 is used. (2) On a second host, run: diffserv_test [destination host] [destination port] The host and port of where the server is running should be specified. A stream of UDP packets will be sent from to the server, with various codepoints set. (3) Look at the Diffserv Field (formerly known as the TOS field) of your packets, using a protocol analyzer, such as Ethereal. Introduction ============ In RFC 2474, the Type of Service (TOS) field in the IP header was renamed the Diffserv (DS) field. The DS field is one octet (8 bits). 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | DSCP | ECN | +---+---+---+---+---+---+---+---+ The first 6 bits of the field are reserved for the Diffserv Codepoint (DSCP). There are 64 possible values (0-63) for the DSCP. Bits 6 and 7 of the DS field are reserved for Explicit Congestion Notification (ECN). ECN is defined in RFC 3168. Per-Hop Behaviors (PHB) ======================= A Per-Hop Behavior (PHB) is a description of the externally observable forwarding treatment applied at a differentiated services compliant node. Certain PHB's are defined in RFC's and associated with different DSCP values. Other values are undefined and left for experimentation. Please refer to the RFC's for a full explanation of the attributes of the various PHB's. DSCP value PHB RFC (binary) ----------------------------------------------------------- 000000 Default (Best Effort) 2474 001000 Class Selector (CS1) 2474 010000 Class Selector (CS2) 2474 011000 Class Selector (CS3) 2474 100000 Class Selector (CS4) 2474 101000 Class Selector (CS5) 2474 110000 Class Selector (CS6) 2474 111000 Class Selector (CS7) 2474 001010 Assured Forwarding (AF11) 2597 001100 Assured Forwarding (AF12) 2597 001110 Assured Forwarding (AF13) 2597 010010 Assured Forwarding (AF21) 2597 010100 Assured Forwarding (AF22) 2597 010110 Assured Forwarding (AF23) 2597 011010 Assured Forwarding (AF31) 2597 011100 Assured Forwarding (AF32) 2597 011110 Assured Forwarding (AF33) 2597 100010 Assured Forwarding (AF41) 2597 100100 Assured Forwarding (AF42) 2597 100110 Assured Forwarding (AF43) 2597 101110 Expedited Forwarding (EF) 2598 References ========== RFC 2474, "Definition of the Differentiated Services (DS Field) in the IPv4 and IPv6 Headers", http://www.ietf.org/rfc/rfc2474.txt RFC 2475, "An Architecture for Differentiated Services", http://www.ietf.org/rfc/rfc2475.txt RFC 2597, "Assured Forwarding PHB Group", http://www.ietf.org/rfc/rfc2597.txt RFC 3246, "An Expedited Forwarding PHB", http://www.ietf.org/rfc/rfc3246.txt RFC 3247, "Supplemental Information for the New Definition of the EF PHB", http://www.ietf.org/rfc/rfc3247.txt RFC 3168, "The Addition of Explicit Congestion Notification (ECN) to IP", http://www.ietf.org/rfc/rfc3168.txt Ethereal, http://www.ethereal.com