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

Uzaktan Denetimli İletim ve Yankılama Telnet Seçeneği

Yazar
Kurum
Tarih
8 Mart 1977
Durum
Network Working Group Yorum Talebi
Kanal
telnet/

Uzaktan Denetimli İletim ve Yankılama Telnet Seçeneği

Network Working Group
Request for Comments: 726
NIC: 39237
Yazarlar: Jon Postel & Dave Crocker
Kurumlar: SRI-ARC, UC Irvine
Tarih: 8 Mart 1977


1. Komut Adı ve Kodu

RCTE — Kod 7


2. Komut Anlamları

IAC WILL RCTE

Bu komutu gönderen taraf, RCTE seçeneğini kullanmayı ister veya kabul eder ve karşı tarafın terminal yazıcısını denetlemek için yönergeler gönderecektir.

IAC WON'T RCTE

Bu seçeneği gönderen taraf, karşı tarafın terminal yazıcısını denetlemek için yönergeler göndermeyi reddeder.

IAC DO RCTE

Bu komutu gönderen taraf, diğer tarafın (WILL RCTE gönderenin), kendi (DO gönderenin) terminal yazıcısına giden çıktıyı denetleyecek komutlar vermesini ister veya kabul eder.

IAC DON'T RCTE

Bu komutu gönderen taraf, diğer tarafın kendi (DON'T gönderenin) terminal yazıcısını denetlemesine izin vermeyi reddeder.

IAC SB RCTE <cmd> [BC1 BC2] [TC1 TC2] IAC SE

Burada:

<cmd>

<cmd>, aşağıdaki bayraklara sahip tek bir 8 bitlik bayttır (bitler sağdan sayılır):

Bit Anlamı
0 0 = Bu bayttaki diğer tüm bitleri yok say ve gönderilmiş son <cmd>'yi yinele (yapmakta olduğun şeye devam et).
1 = Bu bayttaki diğer bitlerin belirttiği eylemleri uygula.
1 0 = Kesme karakterini yazdır (yankıla).
1 = Kesme karakterini atla (yankılama).
2 0 = Kesme karakterine kadar olan metni yazdır (yankıla).
1 = Kesme karakterine kadar olan metni atla (yankılama).
3 0 = Aynı kesme karakteri sınıflarını kullanmaya devam et.
1 = Bu baytı izleyen iki 8 bitlik bayt yeni kesme sınıfları için bayraklar içerir.
4 0 = Aynı iletim karakteri sınıflarını kullanmaya devam et.
1 = İletim sınıflarını, izleyen iki bayta göre sıfırla (kesme sınıflarının da sıfırlanıp sıfırlanmadığına bağlı olarak).

<cmd>'nin Ondalık Değerleri

Değer Anlamı
0 Yapmakta olduğun şeye devam et.
1 Kesme karakterine kadar ve dahil olmak üzere yazdır (yankıla).
3 Kesme karakterine kadar yazdır ve kesme karakterini atla.
5 Kesme karakterine kadar olan metni atla, ancak kesme karakterini yazdır.
7 Kesme karakterine kadar ve dahil olmak üzere atla.

Sıfırdan büyük olan çift sayılar hatalıdır ve sıfır olarak yorumlanmalıdır. <cmd> sıfırdan büyük bir çift sayı olduğunda, TC1 & TC2 ve/veya BC1 & BC2 sınıf baytları gönderilmemelidir.

Baytın toplam ondalık değerini elde etmek için, yukarıdaki sıfır olmayan değerlerden birine aşağıdaki değerlerden birini ekleyin (sınıfların, yazdırma eylemi de sıfırlanmadan sıfırlanamayacağını unutmayın):

Değer Anlamı
8 Sonraki iki baytı (BC1 BC2) kullanarak kesme sınıflarını ayarla.
16 Sonraki iki baytı (TC1 TC2) kullanarak iletim sınıflarını ayarla.
24 Kesme sınıflarını (BC1 BC2) ve iletim sınıflarını (TC1 TC2) ayarla.

Alt komutlar (IAC SB RCTE ...) yalnızca denetleyici ana makine tarafından gönderilir ve işlevsel olarak Telnet Go-Ahead (IAC GA) özelliğinin yerini alır. RCTE ayrıca Telnet Echo (IAC ECHO) seçeneğinin de işlevsel olarak yerini alır. RCTE seçeneği kullanımdayken Suppress Go-Ahead seçeneği etkin olmalı ve Echo seçeneği etkin olmamalıdır. RCTE seçeneğinin kullanımı sonlandırıldığında, yankılama modu varsayılan duruma geri dönmelidir: DON'T ECHO, WON'T ECHO.

Kesme ve İletim Sınıfları

İkinci baytın (TC2 veya BC2) en sağdaki biti sınıf 1'i; birinci baytın (TC1 veya BC1) en soldaki biti sınıf 16'yı (şu anda tanımlanmamış) temsil eder.

Sınıf Açıklama
1 Büyük harfler (A–Z)
2 Küçük harfler (a–z)
3 Sayılar (0–9)
4 Biçimlendirme etkileyicileri (<BS> <CR> <LF> <FF> <HT> <VT>)
5 <DEL> ve <ESC> dahil, biçimlendirme etkisi olmayan denetim karakterleri
6 . , ; : ? !
7 { [ ( < > ) ] }
8 `' " / \ % @ $ & # + - * = ^ _
9 <Space>

<CR><LF> dizisi, Telnet satır sonu olarak işlendiğinde tek bir karakter sayılır ve sınıf 4 ayarlıysa tek bir kesme karakteridir. <CR><NUL> dizisi tek bir karakter sayılır ve yalnızca <CR> bir kesme karakteriyse kesme karakteridir.

Kullanıcı tarafından gönderilen Telnet komutları (IAC ...) her zaman kesme karakteri olarak ele alınır; IAC IAC dizisi bunun dışındadır.

Yazdırma Gösterimi

Görünür karakterler (sınıflar 1, 2, 3, 6, 7 ve 8) bariz gösterimleriyle görüntülenir. Boşluk (sınıf 9) boş bir alanla temsil edilir. Biçimlendirme etkileyicileri (sınıf 4) biçimlendirme etkilerini üretir. Biçimlendirme etkisi olmayan denetimler (sınıf 5) hiçbir şey yazdırmaz.

Başlangıçta, hiçbir kesme sınıfı veya iletim sınıfı etkin değildir.

Bir Telnet alt komut bağımsız değişken baytında (TC2 veya BC2 gibi) tüm bitler ayarlıysa, bu bayttan önce bir <IAC> bayrağı gelmelidir.

Alt komutlar (IAC SB RCTE ...) kesme sıfırlama komutları olarak adlandırılır.


3. Varsayılan

WON'T RCTE — DON'T RCTE

Hiçbir ana makine, diğer ana makinenin terminal yazıcısı üzerinde özel bir denetim iddia etmez.


4. Seçeneğin Gerekçesi

RFC 1, 5 ve 51 ağ ve süreç verimliliğini ve akıcılığını tartışmaktadır.

John Davidson tarafından yazılan RFC 357, uzak bir kullanıcının bir uydu bağlantısı üzerinden tam çift yönlü bir ana makineye erişmesi durumunda ortaya çıkan yankılama gecikmesi sorununu ortaya koyar. Sunucunun tam yanıt verebilirliğini ve temiz terminal çıktısını korurken, yankılanan her karakter için iletim süresinden tasarruf etmek amacıyla ağ için bir yankı denetim şeması önerilmektedir.

Bu belgede tanımlanan seçenek, kullanan ana makinenin, uzak (hizmet veren) ana makineden gelen açık yönergelere göre yerel terminal yazıcısını dikkatlice düzenlemesini içerir.

Ek bir konu da verimli ağ iletimidir. Davidson yankılama şemasının uygulanması, sunucudan kullanıcıya yapılan yankılamanın neredeyse tamamını ortadan kaldırır.

Bu seçenek ayrıca, kullanan ana makinelerden terminal girdisini, kesme veya iletim karakterleriyle sınırlandırılmış, yararlı bir birim oluşana kadar arabelleğe almalarını ister. Bu, kullanıcıdan sunucuya gönderilen iletilerin sayısını azaltır.

Not: Bu seçenek yalnızca tam çift yönlü ana makineler için tasarlanmıştır. Yarı çift yönlü sunucular için Go-Ahead Telnet özelliği yeterlidir. RCTE, Echo Telnet seçeneğinin yerine kullanılmalı ve Suppress Go-Ahead etkin olmalıdır.


5. Denetim Mekanizmasının Açık Tanımı

Kullanıcı Terminali Yazdırma Eylemi ve Denetim Prosedürü

RCTE seçeneğinin kullanımı için anlaşma yapılır. Etkin hale geldiğinde, kullanıcı Telnet'i aşağıdaki prosedürü izler:

  1. Ağdan bir öğe oku.

    • Eğer veri ise, yazdır ve 1. adıma dön.
    • Eğer bir komutsa, sınıfları ayarla ve 2. adıma git.
  2. Terminal girdi arabelleği boşsa, 3. adıma git; aksi halde 4. adıma git.

  3. Terminalden veya ağdan bir öğe bekle.

    • Terminalden gelirse, 4. adıma git.
    • Ağdan veri gelirse, yazdır ve 3. adımı yinele.
    • Ağdan bir komut gelirse, bir hata oluşmuştur.
  4. Terminal girdi arabelleğinden bir öğe oku.

    • Eğer bir kesme değilse, yazdır veya atla ve 2. adıma dön.
    • Eğer bir kesmeyse, yazdır veya atla ve 1. adıma dön.

Not: Sunucu ana makineden gelen çıktı herhangi bir zamanda ortaya çıkabilir; bu tür kendiliğinden oluşan çıktı 3. adımda yazdırılır.

Açıklama

Her iki ana makine de RCTE seçeneğini kullanmayı kabul eder. Kullanan ana makine (IAC DO RCTE), denetleyici ana makinenin komutlarına göre hareket eder ve seçeneğin kullanımına izin vermeyi durdurmaya karar vermedikçe (IAC DON'T RCTE göndererek) RCTE komutları göndermez.

Kullanan ana makine, sunucudan bir komut alana kadar terminal yankı yazdırmasını askıya alarak sunucu ile eşzamanlı çalışır.

Sunucu terminal çıktısı, komutlar veya her ikisini birden gönderebilir. Çıktı, kullanıcı girdisine yanıt olarak veya kendiliğinden olabilir.

RCTE komutları, kesme sınıflarını, iletim sınıflarını, kesme karakterleri üzerindeki eylemleri ve metin üzerindeki eylemleri yeniden tanımlayabilir; bunların her biri <cmd> baytındaki bağımsız bitlerle denetlenir.

Bir iletim karakteri, kullanan ana makinenin, oluştuğu ana kadar ve dahil olmak üzere birikmiş tüm metni iletmesini ÖNERİR. (Ağ verimliliği açısından, kullanan ana makinelerin, karakter yazıldığı anda tanımlı olduğu şekliyle bir iletim karakterinin oluşumundan önce gönderim yapmaktan KAÇINMALARI önerilir; ancak bu yasak değildir.)

İletim sınıfları biti (bit 4) AÇIK ise, kesme sınıfları için ayrılan iki baytı izleyen iki bayt (veya kesme sınıfları biti açık değilse doğrudan <cmd> baytını izleyen baytlar) hangi sınıfların etkinleştirileceğini belirtir.

Bit KAPALI ise, iletim sınıfları değişmeden kalır. RCTE seçeneği ilk başlatıldığında, HİÇBİR SINIF etkin değildir. Yani hiçbir karakter iletim karakteri olarak kabul edilmez. (TC1 ve TC2'nin her ikisinin de sıfır olması durumu gibi.)

Bir kesme karakteri, kullanan ana makinenin, oluştuğu ana kadar ve dahil olmak üzere birikmiş tüm metni iletmesini GEREKTİRİR ve ayrıca kullanan ana makinenin, kullanıcı girdi metni üzerindeki yazdırma/atlama eylemini, hizmet veren ana makineden gelecek başka bir IAC SB RCTE <cmd> IAC SE komutu ile aksi belirtilene kadar durdurmasına neden olur. Bu nedenle kesme karakterleri yazdırma birimlerini tanımlar. Bu belgede kullanılan “kesme karakteri” terimi, Telnet Break karakteri anlamına GELMEZ.

Kesme sınıfları biti (bit 3) AÇIK ise, <cmd>'yi izleyen iki bayt hangi sınıfların etkinleştirileceğini belirtir. Şu anda dokuz (9) sınıf tanımlıdır ve genişlemeye yer vardır.

Bit KAPALI ise, kesme sınıfları değişmeden kalır. RCTE seçeneği başlatıldığında, HİÇBİR SINIF etkin değildir. Yani, sunucudan kullanıcıya ilk kesme sıfırlama komutu alınana kadar, kullanıcıdan sunucuya doğru hiçbir iletim gerçekleşmez.

Kesme ve iletim sınıflarını tanımlamak için kullanılan karakter sınıflarının listesi, bu belgenin sonunda, Tablolar Bölümünde verilmiştir.

Kesme karakterleri özel olduğu için, üzerlerinde uygulanacak yazdırma/atlama eylemi her zaman girdinin geri kalanına uygulanacak eylemle aynı değildir.

Örneğin, TENEX'e bir dosya adı yazarken, dosya adının metninin yazdırılmasını (yankılanmasını) isterim; ancak (ad tamamlama özelliğini kullanıyorsam) <escape> karakterinin yazdırılmasını istemem.

Bit 1 AÇIK ise, kesme karakteri yazdırılmamalıdır.

Ayrı bir bit (bit 2), metnin kendisinin terminale yazdırılıp yazdırılmayacağını (yankılanıp yankılanmayacağını) belirtir. Bit 2 = 0 ise, metin yazdırılacaktır.

Bir başka bit (bit 0 — en sağdaki bit), komutun diğer bitlerinden herhangi birinin denetlenip denetlenmeyeceğini belirtir. Bu bit KAPALI ise, komut “aynı kesme ve iletim sınıflarını kullanarak, izlemekte olduğun yankılama stratejisine devam et” anlamında yorumlanmalıdır.

Algoritma

  1. Kullanıcı Telnet'i şimdi terminal girdi arabelleğini denetler; eğer veri içeriyorsa 4. adımda işlenir, aksi halde kullanıcı Telnet'i 3. adımda daha fazla gelişme için bekler.

  2. Kullanıcı Telnet'i, ya insan kullanıcının bir miktar veri girmesini (bu durumda Telnet 4. adıma geçer) ya da ağdan bir öğe alınmasını bekler. Ağdan gelen öğe veri ise, bu kendiliğinden çıktıdır ve yazdırılır; Telnet daha sonra beklemeye devam eder. Ağdan gelen öğe bir komutsa, bir hata oluşmuştur. Bu durumda kullanıcı Telnet'i, aşağıda belirtildiği gibi RCTE kullanımını yeniden eşzamanlamaya çalışabilir.

  3. Terminalden gelen öğeler, en son kesme sıfırlama komutunun ayarlarına göre denetlenen yazdırma ile işlenir. Bir kesme karakteri işlendiğinde, denetim döngüsü tamamlanır ve eylem 1. adımda yeniden başlar.

Terminalden gelen girdi (umut edilir ki) bir iletim veya kesme karakteriyle sonlanan birimler halinde arabelleğe alınır; ve bir kesme karakterinin oluşmasından sonra, hizmet veren ana makineden bir kesme sıfırlama komutu alınana kadar girdi metninin yankılanması askıya alınır. En son kesme sıfırlama komutu, kesme eylemlerini belirler.

Özetle, gereken şey, kullanıcıdan sunucuya doğru gönderilen her kesme karakteri için, sunucudan kullanıcıya doğru bir kesme sıfırlama komutunun gönderilmesidir. Kullanıcı ana makine başlangıçta hangi karakterlerin kesme karakteri olduğu konusunda bilgiye sahip değildir ve bu nedenle kesme karakteri olmadığı ve yankılama sağlanmayacağı varsayımıyla bir durumda başlar. Sunucu ana makinenin, kullanıcıdan herhangi bir veri almadan önce kesme sınıflarını ve yankılama modunu belirlemek için bir kesme sıfırlama komutu göndermesi beklenir.

Eşzamanlama ve Yeniden Eşzamanlama

Hizmet veren ve kullanan ana makineler, kesme sıfırlama komutlarını kesme karakterlerinin iletimiyle dikkatlice eşzamanlamalıdır. Etkileşimin başlangıcı dışında, hizmet veren ana makine yalnızca, kullanan ana makinenin o anda tanımlı olduğu şekliyle bir kesme karakteri göndermesine yanıt olarak bir kesme sıfırlama komutu gönderebilir. Bu, aralarında bire bir bir eşleşme kurmalıdır. (Bu bağlamda <cmd> değeri sıfır ise, daha öncekiyle aynı sınıf(lar)a bir kesme sınıfları sıfırlaması olarak yorumlanır.) Kesme sıfırlama komutundan önce terminal çıktısı gönderilebilir.

Kesme karakterleri ile kesme sıfırlama komutlarının yeniden eşzamanlanması, sunucudan kullanıcıya doğru Telnet sinyali Abort Output (AO) ve kullanıcıdan sunucuya doğru SYNCH değişimi yoluyla yapılır.

Sunucunun kesme karakterlerini ve kesme sıfırlama komutlarını yeniden eşzamanlamak istediğini varsayalım.

Kullanıcının kesme karakterlerini ve kesme sıfırlama komutlarını yeniden eşzamanlamak istediğini varsayalım.

Notlar ve Yorumlar

Sıfırdan büyük olan çift numaralı komutlar hatalıdır; çünkü en düşük anlamlı bit kapalı olacaktır. Komut, sıfıra eşitmiş gibi yorumlanmalıdır; bu da herhangi bir sınıf sıfırlama baytının ([TC1 TC2] [BC1 BC2]) hatalı olacağı anlamına gelir. (Komutun sonundaki IAC SE, bu hatadan kaynaklanabilecek ayrıştırma sorunlarını ortadan kaldırır.)

Hizmet veren ana makineler genellikle, kullanan ana makineleri kesme karakterlerini yankılamamaları konusunda yönlendirecektir; her ne kadar çoğu kesme karakterini yankılamak kabul edilebilir olsa da. Örneğin, <cr> genellikle yankılanması güvenli bir karakterdir, ancak <esc> değildir. TENEX Exec, dosya adı belirtimi sırasında her ikisini de kabul etmeye isteklidir. Bu nedenle, kullanan ana makineye hiçbir kesme karakterini yankılamaması talimatı verilmelidir.

Bu genellikle katlanılabilir bir sorundur; çünkü hizmet veren ana bilgisayarın bu noktada zaten bir RCTE komutu göndermesi gerekir. Mesaja kesme karakteri için bir yankı eklemek, ek bir ağ trafiğine neden olmaz.

RCTE Seçeneği oldukça büyük bir ek yük içerir. Gerçek bir karakter-karaktere durumunda bu ek yük haklı değildir. Ancak ortalama olarak, hem ağ trafiğinde hem de ana bilgisayarın uyanma sayısında önemli tasarruflar sağlaması beklenir.

Arabellekleme Sorunları ve İletim ile Yazdırma Kısıtları

Zorunlu HİÇBİR iletim kısıtı yoktur. Kullanan ana bilgisayar, her seferinde bir karakter göndermeye izinlidir; ancak bu, RCTE’nin boşa harcanması olur. İletim sınıfları komutları KILAVUZLARdır; bu nedenle, kullanıcının arabelleği dolduğunda olduğu gibi, bunlardan sapılmasına izin verilir.

Ayrıca, kullanan ana bilgisayar, bunun bir kesme sınıfı karakteri olduğunu bilmeden de bir kesme sınıfı karakteri gönderebilir (önden yazımda olduğu gibi).

Kullanıcı uygulaması yeterince akıllıysa, kullanıcı tarafından girilen verileri gerçekten ihtiyaç duyulmadan önce sunucuya gönderebilir. Bu tür önden yazım verileri kesme karakterleri içerebilir.

Yalnızca boşluğun bir kesme karakteri olduğunu varsayalım (yani, belirtilen son kesme sıfırlama komutu, kesme karakterlerine kadar ve onları da içerecek şekilde yazdırmayı belirtmiş ve kesme sınıflarını sınıf 9 olarak ayarlamıştır). Kullanıcının "abc<space>def<esc>ghi<cr>" yazdığını varsayalım. Kullanıcı tarafındaki RCTE bunun tamamını sunucuya gönderebilir, ancak yalnızca "abc<space>" yazdırabilir ve en azından sunucudan bir kesme sıfırlama komutu alınana kadar "def<esc>ghi<cr>" kısmını arabellekte tutmak zorunda kalır. Bu kesme sıfırlama komutu kesme sınıflarını değiştirebilir ve bu da arabellekte tutulan dizgenin yeniden taranmasını gerektirir.

Örneğin, kesme sıfırlama komutunun kesme karakterlerini sınıf 5 olarak ayarladığını ve eylemin kesme karakterine kadar, ancak onu hariç tutarak yazdırmak olduğunu varsayalım. Kullanıcı RCTE’si bu durumda "def" yazdırabilir ve <esc> karakterini atabilir, ancak "ghi<cr>" kısmını arabellekte tutmaya devam etmek zorundadır.

Arabellekleme ile ilgili sorun, kullanıcı terminalinde yazdırmanın, kullanıcının geçerli bir kesme karakteri yazmasından sonra ve hizmet veren ana bilgisayardan bir kesme sıfırlama komutu alınana kadar askıya alınması gerektiğinde ortaya çıkar. Bu süre boyunca kullanıcı neşeyle yazmaya devam edebilir. Yazılan metin GÖNDERİLEBİLİR, ancak henüz YAZDIRILMAYABİLİR.

Hizmet veren ana bilgisayardan bir ana bilgisayarlar arası tahsis beklenirken iletim arabelleğinin dolması gibi daha yaygın bir sorun da ortaya çıkabilir; ancak bu sorun uygulayıcılar tarafından iyi bilinir ve RCTE’ye özgü değildir.

Her durumda, arabellek dolduğunda ve kullanıcının yazdığı daha fazla metin kaybolacaksa, kullanıcı bilgilendirilmelidir (örneğin terminal zilinin çalınmasıyla).

Metin, kullanıcının, karakterin yazıldığı anda geçerli olan iletim sınıfına ait bir karakter yazmasına kadar, kullanan ana bilgisayar tarafından arabellekte tutulmalıdır.

İletim sınıfı sıfırlama komutları hizmet veren ana bilgisayar tarafından herhangi bir zamanda gönderilebilir. Eğer bunlar kesme sınıfı sıfırlama komutlarından bağımsız olarak sık sık gönderiliyorsa, muhtemelen RCTE’den çıkıp normal karakter-karaktere iletime geçmek daha iyi olacaktır.

Kullanan ana bilgisayarın ne yapması gerektiği hemen açık değildir

Uzaktan Denetimli İletim ve Yankılama Telnet Seçeneği

İletim Sınıfları Sıfırlamasında Arabelleklenmiş Metnin Ele Alınması

Bir iletim sınıfları sıfırlama komutu alındığında, halihazırda arabellekte bulunan metinle ne yapılacağı. Arabellekleme, önceki iletim sınıfları şemasına göredir.

Kullanan ana bilgisayarın, yeni şemaya göre bir iletim karakteri yazılana kadar basitçe beklememesi gerektiği açıktır.

Ya arabellekteki metin yeni şemaya göre yeniden taranmalıdır;

Ya da arabellekteki metin bir grup olarak doğrudan gönderilmelidir. Bu daha basit yaklaşımdır ve muhtemelen yeterince uygundur.

Telnet komutları (IAC ...) dışında KESME KARAKTERİ YOK şeklinde bir tanım yapmak mümkündür. Bu istenmeyen bir durumdur ve yapılmamalıdır.

Bu durum ortaya çıkacak olursa, kullanan ana bilgisayar, sunucunun kesme sınıflarını ne zaman sıfırlayabileceğini bilmesini sağlamak için bir Telnet komutu göndermelidir; ancak mekanizma hantaldır ve bu durumdan kaçınılmalıdır.

6. Örnek Etkileşim

Köşeli parantezler ([]) içindeki metinler açıklamadır.

Köşeli ayraçlar (<>) içindeki metinler tek bir birim olarak alınmalıdır. Örneğin, satır başı dönüşü <cr>’dir ve ondalık değeri 27 olan karakter <27> olarak gösterilir.

Aşağıdaki etkileşim, bir Tenex’e giriş yapılmasını, DED düzenleyicisinin başlatılmasını, bazı metinlerin eklenmesini ve Exec düzeyine geri dönülmesini göstermektedir.

Ağ G/Ç’sinin eşzamansızlığı ile kullanıcının terminal girdisinin bir miktar hissini vermeye çalışılmıştır. Aşağıda listelenen aynı eylem kümesini kullanarak, başka birçok olası birleşim kurgulanabilir. Olayların gerçek sırası, ağın ve ana bilgisayarların yüküne ve kullanıcının yazma hızına bağlı olacaktır.

Kullanıcının Telnet’inin ayrıca bir "satır sonu ekle" kipinde olduğunu varsayıyoruz. Yani, kullanıcı her satır başı dönüşü <cr> yazdığında, kullanıcı Telnet’i hem satır başı dönüşünü hem de satır beslemeyi <cr><lf> (Telnet satır sonu sinyali) gönderir.

Örnek açıklamada bir satırın sonunda bir boşluk karakteri geçtiğinde, karışıklığı önlemek için açıkça <sp> ile gösterilir. Okunabilirliği bozmamak için boşluk karakterinin diğer kullanımları bu şekilde işaretlenmez.

Bir Telnet bağlantısı zaten açılmıştır, ancak TENEX istemi henüz gönderilmemiştir. Ana bilgisayarlar önce RCTE seçeneğini kullanmayı tartışırlar:

S: <IAC><WILL><RCTE>

U: <IAC><DO><RCTE>

S: TENEX 1.31.18, TENEX EXEC 1.50.2<cr><lf>@
   <IAC><SB><RCTE><11><1><24><IAC><SE>

[Karşılama metnini yazdır ve girdiyi bir kesme karakterine kadar yankıla, ancak kesme karakterini yankılama. Sınıf 4 (Biçim Etkileyiciler), 5 (Biçim Etkileyici Olmayan Denetimler ve <DEL>), ve 9 (<sp>) kesme karakterleri olarak davranır.]

P: TENEX 1.31.18, TENEX EXEC 1.50.2<cr><lf>@

T: LOGIN ARPA<cr>

P: LOGIN

U: LOGIN<sp>

U: ARPA<cr><lf>

S: <sp><IAC><SB><RCTE><0><IAC><SE>

P: <sp>ARPA

S: <cr><lf>(PASSWORD): <IAC><SB><RCTE><7><IAC><SE>

P: <cr><lf>(PASSWORD):<sp>

T: WASHINGTON 1000<cr>

[Parola "WASHINGTON" yankılanmaz. 1000<cr> yazdırılması tutulur.]

U: WASHINGTON<sp>

U: 1000<cr><lf>

S: <sp><IAC><SB><RCTE><3><IAC><SE>

S: <cr><lf>JOB 17 ON TTY41 7-JUN-73 14:13<cr><lf>@
   <IAC><SB><RCTE><0><IAC><SE>

P: <sp>1000

[Bu noktada yazdırma yavaştır; bu nedenle hesap numarası, sunucunun bunun için gönderdiği komut alınır alınmaz yazdırılmaz.]

P: <cr><lf>JOB 17 ON TTY41 7-JUN-73 14:13<cr><lf>@

T: DED<esc><cr>

P: DED

U: DED<esc>

S: .SAV;1<IAC><SB><RCTE><0><IAC><SE>

P: .SAV;1

U: <cr><lf>

S: <cr><lf><lf>DED    3/14/73 DRO,KRK<cr><lf>:
   <IAC><SB><RCTE><15><1><IAC><255><IAC><SE>

[Program başlatılır ve DED istemi : gönderilir. Komut düzeyinde, DED her karaktere yanıt verir. Sunucu kesme sınıflarını tüm sınıflar olarak ayarlar.]

P: <cr><lf><lf>DED    3/14/73 DRO,KRK<cr><lf>:

T: IThis is a test line.<cr>This is another test
   line.<^Z>Q

[I Metin Ekle anlamına gelir. Metin, bir Control-Z ile sonlandırılır. Q, DED’e çıkmasını söyler.]

U: I

U: This is a test line.<cr><lf>

S: I<cr><lf>*<IAC><SB><RCTE><11><0><24><IAC><SE>

[DED, metin girişi sırasında, her satırın başında bir yıldız ile kullanıcıya istem verir. Sunucu kesme sınıflarını sınıf 4 ve 5 olarak, yani biçim etkileyiciler ve biçim etkileyici olmayan denetimler olarak ayarlar.]

P: I<cr><lf>*This is a test line.

S: <cr><lf>*<IAC><SB><RCTE><0><IAC><SE>

P: <cr><lf>*This is another test line.

U: This is another test line.<^Z>

U: Q

[Q’nun terminalde hemen yazdırılmayacağına dikkat edin; çünkü yetkilendirme beklemesi gerekir.]

S: ^Z<cr><lf>:<IAC><SB><RCTE><15><1><IAC><255><IAC><SE>

[Geri dönen ^Z iki karakterdir; ASCII Control-Z veya <sub> değildir.]

S: Q<cr><lf>@<IAC><SB><RCTE><11><1><24><IAC><SE>

P: Q<cr><lf>@

Ve kullanıcı Exec düzeyine geri döner.