Quantcast
Channel: All SRX Services Gateway posts
Viewing all articles
Browse latest Browse all 17645

CoS Design Questions\Concerns

$
0
0

Hello Juniper experts,

 

We are getting ready to implement a new provider based VPLS WAN solution. We are looking heavily at the new SRX300 series at our edge due to both price\performance and familiarity. That being said there are some concerns over CoS since we will be transitioning our internal VoIP traffic to this service.

 

I have done a fair amount of research and think that I have a plan of attack, but was hoping to get some more guidance. 

Our main areas of concern are as follows:

1. Voice quality must not suffer, so its traffic can't be delayed

2. We have some branches that will have a slower connection into the provider cloud. A typical branch will have a 100Mb connection, but two smaller branches will only get 50Mb. 

3. The provider will be handing off the connections as 1Gb fiber or 100Mb fast-ethernet, so our actual speeds will not match the speed reported by the physical interface. 

 

I have put together the config below for a 100Mb office, but am not sure it will accomplish our goals. Here are my questions:

1. Where should I put the 100Mb shaping-rate command? As is, under the virtual-channel, I'm afraid that congestion won't be properly detected. According to the documentation if you use virtual channels, you can't put a shaping-rate under the interfaces stanza. How does the device know that the interface as a whole is limited to 100Mb?

2. Again, according to the documentation, each virtual channel gets its own set of eight queues. How are those weighted? Could the strict-high scheduler starve queues across each virtual channel or only its own?

3. Is there a better way altogether? Multiple logical interfaces? Policer to limit the whole connection to 100Mb? Policers for the 50Mb? 

 

Thanks in advance for any advice or input

 

I know the config isn't commit ready, but hopefully my train of though is clear. 

 

interfaces {
	ge-0/0/0 {
		description toWan;
		per-unit-scheduler;
		unit 0 {
			family inet {
				filter {
					output [choose-vc voice-term];
				}
				address 1.1.1.1/30;
			}
		}
	}
	ge-0/0/1 {
        description Voice;
        unit 0 {
            family inet {
                filter {
                    input mf-classifier;
                }
                sampling {
                    input;
                }
                address 172.16.0.3/22;
            }
        }
    }

}
class-of-service {
virtual-channels {
	branch1-vc;
	branch2-vc;
	default-vc;
}
virtual-channel-groups {
	wan-vc-group {
		branch1-vc {
			scheduler-map OUTBOUND-QOS;
			shaping-rate 50m;
		}
		branch2-vc {
			scheduler-map OUTBOUND-QOS;
			shaping-rate 50m;
		}	
		
		default-vc {
			scheduler-map OUTBOUND-QOS;
			shaping-rate 100m;
			default;
		}
	}
}
scheduler-maps {
	OUTBOUND-QOS {
		forwarding-class expedited-forwarding scheduler expedited-forwarding;
		forwarding-class assured-forwarding scheduler assured-forwarding;
		forwarding-class best-effort scheduler best-effort;
		forwarding-class network-control scheduler network-control;
	}
}
schedulers {
	expedited-forwarding {
		transmit-rate 10 percent;
		priority strict-high;
	}
	assured-forwarding {
		transmit-rate 65 percent;
		priority medium-high;
	}
	best-effort {
		transmit-rate 15 percent;
		priority low;
	}
	network-control {
		transmit-rate 500k;
		priority high;
	}
}
interfaces {
	ge-0/0/0 {
	
		unit 0 {
			virtual-channel-group wan-vc-group;
		}
	}
}
}
firewall {
policer voice-drop {
	if-exceeding {
		bandwidth-limit 15m;
		burst-size-limit 200k;
	}
	then discard;
}
policer voice-excess {
	if-exceeding {
		bandwidth-limit 10m;
		burst-size-limit 200k;
	}
	then out-of-profile;
}
filter voice-term {
	term 01 {
		from {
			forwarding-class expedited-forwarding;
		}
		then {
			policer voice-drop;
			next term;
		}
	}
	term 02 {
		from {
			forwarding-class expedited-forwarding;
		}
		then {
			policer voice-excess;
		}
		term 03 {
			then accept;
		}	
	}
}
filter mf-classifier {
        interface-specific;
        term assured-forwarding {
            from {
                destination-address {
                    192.168.10.0/24;
                }
            }
            then {
                loss-priority medium-low;
                forwarding-class assured-forwarding;
            }
        }
        term expedited-forwarding {
            from {
                destination-address {
                    172.16.8.0/22;
                }
            }
            then {
                loss-priority low;
                forwarding-class expedited-forwarding;
            }
        }
        term network-control {
            from {
                precedence net-control;
            }
            then forwarding-class network-control;
        }
        term best-effort {
            
            then forwarding-class best-effort;
        }
    }

family inet {
	filter choose-vc {
		term branch1 {
			from {
				destination-address {
					192.168.10.0/24;
				}
			}
			then {
				virtual-channel branch1-vc;
				accept;
			}
		}
		term branch2 {
			from {
				destination-address {
					192.168.11.0/24;
				}
			}
			then {
				virtual-channel branch2-vc;
				accept;
			}
		}
		term default {
			
			then {
				virtual-channel default-vc;
				accept;
			}
		}		
	}
}
}

Viewing all articles
Browse latest Browse all 17645

Trending Articles