Обсуждение опций

Несмотря на то, что при начале работы Telnet подразумевается, что на каждом конце находится NVT, первый обмен данными, который происходит по Telnet соединению, являет собой обсуждение опций. Обсуждение опций это симметричный процесс - каждая сторона может послать запрос другой.

Каждая сторона может послать один из четырех различных запросов для любой заданной опции.

 

  1. WILL. Отправитель хочет включить эту опцию для себя.
  2. DO. Отправитель хочет, чтобы получатель включил эту опцию.
  3. WONT. Отправитель хочет выключить эту опцию для себя.
  4. DONT. Отправитель хочет, чтобы получатель выключил опцию.

 

Так как правила Telnet позволяют стороне принять или отклонить запрос на включение опции (случаи 1 и 2), однако требуют, чтобы она всегда удовлетворяла запрос на выключение опции (случаи 3 и 4), из этих четырех возможных случаев может получиться шесть комбинаций, которые приведены на рисунке 26.9.

 

  Отправитель   Получатель Описание
1. WILL ® DO отправитель хочет включить опцию получатель говорит ДА
2. WILL ® DONT отправитель хочет включить опцию получатель говорит НЕТ
3. DO ® WILL отправитель хочет, чтобы получатель включил опцию получатель говорит ДА
4. DO ® WONT отправитель хочет, чтобы получатель включил опцию получатель говорит НЕТ
5. WONT ® DONT отправитель хочет выключить опцию получатель должен сказать ДА
6. DONT ® WONT отправитель хочет, чтобы получатель выключил опцию получатель должен сказать ДА

Рисунок 26.9 Шесть сценариев обсуждения опции Telnet.

 

Обсуждение опции занимает 3 байта: IAC байт, за которым следует байт WILL, DO, WONT или DONT, затем ID байт, указывающий на ту опцию, которую необходимо включить или выключить. В настоящее время, таким образом, может быть обсуждено 40 опций. Assigned Numbers RFC содержат значения для байт опций, а соответствующее RFC описывает сами опции. На рисунке 26.10 показаны коды опций, которые мы увидим в этой главе.

 

ID опции (десятичный) Имя RFC
эхо
запрещение команды go ahead
статус
маркер времени
тип терминала
размер окна
скорость терминала
удаленный контроль потоком данных
линейный режим (linemode)
переменные окружения

Рисунок 26.10 Коды опций Telnet, обсуждаемые в этой главе.

 

Обсуждение опции Telnet, как и многое другое в протоколе Telnet, процесс симметричный. Каждая сторона может начать процесс обсуждения опции. Однако заход удаленным терминалом не является симметричным процессом. Клиент решает свои задачи, а сервер свои. Мы увидим, что некоторые опции Telnet применимы только к клиенту (например, требование включить линейный режим (linemode)), а некоторые предназначены только для сервера.