Çap, Uzun Vadeli Evrim (LTE) ve IP Multimedya Sistemlerinde (IMS) kimlik doğrulama, yetkilendirme ve muhasebe (AAA) bilgilerini değiş tokuş etmek için kullanılan yeni nesil endüstri standardı bir protokoldür. Daha önceki RADIUS protokolünden evrimleşmiştir. RADIUS "Remote Authentication Dial-in User Service" tanımından alan ve uygulama katmanlı protokollerden biridir. İletişim yöntemi olarak Network UDP protokolünü kullanır. Server (Sunucu) / Client (İstemci) mimarisini kullanır.İnternet protokol paketindeki uygulama katmanı protokollerine aittir.
Çap Uygulamaları, Genişletilebilir Kimlik Doğrulama Protokolü (EAP) ile kullanım için olanlar gibi yeni komutlar ve/veya nitelikler ekleyerek temel protokolü genişletir.
RADIUS ile karşılaştırma
Adı kelime oyunu, (çapın yarıçapının iki katı) öncülü olan RADİUS protokolünden türetilmiştir. Çap doğrudan geriye dönük olarak uyumlu değildir, ancak RADİUS için bir yükseltme yolu sağlar. Çapın sağladığı ancak RADİUS ta eksik olan ana özellikler şunlardır:
SCTP desteği
Yetenek pazarlığı
Uygulama katmanı onayları; Çap, yük devretme yöntemlerini ve durum makinelerini tanımlar (RFC 3539 )
Genişleme; yeni komutlar tanımlanabilir
32 Bit sınırlarında hizalama
Ayrıca: RADIUS gibi, hem yerel hem de dolaşımdaki AAA durumlarında çalışması amaçlanmıştır. UDP kullanan RADIUS'tan farklı olarak TCP veya SCTP kullanır. RADIUS'tan farklı olarak şifreleme içermez, ancak aktarım düzeyinde güvenlik (IPSEC veya TLS) ile korunabilir. AV tanımlayıcısının temel boyutu, temel AV tanımlayıcı boyutu olarak 8 bit kullanan radius'un aksine 32 bittir. RADIUS gibi, durum bilgisi olan modların yanı sıra durumsuz modları da destekler. RADIUS gibi uygulama katmanı onayını destekler ve yük devretmeyi tanımlar. Çap, 3GPP standartları tarafından tanımlanan birçok farklı arabirim için kullanılır ve her arabirim tipik olarak yeni komutlar ve nitelikler tanımlar.
Uygulamalar
Çap Uygulaması bir yazılım uygulaması değildir, ancak Çap temel protokolünün, hem yerel hem de dolaşım durumlarında ağ erişimi veya IP mobilitesi gibi uygulamalar için bir Kimlik Doğrulama, Yetkilendirme ve Hesaplama (AAA) çerçevesi sağlaması amaçlanmıştır. RFC 6733 tüm Diameter uygulamaları tarafından kullanılan mesaj formatı, taşıma, hata raporlama, muhasebe ve güvenlik hizmetlerini belirtir. Bu belgede tanımlanan Çap temel protokolü, RFC 3588 ve RFC 5719'u geçersiz kılar ve tüm yeni Çap uygulamaları tarafından desteklenmesi gerekir. RFC 7075 te Çap protokolü, uygulamadan bağımsız bir "yönlendirme aracısı" tarafından kontrol edilen mesaj yeniden yönlendirme özelliği içerir. Bazı durumlarda, bir operatör, tek tek ana bilgisayarlar belirtmeden mesajları alternatif bir etki alanına yönlendirmek isteyebilir.RFC 7075 bir Çap sunucusunun veya proxy'nin (düğüm), Basit Adlandırma Yetkilisi İşaretçisi (S-NAPTR) dinamik eş bulma için kullanılmadığında böyle bir yeniden yönlendirmeyi gerçekleştirebileceği uygulamaya özel bir mekanizmayı belirtir. Bu yeni işlevi gerçekleştiren bir düğüme "Realm-based Redirect Server" adı verilir.RFC 6733 ve RFC 7075'te tanımlanan Çap temel protokolüne dayalı bir protokoldür (Eskiler: RFC 3588 ). Her uygulama bir uygulama tanımlayıcısı tarafından tanımlanır ve yeni komut kodları ve/veya yeni zorunlu AVP'ler (Öznitelik-Değer Çifti ) ekleyebilir. Bir isteğe bağlı AVP eklemek için yeni bir uygulama gerekmez.
Çap uygulamalarına örnekler:
Çap Ağ Erişim Sunucusu Uygulaması (NASREQ, RFC 7155 )(Eski: RFC 4005 )
Çap Genişletilebilir Kimlik Doğrulama Protokolü Uygulaması (RFC 4072 )
Çap Kredi-Kontrol Uygulaması (DCCA, RFC 8506 ])(Eski: RFC 4006 )
Çap Oturum Başlatma Protokolü Uygulaması (RFC 4740 )
3GPP IP Multimedya Alt Sistemindeki çeşitli uygulamalar
Ev Abone Sunucusu (HSS), aramaları ve oturumları işleyen IMS ağ varlıklarını destekleyen ana kullanıcı veritabanıdır. Abone konumu işlevi veya SLF, belirli bir kullanıcı profili ile ilişkili ev abone sunucusu (HSS) hakkında bilgi sağlayan bir IP multimedya alt sistemi içindeki bir işlevdir. Hem HSS hem de SLF, Çap protokolünü kullanarak iletişim kurar.
Çap protokolü ilk olarak 1998'de Pat R. Calhoun, Glen Zorn ve Ping Pan tarafından RADIUS'un sınırlamalarının üstesinden gelebilecek kimlik doğrulama, yetkilendirme ve muhasebe (AAA ) için bir çerçeve sağlamak üzere geliştirildi. RADIUS'un güvenilirlik, ölçeklenebilirlik, güvenlik ve esneklikle ilgili sorunları vardı. RADIUS, uzaktan erişim, IP mobilitesi ve ilke denetimi ile etkin bir şekilde başa çıkamazdı. Çap protokolü, istemciler tarafından AAA ve kaynak denetimi gerçekleştirmek için kullanılan bir ilke protokolünü tanımlar. Bu, tek bir sunucunun birçok hizmet için ilkeleri yönetmesine izin verir.
RADIUS gibi, Çap da AAA işlevselliği sağlar, ancak UDP yerine TCP ve SCTP kullanır, bu nedenle iletişim sorunlarının algılanmasını ve ele alınmasını bu protokollere devreder. Çap protokolü, 3. Nesil Ortaklık Projesi (3GPP) IP Multimedya Alt Sisteminin (IMS) geliştirilmesiyle daha da geliştirilmiştir. S6a, S6b, Gx, Gy, Sy, Rx, Cx, Dh, Dx, Rf, Ro, Sh ve Zh arayüzleri Çap uygulamaları tarafından desteklenir. Uzantıların kullanımı yoluyla protokol, proxy'leri, aracıları, güçlü güvenliği, mobil IP'yi, ağ erişim sunucularını (NASREQ), muhasebe ve kaynak yönetimini desteklemek için genişletilebilir olacak şekilde tasarlanmıştır.
Protokol açıklaması
Çap temel protokolü, RFC 6733 (Eskiler: RFC 3588 ve RFC 5719 ) tarafından tanımlanır ve bir AAA protokolü için minimum gereksinimleri tanımlar. Çap Uygulamaları, yeni komutlar, nitelikler veya her ikisini ekleyerek temel protokolü genişletebilir. Çap güvenliği IPsec veya TLS tarafından sağlanır. IANA, RFC 6733 bölüm 11.4'te belirtildiği gibi, Çapa 3868 numaralı TCP ve SCTP bağlantı noktası atamıştır.
Paket formatı
Çap, Mesaj (Paket) tabanlı protokoldür. İstek Mesajları ve Cevap Mesajları olmak üzere iki tür mesaj vardır. Paket, Çap mesajıyla ilgili bilgileri kapsüllemek için bir Çap başlığından ve değişken sayıda Öznitelik-Değer Çiftlerinden veya AVP'lerden oluşur.
Çap Başlığı
Bit ofseti
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
versiyon
mesaj uzunluğu
32
R
P
E
T
komut kodu
64
uygulama kimliği
96
hop-by-hop kimliği
128
uçtan uca kimlik
160 ...
AVP'ler ...
Sürüm
Bu alan Çap Taban Protokolünün sürümünü gösterir. 2014 itibarıyla, desteklenen tek değer 1'dir .
Mesaj uzunluğu
Mesaj Uzunluğu alanı, başlık alanları ve dolgulu AVP'ler dahil olmak üzere, Çap mesajının bayt cinsinden uzunluğunu gösterir.
Komut bayrakları
" R " (Talep) biti – Ayarlanmışsa, mesaj bir istektir. Temizlenirse, mesaj bir cevaptır.
" P " (Proxiable) biti – Ayarlanmışsa, mesaj düğümlenebilir, iletilebilir veya yeniden yönlendirilebilir. Silinmişse, mesaj yerel olarak İŞLENMELİDİR.
" E " (Hata) biti – Ayarlanırsa, mesaj bir protokol hatası içerir ve mesaj, bu komut için açıklanan CCF'ye uymaz. "E" bit seti olan mesajlara genellikle hata mesajları denir. Bu bit istek mesajlarında AYARLANMAMALIDIR.
" T " (Potansiyel olarak yeniden iletilen mesaj) biti – Bu işaret, yinelenen isteklerin kaldırılmasına yardımcı olmak için bir bağlantı yük devretme prosedüründen sonra ayarlanır. Henüz onaylanmayan istekleri yeniden gönderirken, bir bağlantı hatası nedeniyle olası bir yinelemenin göstergesi olarak ayarlanır.
Komutlar
Her komut İstek/Cevap çiftine bir komut kodu atanır. İstek mi yoksa yanıt mı olduğu, başlığın Komut Bayrakları alanındaki 'R' biti aracılığıyla tanımlanır.
0-255 değerleri RADIUS geriye dönük uyumluluk için ayrılmıştır. 256-16777213 değerleri, IANA tarafından tahsis edilen kalıcı, standart komutlar içindir. 16777214 ve 16777215 (hex 0xFFFFFE ve 0xFFFFFF) değerleri deneysel ve test amaçlı olarak ayrılmıştır.
Belirli bir mesaj için gerçekleştirilecek eylemi belirlemek için bir Komut Kodu kullanılır. Protokolde (taban ve uygulamalar) tanımlanan bazı yaygın Çap komutları şunlardır:
Uygulama Kimliği, mesajın hangi Çap uygulaması için geçerli olduğunu belirlemek için kullanılır. Uygulama bir kimlik doğrulama uygulaması, bir muhasebe uygulaması veya satıcıya özel bir uygulama olabilir.
Uygulama Kimliği, mesajın hangi Çap uygulaması için geçerli olduğunu belirlemek için kullanılır. Uygulama bir kimlik doğrulama uygulaması, bir muhasebe uygulaması veya satıcıya özel bir uygulama olabilir.
Başlıktaki Uygulama Kimliği alanının değeri, mesajda yer alan ilgili Uygulama Kimliği AVP'leriyle aynıdır. Örneğin Çap Kredi-Kontrol Uygulaması için Kredi-Kontrol-Talebi (CCR) ve Kredi-Kontrol-Cevap (CCA) Komutundaki Uygulama-Kimliği ve Yetki-Uygulama-Kimlik Özelliğinin değeri 4'tür.
Uygulama Kimliği
Kısaltma
Tam Ad
Kullanım
0
Temel
Çap Ortak Mesajları
Çap protokolü dernek kurma/yırtma/bakım
16777216
Cx/Dx
3GPP Cx/Dx
IMS I/S-CSCF'den HSS arayüzüne
16777217
Ş
3GPP Ş
VoIP/IMS SIP Uygulama Sunucusu - HSS arayüzü
16777236
Rx
3GPP Rx
Politika ve şarj kontrolü
16777238
gx
3GPP Gx
Politika ve şarj kontrolü
16777251
S6a/S6d
3GPP S6a/S6d
LTE Dolaşım sinyali
16777252
S13
3GPP 13
EIR ve MME arasındaki arayüz
16777255
SLg
3GPP LCS SLg
Konum hizmetleri
16777345
S6t
3GPP S6t
SCEF ve HSS arasındaki arayüz
Hop-by-Hop(Atlamalı) Tanımlayıcı
Atlamalı Tanımlayıcı, yanıtta istekteki aynı değer kullanıldığından, istekleri yanıtlarıyla eşleştirmek için kullanılan işaretsiz 32 bitlik bir tam sayı alanıdır (ağ bayt sırasına göre). Atlamalı aktarımı, bir ağdaki veri akışını kontrol etme ilkesidir. Atlamalı aktarımı ile, veri parçaları düğümden düğüme depola ve ilet olarak düşünülebilir.
Çap protokolü, geçiş ve yakın aracılarının, yük devretme amacıyla kullanılan işlem durumunu korumasını gerektirir. İşlem durumu, bir istek iletildiğinde, Atlamalı Tanımlayıcısının kaydedildiği anlamına gelir; alan, ilgili yanıt alındığında orijinal değerine geri yüklenen yerel olarak benzersiz bir tanımlayıcı ile değiştirilir. Talebin durumu, yanıtın alınmasıyla birlikte serbest bırakılır. Bilinen bir Atlamalı Tanımlayıcı ile eşleşmeyen alınan yanıtlar, Çap aracısı tarafından yok sayılır.
Aracıların yeniden yönlendirilmesi durumunda, Çap aracısı bir yanıt mesajıyla yanıt verdiği için Atlamalı Atlama Tanımlayıcısı başlıkta korunur.
Uçtan Uca Tanımlayıcı
Uçtan uca ilke, bilgisayar ağlarında bir tasarım çerçevesidir. Bu ilkeye göre tasarlanmış ağlarda, güvenilirlik ve güvenlik gibi uygulamaya özgü belirli özelliklerin garanti edilmesi, bunların ağın iletişim halindeki uç düğümlerinde bulunmasını gerektirir. Uçtan Uca Tanımlayıcı, Kaynak-Host AVP kombinasyonu ile birlikte yinelenen mesajları algılamak için kullanılan işaretsiz bir 32-bit tam sayı alanıdır (ağ bayt sırasına göre).
Bir istek oluştururken, Uçtan Uca Tanımlayıcı yerel olarak benzersiz bir değere ayarlanır. Uçtan Uca Tanımlayıcı, herhangi bir tür Çap aracıları tarafından değiştirilmez ve yanıtta karşılık gelen istekteki aynı değer kullanılır.
Özellik-Değer Çiftleri (AVP)
AVP Başlığı
Bit ofseti
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
0
AVP kodu
32
V
M
P
AVP length
64
satıcı kimliği (isteğe bağlı)
96 ...
veri ...
Basit olması için, AVP Bayrağı " V " biti, Satıcıya Özgü Anlamına gelir; " M " biti Zorunlu anlamına gelir; " P " biti Korumalı anlamına gelir.
Satıcıya Özel bit olarak bilinen " V " biti, AVP başlığında isteğe bağlı Satıcı Kimliği alanının bulunup bulunmadığını gösterir. AVP Kodu ayarlandığında, belirli satıcı kodu adres alanına aittir.
Zorunlu bit olarak bilinen " M " biti, AVP desteğinin gerekli olup olmadığını gösterir. Bir Çap istemcisi, sunucu, yakın veya çeviri aracısı tarafından " M " bit seti ile bir AVP alınırsa ve AVP veya değeri tanınmazsa, mesaj reddedilmelidir . Çap geçişi ve yönlendirme aracıları, tanınmayan AVP'lere sahip mesajları reddetmemelidir.
" P " biti, uçtan uca güvenlik için şifreleme ihtiyacını belirtir.
Özellik Adı
Kod
Veri Türü
Hesap-Ara-Aralık
85
Unsigned32
Muhasebe-Gerçek Zamanlı-Gerekli
483
Enumerated
Muhasebe-Kayıt-Numara
485
Unsigned32
Muhasebe-Kayıt-Tipi
480
Enumerated
Muhasebe-Oturum-Kimliği
44
OctetString
Muhasebe-Alt-Oturum Kimliği
287
Unsigned64
Hesap-Uygulama-Kimliği
259
Unsigned32
Yetki-Uygulama-Kimliği
258
Unsigned32
Yetkilendirme-Talep-Türü
274
Enumerated
Yetkilendirme-Ömür Boyu
291
Unsigned32
Yetkilendirme-Oturum-Dönem
276
Unsigned32
Yetkilendirme-Oturum-Durumu
277
Enumerated
Yeniden Yetkilendirme-Talep-Türü
285
Enumerated
Sınıf
25
OctetString
Hedef-Ana Bilgisayar
293
DiamIdent
Hedef-Alan
283
DiamIdent
Bağlantıyı Kes-Neden
273
Enumerated
E2E-Sıra
300
Grouped
Hata mesajı
281
UTF8String
Hata-Raporlama-Ana Bilgisayar
294
DiamIdent
Olay-Zaman Damgası
55
Time
Deneysel-Sonuç
297
Grouped
Deneysel-Sonuç-Kod
298
Unsigned32
Başarısız-AVP
279
Grouped
Üretici-Revizyon
267
Unsigned32
Ana Bilgisayar-Kimlik-Adres
257
Address
Bant içi-Güvenlik-Kimlik
299
Unsigned32
Çok Turlu-Zaman Aşımı
272
Unsigned32
Kaynak-Ana Bilgisayar
264
DiamIdent
Kaynak-Alan
296
DiamIdent
Kaynak-Durum-Kimlik
278
Unsigned32
Ürün adı
269
UTF8String
Vekalet sahibi
280
DiamIdent
Vekalet-Bilgi
284
Grouped
Vekalet-Durum
33
OctetString
Yönlendirme-Ana Bilgisayar
292
DiamURI
Yönlendirme-Ana Bilgisayar Kullanımı
261
Enumerated
Yönlendirme-Max-Önbellek-Zaman
262
Unsigned32
Sonuç Kodu
268
Unsigned32
Rota Kaydı
282
DiamIdent
Oturum kimliği
263
UTF8String
Oturum zaman aşımına uğradı
27
Unsigned32
Oturum Bağlama
270
Unsigned32
Oturum-Sunucu-Yük Devretme
271
Enumerated
Desteklenen-Satıcı-Kimliği
265
Unsigned32
Fesih-Neden
295
Enumerated
Kullanıcı adı
1
UTF8String
Satıcı kimliği
266
Unsigned32
Satıcıya Özel-Uygulama Kimliği
260
Grouped
Durum makineleri
RFC 3558, Gelişmiş Değişken Hız Codec (EVRC) Konuşması ve Seçilebilir Mod Ses Kodlayıcı (SMV) Konuşması için RTP veri yükü biçimini açıklar. Farklı uygulama senaryoları için iki alt format belirlenmiştir. Paket kaybının konuşma kalitesi üzerindeki etkisini azaltmak ve birden fazla konuşma çerçevesi üzerinden RTP başlığının ek yükünü amorti etmek için paketlenmiş/araya eklenen bir format dahil edilmiştir. Gruplandırılmış olmayan bir biçim, konuşma uygulamaları için de desteklenir..RFC 3588, eşler arasındaki bağlantıları korumak ve mesajları işlemek için bir çekirdek durum makinesi tanımlar. Bu, temel protokol işlevselliğinin bir parçasıdır ve tüm yığınlar bunu desteklemeli ve bağlantıyla ilgili işlemlerden soyutlanmalıdır.
Eş Durum Makinesi Bölüm 1
Eş Durum Makinesi Bölüm 2
Ek olarak, uygulamaya özel durum makineleri daha sonra veya daha yüksek bir soyutlama katmanında tanıtılabilir. RFC 3588, bir yetkilendirme ve bir hesap durumu makinesi tanımlar.
Çap Yetkilendirme Durum Makineleri (İstemci)
Çap Yetkilendirme Durum Makineleri (Sunucu)
Çap Hesaplama Durum Makineleri (Müşteri)
Çap Hesaplama Durum Makineleri (Sunucu)
Mesaj akışları
İki çaplı eşler arasındaki iletişim, bir taşıma bağlantısının (TCP veya SCTP ) kurulmasıyla başlar. Başlatıcı daha sonra diğer eşe bir Yetenekler-Değişim-İstek (CER) gönderir, bu da Yetenekler-Değişim-Cevabı (CEA) ile yanıt verir. RFC3588 uyumlu eşler için TLS (Aktarım Katmanı Güvenliği) isteğe bağlı olarak müzakere edilebilir. RFC6733 uyumlu eşler için TLS anlaşması isteğe bağlı olarak CER/CEA dan önce gerçekleşebilir.
Bağlantı daha sonra uygulama mesajlarının değiş tokuşu için hazırdır.
Bir süre boyunca herhangi bir mesaj alışverişi yapılmadıysa, her iki taraf da bir Cihaz-İzleyici-Mesajları (DWR) gönderebilir ve diğer eş Cihaz-İzleyici-Cevap ile yanıt vermelidir.
Her iki taraf da, diğer eşin Bağlantıyı Kes-Eş-Yanıt ile yanıtlaması gereken bir Bağlantıyı Kes-Eş-Talebi (DPR) göndererek iletişimi sonlandırabilir. Bundan sonra taşıma bağlantısı kesilebilir.
RFC
TCP/IP'nin tanımlanmasında kullanılan standart numaralara sahip dokümanlardır. Çap protokolü şu anda aşağıdaki IETF RFC'lerinde tanımlanmıştır: Eski RFC üstü çizili metinle belirtilir.