İçeriğe atla

toprak.run/rfc/protokol/2

RFC 2 · Protokol

Host Yazılımı (Erken Protokoller ve Bağlantı Yönetimi)

ASIL METİN kayıtlı değil·Bill Duvall, SRI

ÇEVİRİ tarih kayıtlı değil·ASLINI GÖR

İçindekiler

  1. Bağlantılar
  2. Kontrol Bağlantıları
  3. Birincil Bağlantılar
  4. Yardımcı Bağlantılar
  5. Bağlantıların Manipülasyonu
  6. Kontrol Bağlantıları
  7. Birincil Bağlantılar
  8. Yardımcı Bağlantılar
  9. Hata Kontrolü
  10. İzleme Fonksiyonları
  11. Ağ G/Ç Sürücüleri
  12. Ağ Durumu
  13. Yürütme Primitivleri
  14. İlk Kontrol

BAĞLANTILAR

1a. Kontrol Bağlantıları

1a1 – Bağlantı 0 Genel Bakış

Mantıksal bağlantı 0, ağdaki herhangi iki HOST arasında bir kontrol bağlantısı olacaktır.

  • Teklik: Herhangi iki HOST arasında yalnızca bir kontrol bağlantısı bulunabilir
  • Çıkarımlar: Ağda n HOST varsa, her HOST'tan n-1 kontrol bağlantısı vardır

1a2 – Birincil Kullanımlar

Kontrol bağlantısı, aşağıdaki amaçlarla HOST'lar arasındaki iletişim için öncelikli olarak kullanılacaktır:

  • 1a2a: Kullanıcı bağlantılarının kurulması
  • 1a2b: Kullanıcı bağlantılarının kesilmesi
  • 1a2c: Bağlantıların ve/veya bağlantıları kullanan programların durumu ile ilgili kesintilerin iletilmesi
  • 1a2d: İzleme iletişimi

1a3 – Otomatik İzleme

Ağdaki IMP'ler, bağlantı 0 üzerinden gönderilen tüm mesajları otomatik olarak izleyebilir.


1b. Birincil Bağlantılar

1b1 – Birincil Bağlantı Özellikleri

Belirli bir HOST'taki bir kullanıcı, ağdaki diğer HOST'ların her birine tam olarak 1 birincil bağlantıya sahip olabilir.

Ana Özellikler:

Özellik Açıklama
1b1a Birincil bağlantı, bir HOST kullanıcısı ile başka bir HOST arasında kurulan ilk bağlantı olmalıdır
1b1b Birincil bağlantılar kullanıcıya globaldir – bir kullanıcı programı birincil bir bağlantı açabilir ve bu bağlantı özellikle kapatılana kadar açık kalır
1b1c Birincil bağlantı, uzak HOST tarafından normal bir veri telefonu veya doğrudan hat üzerinden bağlanmış bir teletype gibi işlem görür
1b1d Uzak HOST'a (kullanıcı) kontrol bilgisi iletmek için kullanılır, örneğin uzak host'un standart oturum açma prosedürünü kullanarak oturum açma

1c. Yardımcı Bağlantılar

1c1 – Yardımcı Bağlantı Özellikleri

Bir kullanıcı programı, kendisi ile bağlı bir HOST'taki bir kullanıcı programı arasında herhangi sayıda yardımcı bağlantı kurabilir.

Ana Özellikler:

Özellik Açıklama
1c1a Bu bağlantılar ikili veya karakter iletimi için kullanılabilir
1c1b Yardımcı bağlantılar, onları kuran alt sisteme yereldir
1c1b (devam) Bu alt sistemden çıkıldığında kapatılırlar

BAĞLANTILARIN MANİPÜLASYONU

2a. Kontrol Bağlantıları

2a1 – Kurulum

Kontrol bağlantısı sistem yükleme zamanında kurulur.

2a2 – Durum

Bir kontrol bağlantısının durumu aktif veya inaktif olabilir:

  • 2a2a: Kontrol bağlantısının durumu, HOST'lar arasındaki ilişkiyi yansıtmalıdır

2b. Birincil Bağlantılar

2b1 – Kurulum Süreci

Birincil bağlantılar, kullanıcı veya yürütme çağrısının monitöre yapılmasıyla kurulur.

Çağrı Gereksinimleri:

  • 2b1a: Bağlantı kurulacak HOST'un ağ tanımlama numarası çağrıya dahil edilmelidir
  • 2b1b: Belirli bir HOST'a birden fazla birincil bağlantı kurma girişimi bir hata olarak kabul edilir ve istek varsayılana döner

2b1c – Standart İletim Karakter Seti

