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

Ana Bilgisayar LL-67 için TELNET LOGGER/SERVER

Yazar
J. Winett
Kurum
Tarih
27 Şubat 1973
Durum
Network Working Group Yorum Talebi
Kanal
telnet/

Ağ Çalışma Grubu

Yorumlar için İstek: 466
NIC: 14740
Kategori: TELNET
Yazar: J. Winett
Ana Bilgisayar: LL-67
Tarih: 27 Şubat 1973

Ana Bilgisayar LL-67 için TELNET LOGGER/SERVER

Ekli doküman, Lincoln Laboratory 360/67 (ana bilgisayar 10) üzerindeki CP/CMS sistemi için TELNET LOGGER/SERVER’ı belgelemektedir. Bu tesis, hem yarı çift yönlü hem de tam çift yönlü TELNET kullanıcılarına, ASCII veya EBCDIC kodlarında veri ile hizmet verir.

hide-your-input ve noecho TELNET denetimlerinin kullanımı, oturum açma prosedürü sırasında EBCDIC yazdırma bastırma (bypass) ve yazdırma geri yükleme özellikleri için kullanılır. Yarı çift yönlü terminalleri desteklemek amacıyla, giriş istendiğinde TELNET denetimi break (ters break) bir giriş istemi olarak gönderilir. Bu kod ayrıca, satır sonu dizisi (CR-LF) olmadan gönderilmiş önceki bir satırın yazdırılması gerektiğini belirtmek için de kullanılabilir.

Bu materyal kamuya açık dağıtım için gözden geçirilmemiştir ve yalnızca ARPA ağı ile kullanım amacıyla hazırlanmıştır. ARPA ağıyla ilgili olmayan herhangi bir yayında alıntılanmamalı veya atıfta bulunulmamalıdır.


Lincoln Laboratory CP/CMS TELNET LOGGER/SERVER İşleyişi

ICP Bağlantısı

TELNET LOGGER/SERVER, bir çift bağlantı oluşturmak için ICP protokolünü izler. LOGGER başlangıçta X'00000001' soketi üzerinde bir bağlantı için etkinleştirilir. Bu soket için bir RFC alındığında, TELNET bağlantıları için bir soket çifti seçilir. Hizmet verilebilecek azami TELNET kullanıcı sayısı etkin durumdaysa, başlangıç bağlantısı reddedilir. Şu anda üç TELNET kullanıcısına hizmet verilebilmektedir.

TELNET LOGGER

ICP bağlantıları kurulduktan sonra, LOGGER işleminin ASCII mi yoksa EBCDIC karakter kodlarıyla mı yapılacağını belirtmek için bir TELNET veri türü kodu, ağ ASCII karakterlerinden oluşan bir dize ya da boş bir satır (yalnızca CR-LF) bekler. İlk alınan bayt TELNET EBCDIC veri türü kodu (X'A2') olmadığı sürece ASCII varsayılır.

Bir şey alındığında, aşağıdaki mesaj LOGGER tarafından iletilir:

Lincoln Laboratory CP/CMS Online

Örneğin, ASCII işlemi isteniyorsa, gönderme soketi üzerinden iletilen boş bir satır (yalnızca CR-LF) karşılama mesajının ASCII olarak gönderilmesine neden olur. Ardından CP oturum açma prosedürü başlayabilir.

İletişimin EBCDIC karakter kodlarıyla sürdürülmesi isteniyorsa, iletilen ilk bayt EBCDIC için TELNET veri türü kodu (X'A2') olmalıdır. Bundan sonra tüm iletişim, başlangıçta kullanılan kodla yapılacaktır.

CP oturum açma prosedürü, kullanıcının aşağıdakini girmesini bekler:

LOGIN userid

burada userid, istenen sanal makineyi belirtir. CP daha sonra şu yanıtı verir:

ENTER PASSWORD:

bunu, TELNET kodu hide-your-input ile eşlenen bypass (X'24') için EBCDIC kodu izler.

