QoS önceki yazımda detayları ile bahsedildiği üzere, ağ içerisindeki uygulamaları önceliklendirerek zaman kaybını azaltmayı hedefleyen bir ağ servisidir. Çeşitli teknikler kulllanılarak trafik içerisindeki paketlerin önceliklendirilmesini sağlayarak iletişimin daha verimli ve hızlı gerçekleşmesi QoS aracılığı ile sağlanır. Bu sayede erişim kesintileri ve paket gecikmeleri önlenebilir. Bant genişliğinin sağladığı verim, kullanıcı sayısı ile ters oranda etkilenir. Kullanıcı sayısı arttıkça aynı bant genişliği içerisinde bulunan veri paketlerinin sayısı ve uygulama/hizmet sayısı artacak, böylece hizmetler olumsuz etkilenir ve ağ trafiği yavaşlar. Bu sebeple veri trafiğinin doğru ihtiyaçlara cevap verebilmesi için bazı hizmet veya uygulamaların kullandığı adreslemeler veya portlara öncelik vermek gerekir. QoS konfigürasyonunun uygulanması, yüksek hacimli bant genişliği kullanan ve gecikme veya paket kaybına duyarlı trafik türlerini tanımlamasıyla başlar. Ancak konfigürasyon aşaması oldukça kritik bir işlemdir çünkü uygulanacak olan hatalı bir yapılandırma ile trafikte bulunan diğer uygulama veya hizmetlere ait paketlerin ötelenerek, bazı hizmetlerin olumsuz etkilenmesine sebebiyet verilebilir.
Ağ içerisinde çalışan ve iletim temelinde genellikle TCP yerine UDP kullanan hizmet veya uygulamaların büyük bir çoğunluğu gecikmeye duyarlıdır. Kullanılan yaygın hizmetlere örnek olarak; VoIP, çevrimiçi oyun, canlı medya akışı, video konferans veya IPTV verilebilir.
Ağ trafiğinin düzene girmesi ve şekillenmesi için Sınıflandırma ve İşaretleme işlemleri büyük rol oynar. Çoğu sınıflandırma ve işaretleme aracı da diğer QoS araçları gibi, genellikle bir arayüze giren veya çıkan paketler üzerinde çalışır. QoS sınıflandırma (Classification) araçları paket başlıklarının içeriğini inceler ve paketleri sınıflandırır. QoS işaretleme (Marking) araçları ise sınıflandırmanın daha kolay yapılabilmesi için verilerin paket başlıkları üzerinde değişiklik yapılmasına izin verir.

Paket sınıflandırma, belirli bir paket trafiğinin veya paket trafiği grubunun aynı sınıf içerisinde gruplandırılarak aynı hizmetlerden yararlanmasını sağlar. Bu durum, sınıflandırılan trafiğin diğerlerinden farklı işlemler görmesine olanak tanır. Örneğin, bir sınıfa atanmış veri trafiği türü, diğer sınıflara göre öncelikli hale getirilebilir.
Paket işaretleme ise paketlerin belirli sınıflara ayrılabilmesini kolaylaştırmak için paket başlıkları içerisinde belirli işaretlemeler yapar. Paket işaretleme ile sınıflara ayrılmış paket trafiğine sıralama tercihi vermek veya bir paketi bırakmak veya paketleri şekillendirmek veya paketleri denetlemek veya paketleri parçalamak vb. işlemler, paket başlığı içerisindeki bazı bitleri değiştirilerek veya işaretlenerek gerçekleştirilir. Böylece ağdaki diğer QoS araçları, paketleri sınıflandırmak veya belirli hizmetleri uygulayabilmek için önce işaretlenmiş bitler incelenir.
Sınıflandırma (Classification)
Sınıflandırma, ağ içerisindeki mevcut bir trafikte belirli bir paket trafiğini diğerlerinden farklı bir kuyruğa sokma işlemidir. Bu işlemin uygulandığı paketlerin, cihazın işletim sistemi tarafından fark edilmesi gerekir.
Sınıflandırma aynı zamanda ACL yani Access Control List (Erişim Kontrol Listesi) kullanılarak da uygulanabilir. Eğer ACL bir paketin geçişine izin veriyorsa, paket trafiği kuyruğa alınır. Farklı ACL kurallarına göre gelen paketler birbirinden farklı kuyruklara alınır. Eğer ACL aracılığı ile paket trafiği engellenmiş işe paket kuyruğa alınmaz. Böylece basit bir sınıflandırma işlemi uygulanmış olur.
NBAR ile Sınıflandırma – NBAR, normalde sınıflandırılması zor olan paketleri sınıflandırır. Örneğin, bazı uygulamalar değişken port numaralarını kullanır. Bu nedenle belirli bir UDP veya TCP port numarasını arayan, statik olarak yapılandırılmış bir eşleşme komutu kullanarak trafik sınıflandırılamaz. NBAR, UDP ve TCP başlığının ötesinde incelemeler yapar ve HTTP isteklerinde cihaz adına, URL’ye veya MIME türüne başvurabilir. Paket içeriği nin bu şekilde daha derin incelemesine ise derin paket incelemesi denir.

