SSH는 연구실 컴퓨터를 쓰기 위해 접근해본 적이 있지 후훗
telnet 은 terminal network의 줄임말로 local에서 remote system에 대한 connection을 가능하게 한다.
TELNET is a general-purpose client-server application program
TELNET은 한 컴퓨터에서 Time-sharing 기법을 통해 multiple user를 상대한다.
User는 TELNET을 통해 원격으로 컴퓨터를 사용하기 위해, ID와 password로 로그인 해야한다.
user가 local time-sharing system에 접속할 때, local login이라고 부른다.
터미널에 로그인 정보를 입력하면 Terminal driver에 의해 OS에 전달된다. 그러면 application protram이나 utility에 접근 가능하게 된다.
remote computer에 있는 application program이나 utility에 접근하고싶다면, remote login을 해야한다.
여기에 TELNET client/server program이 쓰인다.
어느 remote computer에든 접근하기 위해서는, 그 어떤 타입의 computer가 연결되는지 알고 그 컴퓨터가 사용하는 terminal emulator를 설치해야 한다.
TELNET에서는 이를 NVT(Network Virtual Terminal)라 하는 보편적인 interface를 사용하여 해결한다.
NVT는 local computer의 character set을 NVT character set으로 변환하여 전송한 후, remote computer에서 사용하는 character set의 형태로 변환한다.
NVT는 data/control을 위한 character set을 각각 가진다. 둘 다 8bit
Format of data and control characters
TELNET은 TCP기반의 연결을 가지고, well-known port번호 23을 사용한다
TELNET은 Control 정보와 data를 보낼때 같은 connection을 사용한다.
user가 cat file1
이라고 입력하고 싶었는데,
cat filea
라고 잘못 입력해서 backspace한 후
cat filea<backspace>1
하면 아래와같이 character가 전송된다.
여기서 IAC는 Interpret as control의 약자로 특별한 control character는 IAC 뒤에 따라간다.
Offer to enable an option
Request to enable an option
Offer to disable an option
Request to disable an option
client가 DO를 ECHO했더니 server가 WILL을 ECHO함.
따라서 ECHO, DO, IAC 세 메세지가 서버에 잘 전달된 것을 알 수 있다.
Examples of interface commands
요즘 많이 쓰는 remote login application program이다.
나도 써봤다
underlying transport protocol로 TCP를 쓴다.
TELNET보다 더 안전하고 많은 서비스를 제공한다.