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

POSTA GEÇİŞ PLANI

Yazar
Kurum
Tarih
Eylül 1980
Durum
Network Working Group Yorum Talebi
Kanal
mail/

POSTA GEÇİŞ PLANI

Network Working Group
V. Cerf (ARPA)
J. Postel (ISI)
Request for Comments: 771
Eylül 1980

ÖNSÖZ

Bu bir taslak nottur ve yorumlar talep edilmektedir.

GİRİŞ

Posta hizmeti geçiş planının temel amacı, eski ARPANET protokollerinden yeni Internet protokollerine geçiş süresi boyunca bilgisayar posta hizmetinin düzenli biçimde desteklenmesini sağlamaktır.

Bu plan yalnızca ARPANET ortamındaki mevcut metin tabanlı bilgisayar postasından Internet ortamındaki metin tabanlı bilgisayar postasına geçişi kapsar. Bu plan, yalnızca metin içeren postadan çoklu ortam postasına ikinci bir geçişi ele almaz [10,11].

Amaç, ARPANET ortamında mevcut olan hizmete eşdeğer veya daha iyi bir hizmeti yeni Internet ortamında sağlamaktır. Her iki protokol ortamının da kullanımda olduğu ara dönemde hedef, kullanıcılar ve mevcut yazılımlar üzerindeki etkiyi en aza indirmek ve aynı zamanda mümkün olan en yüksek posta alışverişi bağlantısını sağlamaktır.

Kullanıcının hem ARPANET hem de Internet protokol ortamlarına aşina olduğu varsayılmaktadır [1–8]. Internet protokolleri, ARPANET, Packet Radio ağları, Satellite ağları ve yerel ağlar (örneğin Ethernets, Ring ağları) dahil olmak üzere çeşitli ağ koleksiyonlarında kullanılmak üzere tasarlanmıştır; ARPANET protokolleri ise doğal olarak ARPANET ile sınırlıdır.

Internet protokol ortamı, ana bilgisayardan ana bilgisayara taşıma protokolü olarak TCP’yi belirtir. ARPANET protokol ortamı ise ana bilgisayardan ana bilgisayara taşıma protokolü olarak NCP’yi belirtir. Hem TCP hem de NCP, süreçten sürece bağlantı türünde iletişim sağlar. Geçiş sürecindeki sorun, bu iki farklı süreçler arası iletişim sistemini birbirine bağlamaktır.

Bu planın amacı, ARPANET bilgisayar posta hizmetlerinin geçiş sırasında kullanıcılar için kesintiye yol açacak değişiklikler olmadan Internet sistemine nasıl genişletilebileceğini belirlemektir.

POSTA HİZMETİ MODELİ

Burada ele alınan bilgisayar posta sistemi modeli, posta oluşturma ve okuma işlevlerini posta taşıma işlevlerinden ayırır. Aşağıdaki tartışma kaçınılmaz biçimde TOPS20 odaklı olacaktır. Diğer sistemlerin kullanıcılarından özür dileriz, ancak soyut kalmaya çalışmak yerine bildiğimiz örnekleri tartışmanın daha iyi olduğunu düşünüyoruz.

ARPANET posta hizmetinde, oluşturma ve okuma işlemleri HERMES, MSG, MM gibi kullanıcı programlarıyla yapılırken, posta iletimi MAILER (gönderme) ve FTPSRV (alma) gibi sistem programları tarafından gerçekleştirilir.

ARPANET posta hizmetinin bir unsuru, her posta kaynağının her posta hedefiyle doğrudan süreçler arası iletişim bağlantısına (NCP’ler aracılığıyla) sahip olabileceği varsayımıdır. (Bazı durumlarda özel işlem ve posta yönlendirme bu varsayımı ihlal eder.)

Posta kutusu adları MAILBOX@HOST biçimindedir ve MAILBOX’un o ana bilgisayarda bulunan bir hedef posta kutusu olduğu varsayılır.

