24 Ocak 2008

SNA LU0 PROTOKOLU

GİRİŞ

LU0 iletişim protokolu, iki program arasında mesaj alış verişini yapmak için kullanılan eski bir tekniktir. Bu protokolda, programın biri Merkez Bilgisayarda diğeri ise SNA ortamına bağlı bir başka bilgisayarda olur. Merkez bilgisayara gönderilen mesaj LU0 protokolu kurallarına göre hazırlanır. Eski bir teknik olduğundan protokol arayüzü çok üst düzey işlevlerden oluşmaz. Bazı protokol arayüzü işlemleri (status sorma, cevap tipini belirleme gibi) uygulama arayüzünde de bulunabilir.

SNA ortamındaki bazı kavramlar LU0 protokolu kullanılırken çok daha iyi bilinmelidir.

Uygulama Arayüzü

    HOSTOPEN
      Merkezdeki program ortamı ile bağlantı kurma. Bu işlemde Merkezdeki program iletişim tanımlarına göre Mantıksal bir birimdir (Logical Unit). Örneğin Merkezdeki CICS ortamı bir mantıksal birimdir ve uygulama programı diğer uçtaki mantıksal birim olarak CICS ile bağlantı kurar. Kurulan bağlantıda aradaki katmanlara CICS ortamı adı, bağlantı protokolu (LU0 gibi) Birincil ve ikincil birim tanımları anlatılır. Bu bilgiler bugün parametre biçiminde belirtilir.
    HOSTCLOSE
      Merkezdeki mantıksal birimle kurulan bağlantıyı kapamak için kullanılır.
    HOSTWRITE
      Merkezdeki mantıksal birime veya ara katmanlara mesaj göndermek için kullanılır. Gönderilen mesajda protokol gereği bracket işlemleri, cevap koşulları (Excp response, Definite response, Negative response gibi) da bulunur.
    HOSTREAD
      Merkezden gelen mesajları veya komutları okumak için kullanılır. Cevapta status bilgisi (sense byte) response tipi (Negative, Definite gibi) uygulama bilgilerinden ayrı olarak mesajın başında ilk 9 byte içinde bulunur.