Birincil bağlantılar ve kontrol bağlantıları üzerinden veri iletimi için standart bir karakter seti olacaktır:

  • Format: Tam (8 bit) ASCII

2b1d – Bağlantı Kurma Protokolü (getlink)

HOST A'dan HOST B'ye bir bağlantı kurma protokolü:

Adım 1: Seçim ve İletim

  • 2b1d1: A, tahsis tablolarından HOST B'ye şu anda kullanılmayan bir bağlantıyı seçer
  • 2b1d2: A, bağlantı 0 üzerinden B'ye bir bağlantı-kurma mesajı iletir
  • 2b1d3: A daha sonra şunları bekler:
  • 2b1d3a: B'den bu bağlantı hakkında bir iletişim
  • 2b1d3b: Belirli bir sürenin geçmesi

Adım 2: Yanıt Değerlendirmesi

2b1d4 – B'den bağlantı hakkında bir iletişim alınırsa, türünü belirlemek için incelenir:

2b1d4a – B'den Bağlantı Doğrulaması

Sonuç: Başarılı bağlantı kurulumu
- A, B'den onay alır
- Bağlantı numarası talep edene döndürülür
- Bağlantı kurulur

2b1d4b – B'den Eşzamanlı Bağlantı Talebi

Bu, B'nin A'dan bağımsız olarak aynı bağlantıyı kurmaya çalıştığı anlamına gelir.

Öncelik Çözümü:

  • A'nın Ağ Kimliği (Na) > B'nin Ağ Kimliği (Nb) ise:

  • A, B'den gelen talebi görmezden gelir

  • A, B'den bağlantı onayını beklemeye devam eder

  • **A'nın Ağ Kimliği (Na) 2b1d4c – B'den Diğer İletişim

Bu bir hata durumudur ve şunlardan birini gösterir:

  • 2b1d4c1a: A, daha önce tahsis edilmiş bir bağlantı seçerek hata yaptı
  • 2b1d4c1b: B, tahsis edilmemiş bir bağlantı üzerinden bilgi iletiyor
  • 2b1d4c1c: B'den A'ya tahsis ile ilgili mesaj bozuldu

A'nın Yanıtı:

  • 2b1d4c2a: B'ye denenen bağlantı hakkında bir bağlantı-kesme mesajı gönder
  • 2b1d4c2b: HOST B'nin durumunu hatalı olarak değerlendir ve bir panik rutinine giriş başlat

Adım 3: Zaman Aşımı İşleme

2b1d5 – Öngörülen süre içinde B'den bağlantı hakkında bir iletişim alınmazsa:

  • 2b1d5a: HOST B, hatalı bir durumda kabul edilir
  • 2b1d5b: A'dan B'ye bir bağlantı-kesme mesajı gönderilir
  • Etki: Bir panik rutini çağrılır

2c. Yardımcı Bağlantılar

2c1 – Kurulum Süreci

Yardımcı bağlantılar, bir kullanıcı programından monitöre yapılan bir çağrı ile kurulur.

2c1a – Talep Özellikleri

Talep, istenen bağlantı hakkında ilgili verileri belirtmelidir:

  • 2c1a1: B'ye birincil bağlantının numarası

2c1b – Çift Başlatma

Yardımcı bağlantı talebi, HOST'ların her birindeki (A ve B) bir kullanıcı programı tarafından yapılmalıdır.

2c1c – Başlatıcı Belirleme

Na > Nb ise: HOST A, yukarıda özetlenen getlink protokolünü kullanarak HOST B'ye bir bağlantı kurmaya devam eder.

2c1d – Yanıtlayıcı Bekleme Protokolü

Na < Nb ise: A şunları bekler:

  • 2c1d1: HOST B'nin bağlantıyı kurması (B'nin ilgili bağlantıyı zaten kurup kurmadığını kontrol ettikten sonra)
  • 2c1d2: Belirli bir sürenin geçmesi

Zaman Aşımı Çıkarımları:

  • 2c1d2a: HOST B, HOST A'nın talebine yanıt vermedi
  • 2c1d2b: Her iki HOST'taki kullanıcı programları zaman aşımı süresini belirleyebilmelidir

HATA KONTROLÜ

3a – Hata Kontrolü Kapsamı

Ağ üzerinden gönderilen tüm mesajlar, yazılım ve donanım hatalarını izole etmeye yardımcı olmak için başlangıçta hata kontrolünden geçirilecektir.

3b – Sağlama Toplamı Uygulaması

Her mesajla ilişkili, sıraya bağımlı bir sağlama toplamı olacaktır.

3b1 – Önerilen Algoritma: Katlama Tekniği

