DNP3
Distributed Network Protocol
Last updated
Distributed Network Protocol
Last updated
Burada yazılanlar DNP3 organizasyonuna ait dnp3.org sitesinden alıntıdır. Bakınız dnp3.org
DNP3'ün geliştirilmesi, trafo merkezi bilgisayarları, RTU'lar, IED'ler (Akıllı Elektronik Cihazlar) ile elektrik tesisatı endüstrisi için ana istasyonlar (ana istasyonlar arası iletişim hariç) arasında açık, standartlara dayalı bir Birlikte Çalışabilirlik sağlamak için kapsamlı bir çaba oldu. Ayrıca önemli olan zaman çerçevesiydi; Günümüzün gereksinimlerini karşılayacak bir çözüme olan ihtiyaç. Bu kadar iddialı bir girişim olarak bu hedefe ulaştık. DNP'nin kuruluşundan bu yana, protokol su / atık su, ulaşım ve petrol ve gaz endüstrisi gibi bitişik endüstrilerde de yaygın olarak kullanılmaktadır.
DNP3, telekontrol uygulamaları için bir OSI 3 katmanlı "Gelişmiş Performans Mimarisi" (EPA) protokol standardı üzerinde çalışan Uluslararası Elektroteknik Komisyonu (IEC) Teknik Komitesi 57, Çalışma Grubu 03'ün standartlarına dayanmaktadır. DNP3, Avrupa'da tanımlanmayan ancak şu anki ve gelecekteki Kuzey Amerika uygulamaları için gerekli olan (örneğin 2K bloğunu desteklemek için sınırlı taşıma katmanı işlevleri için gerekli olan) işlevselliğin eklenmesiyle, geliştirme sırasında var olan standartlara mümkün olduğunca yakın olacak şekilde tasarlanmıştır IED'ler, RF ve fiber desteği için transferler). DNP3, IEEE C.2 Görev Gücü tarafından Önerilen Uygulama olarak seçilmiştir; IED İletişim Protokolü'nden RTU'ya.
DNP3 Harris, Distributed Automation Products tarafından geliştirilmiştir. 1993 yılının Kasım ayında, DNP3 şartnamelerinin tanımlanması ve DNP3 şartnamelerinin mülkiyetinin tanımlanması sorumluluğu, protokolü kullanan kuruluşlardan ve satıcılardan oluşan bir grup olan DNP3 Kullanıcı Grubuna devredildi.
DNP3 açık ve halka açık bir protokoldür. Protokolün birlikte işlerliğini, uzun ömürlülüğünü ve yükseltilebilirliğini sağlamak için, DNP3 Kullanıcı Grubu protokolün sahipliğini aldı ve evrimi için sorumluluk üstlendi. DNP3 Kullanıcı Grubu Teknik Komitesi, protokolde önerilen değişiklikleri veya ilaveleri değerlendirir ve ardından Kullanıcı Grubu üyeleri tarafından belirtilen protokol tanımını değiştirir.
Protokolün eksiksiz ve kapsamlı dokümantasyonu halka açıktır. Belge Kitaplığı, protokol özelliklerinin yanı sıra farklı alt seviyelerde neyin gerekli olduğunun ayrıntılarını, güvenli kimlik doğrulamanın nasıl uygulanacağını, XML cihaz profillerinin nasıl oluşturulacağını ve uygunluk test prosedürlerini içerir.
DNP3, veri toplama bilgilerinin ve kontrol komutlarının bir bilgisayardan diğerine aktarımını optimize etmek için tasarlanmıştır. İnternette e-posta, metin belgeleri, SQL sorguları, multimedya ve çok büyük dosyaları iletmek için bulunan genel amaçlı protokoller gibi değildir. SCADA (Denetleyici Kontrol ve Veri Toplama) uygulamaları için tasarlanmıştır.
Resim 1, master-outstation ilişkisini göstermektedir ve içerdiği veritabanları ve yazılım işlemlerinin basit bir görünümünü vermektedir. Master, Resim 1'in sol tarafında ve Outstation sağ taraftadır.
Outstation üstündeki dizi kare bloklar, veri tabanında ve çıktı aygıtlarında depolanan verileri göstermektedir. Çeşitli veri tipleri kavramsal olarak diziler halinde düzenlenmiştir.
Binary Inputs, fiziksel veya mantıksal boolean aygıtların durumlarını temsil eder.
Analog Input dizisindeki değerler, outstation'ın ölçtüğü veya hesapladığı giriş miktarlarını temsil eder.
Counter Input dizisi, artmakta olan kilowatt saatleri gibi sayım değerlerini temsil eder. (maksimuma ulaşınca sıfıra gelir ve tekrar saymaya başlar.)
Control Output, fiziksel veya mantıksal açma-kapama, yükseltme-düşürme ve açma-kapama noktalarını temsil eden bir dizidir.
Son olarak, Analog Output dizisi, ayar noktaları için kullanılan fiziksel veya mantıksal analog nicelikleri temsil eder.
Dizilerin elemanları, 0 ila N - 1 arasında etiketlenir, burada N blok sayısıdır. DNP3 terminolojisi içinde, eleman numaralarına point-index denir. Point-Index' ler DNP3 te 0 dan başlar ve en düşük eleman 0. point-index' te dir. DNP3 Master'ın da aynı şekilde giriş veri tipleri için benzer bir veri tabanına sahip olduğuna dikkat edin (binary, analog ve counter). Master, veritabanındaki değerleri, sistem durumlarını, kapalı döngü kontrolünü, alarm bildirimini, faturalamayı ve çok daha fazlasını belirli amaçlar için görüntülemede kullanır. Master'ın amacı veritabanını güncel tutmaktır. Bunu, outstation' a, outstation'ın veritabanındaki değerleri göndermesini isteyen talepler göndererek gerçekleştirir. Buna yoklama denir. Outstation, master'ın isteklerine cevap vererek, veritabanındaki değerleri gönderir. Resim 1'in altında taleplerin ve cevapların yönü gösterilmiştir. Daha sonra, outstation 'ların kendilerine bir soru sorulmadan nasıl cevap verdiği sistemleri inceleyeceğiz.
Resim 1'de gösterilen master ve outstation' ların her biri iki yazılım katmanına sahiptir. Üst katman DNP3 User's Code katmanıdır. Master'da, veritabanı ile etkileşime giren ve istasyonun verileri için istekleri başlatan yazılımdır. Outstation'da ise master'ın taleplerini yanıtlamak için outstation veritabanından talep edilen verileri alan yazılımdır. Lütfen not alın, Master ve outstation' ın fiziksel olarak ayrılmaması durumunda, bu iki üst katmanı birbirine bağlayarak DNP3'ü elemine edebilir veya kaldırabilirsiniz. Bununla birlikte master ve outstation'ın fiziksel veya mantıksal olarak ayrıldığında da, DNP3 User's code diğer uçtaki DNP3 User's code ile haberleşmek için DNP3 Software'i kullanır.
Daha sonra veri türleri ve yazılım katmanları hakkında daha fazla şey söylenecek, ancak önce birkaç tipik sistem mimarisini incelemek istiyoruz.
Resim 2'de günümüzde kullanılan yaygın sistem mimarilerini görülmektedir. En üstte bir Master ve bir outstation'a sahip olan basit bir bire bir sistem var. İkisi arasındaki fiziksel bağlantı, tipik olarak onlara tahsis edilmiş bir hat veya dial-up telefon hattı.
İkinci tip sistem çoklu damla tasarımı olarak bilinir. Bir master, birden çok outstation ile iletişim kurar.
Mesajlaşmalar tipik olarak tek seferde bir master ve bir outstation arasında gerçekleşir.
Master, ilk istasyondan veri ister, ardından almak istediği veriler için bir sonraki istasyona geçer ve sürekli olarak her bir istasyonu bir tur robin sırasına göre sorgular. Haberleşme hattı, multi-drop telefon hattı, fiber optik veya radio-link olabilir.Her bir outstation, ana cihazdan mesajlar alabilir ve yalnızca kendisine gönderilen mesajlara cevap verebilir. İstasyonlar birbirlerinin mesajlarını alabilir veya almayabilir.
Bazı multi-drop tipindeki ağlarda, iletişim sadece eşler arasında da olabilir. Bir istasyon bilgi toplamak için veya başka bir outstation' a komut göndermek için master olabilir. Master rolünden çıkmak için başka bir outstation' ile rolleri de değiştirebilir.
Resim 2'de orta kısımda gösterilen Hierarchical sistem de, orta kısımdaki istasyonun, sağ tarafdaki outstation için Master olduğu, sol tarafdaki Master için de outstation olduğu görülmektedir. Ortadaki cihaza genellikle Sub-Master adı verilir.
Resim 2'de alt kısımda ki her iki sistemde de, data concentrator ve protokol dönüştürme uygulamaları gösterilmektedir. Bir cihaz, resmin sağ tarafındaki gibi, bir den çok outstation' dan veri toplayabilir, Şeklin sol tarafındaki master'ın alabileceği şekilde verileri veritabanında saklayabilir.Bu tasarım genellikle data concentrator'lerin bilgi topladığı trafo merkezlerinde görülür. Yerel akıllı cihazlardan ana master istasyona aktarım için kullanılır.
Birçok satıcı, yukarıda bahsi geçen haberleşme link katmanları yerine DNP3 mesajlarını taşımak için TCP/IP kullanarak çalışan ürünler sunar.Henüz bahsetmediğimiz TCP/IP paketlerine gömülü Link katmanı çerçeveleri. Bu yaklaşım, DNP3'ün internet teknolojisinden faydalanarak, geniş bir alana dağıtılmış cihazlar arasında ekonomik veri toplama ve kontrolü sağladı.
Cihazlar arasındaki iletişim devreleri genellikle kusurludur. Gürültüye ve sinyal bozulmalarına karşı hassastırlar. DNP3 yazılımı, güvenilir veri iletimi sağlamak, veri ve komutların iletimini organize bir yaklaşımla etkilemek için tasarlanmıştır. Resim 3, Resim 1'de gösterilmeyen katmanları göstermektedir.
Bağlantı katmanı, fiziksel bağlantıyı güvenilir kılma sorumluluğuna sahiptir. Bunu hata tespiti ve yinelenen çerçeve tespiti sağlayarak yapar. Bağlantı katmanı, DNP3 terminolojisinde çerçeve adı verilen paketleri gönderir ve alır. Bazen tüm bilgilerin bir cihazdan diğerine taşınması için birden fazla çerçevenin aktarılması gerekebilir. Bir DNP3 çerçevesi bir başlık ve veri bölümünden oluşur. Başlık çerçeve boyutunu belirler, veri bağlantısı kontrol bilgilerini içerir ve DNP3 kaynağını ve hedef cihaz adreslerini tanımlar. Veri bölümü genel olarak veri yükü olarak adlandırılır ve yukarıdaki katmanlardan aşağıya aktarılan verileri içerir.
Her frame, alıcının çerçevenin nerede başladığını belirlemesine yardımcı olan iki Sync. baytı ile başlar. Length, CRC kontrol paketlerini içermeyen, çerçevenin geri kalanındaki paketlerin sayısını belirtir. Link kontrol, link katmanlarının paketlerin gönderilmesi ve alınması koordine etmek için kullanılır.
Hedef adres hangi DNP3 cihazının verileri işlemesi gerektiğini belirtir ve kaynak adres hangi DNP3 cihazının mesajı gönderdiğini tanımlar. Hem hedef hem de kaynak adreslerinin olması, eşler arası iletişim için en az bir gereksinimi karşılar, çünkü alıcı yanıtlarını nereye yönlendireceğini bilir. 65520 ayrı adres mevcuttur. Her DNP3 cihazı, birbirinden mesaj gönderip alan cihazların tamamından benzersiz bir adrese sahip olmalıdır. Üç arama adresi, tüm arama mesajlarını göstermek için DNP3 tarafından ayrılmıştır; yani, tüm DNP3 cihazlarını alan çerçevenin işlenmesi gerekir. Bir adres, ayrıntıları burada verilmeyen evrensel bir adrestir ve on iki adres gelecekteki özel ihtiyaçlar için ayrılmıştır.
Link frame'in içerisindeki data payload her 16 veri octet'i (byte) için, bir çift CRC octet'i (byte'ı) içerir. Bu iletişim hatalarının tespit edilebileceği konusunda yüksek derecede güvence sağlar. Data payload 'un maksimum byte sayısı, CRC byte ları hariç 250'dir. Tüm CRC ve header byte'lar sayılırsa, maksimum uzunluktaki bağlantı katmanı çerçevesi 292 byte'tır.
DNP3 konuşulduğunda sık sık "bağlantı katmanı onayı" terimi duyulur. DNP3'ün bağlantı katmanının bir özelliği, çerçevenin (frame) vericisinin, alıcının çerçevenin geldiğini onaylamasını istemesini istemesidir. Bu özelliğin kullanılması isteğe bağlıdır ve verilerin alındığını onaylamak için başka yöntemler bulunduğundan, genellikle kullanılmaz. Güvenilir bir iletişim için ekstra bir güvence sağlar. Bir onay alınmazsa, link katmanı iletimi yeniden deneyebilir. Bağlantı katmanı onayının kullanılmasının bazı dezavantajları, onay mesajları için gereken ekstra zamandır ve yeniden denemeler yapılandırıldığında birden fazla zaman aşımı beklemektedir.
Aktarım katmanı, uzun uygulama katmanı mesajlarını iletirken, bağlantı katmanının ileteceği daha küçük paketlere bölme, bağlantı katmanından uygulama katmanına iletirken yeniden boyutlarıp birleştirme sorumluluğuna sahiptir. DNP3'te taşıma katmanı, uygulama katmanına dahil edilir. Aktarım katmanı, işini yapmak için overhead üzerinde sadece bir byte gerektirir. Bu nedenle, link katmanı sadece 250 veri byte'ını işleyebildiğinden ve bunlardan biri taşıma fonksiyonu için kullanıldığından, katman çerçevesi 249 uygulama katmanı byte' ını tutabilir.
Uygulama katmanı mesajları parçalara bölünür. Maksimum parça boyutu alıcı cihazın tamponunun boyutuna göre belirlenir. Normal aralık 2048 - 4096 bayttır. Bir parçadan daha büyük olan bir mesaj, birden çok parça gerektirir. Mesajların parçalanması, uygulama katmanının sorumluluğundadır. 2048 boyutunda bir uygulama katmanı parçasının taşıma katmanı tarafından 9 kareye bölünmesi gerektiğini ve 4096'lık bir fragman boyutunun 17 kareye ihtiyacı olduğunu unutmayın. İlginçtir ki, eğer parça büyüklüğü önemli ölçüde azaltılmışsa, yüksek gürültülü ortamlarda çalışan sistemler için iletişimlerin bazen daha başarılı olduğu tecrübe edilmiştir.
Uygulama katmanı, güvenilir iletişimi sağlamak için taşıma ve bağlantı katmanlarıyla birlikte çalışır. Yukarıdaki kullanıcı katmanının etkileşime girebileceği standart işlevler ve veri biçimlendirmesi sağlar. Fonksiyonlardan önce, veri grupları (groups) ve variation' lar tartışılabilir fakat önce static, events ve class terimlerinin ele alınması gerekir. DNP3'te statik terimi verilerle kullanılır ve şimdiki değeri ifade eder. Bu nedenle, static binary input verileri, iki durumlu bir cihazın mevcut açık veya kapalı durumunu belirtir. Static analog input verileri, iletildiği anda bir analogun değerini içerir. DNP3 bir outstation cihazda statik verilerin bir kısmını veya tamamını talep edebilir. DNP3 olayları önemli bir şeyle ilişkilidir. Örneğin bunlar ; durum değişiklikleri, bazı eşikleri aşan değerler, değişken verilerin anlık görüntüleri, geçici veriler ve yeni mevcut bilgilerdir. Bir binary input açık durumdan kapalı duruma geçtiğinde veya bir analog değer yapılandırılmış ölü bant sınırından daha fazla değiştiğinde bir olay meydana gelir. DNP3, zaman damgası olan ve olmayan olayları raporlama yeteneği sağlar, böylece istenirse, master bir zaman sırası raporu oluşturma bilgisine sahip olur. Master’ın kullanıcı katmanı, DNP3’ü eventleri istemek üzere yönlendirebilir. Genellikle, bir master, zamanın çoğunu outstation'dan gelen olaylar için yoklama yaparak geçirir ve zaman zaman bir bütünlük ölçüsü olarak statik veriler isterse, daha hızlı bir şekilde güncellenir. Genellikle, bir master, zamanın çoğunu outstation lardan gelen olaylar için yoklama yaparak geçirirse, daha hızlı bir şekilde güncellenir ve sadece bütünlük için static verileri ister. Güncellemelerin daha hızlı olmasının nedeni, outstation sorgulamalar arasında oluşturulan olayların sayısının az olması ve bu nedenle daha az verinin master' gönderilmesi gerektiğidir. DNP3, olayları üç sınıfa ayırarak bir adım daha ileri gider. DNP3 tasarlandığında, Class 1 olayları, Class 2 olaylarından daha yüksek önceliğe sahip olarak kabul edildi ve Class 2, Class 3 olaylarından yüksek öncelikli olduğu kabul edildi. Bu şema hala yapılandırılabilir olsa da, bazı DNP kullanıcıları, sınıflara olayları atama operasyonları için daha elverişli başka stratejiler geliştirmiştir. Kullanıcı katmanı, uygulama katmanının Class 1, 2 veya 3 olaylarını veya bunların bir birleşimini yoklamasını isteyebilir.
DNP3'ün verileri farklı formatlarda göstermek için hükümleri vardır. Analog veri formatlarının incelenmesi, DNP3'ün esnekliğinin anlaşılmasında yardımcı olur. Statik (static), şimdiki değer (present value), analog veriler aşağıdaki gibi varyasyon numaralarıyla gösterilebilir:
A 32-bit integer value with flag
A 16-bit integer value with flag
A 32-bit integer value
A 16-bit integer value
A 32-bit floating point value with flag
A 64-bit floating point value with flag
Bayrak (Flag) Kaynağın çevrim içi olup olmadığını (on-line), kaynağın yeniden başlatıldığını (restart), bir alt kaynakla haberleşmenin kaybedildiği (communication loss), verilerin force edildiği, verinin aralık dışında olduğu durum bilgilerini içeren 8 bitlik bir byte'dır.
Tüm DNP3 cihazları altı variation'ın tümünü iletemez veya yorumlayamaz. Daha sonra, DNP3 seviyeleri tartışılır, ancak şimdilik DNP3 cihazlarının en basit variasyonları iletebilmesi gerekir, böylece herhangi bir alıcı içeriği yorumlayabilir. Event analog verileri şu variationlarla gösterilebilir:
A 32-bit integer value with flag
A 16-bit integer value with flag
A 32-bit integer value with flag and event time
A 16-bit integer value with flag and event time
A 32-bit floating point value with flag
A 64-bit floating point value with flag
A 32-bit floating point value with flag and event time
A 64-bit floating point value with flag and event time
Bayrak (Flag), statik varyasyonlarla aynı bit alanlarına sahiptir.
Yukarıdaki variation'lara bakarak, variation 1 ve 2 analog eventlerinin variation 1 ve 2 statik analog değerlerinden ayırt edilemeyeceği anlaşılmaktadır. DNP3 bu çıkmazı grup numaraları atayarak çözer. Statik analog değerler grup 30, olay analog değerleri grup 32 olarak atanmıştır. Statik analog değerler, grup 30, 6 variation'dan birinde formatlanabilir ve olay analog değerleri, grup 32, 8 variationdan birinde formatlanabilir.
Bir DNP3 outstation, yanıt verilerini içeren bir mesaj ilettiğinde, mesaj grup numarasını ve mesajdaki her değerin variation'ınını tanımlar. Counters, Binary Inputs, Controls ve Analog Outputlar için grup ve variation numaraları da atanır.
İzin verilen grupları ve varyasyonları tanımlamak, DNP3'ün cihazlar arasında birlikte çalışabilirliği sağlamasına yardımcı olur. DNP3'ün temel belgeleri, geçerli gruplardan oluşan bir kütüphane ve varyasyonlarını içerir.
Bir index'ten gelen veriler bağlantı üzerinden iletildiğinde, gönderenin bir almayı sağlamak için bilgiyi uygun şekilde kodlaması gerekir. Bu verileri çözümlemek ve düzgün şekilde yorumlamak için Mesajda görünen her bir dizin için bit ve baytlara nesne denir. Yani, mesajdaki nesneler verilerin bir noktadan veya başka bir yapıdan kodlanmış temsili ve nesne formatıdır. hangi grup ve varyasyon sayısının seçildiğine bağlıdır.
Master’ın kullanıcı katmanı, uygulama katmanına okuma işlevi gibi uygulama işlevlerini söyleyerek ve outstation'dan istediği veri türlerini belirterek, istasyondan veri isteğini formüle eder. İstek, kaç tane nesne istediğini belirtebilir veya belirli nesneleri veya X dizin numarasından Y indeks numarasına kadar bir dizi nesne belirleyebilir.Uygulama katmanı daha sonra isteği, taşıma katmanı içinden aşağıya sırayla mesajı gönderen bağlantı katmanına iletir. Outstation link katmanı frameleri hatalar için kontrol eder ve bunları mesajın tamamını outstation'ın uygulama katmanında toplandığı taşıma katmanına iletir. Uygulama katmanı daha sonra kullanıcı katmanına hangi grupların ve varyasyonların istendiğini bildirir.Yanıtlar benzer şekilde çalışır, bu nedenle, outstation kullanıcı katmanı istenen verileri alır ve sırayla kullanıcı katmanı verilerini nesnelere biçimlendirmek için grup ve varyasyon numaralarını kullanan uygulama katmanına sunar. Veriler daha sonra iletişim kanalı boyunca aşağıya ve master'ın uygulama katmanına yukarı doğru iletilir. Burada veri nesneleri daha sonra master'ın kullanıcı katmanına sunulur.
Verilerin okunması yukarıdaki iki paragrafta kısaca açıklanmıştır, ancak DNP3 yazılımı başka diğer işlevleri yerine getirmek için de tasarlanmıştır. Birincisi master, outstation daki zamanı ayarlayabilir. Master Freeze Accumulator taleplerini iletebilir ve "select-before-operate" veya "direct-operate sequences" kullanarak "Control Operation" ve "Analog Output" değerlerinin ayarlanması için istekleri iletebilir.
Henüz anlatılmayan alanlardan biri istenmeyen mesajların iletilmesidir. Bu, outstation'ın veriler için özel bir talep almadan kendiliğinden bir cevap ilettiği bir çalışma şeklidir. Tüm outstation'ların bu yeteneği yoktur.Bu mod, sistemde çok sayıda outstation varsa ve master, bir değişiklik meydana geldikten sonra en kısa sürede bildirim gerektirdiğinde kullanışlıdır.Bir master yoklama döngüsünün verileri almasını beklemek yerine, outstation basitçe değişikliği iletir.İstenmeyen mesajlar için bir sistemi yapılandırmadan önce, birkaç temel husus dikkate alınmalıdır.İlk olarak, genellikle "Unsolicited Messagess" nadiren gerçekleşmelidir, aksi takdirde çok fazla çekişme olabilir ve master'ın pooling metodu ile erişimini kontrol etmek daha iyi olacaktır.İkinci temel sorun, outstation'ın başka bir outstation'ın mesajına basmadan iletip iletemeyeceğini bilmenin bir yolunun olması gerektiğidir. DNP3, algoritmaların özelliklerini sistem uygulayıcıya bırakır.
Son bir tartışma alanı uygulama seviyelerini içerir.DNP3 organizasyonu, DNP3'ün her özelliğini desteklemenin her cihaz için gerekli olmadığını kabul eder.Bazı cihazlar bellekte ve hızda sınırlıdır ve belirli özelliklere ihtiyaç duymazken, diğer cihazların görevlerini yerine getirmek için daha gelişmiş özelliklere sahip olmaları gerekir. DNP3, karmaşıklığı üç düzeyde organize eder. En düşük seviyede, Level 1, sadece çok temel işlevler sağlanmalı ve diğerleri isteğe bağlıdır. Level 2, daha fazla fonksiyon, grup ve varyasyonla ilgilenir ve Level 3 daha da karmaşıktır. Her seviyede sadece belirli talep formatları ve cevap formatları kombinasyonları gereklidir. Bu, birlikte çalışabilirliği garanti ederken master ve outstationlardaki yazılım kodunu sınırlamak için yapıldı.
Şimdilik, DNP3'ün veri toplama dünyasına uygun bir protokol olduğu açıkça görülmelidir.Verileri genel değerler olarak taşır, zengin bir fonksiyonlar kümesine sahiptir ve geniş alan iletişim ağında çalışmak üzere tasarlanmıştır.Grupların ve varyasyonların standartlaştırılmış yaklaşımı ve bağlantı, ulaşım ve uygulama katmanları, ayrıca kamuya açıklık, DNP3' ü dikkate alınması gereken bir protokol haline getirir.