Kullanıcı daha sonra bir parola girmelidir. Ağ üzerinden girilen parolalar, yerel bir terminalden girilenlerden farklı olabilir. LOGGER, ağ parolalarını karşılık gelen bir CP parolasına eşler. Böylece, bir hesaba ağ üzerinden erişim yalnızca, bir ağ parolası ile birlikte bir CP parolası ve userid’nin, LOGGER tarafından okunan bir dosyaya girilmesi durumunda mümkün olur.

Ağdan girilen bir userid LOGGER FILE içinde yoksa (ya da ağ parolası, belirtilen userid için dosyada yer alan parolayla eşleşmiyorsa), LOGGER CP’ye geçersiz bir userid (veya parola) iletir. Geçersiz userid veya parola için CP yanıtı daha sonra ağ kullanıcısına gönderilir.

Bir parola CP tarafından alındıktan sonra, CP geri yükleme (X'14') için EBCDIC kodunu iletir; bu kod TELNET denetimi noecho ile eşlenir.

TELNET SERVER

CP/CMS sistemi EBCDIC kodlarıyla çalıştığından, ASCII kodlarının bir sanal makineye gönderilmeden önce EBCDIC’e çevrilmesi gerekir. Şekil 1, ASCII kodlarını ve bunların EBCDIC eşlemelerini verir. ASCII dizisi CR-LF alındığında, EBCDIC NL koduna eşlenir.

TELNET denetimi NOP bir giriş dizesine dahil edildiğinde, EBCDIC idle (X'17') koduna eşlenir ve ardından dizeden çıkarılır. Böylece, TELNET NOP kodları bir CR ile LF arasında yer alıyorsa, CR-LF EBCDIC NL’ye eşlenmeden önce bunlar çıkarılır.

TELNET denetimi hide-your-input, bypass (X'24') için EBCDIC koduna eşlenir ve TELNET denetimi echo, geri yükleme (X'14') için EBCDIC denetimine eşlenir. TELNET denetimi echo alınırsa, SERVER’ın noecho denetimini göndermesi gerekir; ancak bu özellik henüz uygulanmamıştır. Bunun yerine, TELNET denetimi echo, EBCDIC X'23' koduna eşlenir. TELNET break alındığında, bir dikkat sinyali olarak yorumlanır ve CP veya CMS tarafından uygun işlem yapılır.

CP/CMS satır-bazlı bir sistemdir ve tüm girdilerin NL kodu ile biten satırlardan oluşmasını bekler. Alınan karakterler, yeni satır kodu alınana kadar arabelleğe alınır.

CP/CMS aynı zamanda yarı çift yönlü bir sistem olduğundan, karakterler yalnızca sistem giriş beklediğinde incelenir. Sistem giriş beklemiyorsa, SERVER’ın alınan karakterleri işlemesini sağlamak için bir ağ kesmesi gerekir. Bir ağ kesmesi alındığında, TELNET veri işareti alınmadan önce alınan karakterler incelenir ve atılır; ancak bir TELNET break kodu bulunursa, uygun CP/CMS kesme işlemi tetiklenir.

Çıkışta, EBCDIC kodları bir eşleme varsa ağ ASCII’sine çevrilir; aksi halde kodlar TELNET denetimi NOP’a eşlenir. Bir NL kodu CR-LF’ye eşlenir. Bypass için EBCDIC kodu TELNET denetimi hide-your-input’a, geri yükleme için EBCDIC kodu TELNET denetimi noecho’a eşlenir. Ayrıca, X'23' kodu TELNET denetimi echo’ya ve X'38' kodu TELNET denetimi break’e eşlenir.

CP/CMS satır-bazlı, yarı çift yönlü bir sistem olduğundan, TELNET denetimi break hem mesaj sonu sinyali hem de bir giriş istemi kodu olarak iletilir. Karakterler bir NL olmadan çıktı verilmişse, mesaj sonu kodu olarak break, satır-bazlı kipte çalışan kullanıcı TELNET’ine, daha önce iletilen karakterlerin satır sonu dizisini beklemeden yazdırılması gerektiğini belirtir.

