← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 42 · data

Mesaj Veri Türleri

Yazar
E.I. Ancona
Kurum
MIT Lincoln Laboratory
Tarih
31 Mart 1970
Durum
Teknik Şartname
Kanal
data/

İçindekiler


Genel Bakış

MIT Lincoln Laboratory'den E.I. Ancona, normal ARPANET mesajlarının ilk sekiz bitinin bir mesaj veri türü alanı için ayrılmasını önermektedir. Bu öneri, tek bir veri biçimi dayatmadan farklı HOST uygulamaları arasında mesaj yorumlamasını standartlaştırma sorununu ele almaktadır.

Öneri

Temel Tavsiye

Normal bir mesajın ilk sekiz bitinin bir mesaj veri türü alanı için ayrılmasını öneriyoruz.

Bunun Anlamı

Önemli Uyarı

Bu kuralın benimsenmesi kullanılacak gerçek veri türleri konusunda herhangi bir şekilde anlaşmaya varıldığı anlamına gelmez. Öneri, ilk sekiz bitin mesaj türü için ayrıldığını belirleyen bir kural oluşturur; gerçek tür değerleri ve anlamlarının ayrı olarak tanımlanmasını açık bırakır.

Gerekçe

Sorun

Mesajların içeriğine ilişkin kuralların ARPANET geliştirme sürecinin erken aşamalarında belirlenmesi birkaç nedenle önemlidir:

  1. Çoğalmanın önlenmesi - Her program çifti arasında çok sayıda farklı mesaj biçimi kuralının ortaya çıkmasını engellemek
  2. Standartlaştırma - Ağ genelinde çalışabilecek ortak yaklaşımlar belirlemek
  3. Verimlilik - Mesaj türü tanımlarını paylaşarak tekrarlanan çalışmayı azaltmak

Standartlaşma Eksikliği

ARPANET sitelerinde kullanılan HOST mimarilerinin ve programlama dillerinin çeşitliliği, evrensel mesaj biçimi standartlaştırmasını pratik olmaktan çıkarır. Farklı HOST'larda:

Evrensel ikili uyumluluğu zorlamak yerine, bir mesaj türü alanı her uygulamanın tür göstergesine bakarak mesaj biçimini anlamasını sağlar.

Faydalar

Üst Düzey Protokol Geliştirmeyi Sağlama

Ağ kullanımı arttıkça, mesajların hem sözdizimini hem de anlamsal içeriğini belirtmek için ağ dilleri gelişebilir. Ancak bu kadar kapsamlı kurallar geliştirilmeden önce bile, basit bir mesaj türü göstergesi temel yorumlamayı mümkün kılar.

Örnek Fayda: Tür Tabanlı Ayrıştırma

Uygulama yazılımı mesaj türünü kullanarak şunları yapabilir:

Tür Alanı

8 bitlik tür alanı 256 olası mesaj türü sağlar ve mantıksal olarak şu şekilde bölünebilir:

Aralık Amaç
0-127 Sistem tarafından tanımlanan türler (TCP/IP protokolleri, standart türler)
128-255 Kullanıcı/uygulama tarafından tanımlanan türler (özel genişletmeler)

Uygulama Yaklaşımı

Hâlihazırda Çalışan Programlar

Hâlihazırda çalışan programların bu kuralla birlikte çalışmaya devam etmesi önemlidir. Geriye dönük uyumluluk korunmalıdır.

Sistem Programları Çözümü

Şunları gerçekleştiren iki sistem programı yazılmasını öneriyoruz:

  1. Ekleme - Tür alanından haberdar olmayan programlar tarafından gönderilen mesajlara otomatik olarak tür bilgisi eklemek
  2. Kaldırma - Tür alanını beklemeyen programlara gelen mesajlardan tür alanını çıkarmak
  3. Test etme - Tür bilgisinin doğru şekilde bulunup bulunmadığını doğrulamak

Bu uyarlayıcı programlar geriye dönük uyumluluğu şu şekilde sağlar:

Ağ Geçidi İşlevi

Bu sistem programları pratikte şu işlevleri yerine getirir:

Geriye Dönük Uyumluluk

Birlikte Çalışabilirlik Sorunu

Dikkatli bir tasarım yapılmazsa, tür alanının eklenmesi onu beklemeyen veya anlamayan mevcut programlarla uyumluluğu bozar.

Kademeli Geçiş

Sistem programı yaklaşımı kademeli geçişi mümkün kılar:

Aşama 1: Mevcut programlar değişmeden çalışır; sistem programları tür alanlarını ekler veya kaldırır
Aşama 2: Yeni programlar tür farkındalığına sahip tasarımı benimser; sistem programları gerektiğinde köprü görevi görür
Aşama 3: Tam geçiş; sistem programlarına artık gerek kalmaz

Bu aşamalı yaklaşım, tüm uygulamaların aynı anda güncellenmesini gerektirmeden ağın evrimleşmesine olanak tanır.


Gelecekte Standartlaştırma

Uzun Vadeli Vizyon

Anlık öneri yalnızca ilk sekiz bitin mesaj türü için ayrılması olsa da, daha uzun vadeli vizyon şunları içerir:

  1. Standart mesaj türlerini tanımlamak - Yaygın mesaj türlerinden oluşan bir kayıt sistemi oluşturmak
  2. Şartnameleri yayımlamak - Her tür için resmi bir teknik tanım sağlamak
  3. Referans uygulama - Tür işleme için kod kütüphaneleri sağlamak
  4. Birlikte çalışabilirlik - Farklı sitelerden uygulamaların birlikte kullanılabilmesini sağlamak

Tür Kaydı

Bir tür kaydı şu bilgileri belirtebilir:

Tür Ad Açıklama
0 DATA Kullanıcı uygulama verisi
1 TELNET Uzak terminal hizmeti
2 FTP Dosya aktarım hizmeti
3 MAIL Elektronik posta
... ... ...

Önemi

RFC 42, heterojen ağlarda temel bir sorunu ele alır: Programlar farklı uygulamalardan gelen mesajların biçimini nasıl anlar?

Başlıca katkılar:

  1. Tür temelli yorumlama - Mesaj türü, alıcının mesajı doğru şekilde ayrıştırmasını sağlar
  2. Erken standartlaştırma - Uyumsuz sistemler çoğalmadan önce bir kural oluşturur
  3. Geriye dönük uyumluluk - Uyarlayıcı programlar aracılığıyla kademeli geçiş sağlar
  4. Genişletilebilirlik - Tür alanı gelecekteki eklemelere izin verir

RFC 42'deki kavramlar daha sonraki gelişmeleri önceden haber verir:

Ancona'nın "içeriği standartlaştırmaktan" ziyade "kuralı standartlaştırmanın" daha pratik olduğu yönündeki önerisi, protokol tasarımında hâlâ merkezi öneme sahip bir ilkeyi öngörmüştür: üst düzey tanımlama (türlerin nasıl tanımlanacağını belirlemek) çoğu zaman belirli türlerin kendisinden daha önemlidir.


Network Working Group

MIT Lincoln Laboratory

31 Mart 1970