Remote execution and distributed computing
Salah satu mekanisme paling mendasar yang digunakan
pada komputer berjejaring adalah kemampuan untuk menjalankan sistem remote.
Artinya, pengguna ingin memanggil aplikasi pada mesin remote. Sejumlah protokol
aplikasi ada untuk memungkinkan kemampuan eksekusi jarak jauh ini, terutama
protokol Telnet. Bab ini membahas beberapa protokol ini. Selain itu, kita membahas
konsep komputasi terdistribusi.
1. Telnet
Telnet adalah protokol
standar dengan nomor STD 8. Statusnya direkomendasikan. Hal ini dijelaskan
dalam Spesifikasi Protokol RFC 854 - Telnet dan Spesifikasi Opsi Telnet RFC 855
- Telnet.
Protokol Telnet menyediakan
antarmuka standar, melalui mana sebuah program pada satu host (klien Telnet)
dapat mengakses sumber daya dari host lain (server Telnet) seolah-olah klien
adalah terminal lokal yang terhubung ke server. Lihat Gambar 13-1 untuk lebih
jelasnya.

Figure
13-1 Telnet operation
1.1 Operasi telnet
Protokol Telnet didasarkan pada tiga gagasan:
Konsep
Network Virtual Terminal (NVT). NVT adalah perangkat imajiner dengan struktur
dasar yang umum digunakan untuk berbagai terminal real. Setiap host memetakan
karakteristik terminalnya sendiri dengan NVT dan mengasumsikan bahwa setiap
host lain akan melakukan hal yang sama.
Pandangan simetris tentang terminal dan proses.
Negosiasi
opsi terminal. Prinsip pilihan yang dinegosiasikan digunakan oleh protokol
Telnet, karena banyak host ingin memberikan layanan tambahan, selain yang
tersedia dengan NVT. Berbagai pilihan bisa dinegosiasikan. Server dan klien
menggunakan seperangkat konvensi untuk menetapkan karakteristik operasional
koneksi Telnet mereka melalui mekanisme "DO, DONT, WILL, WONT" yang
akan dibahas kemudian dalam bab ini.
Kedua tuan rumah mulai dengan memverifikasi saling
pengertian mereka. Setelah negosiasi awal ini selesai, mereka mampu bekerja
pada tingkat minimum yang diterapkan oleh NVT. Setelah pemahaman minimum ini
tercapai, mereka dapat menegosiasikan pilihan tambahan untuk memperluas
kemampuan NVT untuk lebih mencerminkan kemampuan perangkat keras sebenarnya
yang digunakan. Karena model simetris yang digunakan oleh Telnet (lihat Gambar
13-2), maka tuan rumah dan klien dapat mengajukan opsi tambahan untuk
digunakan.

Figure 13-2
Telnet negotiations
1.2 Network Virtual Terminal
NVT memiliki printer (atau layar) dan keyboard.
Keyboard menghasilkan data keluar, yang dikirim melalui koneksi Telnet. Printer
menerima data yang masuk. Karakteristik dasar NVT, kecuali jika dimodifikasi
dengan pilihan yang disepakati bersama, adalah:
·
Representasi data
adalah 7-bit ASCII yang ditransmisikan dalam byte 8-bit.
·
NVT adalah
perangkat half-duplex yang beroperasi dalam mode line-buffered.
·
NVT menyediakan
fungsi gema lokal.
Semua ini bisa dinegosiasikan oleh dua host. Misalnya,
gema lokal lebih disukai karena beban jaringan dan kinerja superior yang lebih
rendah, namun ada opsi untuk menggunakan echo jarak jauh (lihat Gambar 13-3),
walaupun tidak ada host yang diharuskan menggunakannya.

