← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 221 · mail

Bir Posta Kutusu Protokolü, Sürüm-2

Yazar
R. Watson
Kurum
Belirtilmemiş
Tarih
25 Ağustos 1971
Durum
Network Working Group Yorum Talebi
Kanal
mail/

| Yazar | R. Watson | | Kurum | Belirtilmemiş | | Tarih | 25 Ağustos 1971 | | Durum | Network Working Group Yorum Talebi | | RFC Numarası | 221 |


Network Working Group

R. Watson

Request for Comments: 221

NIC: 7612

Date: 25 August 1971


GİRİŞ

RFC 196, "Bir Posta Kutusu Protokolü", NIC 7141 belgesine verilen ilk tepkiler, böyle bir mekanizmaya duyulan ihtiyaç konusunda genel bir uzlaşma olduğunu göstermektedir. RFC 196'da önerilen kurallar, ilk uygulamayı basitleştirmek amacıyla yalnızca Veri Aktarım Protokolü’nün (NIC 7104’te tanımlandığı gibi) kullanılacağını varsaymıştır. Sitelerin Dosya Aktarım Protokolü’nü de uygulayacağı ve Posta Kutusu Protokolü’nün mümkün olduğunca bunun bir alt kümesi olması gerektiği yönünde geçerli bir argümanın ortaya konduğuna inanıyoruz. Bu sürüm, bu öneriye bir yanıt niteliğindedir.

Bir posta kutusu protokolünün amacı, her sitede sıralı dosyaları almak için standart bir mekanizma sağlamaktır; bu dosyalar hemen yazdırılmak ya da daha sonra yazdırılmak veya başka amaçlar için kullanılabilir. Daha sonra yazdırılacak dosyalar muhtemelen ara disk dosyalarında saklanacaktır; ancak bir dosyanın bir sitede nasıl işlendiği, saklandığı, değiştirildiği veya yazdırıldığı gibi ayrıntılar bu protokolün kapsamı dışındadır.

Bizim bakış açımıza göre bir posta kutusu, basitçe yalnızca yazma işlemi yapılabilen (Ağ tarafından) sıralı bir dosyadır; mesajlar ve belgeler uygun, siteye bağlı bir kodla ayrılarak bu dosyanın sonuna eklenir.

Ayrıca gönderen sitede, dosyayı aşağıda verilen biçimde ve gerektiğinde isteğe bağlı kontrol kodlarıyla gönderen bir programın bulunacağı varsayılmaktadır. Bu programa muhtemelen Telnet programının bir alt komutu olarak erişilebilir.

Bu protokolün geliştirilmesinin motivasyonu, Network Information Center’ın (NIC) uzak sitelere mesaj ve belge gönderebilme ve uzak sitelerden kataloglama, yeniden dağıtım ve diğer amaçlar için belgeler alabilme gereksinimidir. Bunu yaparken her sitedeki yol adı kurallarının ve dosya sistemi komutlarının ayrıntılarını bilmek zorunda kalmamak amaçlanmaktadır. Her sitede birden fazla posta kutusuna (256) izin verilir ve bunlar aşağıda açıklanan şekilde tanımlanır. Varsayılan değer, aşağıda tanımlanan standart posta yazıcısı ile kullanılmak üzere posta kutusu numarası 0’dır.

Posta Kutusu Protokolü’nün Dosya Aktarım Protokolü ile potansiyel bir çakışma yaşayabileceği tek yer dosya adlandırma kurallarıdır. Dosya Aktarım Protokolü, kullanan sitenin hizmet veren sitenin erişim ve dosya yolu adı kurallarını izleyen bir dosya adı kullanacağını ve bu bilginin kullanıcı tarafından sağlanacağını varsayar. Posta Kutusu Protokolü’nde ise her sitedeki yol adı kurallarını açıkça bilmek zorunda kalmamayı tercih ediyoruz.

Başka bir ifadeyle, ağ üzerinde sanal bir yol adı kuralına ihtiyaç vardır. Bu sorunu şu aşamada genel olarak çözmek istemedik ve RFC 196, NIC 7141’de posta türü teslimatlar için ayrı bir soket kullanılmasını ve eklenecek belirli bir dosyanın (Posta Kutusu) adresini belirtmek için 0–127 aralığında bir tam sayı kullanılmasını önerdik. Bu, ilk uygulama için ağ genelinde standart dosya adı kuralının en basit biçimi olarak düşünülmüştür.

Dosya Aktarım Protokolü’nün ruhuna daha yakın olmak için artık Append Request’in özellikle kullanılmasını ve Dosya Aktarım Protokolü ile kullanılmak üzere üzerinde anlaşılmış standart soketin de kullanılmasını öneriyorum. Append isteğini belirten bayttan sonra, bunun bir posta kutusu ekleme isteği olduğunu belirten, üzerinde anlaşılmış standart bir harf dizisi ve ardından bir sayı gelecektir. Önerilen ad dizisi NETMAIL# olacaktır; burada #, 0–255 aralığında yorumlanan bir posta kutusu numarasını temsil eden bir bayttır. Eğer yukarıda önerilen Posta Kutusu dosya adlandırma kuralı uygun değilse ve ağ genelinde başka bir standart posta kutusu adlandırması üzerinde anlaşma sağlanabilirse, o kullanılabilir. Bu adlandırma kuralı hakkında ne düşündüğünüzü lütfen bana bildirin.

Standart bir posta kutusu yol adı üzerinde anlaşma sağlanırsa, Posta Kutusu Protokolü aşağıda verilecek olan Dosya Aktarım Protokolü kurallarının bir alt kümesini kullanabilir.

