IPCP
网络控制协议
计算机网络中,网际协议控制协议(IPCP)是一个网络控制协议,用来在点对点协议连接上建立和配置网际协议。IPCP负责在点对点连接的两端配置、使能和去使能IP协议模块。IPCP使用与链路控制协议相同的报文交换机制。IPCP报文在PPP达到网络层协议阶段之前不会进行交互,任何在此阶段前收到的IPCP报文都应静默丢弃。
协议作用
RFC 1332“The PPP Internet Protocol Control Protocol(IPCP)”规定了IPCP负责配置、启用和停用在点对点链路两端的IP协议模块。它使用与LCP相同的包交换机制。只有在PPP协议到达网络层协议阶段才能交换IPCP包,网络协议层阶段之前收到的任何IPCP包都要被抛弃。
协议基本原理
IPCP协议帧格式
IPCP协议属于网络控制协议中应用最多的协议。当链路配置到达网络层的协议阶段之后才可对IPCP进行协商。由于IPCP封装在PPP帧的数据域中,帧格式如下:
IPCP协议工作过程
根据两端设备的配置不同,IPCP协商过程可分为静态协商和动态协商。
静态协商,即不协商。点对点通信设备的两端已经配置好了IP地址,当到达网络层协商阶段时,通信双方告知对方自身的IP地址即可。如图2(a)所示。
动态协商,即动态获取IP地址的协商。服务器端手动方式配置IP地址,并需要给客户端分配IP地址,客户端则动态获取IP地址。这种情况下客户端需要两次发送Config-Request报文,才能完成协商。首先客户端发送IP和DNS均为零的Con⁃figure数据报,服务器收到后发送携带动态分配的IP地址和以服务器的IP地址为网关的Nak数据报,然后客户端再次以收到的信息发送Configure数据报,服务器回送Ack则配置成功。如图2(b)所示。
PPP协议中IPCP协商机制实验
环境搭建
实验设备和连接如图3所示。本实验使用GNS3,把两台Router c3600路由器的Serial接口连接起来,路由器分别命名为R1、R2。实验环境路由拓扑图如下:
实验过程
以点到点通信协议中PAP认证过程为例,来进行网络控制协议中IPCP的配置。
 
静态协商
R1配置:
PPP通信中IPCP的静态协商配置如下:
第一个Configuration Request是客户端发送的携带本端IP的数据报:
第一个Configuration Request报文内容如下:
第二个Configuration Request是服务器发送的含有本端IP的数据报:
第二个Configuration Request报文内容如下:
然后双方分别发送Ack包来回应对端的配置请求。
动态协商
R1配置:
PPP通信中IPCP的动态态协商配置如下:
第一个Configuration Request是客户端发送的IP地址和DNS地址置零的请求数据报:
第一个Configuration Request报文内容如下:
Configuration Nak中是服务器分配给客户端的IP地址和本端IP做网关的数据报:
Configuration Nak报文内容如下:
第二个Configuration Request是客户端发送的含本端IP地址和DNS地址的请求数据报:
第二个Configuration Request报文内容如下:
服务器收到后发送Ack配置完成。
总结
本实验,在点对点的通信方式中,IPCP完成了IP协议的协商和启停控制。通过使用Wireshark抓包,可以清楚地观察数据交换信息,采用协议分析的方法对IPCP协商过程进行分析,加深了对理论知识的理解,对PPP协议的理解更透彻。
IPCP和LCP的区别
IPCP和LCP基本相同,除了以下几点:
配置选项
IPCP配置选项用于IP参数的协商。它使用与LCP一样的选项定义格式。下面介绍两个配置选项。
· IP地址(IP-Address)选项
该选项提供协商在链路本地端使用的IP地址的方法。它允许Confugure-Request包的发送方声明要求哪个IP地址,或者请求对方提供信息。对方能通过NAKing选项提供此信息,返回一个有效的IP地址。
如果必须进行关于远端IP地址的协商,而对方不在Configure-Request包中提供此选项,此选项应该被附加到Configure-Nak包中。给出的IP地址值必须接受为远端的IP地址,或者指示一个对方提供此信息的请求。
在默认情况下,不分配IP地址。
IP地址配置选项格式如图2-16所示。类型和长度字段各占1字节,值分别为3和6。IP地址占4字节,是Configure-Request发送方要求的本地地址。如果4字节都是0,则表示请求对方提供IP地址信息。默认IP地址不分配。IP地址选项格式如下:
该配置选项提供协商使用的特定压缩协议的方法。在默认情况下,压缩不使用。该配置选项格式如图2-17所示。类型和长度字段各占1字节,类型值为3,长度不小于4字节。IP压缩协议选项格式如下:
IP压缩协议字段占2字节,用于指示请求的压缩协议。该字段的值总是与PPP数据链路层协议字段值(同样压缩协议)相同。目前分配的值为十六进制0x002d,表示Van JacobsonCompressed TCP/IP,这是用于网络的一组通信协议。
至于数据字段,属于可变长字段,可以是0,也可以是由特定压缩协议决定的更多的字节的附加数据。
Van Jacobson TCP/IP首部压缩技术可将TCP/IP首部缩小到3字节,可以显著改进低速串行线的通信。上述IP压缩协议配置选项被用来指定收到压缩包的能力。如果要求双向压缩,链路的每一端都必须独立地请求该选项。
传送IP包时PPP协议字段可以设置为下列值(用十六进制表示)。
· 0x0021:典型IP。IP协议承载的不是TCP,或是分片的包,或没有压缩。
· 0x002d:压缩TCP。TCP/IP首部由压缩首部替换。
· 0x002f:未压缩TCP。IP协议域被时间片标识符替换。
用于协商Van Jacobson TCP/IP首部压缩的IP压缩协议配置选项格式如图2-18所示。其中Max-Slot-ID(最大时间片ID)和Comp-Slot-Id(压缩时间片ID)各占1字节。
Van Jacobson TCP/IP首部压缩选项格式如下:
参考资料
最新修订时间:2024-06-24 19:57
目录
概述
协议作用
协议基本原理
参考资料