Printer NVT memiliki lebar dan panjang halaman yang
tidak ditentukan. Ini dapat menangani karakter ASCII yang dapat dicetak (kode
ASCII 32 sampai 126) dan memahami beberapa karakter kontrol ASCII, seperti yang
ditunjukkan pada Tabel 13-1.
|
Command
|
ASCII
|
Action
|
|
NULL
(NUL)
|
0
|
No
operation.
|
|
Line
feed (LF)
|
10
|
Moves
printer to next line, keeping the same horizontal position.
|
|
Carriage
return (CR)
|
13
|
Moves
the printer to the next left margin.
|
|
BELL
(BEL)
|
7
|
Produces
and audible or visible signal.
|
|
Backspace
(BS)
|
8
|
Moves
print head one character position towards the left margin.
|
|
Command
|
ASCII
|
Action
|
|
Horizontal
tab (HT)
|
9
|
Moves
print head to the next horizontal tab stop.
|
|
Vertical
tab (VT)
|
11
|
Moves
printer to next vertical tab stop.
|
|
Form
feed (FF)
|
12
|
Moves
to top of next page, keeping the same horizontal position.
|
1.3 Telnet options
Ada pilihan telnet yang luas, dan pembaca harus
berkonsultasi dengan STD 1 - Standar Protokol Internet Resmi untuk status dan
status standarisasi untuk masing-masingnya. Pada saat penulisan, pilihan
berikut didefinisikan (Tabel 13-2).
Table 13-2 Telnet options
|
Number
|
Name
|
State
|
RFC
|
STD
|
|
0
|
Binary
transmission
|
Standard
|
856
|
27
|
|
1
|
Echo
|
Standard
|
857
|
28
|
|
3
|
Suppress
Go Ahead
|
Standard
|
858
|
29
|
|
5
|
Status
|
Standard
|
859
|
30
|
|
6
|
Timing
mark
|
Standard
|
860
|
31
|
|
255
|
Extended
options list
|
Standard
|
861
|
32
|
|
34
|
Linemode
|
Draft
|
1184
|
|
|
2
|
Reconnection
|
Proposed
|
|
|
|
4
|
Approximate,
message size negotiation
|
Proposed
|
|
|
|
7
|
Remote
controlled trans and echo
|
Proposed
|
726
|
|
|
8
|
Output
line width
|
Proposed
|
|
|
|
9
|
Output
page size
|
Proposed
|
|
|
|
10
|
Output
carriage-return disposition
|
Proposed
|
652
|
|
|
11
|
Output
horizontal tab stops
|
Proposed
|
653
|
|
|
Number
|
Name
|
State
|
RFC
|
STD
|
|
12
|
Output
horizontal tab disposition
|
Proposed
|
654
|
|
|
13
|
Output
form feed disposition
|
Proposed
|
655
|
|
|
14
|
Output
vertical tab stops
|
Proposed
|
656
|
|
|
15
|
Output
vertical tab disposition
|
Proposed
|
657
|
|
|
16
|
Output
line feed disposition
|
Proposed
|
658
|
|
|
17
|
Extended
ASCII
|
Proposed
|
698
|
|
|
18
|
Logout
|
Proposed
|
727
|
|
|
19
|
Byte
macro
|
Proposed
|
735
|
|
|
20
|
Data
entry terminal
|
Proposed
|
1043
|
|
|
21
|
SUPDUP
|
Proposed
|
736
|
|
|
22
|
SUPDUP
output
|
Proposed
|
749
|
|
|
23
|
Send
location
|
Proposed
|
779
|
|
|
24
|
Terminal
type
|
Proposed
|
1091
|
|
|
25
|
End
of record
|
Proposed
|
885
|
|
|
26
|
TACACS
user identification
|
Proposed
|
927
|
|
|
27
|
Output
marking
|
Proposed
|
933
|
|
|
28
|
Terminal
location number
|
Proposed
|
946
|
|
|
29
|
Telnet
3270 regime
|
Proposed
|
1041
|
|
|
30
|
X.3
PAD
|
Proposed
|
1053
|
|
|
31
|
Negotiate
window size
|
Proposed
|
1073
|
|
|
32
|
Terminal
speed
|
Proposed
|
1079
|
|
|
33
|
Remote
flow control
|
Proposed
|
1372
|
|
|
35
|
X
Display location
|
Proposed
|
1096
|
|
|
39
|
Telnet
environment option
|
Proposed
|
1572
|
|
|
40
|
TN3270
enhancements
|
Proposed
|
1647
|
|
|
37
|
Telnet
authentication option
|
Experimental
|
1416
|
|
|
Number
|
Name
|
State
|
RFC
|
STD
|
|
41
|
Telnet
xauth
|
Experimental
|
|
|
|
42
|
Telnet
charset
|
Experimental
|
2066
|
|
|
43
|
Telnet
remote serial port
|
Experimental
|
|
|
|
44
|
Telnet
com port control
|
Experimental
|
2217
|
|
Layar penuh Telnet dimungkinkan asalkan klien dan
server memiliki kemampuan layar penuh yang kompatibel. Sebagai contoh, VM dan
MVS menyediakan server berkemampuan TN3270. Untuk menggunakan fasilitas ini,
klien Telnet harus mendukung TN3270.
1.4 Struktur perintah Telnet
Komunikasi antara client dan server ditangani dengan
perintah internal, yang tidak dapat diakses oleh pengguna. Semua perintah
Telnet internal terdiri dari urutan 2 atau 3 byte, tergantung pada tipe
perintah.
Karakter Interpret As Command (IAC) diikuti oleh kode
perintah. Jika perintah ini berkaitan dengan negosiasi pilihan, perintah
tersebut akan memiliki byte ketiga untuk menunjukkan kode tersebut untuk opsi
yang direferensikan. Lihat Gambar 13-4 untuk lebih jelasnya.

