PPP是什么类型的协议?

PPP是一种互联网协议控制协议;

1.

PPP有三个主要组成部分:

加密串行线路上的数据报;

用于建立、配置和检测数据链路连接的连接控制协议(LCP)。

网络控制协议(NCP)协议族,用于建立和配置不同的网络层协议。

为了通过点对点连接建立通信,每个PPP终端必须首先发送LCP数据包来配置和检测数据链路。建立连接并且LCP设置了可选选项后,PPP必须发送NCP数据包来选择和配置一个或多个网络层协议。配置好各层协议后,就可以在链上进行通信了。连接1保持打开状态,直到LCP或NCP明确关闭该连接。

2.用于IP的PPP网络控制协议

IP控制协议(IPCP)负责建立、启用和停止IP模块。IPCP和LCP协议使用相同的数据包交换机制。在PPP到达网络层协议阶段之前,不能交换IPCP数据包,如果任何IPCP数据包在此阶段之前到达,都将被丢弃。IPCP和LCP基本相同,除了以下几点:

数据链路层协议域方面。IPCP数据包包含在PPP数据链路层帧的信息字段中,帧中的协议字段的值为8021,表示类型。编码字段中仅使用代码1到7。其他代码被视为不可识别并被丢弃。在加班方面。在PPP到达网络层协议之前,不能交换IPCP数据包。在实现中,我们应该做好准备,在接收到配置确认或其他响应之前,等待认证和链路质量决策的完成。在实施中,应确保除用户干扰或过载外,连接不会中断。配置选项类型。IPCP有不同的配置选项集,将在下面详细讨论。

2.1.发送IP数据报

在IP分组通信之前,PPP必须达到网络层协议阶段,IPCP必须达到开放状态。PPP数据链路层帧的信息字段中包含IP数据包,帧中的协议字段表示类型值为0021。PPP连接上传输的IP包的最大长度与PPP数据链路种子层帧的信息字段的最大长度一致。过多的IP数据报必须重新分段。如果系统不想重组数据段,它必须使用TCP最大数据段大小选项和MTU发现。

3.IPCP配置选项

IPCP配置选项可以选择所需的IP参数。IPCP使用与LCP相同的配置选项格式。IPCP选项类型字段的值如下:

1 IP地址1

2 IP压缩协议

3 IP地址2

3.1.IP地址1

使用配置选项IP地址是不好的,在实现中已经证明了这一点。IP地址配置选项可以替换此域,应该使用。如果接收到的配置请求包括IP地址或IP地址选项,则该选项不应在配置请求中包括该选项。仅当配置因IP地址选项而被拒绝时,或者当IP地址选项作为附加选项包含在收到的未确认配置中时,才会发送此选项。

3.2.压缩协议

此配置选项可以使用系统使用的特定压缩协议,默认情况下不需要压缩。IP压缩协议配置选项的格式如下,传输顺序从左到右。

类型2

长度> = 4

IP压缩协议字段由两个字节组成,表示所需的压缩协议,该字段的值与PPP数据链路层协议字段表示的压缩协议一致。当前可用的压缩协议值如下:002d代表Van Jacobson压缩的TCP/IP。数据字段是0或更多字节,并且存储特定压缩协议的一些参数。

3.3.IP地址2

该域提供了确定用于本地连接的IP地址的方法。它使配置请求的发送者能够请求他想要的IP地址或要求另一方提供相应的信息。另一方可以通过返回NAKing选项和合法IP地址来提供该信息。

如果需要确定远程IP地址,而另一方没有在其配置请求选项中提供,则应在配置拒绝选项后添加此选项。IP地址值要么是合法的远程IP地址,要么需要另一方提供信息。默认情况下,不指定IP地址。以下是IP地址配置选项的格式,传输顺序从左到右。

类型3

长度6

四字节的IP地址是配置请求发送者想要的本地地址。如果四位数字都是零,则要求对方提供IP地址信息。

4.Van Jacobson TCP/IP报头压缩

Van Jacobson TCP/IP报头压缩将TCP/IP报头的大小减少到近3个字节,对于慢速串行线路来说是一个很大的改进。IP压缩协议配置选项用于指示接收压缩数据包的能力。如果需要双向压缩,需要双方独立申请。传输IP数据包时,PPP协议域设置为下列值:

0021类型IP。IP协议不是TCP,或者数据包是数据段,或者没有压缩。

002d压缩TCP。TCP/IP报头被压缩的报头所取代。

未压缩的TCP。002f的IP协议域被替换为slot标签。

4.1.配置选项格式

IP压缩协议配置选项的格式如下,传输顺序从左到右:

类型2

长度6

IP压缩协议

002d表示Van Jacobson压缩的TCP/IP报头。Max-Slot-Id字段中的一个字节表示最大的时隙标记,它比实际的时隙数小1,时隙标记的范围从0到Max-Slot-Id。实际上,如果Max-Slot-Id = 0,可能会有问题。Comp-Slot-Id字段中的一个字节,指示时隙标记字段是否被压缩。

0槽标记不应被压缩。所有压缩的TCP数据包必须在每个更改掩码中设置一个C位,并包含一个slot标记。

1可压缩槽标记。