- Katılım
- 15 May 2013
- Konular
- 971
- Mesajlar
- 6,650
- Online süresi
- 2ay 11g
- Reaksiyon Skoru
- 5,350
- Altın Konu
- 314
- Başarım Puanı
- 319
- TM Yaşı
- 12 Yıl 11 Ay 12 Gün
- MmoLira
- 22,212
- DevLira
- 15
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Bu konumda sizlere, modüler QoS CLI (MQC) çerçevesini kullanarak Cisco cihazlarında Hizmet Kalitesi (QoS) ayarlarını nasıl yapılandırdığımızı göstermektedir. Bu süreçte, class-map, policy-map ve service-policy komutlarını ayrıntılı olarak açıklayacak ve bunları bir cihazda sınıflandırma ve işaretlemeyi etkinleştirmek için nasıl kullandığımızı göstermeye çalışacağım arkadaşlar.
Modüler QoS CLI (MQC)
QoS tek bir araç veya özellik değildir. İşletme açısından önemli trafiğe farklılaştırılmış bir yaklaşım sağlamak için birlikte çalışan bir dizi araç ve yetenektir. 90'lı ve 2000'li yılların başlarında, her QoS aracının farklı yapılandırma komutları ve iş akışları vardı. Ayrıca, aynı QoS özelliği bile farklı platformlarda farklı yapılandırma komutlarına sahipti.
Zamanla, QoS komutlarının sayısı, QoS yapılandırmalarını yönetmenin giderek daha karmaşık ve pratik olmayan bir hale geldiği noktaya kadar arttı. Bu sorunu çözmek için Cisco, yönlendiriciler ve anahtarlar üzerindeki QoS yapılandırma komutlarını standartlaştıran Modüler QoS CLI (MQC) çerçevesini geliştirdi.
MQC, yapılandırma sürecini aşağıdaki üç adıma ayırır:
Adım 1. `class-map` komutunu kullanarak paketleri sınıflandırma. Bu komut, paketleri trafik sınıflarına eşleştirmek için parametreleri belirtir.
Adım 2. `policy-map` komutunu kullanarak eylemlerle (işaretleme, şekillendirme, denetleme, kuyruğa alma) QoS politikasını yapılandırma. Bu komut, politikanın her trafik sınıfında gerçekleştireceği eylemi belirtir.
Adım 3. `service-policy` komutunu kullanarak QoS politikasını bir arayüze uygulama.
Şimdi, her adımı daha ayrıntılı olarak inceleyelim.
`class-map` komutu
`class-map` komutu, trafiği bir trafik sınıfına eşleştirir. Bir `class-map`'in üç öğesi vardır: insan tarafından tanımlanmış bir ad, bir veya daha fazla eşleştirme ifadesi dizisi ve `class-map`'e eşleştirme ifadelerinin nasıl değerlendirileceğini söyleyen bir parametre (`match-all` veya `match-any`). Aşağıdaki diyagram, trafik sınıflarına örnekler göstermektedir.
Zamanla, QoS komutlarının sayısı, QoS yapılandırmalarını yönetmenin giderek daha karmaşık ve pratik olmayan bir hale geldiği noktaya kadar arttı. Bu sorunu çözmek için Cisco, yönlendiriciler ve anahtarlar üzerindeki QoS yapılandırma komutlarını standartlaştıran Modüler QoS CLI (MQC) çerçevesini geliştirdi.
MQC, yapılandırma sürecini aşağıdaki üç adıma ayırır:
Adım 1. `class-map` komutunu kullanarak paketleri sınıflandırma. Bu komut, paketleri trafik sınıflarına eşleştirmek için parametreleri belirtir.
Adım 2. `policy-map` komutunu kullanarak eylemlerle (işaretleme, şekillendirme, denetleme, kuyruğa alma) QoS politikasını yapılandırma. Bu komut, politikanın her trafik sınıfında gerçekleştireceği eylemi belirtir.
Adım 3. `service-policy` komutunu kullanarak QoS politikasını bir arayüze uygulama.
Şimdi, her adımı daha ayrıntılı olarak inceleyelim.
`class-map` komutu
`class-map` komutu, trafiği bir trafik sınıfına eşleştirir. Bir `class-map`'in üç öğesi vardır: insan tarafından tanımlanmış bir ad, bir veya daha fazla eşleştirme ifadesi dizisi ve `class-map`'e eşleştirme ifadelerinin nasıl değerlendirileceğini söyleyen bir parametre (`match-all` veya `match-any`). Aşağıdaki diyagram, trafik sınıflarına örnekler göstermektedir.
Eşleştirme İfadeleri
Eşleştirme komutları, paket sınıflandırması için kriterleri tanımlar. Paketler, belirtilen kriterleri karşılayıp karşılamadıkları açısından değerlendirilir. Bir paket eşleşirse, trafik sınıfının bir üyesi olarak kabul edilir. Herhangi bir kriteri karşılamayan paketler, varsayılan trafik sınıfına (class-default) atanır.
Yukarıda gösterildiği gibi, bir trafik sınıfı birden fazla eşleşme ifadesine sahip olabilir. Bu nedenle, cihaz, trafik sınıfını birden fazla eşleşme kriteriyle yapılandırırken aklınızda hangi mantığın olduğunu bilmelidir. İşte burada bir sonraki parametre devreye giriyor.
Kod:
class-map TRAFFIC-CLASS-1
match statement 1
match statement 2
match statement 3
match statement n
!
Yukarıda gösterildiği gibi, bir trafik sınıfı birden fazla eşleşme ifadesine sahip olabilir. Bu nedenle, cihaz, trafik sınıfını birden fazla eşleşme kriteriyle yapılandırırken aklınızda hangi mantığın olduğunu bilmelidir. İşte burada bir sonraki parametre devreye giriyor.
Tümünü Eşleştir vs. Herhangi Birini Eşleştir
Yeni bir sınıf haritası yapılandırırken, eşleşme kriterlerinin nasıl değerlendirileceğini tanımlamak için "herhangi birini eşleştir" veya "tümünü eşleştir" seçeneklerinden birini belirtebiliriz.
"Herhangi birini eşleştir" ve "tümünü eşleştir" arasındaki fark, koşulların nasıl değerlendirildiğinde yatmaktadır.
"Tümünü eşleştir"de, bir paket yalnızca tüm koşulları karşılıyorsa sınıfa uyar. Bu, "VE" mantığı kullandığı anlamına gelir.
"Herhangi birini eşleştir"de, bir paket en az bir koşulu karşılıyorsa sınıfa uyar. Bu, "VEYA" mantığı kullandığı anlamına gelir.
Örneğin, bir paketin aşağıda gösterilen VOIP-TRAFFIC adlı sınıf haritasına uyması için üç ifadenin tümünü karşılaması gerekir. VLAN 50'deki Gi0/0/1 arayüzünden gelmeli ve erişim listesi RTP ile eşleşmelidir. Yalnızca bir veya iki ifadeyle eşleşen bir paket sınıfa uymayacaktır.
Öte yandan, bir paketin WEB-TRAFFIC adlı sınıf haritasıyla eşleşmesi için aşağıdaki ifadelerden herhangi birine uyması gerekir. Paket HTTP, HTTPS veya QUIC olabilir.
Aşağıdaki çıktı, sınıf haritalarını CLI aracılığıyla nasıl yapılandırdığımızı göstermektedir.
Unutmayın ki, bir sınıf haritası oluştururken match-any veya match-all seçeneklerinden birini belirtmezseniz, varsayılan olarak match-all kullanılır ve bir paketin eşleşmesi için tüm koşulların karşılanması gerekir.
Kod:
Switch(config)# class-map ?
WORD class-map name
match-all Logical-AND all matching statements under this classmap
match-any Logical-OR all matching statements under this classmap
"Herhangi birini eşleştir" ve "tümünü eşleştir" arasındaki fark, koşulların nasıl değerlendirildiğinde yatmaktadır.
"Tümünü eşleştir"de, bir paket yalnızca tüm koşulları karşılıyorsa sınıfa uyar. Bu, "VE" mantığı kullandığı anlamına gelir.
"Herhangi birini eşleştir"de, bir paket en az bir koşulu karşılıyorsa sınıfa uyar. Bu, "VEYA" mantığı kullandığı anlamına gelir.
Örneğin, bir paketin aşağıda gösterilen VOIP-TRAFFIC adlı sınıf haritasına uyması için üç ifadenin tümünü karşılaması gerekir. VLAN 50'deki Gi0/0/1 arayüzünden gelmeli ve erişim listesi RTP ile eşleşmelidir. Yalnızca bir veya iki ifadeyle eşleşen bir paket sınıfa uymayacaktır.
Öte yandan, bir paketin WEB-TRAFFIC adlı sınıf haritasıyla eşleşmesi için aşağıdaki ifadelerden herhangi birine uyması gerekir. Paket HTTP, HTTPS veya QUIC olabilir.
Aşağıdaki çıktı, sınıf haritalarını CLI aracılığıyla nasıl yapılandırdığımızı göstermektedir.
Kod:
! Notice that IP CEF is required for class-based QoS.
! It is configured by default on all modern platforms.
! However, if not, the device would reject the service-policy command.
ip cef
! First class map matches RTP traffic based on an ACL.
! Notice that it is match-all (by default).
class-map VOIP-TRAFFIC
match access-group name RTP
!
! Second class map matches WEB-TRAFFIC based on two ACLs.
! Notice that it is match-any.
class-map match-any WEB-TRAFFIC
match access-group name HTTP
match access-group name HTTPS
!
! The class maps call one or more access-lists for matching.
ip access-list extended HTTP
10 permit tcp any any eq 80
ip access-list extended HTTPS
10 permit tcp any any eq 443
ip access-list extended RTP
10 permit udp any any range 16384 32767
!
Unutmayın ki, bir sınıf haritası oluştururken match-any veya match-all seçeneklerinden birini belirtmezseniz, varsayılan olarak match-all kullanılır ve bir paketin eşleşmesi için tüm koşulların karşılanması gerekir.
Policy-map komutu
Policy-map komutu, aşağıdaki şemada gösterildiği gibi, işaretleme, denetleme, şekillendirme, kuyruğa alma veya trafiği düşürme gibi belirli eylemlerle sınıf haritalarını ilişkilendirir.
Örneğin, ICMP trafiğini bir sınıf haritasıyla eşleştiriyoruz. Ardından, `polic-map` komutunun içinde ICMP sınıf haritasına başvuruyor ve bir eylem yapılandırıyoruz.
Aşağıdaki çıktı, CLI kullanarak bir politika haritasını nasıl yapılandırdığımızı göstermektedir. Önceki adımda oluşturduğumuz trafik sınıflarına atıfta bulunduğuna dikkat edin.
Politika haritası, bir arayüze bağlanmadığı sürece kendi başına hiçbir şey yapmaz.
Örneğin, ICMP trafiğini bir sınıf haritasıyla eşleştiriyoruz. Ardından, `polic-map` komutunun içinde ICMP sınıf haritasına başvuruyor ve bir eylem yapılandırıyoruz.
Aşağıdaki çıktı, CLI kullanarak bir politika haritasını nasıl yapılandırdığımızı göstermektedir. Önceki adımda oluşturduğumuz trafik sınıflarına atıfta bulunduğuna dikkat edin.
Kod:
! The policy map associates actions each of the two class maps.
! The actions are set, meaning this policy marks traffic.
policy-map QOS_POLICY
class VOIP-TRAFFIC
set dscp EF
class WEB-TRAFFIC
set dscp AF31
!
Politika haritası, bir arayüze bağlanmadığı sürece kendi başına hiçbir şey yapmaz.
service-policy komutu
service-policy komutu, bir politika haritasını bir arayüze veya kontrol düzlemine bağlamak için kullanılır. Politika haritasında tanımlanan trafik politikalarını uygular. Bunu bir arayüzdeki gelen veya giden trafiğe uygulayabilirsiniz. Politika haritasının belirttiği gibi işaretleme, kuyruğa alma, şekillendirme veya denetleme gibi özellikleri etkinleştirir.
Bir arayüze trafik politikası eklendikten sonra, aşağıdaki çıktıda gösterildiği gibi, `show policy-map interface [interface_name]` komutunu kullanarak her trafik sınıfına giden trafiği izleyebiliriz.
Kod:
Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface GigabitEthernet0/0/1
Switch(config-if)# service-policy ?
input Assign policy-map to the input of an interface
output Assign policy-map to the output of an interface
Switch(config-if)# service-policy input QOS_POLICY
Switch(config-if)# end
Bir arayüze trafik politikası eklendikten sonra, aşağıdaki çıktıda gösterildiği gibi, `show policy-map interface [interface_name]` komutunu kullanarak her trafik sınıfına giden trafiği izleyebiliriz.
Kod:
Switch# show policy-map interface Gi0/0/1
GigabitEthernet0/0/1
Service-policy input: QOS_POLICY
Class-map: VOIP-TRAFFIC (match-all)
2132 packets, 3213213 bytes
5 minute offered rate 3212 bps, drop rate 0000 bps
Match: access-group name RTP
QoS Set
dscp ef
Packets marked 2132
Class-map: WEB-TRAFFIC (match-any)
967232 packets, 8276532123 bytes
5 minute offered rate 3232131 bps, drop rate 0000 bps
Match: access-group name HTTP
65464 packets, 7675633 bytes
5 minute rate 543543 bps
Match: access-group name HTTPS
54353 packets, 5453453 bytes
5 minute rate 87612 bps
QoS Set
dscp af31
Packets marked 967232
Class-map: class-default (match-any)
7874321 packets, 643824328 bytes
5 minute offered rate 4343242 bps, drop rate 432423 bps
Match: any
Önemli Noktalar
Cisco'nun MQC'si, standartlaştırılmış üç adımlı bir işlemle QoS yapılandırmasını basitleştirir:
Sınıf haritası: Trafik sınıflandırması için kriterleri tanımlar.
Politika haritası: Sınıflandırılmış trafik için eylemleri (örneğin, işaretleme, şekillendirme) belirtir.
Hizmet politikası: Politikayı bir arayüze uygular.
MQC yapılandırma sürecinin her adımında hatırlamanız gereken şu özellikler vardır:
Sınıf haritası: Trafik sınıflandırması için kriterleri tanımlar.
Politika haritası: Sınıflandırılmış trafik için eylemleri (örneğin, işaretleme, şekillendirme) belirtir.
Hizmet politikası: Politikayı bir arayüze uygular.
MQC yapılandırma sürecinin her adımında hatırlamanız gereken şu özellikler vardır:
Sınıf haritası komutu:
Birden fazla eşleşme ifadesi içerebilir.
Paketlerin tüm eşleşme ifadelerini karşılaması için match-all (VE mantığı) kullanın.
Paketlerin en az bir eşleşme ifadesini karşılaması için match-any (VEYA mantığı) kullanın.
Sınıf haritaları, belirtilmediği takdirde varsayılan olarak match-all'ı kullanır.
Paketlerin tüm eşleşme ifadelerini karşılaması için match-all (VE mantığı) kullanın.
Paketlerin en az bir eşleşme ifadesini karşılaması için match-any (VEYA mantığı) kullanın.
Sınıf haritaları, belirtilmediği takdirde varsayılan olarak match-all'ı kullanır.
Politika haritası komutu:
Politika haritaları, sınıf haritaları tarafından tanımlanan trafik sınıflarına belirli eylemler uygular; örneğin, paketleri DSCP değerleriyle işaretlemek gibi.
`service-policy` komutu:
Politikalar, `service-policy` komutu kullanılarak bir arayüzde etkinleştirilir ve gelen veya giden trafiğe uygulanır.
Cihazda CEF etkinleştirilmemişse, `service-policy` komutu reddedilecektir.
Cihazda CEF etkinleştirilmemişse, `service-policy` komutu reddedilecektir.
- Katılım
- 26 Tem 2023
- Konular
- 442
- Mesajlar
- 5,604
- Online süresi
- 2ay 24g
- Reaksiyon Skoru
- 3,218
- Altın Konu
- 133
- Başarım Puanı
- 249
- TM Yaşı
- 2 Yıl 8 Ay 28 Gün
- MmoLira
- 49,879
- DevLira
- 12
Eline sağlık
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 30
- Cevaplar
- 0
- Görüntüleme
- 28
- Cevaplar
- 1
- Görüntüleme
- 25