Figure 13-4
Telnet: Internal Telnet command proposes negotiation about terminal type
Table 13-3 shows some of the
possible command codes.
Table 13-3 Command codes
|
Command
|
Code
|
Comments
|
|
SE
|
240
|
End
of sub-negotiation parameters.
|
|
NOP
|
241
|
No
operation.
|
|
Data
Mark
|
242
|
The
data stream portion of a sync. This must always be accompanied by a TCP
urgent notification.
|
|
Break
|
243
|
NVT character BRK.
|
|
Go
Ahead
|
249
|
The
GA signal.
|
|
SB
|
250
|
Start of sub-negotiation of option
indicated by the immediately following code.
|
|
Command
|
Code
|
Comments
|
|
WILL
|
251
|
Shows desire to use, or confirmation of
using, the option indicated by the code immediately following.
|
|
WONT
|
252
|
Shows
refusal to use or continue to use the option.
|
|
DO
|
253
|
Requests that other party uses, or
confirms that you are expecting the other party to use, the option indicated
by the code immediately following.
|
|
DONT
|
254
|
Demands that the other party stop using,
or confirms that you are no longer expecting the other party to use, the
option indicated by the code immediately following.
|
|
IAC
|
255
|
Interpret As command. Indicates
that what follows is a Telnet command, not data.
|
1.5 Option negotiation
Dengan menggunakan perintah internal, Telnet mampu
menegosiasikan pilihan di masing-masing host. Dasar awal negosiasi adalah
kemampuan NVT: Setiap host yang terhubung harus menyetujui minimum ini. Setiap
pilihan dapat dinegosiasikan dengan penggunaan empat kode perintah AKAN, WONT,
DO, dan DONT. Selain itu, beberapa opsi memiliki sub-subpos: Jika kedua belah
pihak menyetujui pilihan tersebut, mereka menggunakan perintah SB dan SE untuk
mengelola sub-negosiasi. Tabel 13-4 menunjukkan contoh sederhana tentang
bagaimana cara kerja negosiasi opsi.
Table 13-4 Option negotiation
|
Send
|
Reply
|
Meaning
|
|
DO
transmit binary
|
WILL
transmit binary
|
|
|
DO
window size
|
WILL
window size
|
Can
we negotiate window size?
|
|
SB
Window size 0 80 0 24
SE
|
|
Specify
window size.
|
|
DO
terminal type
|
WILL
terminal type
|
Can
we negotiate terminal type?
|
|
SB
terminal type SE
|
|
Send
me your terminal characteristics.
|
|
Send
|
Reply
|
Meaning
|
|
|
SB
terminal type
IBM=3278-2
SE
|
My
terminal is a 3278-2.
|
|
DO
echo
|
WONT echo
|
|
The terminal types are
defined in STD 2 – Assigned Numbers.
Comments
Post a Comment