version 1.2, 2000/01/23 00:41:08 |
version 1.6, 2000/09/09 21:59:13 |
|
|
%% $OpenXM: OpenXM/doc/OpenXM-specs/start-session.tex,v 1.1.1.1 2000/01/20 08:52:46 noro Exp $ |
%% $OpenXM: OpenXM/doc/OpenXM-specs/start-session.tex,v 1.5 2000/09/08 18:57:50 takayama Exp $ |
//&jp \section{TCP/IP でのセッションのスタート} |
//&jp \section{TCP/IP でのセッションのスタート} |
//&eg \section{How to start a session on TCP/IP} |
//&eg \section{How to start a session on TCP/IP} |
|
|
Line 46 with a descriptor can be done by {\tt fdopen()}. |
|
Line 46 with a descriptor can be done by {\tt fdopen()}. |
|
*/ |
*/ |
/*&eg |
/*&eg |
Though there need several socket operations to establish a |
Though there need several socket operations to establish a |
connetion over TCP/IP, servers do not have any functionality for |
connection over TCP/IP, servers do not have any functionality for |
connection establishment. |
connection establishment. |
An application called {\it launcher} is provided to start servers |
An application called {\it launcher} is provided to start servers |
and to establish connections as follows. |
and to establish connections as follows. |
Line 69 acts as a control server and controls the server proce |
|
Line 69 acts as a control server and controls the server proce |
|
itself. |
itself. |
*/ |
*/ |
|
|
//&jp \subsection{byte order の決定} |
//&jp \subsection{byte order の決定} \label{subsection:byteorder} |
//&eg \subsection{Negotiation of the byte order} |
//&eg \subsection{Negotiation of the byte order} \label{subsection:byteorder} |
/*&jp |
/*&jp |
コントロールプロセス, 計算プロセス |
コントロールプロセス, 計算プロセス |
ともに, 起動直後に |
ともに, 起動直後に |
Line 98 Network byte order しか実装していないシステムでは, |
|
Line 98 Network byte order しか実装していないシステムでは, |
|
おおきなボトルネックとなることがあることを了解しておくべきである. |
おおきなボトルネックとなることがあることを了解しておくべきである. |
*/ |
*/ |
/*&eg |
/*&eg |
A client and a server exchanges one byte data soon after |
A client and a server exchange one byte data soon after |
the communication has started as follows. |
the communication has started as follows. |
|
|
\begin{itemize} |
\begin{itemize} |
Line 113 The one byte data is {\tt 0}, {\tt 1} or {\tt 0xFF}. |
|
Line 113 The one byte data is {\tt 0}, {\tt 1} or {\tt 0xFF}. |
|
{\tt 0} means that one wants to use the network byte order to |
{\tt 0} means that one wants to use the network byte order to |
send 16 or 32bit quantities. |
send 16 or 32bit quantities. |
{\tt 1} means that one wants to use the little endian order. |
{\tt 1} means that one wants to use the little endian order. |
{\tt 0xFF} means that one wants to use the little endian order. |
{\tt 0xFF} means that one wants to use the big endian order. |
On each side, if the preference coicides with each other then |
On each side, if the preference coincides with each other then |
the byte order is used. Otherwise the network byte order is used. |
the byte order is used. Otherwise the network byte order is used. |
|
|
If a system implements only the network byte order, then |
If a system implements only the network byte order, then |
Line 164 One time パスワードを安全に配送し, リモートマシンの {\ |
|
Line 164 One time パスワードを安全に配送し, リモートマシンの {\ |
|
*/ |
*/ |
/*&eg |
/*&eg |
\noindent |
\noindent |
Remark: {\tt ox}, included in {\tt OpenXM/src/kxx}, |
{\tt ox}, included in {\tt OpenXM/src/kxx}, |
is a launcher to invoke an engine. After invoking an |
is a launcher to invoke an engine. After invoking an |
engine, it acts as a control server. By default {\tt ox} requires |
engine, it acts as a control server. By default {\tt ox} requires |
a one time password. To skip it, use {\tt -insecure} option. |
a one time password. To skip it, use {\tt -insecure} option. |
A one time password is a null-terminated byte sequence and |
A one time password is a null-terminated byte sequence and |
a client informs the both a control server and an engine of |
a client informs both a control server and an engine of |
byte sequences as one time passwords. |
byte sequences as one time passwords. |
|
|
{\tt ox} is created from {\tt oxmain.c} and {\tt |
{\tt ox} is created from {\tt oxmain.c} and {\tt |
kan96xx/plugin/oxmisc.c}. In {\tt ox} {\tt oxTellMyByteOrder()} |
kan96xx/plugin/oxmisc.c}. In {\tt ox} \\ |
|
{\tt oxTellMyByteOrder()} |
executes the exchange of the byte order information. In a client it is |
executes the exchange of the byte order information. In a client it is |
done in {\tt oxSetByteOrder()}. |
done in {\tt oxSetByteOrder()}. |
|
|
One time passwords should be sent via secure communication channels. |
One time passwords should be sent via secure communication channels. |
Note that in the current implementation of {\rm ox}, one time passwords |
Note that in the current implementation of {\tt ox}, one time passwords |
are visible to all users logging in machines on which the server |
are visible to all users logging in machines on which the server |
and the client run, assuming that there is no evil person in the users. |
and the client run, assuming that there is no evil person among the users. |
One may use {\tt ssh} with {\tt -f } option when one wants to send |
One may use {\tt ssh} with {\tt -f } option when one wants to send |
a one time password securely to a remote machine. |
a one time password securely to a remote machine. |
|
|
The following example shows invocation of an {\tt ox\_sm1} |
The following example shows invocation of an {\tt ox\_sm1} |
server and the comminucation establishment on {\rm sm1}. |
server and the communication establishment on {\rm sm1}. |
In this example {\tt ox} on the host {\tt ox} is invoked from |
In this example {\tt ox} on the host {\tt dc1} is invoked from |
{\tt sm1} on the host {\tt yama}. |
{\tt sm1} on the host {\tt yama}. |
*/ |
*/ |
{\footnotesize |
{\footnotesize |
Line 217 Byte order for engine process is network byte order. |
|
Line 218 Byte order for engine process is network byte order. |
|
\end{verbatim} |
\end{verbatim} |
} |
} |
|
|
|
//&jp \subsection{OX サーバの利用例} |
|
//&eg \subsection{Example of using OX servers} |
|
|
|
/*&jp |
|
ox サーバを TCP/IP で $C$ より利用する例は |
|
{\tt OpenXM/doc/oxlib/test1-tcp.c} にある. |
|
*/ |
|
/*&eg |
|
An sample C source to use ox servers by TCP/IP can be found |
|
in {\tt OpenXM/doc/oxlib/test1-tcp.c}. |
|
*/ |