← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 01 · protokol

Host Yazılımı

Yazar
Steve Crocker
Kurum
UCLA
Tarih
7 Nisan 1969
Durum
Network Working Group Yorum Talebi
Kanal
protokol/

İçindekiler

  1. Giriş
  2. IMP Yazılımının Özeti
  3. Mesajlar
  4. Bağlantılar (Linkler)
  5. IMP İletimi ve Hata Kontrolü
  6. Açık Sorular
  7. Host-to-Host Yazılımı Üzerindeki Bazı Gereksinimler
  8. Basit Kullanım
  9. Derin Kullanım
  10. Hata Kontrolü
  11. Host Yazılımı
  12. Bağlantı Kurulması
  13. Yüksek Hacimli İletim
  14. Primitivlerin Özeti
  15. Hata Kontrolü
  16. Daha Yakın Etkileşim
  17. İlk Deneyler

Giriş

ARPA Ağı için yazılım kısmen IMP'lerde (Arayüz Mesaj İşlemcileri - Interface Message Processors) ve kısmen ilgili HOST'larda bulunmaktadır. BB&N, IMP'lerin yazılımını belirlemiştir ve HOST gruplarının HOST yazılımı üzerinde anlaşması gerekmektedir.

1968 yazında, ilk dört siteden temsilciler, HOST yazılımı ve ağ üzerindeki ilk deneyler hakkında tartışmak üzere birkaç kez bir araya geldi. Aşağıdaki kişilerden oluşan bir çalışma grubu ortaya çıktı:

Bu üyeler sonbahar ve kış boyunca toplandılar; en son toplantı Mart ayının son haftasında Utah'ta gerçekleşti. SRI'dan Bill Duvall da katıldı. Ayrıca UCLA'dan Gerard DeLoche, HOST-IMP arayüzü üzerinde bağımsız olarak çalışmaktadır.

Bu belge, varılan geçici anlaşmaları ve karşılaşılan açık soruları sunmaktadır. Sunulan içerik henüz kesin değildir ve geri bildirim beklenmektedir.


I. IMP Yazılımının Özeti

Mesajlar

Bilgi, HOST'tan HOST'a mesajlar adı verilen paketler halinde iletilir. Bir mesaj, başlığıyla birlikte en fazla 8080 bit olan herhangi bir veri akışıdır.

Mesaj Başlığı Yapısı (16 bit)

Alan Bit Açıklama
Hedef (Destination) 5 Hedef HOST için sayısal kod
Bağlantı (Link) 8 Bağlantı belirtimi
İz (Trace) 1 NMC'ye gönderilen durum bilgilerini kaydeder
Yedek (Spare) 2 Kullanılmamış

Önemli Noktalar:

Bağlantılar (Linkler)

Bağlantı alanı, IMP'ler tarafından belirli türdeki tıkanıklıkları sınırlamak için kullanılan özel bir araçtır.

Özellikler

İlkel Özellikler

  1. Her zaman çalışır durumdadır - IMP'ler her zaman başka bir mesaj iletmeye hazırdır. IMP yazılımında bir konuşmayı başlatma veya bitirme kavramı yoktur.
  2. Çift başına 32 bağlantı - Kullanımda olsun ya da olmasın her zaman 32 bağlantı vardır. Her IMP, gerçek trafikten bağımsız olarak her biri 32 girişli 18 tablo tutmalıdır.

İşbirliği hakkında not: Hedefteki IMP, tüm 32 bağlantıyı aynı anda işleyecek yeterli kapasiteye sahip olmadığından, bağlantılar amaçlarına yalnızca aşırı yükleme bir veya iki bağlantıdan geliyorsa hizmet eder. HOST'ların bu açıdan işbirliği yapması gereklidir.

IMP İletimi ve Hata Kontrolü

İşleme adımları:

  1. Bir HOST'tan bir mesaj aldıktan sonra, IMP mesajı bir veya daha fazla pakete böler
  2. Paketler en fazla 1010 bit uzunluğundadır ve IMP'den IMP'ye veri iletim birimidirler
  3. İletim donanımı tarafından 24-bit döngüsel sağlama toplamı (checksum) hesaplanır ve giden her pakete eklenir
  4. Sağlama toplamı, alıcı donanım tarafından yeniden hesaplanır ve iletilen sağlama toplamıyla karşılaştırılır
  5. Paketler, hedef IMP'de mesajlara yeniden birleştirilir

IMP Yazılımı Hakkında Açık Sorular

  1. Bağlantı belirtimi için 8-bit alan sağlanmış, ancak yalnızca 32 bağlantı sunuluyor. Neden?
  2. HOST'un IMP'sine mesaj gönderebilmesi gerekiyor. Bunu nasıl yapıyor?
  3. Bir HOST, IMP'sinin aksine, RFNM'leri kontrol edebilir mi?
  4. IMP'ler kod dönüşümü gerçekleştirecek mi? Nasıl kontrol edilecek?

II. Host-to-Host Yazılımı Üzerindeki Bazı Gereksinimler