Kullanıcı TELNET’i de yarı çift yönlü kipte çalışıyorsa, giriş istemi olarak break, sistemin girişe hazır olduğunu gösterir. Giriş tam çift yönlü bir kullanıcı TELNET’i tarafından önceden tahmin edilip gönderilmişse, TELNET SERVER bu girdiyi anında işlemek üzere hazır bulundurur. Dolayısıyla, tam çift yönlü bir kullanıcı TELNET’i durumunda, istem olarak break yok sayılmalıdır.

CP/CMS yarı çift yönlü kipte çalışmasına rağmen, sistemin öncelikli bir çıkış mesajı iletmek için giriş kipini iptal etmesine olanak tanıyan ters break özelliğiyle yarı çift yönlü terminalleri destekler. Bu durumda TELNET SERVER bir TELNET SYNC iletir. Yarı çift yönlü bir kullanıcı TELNET’i bunu, giriş kipini iptal etmek, yani daha önce giriş istemi olarak yorumlanan bir TELNET break’i geri almak şeklinde yorumlamalıdır.

Çıkış karakter akışındaki hiçbir kod TELNET veri işaretinin iletilmesine neden olamaz.

ÇIKIŞ (LOGOUT)

Bir kullanıcı sanal makinesinden çıkış yaptığında, CP LOGGER’a hat bağlantısının kesilmesine eşdeğer bir bildirim iletir. LOGGER daha sonra TELNET gönderme ve alma soketlerini kapatır.


ASCII/EBCDIC Kod Eşlemeleri

Şekil 1

ASCII DEC ASCII OCT ASCII HEX SEMBOL EBCDIC HEX EBCDIC DEC
0 0 (00) NUL (00) 00
1 1 (01) SOH (01) 01
2 2 (02) STX (02) 02
3 3 (03) ETX (03) 03
4 4 (04) EOT (37) 55
5 5 (05) ENQ (2D) 45
6 6 (06) ACK (2E) 46
7 7 (07) BEL (2F) 47
8 10 (08) BS (16) 22
9 11 (09) HT (05) 05
10 12 (0A) LF (25) 37
11 13 (0B) VT (0B) 11
12 14 (0C) FF (0C) 12
13 15 (0D) CR (0D) 13
14 16 (0E) SO (0E) 14
15 17 (0F) SI (0F) 15
16 20 (10) DLE (10) 16
17 21 (11) DC1 (11) 17
18 22 (12) DC2 (12) 18
19 23 (13) DC3 (13) 19
20 24 (14) DC4 (3C) 60
21 25 (15) NAK (3D) 61
22 26 (16) SYN (32) 50
23 27 (17) ETB (26) 38
24 30 (18) CAN (18) 24
25 31 (19) EM (19) 25
26 32 (1A) SUB (3F) 63
27 33 (1B) CTL (27) 39
28 34 (1C) FS (1C) 28
29 35 (1D) GS (1D) 29
30 36 (1E) RS (1E) 30
31 37 (1F) US (1F) 31

Şekil 1 (Devamı)

ASCII DEC ASCII OCT ASCII HEX SEMBOL EBCDIC HEX EBCDIC DEC
32 40 (20) SP (40) 64
33 41 (21) ! (5A) 90
34 42 (22) " (7F) 127
35 43 (23) # (7B) 123
36 44 (24) $ (5B) 91
37 45 (25) % (6C) 108
38 46 (26) & (50) 80
39 47 (27) ' (7D) 124
40 50 (28) ( (4D) 77
41 51 (29) ) (5D) 93
42 52 (2A) * (5C) 92
43 53 (2B) + (4E) 78
44 54 (2C) , (6D) 109
45 55 (2D) - (60) 96
46 56 (2E) . (4B) 75
47 57 (2F) / (61) 97
48 60 (30) 0 (F0) 240
49 61 (31) 1 (F1) 241
50 62 (32) 2 (F2) 242
51 63 (33) 3 (F3) 243
52 64 (34) 4 (F4) 244
53 65 (35) 5 (F5) 245
54 66 (36) 6 (F6) 246
55 67 (37) 7 (F7) 247
56 70 (38) 8 (F8) 248
57 71 (39) 9 (F9) 249
58 72 (3A) : (7A) 122
59 73 (3B) ; (5E) 94
60 74 (3C) < (4C) 76
61 75 (3D) = (7E) 126
62 76 (3E) > (6E) 110
63 77 (3F) ? (6F) 111