İletiler aslında File Transfer Protocol hükümlerine göre iletilir. Posta, ya kontrol bağlantısı (MAIL komutu) aracılığıyla ya da veri bağlantısı (MLFL komutu) aracılığıyla gönderilebilir. Her iki durumda da bağımsız değişken yalnızca posta kutusunu belirtir çünkü hedef ana bilgisayarın iletimi alan ana bilgisayar olduğu varsayılır.

Örneğin: USC-ISIF’teki Postel’den USC-ISIA’daki Cerf’e gönderilen iletiler, ISIA’ya Cerf bağımsız değişkeniyle ulaşır fakat ana bilgisayar hakkında herhangi bir gösterim içermez.

BİLEŞİK VE ALTERNATİF ADLAR

Posta kutuları mailbox@host biçimindedir; burada mailbox genellikle Postel gibi bir ad ve host ise USC-ISIF gibi bir ana bilgisayar tanımlayıcısıdır. Bazı durumlarda ana bilgisayarın aşağıdaki gibi bileşik bir ad olmasına izin vermek yararlı olacaktır:

ve hatta bir kuruluşun adı:

Tek kısıtlama, hedef adresteki mailbox veya host dizgelerinin hiçbirinde @ karakterinin bulunmamasıdır.

İletiyi gerçekten göndermek için mailer programı, host dizgesini iletinin gönderileceği fiziksel adrese dönüştürmelidir. Bu ad‑adres dönüşümü genellikle adı bir tabloda arayarak ve o tablo girdisinin başka bir alanında bulunan fiziksel adresi bularak yapılır. Bu da tüm bileşik ve kuruluş adlarının (ve diğer tüm alternatif adların veya eşanlamlıların) host tablosunda bulunması gerektiği anlamına gelir.

GİZLİ ANA BİLGİSAYARLAR

Bazen hedef adresin posta kutusu bölümü bileşik bir addır ve aslında o ana bilgisayarda bulunmayan, bunun yerine standart olmayan bir şekilde bu ana bilgisayara bağlı başka bir ana bilgisayardaki bir posta kutusu kümesini işaretlemek için kullanılır.

Bilgisayar postası kullanıcıları için iletilere yanıtların posta işleme programlarının otomatik yardımıyla kolayca oluşturulabilmesi önemlidir. Bu yeteneği korumak için, bir ana bilgisayarın gönderdiği her iletide adresin ana bilgisayar bölümü kendisi olduğunda, adresin posta kutusu bölümünü anlaması önemlidir.

Yani her iletide, her başlık alanında, her m@h adresinde, h ana bilgisayarı m değerlerinin tümünü anlamalıdır. Bu nedenle bir ana bilgisayar bir ileti hazırlarken başlıkta görünen tüm adresleri kontrol etmeli ve ana bilgisayar bölümü kendisi olan her adres için posta kutusu bölümünü doğrulamalıdır.

GEÇİŞ PLANI

Geçiş için temel kurallar şunlardır:

  1. ARPANET posta kutusu adları doğru şekilde çalışmaya devam etmelidir.
  2. Yanıt oluşturmak ve benzeri işlemler için ileti başlıklarını ayrıştıran posta düzenleyici yazılımında herhangi bir değişiklik gerekmemelidir. Özellikle, ARPANET dışı posta kutusu tanımlayıcıları posta işleme programlarının ayrıştırma ve denetleme mekanizmalarında değişiklik yapılmadan desteklenmelidir.
  3. NCP ve TCP ortamları arasında kullanıcı (veya operatör) müdahalesi olmadan iletilerin otomatik yönlendirilmesi.

NCP ve TCP ana bilgisayarları arasında ileti alışverişi için, hem TCP hem de NCP uygulayan birkaç ana bilgisayarda bir posta aktarma hizmeti sağlanacaktır. Bunlar, Telnet veya FTP sunucularıyla iletişim kurmak için kullanılan soket veya portların bilinen olmasıyla aynı anlamda “iyi bilinen” olacaktır.

Bu aktarma sunucularını kullanabilmek için mailer programlarında değişiklikler yapılacaktır. Mailer programı, iletinin hedef adresine sahip olduğu süreçler arası iletişim sistemi (TCP veya NCP veya her ikisi) üzerinden doğrudan ulaşılıp ulaşılamayacağını veya postanın aktarılması gerekip gerekmediğini belirlemekten sorumlu olacaktır. Posta aktarılmak zorundaysa mailer bir aktarma sunucusu seçmeli ve iletiyi ona iletmelidir.