İşaretleme (Marking)
İşaretleme, ağ cihazlarının QoS araçları tarafından işaretlenen değerlere göre sınıflandırmasına izin vermek amacıyla paket başlığı içerisinde bazı bitlerin değiştirilmesi ile uygulanır. Paketlere uygulanacak kural setine bağlı olarak birden fazla alan işaretlenebilir ve her bir işaretleme belirli bir amaca hizmet eder. Çalışma yapısı gereği bir ACL gibi çalışsa da, bir pakete izin vermek veya bir paketi reddetmek yerine paketler trafik içerisinde işaretlenir.
Bazı işaretleme seçenekleri, LAN içerisinde kullanılan cihazlar için anlamlı durumda olurken, bazıları ise yalnızca belirli donanım platformları ile kullanıldığı zaman anlam ifade eder. Ayrıca elbette WAN trafiği üzerindeki veri paketlerinde de işaretleme yapmak mümkündür.
İletimde kaynaktan hedefe gelen paketler arayüze giriş yaptığında eğer belirlenmiş bir kural seti veya kriter ile eşleşiyorsa, değer sahibi olan alan işaretlenir. Eğer paket mevcut kural setlerinden biri ile eşleşmediyse, diğer kural setleri veya kriterler ile karşılaştırılır. Eşleşme olması durumunda, eşleştiği sete ait bir değerle potansiyel olarak farklı bir alanı işaretlenir. Paket belirli kural setlerinden biri veya belirli bir kriter grubu ile eşleşene dek paketin eşleşmesi aranmaya devam edilir. Kural setlerinden hiç birisi ise eşleşmeyen veri paketi herhangi bir işaretleme yapılmadan standart sıraya alınarak işlenir.
Çeşitli uygulamalar farklı şekilde işaretlenebilir, bu da ağ ekipmanının verileri farklı gruplara ayırmasını sağlar. Trafikte bulunan paketler işaretlenerek farklı gruplara ayrıldıktan sonra verilerin birbirlerine göre kıyaslanmasını sağlamak ve iletişimin verimini arttırmak için iletim sırası (queing) oluşturulur. Yalnızca uygun arayüzlerde sınıflandırma veya işaretleme için kullanılabilir. Sınıflandırma, genellikle iletim esnasında arayüze gelen paket trafiği (Ingress), işaretleme ise genellikle iletim esnasında arayüzden çıkan paket trafiği için kullanılır.
QoS tekniklerinin hangi protokolün paket başlığı altında ne kadar alan kapladığı aşağıdaki tabloda paylaşılmıştır. Trafik içerisinde kaç farklı özelleştirme yapılabileceği ise “2 üzeri bit” hesabı yapılarak hesaplanır.

