Mar-16 1 Cairo University Faculty of Engineering Electronics &Communication dpt. 4th year Linux-based Implementation Of a Router (B.Sc Graduation project) Supervisor: Prof. Dr. Khaled Foad El-Sayed. Submitted by: Ashraf Kamal Rahoma Hazem Mohamed Sobhi Hassanein Hossam El-Sayed Abd Allah Tarek Amr Hamed Zein El-Abidin Mohamed WALI
Mar-16 2 Introduction to QoS: Motivation: QoS Terminology and Parameters: Internet Protocol (IP).was designed to provide best-effort service. VoIP FTP QOS: Quality of Service (QoS) implies the ability to differentiate traffic streams and to define a level of performance for those traffic streams across a network. When heavily utilized networks are carrying various types of traffic for different users, QoS is a mean of offering better service
Mar-16 3 Parameters 1.Latency the delay a flow experiences when passing through a device 2.Jitter the latency variations 3.loss probability bandwidth distribution and availability (throughput or goodput)
Mar-16 4 IntServ vs. DiffServ IntServ overview
Mar-16 5 RSVP Protocol
Mar-16 6 RSVP Protocol
Mar-16 7 RSVP Protocol
Mar-16 8 RSVP Protocol
Mar-16 9 IntServ vs. DiffServ Each has its won points of strength And weakness
Mar DiffServ Architecture DiffServ Architectural Model Differentiated Services Domain DS Boundary Nodes and Interior Nodes: DS Ingress Node and Egress Node: Differentiated Services Region: Traffic Classification and Conditioning: Classifiers: Traffic Profiles: Traffic Conditioners:
Mar Meters: Markers: Shapers: Droppers: Location of Traffic Conditioners and MF Classifiers: Within the Source Domain: At the Boundary of a DS Domain: In non-DS-Capable Domains: In Interior DS Nodes:
Mar ToS VS DSCP Introduction Type of service byte definition
Mar Type of service byte definition
Mar-16 14
Mar Disadvantages of ToS The IP-precedence scheme allows only specification of relative priority of a packet. it has no provisions to specify different drop precedence for packets of a certain priority. The 3 bits restrict the number of possible priority classes to 8 The ToS mechanism is not powerful enough to allow an application to quantify the level of service it desires.
Mar Differentiated services field definition
Mar Per Hop Behavior PHB A per-hop behavior (PHB) is a description of the externally observable forwarding behavior of a DS node applied to a particular DS behavior aggregate (BA). Different PHB’s Currently there are 4 standard different per hop behaviors PHB’s: Default PHB Class-Selector PHB. Assured Forwarding (AFny) PHB. Expedited Forwarding (EF) PHB.
Mar-16 18
Mar DiffServ Support under Linux Linux Traffic Control Overview
Mar Linux Traffic Controller
Mar Implementation and Code TC Implementation
Mar Note: In this drawing only one AF class is shown for the simplicity of the drawing, the other ones are just the same. DSMARK CBQ pFIFO: Low queuing delay (latency). Well defined minimum departure rate, i.e. independent of the other traffic at the node. No burst. (policing). 4 CBQ: Four AF classes with different fractions of the bandwidth allocated for each. In each one we have three dropping precedence’s (RED) Bandwidth assurance, RED: No bandwidth guarantee. No quality of service: No policing filters, no shaping.
Mar Traffic Classes Variables: Setting Functions: Constructor. Destructor Set Device Set Network Set Rates Set PHB’s Set Police Set ToS
Mar Infra-structure Functions: t_start( ) Make_phb( ) make_EF( ) make_AF( ) make_BE( ) make_Subfilter( ) make_marker( ) t_reset( ) Filtering Functions: Make Filter Get Command
Mar Software implementation Architecture Overview. Graphical User Interface (GUI). System programming.
Mar using C++ Classes Architecture Overview To ensure encapsulation & independence To control the communication & error tracing To give the ability to change or update any specific parts.
Mar using C++ Classes Architecture Overview
Mar Detailed view
Mar Communication between Classes
Mar GUI tabs PHB configuration tab
Mar Advanced PHB
Mar Filter Setup Tab
Mar Summary view Tab
Mar TC Experts Tab
Mar Testing:
Mar Testing procedure We have performed testing on 3 basic levels: 1. Marking: Testing if packets were marked according to specified classification. 2. ToS: Testing if the classification according to ToS and monitoring packets flow were mapped to the required PHB 3. PHB’s Implementation: Monitoring different rates assigned to each class
Mar Than You !