Uzunluğu 1 olan bir sağlama toplamı, kontrol edilecek dizideki ardışık alanların seri olarak eklenmesi ve taşıma bitinin toplamın en düşük bit konumuna eklenmesiyle oluşturulabilir.

Temel Toplama ve Katlama

+--------------+
|              |
+---ALAN 1-----+
EKLE +--------------+
|              |
+----ALAN 2----+
+-+--------------+
| |              |
+-+--------------+
\
\          +--+
EKLE  TAŞIMA--> |  |
+--+
+--------------+
|              |
+----SONUÇ-----+

Süreç Olarak Bilinir: Katlama

Paralel Alan Toplama

Ana Fikir: Birkaç alan paralel olarak eklenebilir ve katlanabilir, eğer toplamadan sonra uygun şekilde katlanırlarsa.

+---------+---------+---------+---------+
| ALAN 4  | ALAN 3  | ALAN 2  | ALAN 1  |
+---------+---------+---------+---------+
+---------+---------+---------+---------+
| ALAN 8  | ALAN 7  | ALAN 6  | ALAN 5  |
+---------+---------+---------+---------+
EKLE
+-+---------+---------+---------+---------+
| |         |         |         |         |
+-+---------+---------+---------+---------+

Her sonuç daha sonra bir sonraki seviyeye katlanır, taşımalar sırayla eklenir.

3b1a3 – Avantajlar: Makineye Optimal Kelime Uzunlukları

Bu sağlama toplamı tekniği, farklı makinelerin kelime uzunluklarının her birinin optimum şekilde kullanılabilmesi avantajına sahiptir.