Basit Kullanım

Her yeni tesiste olduğu gibi, kullanıcı topluluğu ağı deneyimleyip ona güvenmeye başlayana kadar çok hafif kullanım dönemi olacaktır. Bir hedef, geniş bir kullanıcı sınıfı tarafından anında ve kolay kullanımı teşvik etmektir.

Bunu başarmak için aşağıdaki yetenekleri sağlamak doğal görünmektedir:

Derin Kullanım

Ağdaki doğal sorunlardan biri, uzak bir HOST'tan gelen tüm yanıtların ne kadar basit olursa olsun yaklaşık yarım saniye veya daha fazla süre gerektireceği gerçeğidir.

Zorluklar:

Hata Kontrolü

SRI'daki Jeff Rulifson, büyük yazılım arayüzlerinde hata kontrolünün her zaman faydalı olduğunu, deneyimlerinde birçok anlaşmazlığı ve boşa harcanan çabayı önlediğini belirtmektedir.

Öneri: Biraz HOST'tan HOST'a kontrol görmek istiyoruz. Yazılım arayüzünü kontrol etmenin yanı sıra, HOST-IMP iletim donanımını da kontrol edecektir.

Not: BB&N, HOST-IMP donanımının HOST'un iç kayıtları kadar güvenilir olacağını iddia ediyor. Onlara inanıyoruz, ama yine de hata kontrolü istiyoruz.


III. Host Yazılımı

Bağlantı Kurulması

En basit bağlantı, yerel HOST'un bir TTY gibi davrandığı ve uzak HOST'u aradığı bağlantıdır.

Bağlantı Protokolü

Bağlantı Prosedürü

  1. Bir bağlantı primitivi çağrıldığında, işletim sistemi boş bir bağlantı seçer
  2. Seçilen bağlantıda bir bağlantı talep eden mesaj bağlantı 0 üzerinden uzak HOST'a gönderilir
  3. Uzak HOST'taki işletim sistemi kabul eder ve bağlantı 0 üzerinden bir kabul mesajı gönderir

Eşzamanlı Bağlantı İşleme

Her iki HOST de aynı bağlantıyı seçerek bir bağlantı başlatırsa ve her ikisi de aşağı yukarı aynı anda talep mesajları gönderirse:

Oturum Açma Öncesi Durum

Kurulan bağlantı oturum açma öncesi durumda TTY benzeri bir bağlantıdır:

Yüksek Hacimli İletim

Terminal olarak davranan teletypeler büyük bir dosya iletirken iki özel dezavantaja sahiptir:

  1. Bazı karakterler özel kesme karakterleridir
  2. Özel tamponlama teknikleri sıklıkla kullanılır (yalnızca düşük hızlı karakter-karakter iletimi için uygundur)

Dosya Benzeri Bağlantılar

Bu nedenle dosyaların veya diğer büyük hacimli verilerin iletimi için başka bir bağlantı sınıfı tanımlıyoruz.

Başlatma:

Ayırt Edici Özellikler:

Primitivlerin Özeti

Her HOST işletim sistemi, kullanıcılarına en azından aşağıdaki primitivleri sağlamalıdır. Bu listenin gerekli ancak yeterli olmadığı bilinmektedir:

  1. HOST x ile TTY benzeri bağlantı başlatma
  2. Bağlantıyı sonlandırma
  3. TTY benzeri bağlantı üzerinden karakter(ler) gönderme/alma
  4. TTY benzeri bağlantıya paralel dosya benzeri bağlantı başlatma
  5. Dosya benzeri bağlantıyı sonlandırma
  6. Dosya benzeri bağlantı üzerinden gönderme/alma

Hata Kontrolü