CoS – Class of Service (Hizmet Sınıfı)
Hizmet Sınıfı (CoS), benzer trafik türlerini (e-posta, video akışı, ses, büyük belge dosya aktarımı) birlikte gruplandırarak ve farklı bile olsa her türü kendi sınıfıyla bir olarak ele alarak bir ağdaki trafiği yönetmenin bir yoludur. Böylece hizmet önceliği seviyesinin belirlenmesini sağlar. Ayrıca ağ yapısı ve trafik hacmi büyüdükçe CoS ile trafik yönetimi daha basit ve daha ölçeklenebilir hale gelir.
Sınıflandırma ve işaretleme araçları, paketleri paket başlığı içindeki çok sayıda farklı alana dayalı olarak sınıflandırır ve buna bağlı olarak işlem sırasına alır (Queing). Sınıflandırmaya bağlı olarak, araçlar daha sonra diğer QoS araçlarının bu işaretli alanlara dayalı olarak belirli QoS eylemlerini daha kolay sınıflandırabilmesi ve gerçekleştirebilmesi amacıyla bir paket başlığındaki alanı işaretler.
Daha yüksek öncelikli CoS değerleriyle etiketlenen IP paket başlıkları daha erken iletilir, düşük öncelikli CoS değerleri ise öncelik sahibi paketlerden daha sonra iletilmek üzere bir kuyrukta bekler. Bu nedenle CoS, ses ve video gibi gerçek zamanlı akış verileri için önemlidir. Bu önceliklendirmelerin yapılabilmesi ve hizmet sınıflarının ayrıştırılabilmesi için 3 bit kullanılır. Bu sayede toplamda 8 farklı olasılık ortaya çıkar. CoS bitleri IP paket başlıklarının içinde bulunur. “Presedence Bits” veya “User-Priority Bits” olarak yani öncelik belirleyici bitler olarak adlandırılarak ToS veya günümüzdeki kullanımı ile DSCP içerisinde dahil edilmiştir.
CoS tekniğini kullanan birden fazla model vardır ancak QoS standardı DiffServ ve IntServ ana modelleri ile sunulur, bu modeller uygulanmadan QoS yapılandırması uygulamak tamamlayıcı bir uygulama değildir. Bu model ve teknolojiler;
- Best Effort
- Farklılaştırılmış Hizmetler (DiffServ)
- Entegre hizmetler (Integrated services – IntServ)
- RSVP-TE – Trafik Mühendisliği (Kaynak Rezervasyon Protokolü)
ToS – Type of Service (Hizmet Türü)
Hizmet Türü (ToS) alanı, IPv4 başlığının ikinci baytında yer alır. İyi yönetilen bir ağda farklı trafikler arasında ayrım yapabilir. Bu, bir ağın yüksek güvenilirlik ve verim gerektiren trafik türlerine minimum gecikmeyle daha iyi bir hizmet sunabileceği anlamına gelir. Benzer şekilde, ağ gecikmelerine karşı daha toleranslı olmaları muhtemel olduğundan, daha az önemli olan diğer trafik, aldıkları hizmette düşürülebilir. Farklılaştırılmış Hizmetler (DiffServ) olarak da bilinen Hizmet Türü (ToS), Hizmet Kalitesi (QoS) modelinin bir parçasıdır. ToS, ağdaki bileşenler tarafından, aldıkları pakete nasıl öncelik vermeleri gerektiğini tanımlamak için kullanılır. ToS günümüzde DiffServ olarak geliştirilmiş ve kullanıma sunulmuştur. ToS baytı trafikteki belirlenen veriye ait paketleri işaretlemek için ayrılmış bir alan olarak kullanılır. ToS Baytının 3’ten 6’ya kadar olan bitleri, belirli bir QoS hizmetini belirtmek için değiştirilen alanları içerir.

Ağ trafiğindeki verinin IP paket başlığı içerisinde kullanılacak ToS bitleri için olan ilk 8 bit paketin ayrıştırılmasında kullanılır, böylece 2n ifadesinde 256 farklı ayırştırma mevcuttur.
DSCP, ağ trafiğini sınıflandırmak ve yönetmek ve modern IP ağlarında hizmet kalitesi (QoS) sağlamak için basit ve ölçeklenebilir bir mekanizma belirten bir QoS tekniğidir. Ağdaki hizmet paketlerinin kalitesini tanımlamak için kullanılır. DSCP sadece öncelik belirten bitleri içerir ve toplamda 6 bittir. IP paketinin içinde bulunur. DSCP’ye bakmak ve ardından farklı bir alanı işaretlemek için QoS araçlarının uç cihazlarda yapılandırılması gerekebilir. CoS, Layer 2 paket başlığındaki bir veri akışını işaretlerken DSCP, Layer 3 paket başlığındaki veri akışlarını işaretler.
Bu durumda 64 farklı ayrıştırma olasılığı bulunmaktadır. Varsayılan değer DSCP için, herhangi bir ayrıştırma sınıfına uymadığı ve trafikte en iyi performansı sağlayabilmek adına IP paket başlığı içerisindeki değeri “000000” olarak belirlenmiştir. DSCP için önceden belirlenmiş ve sınıflandırılmış hazır ayrıştırmalar da kullanılabilmesi için oluşturulmuştur. Bu duruma örnek olarak, düşük paket kaybına sahip, düşük gecikmeli ve düşük parazit sahibi ses trafiği için öngörülen koşullarda paket iletim güvencesi veren “Voice Admit (VA) yani 101100” kullanılabilir. Ayırt edilebilmesi için DSCP 44 olarak numaralandırılmıştır. Bu numaralandırılan sınıflar IANA tarafından standartlaştırılmıştır.
ToS bitleri ve DSCP sınıflandırmaları ile ilgili detaylı liste aşağıda bulunmaktadır.

