Chapter : 18 DiffServ Quality of Service (QoS) 1 Introducing QoS 2 Quality of Service คืออะไร? Quality of Service (QoS) หรื อ แปลตรงตัวแล้วนัน่ ก็คือคุณภาพการ ให้บริ การนัน่ เอง แต่ในที่น้ ี เราจะหมายความถึง บริ การที่ได้รับจากโครงข่ายการ สื่ อสารจะเกี่ยวข้องกับการตอบสนองของแอพพลิเคชัน่ ต่างๆที่เราใช้งานได้ดี หรื อสามารถใช้งานเครื อข่ายนั้นได้คุณภาพที่ดีนนั่ เอง โดยสิ่ งที่ส่งผลต่อคุณภาพ ดังกล่าว สาหรับในเครื อข่ายการสื่ อสารแบบแพ็กเกตหรื อ packet network นั้น สิ่ งต่างๆดังกล่าวจะได้แก่ Bandwidth • Packet loss • Delay • 3 Other describe • Network Based Application Recognition (NBAR) • Class of Service (CoS) • IP Precedence • Differentiated Service Code Point (DSCP) • Modular QoS CLI (MQC) • Queuing • Traffic Conditioning • Congestion Avoidance 4 The Problems You Face 5 Bandwidth Increased bandwidth • Prioritized traffic Weighted fair queuing (WFQ) Class-based weighted fair queuing (CBWFQ) Low latency queuing (LLQ) Weighted round robin (WRR) • • Compression 6 Delay Processing delay • Queuing delay • Serialization delay • Propagation delay • Path of solve a problem Increase Bandwidth • Priority Forwarding • Compression • 7 Packet loss Increased bandwidth • Priority Forwarding Configure • Congestion Avoidance • 8 Preparing to Implement QoS 9 Preparing to Implement QoS การใช้ QoS บนเครื อข่ายจะแบ่งเป็ น 3 กระบวนการคือ 1. การระบุชนิ ดการสื่ อสารและเทคนิ คที่ตอ้ งการของแต่ละชนิ ดการสื่ อสาร 2. การแบ่งชนิ ดของการสื่ อสาร ให้เป็ นประเภทที่แตกต่างกันเพื่อให้ QoS สามารถเข้าถึงแต่ละประเภทของการสื่ อสาร 3. สร้างนโยบาย QoS ที่ตรงกับความต้องการของประเภทของการสื่ อสาร และเครื อข่ายของคุณ 10 Preparing to Implement QoS Identifying Traffic Classifying Traffic 11 Identifying Traffic Concept: NBAR 12 Classifying Traffic Incoming interface IP precedence Differentiated Services Code Point (DSCP) Source or destination address Application 13 Classifying Traffic 14 Models for Implementing QoS มีดว้ ยกัน 3 รู ปแบบ เพื่อใช้ในการเพิ่มประสิ ทธิ ภาพของ QoS ในระบบเครื อข่าย The best effort model Integrated Services model (IntServ) Differentiated Services model (DiffServ) 15 QoS Mechanisms 16 QoS features Traffic marking Queuing Traffic conditioning Congestion avoidance 17 Traffic Marking การทาเครื่ องหมายการสื่ อสารนั้นช่วยให้อุปกรณ์ในเครื อข่าย สามารถแยกประเภทของแพ็กเก็ต เช่น Data Link Layer ใช้การทาเครื่ องหมายแบบ CoS Network Layer มีการใช้ IP Precedence และ Differentiated Service Code Point (DSCP) 18 Class of Service (CoS) 19 IP Precedence && Differentiated Services Code Point (DSCP) 20 Concept: The DiffServ Field 21 Concept: PHB Notation 22 DSCP with Drop Probability 23 Tell Yourself, “Six Bits, Only Six Bits!” 24 Queuing First- In-First-Out (FIFO) Priority Queuing (PQ) Weighted round robin (WRR) Weighted fair queuing (WFQ) Class-based weighted fair queuing (CBWFQ) Low latency queuing (LLQ) 25 Traffic Conditioning Policing Shaping 26 Congestion Avoidance Random early detection (RED) Weighted random early detection (WRED) 27 Configuring QoS 28 Configuring QoS Legacy Command-Line Interface (CLI) Modular QoS CLI (MQC) Auto QoS SDM QoS Wizard 29 Legacy Command-Line Interface (CLI) In the past, the only way to implement a QoS policy in the network was by using the Command-Line Interface (CLI) to individually configure QoS policies at each interface. 30 Modular QoS CLI (MQC) Cisco introduced the Modular QoS CLI (MQC) to simplify QoS configuration. With MQC, QoS can be configured in a buildingblock approach, using a single module repeatedly to apply policy to multiple interfaces. 31 Auto QoS Cisco AutoQoS represents innovative technology that simplifies the challenges of network administration by reducing QoS complexity, cost, and deployment time. 32 SDM QoS Wizard You can easily configure, manage, and troubleshoot QoS deployments using the Cisco Security Device Manager (SDM) QoS Wizard. 33 Small Office/ Home Office (SOHO) 34 Concept: MQC Class-map (for traffic classification) Policy-map (QoS component assignment) Service-policy (for applying to an interface) 35 Incoming Class-Map Configuration เป็ นส่ วนแรกของการตั้งค่านโยบาย สามารถเลือกพารามิเตอร์ เพื่อ กาหนด class-map หากต้องการกาหนดหลาย state ให้ใช้ AND แต่ถา้ เลือกใช้ให้กาหนด OR เพื่อเลือกตัวใดตัวหนึ่ ง ถ้าไม่ใช้ตวั เลือกนี้ให้ต้ งั ค่า เป็ นค่าเริ่ มต้นทั้งหมด 36 ต้องระบุชื่อสาหรับ class-map การกาหนดนโยบาย QoS สาหรับ SOHO เพื่อการเชื่อมต่อ DalRtr1 ไปที่ฐาน class-map ชื่อที่ใช้คน้ หาบนชนิด ของข้อมูลเข้าออก voice_mark video_mark ตัวอย่างการสร้าง class-map DalRtr1(config)#class-map voice_mark DalRtr1(config-cmap)# 37 การจัดกลุ่ม class-map DalRtr1(config-cmap)# match ? access-group กลุ่ม access any แพ็กเกตใดๆ class-map Class map cos IEEE 802.1Q/ISL ระดับการ ให้บริ การความสาคัญของผูใ้ ช้ destination-address ที่อยูป่ ลายทาง discard-class ระบุการยกเลิก dscp ตรง DSCP ใน IP (v4) และ IPv6 38 DalRtr1(config)#class-map voice_mark DalRtr1(config-cmap)#match protocol rtp audio DalRtr1(config)#class-map http_mark DalRtr1(config-cmap)#match protocol http DalRtr1(config-cmap)#exit DalRtr1(config)#class-map ftp_mark DalRtr1(config-cmap)#match protocol ftp DalRtr1(config-cmap)#exit DalRtr1(config)#class-map business_app_mark DalRtr1(config-cmap)#match acccess-group 101 DalRtr1(config)#access-list 101 permit tcp any any eq 16384 39 Incoming Policy-Map Configuration การเข้าใช้งานต้องมีการระบุ class-map กาหนดตั้งค่านโยบาย สาหรับการเข้าใช้งานโดยตรง QoS สามารถกาหนดเครื่ องหมายได้และไม่จาแนกประเภทการเข้า ใช้โดยโปรโตคอล เริ่ มต้นด้วยคาสัง่ policy-map โดยจะต้องระบุชื่อให้ตรงกับ classmap จะสร้าง policy-map ทั้งหมดของ class-map ดังนั้นชื่อตามนโยบายจะ ตั้งชื่อ minemark_traffic สิ่ งที่ควรรู ้คือ คาสั่งของ class 40 DalRtr1(config ) #policy-map mark-traffic DalRtr1(config-pmap)#? คาสัง่ การตั้งค่า QoS policy-map class เกณฑ์นโยบาย description ประเภท Policy-Map exit ออกจากนโยบาย QoS โหมด การตั้งค่า policymap no ปฏิเสธ หรื อ ตั้งค่าเริ่ มต้น rename เปลี่ยนชื่อของ policy-map 41 คาสั่ง class เชื่อมโยง class-map และ เส้นทางที่ระบุโดย class-map ไปยัง policy-map ตัวเลือกที่จะใส่ หลังจากคาสั่ง class คือ ชื่อของ class-map Output ของคุณควรจะเหมือนดังต่อไปนี้ DalRtr1(config-pmap)#class voice_mark DalRtr1(config-pmap-c)# 42 ข้อสังเกตในการกาหนด class-map โดยการเคลื่อนย้ายด้วยโหมด class policy-map-c ในโหมดนี้คุณสามารถกาหนดค่า class ของช่องทางการ สื่ อสารสามารถกาหนดค่าดังนี้ DalRtr1(config-pmap-c)#? คาสั่งกาหนดค่า QoS policy-map class bandwidth แบนด์วิดธ์ compression ตอบสนองการบีบอัด drop ทิ้งแพ็คเก็ตทั้งหมด estimate ประเมินทรัพยากรในคลาส exit ออกจากการกาหนดค่า QoS 43 netflow-sampler no police priority queue-limit random-detect service-policy set shape การทา NetFlow คัดค้านหรื อตั้งค่าเริ่ มต้นของคาสั่ง Police ให้ความสาคัญใน class นี้ ขีดจากัดสู งสุ ดในการละทิ้ง เปิ ดการสุ่ มการค้นหาเท่ากับการทิ้ง กาหนดค่า Flow Next ตั้ง ค่า QoS การสร้างการเข้าใช้ 44 DalRtr1(config-pmap-c)#set ? atm-clp ตั้ง ATM CLP bit เป็ น 1 cos กาหนด IEEE 802.1Q/ISL class ของ service/user priority discard-class ระบุการยกเลิก dscp กาหนด DSCP ในแพ็กเก็ต IP(v4) และ IPv6 fr-de กาหนด FR DE bit เป็ น 1 ip กาหนด IP ค่าเฉพาะ mpls กาหนด MPLS ค่าเฉพาะ precedence กาหนดแพ็คเก็ตสาคัญใน IP (v4) และ IPv6 qos-group กาหนดกลุ่ม QoS 45 Incoming Service-Policy Configuration ส่ วนสุ ทา้ ยของการกาหนดค่าบริ การนโยบาย โดยมีการกาหนดการเข้าใช้ดงั นี้ DalRtr1(config-pmap-c)#exit DalRtr1(config)#int fa0/0 DalRtr1(config-if)#service-policy input mark_traffic 46 Outgoing Policy-Map Configuration ในนโยบายนี้ class-map แบ่งประเภทการใช้งานการสื่ อสาร classmap ควรมีลกั ษณะดังนี้ DalRtr1(config)#class-map queue_voice DalRtr1(config-cmap)#match dscp ef DalRtr1(config-cmap)#exit DalRtr1(config)#class-map queue_business_app DalRtr1(config-cmap)#match dscp af31 DalRtr1(config-cmap)#exit DalRtr1(config)#class-map queue_http_ftp DalRtr1(config-cmap)#match dscp af21 47 Outgoing Service-Policy Configuration ส่ วนนี้ class-map ที่มีการประยุกต์ใช้การเพิ่มเข้าไปในคิว ใช้ LLQ class เสี ยงโดยใช้คาสั่งพิเศษ คุณสามารถเลือกได้สองตัวเลือกใน LLQ โดย คุณสามารถกาหนด bandwidth เป็ นกิโลไบต์ หรื อ เป็ นเปอร์ เซ็นต์ DalRtr1(config)#policy-map queue_traffic DalRtr1(config-pmap)#class queue_voice DalRtr1(config-pmap-c)#priority ? <8-2000000> Kilo Bits per second percent % of total bandwidth DalRtr1(config-pmap-c)#priority percent 35 48 สาหรับอีกสอง class มีการกาหนดค่า CBWFQ เป็ นคาสั่งเพื่อที่ กาหนดค่า CBWFQ เป็ นแบนด์วธิ คาสั่ง CBWFQ มีสองตัวเลือกสาหรับผูท้ ี่ ได้รับสิ ทธิ และ ผูท้ ี่เข้ามาใหม่เป็ นเปอร์ เซ็นต์ที่เหลือของแบนด์วธิ คาสั่งที่ เหลือจะมีประโยชน์เมื่อแบนด์วธิ ที่ใช้จริ งที่มีความแตกต่างกัน DalRtr1(config-pmap)#class queue_business_app DalRtr1(config-pmap-c)#bandwidth ? <8-2000000> Kilo Bits per second เปอร์เซ็นต์รวมของ Bandwidth DalRtr1(config-pmap-c)#bandwidth percent 25 49 ใน class สุ ดท้าย เราใช้เปอร์เซ็นต์ ของ CBWFQ queuing เช่นกัน DalRtr1(config-pmap)#class queue_http_ftp DalRtr1(config-pmap-c)#bandwidth ? <8-2000000> Kilo Bits per second เปอร์เซ็นต์รวมของ Bandwidth DalRtr1(config-pmap-c)#bandwidth percent 15 50 Outgoing Class-Map Configuration สุ ดท้ายต้องใช้นโยบายนี้ ในการติดต่อออกไปยัง interface ต่างประเทศ เพื่อให้สามารถจัดคิว และ จัดลาดับความสาคัญการเข้าใช้ขณะนี้ service-policy จะ ประยุกต์ใช้ควบคุม output DalRtr1(config-pmap-c)#exit DalRtr1(config)#int fa0/1 DalRtr1(config-if)#service-policy output mark_traffic 51 SDM QoS Wizard QoS ในเราเตอร์ SOHO ที่ใช้ SDM ใช้ตรรกะ ในการเริ่ มกาหนดค่า และไมสามารถเลือกประเภทการจราจรได้ท้ งั หมดโดยจะต้องมีการจัดการที่ดี SDM Wizard ทางานให้คุณต่อจากการเริ่ ม start 52 53 54 55 56 57 58 59 60 61 62 63 Summary 64