Mailer’ın vermesi gereken kararın temeli genişletilmiş bir host adı tablosudur. Host adlarını fiziksel adreslere çeviren bir tablo olacaktır. Bu tablodaki fiziksel adresler 32 bitlik Internet adresleri olacaktır. (Bu, yalnızca NCP kullanan ana bilgisayarlar için bile mantıklıdır; çünkü 1 Ocak 1981’den sonra onların bile 24 bit ARPANET fiziksel adresleri gerektiren 96 bit lider formatını kullanmaları gerekir.) Bu tablodaki her girdide ayrıca bazı bayrak bitleri bulunacaktır.

Bayrak bitleri, bu girdideki ana bilgisayarın aşağıdakilerden hangisi olduğunu gösterecek bilgileri içerecektir:

  1. “eski tablolar” kullanan bir NCP ana bilgisayarı,
  2. “yeni tablolar” kullanan bir NCP ana bilgisayarı,
  3. bir TCP ana bilgisayarı veya
  4. başka tür bir ana bilgisayar.

Tüm TCP ana bilgisayarlarının “yeni tablolar”a sahip olduğu varsayılır. “Eski tablolar” bu bayrak bitlerini içermeyen tablolardır; “yeni tablolar” ise bu bayrakları içerir.

Aktarma sunucularına sahip ana bilgisayarların adreslerini listelemek için ayrı bir tablo yararlı olabilir.

Bir ileti bir aktarma sunucusuna gönderildiğinde, kontrol bilgisi (posta aktarım komutunun bağımsız değişkeninde) hedef ana bilgisayar tanımlayıcısını içerecek şekilde genişletilmelidir.

Aktarma sunucusu, hedef posta kutusunun gerçekten erişilebilir olduğunu bilmeden iletileri aktarmak üzere kabul edebilir. Bu da daha sonra hedef posta kutusunun mevcut olmadığını (veya başka bir durumun posta teslimini engellediğini) fark edebileceği anlamına gelir. Hatayı kaynak kullanıcıya bildirebilmek için, kaynak kullanıcının posta kutusu (mailbox@host) posta aktarım komutunun bağımsız değişkenine dahil edilmelidir. Bağımsız değişken kaynak kullanıcının adresini içermiyorsa hata yanıtı gönderilmeye çalışılmaz.

Kendisi de bir ileti olan hata raporu, sonsuz bir hata raporu zinciri oluşma olasılığını önlemek için komut bağımsız değişkeninde bir gönderen adresi taşımaz (ancak başlıkta bir gönderen adresi bulunur).

Kaynak ana bilgisayar, posta aktarma sunucusu tarafından kabul edildiğinde postanın başarıyla teslim edildiğini varsayacağından, hata durumuna karşı sakladığı yedek kopyaları siler. Bu nedenle aktarma sunucusu, gönderene ilettiği herhangi bir hata raporuna iletinin tamamını eklemelidir.

Aktarma sunucusu bir iletiyi kabul etmeden önce bağımsız değişkendeki adresleri ayrıştırmalıdır. İletiyi yerel olarak teslim etmeyi veya hem aktarmayı hem de yanıt göndermeyi (kaynak adres mevcutsa) nasıl yapacağını anlamıyorsa iletiyi kabul etmemelidir.

İletim prosedüründe yeterli sayıda farklılık bulunduğundan, aktarma sunucusu file transfer protocol’den ayrı, farklı bir posta aktarım protokolü kullanacaktır.

POSTA AKTARIM PROTOKOLÜ

Aktarma sunucusu ve tüm TCP ana bilgisayarları tarafından kullanılacak posta aktarım protokolü referans [9]’da belgelenmiştir.

BAĞLANTI

Posta alışverişinin dokuz durumu vardır; üçe üç matris şu şekildedir:

  1. eski tablolara sahip NCP ana bilgisayarları
  2. yeni tablolara sahip NCP ana bilgisayarları
  3. TCP ana bilgisayarları