Posta Kutusu Protokolü hakkında ortaya atılan diğer sorun, erişim veya dosya boyutu denetimleri bulunmadığı için birinin kazara ya da kasıtlı olarak bir sitenin yazıcısını anlamsız verilerle doldurabilme olasılığıydı. Bu sorun üzerine yapılan bazı düşünceler ve tartışmalar, basit ve tatmin edici bir çözüm ortaya koymamıştır. İlk uygulamalar için bu alanda standart özel güvenlik önlemleri olmadan başlanmasını öneririm. Güvenlik önlemleri siteye bağlı bir seçenek olacaktır. Eğer gerçekten gerekli olduğu anlaşılır ve tatmin edici çözümler üzerinde uzlaşma sağlanırsa, yukarıdaki sorun için standart güvenlik önlemleri daha sonra kolaylıkla eklenebilir.


POSTA KUTUSU PROTOKOLÜ – SÜRÜM 2

Posta Kutusu Protokolü, yerleşik ağ kurallarını kullanacaktır; özellikle Network Control Program, Initial Connection Protocol, Data Transfer Protocol ve File Transfer Protocol (Current Network Protocols, NIC 7104’te tanımlandığı gibi).

Posta Kutusu 0 için normal iletim Network ASCII olacaktır. Posta kutusu numarası 0 için standart alıcı posta yazıcısının 72 karakter genişliğinde bir yazdırma satırına ve 66 satırlık bir sayfaya sahip olduğu varsayılır. Yeni satır kuralı, Telnet Protokolü RFC 158, NIC 6768’e uygun olarak satır başı (Hex 0D, Octal 015) ardından satır besleme (Hex 0A, Octal 012) şeklinde olacaktır. Standart yazıcı, form feed’i (Hex 0C, Octal 014) kâğıdı yeni bir sayfanın başına ilerletme anlamında kabul edecektir.

Yazdırma satırının ve sayfanın uzunluğunu denetlemek gönderenin sorumluluğundadır. Bir satırda 72 karakterden fazla gönderilirse veya form feed olmadan 66 satırdan fazla gönderilirse, alıcı site bu durumları kendi koşullarına uygun şekilde ele alabilir. Bu kurallar aşağıda açıklanan kontrol kodları ile değiştirilebilir.

Posta kutusu numarası 0’a gönderilen mesajın veya belgenin başında, form feed ile sonlandırılmış bir başlangıç adres dizgesi bulunacaktır. Bu adres dizgesi, gönderenin adı ve adresini ve alıcının adı ve adresini, bir görevlinin okuyup dağıtabileceği makul ve kolay okunabilir bir biçimde içermelidir. Adres dizgesine yorumlar da eklenebilir.

Posta kutusu numarası 0 dışındaki posta kutularındaki bilgilerin biçimi bu protokol tarafından açıkça tanımlanmamıştır.


İlk Bağlantı

İlk bağlantı, henüz atanmış olmayan standart Dosya Aktarım soketine, Official Initial Connection Protocol, Document #2, NIC 7101’e uygun olarak gerçekleştirilecektir. Aday bir soket numarası olarak soket #3 önerilmiştir.


Dosya Aktarımı

Aktarılacak posta öğesi (dosya), Dosya Aktarım Protokolü’ne göre aktarılacaktır.

Dosya Aktarım Protokolü’ne uygun olarak, bir dosya (posta öğesi) Veri Aktarım Protokolü’nde tanımlandığı şekilde birden fazla veri işlemi içinde gönderilebilir. Dosyanın sonu, dosya ayırıcısı (Veri Aktarım Protokolü’nde tanımlandığı gibi) ile veya bağlantının kapatılmasıyla belirtilir.


İşlem Sırası

Gerekli olan tek temel işlem ekleme (append) işlemidir.

Append Request

(Mailer) User  -------------------->  server (Mail Box)

------------------->
End of File indication
------------------->
Acknowledge
<-------------------

Varsayılan veri türü Network ASCII’dir. Standart satır yazıcısı varsayılanı yukarıda tanımlandığı gibidir. Diğer kontrol işlemleri kullanılabilir.


Kullanılacak Kontrol İşlemleri

OP Kodu

Hex Octal Anlam
00 000 Veri türü tanımlayıcısını değiştir
09 011 Hata veya başarısız sonlandırma
0A 012 Onay veya başarılı sonlandırma
0B 013 Append isteği (mevcut dosyaya ekle)
5A 132 Yazıcı kontrol ayarlarını değiştir

Veri Türü Kodları

Dosya Aktarım Protokolü’nün tüm veri türleri özel uygulamalar için kullanılabilir. Posta Kutusu 0 için varsayılan, Network ASCII karakterlerinden oluşan 8 bitlik baytlardır.


Hata Kodları

Dosya Aktarım Protokolü’nde tanımlanan tüm hata kodları döndürülebilir.


Yazıcı Kontrol Kodları

Hex Octal Anlam
01 321 Satır genişliğini 72 karakter olarak ayarla
02 322 Yazıcınızın tam genişliğini kullan
03 323 Sayfa boyutunu 66 satır olarak ayarla
04 324 Sayfa boyutunu sonsuz olarak ayarla

Gelecekte diğer sanal yazıcı kontrol kodları eklenebilir. Gereksinim ortaya çıktıkça diğer kontrol kodu sınıfları da eklenebilir.


Bu RFC, çevrimiçi RFC arşivlerine eklenmek üzere Ryan Kato tarafından makine tarafından okunabilir biçime dönüştürülmüştür, 6/01.