Her mesajın gövdesinde (IMP'ye saydam) aşağıdakileri taşımasını öneriyoruz:

Sağlama Toplamı Hesaplaması

Daha Yakın Etkileşim

Daha önce açıklanan primitivler, bir kullanıcının uzak bir tesisten nasıl basit kullanım yapabileceğini gösterir, ancak ağın daha karmaşık kullanımına dair çok az bilgi sağlar.

Gecikme Süresi Sorunu

Birçok site, bilgisayarlarını gelişmiş konsollara son derece duyarlı hale getirmek için önemli çaba harcamıştır:

Önemsiz yankı benzeri yanıtlar için yaklaşık yarım saniyelik gecikmeler, konsolun gelişmişliğini alakasız hale getirecek kadar etkileşimi bozar.

Önerilen Çözüm: DEL Dili

Konsol etkileşiminin çoğunun iki bölüme ayrılabileceğine inanıyoruz:

  1. Yerel, anında ve önemsiz - yankı yanıtları, karakter silme
  2. Uzak, uzun ve anlamlı - gerçek hesaplama

Örnek Senaryo:

Bir konsoldaki (klavye ve yenilenen ekran) kullanıcı, satır başı karakteri karşılaşılana kadar bir dizeye biriken karakterler yazar. İşlem:

Sorun: Her tuş vuruşu uzak yanıt gerektiren bir mesaj gönderirse, sistem kullanılamaz hale gelir.

Çözüm: Ön ucu (<- ve <CR> arayan) yerel bilgisayarda bulundurma. Yalnızca beş karakterlik bir mesaj gönderilir: H E L P <CR>, ekran yerel olarak yönetilir.

DEL Uygulaması

Bu çözümü konsol kontrolü için DEL adlı bir dil oluşturarak uygulamayı öneriyoruz:


Bağlantı Kurma Sırası Diyagramları

A. Bağlantı Kurulmadan Önce

/                                                      \
|     +-----------+                    +-----------+    |
|     |           |                    |           |    |
|     | terminal  |                    | terminal  |    |
|     |           |                    |           |    |
|     +-----+-----+                    +-----+-----+    |
|           |                                |          |
|     +-----+-----+                    +-----------+    |
|     |     |     | Bağlantı 25 üzerinden |     |     |    |
UCLA {     |     |     | -> bağlantı talebi |     |     |    } SRI
|     |   +-+-+   |  +-+          +-+  |   +-+-+   |    |
|     |   | OS|---+-=|I|----------|I|=-+---| OS|   |    |
|     |   +-+-+   |  +-+          +-+  |   +---+   |    |
|     |           |                    |           |    |
|     +-----------+                    +-----------+    |
|      HOST: UCLA                        HOST: SRI      |
\                                                     /

B. Bağlantı Kurulması ve Oturum Açma Sonrası

/                                                      \
|     +-----------+                    +-----------+    |
|     |           |                    |           |    |
|     | terminal  |                    | terminal  |    |
|     +-----+-----+                    +-----+-----+    |
|           |                                |          |
|     +-----+-----+ "Lütfen ön uç     +-----------+    |
|     |     |     | kontrolünü gönder" |     |     |    |
UCLA {     |     |     |        ->          |     |     |    } SRI ___
|     |   +-+-+   |  +-+          +-+  |  +--+---+ |    |    /   |
|     |   | OS|---+-=|I|----------|I|=-+--|OS|NLS| +----+---|    |
|     |   +-+-+   |  +-+          +-+  |  +------+ |    |   |___/
|     |           |       DEL prog.    |           |    |
|     |           |        <-          |           |    |
|     +-----------+                    +-----------+    |
|      HOST: UCLA                        HOST:SRI       |
\                                                     /

C. DEL Programının Alınması ve Derlenmesi Sonrası

/                                                     \
|     +-----------+                    +-----------+    |
|     |           |                    |           |    |
|     | terminal  |                    | terminal  |    |
|     +-----+-----+                    +-----+-----+    |
|           |Önemsiz                         |          |
|           |Yanıtlar                        |          |
|     +-----+------+                    +-----------+   |
|     |     |      |                    |     |     |   |
UCLA {     |     |      |  Ana Yanıtlar      |     |     |   } SRI ___
|     |  +--+--+   |  +-+          +-+  |  +--+---+ |   |    /   |
|     |  |DEL  |---+-=|I|----------|I|=-+--|OS|NLS| +---+---|    |
|     |  |ön uç|   |  +-+          +-+  |  +------+ |   |   |___/
|     |  |prog.|   |                    |           |   |
|     |  +-----+   |                    |           |   |
|     |  | OS  |   |                    |           |   |
|     |  +-----+   |                    |           |   |
|     |            |                    |           |   |
|     +------------+                    +-----------+   |
|      HOST: UCLA                         HOST: SRI     |
\                                                     /

IV. İlk Deneyler

Deney Bir

SRI şu anda, Ağ Dokümantasyon Merkezi'ndeki ana yazılım bileşeni olacak çevrimiçi geri alma sistemini, model 35 teletypeleri ile çalıştırılabilecek şekilde değiştiriyor. Teletypelerin kontrolü DEL'de yazılacak. Tüm siteler DEL derleyicileri yazacak ve NLS'yi DEL programı aracılığıyla kullanacak.

Deney İki

SRI, grafikler dahil tam NLS için bir DEL ön ucu yazacak. UCLA ve UTAH, NLS'yi grafiklerle kullanacak.


DEL ve Uygulama Üzerine Açık Sorular

  1. IMP'ler kod dönüşümü yaparsa, sağlama toplamı doğru olmayacaktır
  2. DEL ön ucunu talep etme prosedürü henüz belirlenmemiştir

Özet

Bu RFC, erken ARPA Ağı için HOST yazılım mimarisi ile ilgili geçici anlaşmaları ve devam eden tartışmaları belgeler. Aşağıdakiler için temel kavramları oluşturur:

Belge, hostlar arasında işbirliği ihtiyacını vurgular ve önemsiz etkileşimlerin yerel işlenmesi yoluyla ağ gecikme sınırlamalarının üstesinden gelmek için yenilikçi çözümler önerir.


Belge Tarihi: 7 Nisan 1969

Network Working Group

University of California, Los Angeles (UCLA)