* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download QoS Terminology and Parameters
Survey
Document related concepts
Asynchronous Transfer Mode wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Distributed firewall wikipedia , lookup
Airborne Networking wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Network tap wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Transcript
Cairo University Faculty of Engineering Electronics &Communication dpt. 4th year Linux-based Implementation Of a Router Supervisor: Prof. Dr. Khaled Foad El-Sayed. Submitted by: Ashraf Kamal Rahoma (B.Sc Graduation project) Hazem Mohamed Sobhi Hassanein Hossam El-Sayed Abd Allah Tarek Amr Hamed Zein El-Abidin Mohamed WALI May-17 1 Introduction to QoS: Motivation: Internet Protocol (IP).was designed to provide best-effort service. • VoIP • FTP QoS Terminology and Parameters: 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 May-17 2 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) May-17 3 IntServ vs. DiffServ IntServ overview Data path: Per-flow classification Per-flow buffer management . Per-flow scheduling May-17 Control path: Install and maintain per-flow state for data and control planes. 4 RSVP Protocol May-17 5 RSVP Protocol May-17 6 RSVP Protocol May-17 7 RSVP Protocol May-17 8 IntServ vs. DiffServ Each has its won points of strength And weakness May-17 9 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: May-17 10 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: May-17 11 ToS VS DSCP Introduction Type of service byte definition May-17 12 Type of service byte definition May-17 13 Table 2.1: IP precedence bits Bits (0-2) 111 110 101 100 011 101 001 000 IP-precedence definition Network control Internetwork control CRITIC/ECP Flash override Flash Immediate Priority routine Table 2.2: ToS field values Bits (3-6) 1000 0100 0010 0001 0000 May-17 ToS field definition Minimize delay Maximize throughput Maximize reliability Minimize monetary cost Normal service 14 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. May-17 15 Differentiated services field definition May-17 16 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. May-17 17 Name DSCP (Hex) Description Default PHB 000000 0x0h Best Effort (BE) 111000 110000 101000 100000 011000 101000 001000 0x38h 0x30h 0x28h 0x20h 0x18h 0x28h 0x8h 101110 0xB8h Network Control Inter-netwrok Control CRITIC/ECP Flash override Flash Immediate Priority Low-loss, low-latency, low-jitter and assured bandwidth Low dP medium dP high dP low dP medium dP high dP low dP medium dP high dP low dP medium dP high dP Class-selector PHBs ’xxx000’ Expedited Forwarding EF AF1y 001 Assured Forwarding AF AF2y 010 AF3y 011 AF4y 100 May-17 010 100 110 010 100 110 010 100 110 010 100 110 18 0x28h 0x30h 0x38h 0x48h 0x50h 0x58h 0x68h 0x70h 0x78h 0x88h 0x90h 0x98h DiffServ Support under Linux Linux Traffic Control Overview May-17 19 Linux Traffic Controller Syntax: tc [OPTIONS] OBJECT {COMMAND | help} Where OBJECT: = {qdisc | class | filter} OPTIONS: = {-s [tatistics] | -d [etails] | -r [aw]} May-17 Queueing disciplines 1. DSMARK 2. CBQ 3. TBF 4. p/bFIFO 5. PRIO 6. RED 7. GRED 8. Ingress Classes 1. DSMARK 2. CBQ filters (or classifier) 1. U32 2. TCINDEX 3. ROUTE 4. FIREWALL 20 Police Implementation and Code TC Implementation May-17 21 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. May-17 22 Traffic Classes Variables: Setting Functions: Constructor. Destructor Set Device Set Network Set Rates Set PHB’s Set Police Set ToS May-17 23 Infra-structure Functions: t_reset( ) t_start( ) make_marker( ) Make_phb( ) make_BE( ) make_EF( ) make_Subfilter( ) make_AF( ) Filtering Functions: Make Filter Get Command May-17 24 Software implementation Architecture Overview. Graphical User Interface (GUI). System programming. May-17 25 Architecture Overview using C++ Classes To ensure encapsulation & independence To control the communication & error tracing To give the ability to change or update any specific parts. May-17 26 Architecture Overview using C++ Classes May-17 27 Detailed view May-17 28 Communication between Classes Apply_phb() DiffServ Class A pp ly _advanced() May-17 Set_device() Set_network() Set_Rates() Apply_advanced() Set_phb() Set_policing() Set_tos() Apply_filter() make_filter() Set_phb () Set_ polici ng() Traffic Class A pp ly _advanced() 29 Set_phb () Set_ polici ng() GUI tabs PHB configuration tab May-17 30 Advanced PHB May-17 31 Filter Setup Tab May-17 32 Summary view Tab May-17 33 TC Experts Tab May-17 34 4.4 Testing: Description PC1 DiffServ Router PC2 Platform Linux Speed PIII –1000 MHZ Running s/w Traffic Generator ( TG) Ethernet eth0 cards Linux PIII –850 MHZ Windows XP PIII –600 MHZ Traffic Monitoring (CommView) May-17 DiffServ S/W eth0 eth1 35 eth0 4.5 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 May-17 36 Than You ! May-17 37