next up previous contents index
Next: What login does Up: Logging In And Out Previous: Logins via terminals

通过网络登录

一个网络中的2台计算机通常通过一个物理电缆连接。当他们通过网络通信是, 参与通信的每个计算机里的程序通过虚拟连接virtual connection通信, 即一些虚构的电缆。虚拟连接的每端的程序,独占自己的(虚拟)电缆。 然而,因为这电缆不是真的,只是虚构的,所有计算机的操作系统可以在同一 物理电缆上有多条虚拟连接。这样,只用一条电缆,多个程序可以不必考虑其他 通信而相互通信。使用同一电缆使多台计算机是可能的;2台计算机间存在的虚拟 连接,其他计算机会忽略他们不参加的连接。

那是一个复杂和抽象的真实描述。但可能足够理解网络登录与普通登录的不同的重要原因。 不同计算机上的2个程序要通信时,虚拟连接建立。 由于理论上可能从网络上的任何一台计算机登录到任何一台计算机, 因此可能有极大数量的潜在的虚拟通讯。 因此,为每个潜在的login启动一个getty 是不现实的。

有一个进程inetd(与getty 协同)处理所有的网络登录。 当它发现一个进来的网络登录(即发现某台其他计算机来的新的虚拟连接), 它启动一个新进程来处理那个登录。原来的进程继续侦听新的登录。

更复杂的是,网络登录有多个通讯协议。2个最重要的协议是 telnet rlogin 。 除了登录,还有许多其他虚拟连接可能建立(为FTP、Gopher、HTTP和其他网络服务)。 为要侦听的每种类型的连接提供一个进程不是很有效,因此,只用一个侦听器来识别连接的种类, 能启动正确的程序来提供服务。这个侦听器叫inetd ; 更多的信息请见《Linux网络管理指南》。


next up previous contents index
Next: What login does Up: Logging In And Out Previous: Logins via terminals

Lars Wirzenius
Sun Jun 29 13:31:22 EEST 1997