Re: [j-nsp] RED Drops with Qos
Scott, I think the packet dropping is unavoidable, no matter how you configure RED. Most of the time, your TCP is in congestion avoidance state, it increases its transmission window size by one every RTT (round trip time). In other words, it will increase its transmission rate till congestion happens (that is when RED or tail drop kicks in). After TCP detects packet drops, it will decrease its window size by half ,and start increasing its transmission window size by one every RTT till congestion happens again. If you are using MS Windows TCP, Windows has a default limit on the maximum TCP window size (I do not remember the exact number). So if you have enough number of T1 to support the maximum TCP transmission rate limited by the maximum window size, you will not see drops. You can also change the maximum TCP window size to much larger number by editing the registry. Li On Mon, Dec 21, 2009 at 4:58 PM, Scott Berkman sc...@sberkman.net wrote: Derick, FYI after making your suggested changes I am still seeing drops: show configuration chassis fpc 2 pic 2 red-buffer-occupancy { weighted-averaged { instant-usage-weight-exponent 9; } } show interfaces queue ds-2/2/0:1:5:1 Physical interface: ds-2/2/0:1:5:1, Enabled, Physical link is Up Interface index: 165, SNMP ifIndex: 79 Description: Test-1 Forwarding classes: 4 supported, 4 in use Egress queues: 4 supported, 4 in use Queue: 0, Forwarding classes: be Queued: Packets : 290 0 pps Bytes:375596 0 bps Transmitted: Packets : 268 0 pps Bytes:346908 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets :22 0 pps Low, non-TCP: 0 0 pps Low, TCP:22 0 pps High, non-TCP : 0 0 pps High, TCP : 0 0 pps RED-dropped bytes: 28688 0 bps Low, non-TCP: 0 0 bps Low, TCP: 28688 0 bps High, non-TCP : 0 0 bps High, TCP : 0 0 bps Thanks, -Scott -Original Message- From: juniper-nsp-boun...@puck.nether.net [mailto:juniper-nsp-boun...@puck.nether.net] On Behalf Of Derick Winkworth Sent: Monday, December 21, 2009 4:41 PM To: juniper-nsp@puck.nether.net Subject: Re: [j-nsp] RED Drops with Qos By default, in JUNOS, there is no weighted average for RED. Queue-depth is evaluated in an instantaneous fashion. This means, of course, that there is no allowing for transient bursts. Under the chassis/pic hierarchy you must enable weighted-average RED and you should put a weight of 9 as a start. From: Scott Berkman sc...@sberkman.net To: juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:11:40 PM Subject: [j-nsp] RED Drops with Qos Hi All, I'm fairly new to Juniper, and I am trying to get our QoS setup right on a M20 running JunOS 8.3 being used for T1 aggregation. The PIC is an IQ-enabled ChOC12 card, and the interfaces are channelized T1's. We seem to be classifying traffic into the 4 queues correctly, but no matter what I change in the settings I am still seeing RED drops on TCP/Low traffic. Please find below the base configuration sections I am starting with. I have tried some different percentages, and tried defining specific drop-policies based on some suggestions in the achieves from this list, but no matter what I still see the drops in the same place. Are there any good best-practice guides to QoS on JunOS? I see lots about how the different settings effect the flow, but nothing in terms of what works well for others. Also is there anything obviously wrong below? Thanks in advance for any help, -Scott classifiers { dscp DSCP-CLASS { forwarding-class ef { loss-priority low code-points 101110; } forwarding-class af { loss-priority low code-points [ 011000 011010 ]; } forwarding-class be { loss-priority low code-points 00; } forwarding-class nc { loss-priority low code-points 111000; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { VOIP-MAP
Re: [j-nsp] RED Drops with Qos
By default, in JUNOS, there is no weighted average for RED. Queue-depth is evaluated in an instantaneous fashion. This means, of course, that there is no allowing for transient bursts. Under the chassis/pic hierarchy you must enable weighted-average RED and you should put a weight of 9 as a start. From: Scott Berkman sc...@sberkman.net To: juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:11:40 PM Subject: [j-nsp] RED Drops with Qos Hi All, I'm fairly new to Juniper, and I am trying to get our QoS setup right on a M20 running JunOS 8.3 being used for T1 aggregation. The PIC is an IQ-enabled ChOC12 card, and the interfaces are channelized T1's. We seem to be classifying traffic into the 4 queues correctly, but no matter what I change in the settings I am still seeing RED drops on TCP/Low traffic. Please find below the base configuration sections I am starting with. I have tried some different percentages, and tried defining specific drop-policies based on some suggestions in the achieves from this list, but no matter what I still see the drops in the same place. Are there any good best-practice guides to QoS on JunOS? I see lots about how the different settings effect the flow, but nothing in terms of what works well for others. Also is there anything obviously wrong below? Thanks in advance for any help, -Scott classifiers { dscp DSCP-CLASS { forwarding-class ef { loss-priority low code-points 101110; } forwarding-class af { loss-priority low code-points [ 011000 011010 ]; } forwarding-class be { loss-priority low code-points 00; } forwarding-class nc { loss-priority low code-points 111000; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { VOIP-MAP { forwarding-class be scheduler be-sched; forwarding-class ef scheduler ef-sched; forwarding-class af scheduler af-sched; forwarding-class nc scheduler nc-sched; } } schedulers { be-sched { transmit-rate percent 10; buffer-size percent 10; priority low; } ef-sched { transmit-rate percent 80; buffer-size percent 80; priority strict-high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } } Example interface: ds-2/2/0:1:1:1 { scheduler-map VOIP-MAP; unit 0 { classifiers { dscp DSCP-CLASS; } } } I also tested with the following scheduler and still saw the drops: be-sched { transmit-rate percent 80; buffer-size percent 80; priority high; } ef-sched { transmit-rate percent 10; buffer-size percent 10; priority high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } ___ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp ___ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp
Re: [j-nsp] RED Drops with Qos
Thanks Derick, I read about changing the RED method, but missed that it is done on the chassis/pic level, not in the drop-policies. I'll try this out and see where it gets us. On a related note, I saw some back and forth about setting the percentages (transmit-rate and buffer-size) on strict-high queues to other than 0. What are everyone's best recommendations/past successes on this? Thanks again! -Scott -Original Message- From: juniper-nsp-boun...@puck.nether.net [mailto:juniper-nsp-boun...@puck.nether.net] On Behalf Of Derick Winkworth Sent: Monday, December 21, 2009 4:41 PM To: juniper-nsp@puck.nether.net Subject: Re: [j-nsp] RED Drops with Qos By default, in JUNOS, there is no weighted average for RED. Queue-depth is evaluated in an instantaneous fashion. This means, of course, that there is no allowing for transient bursts. Under the chassis/pic hierarchy you must enable weighted-average RED and you should put a weight of 9 as a start. From: Scott Berkman sc...@sberkman.net To: juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:11:40 PM Subject: [j-nsp] RED Drops with Qos Hi All, I'm fairly new to Juniper, and I am trying to get our QoS setup right on a M20 running JunOS 8.3 being used for T1 aggregation. The PIC is an IQ-enabled ChOC12 card, and the interfaces are channelized T1's. We seem to be classifying traffic into the 4 queues correctly, but no matter what I change in the settings I am still seeing RED drops on TCP/Low traffic. Please find below the base configuration sections I am starting with. I have tried some different percentages, and tried defining specific drop-policies based on some suggestions in the achieves from this list, but no matter what I still see the drops in the same place. Are there any good best-practice guides to QoS on JunOS? I see lots about how the different settings effect the flow, but nothing in terms of what works well for others. Also is there anything obviously wrong below? Thanks in advance for any help, -Scott classifiers { dscp DSCP-CLASS { forwarding-class ef { loss-priority low code-points 101110; } forwarding-class af { loss-priority low code-points [ 011000 011010 ]; } forwarding-class be { loss-priority low code-points 00; } forwarding-class nc { loss-priority low code-points 111000; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { VOIP-MAP { forwarding-class be scheduler be-sched; forwarding-class ef scheduler ef-sched; forwarding-class af scheduler af-sched; forwarding-class nc scheduler nc-sched; } } schedulers { be-sched { transmit-rate percent 10; buffer-size percent 10; priority low; } ef-sched { transmit-rate percent 80; buffer-size percent 80; priority strict-high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } } Example interface: ds-2/2/0:1:1:1 { scheduler-map VOIP-MAP; unit 0 { classifiers { dscp DSCP-CLASS; } } } I also tested with the following scheduler and still saw the drops: be-sched { transmit-rate percent 80; buffer-size percent 80; priority high; } ef-sched { transmit-rate percent 10; buffer-size percent 10; priority high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } ___ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp ___ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp ___ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp
Re: [j-nsp] RED Drops with Qos
Derick, FYI after making your suggested changes I am still seeing drops: show configuration chassis fpc 2 pic 2 red-buffer-occupancy { weighted-averaged { instant-usage-weight-exponent 9; } } show interfaces queue ds-2/2/0:1:5:1 Physical interface: ds-2/2/0:1:5:1, Enabled, Physical link is Up Interface index: 165, SNMP ifIndex: 79 Description: Test-1 Forwarding classes: 4 supported, 4 in use Egress queues: 4 supported, 4 in use Queue: 0, Forwarding classes: be Queued: Packets : 290 0 pps Bytes:375596 0 bps Transmitted: Packets : 268 0 pps Bytes:346908 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets :22 0 pps Low, non-TCP: 0 0 pps Low, TCP:22 0 pps High, non-TCP : 0 0 pps High, TCP : 0 0 pps RED-dropped bytes: 28688 0 bps Low, non-TCP: 0 0 bps Low, TCP: 28688 0 bps High, non-TCP : 0 0 bps High, TCP : 0 0 bps Thanks, -Scott -Original Message- From: juniper-nsp-boun...@puck.nether.net [mailto:juniper-nsp-boun...@puck.nether.net] On Behalf Of Derick Winkworth Sent: Monday, December 21, 2009 4:41 PM To: juniper-nsp@puck.nether.net Subject: Re: [j-nsp] RED Drops with Qos By default, in JUNOS, there is no weighted average for RED. Queue-depth is evaluated in an instantaneous fashion. This means, of course, that there is no allowing for transient bursts. Under the chassis/pic hierarchy you must enable weighted-average RED and you should put a weight of 9 as a start. From: Scott Berkman sc...@sberkman.net To: juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:11:40 PM Subject: [j-nsp] RED Drops with Qos Hi All, I'm fairly new to Juniper, and I am trying to get our QoS setup right on a M20 running JunOS 8.3 being used for T1 aggregation. The PIC is an IQ-enabled ChOC12 card, and the interfaces are channelized T1's. We seem to be classifying traffic into the 4 queues correctly, but no matter what I change in the settings I am still seeing RED drops on TCP/Low traffic. Please find below the base configuration sections I am starting with. I have tried some different percentages, and tried defining specific drop-policies based on some suggestions in the achieves from this list, but no matter what I still see the drops in the same place. Are there any good best-practice guides to QoS on JunOS? I see lots about how the different settings effect the flow, but nothing in terms of what works well for others. Also is there anything obviously wrong below? Thanks in advance for any help, -Scott classifiers { dscp DSCP-CLASS { forwarding-class ef { loss-priority low code-points 101110; } forwarding-class af { loss-priority low code-points [ 011000 011010 ]; } forwarding-class be { loss-priority low code-points 00; } forwarding-class nc { loss-priority low code-points 111000; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { VOIP-MAP { forwarding-class be scheduler be-sched; forwarding-class ef scheduler ef-sched; forwarding-class af scheduler af-sched; forwarding-class nc scheduler nc-sched; } } schedulers { be-sched { transmit-rate percent 10; buffer-size percent 10; priority low; } ef-sched { transmit-rate percent 80; buffer-size percent 80; priority strict-high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } } Example interface: ds-2/2/0:1:1:1 { scheduler-map VOIP-MAP; unit 0 { classifiers { dscp DSCP-CLASS; } } } I also tested with the following scheduler and still saw the drops: be-sched { transmit-rate percent 80; buffer-size
Re: [j-nsp] RED Drops with Qos
Enable extended buffer size.. q-pic-large-buffer also under chassis/pic configuration. From: Scott Berkman sc...@sberkman.net To: Derick Winkworth dwinkwo...@att.net; juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:58:45 PM Subject: RE: [j-nsp] RED Drops with Qos Derick, FYI after making your suggested changes I am still seeing drops: show configuration chassis fpc 2 pic 2 red-buffer-occupancy { weighted-averaged { instant-usage-weight-exponent 9; } } show interfaces queue ds-2/2/0:1:5:1 Physical interface: ds-2/2/0:1:5:1, Enabled, Physical link is Up Interface index: 165, SNMP ifIndex: 79 Description: Test-1 Forwarding classes: 4 supported, 4 in use Egress queues: 4 supported, 4 in use Queue: 0, Forwarding classes: be Queued: Packets : 290 0 pps Bytes:375596 0 bps Transmitted: Packets : 268 0 pps Bytes:346908 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets :22 0 pps Low, non-TCP: 0 0 pps Low, TCP:22 0 pps High, non-TCP : 0 0 pps High, TCP : 0 0 pps RED-dropped bytes: 28688 0 bps Low, non-TCP: 0 0 bps Low, TCP: 28688 0 bps High, non-TCP : 0 0 bps High, TCP : 0 0 bps Thanks, -Scott -Original Message- From: juniper-nsp-boun...@puck.nether.net [mailto:juniper-nsp-boun...@puck.nether.net] On Behalf Of Derick Winkworth Sent: Monday, December 21, 2009 4:41 PM To: juniper-nsp@puck.nether.net Subject: Re: [j-nsp] RED Drops with Qos By default, in JUNOS, there is no weighted average for RED. Queue-depth is evaluated in an instantaneous fashion. This means, of course, that there is no allowing for transient bursts. Under the chassis/pic hierarchy you must enable weighted-average RED and you should put a weight of 9 as a start. From: Scott Berkman sc...@sberkman.net To: juniper-nsp@puck.nether.net Sent: Mon, December 21, 2009 3:11:40 PM Subject: [j-nsp] RED Drops with Qos Hi All, I'm fairly new to Juniper, and I am trying to get our QoS setup right on a M20 running JunOS 8.3 being used for T1 aggregation. The PIC is an IQ-enabled ChOC12 card, and the interfaces are channelized T1's. We seem to be classifying traffic into the 4 queues correctly, but no matter what I change in the settings I am still seeing RED drops on TCP/Low traffic. Please find below the base configuration sections I am starting with. I have tried some different percentages, and tried defining specific drop-policies based on some suggestions in the achieves from this list, but no matter what I still see the drops in the same place. Are there any good best-practice guides to QoS on JunOS? I see lots about how the different settings effect the flow, but nothing in terms of what works well for others. Also is there anything obviously wrong below? Thanks in advance for any help, -Scott classifiers { dscp DSCP-CLASS { forwarding-class ef { loss-priority low code-points 101110; } forwarding-class af { loss-priority low code-points [ 011000 011010 ]; } forwarding-class be { loss-priority low code-points 00; } forwarding-class nc { loss-priority low code-points 111000; } } forwarding-classes { queue 0 be; queue 1 ef; queue 2 af; queue 3 nc; } scheduler-maps { VOIP-MAP { forwarding-class be scheduler be-sched; forwarding-class ef scheduler ef-sched; forwarding-class af scheduler af-sched; forwarding-class nc scheduler nc-sched; } } schedulers { be-sched { transmit-rate percent 10; buffer-size percent 10; priority low; } ef-sched { transmit-rate percent 80; buffer-size percent 80; priority strict-high; } af-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } nc-sched { transmit-rate percent 5; buffer-size percent 5; priority high; } } Example