TCP/IP学习笔记-PPP协议

写在前面:

仅供学习使用

PPP概述

  • PPP(点对点协议)是支持点到点连接的一种通信协议,既支持数据为8位的无奇偶校验的异步模式,也支持面向比特位的同步连接,提供从局域网到广域网的数据链路封装支持。

  • PPP是广域网数据链路层的封装协议,还有的是HDLC、SLIP、ATM、X.25。

  • PPP最大的特点是可以身份验证功能,提供了两种可选的身份验证方法分别是PAP(口令验证协议)、CHAP(挑战握手验证协议)。

  • PPP采用一个特殊的LCP(链路控制协议)来建立、配置、测试、终止链路,协商任何点到点链路的特性。

  • PPP针对封装的不同网络协议,采用NCP(网络控制协议)来完成点对点通信设备之间网络层通信所需参数的配置,它通过协议域来区分数据域中净载荷的数据类型。

SLIP概述

  • SLIP(网际协议)是一种在串行线路上对IP数据报进行封装的简单形式。定义了两种特殊字符END(0xc0)和ESC(0xdb),IP数据报某个字符为END表示到此结束,如果传输的数据中有END则将结束字符用连续传输的2个字节的0xdb和0xdc来替代。如果传输的数据中有ESC则用连续传输的2个字节的0xdb和0xdd来替代。实际上这是一种字符填充的方式,在串行链路上传输的总字节数会增加。

  • SLIP常用在拨号上网,但是有很多的缺陷,目前已经被PPP取代。

  1. 每一端都需要知道对方的IP地址;

  2. 没有办法把本地的IP地址通知给另外一端,帧中没有专门的地址段;

  3. 没有加入FCS,即没有检错功能,需要上层协议提供校验。

PPP数据帧结构分析

  • PPP的flag字段大小为0X7E,表示帧的开始。

  • PPP的地址字段,当为广播的时候值为0XFF,HDLC的值为0X8F或0X0F。

  • PPP的control字段值为0X03,HDLC为0X0。

  • PPP中的协议字段,IP的值为0X0021、LCP为0XC021、NCP为0X8021、PAP为0XC023、CHAP为0XC223。

  • CRC表示校验。

  • FCS表示帧的结束值为0X7E。

  • 当PPP信息字段中出现一个和开始或者结束符相同值的时候,即出现了和转义字符一样的比特组合的时候,就会将数据字符转义。和SLIP的字符填充类似。例如0X7D就会转义成7D、5D,7E转义成7D、5E,如果数据中出现7D、5D的时候就会填充7D、5D、5D。

PPP的传输

  • 串行链路普遍存在于广域网,数据传输方式:异步传输、同步传输。

  • 异步传输:按字节传输,还要加上起始位(start)用0表示开始和停止位(stop)用1表示结束。中间还要插入一个空闲位用来分隔字符。

  • 同步传输:面向帧传输,只要不超过1500字节就可以,前后都要加上flag。进行同步传输的时候要插入一个时钟传输信号。

  • DTE(数据终端设备)和DCE(数据通信设备),DCE端提供时钟频率,DTE端依靠DCE端提供的时钟信号来进行数据传输。

  • 时钟频率默认为200万bit/s,有公式波特率*波特率因子=时钟频率。但是并不是所有设备都能接收这个频率,要看设备,不然可能ping不通,所以一般是要配置波特率clock rate,一般为64000bps。波特率因子啥的不懂,配置的时候配波特率就可以了,想深究网上都有。

  • PPP支持的网络层协议:IP\IPX\NetBEUI\AppleTalk\SNA。

  • PPP的阶段LCP->PAP\CHAP(可选)->NCP(IPCP)。

  • LCP链路参数协商的报文种类configure-request(code:0X01)、ACK(0X02)、NAK(0X03)、REJECT(0X04)。

  • MTU在PPP中的名称是MRU(最大接收单元),最大值都是1500字节。

  • LCP协商中会产生一个随机的数字为魔术字用于二层交换,防止路由环路,相同的魔术字为环路,不相同则可以通信。

  • PAP称为口令验证协议,也称两次握手协议。

  • PAP认证由被认证方发送authenticate-request报文(内含账号密码),成功回ACK,失败回NAK。

  • CHAP用来解决PAP认证包中账号密码的明文问题。

1.认证方发的challenge(随机ID+hostname+RANDOM)->MD5->16Byte的HASH。

2.被认证方发的RESPONSE(认证方的pwd+random)->MD5->16B的HASH-X。

3.将从被认证方获得的pwd和id, (被认证方的pwd+随机ID+random)MD5->16B的HASH-Y,当X=Y时,认证方发送SUCCESS。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值