POSTA AKTARIM PROTOKOLÜ: ISI TOPS20 GERÇEKLEŞTİRİMİ
Network Working Group: S. Sluizer, J. Postel
Request for Comments: 784
Organization: ISI
Date: Temmuz 1981
TOPS20 için MTP'nin bir gerçekleştirimini geliştiriyoruz. Programlar BLISS-10 dilinde yazılmıştır. Bu gerçekleştirim, hem TCP hem de NCP taşıma hizmetlerini kullanarak MTP kullanıcı ve sunucu işlevlerini destekler ve diğer posta teslim mekanizmalarına arayüzler sağlar.
Taşıma hizmetleri (NCP, TCP vb.), MTP gönderici ve MTP alıcı programları arasında iletişim kurmak için kullanılır. Bu iletişim yolları bu notun geri kalanında kanallar olarak adlandırılacaktır.
Çalışma modelimiz, posta kaynaklarının kullanıcı dizinlerinde posta dosyaları oluşturmasıdır. Posta kaynakları hem kullanıcı posta oluşturma programlarıdır (Hermes, MM, SNDMSG gibi) hem de çeşitli giriş kanallarından gelen postayı kabul eden sistem ağ posta alma programlarıdır. Posta dosyaları, postayı çeşitli çıkış kanallarına yönlendiren bir arka plan programı tarafından işlenir. Postayı hemen göndermek için (gerekli kanal mevcutsa) yönlendiricinin bir kullanıcı sürümü de bulunmaktadır.
MTP'nin çoklu alıcı özelliğinden yararlanmak için posta iki dosyadan oluşur. Birincisi, teslim bilgilerini ve ikinci dosyaya işaret eden bir göstergeyi içeren bir kontrol dosyasıdır. İkinci dosya ise teslim edilecek posta verisini (RFC 733 başlığı dahil) içerir.
İki dosya kullanılmasının nedeni, posta işlenirken kontrol bilgilerinin değiştirilmesi gerekmesidir; buna karşılık posta verisinin yalnızca okunması yeterlidir (her ne kadar dosya sonunda silinse veya yeniden adlandırılsa da). Örneğin, bir ileti farklı alıcılara farklı kanallar aracılığıyla gönderilebilir. Kanallardan biri mevcut değilse, kontrol dosyası değiştirilerek postanın gönderildiği alıcılar işaretlenmeli veya silinmeli ve henüz gönderilmemiş alıcılar için alıcı bilgileri korunmalıdır. Yönlendiricinin gelecekteki bir gerçekleştiriminde, çıkış kanalı kullanımını en uygun şekilde planlamak amacıyla kontrol bilgileri veri alanındaki bir ana tabloya taşınabilir.
Yönlendirici, her alıcıya postanın nasıl gönderileceğine karar verirken her ana makinenin aşağıdaki yollarla posta kabul etme yeteneğini gösteren bir tabloya başvurur:
- TCP üzerinde MTP
- NCP üzerinde MTP
- NCP üzerinde FTP (yani eski yöntem)
Ayrıca diğer durumlar için bir tablo da vardır (örneğin, İngiltere'deki ana makinelere UCL tarafından geliştirilmiş başka bir posta aktarım sistemi aracılığıyla teslim).
Sistemin Bileşenleri
Bu sistemin bireysel parçaları şunlardır:
- TCP için MTP alıcısı
- NCP için MTP alıcısı
- Yönlendirici
- TCP için MTP göndericisi
- NCP için MTP göndericisi
- Posta oluşturma programları (MM, HERMES, MSG, SNDMSG, ...)
- Kullanıcı posta kutusu dosyaları
- Bekleyen Posta dosyaları
- Diğer Posta kaynakları
- Diğer Posta alıcıları
- Ana makine Posta Yeteneği tablosu
- Ana makine özel işleme tabloları
1'den 5'e kadar olan bileşenleri geliştiriyoruz; başkalarının 6'yı bu sisteme uyarlamasını umuyoruz (MM'in bir sürümü ISI'de uyarlanmıştır), mevcut 7'yi kullanıyoruz, 8'i tanımlayıp kullanıyoruz, talep edildiği şekilde 9 ve 10 için arayüzler sağlıyoruz ve 11 ile 12'yi oluşturup kullanıyoruz.
Sistem Yapısı
+-----+ +-----+ +------+ +------+
| MTP | | MTP | | USER | |OTHER |
| TCP | | NCP | | MAIL | |MAIL |
| RCV | | RCV | | PGM | |SOURCE|
+-----+ +-----+ +------+ +------+
| | | |
| | | |
| | | |
v v v v
+----+ +----+ +----+ +----+
| | | | | | | |
Pending +----+ | +----+ | +----+ | +----+ |
Files | |-+ | |-+ | |-+ | |-+
| | | | | | | |
+----+ +----+ +----+ +----+
\ | | /
\ | | /
\ | | /
v v v v
+------------------+ TABLES
| | +----+
| DISPATCHER |<----->| |---+
| | | | |
+------------------+ +----+ |
/ / \ \ +----+
/ / \ \
/ / \ \
v v v v
+-----+ +-----+ +-------+ +-----+
| MTP | | MTP | | LOCAL | |OTHER|
| TCP | | NCP | |MAILBOX| |MAIL |
| SND | | SND | | FILES | |SINK |
+-----+ +-----+ +-------+ +-----+
Mevcut gerçekleştirimde yönlendiricinin ve MTP-on-TCP ile MTP-on-NCP için gönderici bileşenlerin tek bir program içinde birleştirildiğine dikkat edin.