Önerilen Parametreler:

  • Alan Uzunluğu: 288 bit (24, 32, 36'nın en küçük ortak paydası)
  • Sağlama Toplamı Uzunluğu: 8 bit (tüm makineler için uygun alan boyutu)

3b1b – Sıraya Bağımlı Sağlama Toplamları

Bir mesaj alan gruplarına bölünürse ve her grup sağlama toplamından geçirilirse, her grubun sağlama toplamını kaydırarak ve (ardışık olarak) bir sonraki grubun sağlama toplamına ekleyerek sıraya bağımlı bir sağlama toplamı elde edilebilir.

3c – Doğrulama Modu

İki HOST'un tüm mesajların pozitif doğrulamasını gerektiren bir moda girebileceği bir tesis sağlanacaktır. Bu doğrulama kontrol bağlantısı üzerinden gönderilir.


İZLEME FONKSİYONLARI

4a. Ağ G/Ç Sürücüleri

4a1 – Giriş İşlemleri

4a1a – IMP'den giriş mesajı

4a1b – Mesajda Hata Kontrolü:

  • 4a1b1: Sağlama toplamını doğrula
  • 4a1b2: Onaylama modu etkinse kontrol bağlantısı üzerinden "mesaj alındı" onayı gönder

4a1c – Karakter Çevirisi (trans)

  • 4a1c1: Karakter çevirisinin IMP'de yapılma olasılığı güçlüdür
  • 4a1c2: Bunun BBN ile daha fazla araştırılması gerekiyor
  • 4a1c3: İki ana husus:
  • 4a1c3a: Çeviri tablo veya algoritma ile mi yapılmalı? Başlangıçta, tablo en iyi yaklaşım gibi görünüyor

4a1c3b: Hangi mesajların çevrilmesi gerektiğine nasıl karar vermeliyiz?

  • Her şeyi çevirmemek arzu edilir mi? (EVET!!)
  • Hangi araçlarla farklılaştırabiliriz?

4a1d – Mesaj Yönlendirmesi

Başlığı çöz ve mesajı kaynak ve bağlantı ile tanımlanan doğru alıcıya ilet.

4a2 – Çıkış İşlemleri

4a2a – Başlık oluştur

4a2b – Karakter Çevirisi

  • Çıkış çevirisi (trans) bölümündeki açıklamalara bakın

4a2c – Sağlama toplamı oluştur

4a2d – Bağlantının durumunu kontrol et

  • Bağlantıdan iletilen son mesajdan bu yana bir RFNM (Sonraki Mesaj Talebi) gelmemişse, onu bekle

4a2e – Mesajı IMP'ye ilet

4a2f – Onaylama modu etkinse, şunları bekle:

  • 4a2f1: Hedef IMP'den RFNM
  • 4a2f2: Kontrol bağlantısı 0 üzerinden hedef HOST'tan yanıt

4b. Ağ Durumu

4b1 – Diğer HOST'ların Durum Bakımı

Ağdaki diğer HOST'ların durumunu sürdür:

  • 4b1a: Bir IMP çalışmıyorsa, HOST'u da çalışmıyor kabul edilir

4b2 – Kontrol Hattı Durumu

Kontrol hatlarının durumunu sürdür.

4b3 – Durum Sorgusu Yanıtları

Diğer HOST'lardan gelen durum sorgularını yanıtla.

4b4 – Bağlantı Durum Bildirimleri

Kesinti bazında birincil ve yardımcı bağlantıların durumu hakkında diğer HOST'ları bilgilendir.

4b5 – Program Durum Güncellemeleri

Birincil ve ikincil bağlantıları kullanan programların durumu hakkında diğer HOST'ları bilgilendir.


YÜRÜTME PRİMİTİVLERİ

5a. Birincil Bağlantılar

Bu primitivler parametre olarak HOST numarası gerektirir.

Primitiv Fonksiyon
5a1a Birincil bağlantı kur
5a1b Kontrol eden teletype'ı birincil bağlantıya bağla
5a1c Birincil bağlantı üzerinden GİRİŞ/ÇIKIŞ
5a1d Birincil bağlantının durumunu sorgula*
5a1e Kontrol eden teletype'ı birincil bağlantıdan ayır
5a1f Birincil bağlantıyı sonlandır

*5a1d: Tam fonksiyon belirsiz, ancak potansiyel olarak yararlı görünüyor

5b. Yardımcı Bağlantılar

5b1 – Yardımcı Bağlantı Kur

5b1a – Parametre olarak HOST numarası gerektirir

5b1b – Bir dosya dizinine benzer bir mantıksal bağlantı numarası döndürür. Bu numara, diğer tüm Yardımcı rutinlere parametre olarak iletilir.

5b2 – Yardımcı Bağlantı Üzerinden GİRİŞ/ÇIKIŞ

Kurulmuş yardımcı bağlantılar üzerinden giriş/çıkış işlemleri gerçekleştir.

5b3 – Yardımcı Bağlantının Durumunu Sorgula

5b3a – Tam fonksiyon belirsiz, ancak potansiyel olarak yararlı görünüyor.

5b4 – Yardımcı Bağlantıyı Sonlandır

Yardımcı bağlantı bağlantısını sonlandır.


5c. Özel Yürütme Fonksiyonları

5c1 – Bağlantı Üzerinden Şeffaf GİRİŞ/ÇIKIŞ

5c1a – Bu, bir bağlantı üzerinden blok G/Ç transferleri yapmak için kullanılabilir

5c1b – Bu durumda monitörün fonksiyonu, bir tamponu doğrudan IMP'sine aktarmaktır

5c1c – A bunu hiçbir şekilde değiştirmez:

  • 5c1c1: Bu, başlık ve diğer kontrol bilgilerinin tampon içinde olması gerektiği anlamına gelir

5c1dAmaçlanan Kullanım: Ağ hata ayıklama


İLK KONTROL

6a. Simüle Edilmiş Veri-Telefon Modu

Ağ başlangıçta simüle edilmiş veri-telefon modunda bağlantılar kullanılarak kontrol edilecektir.

6a1 – Mesaj Boyutu

Tüm mesajlar uzunluk olarak bir karakter olacaktır.

6a2 – Bağlantı Kontrolü

Bağlantılar monitöre şeffaf olacak ve özel bir yürütme primitivi aracılığıyla kullanıcı programı tarafından kontrol edilecektir.

Test Yapılandırması:

  • 6a2a: İlk test, farklı HOST'lardaki iki kullanıcı programından çalıştırılacak, örneğin DDT'den DDT'ye
  • 6a2b: Telefon bağlantısı veya benzeri ile paralel çalıştırılacak

Temel Teknik Yenilikler

RFC 2'deki Protokol Gelişmelerinin Özeti:

  1. Hiyerarşik Bağlantı Yapısı: Üç katmanlı sistem (kontrol, birincil, yardımcı) esneklik ve organizasyon sağlar
  2. Çarpışma Çözümü: Öncelik tabanlı şema, eşzamanlı bağlantı kurma çatışmalarını önler
  3. Sağlama Toplamı Katlama: Makineden bağımsız algoritma, çeşitli bilgi işlem mimarileri için optimize eder
  4. Durum Yönetimi: Kapsamlı izleme ve kesinti yetenekleri
  5. Çift Modlu Çalışma: Hem TTY benzeri hem de yüksek performanslı ikili iletim desteği
  6. Hata Kurtarma: Detaylı zaman aşımı ve hata işleme prosedürleri

Network Working Group

SRI (Stanford Research Institute)

Erken ARPA Ağı Geliştirmesi