Ayrıca iki aktarım mekanizması vardır: file transfer ve mail transfer. Köşegen durum basittir — her ana bilgisayar türü kendi türündeki diğer ana bilgisayarlarla posta alışverişi yapabilir. Diğer durumlar daha karmaşıktır.

Eski tabloya sahip bir NCP ana bilgisayarının 32 bit fiziksel adresler içeren fakat bayrak bitleri bulunmayan bir tabloya sahip olduğu varsayılır. NCP ve file transfer vardır. Ayrı bir posta aktarım protokolü yoktur.

Yeni tabloya sahip bir NCP ana bilgisayarının 32 bit fiziksel adresler ve bayrak bitleri içeren bir tabloya sahip olduğu varsayılır. NCP ve file transfer vardır. Ayrıca yeni ayrı posta aktarımı da vardır.

Bir TCP ana bilgisayarının 32 bit fiziksel adresler ve bayrak bitleri içeren bir tabloya sahip olduğu varsayılır. Yeni ayrı posta aktarımını kullanır. Muhtemelen file transfer da vardır, fakat posta için kullanmaz.

1. Eski tablo NCP → Eski tablo NCP

Bu aktarım doğrudandır ve eski mekanizmaları kullanır — NCP ve file transfer.

2. Yeni tablo NCP → Eski tablo NCP

Bu aktarım doğrudandır ve eski mekanizmaları kullanır — NCP ve file transfer.

3. TCP → Eski tablo NCP

Bu aktarım bir aktarma sunucusu kullanmalıdır. İlk aktarım (TCP ana bilgisayarından aktarma sunucusuna) TCP ve posta aktarım protokolü aracılığıyla yapılır. İkinci aktarım (aktarma sunucusundan eski tablo NCP’ye) NCP ve file transfer protocol aracılığıyla yapılır.

4. Eski tablo NCP → Yeni tablo NCP

Bu aktarım doğrudandır ve eski mekanizmaları kullanır — NCP ve file transfer.

5. Yeni tablo NCP → Yeni tablo NCP

Bu aktarım NCP ve posta aktarım protokolü ile yapılır; yani eski süreçler arası iletişim sistemi ve yeni posta iletim düzeni birlikte kullanılır.

6. TCP → Yeni tablo NCP

Bu aktarım bir aktarma sunucusu kullanmalıdır. İlk aktarım (TCP ana bilgisayarından aktarma sunucusuna) TCP ve posta aktarım protokolü aracılığıyla yapılır. İkinci aktarım (aktarma sunucusundan yeni tablo NCP’ye) NCP ve posta aktarım protokolü aracılığıyla yapılır.

7. Eski tablo NCP → TCP

Bu aktarım özel bir aktarma sunucusu kullanmalıdır. İlk aktarım (eski tablo NCP’den aktarma sunucusuna) NCP ve file transfer protocol aracılığıyla yapılır. İkinci aktarım (aktarma sunucusundan TCP ana bilgisayarına) TCP ve posta aktarım protokolü aracılığıyla yapılır.

Bu aktarma sunucusu özel olmalıdır çünkü eski tablo NCP ana bilgisayarından gelen iletiler komut bağımsız değişkeninde hedef ana bilgisayar bilgisini içermeyecektir. Bu aktarma sunucusu, kayıtlı TCP kullanıcı posta kutularının ve bunlara karşılık gelen TCP ana bilgisayar tanımlayıcılarının bir listesine sahip olmalıdır. Böyle bir kayıt potansiyel olarak büyük ve sık değişen bir yapı olabileceğinden (ve daha fazla TCP ana bilgisayarı ortaya çıktıkça büyüyeceğinden) kayıt defterindeki posta kutularını sınırlamak gerekli olacaktır.

8. Yeni tablo NCP → TCP

Bu aktarım bir aktarma sunucusu kullanmalıdır. İlk aktarım (yeni tablo NCP’den aktarma sunucusuna) NCP ve posta aktarım protokolü aracılığıyla yapılır. İkinci aktarım (aktarma sunucusundan TCP ana bilgisayarına) TCP ve posta aktarım protokolü aracılığıyla yapılır.

