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ı)