Şekil 1 (Devamı)

ASCII DEC ASCII OCT ASCII HEX SEMBOL EBCDIC HEX EBCDIC DEC
64 100 (40) @ (7C) 124
65 101 (41) A (C1) 193
66 102 (42) B (C2) 194
67 103 (43) C (C3) 195
68 104 (44) D (C4) 196
69 105 (45) E (C5) 197
70 106 (46) F (C6) 198
71 107 (47) G (C7) 199
72 110 (48) H (C8) 200
73 111 (49) I (C9) 201
74 112 (4A) J (D1) 209
75 113 (4B) K (D2) 210
76 114 (4C) L (D3) 211
77 115 (4D) M (D4) 212
78 116 (4E) N (D5) 213
79 117 (4F) O (D6) 214
80 120 (50) P (D7) 215
81 121 (51) Q (D8) 216
82 122 (52) R (D9) 217
83 123 (53) S (E2) 226
84 124 (54) T (E3) 227
85 125 (55) U (E4) 228
86 126 (56) V (E5) 229
87 127 (57) W (E6) 230
88 130 (58) X (E7) 231
89 131 (59) Y (E8) 232
90 132 (5A) Z (E9) 233
91 133 (5B) [ (AD) 173
92 134 (5C) (4A) 74 (TERS EĞİK ÇİZGİ)
93 135 (5D) ] (BD) 189
94 136 (5E) ^ (71) 113 (ŞAPKA)
95 137 (5F) _ (6D) 109
ASCII DEC ASCII OCT ASCII HEX Karakter EBCDIC HEX EBCDIC DEC Notlar
96 140 (60) ` (79) 121 GRAVE
97 141 (61) a (81) 129
98 142 (62) b (82) 130
99 143 (63) c (83) 131
100 144 (64) d (84) 132
101 145 (65) e (85) 133
102 146 (66) f (86) 134
103 147 (67) g (87) 135
104 150 (68) h (88) 136
105 151 (69) i (89) 137
106 152 (6A) j (91) 145
107 153 (6B) k (92) 146
108 154 (6C) l (93) 147
109 155 (6D) m (94) 148
110 156 (6E) n (95) 149
111 157 (6F) o (96) 150
112 160 (70) p (97) 151
113 161 (71) q (98) 152
114 162 (72) r (99) 153
115 163 (73) s (A2) 162
116 164 (74) t (A3) 163
117 165 (75) u (A4) 164
118 166 (76) v (A5) 165
119 167 (77) w (A6) 166
120 170 (78) x (A7) 167
121 171 (79) y (A8) 168
122 172 (7A) z (A9) 169
123 173 (7B) { (8B) 139
124 174 (7C) | (4F) 79 BAR/OR
125 175 (7D) } (9B) 155
126 176 (7E) <eğik çubuk> (5F) 95 TILDE/NOT
127 177 (7F) DEL (07) 7

ASCII DEC ASCII OCT ASCII HEX TELNET DENETİMLERİ EBCDIC HEX EBCDIC DEC Notlar
128 100 (80) DATA-MARK (80) 128
129 101 (81) BREAK (38) 56
130 102 (82) NOP (17) 23 IDLE
131 103 (83) NOECHO (14) 20 RESTORE
132 104 (84) ECHO (23) 35
133 105 (85) HIDE-YOUR INPUT (24) 36 BYPASS

ASCII/EBCDIC Kod Eşlemeleri

Şekil 1 (Devamı)