Network Working Group
Yorum İsteği: 705
NIC #33644
ÖN-UÇ PROTOKOLÜ
B6700 SÜRÜMÜ
2 Eylül 1975
Bu belge, ARPA tarzı bir ağa Burroughs B6700 ekinin tasarımı için bir belirtim ve kılavuz olarak geliştirilmiş bir çalışma belgesidir.
Yaklaşım, ağ işletimi için yeni bir protokol ile bir ön-uç işlemci kullanmaktır. Burada açıklanan bu protokol, M. A. Padlipsky ve diğerleri tarafından NIC #31117, RFC #647’de ifade edilen kavramlar üzerine inşa edilmiştir.
Bu önerilen, siteye özgü FEP uygulaması, NSA’dan Gerald Bailey ve Keith McCloghrie ile ACC’den David Grothe’un çalışmasıdır. MAP tarafından sağlanan bazı düzeltmeleri hâlihazırda içermektedir. İlgilenen ağ uzmanlarının belgeyi inceleyip bize yorum sağlamaları yararlı olacaktır.
Yorumlar BRYAN@ISI adresine gönderilmelidir.
Roland Bryan – ACC
ÖN-UÇ PROTOKOLÜ
B6700 Sürümü
ÇALIŞMA BELGESİ
ÖN-UÇ PROTOKOLÜ
Önsöz
Bu belge, genel amaçlı bir bilgisayar sisteminin (host), bir "ön-uç" bilgisayar aracılığıyla ARPANET benzeri bir ağa bağlanması için kullanılacak protokolü açıklar. Belgenin ana bölümü, ağ protokollerinin tüm ayrıntılarına aşina olmayan bir okuyucuya yöneliktir. Bununla birlikte, [n] ile işaretlenmiş bir paragraf, ağ protokollerine aşina olan okuyucuyu Ek A’nın n’inci maddesine yönlendirir; bu ek, ilgili paragrafı ayrıntılandırır. Bu belgede atıfta bulunulan ağ protokolleri hakkında ek bilgiler Network Information Center’dan edinilebilir.
Ek B, farklı bağlantı durumları arasındaki geçişleri gösteren diyagramları içerir. Ekler C ve D, bu protokolün Ön-Uç ve Host’lardaki uygulama ayrıntılarını verir.
Bu protokol, her bir host için, daha alt bir seviyede, Host ve Ön-Uç içindeki aygıt-sürücü modülleri arasında bir hat protokolünün kurulacağı ve bu hat protokolünün Ön-Uç Protokolü’ne hatasız iletimler sağlayacağı varsayımına dayanmaktadır.
Giriş
Bir host bilgisayar, çeşitli nedenlerle bir ağa bağlanabilir. Ağ bağlantısı, ağ kaynaklarını kullanıcılara sunarak Host’un hizmet verdiği kullanıcı topluluğu için faydasını artırma girişimi olabilir. Buna karşılık, Host’un sağladığı hizmetler daha geniş bir kullanıcı topluluğuna sunulabilir ve ağ, bu hizmetlere erişim yöntemini sağlar.
Bir ağ topluluğunun üyelerinin anlamlı bir şekilde iletişim kurabilmesi için bir protokoller kümesinin var olması gerekir. Bu protokollerin bir host bilgisayarda uygulanmasına genellikle Ağ Denetim Programı (Network Control Program – NCP) adı verilir. NCP’nin boyutu ve karmaşıklığı, uyguladığı protokollerin sayısı ve karmaşıklığı ile orantılıdır. ARPANET benzeri bir ağ için hem sayı hem de karmaşıklık oldukça fazladır.
ÇALIŞMA BELGESİ
Ağa doğrudan bağlanan bir host, bu protokoller kümesini uygulama sorumluluğunu üstlenmelidir. Bu, bir ağ host’u olmanın “giriş bedeli”dir. Her host’ta her protokolün ve her seçeneğin uygulanması gerekli değildir; ancak en basit durumda bile bir NCP’nin uygulanması küçük bir iş değildir. Host’un normal çalışma ortamına yapılan müdahale de az değildir.
Ağ bağlantısı için alternatif bir yöntem, host’u bir ara işlemciye bağlamak ve bu işlemciyi doğrudan ağa bağlamaktır. Bu yaklaşıma Ön-Uç Kullanımı (Front-Ending) denir. Bir host’un bir ön-uç işlemci aracılığıyla ağa bağlanmasını gerekçelendirmek için birçok argüman ileri sürülebilir. En belirgin olanı, ağ protokollerinin (NCP) uygulanması sorumluluğunun ön-uç’a (FE) devredilebilmesi ve böylece host üzerindeki etkinin azaltılmasıdır.
Bu belgenin amacı, Ön-Uç kullanımını bir felsefe olarak gerekçelendirmek değil; bunun yerine, bir host ile ona ağ erişimi sağlayan bir ön-uç işlemci arasındaki iletişim için bir protokol tanıtmaktır. Ön-Uç Protokolü (FEP), host’un mevcut protokoller aracılığıyla ağı kullanmasına olanak vermeyi, bunu yaparken de bu protokollerin yürütülmesinde var olan karmaşıklıklar ve uygulama ayrıntılarından haberdar olmasını gerektirmemeyi amaçlar.
FEP, host içindeki uygulamasının, host’un gerçekleştirdiği işlev ya da sağladığı hizmetler cinsinden yapılmasına izin verecek kadar geneldir. FEP’nin belirtiminde birincil husus, host’a ağ görevlerini yerine getirebilmesi için yeterince sağlam bir komut repertuarı sağlaması ve aynı zamanda onu ağ protokollerinin ayrıntılarından yalıtmasıdır.
Kavramlar
Giriş
Komut yapılarının ayrıntılı açıklamasına geçmeden önce, FEP’nin dayandığı bazı kavramları tanıtmak uygun görünmektedir.
Aşağıdaki bölüm, FEP komutlarını kısaca açıklamakta ve sağlanan adresleme ile bağlantı türleri kavramlarını ayrıntılandırmaktadır.
Komutlar (Genel)
BEGIN Komutu
Bu komut host’tan ön-uç işlemciye gönderilir. İşlevi, bir veya daha fazla ağ bağlantısının kurulmasını yönlendirmektir. Bağlantıların türü ve sayısı BEGIN komut dizgesinde belirtilir.LISTEN Komutu
Bu komut aracılığıyla host, diğer host’lardan gelen bağlantı isteklerini kabul etmeye istekli olduğunu belirtir. Ön-uç işlemciye bu tür bağlantı isteklerini DINLEME (LISTEN) talimatı verir. Bağlantıların sayısı ve türü komut dizgesinde belirtilir.RESPONSE Komutu
Ön-uç işlemci, BEGIN veya LISTEN komutunda belirtilen belirli bir yolun artık açık olduğunu ya da açma girişiminin başarısız olduğunu host’a bildirmek için RESPONSE komutunu kullanır.MESSAGE Komutu
Host ile ön-uç işlemci arasında geçen mesaj metni bu komut dizgesinde gönderilir. MESSAGE komutu çift yönlüdür ve host veya ön-uç için aynıdır.INTERRUPT Komutu
INTERRUPT komutu host veya FE tarafından gönderilir. En yaygın kullanımı, kullanıcının yaptığı işi sonlandırmak istediğini iletmektir; yani Control-C, ATTN veya INT tuşuna basmıştır.END Komutu
Bir veya daha fazla bağlantı, FE veya host tarafından bu komutun verilmesiyle kapatılabilir. END komutunun etkilediği bağlantı(lar) komut dizgesinde belirtilir.REPLY Komutu
Bu komutun, tüm komut türlerinin (REPLY hariç) alındığını onaylamak üzere hem host hem de FE tarafından gönderilmesi zorunludur. Onaylanan komutun başarılı ya da başarısız olduğu bilgisi REPLY komut dizgesinde iletilir.
Bağlantılar
Anlamlı bir konuşmaya girebilmek için, ilgili tarafların bağlı olması gerekir. Bir ağ bağlantısı, ARPA Host-Host Protokol belgesinde (NIC #8246) şu şekilde tanımlanır: “Bir bağlantı, iki süreci birbirine bağlar; böylece bir sürecin çıktısı diğerinin girdisi olur. Bağlantılar tek yönlü olarak tanımlanır; bu nedenle iki sürecin her iki yönde konuşabilmesi için iki bağlantı gereklidir.” Bir bağlantının bileşenleri olan soketler şu şekilde tanımlanır: “... bir soket, bir bağlantının bir ucuna referans oluşturur ve bir bağlantı, bir çift soket ile tam olarak belirtilir. Bir soket, bir Host numarası ve 32 bitlik bir soket numarası ile tanımlanır. Farklı Host’lardaki aynı numara, farklı soketleri temsil eder.”
Mevcut ağ protokolleri, soket atamalarının seçilmesi, soketlerin bağlantı oluşturmak üzere eşleştirilmesi ve protokolü uygulamak için gereken bağlantı sayısı konusunda belirlenmiş stratejiler içerir.
Konuşmalar çoğu durumda çift yönlüdür. Bu nedenle, bu durumlarda Host’un yordamlarını basitleştirmek için FEP, Host’un hem gönderme hem de alma yapabildiği çift yönlü (duplex) bağlantılara izin verir. İletişimin tek yönlü olduğu durumlar için yalnızca gönderme veya yalnızca alma bağlantıları da mevcuttur.
Böylece FEP, mevcut protokollere uyum sağlamanın yanı sıra, Host’taki karmaşıklığı azaltma ve yeni protokollerin geliştirilmesine olanak tanıma esnekliği sağlar.
Adresleme
FEP’de konuşmalar, başlatma sırasında Host adresi, İndeks numarası, Yol numarası ve Soket atamasının bir birleşimi ile benzersiz olarak tanımlanır. Bağlantı(lar)ın kurulması için Host adresi ve Soket ataması gereklidir; bundan sonra konuşmayı tanımlamak için İndeks ve Yol yeterlidir.
Host Adresi
Yerel Host, BEGIN komutu aracılığıyla ağ bağlantı(lar)ının oluşturulmasını açıkça yönlendirirse, iletişim kurmak istediği yabancı host’un adresini belirtmelidir. Yerel host, LISTEN komutu ile iletişim isteğini belirtirse, Ön-Uç işlemci, bağlanan yabancı host(lar)ın adresini RESPONSE komut(lar)ında sağlayacaktır.
Soket
Bir soket ya gönderme soketi ya da alma soketidir. Bu özellik, soketin cinsiyeti olarak adlandırılır. Bir ağ bağlantısının her iki ucundaki soketler zıt cinsiyette olmalıdır. Daha önce tanımlandığı gibi, bir soket bir ağ bağlantısının bir ucu için referans oluşturur. Mümkün olduğunca FEP, bireysel konuşmalar için soket atama sorumluluğundan Host’u yalıtır. Ancak soket, ağın adresleme mekanizmasının temel bir parçası olduğundan, bağlantılar kurulurken Host’un soket atamalarından haberdar olması gerekebilir.
Bir host, diğer ağ topluluğu üyelerine hizmetleri iyi duyurulmuş (well-advertised) bir soket aracılığıyla sunar. Başlangıç Bağlantı Protokolü (Initial Connection Protocol – ICP) [1], öncelikle iyi duyurulmuş sokete bağlanmak ve ardından şu anda kullanılmayan bir soketin numarasını değiştokuş etmek için kullanılır; bu soket, gerekli bağlantılar için kullanılır ve böylece iyi duyurulmuş soket, bağlanmaya çalışan diğerleri için serbest bırakılabilir.
Bir konuşma kurulurken (BEGIN veya LISTEN komutu ile) Host, CONN-TYPE alanının değerinde, belirtilen soketin doğrudan mı kullanılacağını yoksa bir başlangıç bağlantı soketi olarak mı kullanılacağını belirtir.
İndeks/Yol Adresleme
İndeksler, ağ konuşmalarını tanımlamak için yerel Host tarafından atanan değerlerdir. Konuşmalar kurulduğunda (BEGIN veya LISTEN komutları ile) Host bir indeks değeri belirtmelidir. Bu değer, süresi boyunca ortaya çıkan konuşmalarla ilişkilendirilir.
Konuşmaları ilişkilendirmek [2] sıklıkla gereklidir. Bunu desteklemek için, her indeksin kendisiyle ilişkili bir veya daha fazla yolunun bulunduğu veri yolları tanımlanır (bir yol, bir indeksin alt öğesi olmadan var olamaz) ve tüm ağ iletişimi bir yol üzerinden iletilir.
Aynı anda kullanılabilecek azami indeks sayısı ve tek bir indeks içindeki azami yol sayısı kurulum parametreleridir.
İndeks 0, diğer indeksleri denetlemek için ayrılmıştır ve mantıksal olarak tüm diğer indekslerin aktığı “boru”yu temsil eder.
FEP komut dizgelerindeki adresler, INDEX ve PATH alanlarının çifti ile iletilir. Yeni indekslerin açılmasına veya mevcut bir indekse yeni veri yollarının eklenmesine neden olan komutlarda (BEGIN veya LISTEN), PATH alanı bu komut tarafından üzerinde işlem yapılacak ilk yolu belirtir. Yeni yol veya indeks oluşturmayan komutlarda ise, PATH 0 ise bu INDEX ile ilişkili tüm yollar adreslenir; PATH sıfırdan farklıysa yalnızca belirtilen INDEX içindeki belirli yol adreslenir.
Yol Türleri
Bir yol üç türden biri olabilir:
- DUPLEX – Hem Host hem de FE bu yol üzerinde MESSAGE komutları verebilir.
- SEND – Bu yol üzerinde yalnızca Host MESSAGE komutları verebilir.
- RECEIVE – Bu yol üzerinde yalnızca FE MESSAGE komutları verebilir.
Bir indeks içindeki yollar, yol türlerinin bir karışımı olabilir; ancak aynı türden bitişik her küme için ayrı bir BEGIN/LISTEN kullanılmalıdır.
Bir FEP yolu, aşağıdaki istisna ile bir ağ bağlantısına benzer: ağ bağlantıları her zaman simplekstir. Bu, SEND veya RECEIVE türündeki yollar için geçerlidir. Ancak bir DUPLEX yol, FE’nin iki yerel soketi iki yabancı sokete bağlamasıyla oluşturulur. Bu, iki ağ (simpleks) bağlantısından oluşan bir “duplex bağlantı”dır.
Bir Yolun Kurulma Kipleri
Bir veya daha fazla yol, tek bir BEGIN veya LISTEN komutunun etkisiyle kurulur; kip, komutun CONN-TYPE alanında belirtilir. Yol türlerinin her biri iki kipten birinde kurulur—doğrudan ya da ICP aracılığıyla. Yolun cinsiyeti (alma, gönderme ya da her ikisi) kipten etkilenmez.
Herhangi bir yol türü ICP kipi ile belirtildiğinde, SOCKET alanındaki soket değeri iyi duyurulmuş soket olarak kullanılır ve gerçek çalışma soketi Başlangıç Bağlantı Protokolü’ne göre değiştokuş edilir. Doğrudan kip belirtildiğinde, belirtilen soket çalışma soketi olarak kullanılır.
Her iki kipte de, birden fazla yol belirtildiğinde, her yol için uygun cinsiyetteki bir sonraki daha yüksek soket numarası değerleri seçilir. [3]
Çeviri
Host, bir yol(lar) kurduğunda (BEGIN veya LISTEN komutu ile), bu yol(lar) üzerinden iletilen tüm veriler üzerinde FE’nin hangi tür çeviri veya veri eşlemesi yapmasını istediğini tanımlar. Bu, iki değerle belirtilir—biri FE ile ağ arasında iletilen verinin biçimini, diğeri Host ile FE arasındaki verinin biçimini verir. [4]
Akış Denetimi
Tüm komutlar (REPLY’ler hariç) alıcı tarafından REPLY ile onaylanmalıdır. Gönderici, bir REPLY alana kadar aynı yol üzerinde daha fazla komut göndermekten engellenir. REPLY komutu iki işlev görür: yol üzerindeki son iletimin başarılı/başarısız olduğunu belirtir ve ayrıca alıcının bu yol üzerinde daha fazla veri kabul etmeye istekli olduğunu gösterir. Açık bir yol üzerinde herhangi bir geçerli REPLY’nin alınması, END veya INTERRUPT komutları için yolun engelini kaldırmak için yeterlidir. Dolayısıyla, belirli bir yol üzerinde daha fazla veri (MESSAGE komutları) kabul etmeyecek (ya da edemeyecek) bir alıcı, isterse yolun END edilmesini gönderen açısından engellemek zorunda değildir. Yanıtta “READY” göstergesi, MESSAGE komutları için de yolun engelini kaldırır.
Normal durumda REPLY, her iki işlevi eşzamanlı olarak yerine getirir. Ancak alıcı daha fazla veri kabul etmeye hazır olmadığında, yalnızca son komutun başarısını/başarısızlığını belirten bir REPLY gönderebilir; bu, göndericinin iletim tamponunu serbest bırakmasına, gerekirse komutu yeniden iletim için sıraya almasına vb. olanak tanır ve alıcının daha fazla veri kabul edebilme yeteneğini bildiren başka bir REPLY komutunu beklemesini sağlar.
Olağanüstü Durumlar
Bir komut alındığında ve yürütülemediğinde, göndereni bilgilendirmek için REPLY komutu kullanılır. Bunu yapmak için, REPLY’nin CODE alanının bitleri, hatanın KATEGORİSİNİ ve bu kategori içindeki TÜRÜNÜ gösterecek şekilde ayarlanır (Bkz. Bölüm 3h).
ÇALIŞMA BELGESİ
RFC 705
Ön-Uç Protokolü
ÇALIŞMA BELGESİ
KOMUTLAR
Giriş
Host ile FE arasındaki tüm iletişimler komutlar aracılığıyla gerçekleştirilir. Komutlara dokümantasyon amaçlarıyla adlar verilir, ancak komut dizgesinin ilk alanının ikili değeriyle ayırt edilirler. Komut dizgeleri, kurulum tarafından tanımlanan bir parametrenin bir sonraki katına kadar sıfırlarla doldurulur. (Bu değer, Host ile FE arasındaki donanım arayüzünün yeteneklerine bağlı olacaktır.)
Bir komut dizgesi içindeki alan uzunlukları, belirli sayıda bit olarak tanımlanır. Bu bilgi bitleri, onları tutmak için gereken en az sayıda bayt içinde sağa yaslanmış olarak yerleştirilir. Bir baytın boyutu, genellikle 8 bit olacak şekilde bir kurulum parametresidir; ancak gerektiğinde diğer değerler de desteklenecektir.
REPLY komutunun CODE alanının değerleri ve anlamları, aşağıdaki açıklamalarda her bir komut için verilmiştir:
1: BEGIN
Format
BEGIN INDEX PATH HOST SOCKET TRANS-TYPE CONN-TYPE NPATHS
Kullanım
Bu komut yalnızca Host’tan FE’ye gönderilir. İşlevi, belirtilen indeks üzerinde Host ile FE arasında bir veya daha fazla mantıksal bağlantı (yol) kurulmasını FE’ye yönlendirmektir.
Kullanımı, PATH alanının değerine bağlı olarak üç farklı moda sahiptir:
- Mod (a) – yeni bir indeks kurmak ve FE’yi, bu indeks içinde belirtilen bir veya daha fazla yol için ağ bağlantıları kurmayı denemeye yönlendirmek.
- Mod (b) – önceden kurulmuş indeks içinde mevcut (ancak şu anda kapalı olan) bir yol için ağ bağlantıları kurmayı denemek.
- Mod (c) – önceden kurulmuş indeks içinde bir veya daha fazla yeni yol için ağ bağlantıları kurmayı denemek.
Parametreler
a) BEGIN, değeri 1 olan 8 bitlik bir alandır.
b) INDEX, indeksi belirten 16 bitlik bir alandır. 0 değerinin özel kullanım için ayrıldığını unutmayın (bkz. Bölüm 4).
c) PATH, kurulacak yol(lar)ı belirten 8 bitlik bir alandır. Değeri, BEGIN’in modunu tanımlar:
- Mod (a): değeri 1 olmalıdır.
- Mod (b): yeniden açılacak yolun değeri olmalıdır.
- Mod (c): bu indeks içinde şu anda tanımlı yol sayısından tam olarak bir fazla olmalıdır.
d) HOST, bağlantıların kurulacağı uzak host’u belirten 32 bitlik bir alandır.
e) SOCKET, bağlantıların yapılacağı uzak host üzerindeki ilk ya da tek soketi belirten 32 bitlik bir alandır.
f) TRANS-TYPE, bu komutla kurulan her yol üzerinde gönderilen tüm veriler (yani MESSAGE komut dizgesindeki TEXT) için FE’nin uygulayacağı çeviri türünü belirten 16 bitlik bir alandır. İlk 8 bit, ağ tarafındaki veri biçimini; ikinci 8 bit, Host tarafındaki veri biçimini belirtir. Belirli biçimlere (ör. ASCII, EBCDIC vb.) atanan değerler kurulum parametreleridir; ancak 0 değeri her zaman “bit dizgesi” anlamına gelir ve dolayısıyla 8 bitlik alt alanlardan herhangi biri 0 içeriyorsa, herhangi bir eşleme yapılmaz.
g) CONN-TYPE, belirtilen yol(lar) için kurulacak bağlantı(lar)ın türünü ve modunu belirten 16 bitlik bir alandır. Değeri, FE’ye soketleri indeksler/yollar ile nasıl ilişkilendireceğini bildirir (bkz. Bölüm 2f ve 2g).
Değer Tür Mod 7 Duplex ICP üzerinden 6 Duplex doğrudan 5 Alım ICP üzerinden 4 Alım doğrudan 3 Gönderim ICP üzerinden 2 Gönderim doğrudan h) NPATHS, bu komutun FE’ye bağlantı kurmayı denemesini yönlendirdiği yol sayısını belirten 8 bitlik bir alandır. BEGIN mod (b) ise değeri 1 olmalıdır. Aksi halde, değeri ile PATH alanının değerinin toplamı, yeni geçerli yol sayısının bir fazlasına eşittir.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 3 | 1 | Yeni indeks için PATH geçersiz |
| 3 | 2 | Eski indeks için PATH geçersiz |
| 3 | 3 | PATH zaten açık |
| 3 | 4 | HOST bilinmiyor |
| 3 | 5 | TRANSLATION-TYPE geçersiz |
| 3 | 6 | CONNECTION-TYPE geçersiz |
| 3 | 7 | Eski indeks üzerindeki eski yol için NPATHS geçersiz |
| 3 | 8 | Belirtilen soket CONN-TYPE ile tutarsız |
| 3 | 9 | INDEX geçersiz, işlem yapmaya hazır değil |
| 4 | 1 | Yeni bağlantı yok – FE dolu |
| 4 | 2 | Yeni bağlantı yok – yakında kapatılıyor |
2: LISTEN
Format
LISTEN INDEX PATH HOST SOCKET TRANS-TYPE CONN-TYPE NPATHS
Kullanım
Bu komut yalnızca Host’tan FE’ye gönderilir.
İşlevi, FE’yi dinleme moduna almak, yani belirtilen yerel sokete ağdan bir bağlantı isteği (RFC) gelene kadar belirtilen yolları beklemede tutmak; ardından bağlantıları kurmak ve her yol için bir RESPONSE komutu ile yanıtlamaktır.
Kullanımı, PATH alanının değerine bağlı olarak üç farklı moda sahiptir:
- Mod (a) – yeni bir indeks kurmak ve belirtilen yerel soket üzerinde dinleyerek belirtilen yollar için bağlantılar kurmak.
- Mod (b) – önceden kurulmuş indeks içindeki belirtilen mevcut (ancak şu anda kapalı olan) yol için, belirtilen soket üzerinde dinlemek.
- Mod (c) – önceden kurulmuş indeks içinde belirtilen yeni yol(lar) için, belirtilen soket üzerinde dinlemek.
HOST parametresinin kullanımıyla, FE herhangi bir host’tan ya da yalnızca belirtilen host’tan gelen RFC’leri kabul edecek şekilde yönlendirilebilir.
Parametreler
a) LISTEN, değeri 2 olan 8 bitlik bir alandır.
b) INDEX, indeksi belirten 16 bitlik bir alandır.
c) PATH, bir veya daha fazla yolun ilki olup, RFC alınana kadar beklemede tutulacak yolu belirten 8 bitlik bir alandır. Değeri, LISTEN’in modunu tanımlar:
- Mod (a): değeri 1 olmalıdır.
- Mod (b): mevcut yolun değeri olmalıdır.
- Mod (c): bu indeks içindeki mevcut yol sayısından tam olarak bir fazla olmalıdır.
d) HOST, RFC’lerin kabul edileceği host’u belirten 32 bitlik bir alandır; 0 değeri herhangi bir host’tan anlamına gelir.
e) SOCKET, FE’nin RFC’leri dinleyeceği yerel soketi belirten 32 bitlik bir alandır.
f) TRANS-TYPE, bu komut sonucunda kurulan her yol üzerinde gönderilen tüm veriler için FE’nin uygulayacağı çeviri türünü belirten 16 bitlik bir alandır. Değerleri BEGIN komutundaki ile aynıdır.
g) CONN-TYPE, bir RFC alındığında belirtilen yol(lar) için kurulacak bağlantı(lar)ın türünü ve modunu belirten 16 bitlik bir alandır. Değerleri BEGIN komutundaki ile aynıdır.
h) NPATHS, bu komutun belirtilen indeks ile ilişkilendirdiği ve kurulacak yol sayısını belirten 8 bitlik bir alandır. LISTEN mod (b) ise değeri 1 olmalıdır. Aksi halde, değeri ile PATH alanının değerinin toplamı, bu indeks içindeki yeni geçerli yol sayısının bir fazlasına eşittir. Dolayısıyla bu değer, FE’nin bu soket üzerinde dinlediği ek RFC sayısını ifade eder.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 3 | 1 | Yeni indeks için PATH geçersiz |
| 3 | 2 | Eski indeks için PATH geçersiz |
| 3 | 3 | PATH zaten açık |
| 3 | 4 | HOST bilinmiyor |
| 3 | 5 | TRANSLATION-TYPE geçersiz |
| 3 | 6 | CONNECTION-TYPE geçersiz |
| 3 | 7 | Eski indeks üzerindeki eski yol için NPATHS geçersiz |
| 3 | 8 | Belirtilen soket CONN-TYPE ile tutarsız |
| 3 | 9 | INDEX geçersiz, işlem yapmaya hazır değil |
| 3 | 10 | Soket zaten kullanımda |
| 4 | 1 | Yeni dinleme yok – FE dolu |
| 4 | 2 | Yeni dinleme yok – yakında kapatılıyor |
3: RESPONSE
Format
RESPONSE INDEX PATH CODE HOST SOCKET
Kullanım
Bu komut, BEGIN veya LISTEN komutunda belirtilen her yol için bir kez olmak üzere, yalnızca FE’den Host’a gönderilir.
BEGIN’de belirtilen yollar için, bağlantı denemesinin başarılı ya da başarısız olduğunu göstermek üzere gönderilir. LISTEN’de belirtilen yollar için ise, FE eşleşen bir RFC aldığında ve bağlantıyı kurduğunda gönderilir.
HOST ve SOCKET parametreleri yalnızca bilgilendirme amaçlıdır; Host isterse bunları yok sayabilir. İçeriklerinin yalnızca bağlantı denemesi başarılı olduğunda garanti edildiğini unutmayın.
Parametreler
a) RESPONSE, değeri 3 olan 8 bitlik bir alandır.
b) INDEX, indeksi belirten 16 bitlik bir alandır.
c) PATH, belirli yolu gösteren 8 bitlik bir alandır.
d) CODE, bağlantı denemesinin sonucunu gösteren 16 bitlik bir alandır:
Değer Anlam 0 Yol başarıyla kuruldu 1 Yerel IMP çalışmıyor 2 Uzak IMP erişilemez 3 Uzak Host çalışmıyor 4 Uzak Host yanıt vermiyor 5 Bağlantı reddedildi e) HOST, bağlantının kurulduğu uzak host’u belirten 32 bitlik bir alandır.
f) SOCKET, uzak host üzerindeki soketi belirten 32 bitlik bir alandır. Bağlantı türü simplex ise bu yol için tek uzak sokettir; duplex ise iki uzak soketten düşük numaralı olanıdır.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 3 | 11 | INDEX bilinmiyor |
| 3 | 12 | PATH bilinmiyor |
| 3 | 13 | CODE geçersiz |
4: MESSAGE
Format
MESSAGE INDEX PATH COUNT PAD TEXT
Kullanım
Bu komut, belirtilen yol ve indeks üzerinde veri iletmek için Host veya FE tarafından gönderilir.
Parametreler
- a) MESSAGE, değeri 4 olan 8 bitlik bir alandır.
- b) INDEX, indeksi belirten 16 bitlik bir alandır.
- c) PATH, yolu belirten 8 bitlik bir alandır. 0 değerinin yayın (broadcast) seçeneğinde kullanıldığını unutmayın (bkz. Bölüm 3j).
- d) COUNT, TEXT alanındaki veri bitlerinin sayısını belirten 16 bitlik bir alandır.
- e) PAD, n bitlik bir alandır; burada n bir kurulum parametresidir. Yalnızca doldurma içerir (mevcut protokol tanımında) ve Host’un TEXT alanını uygun bir sınırdan başlatabilmesini sağlamak için kullanılabilir.
- f) TEXT, bu yol üzerinden iletilen COUNT bitlik veriyi içeren bir alandır.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 2 | 1 | Bu seçenek uygulanmamış |
| 3 | 12 | PATH bilinmiyor |
| 3 | 14 | Bu yönde açılmış bağlantı yok |
| 3 | 15 | PATH şu anda bloklu, daha sonra yeniden gönderin |
| 3 | 16 | PATH şu anda askıya alınmış, daha sonra yeniden gönderin |
| 3 | 17 | PATH kapalı |
| 3 | 17 | COUNT çok büyük |
| 4 | 3 | Veri iletiminde hata, komutu yeniden gönderin |
| 4 | 4 | Veri kaybı, komutu yeniden gönderin |
5: INTERRUPT
Format
INTERRUPT INDEX PATH CODE
Kullanım
Bu komut, Host veya FE tarafından gönderilir.
En yaygın kullanımı, bir terminal kullanıcısının INT (veya ATTN ya da Control-C) tuşuna bastığı bilgisini iletmek ve böylece uygulama programının yaptığı işi bırakmasını istemesidir.
Parametreler
- a) INTERRUPT, değeri 5 olan 8 bitlik bir alandır.
- b) INDEX, indeksi belirten 16 bitlik bir alandır.
- c) PATH, INTERRUPT’in iletildiği yolu belirten 8 bitlik bir alandır. 0 değerinin yayın (broadcast) seçeneğinde kullanıldığını unutmayın (bkz. Bölüm 3j).
- d) CODE, 16 bitlik bir alandır. Henüz tanımlı bir anlamı yoktur ve 0 içermelidir.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 2 | 1 | Bu seçenek uygulanmamış |
| 3 | 11 | INDEX bilinmiyor |
| 3 | 12 | PATH bilinmiyor |
| 3 | 14 | Bu yönde açılmış bağlantı yok |
| 3 | 15 | PATH şu anda bloklu, daha sonra yeniden gönderin |
| 3 | 17 | PATH kapalı |
6: END
Format
END INDEX PATH CODE
Kullanım
Bu komut, bir bağlantıyı sonlandırmak için Host veya FE tarafından gönderilir. PATH 0 ise indeks ve ona ait tüm yollar sonlandırılır; aksi halde yalnızca indeksin belirtilen yolu sonlandırılır.
Parametreler
- a) END, değeri 6 olan 8 bitlik bir alandır.
- b) INDEX, indeksi belirten 16 bitlik bir alandır.
- c) PATH, kapatılacak yolu içeren 8 bitlik bir alandır; tüm indeks kapatılacaksa 0’dır.
- d) CODE, kapatmanın nedenini belirten 16 bitlik bir alandır.
0 Normal kapatma 1 Yeniden deneme hakları tükendi 2 Uzak Host arızası 3 Uzak IMP arızası 4 Ağ arızası 5 Yerel IMP arızası.
“Yeniden deneme hakları tükendi” kodu, FE’nin uzak host’a bir iletimi başarı olmadan tekrar tekrar denediğini gösterir.
REPLY içindeki Hata CODE’ları
| Kategori | Tür | Anlam |
|---|---|---|
| 3 | 11 | INDEX bilinmiyor |
| 3 | 12 | PATH bilinmiyor |
| 3 | 13 | CODE bilinmiyor |
| 3 | 15 | PATH şu anda bloklu, daha sonra yeniden gönderin |
| 3 | 17 | PATH kapalı. |
7. REPLY (4h)
Format
REPLY INDEX PATH CODE
Kullanım
Bu komut, Host ve FE tarafından, diğer tüm komut türlerinin (indeks 0 üzerindekiler dahil, bkz. Bölüm 4) alındığını onaylamak ve/veya açık bir yolun belirli bir yönünü başka bir komutun iletimi için bloktan çıkarmak amacıyla gönderilir.
INDEX ve PATH alanlarının, yanıt verilen komutun alanlarıyla birebir aynı olduğunu unutmayın.
ÇALIŞMA BELGESİ
RFC 705 — Ön Uç Protokolü
ÇALIŞMA BELGESİ
Parametreler
a) REPLY, değeri 7 olan 8 bitlik bir alandır.
b) INDEX, indeksi belirten 16 bitlik bir alandır.
c) PATH, yolu belirten 8 bitlik bir alandır.
d) CODE, yanıtlanan komutun başarı/başarısızlık durumunu ve gönderenin aynı yol üzerinde daha fazla komuta hazır olup olmadığını gösteren 16 bitlik bir alandır. Dört alt alana ayrılmıştır — STATUS, COMMAND, CATEGORY ve TYPE.
1) STATUS (4 bit)
- bit 0 (en sağ) — READY
- bit 1 — NOT-READY
- bit 2 — ACK
- bit 3 — NAK
ACK=1, REPLY’i gönderenin yanıtlanan komutu kabul ettiğini gösterir. NAK=1, gönderenin komutu (CODE alanındaki diğer bit ayarlarıyla belirtilen nedenle) attığını gösterir.
NOT-READY=1, REPLY’i gönderenin bu yol üzerinde bir END veya INTERRUPT almaya istekli olduğunu gösterir. READY=1, MESSAGE komutlarının da alınacağını gösterir.
Normalde, diğer her komut için yalnızca bir REPLY komutu gönderilir. Ancak MESSAGE, INTERRUPT, RESPONSE ve geçersiz END komutları; ACK (veya NAK)=1 ve NOT-READY=1 içeren bir REPLY ile ve daha sonra bir zamanda READY=1 içeren başka bir REPLY ile yanıtlanabilir. [6]
ACK ve NAK bitleri birbirini dışlar ve asla aynı anda etkin olmamalıdır; READY ve NOT-READY bitleri için de aynı durum geçerlidir.
READY/NOT-READY bit ayarlarının yalnızca bir yol açıkken geçerli olduğunu unutmayın.
ÇALIŞMA BELGESİ
2) COMMAND (4 bit)
Bu REPLY’in hangi komut için olduğunu belirtir:
| Değer | Anlam |
|---|---|
| 0 | aşağıdakilerden herhangi biri |
| 1 | BEGIN |
| 2 | LISTEN |
| 3 | RESPONSE |
| 4 | MESSAGE |
| 5 | INTERRUPT |
| 6 | END |
0 değeri, bir Host’un sıfır olmayan değeri doldurmak için gereken ek yükü üstlenmek istemediği durumlar için tanımlanmıştır.
3) CATEGORY (3 bit)
ACK bitinin kapalı olmasıyla belirtilen hatanın kategorisini belirtir:
| Değer | Anlam |
|---|---|
| 1 | Komut tanınmadı |
| 2 | Seçenek uygulanmamış |
| 3 | Geçersiz |
| 4 | İşlem başarısız oldu |
Değeri yalnızca NAK=1 olduğunda geçerlidir.
4) TYPE (5 bit)
Hangi hatanın oluştuğunu belirtir. Değeri yalnızca NAK=1 olduğunda geçerlidir. Çeşitli hatalar için olası değerler ve anlamları ile bunlara karşılık gelen CATEGORY alt alanı değerleri, her komutun açıklaması altında verilmiştir.
Sıralama (4i)
Host ile FE arasında iletişim kurulduktan ve her iki taraf da "İşe Hazır" duruma geldikten sonra (bkz. Bölüm 4b), Host herhangi bir zamanda yeni indeksler için BEGIN veya LISTEN komutları gönderebilir. FE, bir BEGIN veya LISTEN komutunu bir REPLY ile onaylar ve REPLY herhangi bir hata göstermiyorsa indeks bu noktada kurulmuş olur. Aynı indeks üzerindeki yeni yollar için başka BEGIN veya LISTEN komutları, indeks kurulduktan sonra herhangi bir zamanda gönderilebilir.
FE, Host’un talimatlarını yerine getirme girişimlerini tamamladığında her yol için bir RESPONSE komutu gönderir. Bir girişim başarısız olmuşsa (CODE alanı ile belirtilir) yol kapalı kalır ve bu yol için başka bir BEGIN veya LISTEN gönderilebilir. Girişim başarılı olmuşsa, Host RESPONSE’a bir REPLY verdikten sonra MESSAGE veya INTERRUPT komutları gönderilebilir.
Aynı yönde, aynı yol üzerindeki önceki komut için bir REPLY alındıktan sonra, açılmış herhangi bir yol üzerinde bir INTERRUPT veya END komutu gönderilebilir. MESSAGE komutu ise, ek olarak son REPLY komutunda READY biti açıksa gönderilebilir.
Aynı indeks üzerindeki yeni yollar, indeks kurulduktan sonra herhangi bir zamanda açılabilir ya da belirli yollar END edilip daha sonra bunlar için yeni BEGIN veya LISTEN komutları verilebilir. Bir indeks, tüm yolları kapalı olsa bile, PATH=0 olan bir END komutu indeks için gönderilene kadar kurulu kalır.
Host ile FE arasındaki iletişim, INDEX=0 olan bir END komutu ile sonlandırılır; bu, kalan tüm açık yolları ve indeksleri iptal eder.
Yayın (4j)
Yayın, protokolün isteğe bağlı bir özelliğidir. Kurulum parametresi ile etkinleştirilmişse, Host belirli bir indeks üzerinde PATH=0 olacak şekilde bir MESSAGE veya INTERRUPT komutu gönderebilir. Bu, FE’ye MESSAGE komutunun TEXT alanında bulunan veriyi (veya bir kesmeyi), belirtilen indeksin açık bir yoluna karşılık gelen her ağ bağlantısı üzerinden göndermesini bildirir.
Bu özellik yalnızca Host’tan FE’ye giden MESSAGE’lar için geçerlidir (ters yönde kullanımı öngörülmemektedir).
Bir yayın MESSAGE’ına, diğer MESSAGE komutlarında olduğu gibi, bir veya iki REPLY ile yanıt verilir. İndeks içindeki akış denetimi, yayın MESSAGE’larının ayrı bir yol üzerinden gönderiliyormuş gibi sürdürülür; yani diğer yollar üzerindeki akış denetimi doğrudan etkilenmez.
Bir yayın MESSAGE komutu için FE’nin, her yol için veriler üzerinde, o yolu başlatan BEGIN veya LISTEN’e uygun biçimde çeviri yapacağını unutmayın. Bu nedenle, belirli bir indeksin tüm yolları Host tarafında TRANS-TYPE alanlarında aynı biçime sahip değilse dikkat edilmelidir (bkz. Bölüm 6b).
İndeks 0 (5)
Giriş (5a)
İndeks 0, Host ile FE arasında bir kontrol bağlantısı sağlar ve dolayısıyla doğrudan ilişkilendirilmiş ağ bağlantıları yoktur. Bu indeks üzerindeki komutlar, Host ile FE arasındaki bağlantıyı kurmak ve sonlandırmak ve diğer indeksleri denetlemek için kullanılır.
Yol 0 (5b)
İndeks 0’ın Yol 0’ı, küresel komutların — yani belirli bir indeks veya yola atıfta bulunmayanların — iletilmesi için kullanılır. Şu anda tanımlı olan komutlar şunlardır:
MESSAGE INDEX=0 COUNT PAD TEXT
burada:
- TEXT = COMMAND [PARM1] [PARM2]
- COMMAND 8 bit uzunluğundadır
- PARM1 ve PARM2 16 bit uzunluğundadır
a) COMMAND=1, PARM1=Hostid
Bu, iletişimi kurmak için hem Host hem de FE tarafından gönderilmesi gereken "İşe Hazır" komutudur. COUNT her zamanki gibi TEXT alanının uzunluğunu verir. COUNT=8 ise yalnızca COMMAND alanı vardır. COUNT=24 ise hem COMMAND hem de Hostid bulunur.
FE hiçbir zaman bir Hostid göndermez. FE birden fazla IMP’ye bağlıysa veya ağa alternatif yollar mevcutsa (örneğin patch paneller üzerinden), Host kendi Hostid’sini gönderebilir.
Her iki taraf da bu komutu göndermeden önce başka hiçbir komut geçerli değildir.
b) COMMAND=2, PARM1=M, PARM2=N
Bu, gönderenin FEP modülüne, iletişimin M dakika sonra N dakika süreyle sonlandırılacağının bildirildiğini belirten, yalnızca bilgilendirme amaçlı bir "CLOSING" komutudur (N=0 bilinmiyor anlamına gelir).
Alıcının herhangi bir işlem yapması gerekmez; ancak bu bilgiyi kullanıcılarına dağıtabilmesi mümkündür.
c) COMMAND=3
Bu, daha önce gönderilmiş herhangi bir CLOSING komutunun artık geçerli olmadığını belirten "CONTINUE" komutudur.
END INDEX=0 PATH=0 CODE
Bu komut, Host ile FE arasındaki bağlantıyı sonlandırır. Diğer tüm yollar/indeksler otomatik olarak iptal edilir ve FE tüm ağ bağlantılarını kapatır. CODE alanının değerleri, genel END komutundaki değerlerle aynıdır.
Yol 1 (5c)
Yol 1, belirli bir yol veya indekse özgü komutlar için ayrılmıştır. Şu anda tanımlı komut yoktur; gereksinimlere dair daha fazla deneyim kazanıldığında ileride tanımlanacaktır.
Yol 2 (5d)
İndeks 0’ın Yol 2’si, Host ile FE arasında Operatörler arası iletişim için kullanılır. Bu, bir kurulum parametresi ile etkinleştirilen isteğe bağlı bir özelliktir.
MESSAGE komutları, göndericinin TEXT alanının alıcının sistem operatörüne gösterilmesini istemesiyle, normal biçimde düzenlenir.
Senaryolar (6)
Aşağıdaki senaryolar, okuyucuya FEP’in farklı uygulama kümelerinde nasıl kullanıldığına dair bir "his" vermek amacıyla eklenmiştir. Seçilen örnekler, mevcut ARPANET protokollerine veya diğer ağ uygulamalarına ilişkindir ve yeteneklerin kapsamlı bir listesini temsil etmez.
Değişken olan veya ilgili olmayan alanlar, aşağıdaki örneklerde komut dizgelerinde (açıklık amacıyla) gösterilmemiştir.
Host’ta Kullanıcı TELNET Uygulaması (6c)
BEGIN ndxa, PATH=1, host, SKT=1,, CONN-TYPE=duplex+ICP, NPATHS=1
Host’taki Kullanıcı TELNET süreci, BEGIN komutunun gönderilmesine neden olur. FE tarafından başarılı bir RESPONSE döndürüldüğünde, BEGIN’de belirtilen Host’a tipik bir çift yönlü TELNET bağlantısı kurulmuş olur.
Host Sunucu TELNET Sağlıyor (6d)
LISTEN ndxa, PATH=1, HOST=0, SKT=1,, CONN-TYPE=duplex+ICP, NPATHS=32
Bu tek komutla, Host’taki Sunucu TELNET süreci FE’yi Socket 1 (iyi bilinen TELNET soketi) üzerinde LISTEN edecek ve 32 adede kadar çift yönlü veri yolu kuracak şekilde ayarlamıştır. FE, RESPONSE komutu aracılığıyla her bağlantıyı oluştukça rapor edecektir. Yol 1, ilk böyle çift yönlü bağlantıyı temsil eder vb. Host daha sonra veri yollarını ayrı ayrı yönetebilir. Tek tek yollar Host tarafından sonlandırılabilir ve tekrar LISTEN durumuna alınabilir. Host herhangi bir zamanda bu INDEX’i belirten ve PATH=0 olan bir END komutu gönderirse, tüm bağlantılar dağıtılır ve pratikte Host artık Sunucu TELNET hizmeti sağlamaya istekli değildir.
Host Sunucu FTP Sağlıyor (6e)
LISTEN ndxa, PATH=1, HOST=0, SKT=3,, CONN-TYPE=duplex+ICP, NPATH=1
Bu LISTEN için FE’den bir RESPONSE gelir gelmez, Host Sunucu FTP süreci yeni bir INDEX seçmeli ve ndxb için socket 3 üzerinde yeni bir LISTEN göndermelidir. Kurulmuş olan çift yönlü bağlantı, dosya aktarımı için denetim yoludur. Sunucu ile kullanıcı arasında ndxa (yol 1) üzerinde aktarılan denetim bilgilerine dayanarak, sunucu FTP şu işlemlerden birini yapacaktır:
BEGIN ndxa, PATH=2, (yanıttan hostid vb.), NPATHS=1
veya
LISTEN ndxa, PATH=2, (yanıttan hostid vb.), NPATHS=1
Önceki komuta bir RESPONSE alındığında, veri bağlantısı (PATH 2) kurulmuş olur ve veri aktarımı başlayabilir. LISTEN veya BEGIN için TRANS-TYPE ve CONN-TYPE değerleri, denetim yolu üzerindeki bilgi alışverişinden türetilecektir.
Host Kullanıcı FTP’dir (6f)
BEGIN ndxa, PATH=1, HOSTID, SKT=3,, CONN-TYPE=duplex+ICP, NPATH=1
Bu komuta FE tarafından bir RESPONSE döndürüldüğünde, denetim yolu bağlanmış olur. Host, denetim yolu üzerinde bilgi alışverişinden sonra, Sunucu FTP örneğinde olduğu gibi bir BEGIN veya LISTEN göndererek devam edebilir.
Telekonferans (6g)
n adet PATH içeren bir INDEX, başka şekilde ilişkisiz en fazla n konuşmanın ilişkilendirilmesine olanak tanır. Her yol ayrı ayrı ya da tüm yollar bir grup olarak yönetilebilir. Yayın seçeneği ile — PATH belirtmeden yalnızca INDEX belirten bir MESSAGE komutu — bu indeks üzerindeki tüm açık yollara yayınlanır. Böylece her host mesajlarını herhangi bir tarafa ya da tüm taraflara yönlendirebilir.
Bir "konferans", üzerinde anlaşılmış (ancak mutlaka iyi bilinen olmak zorunda olmayan) bir sokette, çoklu çift yönlü yollarla bir LISTEN gönderen herhangi bir host tarafından başlatılabilir. Yabancı bir host bağlandığında, sıradan bir TELNET bağlantısı vardır. Ancak üçüncü, dördüncü veya daha fazla taraf bağlanırsa, konuşmaya zaten katılmış olan host’lar, geç katılanları mevcut katılımcılar hakkında bilgilendirmeyi seçebilir. Her host, istediği kadar diğer host’a bağlanmayı seçebilir (taraflar kimin BEGIN, kimin LISTEN yapacağı konusunda anlaşabilir). Bu düzeni izleyerek [bu bir protokol değildir], tüm taraflar eşit şekilde katılır; bir moderatör yoktur. Her host kiminle konuşacağına kendisi karar verir. İlk LISTEN kullanılarak yapılacak bir varyasyon, LISTEN edenin moderatör olmasına ve mesajları isteğe bağlı olarak diğer taraflara aktarmasını gerektirebilir.
Özetle, veri yolu mekanizması, bir kullanıcı grubunun üzerinde anlaşılmış bir soket seçmesine, bir "moderatör" atamasına ve belirlenen bir zamanda, FE’de veya herhangi bir host’ta özel protokol uygulamalarına gerek olmaksızın (olası moderatör hariç) bir konferansa katılmasına olanak tanır.
Simplex Bağlantıların Kullanımına Bir Örnek (6h)
Simplex bağlantı türleri, bir host’un belirli bir cinsiyetteki simplex soketlerden oluşan bir grup üzerinde LISTEN etmesine olanak tanır. Örneğin, host bir grup satır yazıcıyı destekliyorsa, Satır Yazıcı Uygulamaları Programı, kendi "Yazdırma Soketi" olarak ilan edilmiş bir soket üzerinde LISTEN yapabilir ve sahip olduğu yazıcı sayısı kadar alım yolu belirtebilir. Yabancı host’lar daha sonra (ICP aracılığıyla) bu yazdırma soketine bağlanabilir. Kendilerine uygun bir çalışma soketi değeri verilir ve ardından mevcut bir yazıcıya bağlanırlar. Bu şekilde en fazla n yabancı host, her zaman onun n yazıcısına bağlı olabilir. Yazdırma hizmetlerinden yararlanmak isteyen herkesin bilmesi gereken tek şey, sunucu host’un yazdırma soketidir. [1]
Host Uygulaması (7)
Kavramlar (7a)
Front-End Protokolü, bir Host’un, bu protokollerin gerçekleştirim ayrıntılarını bilmesini gerektirmeden, mevcut düşük seviyeli protokoller aracılığıyla ağı kullanmasına olanak tanır.
Host’ta FEP’in uygulanması, yerine getirdiği işlev veya sağladığı hizmet açısından ele alınır. Soketlere ilişkin bilgiler gelişmiş kullanıcı için mevcuttur, ancak eldeki problemle ilgili değilse göz ardı edilebilir.
Host, BEGIN, LISTEN, MESSAGE, INTERRUPT ve END komutlarının eşdeğerlerini sağlamalıdır. Başka bir deyişle, insan kullanıcı veya uygulama düzeyi süreç, FEP’in tüm gücünü kullanma olanağına sahiptir.
Host’taki FEP modülü, kendisi ile FE arasındaki trafiği çoklamak/ayırmak için bir denetim mekanizması görevi görür. Görünüm ve işlev olarak, çok hatlı herhangi bir arayüz sürücüsüne oldukça benzer. REPLY’leri işler, hataları raporlar vb. FEP modülü ayrıca indekslerin atanması sorumluluğunu da üstlenmelidir. Bu, kullanıcıya bir indeks atanmasını isteme olanağı veren bir "GETINDEX" alt yordamı olarak kolayca uygulanabilir. Kullanıcı daha sonra bu indeks üzerinde BEGIN’ler, LISTEN’ler vb. yapabilir.
Bir sunucu süreci, uygun bir LISTEN göndererek kendisini genel ağ kullanımına açar. Host FEP modülünün hangi sunucuların uygulanmış veya çalışır durumda olduğunu bilmesi gerekmez. Sunucu süreci etkinleştirildiğinde bir "GETINDEX" yapabilir, ardından iyi bilinen soketi üzerinde bir LISTEN gönderebilir ve oradan devam edebilir. Host FEP modülü, indeksleri süreçlerle ilişkilendirir ve gelen trafiği analiz ve yanıt için uygun sürece iletir. REPLY’lerin üretilmesi ve alınması yoluyla kendisi ile FE arasındaki akışı sürdürür.
Host’ta FEP komutlarının uygulanmasında kullanılan veri yapılarının türü veya bilginin biçimi, elbette uygulayıcıya bağlıdır. BEGIN, çeşitli bilgilerin parametre olarak Host FEP modülüne aktarıldığı bir makro çağrısı olabilir — modül de bunları Front-End işlemciye iletilmek üzere bir komut haline getirir. Önemli olan, komutların nasıl uygulandığı değil, işlevlerinin sağlanmasıdır. Örneğin, front-end işlemcinin özel bir G/Ç aygıtı gibi görünmesini sağlayacak şekilde Host’un uygulanması arzu edilebilir. Bu durumda, OPEN (BEGIN veya LISTEN için), GET veya PUT (MESSAGE için), CLOSE (END için) vb. biçimlerin uygulanması uygun olabilir.
Uygulama ayrıntılarından bağımsız olarak, INDEX’lerin atanması ve yönetilmesinin bir denetim modülünün sorumluluğu olduğu, veri yollarının ise tamamen INDEX’i "sahiplenen" sürecin sorumluluğunda olduğu görülmektedir.
Kurulum Parametreleri
Belirli bir Host için FE yazılımını paketlemek üzere, o Host, hangi FE yeteneklerine gereksinim duyduğunu tanımlayan bir dizi parametre sağlar. Bu parametreler, ilgili FE kodunu üretmek için bir sistem üretim yordamına girdi olarak verilir.
Parametreler şunlardır:
Bayt Boyutu
Bu, bir komut dizgesinin her bir alanının sağa dayalı olarak hizalanacağı bit cinsinden boyutu verir (yani bilgi bitleri en sonda yer alır ve en küçük tam bayt sayısını tamamlamak için gereken kadar dolgu bitiyle öncelenir).
Değeri normalde 8 olacaktır, ancak gerektiğinde diğer değerler de desteklenir.
Komut Dizgesi Dolgusu
Bu, Host ile FE arasındaki donanım arayüzünün bit cinsinden genişliğini verir; böylece her iki yönde iletilen her komut dizgesine, bu genişliğin en küçük katını tamamlamak için dolgu eklenir.
Tipik uygulamada bu parametre 0 olacaktır ve gerekli herhangi bir dolgu, FEP’in altında yatan hat protokolü tarafından eklenip atılacaktır.
Pad Alanı Uzunluğu
Bu, MESSAGE komutundaki PAD alanının bit cinsinden boyutunu verir. Bu, bir Host’un TEXT alanının uygun bir sınırda başlamasını sağlar.
Değeri 0 ile 64 aralığında herhangi bir yerde olabilir.
MESSAGE Azami Değeri
Bu, bir MESSAGE komut dizgesinin azami uzunluğunu verir.
FE’deki arabellek ayırma bu parametreye dayandığından, değeri dikkatle seçilmelidir.
Azami İndeks Sayısı
Bu, herhangi bir anda kurulabilecek azami indeks sayısını verir.
Azami Yol Sayısı
Bu, tek bir indeks içinde herhangi bir anda açık olabilecek azami yol sayısını verir.
Çeviri Türleri
Bu, BEGIN/LISTEN komutlarının TRANS-TYPE alanı için gerekli değerler kümesini ve anlamlarını verir. TRANS-TYPE alanı iki adet 8 bitlik alt alana bölünmüştür; birincisi ağ tarafındaki verinin biçimini, ikincisi ise Host tarafındaki verinin biçimini belirtir. FE’nin, MESSAGE komutlarının TEXT alanında bulunan tüm veriler için bu biçimler arasında çeviri yapması gerekir.
Bu parametre, gerekli biçimleri ve bunların 8 bitlik alt alanlardaki değerlerini belirtir. 0 değeri "bit-string" anlamına gelmek üzere ayrılmıştır ve alt alanlardan herhangi birinde (ya da her ikisinde) yer aldığında, hiçbir çeviri yapılmayacağını ifade eder.
Broadcast Seçeneği
Bu, Host’un Broadcast özelliğini kullanabilmek isteyip istemediğini belirtir (bkz. Bölüm 3j).
Operatörden Operatöre İletişim Seçeneği
Bu, Host’un FE operatörüne mesaj gönderebilme yeteneğini isteyip istemediğini ya da Host operatörünün FE’den mesaj almasını isteyip istemediğini belirtir.
İleride protokole başka seçenekler de dahil edilebilir ve bunlar Broadcast seçeneğine benzer kurulum parametreleri aracılığıyla kullanılabilir olacaktır.
Bu parametrelerin tümünün FE kodunun boyutunu ve karmaşıklığını etkilediğine dikkat edilmelidir. Bu nedenle, FE verimliliğini en üst düzeye çıkarırken Host uygulama çabasını en aza indirmek amacıyla değerlerinin dikkatle seçilmesi önemlidir.
Bireysel Host uygulamalarının açıklamaları ve şimdiye kadar mevcut olan seçeneklerin bir listesi için Ek D’ye bakınız.
FE Gerçekleştirmesi
FEP aygıttan bağımsızdır. Ancak şu an için, ilk bir gerçekleştirme FE aygıtı olarak DEC PDP/11 bilgisayarı kullanılarak yapılacaktır ve ön uç yazılımı, SCRL’de geliştirilen özgün ELF sisteminin genişletilmiş bir sürümüne dayanacaktır.
Daha ayrıntılı bilgi için Ek C’ye bakınız.
Yazarlar
- G. W. Bailey (BAILEY@OFFICE-1)
- K. McCloghrie (MCCLOGHRIE@OFFICE-1)
EK A
Kaynaklar
ICP bu belgede, NIC 7101’de belirtilenden daha az katı bir anlamda kullanılmaktadır; zira başlangıç bağlantısında soket numarasının değiş tokuşu sonucunda mutlaka iki adet simplex bağlantı kurulması gerekmez.
İlişkilendirilmesi gereken bağlantılara bir örnek, FTP’nin gerçekleştiriminde görülür; burada kontrol bağlantısı ile veri bağlantısının soket atamalarında tanımlı bir ilişkisi vardır.
Bir dizin kurulduğunda kullanım için bir soket numaraları aralığının ayrıldığına dikkat ediniz (bkz. AEN).
Ancak, bir dizinin yolları için soket numaraları mutlaka bitişik olmak zorunda değildir. Örneğin, bir SEND yolundan sonra açılan bir sonraki yolun yine bir SEND yolu olması durumunda ya da bir dizinin ilk yolu dışındaki bir yol ICP belirtilerek açıldığında bu durum ortaya çıkar. Buna rağmen, bir protokol bitişik soketler gerektiriyorsa, yolların mantıksal bir biçimde açılması bu bitişikliği sağlayacaktır.
Olası bir çeviri, ağ tarafında bir Network Virtual Terminal’den Host tarafında yerel bir terminal türüne doğru olabilir.
FE, INTERRUPT komutunu doğrudan Host-Host protokolündeki INR/INS komutlarıyla eşleştirecektir.
Genel durumda, bir REPLY içindeki READY göstergesinin doğrudan bir ağ RFNM’i ile ilişkili olmadığına dikkat ediniz; FE ağır yüklü değilse, akış denetimi mekanizmaları mesajların gönderilmesine izin verene kadar (her iki yönde de) birden fazla mesajı arabelleğe alıyor olabilir.
Bununla birlikte, belirli bir Host, bir sonrakini iletmeden önce önceki bir mesajın alındığı bilgisini edinmek isteyebilir. Bu durumda, FEP gerçekleştirmesi, READY’yi yalnızca RFNM alındıktan sonra gösterecek ve muhtemelen RFNM’leri de yalnızca ACK içeren bir REPLY alındıktan sonra gönderecek şekilde ayarlanabilir.
EK B
Durum Diyagramları
Aşağıdaki durum diyagramlarında şu gösterim kullanılmıştır:
- REPLY(A) – ACK=1 olan REPLY, READY/NOT-READY önemsiz
- REPLY(N) – NAK=1 olan REPLY, READY/NOT-READY önemsiz
- REPLY(R) – ACK=0, NAK=0, READY=1 olan REPLY
- REPLY(A+R) – ACK=1, READY=1 olan REPLY
- REPLY(N+R) – NAK=1, READY=1 olan REPLY
- REPLY(A+NR) – ACK=1, NOT-READY=1 olan REPLY
- REPLY(N+NR) – NAK=1, NOT-READY=1 olan REPLY
INDEX için Durum Diyagramı
/ ------\ /-------\ /-----\
! !BEGIN(new index) ! ! ! !
! !->--------------->-!Index ! ! !
!Index !LISTEN(new index) !Open ! ! !
!Closed ! !Pending! !Index!
! ! REPLY(N)! !REPLY(A) !Open !
! !-<---------------<-! !->------->-! !
! ! \-------/ ! !
! ! ! !
! ! /-------\ END(Path=0)! !
! ! ! !-<-------------<-! !
! ! REPLY(A)!Index ! ! !
! !-<---------<-!Close !REPLY(N) ! !
! ! !Pending!->------------->-! !
\-------/ \-------/ \-----/
Tüm Yol için Durum Diyagramı
/------\BEGIN /----------\
! !->-------->-! !
! !LISTEN !Connection! /-------\
!Path ! !Pending !REPLY(A) ! !
!Closed! REPLY(N)! !->------------>-! !
! !-<--------<-! ! !Path !
! ! \----------/ !Conn- !
! ! !ecting!
! ! /-----\ RESPONSE(CODE>0)! !
! ! ! !-<-----------------<-! !
! ! !Path ! ! !
! ! REPLY(A)!Abort! END(PATH>0)! !
! !-<--------<-!Pend-!-<-----------------<-! !
! ! ! ing ! ! !
! ! ! !REPLY(N) ! !
\------/ ! !->----------------->-! !
\-----/ ! !
! !
/-------\ ! !
! ! RESPONSE(CODE=0)! !
/----\ !Path !-<--------------<-! !
! ! !Open ! ! !
!Path! !Pending!REPLY(N) ! !
!Open! REPLY(A)! !->-------------->-! !
! !-<--------<-! ! \-------/
\----/ \-------/
Yolun Her Yönü için Durum Diyagramı
/----\MESSAGE /-------\ /-------\
! !->---------------->-! !REPLY(A+NR) ! !
!Path!INTERRUPT !Command!->--------->-!Message!
!Open! !Blocked!REPLY(N+NR) !Blocked!
! ! ! ! ! !
! ! REPLY(A+R)! ! INTERRUPT! !
! !-<----------------<-! !-<---------<-! !
! ! REPLY(N+R)\-------/ ! !
! ! REPLY(R)! !
! !-<----------------------<---------------<-! !
! ! ! !
! !END(PATH>0) /-------\ END(PATH>0)! !
! !->---------------->-! !-<---------<-! !
! ! ! ! ! !
! ! REPLY(N+R)!Path !REPLY(N) ! !
! !-<----------------<-!Close !->--------->-! !
\----/ !Pending! \-------/
! !
/------\ REPLY(A)! !
!Path !-<--------------<-! !
!Closed! ! !
! ! \-------/
\------/
EK C
Ön Uç Gerçekleştirmesi
Giriş
DEC PDP/11 bilgisayarı için geliştirilen bir Ağ Erişim Sistemi (NAS), mevcut Imp-Host, Host-Host ve ICP protokollerini destekler. Bu protokollerin gerçekleştirilmesi, ağ genelinde süreçten sürece iletişimi ve uzak hostlara çok kullanıcılı TELNET erişimini kolaylaştırır. Bu NAS, FEP’in gerçekleştirildiği FE ortamını sağlar.
NAS sistemi, bir Çekirdek ya da yürütücü bölüm ile bir Ağ Denetim Programı (NCP) ve aygıt arabirimlerini desteklemek, terminalleri yönetmek ve uygun şekilde uygulamaları gerçekleştirmek için bir modül koleksiyonundan oluşur. Yazılım modülerdir ve genişletilebilir.
Çekirdek
Sistemin Çekirdeği, çoklu işlem ortamında kaynak yönetimi görevini yerine getiren bir dizi işlevsel modülden oluşur. Bu, süreçlerin oluşturulmasına, önceliğe göre işlemci hizmeti için yarışmasına, birbirleriyle iletişim kurmasına ve sonlandırılmasına olanak tanır. Süreç oluşturma ve eşzamanlama, depolama tahsisi ve aralık zamanlayıcısının paylaşımı gibi çeşitli görevler için sistem ilkel işlemleri mevcuttur.
Burada kullanılan süreç terimi, PDP-11 işlemcisi tarafından yürütülen özerk bir durumlar dizisini tanımlar; bir sürecin durumu, işlemci yazmaçları kümesi, bir yığın ve sürece ait depolama alanları ile karakterize edilir. Süreçler, yalnızca erişilen (ör. salt kod) depolama alanlarını paylaşır. Süreçler ayrıca güncellenebilen (ör. denetim tabloları) depolama alanlarını da paylaşır. Bu durumda, güncellenebilir bir depolama alanının eşzamanlı sahipliğini önlemek için bir tahsis mekanizması kullanılır. Böylece depolama alanı, süreç tarafından tahsis edilen, değiştirilen ve ardından serbest bırakılan, sıralı olarak paylaşılabilir bir kaynak olarak görülür.
Süreçlere işlemci denetimi, Dispatcher adı verilen tek bir yordam tarafından verilir. Süreçlerin hazır durumda ya da bekleme durumunda olduğu söylenir. Bir süreç kendini bloke ettiğinde, denetim en yüksek öncelikli hazır sürece verilir.
Her sürecin ilişkili bir giriş mesaj kuyruğu vardır. Bu kuyruk, süreçler arası iletişim aracıdır. Bir süreç, giriş mesaj kuyruğu boşaldığında (isteğe bağlı bekleme) ya da daha yüksek öncelikli bir sürecin işlemci denetimini alması gerektiği için bir kesme oluştuğunda (isteğe bağlı olmayan bekleme) bloke edilir. Bir süreç, herhangi bir sinyali beklemek üzere kendini isteğe bağlı olarak bloke edebilir ya da giriş mesaj kuyruğuna belirli bir olayın gönderilmesini beklemek için kendini bloke edebilir.
Ağ Denetim Programı
NCP, yerel süreçlere "üçüncü seviye" protokol işlevleri sağlar. IMP’den alınıp IMP-Host kuyruğuna yerleştirilen mesajları çözen ve ileten bir süreç içerir. Bu süreç, bağlantı kurmak ya da veri iletmek için NCP’yi çağıran diğer süreçlerle etkileşir. Böylece NCP esasen iki bölüme ayrılır:
- Ağdan gelen mesajları işleyen, IMP-Host ve Host-Host denetim mesajlarını yorumlayan ve kurulmuş bağlantılar üzerindeki normal mesajları ileten bir süreç; ve
- Yerel süreçlerin ağ genelindeki diğer süreçlere bağlantı kurmasına ve bu bağlantılar üzerinde veri aktarımı için istekler gerçekleştirmesine olanak tanıyan bir dizi ilkel işlem.
NCP tarafından ağ bağlantılarının durumunu izlemek için kullanılan iki temel veri yapısı vardır. Birincisi Host Tablosu olarak adlandırılır ve her bir hosta özgü olan bilgileri tanımlar; ikincisi ise Bağlantı Tablosu olarak anılır ve yerel bir NCP soketinin (bağlantının) durumuna ilişkin tüm bilgileri içerir. Bağlantı Tabloları, ya dış istekler yoluyla (ör. uzak bir hosttan bir RFC alınması) ya da iç istekler yoluyla (ör. yerel bir sürecin LISTEN gerçekleştirmesi) oluşturulabilir.
Akış denetimi, NCP’nin bağlantılar üzerindeki veri akışını yöneten bölümüdür. Bu görevi yerine getiren iki yordam vardır; biri alıcı bağlantıları, diğeri gönderici bağlantıları ele alır. Bu yordamlar, bir bağlantı üzerinde veri aktarımını artık mümkün kılabilecek bir olay meydana geldiğinde denetimi alır.
Hem gönderme hem de alma akış denetimi yordamları, yerel süreç arabellekleri ile ağ üzerinden alınan ya da iletilen mesajlar arasında veri taşımaktan sorumludur. Buna ek olarak, alınan mesajların biçimlendirilmesini ve açılmasını da gerçekleştirirler. Yerel süreçler, verinin ayrık mesajlar halinde iletildiğinin farkında değildir.
NCP gözcü süreci, ağ bağlantılarının durumunu izler, hata koşullarını denetler ve çöp toplama görevlerini yerine getirir. Periyodik aralıklarla denetimi alır ve bilinen hostlar listesini tarayarak mevcut bağlantıları arar. Giriş ya da çıkış bağlantısı bulunan her host için Gözcü, bir Host-Host NOP mesajının gönderilmesini sağlar. Böylece, uzak bir host veri beklenirken çökerse, yerel süreçler hata durumu hakkında bilgilendirilir. NCP, IMP-Host türü 7 denetim mesajını (Destination Host Dead) aldığında uzak çöküşü fark eder. Ardından o hosta olan tüm bağlantıları otomatik olarak kapatır ve bunu kullanan süreçlere bildirir.
NCP Gözcüsünün ikinci bir işlevi, bekleyen bir RFNM nedeniyle takılı kalmış bağlantıları denetlemektir. Belirlenen bir süre içinde bir RFNM alınmazsa, mesaj atılır ve ilişkili bağlantı kapatılır.
FEP İşleyicisi
Ön Uç Protokolü, bir yandan ağ bağlantılarını, diğer yandan FEP yollarını ve dizinlerini yöneten, birbiriyle ilişkili ancak özelleşmiş süreçlerden oluşan bir koleksiyon olarak gerçekleştirilmiştir. Bazı FEP süreçleri NCP kullanıcısıdır. Bunlar ağ bağlantılarının kurulmasına neden olur, gelen RFC’ler hakkında karar verir ve ağ verisini hem alır hem de üretir. Diğer FEP süreçleri hostu destekler. Bu süreçler gelen komutları ayrıştırır, dizinler ve yollar oluşturur, yanıtların üretilmesini denetler ve genel olarak yolları yönetir. Bazı FEP süreçleri ise veri çevirisi, LISTEN komutlarının hizmete alınması ve RESPONSE komutlarının üretilmesi gibi özelleşmiş görevleri denetler.
İki veri yapısı, FEP etkinlikleri için denetim bilgisi sağlar. Her etkin dizin için bir Dizin Tablosu vardır. Her Dizin Tablosu, bir ya da daha fazla Yol Tablosu girdisini ilişkilendirir. Yol Tablosundaki bilgiler, yolun durumunu, bu yoldaki veriler için belirtilen çeviri türünü ve yolun uygun NCP Bağlantı Tabloları ile ilişkilendirilmesi için gerekli bilgileri yansıtır. Yol Tablosu, tüm FEP modülleri için ortak arabirimdir. FEP süreçlerinin çoğu, genellikle bir yolla ilişkilendirilen bir olaya hizmet etmek üzere etkinleştirilir. Sürecin eylemi, Yol Tablosu girdisinde belirtilen yolun durumuna göre belirlenir ve yolun durumunun değiştirilmesi ya da bir ya da daha fazla başka FEP sürecinin etkinleştirilmesiyle sonuçlanabilir.
İki mesaj kuyruğu, host girişini ve çıkışını FEP modüllerine sağlar. Bir hat protokolü mekanizması bu kuyruklara hizmet eder. Hosttan gelen komutlar, hat protokolü süreci tarafından FEP Giriş kuyruğuna yerleştirilir ve FEP Host Giriş süreci sinyallenir. Bir FEP Host Çıkış modülü, host için bir komutu Host Çıkış kuyruğuna yerleştirdiğinde, hat protokolü sürecini sinyaller.
FEP gerçekleştirmesi, Host Giriş ve Host Çıkış kuyrukları düzeyine kadar temelde hosttan bağımsızdır.
Hat Protokolü Mekanizması
Aygıt arabirimi ile FE ile ana bilgisayar arasındaki hat protokolü kuruluma bağlıdır. Bu bağımlılık nedeniyle, bu bağlamda Hat Protokolü Mekanizmasının yalnızca genel bir tartışması mümkündür. Özgül hat protokollerinin ayrıntılı açıklamaları her bir ana bilgisayar için ayrılan bölümde yer almaktadır.
İletişim disiplini ve fiziksel aygıt özellikleri ana bilgisayardan ana bilgisayara önemli ölçüde değişebilir. Ancak tüm FEP hat protokolleri belirli ortak özellikler gösterecektir. FEP Handler ile Hat Protokolü Mekanizması arasındaki arabirim her zaman Ana Bilgisayar Giriş ve Ana Bilgisayar Çıkış kuyrukları olacaktır. Tüm hat protokolü mekanizmalarının verinin bütünlüğünü garanti etmesi beklenecektir. Bu, normal gönderme/alma sorumluluklarının yanı sıra bir tür akış kontrolü, hata algılama/düzeltme ve yeniden iletim yeteneğini de içerir. Hat Protokolü Mekanizmasının, bir G/Ç işlemini gerçekleştirmeye yönelik başarısız girişimlerin ardından hatayı raporlaması beklenecektir. Hata raporlamadan önceki yeniden deneme sayısı vb. kurulum parametresidir.
FEP Handler yalnızca FEP komutları cinsinden çalışır. Hat protokolü, her bir fiziksel bloğun bir veya daha fazla FEP komutundan oluştuğu blok aktarımlarını sağlayabilir. Durum böyleyse, gelen ana bilgisayar komutlarını Ana Bilgisayar Giriş kuyruğuna yerleştirmeden önce bloktan ayırma (deblock) işlemini yapmak Hat Protokolü Mekanizmasının sorumluluğundadır.
Hat Protokolü Mekanizması, genel durumda, herhangi bir tamponu yönetmeyecektir. Bir komutu ana bilgisayara başarıyla ilettikten sonra G/Ç tamamlandı bilgisini raporlamaktan sorumludur; ancak tampon alanı yalnızca o alanı "sahiplenen" FEP süreci tarafından serbest bırakılır ya da yeniden kullanılır. FEP Handler, gelen trafiğin hızını denetlemek için tampon atamasını kullanabilir. FEP Ana Bilgisayar Giriş kuyruğu ek bir komutu kabul etmeye hazır olduğunda, bir tampon edinir ve Hat Protokolü Mekanizmasını işaret ederek ona bir tampon işaretçisi geçirir. Bu fiilen bir "okuma" isteğidir. Hat protokolü işleyicisi tamponu doldurduğunda, onu Ana Bilgisayar Giriş kuyruğuna ekler ve uygun FEP sürecine G/Ç tamamlandı sinyalini gönderir.
Fiziksel bağlantının doğası FE’nin istenmeyen girdiyi kabul etmesini gerektiriyorsa, Hat Protokolü Mekanizmasının ek olarak kendi tampon havuzuna sahip olması gerekebilir. Bu durumda, bu havuz bütünüyle hat işleyicisi tarafından yönetilmeli ve FEP Handler için şeffaf olmalıdır.
Veri Çevirileri
FEP içindeki TRANS-TYPE düzenlemeleri en az iki genel hizmet için kullanılabilir. Birincisi, normal karakter kümesi ikameleri için kullanılabilir. Bu, genel durumda iki karakter kümesi arasında bire bir ilişki bulunduğu durumdur.
İkinci hizmet veri dönüşümü sorununu ele alır. Bu durumda, gelen veri ile giden veri arasında bire bir ilişki bulunması gerekmez.
Çeviri mekanizması, gelen veri akışından bir belirteci (ör. bir karakter) alarak bir çeviri tablosunda indeks olarak kullanır. Sonuç aşağıdakilerden biri olabilir:
- a) hiçbir şey yapma, karakteri at
- b) karakteri değişmeden çıktıla
- c) giriş karakterini çıkış karakteri ile değiştir
- d) giriş karakterini çıkış dizgesi ile değiştir
- e) tabloda belirtilen bir yordamı etkinleştir
- f) çeviriyi değiştir
- g) çeviri kipini sınayıp sonuca bağlı olarak yukarıdakilerden herhangi birini yap
Ana bilgisayar tarafından gerekli görülen her bir çeviri/dönüşüm için bir çeviri tablosu tanımlanmalıdır. Basitlik ve açıklık için, FEP komutlarındaki TRANS-TYPE alanı kullanıcının ana bilgisayar tarafı ve ağ tarafını bağımsız varlıklar olarak belirtmesine olanak tanır. Gerçek yürütmede ana bilgisayar/ağ çifti, daha önce tanımlanmış olması gereken bir çeviri tablosunu adresler. Çift yönlü bir yol için iki çeviri tablosunun gerekli olduğunu unutmayın (A→B, A←B ile aynı değildir).
Başlangıçta bir "standart" karakter kümesi koleksiyonu ele alınacaktır (EBCDIC, ASC117, ASCII8, BCD vb.) ve en az NVT. Yeni gereksinimler tanımlandıkça bunlar bir kitaplığa eklenecek ve ardından sonraki kullanıcıların kullanımına sunulacaktır.
Ek D
Ana Bilgisayar Gerçeklemeleri
Daha sonraki bir tarihte yazılacaktır.