2. PPP 协议位于TCP/IP协议栈中哪一层?其主要功能是什么?
PPP协议处于TCP/IP协议栈中的链路层(第二层),是一种提供在点到点链路上传输封装网络层数据包的数据链路层协议;PPP的主要功能是用来在支持全双工的同异步链路上进行点到点之间的数据传输。
3. PPP 主要由哪几类协议组成?各类协议的功能是什么?
PPP定义了一整套的协议,其组成及功能如下:
(1)
(2)
(3)
4. PPP 协议有哪些特点?
PPP协议的特点如下:
(1)
(2)
(3)
(4)
5. LCP 协商哪些内容,过程如何?
例如,本端在配置选项中声明MRU为2048 字节,这并不是说要求对端发送的任何报文都要达到2048字节,若对端能满足MRU选项,则回Config ACK报文,若不满足,则回Config NAK报文;魔术字主要用于检测链路自环,PPP靠发送Echo Request和Echo Reply报文来检测自环和维护链路状态;如连续发现有超过最大自环允许数目,Echo Request报文中魔术字与上次发送魔术字相同,则判定网络发生自环现象。如链路发生自环,则就需采取相应措施对链路复位;另外,LCP发送Config Request时也可以检测自环,LCP发现自环后,在发送一定数目的报文后也会复位链路,如果PPP发送的Echo Request报文产生丢失,则在连续丢失最大允许丢失的个数之后,将链路复位,以免过多的无效数据传输。异步字符映射用于同异步转换。
6. PAP与CHAP的验证过程分别是由哪方发起的?PAP和CHAP的最大不同点是什么?
PAP是首先由被验证方将自己的用户名及密码送给验证方;而CHAP验证是首先由验证方发起;验证过程的主要区别为:PAP为明文传送密码,而在CHAP验证过程中密码是不在线传送的,属于密文传送。
7. PAP的详细验证过程是什么样的?
PAP为两次握手协议,详细验证过程如下:当两端链路可相互传输数据时,被验证方发送本端的用户名及口令到验证方,验证方根据本端的用户表(或Radius服务器)查看是否有此用户,口令是否正确。如正确则会给对端发送ACK报文,通告对端已被允许进入下一阶段协商;否则发送NAK报文,通告对端验证失败。一次认证失败并不会直接将链路关闭,只有当验证不过次数达到一定值时,才会关闭链路,来防止因误传、网络干扰等造成不必要的LCP重新协商过程。
8. CHAP的详细验证过程是什么样的?
CHAP为三次握手协议,其单向验证过程分为两种情况:验证方配置了用户名和验证方没有配置用户名。
l
(1)
(2)
(3)
l
(1)
(2)
(3)
9. PPP LCP协商中的MRU选项是如何取值的?
大多数厂家不提供MRU的设置命令而是把MTU的配置值作为本端MRU的值与对端协商MRU。最终PPP链路的MTU的取值应该是:MIN(配置MTU,MIN(本端MRU,对端MRU))
因此,封装PPP的接口上的MTU值被改变后,如想让这个改变立即生效,就需触发LCP重新协商。
这里描述的是普通PPP的情形,MP、PPPOX等PPP应用的MTU的最终取值更加复杂一些。
MRU选项是LCP协商成功的必要选项,这个选项最终必须协商成功,不能忽略,最终PPP双方必须确认这个选项,不能否认或拒绝。
10. PPP LCP协商中的ACCM选项有什么意义?
ACCM选项用一个32位整数的位的值来表示哪些字符用作控制字符,譬如0X000A0000,第17位与第19位为1,说明字符17(XON)与字符19(XOFF)作为控制字符使用,需要进行转义。
在异步链路上,尤其是低带宽、高时延的异步线路(例如无线)上合理设置ACCM值可以有效避免在数据传输过程中引入额外时延。
异步链路上的LCP协商,这个选项是必要选项,必须协商成功。
11. PPP LCP协商中的Magic-number选项有什么意义?
Magic-number选项用来协商双方的魔术字,两端魔术字不能重复,魔术字可用来检测链路的环回情况。
这是一个必要选项,必须被确认否则LCP不能UP。
12. PPP LCP协商中的PFC选项有什么意义?
PFC(Protocol-Field-Compression 协议域压缩)选项是用来协商PPP报文的协议域是否可以被压缩,用高位字节的最低位表示此报文是否协议域被压缩,1表示是,0表示没有。压缩后协议域的两个字节会被压缩成一个字节,如IP报文中的0021可被压缩为21。实施者必须能够接收这两种情况(压缩或没有被压缩)的报文。
13. PPP LCP协商中的ACFC选项有什么意义?
ACFC(Address-and-Control-Field-Compression地址控制域压缩)选项是用来协商PPP报文的地址、控制域是否可以被压缩。压缩后地址域和控制域会被省略。LCP报文不能进行地址控制域压缩。
14. MP LCP协商中的MRRU选项有什么意义?
MRRU(Multilink Maximum Received Reconstructed Unit MP最大接收重构单元)选项可用来通知对端本端要实施MP,这个选项的值是指接收端重组后的MP报文的最大值。这个选项的确认与拒绝主要用来确定对端是否支持MP链路的使用。该选项被拒绝后,则该通道不能作为MP链路使用,而只能作为普通PPP链路使用。
15. MP链路上的MTU是如何计算的?
一般MP链路上的MTU的取值依据下面的公式:
MINMRU=MIN(本端MRU,对端MRU)
MINMRRU=MIN(本端MRRU,对端MRRU)
MTU=MIN(配置MTU,MIN(MINMRU,MINMRRU))
如果MP通道是PPPoE之类的链路,MP MTU还要考虑底层的MTU,会更复杂一些。