数据链路层的两种帧封装协议
1、HDLC (High-Level Data Link Control)高级数据链路控制
· 简介
是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的DLC(Synchronous Data Link Control)协议扩展开发而成的。
一个点对点的数据传输协议,其帧的结构有两种类型,一种是ISO HDLC帧结构,一种是Cisco HDLC帧结构。ISO HDLC采用SDLC的帧格式,支持同步,全双工操作,分为物理层及LLC两个子层,其帧结构如下所示,整个HDLC的帧由标志字段、地址字段、控制字段、数据字段、帧校验序列字段等组成。
注:HDLC不支持多协议IP;Cisco为了使其支持多协议而在其帧头格式上增加了一个私有位:支持多协议IP/IPX/AT(appletalk)但是不再兼容其他品牌;HDLC不支持认证因此无法保证网络安全,Cisco的设备默认封装HDLC,如果串口的封装不是HDLC,则需使用encapsulation命令进行配置
· 配置
HDLC封装:
(Router(config-if)#encapsulation hdlc)
DCE端线路速率配置
Router(config-if)# clock rate speed
实验案例:要求串口封装模式为HDLC,并在串行口的DCE端加上时钟频率
Encapsulation HDLC
Interface x/x
Clock rate 64000 //在DCE端配置时钟频率
Show ip interface brif //查看当前设备的接口的摘要信息
模拟实验错误情况:
1、对端没有使用no shutdown命令而导致down dwon
2、由于DCE端没有设置时钟频率导致两端设备接口为up down
排除方法:show controller interface serial x/x命令发现DCE端,然后添加上时钟频率
3、两端封装标准不同引起的up down
排除方法:利用encapsulation ppp/hdlc命令将标准统一
2、PPP(Point-to-Point Protocol)
点到点协议
· 简介
PPP是业界开放性的标准,支持多协议环境,提供在点到点链路上承载网络层数据包的一种链路层协议,兼容所有品牌。华为的设备默认封装PPP;
PPP的前身是串行线路协议SLIP(Serial Line Interface Protocol),因功能单一而趋向淘汰;PPP分成两个部分:链路控制协议LCP(Link Control Protocol)负责对L1物理层进行链路的建立、控制和维护;网络控制协议NCP(Network Control Protocol=IPCP+CDPCP)负责为L3网络层向下提供无差别的接口(*CP);因此也可以说PPP是二层半协议也就是具有部分L3功能的L2协议;LCP包含4大网络模块:认证(Authentication)/压缩(Compress)/回拨(Callback)/多链路捆绑(Mulit-link)
认证(链路认证)
明文密码认证PAP(Password Authentication Protocol):二次握手(被认证方发送账号密码→主认证方对比账号密码后根据结果作出回应);在PAP认证过程中用户名和密码以明文的方式在链中处传输。而且由于远程节点控制认证重试频率和次数,因此不能防范再生攻击和重复的尝试攻击。
密文密码认证CHAP(Challenge Handshake Authentication Protocol):三次握手(主认证方发送随机报文challenge→双方同时使用MD5不可逆算法运算并且被认证方发送结果→主认证方对比运算结果后根据结果作出回应);CHAP认证过程中链路上传递的信息都被加密处理。
· 配置
封装PPP协议:
Router(config-if)#encapsulation ppp //同一条链路的两端封装方式应该是一样的,都为PPP,否则将无法正常通信
设置/记录 本地/对端 路由器名字和口令:
Router(config)#hostname hostname
Router(config)#enable secret secret-string
Router(config)#username username password password //username和password是指对端的用户名和口令。
配置认证方式
Router(config-if)#ppp authentication [chap |chap pap | pap chap pap]
注:如果PAP和CHAP都被启用,链路协商期间将请求第一种认证方法。
向对端路由器发送认证信息
Router(config-if)#ppp pap sent-username name password password在本地路由器上配置以什么用户名(name )和口令(password)在远程路由器上登录。