数据链路——PPP

1、PPP定义:

        PPP(Point-to-Point Protocol)是指点对点,即1对1连接计算机的协议。PPP相当于位于OSI参考模型第2层的数据链路层。

        PPP不像以太网和FDDI。后两者不仅与OSI参考模型的数据链路层有关,还与第1层的物理层有关。具体来讲,以太网使用同轴电缆或双绞线电缆,它可以决定其中的0、1该被解释为何种电子信号。与之相比,PPP属于纯粹的数据链路层,与物理层没有任何关系。换句话说,仅有PPP无法实现通信,还需要有物理层的支持。

        PPP可以使用电话线或ISDN、专线、ATM线路。人们更多是在用ADSL或有线电视通过PPPoE(PPP over Ethernet)实现互联网接入。PPPoE是在以太网的数据中加入PPP帧进行传输的一种方式。

2、LCP与NCP:

        在开始进行数据传输前,要先建立一个PPP级的连接。当这个连接建立以后就可以进行身份认证、压缩和加密。

        在PPP的主要功能中包括两个协议:一个是不依赖上层的LCP协议(Link Control Protocol),另一个是依赖上层的NCP协议(Network Control Protocol)。如果上层为IP,此时的NCP也叫做IPCP(IP Control Protocol)。

        LCP主要负责建立和断开连接、设置最大接收单元(MRU,Maximum Receive Unit)、设置验证协议(PAP或CHAP)以及设置是否进行通信质量的监控。

        而IPCP则负责IP地址设置以及是否进行TCP/IP首部压缩等设置。

        通过PPP连接时,通常需要进行用户名密码的验证,并且对通信两端进行双方向验证(通过ISP接入互联网时,一般对ISP端不验证)。其验证协议一般有两种,分别为PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)。

        PAP是PPP连接建立时,通过两次握手进行用户名和密码验证。其中密码以明文方式传输。因此一般用于安全要求并不很高的环境。否则会有窃听或盗用连接的危险。

        CHAP则使用一次性密码OTP(One Time Password),可以有效防止窃听。此外,在建立连接后还可以进行定期的密码交换,用来验证对端是否中途被替换。

3、PPP的帧格式:        

          PPP用标志码区分每个帧,这与HDLC(High Level Data Link Control Procedure,高级数据链路控制)协议非常相似,因为PPP本身就是基于HDLC制定出来的一种协议。

        HDLC就是在每个帧的前后加上一个8位字节“01111110”用来区分帧。这一个8位字节叫做标志码。在两个标志码中间不允许出现连续6个以上的“1”。因此,在发送帧的时候,当出现连续5个“1”时后面必须插入一个0。而当接收端在接收帧的时,如果收到连续的5个“1”且后面跟着0,就必须删除。由于最多只会出现5个连续的“1”,就可以比较容易地通过标识码区分帧的起始和终止。而PPP标准帧格式与此完全相同。(我个人理解的插入和删除0的操作是针对PPP帧的数据字节

        另外,由于插入或删除“0”的操作或FCS计算都交由电脑的CPU去处理。这也是为什么PPP这种方式会给计算机带来大量负荷的原因所在。

4、PPPoE:

    单纯的以太网没有验证功能,也没有建立和断开连接的处理,因此无法按时计费。而如果采用PPPoE管理以太网连接,就可以利用PPP的验证等功能使各家ISP可以有效地管理终端用户的使用。

猜你喜欢

转载自blog.csdn.net/qq_38386085/article/details/120815597