9. TCP → TCP

Bu aktarım doğrudandır ve yeni mekanizmaları kullanır — TCP ve posta aktarım protokolü.

Genel olarak mümkün olduğunda yeni prosedürler kullanılacaktır.

ÇOKLU ALICILAR

Gönderilen postaların önemli bir kısmı birden fazla alıcıya yöneliktir. Böyle çok alıcılı postaların hem eski file transfer protocol [12] hem de yeni mail transfer protocol [9] içinde mevcut olan çoklu alıcı tekniği kullanılarak aktarılması iletim ve işleme maliyetlerini önemli ölçüde azaltacaktır.

Aktarma sunucuları iletileri gönderirken mümkün olduğunda çoklu alıcı komutlarını kullanmaya çalışacak ve iletileri alırken de bu komutları kabul edecektir.

OLUŞTURMA VE OKUMA PROGRAMLARI

Posta oluşturma ve okuma programları üzerindeki etki en az düzeydedir. Eğer bu programlar host tanımlayıcılarını tanımak, tamamlamak veya doğrulamak için bir tablo kullanıyorsa, yeni tabloyu kullanacak şekilde değiştirilmelidir.

Kullanıcının iletilere yanıt verebilmesine yardımcı olmak için başlık alanlarındaki (TO:, CC:, vb.) tüm adreslerin hem posta kutusu hem de ana bilgisayar bölümlerini içerecek şekilde eksiksiz olması önemlidir. Bazı durumlarda daha önce bu gerekli değildi çünkü ana bilgisayar bölümü olmayan adreslerin kaynak ana bilgisayara yerel olduğu varsayılabiliyordu ve gönderen ana bilgisayar alıcı ana bilgisayar tarafından kaydediliyordu. İletiler doğrudan gönderildiğinde kaynak ana bilgisayar aynı zamanda gönderen ana bilgisayardı; ancak iletiler aktarıldığında kaynak ana bilgisayar hedef ana bilgisayara postayı gönderen ana bilgisayar olmayacaktır.

KAYNAKLAR

[1] Cerf, V., "Internetworking için Catenet Modeli," IEN 48, DARPA/IPTO, Temmuz 1978.

[2] Postel, J., "Internet Protocol," RFC 760, USC/Information Sciences Institute, NTIS ADA079730, Ocak 1980.

[3] Postel, J., "Transmission Control Protocol," RFC 761, USC/Information Sciences Institute, NTIS ADA082609, Ocak 1980.

[4] Postel, J., "Telnet Protocol Specification," RFC 764, USC/Information Sciences Institute, Haziran 1980.

[4] Postel, J., "File Transfer Protocol," RFC 765, USC/Information Sciences Institute, Haziran 1980.

[5] Postel, J., "Assigned Numbers," USC/Information Sciences Institute, RFC 762, Ocak 1980.

[6] Postel, J., "Internet Protocol Handbook," USC/Information Sciences Institute, RFC 766, Temmuz 1980.

[7] Feinler, E. ve J. Postel, "ARPANET Protocol Handbook," NIC 7104, Network Information Center, SRI International, Ocak 1978.

[8] Crocker, D., J. Vittal, K. Pogran ve D. Henderson, "ARPA Network Text Messages Biçimi için Standartlar," RFC 733 7104, Network Information Center, SRI International, Kasım 1977.

[9] Sluizer, S. ve J. Postel, "Mail Transfer Protocol," USC/Information Sciences Institute, RFC rrr, Eylül 1980.

[10] Postel, J., "Internet Message Protocol," USC/Information Sciences Institute, RFC 759, Ağustos 1980.

[11] Postel, J., "Çoklu Ortam Belgelerinin İletimi için Yapılandırılmış Bir Biçim," USC/Information Sciences Institute, RFC 767, Ağustos 1980.

[12] Harrenstien, K., "FTP Uzantısı: XRSQ/XRCP," SRI International, RFC 743, Aralık 1977.