İçindekiler
- Bağlantılar
- Kontrol Bağlantıları
- Birincil Bağlantılar
- Yardımcı Bağlantılar
- Bağlantıların Manipülasyonu
- Kontrol Bağlantıları
- Birincil Bağlantılar
- Yardımcı Bağlantılar
- Hata Kontrolü
- İzleme Fonksiyonları
- Ağ G/Ç Sürücüleri
- Ağ Durumu
- Yürütme Primitivleri
- İ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
5c1d – Amaç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:
- Hiyerarşik Bağlantı Yapısı: Üç katmanlı sistem (kontrol, birincil, yardımcı) esneklik ve organizasyon sağlar
- Çarpışma Çözümü: Öncelik tabanlı şema, eşzamanlı bağlantı kurma çatışmalarını önler
- Sağlama Toplamı Katlama: Makineden bağımsız algoritma, çeşitli bilgi işlem mimarileri için optimize eder
- Durum Yönetimi: Kapsamlı izleme ve kesinti yetenekleri
- Çift Modlu Çalışma: Hem TTY benzeri hem de yüksek performanslı ikili iletim desteği
- Hata Kurtarma: Detaylı zaman aşımı ve hata işleme prosedürleri
Network Working Group
SRI (Stanford Research Institute)
Erken ARPA Ağı Geliştirmesi