← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 727 · telnet

TELNET Oturum Kapatma Seçeneği

Yazar
Kurum
Tarih
27 Nisan 1977
Durum
Network Working Group Yorum Talebi
Kanal
telnet/

TELNET Oturum Kapatma Seçeneği

Network Working Group — Mark Crispin
Request for Comments: 727 — MIT-AI
NIC 40025
27 Nisan 1977


1. Komut adı ve kodu.

LOGOUT
Kod: 18

2. Komut anlamları.

IAC WILL LOGOUT

Bu komutun göndericisi, kendi ucundaki kullanıcı sürecini zorla oturumdan çıkarmak için izin TALEP EDER ya da bunu yapacağını ONAYLAR.

IAC WON'T LOGOUT

Bu komutun göndericisi, kendi ucundaki kullanıcı sürecini zorla oturumdan çıkarmayı REDDEDER.

IAC DO LOGOUT

Bu komutun göndericisi, alıcının kendi ucundaki kullanıcı sürecini zorla oturumdan çıkarmasını TALEP EDER ya da alıcının bunu yapması için izni olduğunu ONAYLAR.

IAC DON'T LOGOUT

Bu komutun göndericisi, alıcının kendi ucundaki kullanıcı sürecini zorla oturumdan çıkarmamasını TALEP EDER.

3. Varsayılan.

yani, sunucunun kullanıcı sürecinin zorla oturumdan çıkarılması yoktur.

4. Seçenek için gerekçe.

Çoğu zaman kontrolden çıkmış bir kullanıcı süreci, normal yollarla kesilemeyecek bir duruma kilitlenmiş olabilir. Buna karşılık, sistemin kendisi darboğaza girmiş olabilir ve yanıt gecikmeleri tahammül edilemez hale gelebilir. Bir kullanıcı (insan ya da başka türden) sonunda hayal kırıklığı nedeniyle zaman aşımına uğrayacak ve kilitlenmiş süreçten kurtulmak için bağlantıyı kapatma gibi radikal bir yola başvuracaktır. Bazı durumlarda, oturumu kapatma gibi basit bir işlem bile uzun sürebilir.

Bazı sistemler, bir bağlantının kapatılmasını, altındaki kullanıcı sürecinin oturumdan çıkarılması gerektiği anlamında ele alır. Ancak birçok ana bilgisayar, bir kullanıcı ya da geçici bir donanım hatası nedeniyle oluşan kazara bir kapatmanın, o iş üzerinde yapılan tüm çalışmaların kaybolmasına yol açmaması için süreci yalnızca "ayırır"; bağlantı yeniden kurulduğunda kullanıcı sürecine yeniden "bağlanabilir". Bu koruma çoğu zaman değerli olmakla birlikte, kullanıcı ana bilgisayardan tamamen vazgeçiyorsa, bu durum kilitlenmiş işin sistemi yüklemeye devam etmesine neden olabilir.

Bu seçenek, bir sürecin sunucuya, sunucu ucundaki kullanıcı sürecinin ayrılmak yerine zorla oturumdan çıkarılması gerektiğini bildirmesine olanak tanır. Bu seçeneğin ikincil bir kullanımı, sunucunun, hareketsizlik nedeniyle kullanıcı sürecinin yakında otomatik olarak oturumdan çıkarılacağı konusunda uyarı vermesi olabilir.

5. Seçeneğin açıklaması.

Bir kullanıcı, artık sunucu ana bilgisayarındaki sürecini istemediğine ve ana bilgisayarın normal oturum kapatma protokolünün tamamlanmasını beklemek istemediğine karar verdiğinde IAC DO LOGOUT gönderir. Komutu alan taraf IAC WILL LOGOUT ile yanıt verebilir; bu durumda kendi ucundaki kullanıcı sürecini zorla oturumdan çıkarır. Eğer IAC WON'T LOGOUT ile yanıt verirse, bu, kendi ucundaki kullanıcı sürecini oturumdan çıkarmadığını gösterir ve bağlantı koparsa, süreç büyük olasılıkla ayrılmış durumda kalır.

Gerçekten sabırsız bir kullanıcı, sunucudan derhal ayrılması gerektiğini düşünüyorsa IAC DO LOGOUT gönderdikten sonra bağlantıyı kapatabilir. En kötü durumda sunucu yalnızca isteği yok sayar ve kullanıcı sürecini ayırır. LOGOUT seçeneğini uygulayan bir sunucu, ani bir bağlantı kapatılması ve LOGOUT isteğinin doğrulanamaması durumunda bile kullanıcı sürecini oturumdan çıkarması gerektiğini bilmelidir.

6. Seçeneğin örnek bir uygulaması.

Sunucu, LOGOUT seçeneğini hem LOGOUT isteklerini kabul etmek hem de otomatik oturum kapatma uyarısı için uygular.

Durum 1:

Kullanıcı sunucuya bağlanır ve sunucuyla etkileşime başlar. Herhangi bir nedenle kullanıcı, sunucuyla etkileşimi sonlandırmak ister ve normal oturum kapatma prosedüründen geçmek istemez ya da belki de normal oturum kapatma prosedüründen geçememektedir. Artık sunucudaki süreci istemez, bu nedenle IAC DO LOGOUT gönderir. Sunucu isteği IAC WILL LOGOUT ile doğrular ve ardından kullanıcı sürecini zorla oturumdan çıkarır (belki de başka bir sürecin oturumdan çıkarılmasına neden olan bir sistem çağrısı kullanarak). Kullanıcı kapatmadıkça ya da kendisi kapatmak istemedikçe bağlantıyı kapatmak zorunda değildir. Ayrıca, kullanıcının onayı aldığını beklemez—oturum kapatmayı hemen başlatır; böylece kullanıcı bu arada onayı beklemeden bağlantıyı kapatmış olsa bile, oturum kapatma isteği yine de yerine getirilir.

Durum 2:

Kullanıcı sunucuya bağlanır ve oturum açtıktan sonra bir süre boşta kalır; bu süre sunucunun otomatik oturum kapatma zamanına yaklaşacak kadar uzundur. Sunucu, otomatik oturum kapatmadan kısa bir süre önce IAC WILL LOGOUT gönderir; kullanıcı bunu görür ve IAC DON'T LOGOUT göndererek ana bilgisayarda çalışmaya devam eder. Hareketsizlik sürerse sunucunun kullanıcı sürecini oturumdan çıkarmasına hiçbir şey engel değildir; bu mekanizma, kötü niyetli bir kullanıcının, IAC WILL LOGOUT gördüğü her seferde IAC DON'T LOGOUT gönderip başka hiçbir şey yapmayarak sunucu ana bilgisayarındaki bir süreci kilitlemesini önlemek için kullanılabilir.