Protokol Arayüzü
    INITSELF
      Merkezdeki VTAM programı aracığılı ile Merkezdeki uygulama programı ortamına bağlantı kurmak için gönderilen komuttur. Burada bağlantı kurulacak CICS adı, varsa MODTAB tanımı yapılır. Komut VTAM tarafından aktif durumdaki CICS ortamına iletilir. Cevap VTAM aracılığı ile Protokol arayüzüne gelir.
    BIND
      INITSELF komutu, merkezdeki programlar tarafından kabul edilince ilk gelen cevap BIND komutudur. Burada, hangi kalıp yapısı (format type) ile sistemin mesaj kabul edeceği yer alır. BIND komutuna iki tür cevap verilebilir. Ya komut kabul edilir veya red edilir. Bu işlem uygulama programı arayüzündeki mantıkla çözümlenir. Eğer BIND red edilirse, uygulama programı arayüzündeki HOSTOPEN işlemi başarısız olmuştur.
    BID
      Bir program "cevap verme" konumunda ise, BID komutunu göndererek "gönderme" konumuna geçmek ister. BID komutuna karşı taraftan olumlu yanıt gelirse istekte bulunan taraf "gönderme" konumundadır. Olumlu cevap gelmezse istekte bulunan taraf protok gereği panatezin kapanmasını beklemelidir. Çoğu kez BID komutu iletişimi durdurmak veya kurulmuş oturumu kapatmak için kullanıldığından BID komutuna olumlu cevap verilmeli ve "cevap alma" konumuna geçilmelidir. Uygulama arayüzü sistem "Alma" konumunda iken bir mesaj göndermek isterse protokol konumundan bu işlem başlatılmalıdır. Eğer uygulama programı alınan cevap beklenmedik bir biçimde ise veya alınan cevap içeriği oturumu koşulsuz kapatmayı gerektiriyorsa protokol arayüzünde BID komutu başlatılmalı. BID komutuna gelen olumlu cevapla oturum kapatılmalıdır. Genelde, uygulama programı karşı taraftan beklenen sürede cevap alamaz ise, daha sonraki mesajlarda konum uyumsuzluğu olmaması için oturumu kapatıp, yeniden açmak ister. Protokol arayüzünde program "Alma" konumunda kalmış ve cevap alamamış olduğundan BID komutu ile "Gönderme" konumuna geçilir ve daha sonra oturum UNBIND komutu ile kapatılır.
    READ
      Protokol arayüzü "Alma" konumunda iken READ komutu ile merkezden cevap bekler. İletişim arayüzüne bağımlı olarak cevap ya okunacak hiçbirşey yok (zaman aşımı) veya cevap geldi biçimindedir. Gelen cevap yine iletişim arayüzü programlarına bağımlı olarak ya 255 byte uzunluğunda zincirler halindedir, ya da 255 byte'lık bilgiler bir yapıya taşınmış BIND komutundaki kalıba göre düzenlenmiştir. BIND komutundaki kalıba göre düzenlenmiş bilgi aşağıdaki değerlerden oluşur :
        [Transmission Header][Request Header][Request Unit]
      
      Protokol Arayüzü, TH (Tranmission Header) ve RH (Request Header) değerlerinden mesajın içeriğini anlar ve uygulama programına gönderilmesi gereken cevap bu bilgilerden hazırlanır. RU (Request Unit), bu protokolda uygulama programı mesajını içerir. Bazı durumlarda RU bilgisi sıfır uzunlukta gelir. Bu bilgi CICS ortamındaki işlemin bittiği, protokol gereği parantezin kapandığı anlamını taşır. Protokol arayüzü sıfır RU boyu olan mesajla (boş mesaj), mesaj alamama durumunu ayırt etmelidir. Mesaj alamama durumunda CICS programı "Gönderme" konumunda kalmış, VTAM CICS ortamını "Gönderen" olarak tanıyordur. Uygulama programı zaman aşımına uğramış, "Alma" konumundan çıkmak istemektedir. Hatta yeniden "Gönderme" konumuna geçip mesaj göndermek istiyor olabilir. Bu durumda "Alma" durumunda olan tarafın VTAM aracılığı ile konumunu değiştirmesi gerekir. Aksi halde VTAM, uygulama programının konumunu hala "Alma" konumu olarak bildiğinden gönderilen her mesajı red edecektir. İşte bu gibi durumlarda BID komutu işe yarar. Eğer parantez kapanmamış ise BID komutu ile VTAM da yön değiştirme işlemi yapılır ve UNBIND gönderilerek oturum kapatılır. Böylece CICS uygulama programı hala çalışıyorsa durması artık karşı taraftaki programın cevap beklemediği belirtilmiş olur. Eğer CICS programı herhangi bir nedenle durmuş, zaten çalışmıyorsa bu işlemle VTAM açısından parantez kapanması sağlanmış olur.
    WRITE
      Bu komut format yapısına göre mesaj hazırlayıp bu mesajı merkezdeki CICS programına göndermek için kullanılır. Protokol arayüzü "Gönderme" konumunda iken bu komutu işleme sokar. Gönderilen mesajın yapısı
         [Transmission Header][Request Header][Request Unit]
      
      biçimindedir.
    UNBIND
      Bu komut INITSELF ve BIND komutları ile kurulmuş oturumu kapatmak için kullanılır. Gerçekte iletişim kapatılmaz, Mantıksal birimler arasında kurulmuş olan oturum kapatılır.
    HATA Kodları
      Gönderilen mesajlardan sonra, INITSELF işleminden sonra veya READ işleminden sonra STATUS sorularak hata mesajları alınabilir. SNA ortamındaki hata mesajlarına "sense byte" adı verilir. Hata mesajları 6 byte olarak protokol arayüzüne gelir. Hata mesajlarının anlamları SNA kitaplarında ayrıntıları ile açıklanmıştır.
İletişim Protokol (SDLC Protokolu)
    SNA ortamında iletişim protokolu SDLC olarak adlandırılır. Ayrıntılı bilgi ilgili sayfada açıklanmıştır.

Ana Sayfaya   Teknik Bilgiler Sayfasina


Aglar Aglink Agteknik C-Kodlama C-Önişleme CRC/LRC DEA etcsrv Çatal (fork) ilet inetd Make Msg Auth Özyinelemeli Robotlar için SDLC Güvenlik Seri uçlar SNA LU0 SNA LU6.2 tcp/ip tcp Programı Unix vi Editör