User Tools

Site Tools


juniper:how_many_packets_per_second_per_port_are_needed_to_achieve_wire-speed

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
juniper:how_many_packets_per_second_per_port_are_needed_to_achieve_wire-speed [2024/02/18 09:13] aperezjuniper:how_many_packets_per_second_per_port_are_needed_to_achieve_wire-speed [2024/02/18 09:41] (current) aperez
Line 17: Line 17:
 We need to see how much ‘space’ each packet will occupy so we will look at the frame size in which the smallest packet will be encapsulated, as well as the inter-frame gap, and the preamble since they occupy ‘space’ in between frames. We need to see how much ‘space’ each packet will occupy so we will look at the frame size in which the smallest packet will be encapsulated, as well as the inter-frame gap, and the preamble since they occupy ‘space’ in between frames.
  
-{{ :juniper:renditiondownload.jpg?400 |}} 
  
  
 +{{ :juniper:juniper0.png?800 |}}
  
-Figure 1: ‘Space’ Occupied by the smallest packet+ 
 + 
 + 
 + 
 + 
 + 
 +**Figure 1: ‘Space’ Occupied by the smallest packet**
  
 As seen in figure 1, a packet will occupy at least **84 bytes** on the wire. So taking the example of a **1G port** we first have to convert the speed into bytes: As seen in figure 1, a packet will occupy at least **84 bytes** on the wire. So taking the example of a **1G port** we first have to convert the speed into bytes:
Line 46: Line 52:
  
  
-{{ :juniper:jupiter3.jpeg?400 |}}+ 
 + 
 +{{ :juniper:juniper0.1.png?600 |}} 
 + 
 + 
 + 
 + 
 +**Figure 2: 802.1Q tagged minimum frame** 
 + 
 +As we can see the minimum frame has increased in size by 4 bytes. Let’s examine how this will affect the calculations we have performed above since the minimum ‘space’ that a frame will occupy has increased from 84 bytes to 88 bytes while taking the wire speed of 1Gbps as an example: 
 + 
 +**1Gbps = 1,000,000,000 bits/s = (1,000,000,000 bits/s) / (8 bits/byte)= 125,000,000 bytes/s** 
 + 
 +**PPS = (125,000,000 bytes/s) / (88 bytes/packet) = 1,420,454 pps.** 
 + 
 +From the above calculation, it is apparent that the amount of packets that the wire can pass per second has decreased slightly. This is to be expected since the wire now has to carry more information for every packet processed. 
 + 
 +The above table is shown below with the values recalculated for 802.1Q tagged packets. 
 + 
 +{{ :juniper:jupiter4.jpeg?400 |}} 
 + 
 +**Table 2: PPS Calculation (802.1Q)** 
 + 
 +It is worth noting that within the 802.1Q standard, there is a concept of a ‘Native VLAN’. This means that dot1Q will not tag the frame egressing the trunk port for one select VLAN. For these particular frames, the first calculation will apply since they do not contain the dot1Q tag. 
 + 
 +**Q-in-Q** 
 + 
 +An amendment to the 802.1Q standard is the 802.1ad or otherwise known as Q-in-Q. The purpose of this amendment was to create a method for users to run their own VLANs inside the VLANs offered by a Metro Ethernet Service Provider. To achieve this goal a second tag is inserted in the Ethernet frame to distinguish the customer VLANs as shown below: 
 + 
 + 
 + 
 +{{ :juniper:juniper10.jpg?600 |}} 
 + 
 + 
 + 
 +**Figure 3: 802.1ad tagged frame** 
 + 
 +For the purposes of our calculation this second tag will increase the ‘space’ a single frame will occupy by another 4 bytes. As such the smallest frame size will increase again from 88 bytes to 92 bytes total. Therefore our speeds/PPS table will look as follows: 
 + 
 +{{ :juniper:juniper6.jpeg?400 |}} 
 + 
 +**Table 3: PPS Calculation (802.1ad)** 
 + 
 +As it is becoming readily noticeable, the more information we encode in the packet the more the maximum number of packets per second limit drops for each wire speed. 
 + 
 +**MPLS** 
 + 
 +Another Ethernet technology which alters the frame on the wire is **Multi Protocol Label Switching (MPLS)**. MPLS operates between **Layers 2 and 3 of the OSI model and is frequently referred to as a Layer 2.5 protocol**. MPLS works by prefixing packets with an MPLS header, containing one or more 'labels'. These labels are used for deciding where the traffic will go to next in the network. Each label is 32 bits in length. 
 + 
 +MPLS labels can be stacked in one frame to allow more flexibility in MPLS packet handling. From the frame point of view, our PPS calculation will depend on how many labels are stacked in the frame. The maximum number of labels that can be placed on one frame depends on factors affecting the processing of the frame such as MTU size for that segment and the capability of the device to process frames with that amount of labels in them. 
 + 
 +For our example we will look at a packet with 3 labels placed in it: 
 + 
 + 
 +{{ :juniper:juniper11.jpg?600 |}} 
 + 
 +{{ :juniper:juniper12.gif?600 |}} 
 + 
 + 
 +**Figure 4: MPLS tagged frame** 
 + 
 +As you can see, each label will occupy 4 more bytes of ‘space’ on our wire. As such for the 3 label example the total size of the frame on the wire will be 96 bytes. The formula for calculating wire packets per second should be apparent by now and it will result in the following speeds for the 3 label example shown above: 
 + 
 +{{ :juniper:juniper8.jpeg?400 |}}
  
  
juniper/how_many_packets_per_second_per_port_are_needed_to_achieve_wire-speed.1708265637.txt.gz · Last modified: 2024/02/18 09:13 by aperez

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki