Протоколы Internet


Идентификатор доступа к сети - часть 2


Туннельная услуга

Туннельной услугой является любой сетевой сервис, допускаемый протоколами туннелирования, такими как PPTP, L2F, L2TP и IPSEC в туннельном режиме. Примером туннельной услуги может служить безопасный доступ к корпоративной сети через частные виртуальные сети (VPN).

Как описано в [1], существует много услуг, использующих телефонный доступ, а число провайдеров, предлагающих такие услуги (в том числе для подвижных пользователей) стремительно растет.

Для того чтобы обеспечить большой объем роуминга, одним из требований является способность идентифицировать “домашний” аутентификационный сервер пользователя. Эта функция в сети выполняется с помощью идентификатора NAI, посылаемого пользователем серверу NAS в процессе первичной PPP-аутентификации. Ожидается, что NAS будет использовать NAI как часть процесса открытия нового туннеля, с целью определения конечной точки этого туннеля.

Идентификатор доступа к сети имеет форму user@realm (но это не обязательно почтовый адрес). Заметьте, что в то время как пользовательская часть NAI согласуется с BNF, описанной в [5], BNF строки описания области допускает использования в качестве первого символа цифры, что не разрешено BNF, описанной в [4]. Это изменение было сделано с учетом сложившейся в последнее время практикой, FQDN, такое как 3com.com вполне приемлемо.

Заметьте, что хозяева NAS могут быть вынуждены модифицировать свое оборудование, чтобы обеспечить поддержку рассмотренного формата NAI. Оборудование, работающее с NAI должно работать с длиной кодов, по крайней мере, в 72 октета.

Формальное определение NAI

Грамматика для NAI представленная ниже, описана в ABNF, как это представлено в [7]. Грамматика для имен пользователей взята из [5], а грамматика имен областей является модифицированной версией [4].

nai

= username / ( username "@" realm )

username

= dot-string

realm

= realm "." label

label

= let-dig * (ldh-str)

ldh-str

= *( Alpha / Digit / "-" ) let-dig

dot-string

= string / ( dot-string "." string )

string

= char / ( string char )

char

= c / ( "\" x )

let-dig

= Alpha / Digit

Alpha

= %x41-5A / %x61-7A ; A-Z / a-z

Digit

= %x30-39 ;0-9

c

= < any one of the 128 ASCII characters, but not any special or SP >

x

= %x00-7F ; all 127 ASCII characters, no exception

SP

= %x20 ; Space character

special

= "" / "(" / ")" / "[" / "]" / "\" / "." / "," / ";" / ":" / "@" / %x22 / Ctl

Ctl

= %x00-1F / %x7F ; the control characters (ASCII codes 0 through 31 inclusive and 127)

<


Начало  Назад  Вперед