Tablo, aynı sınıf içinde, daha yüksek DSCP numaralarının daha düşük önceliğe sahip olabileceğini (daha yüksek paket düşüşleri) göstermektedir. Örneğin, DSCP 34, DSCP 38’e göre daha az paket kaybıyla öncelikli olacaktır. AF ifadesi ile ifade edilen kalıplar ise aşağıdaki tabloda belirtilmiştir. İlk üç değer CoS bitlerini ifade eder.

RSVP – Trafik Mühendisliği
Ağ kaynaklarının farklı tür ve kökenlerdeki trafiğe göre rezerve edilecek şekilde ayrılmasına, belirli limitlerin tanımlanmasına ve bant genişliğinin belirli bir oranda garanti edilmesine olanak tanır. Ağ içerisindeki bant genişliği veya ağ donanımları gibi kaynakların iletim organlarını rezerve eden ve belirlenen uygulama veya hizmetler için veri akışlarını belirlenen QoS düzeyini sağlayacak şekilde kullanılmasını sağlayan bir protokoldür. Böylece kaynak rezervasyonu sayesinde farklı türdeki trafiklerin ayrılmasında, ilgili hizmet veya uygulamalar için belirli limitleri tanımlanmasına ve bant genişliğinin garanti edilmesi sağlanmış olur. Uygulama veya servis her an kullanılmasa bile bant genişliği içerisinde sabit bir alan o uygulama trafiği için hazır halde rezerve edilir.
IntServ (Entegre Hizmetler)
Ağda bulunan belirli bir rotanın bant genişliğini test ederek ve rota içerisindeki iletim oranını koruyarak çalışan bir QoS modelidir. İletimde aktif rol oynayacak olan uygulama, anlık olarak iletim yolu üzerinde bulunan ağ cihazlarından verimli iletişim için kaynak talep eder. İletim tamamlanana dek tüm yol boyunca bütün yönlendiriciler kaynak ayırır ve kaynaklar hazır oldukta sonra veri taşınmaya başlanır. Fakat IntServ kullanımı, birden fazla kritik uygulamanın aynı anda kaynak talep edebileceği ağlarda paketler üzerinde olumsuz sonuçlar verebilir.
DiffServ (Differentiated Services)
İletimin başlayacağı uygulama veya hizmet tarafından ağ cihazlarından kaynak talep eder. Ancak IntServ modelinde uygulanan şekilde iletim yolunun iletilecek olan veri için önceden rezerve edilmesi yerine, veri paketi yönlendirici cihaza geldiği an iletim için kaynak hazırlığı başlar. Böylece mevcut kaynaklar daha etkin bir şekilde kullanılabilir. Önceden rezerve bir yol talep edilmeyeceği için veri direkt olarak yönlendiriciye iletilir. Yönlendiriciye gelen paket için anlık olarak iletim arayüzü üzerindeki bant genişliğinden yol ayrılır. İletim gerçekleştikten sonra bu yol etkisiz hale gelir. Bu sayede uygulama veya hizmet kullanılmadığı zaman bant genişliği daha verimli şekilde kullanılabilir.
Paketi teslim alan ilk yönlendirici, verinin IP paket başlığı içerisine önceliğini belirten bir değer ekler. Verinin uğrayacağı her yönlendirici, eğer onlarda da gerekli QoS ayarları yapıldıysa öncelik değerini okur ve veriyi bu değere göre işleme alır. Eğer yol üzerindeki yönlendiricide QoS konfigurasyonu yapılmamışsa bu durumda cihaz değerle hiç ilgilenmez ve standart bir paket olarak varsayılan kuyruklardan birine yerleştirir. Böylece IntServ modelinde yol üzerinde her yönlendiricinin öncelikten anlama ve paket yola çıkmadan hat üzerinde paketi önceliklendirme zorunluluğu varken DiffServ modeli uygulamada çok daha geniş alana hitap eder ve ölçeklenebilme imkânı sunar.
Best Effort
Best Effort aslında bir QoS modeli olmakla birlikte çalışma yapısı bakımından bu modellere aykırı çalışır. Çünkü iletim hattı üzerindeki bütün veri paketlerine aynı önceliği tanır ve eşit değerde iletilmesini sağlar. Hiçbir pakete öncelik vermeksizin, dengeli iletimi esas alan QoS metodudu olarak düşünülebilir, standart sıraya alma şeklinde FIFO (First in First Out) ile çalışır.
Yukarıda bahsedilen QoS uygulamaların doğru şekilde yapılandırılması sonucunda trafikte gecikmelerin azaldığı, paket kayıplarının yaşanmadığı, iletişimdeki kesintilerin veya uygulamalardaki kopukluk/donma gibi sorunların yaşanmadığı, ağ kaynaklarının optimum performans ile daha verimli kullanıldığı, kullanıcı deneyimlerine yansıyacak şekilde görülecektir. Aşağıda ek olarak QoS servis ve tekniklerinin bit hesaplamasının yapılabileceği bir tablo paylaşılmıştır.

