1. A method of determining an optimal framing of network traffic, the method comprising: receiving a data stream over a time period; applying a plurality of framing heuristics to the data stream to generate a heuristics result for each framing heuristic of the plurality of framing heuristics, wherein a heuristics result results from application of a framing heuristic to the data stream; determining a scoring metric value for each framing heuristic of the plurality of framing heuristics based on the heuristics result for that framing heuristic; ranking at least a portion of the plurality of framing heuristics according to their respective scoring metric values; and selecting at least one framing heuristic of the plurality of framing heuristics in response to the ranking, wherein the selected framing heuristic is selected to be used for framing the data stream received.