TCP/IP 與 Internet 網路:第十一章 網路終端機系統  上一頁           下一頁

 

翻轉工作室:粘添壽

 

11-2 Telnet 通訊連線

11-3 Telnet 通訊連線方式,客戶端透過終端機模擬程式,以 Telnet 通訊協定來連接伺服端主機,模擬程式可能是目前 Windows 系列最常用的 NetTerm 應用程式(或其它程式),也可以是主機內的 NVTNetwork Virtual Terminator)程式。在這連線之中有下列重點描述:

11-3 Telnet 的通訊連線

Telnet 通訊連線是透過 TCP 傳輸通訊鏈路連接,而 Telnet 伺服器是連接在 TCP/23 著名埠口上。客戶端利用一空閒 TCP 埠口(如 1025/TCP)連結到伺服端 TCP 埠口 2323/TCP)上,它們之間也是透過 Socket 通訊端點。

在客戶端可以透過一般功能較強的終端機模擬程式(如 NetTerm 等),或直接經過系統核心所提供的 NVT 程式,直接呼叫 NVT 連結伺服端。亦是直接在系統下執行 Telnet 命令,如 Windows 系統以 telnet Linux 系統以 # telnet 下達執行命令。

伺服端必需隨時監督 TCP 埠口 2323/TCP)是否有連線要求(一般都由 xinetd 服務程式負責),當有連線要求時便啟動 Telnet 伺服程式(in.telnetd),由Telnet 伺服程式來負責和 Telnet 程式之間的通訊。

Telnet 伺服程式必須處理有關『虛構終端設備』(Pseudo Terminal Device, PST的程序,而在 Internet 網路上都使用 NVT 標準。

伺服端透過 NVT 處理程序,此時必需協商雙方使用的終端機型態,並呼叫使用者的登入程序(Login Script),由 Login Script 詢問使用者名稱和密碼,如使用者登入成功,便啟動 User Script 來接受與處理使用者所下達的命令。

我們可以發現,伺服端主機處理『虛構終端設備』,就好像直接連線(11-1-1 介紹)的終端機系統中,主機電腦隨時掃描監督連線多工設備一樣,而使用者登入情形也宛如和主機直接連線情況一樣。

如果我們直接由 win98-1163.15.2.34)上 Telnet 登入到 Linux-1163.15.2.62),則執行 C:\> telnet 163.15.2.62,則結果如下:

Red Hat Linux release 6.2 (Zoot)

Kernel 2.2.14-5.0 on an i586

login: tsnien

Password:

Last login: Fri Jun 14 09:58:15 from 163.15.2.34

You have mail.

[tsnien@linux-1 tsnien]$

可在 Linux-1 上可觀察 Telnet 伺服程式(in.telnetd)的執行情形:(節錄部份內容)

[tsnien@linux-1 tsnien]$ ps –ef

….

root       763   550  0 18:36 ?        00:00:00 in.telnetd: 163.15.2.34

root       764   763  0 18:36 pts/0    00:00:00 login -- tsnien

tsnien     765   764  0 18:37 pts/0    00:00:00 -bash

由上可以發現 Telnet 伺服程式(in.telnetd)正連接 163.15.2.34 Telnet 通訊程式,而 Login Scriptlogin -- tsnien)和使用者程序(User Script)都是建立在同一虛構終端設備(pts/0)。由它們之間 PID Process Identifier)也可以發現,是由 in.telnetd 產生 Login Scriptlogin - tsnien),再由使用者登入程序中在產生使用者程序(-bash)。

 

 

<GOTOP>