Ek olarak veri iletiminde kullanılan veri yapılarının tanımları ve ağ trafiği içerisinde kullanılan QoS terimlerinin aşağıda tanımları yapılmıştır.
- Frame— Verinin bağlantı katmanı başlığını ve içerik hakkında bilgi içeren bitlerden oluşur. Katman 1-2 üzerinde bulunur.
- Paket— Ağ katmanı başlığını içeren ancak veri bağlantısı başlığını içermeyen bitlerden oluşur. Katman 3 üzerinde bulunur.
- Segment — TCP veya UDP başlığını içeren, ancak veri bağlantısı veya ağ katmanı başlığını içermeyen bitlerden oluşur. Katman 4 üzerinde bulunur.
- Data —Veriye ait tüm bilgilerin bulunduğu, Katman 5-6-7 halidir.
- Throughput: Veri iletiminin sağlanacağı iki nokta arasında sorunsuz iletimi tamamlanan veri oranıdır.
- Packet Loss (Veri Kaybı): Gönderici tarafından iletimi başlatılan ancak alıcıya ulaşamayan paketlerin miktarı veya oranıdır.
- Committed Information Rate (CIR): Taahhüt edilen veri hızıdır.
- Peak Information Rate (PIR): Veri hızının bant genişliği içerisindeki pik yapabileceği noktadır.
- Maximum Transfer Unit (MTU): İletimde anlık olarak taşınabilecek maksimum veri miktarıdır. Ağ içerisinde bir veri paketinin maksimum boyutu 65.535 Byte olabilir. Ethernet ağları için MTU değeri standart olarak 1500 Byte olarak belirlenmiştir. Eğer gönderilen veri paketinin boyutu ağ içerisinde belirlenen MTU değerinden daha büyük ise bu veri paketi daha küçük parçalara bölünerek iletimi sağlanır. Bu işlem Fragmentasyon olarak adlandırılır. Paket başlıkları da veri iletimindeki veri değerine eklenmektedir.
- Committed Burst Size (CBR): Trafik içerisinde taahhüt edilen veri paketlerinin iletiminin garanti edilen boyutudur. Bu sebeple kullanılan uygulamalar içerisinde veri paketlerinin boyutu byte cinsinden biliniyor ise ihtiyaç doğrultusunda bu değer ayarlanabilir ve veri paketlerinin minimum bu değerde iletilerek verimin artması, iletimin garanti altına alınması sağlanır. Ancak ağ cihazlarında varsayılan değer daima sıfır “0” olarak tanımlanmıştır, böylece otomatik olarak işlenir.
- MBR: Maximum Burst Size (MBR): Anlık işlenmesine izin verilen maksimum veri paketi boyutudur.
- Delay (Gecikme): Göndericiden alıcıya iletilen her veri paketi arasındaki iletim süresidir.
- Jitter (Gecikmeler Arası Fark): Delay’ler arasindaki zaman farkıdır. Örneğin ilk paketin iletimi 3 saniyede, ikinci paket 5 saniyede, üçüncü paket 8 saniyede iletilir ve iletimdeki gecikme süresi artar ise Jitter’ın arttığı söylenebilir. Özetle gecikme süreleri arasındaki fark Jitter olarak ifade edilir.