4
验证-协议
c023(对于PAP)
数据
没有数据域
2.2包格式
一个PAP包是完全封装在PPP数据链路层帧(协议域是c023代表PAP)的信息域中的 。
下面是PAP包格式的总结 。各个域由左到右传输 。
0123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeIdentifierLength
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Data...
- - - -
代码
代码域是一个字节,代表PAP包的类型 。PAP代码分配如下:
1 Authenticate-Request
2 Authenticate-Ack
3 Authenticate-Nak
标识符
标识符是一个字节,用于匹配请求和响应 。
长度
长度域是两个字节,代表PAP包的长度,包括代码域,标识符和数据域 。超出长度域指
定的字节被认为是数据链路层的填料,在接收端应该忽略掉 。
数据
数据域是零个或多个字节 。数据域的格式由代码域决定 。
2.2.1Authenticate-Request
描述
Authenticate-Request包用来启动PAP 。在验证阶段链路的一端必须传输代码域为1(验
证-请求)的PAP包 。直到接收到一个有效的响应包或者可选的重试计数器超时,验证-请
求包必须不停地发送 。
验证者应该期待对端发送一个Authenticate-Request包 。一旦接收到Authenticate-Request
包,必须返回某种验证响应(下面描述) 。
实现注重:因为Authenticate-Request包可能会丢失,所以在完成验证阶段后验证者必须
答应重复的Authenticate-Request包 。在验证阶段完成(部分信息可能不同)后,在协议阶段
必须返回相同的响应代码 。在另外的阶段接到的任何Authenticate-Request包必须被静静地处
理掉 。
假如Authenticate-Nak包丢失,和验证者终止链路,则LCPTerminate-Request包和
Terminate-Ack包提供一个可选择的方法表示验证失败 。
下面是Authenticate-Request包格式的总结 。各个域由左到右传输 。
0123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeIdentifierLength
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Peer-IDLengthPeer-Id...
- - - - - - - - - - - -
Passwd-LengthPassword...
- - - - - - - - - - - - -
代码
1 Authenticate-Request 。
标识符
标识符是一个字节,用于匹配请求和回应 。每次发送一个Authenticate-Request包,标识
符域必须改变 。
Peer-ID-Length
Peer-ID-Length域是一个字节,代表Peer-ID域的长度 。
Peer-ID
Peer-ID域是零个或多个字节,代表被验证端的名字 。
Passwd-Length
Passwd-Length域一个字节,代表Password域的长度 。
Password
Password域是零个或者多个字节,是用来验证的密码 。
2.2.2Authenticate-AckandAuthenticate-Nak
描述
假如在接收的Authenticate-Request包中的Peer-ID/Password对是可识别的和可接受的,
则验证者必须发送一个代码域是2(Authenticate-Ack)的PAP包 。
假如在接收的Authenticate-Request包中的Peer-ID/Password对是不可识别的和不可接受
的,则验证者必须发送一个代码域是3(Authenticate-Nak)的PAP包,并且应该终止链路 。
下面是Authenticate-Ack包和Authenticate-Nak包格式的总结 。各个域由左到右传输 。
0123
01234567890123456789012345678901
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodeIdentifierLength
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Msg-LengthMessage...
- - - - - - - - - - - - -
