广域网二层技术

本文首次发布于 Mlin Blog、简书、CSDN,作者 @木林(Mlin) ,转载请保留原文链接。

  • 前言
  • 正文
    • 一、PPP
      • 1 PPP基本概念
        • 1.1 PPP协议簇
        • 1.2 PPP报文结构
        • 1.3 PPP建链过程
      • 2 LCP协议
        • 2.1 LCP报文类型
        • 2.2 LCP用于协商的参数
        • 2.3 LCP链路协商成功
        • 2.4 LCP链路协商参数不成功
        • 2.5 LCP链路协商参数不能识别
        • 2.6 LCP检测链路状态
        • 2.7 LCP连接关闭
      • 3 PAP认证协议
        • 3.1 PAP报文类型
        • 3.2 PAP工作原理
      • 4 CHAP认证协议
        • 4.1 CHAP报文类型
        • 4.2 CHAP工作原理
      • 5 NCP协议
        • 5.1 IPCP静态协商IP地址
        • 5.2 IPCP动态协商IP地址
      • 6 MP基本原理
    • 二、PPPoE
      • 1 DSL
        • 1.1 DSL应用场景
        • 1.2 PPPoE在DSL中的应用
      • 2 PPPoE概述
      • 3 PPPoE报文格式
      • 4 PPPoE会话建立过程
      • 5 PPPoE协议报文
    • 三、FR
      • 1 帧中继基本概念
      • 2 LMI协议
      • 3 InARP协议
      • 4 帧中继和水平分割
      • 5 子接口
    • 四、HDLC
      • 1 HDLC概述
      • 2 HDLC帧结构
      • 3 HDLC接口地址借用
  • 结语

前言

正文

一、PPP

PPP协议是一种点到点链路层协议,主要用于在全双工的同异步链路上进行点到点的数据传输。

1 PPP基本概念

1.1 PPP协议簇

  • 点到点链路层协议
  • 三个协议族
    • 链路控制协议族LCP
    • 链路控制协议族(Link Control Protocol),主要用来建立、拆除和监控PPP数据链路。LCP可以自动检测链路环境,如是否存在环路;协商链路参数,如最大数据包长度,使用何种认证协议等等。与其他数据链路层协议相比,PPP协议的一个重要特点是可以提供认证功能,链路两端可以协商使用何种认证协议并实施认证过程,只有认证成功才会建立连接。这个特点使PPP协议很适合被运营商用来接入分散的用户。
    • 网络层控制协议族NCP
    • 网络层控制协议族(Network Control Protocol),主要用来协商在该数据链路上所传输的数据包的格式与类型。例如IPCP用于协商控制IP,IPXCP用于协商控制IPX协议等。
    • 认证协议族CHAP和PAP
    • PPP提供了用于网络安全方面的验证协议族(PAP和CHAP)。

1.2 PPP报文结构

广域网二层技术_第1张图片

  1. PPP报文封转格式

    • Flag域
    • Flag域标识一个物理帧的起始和结束,该字节为二进制序列01111110 (0x7E)。
    • Address域
    • Address域可以唯一标识对端。PPP协议是被运用在点对点的链路上,因此,使用PPP协议互连的两个通信设备无须知道对方的数据链路层地址。按照协议的规定将该字节填充为全1的广播地址,对于PPP协议来说,该字段无实际意义。
    • Control域
    • 该字段默认值为00000011(0x03),表明为无序号帧,PPP默认没有采用序列号和确认号来实现可靠传输。
    • Address和Control域一起标识此报文为PPP报文,即PPP报文头为FF03。
    • Protocol域
    • 协议域可用来区分PPP数据帧中信息域所承载的数据报类型。典型的字段值有:0XC021代表LCP报文,0XC023代表PAP报文,0XC223代表CHAP报文。
    • Information域
    • 信息字段包含协议字段中指定协议的数据包。数据字段的默认最大长度(不包括协议字段)称为最大接收单元MRU(Maximum Receive Unit),MRU的缺省值为1500字节。
  2. LCP报文封装格式

    • Code域
    • 代码域的长度为一个字节,主要是用来标识LCP数据报文的类型。1.典型的报文类型有:配置信息报文(Configure Packets: 0x01),配置成功信息报文(Configure-Ack: 0X02),终止请求报文(Terminate-Request:0X05)。
    • Identifier域
    • 标识域为1个字节,用来匹配请求和响应,当标识域值为非法时,该报文将被丢弃。
    • 通常一个配置请求报文的ID是从0x01开始逐步加1的。当对端接收到该配置请求报文后,无论使用何种报文回应对方,但必须要求回应报文中的ID要与接收报文中的ID一致。
    • Length域
    • 长度域的值就是该LCP报文的总字节数据。它是代码域、标志域、长度域和数据域四个域长度的总和。
    • 长度域所指示字节数之外的字节将被当作填充字节而忽略掉,而且该域的内容不能超过MRU的值。
    • Data域
    • 4.承载各种TLV(Type/Length/Value)参数用于协商配置选项,包括最大接收单元,认证协议等等。
    • Type为协商选项类型。
    • Length为协商选项长度,它是指Data域的总长度,也就是包含Type、Length和Data。
    • Data为协商的选项具体内容。

1.3 PPP建链过程

广域网二层技术_第2张图片

  • 建链过程
    • Dead:这是PPP工作开始和结束的阶段。当物理层变为可用状态(UP)之后,PPP进入Establish阶段。
    • Establish:PPP在此阶段使用LCP协商链路层参数。如果链路层参数协商不成功(FAIL),则PPP连接建立不成功,PPP退回到Dead阶段。如果链路层参数协商成功(OPENED),则PPP进入Authenticate阶段。
    • Authenticate:PPP在此阶段认证对端,如果认证失败(FAIL),则PPP进入Terminate阶段;如果认证成功(SUCCESS)或者没配置认证(NONE),则PPP进入Network阶段。
    • Network:PPP在此阶段使用NCP进行网络层参数协商,协商成功则PPP连接建立成功,开始传输网络层数据包。当上层协议认为应当关闭此连接(例如按需电路)或者管理员手工关闭PPP连接(CLOSING),则PPP进入Terminate阶段。
    • Terminate:PPP在此阶段使用LCP关闭PPP连接。PPP连接关闭(Down)后,PPP进入Dead阶段。

注意:此处列出的是PPP的工作阶段,并非PPP的协议状态。由于PPP是由一组协议组成的,因此PPP本身没有协议状态。只有特定的的协议如LCP和NCP等才有协议状态和状态转换(协议状态机)。

2 LCP协议

2.1 LCP报文类型

报文类型 功能描述
Configure-Request 包含发送者试图使用的、没有使用默认值的参数列表
Configure-Ack 表示完全接受对端发送的Configure-Request的参数取值
Configure-Nak 表示对端发送的Configure-Request中的参数取值在本地不合法
Configure-Reject 表示对端发送的Configure-Request中的参数本地不能识别

- LCP协议有3大类报文:

  1. 链路配置包,用于建立和配置链路:Configure-Request(匹配请求),Configure-Ack(匹配确认),Configure-Nak(匹配否认),和Configure-Reject(匹配拒绝)。
  2. 链路结束包,用于结束一个链路:Terminate-Request(终止请求) 和 Terminate-Ack(终止确认)。
  3. 链路维修包,用于管理和调试一个链路:Code-Reject(代码拒绝), Protocol-Reject(协议拒绝), Echo-Request(回波请求), Echo-Reply(回波应答), 和 Discard-Request(抛弃请求)。

2.2 LCP用于协商的参数

广域网二层技术_第3张图片

  • 在VRP平台上,MRU参数使用接口上配置的最大传输单元(MTU)值来表示的。
  • 常用的PPP认证协议有PAP和CHAP(后续章节介绍),一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方使用的认证协议并正确配置用户名和密码等认证信息。
  • LCP使用魔术字(Magic-Number)检测链路环路和其它异常情况。魔术字为随机产生的一个数字,随机机制需要保证两端产生相同魔术字的可能性几乎为0。
  • 收到一个Configure-Request报文之后,其包含的魔术字需要和本地产生的魔术字做比较,如果不同,表示链路无环路,则使用Confugure-Ack报文确认(其他参数也协商成功),表示魔术字协商成功。在后续发送的报文中,如果报文含有魔术字字段,则该字段设置为协商成功的魔术字,LCP不再产生新的魔术字。
  • 如果收到的Configure-Request报文和自身产生的魔术字相同,则发送一个Configure-Nak报文,携带一个新的魔术字。然后,不管新收到的Configure-Nak报文中是否携带相同的魔术字,LCP都发送一个新的Configure-Request报文,携带一个新的魔术字。如果链路有环路,则这个过程会不停的持续下去,如果链路没有环路,则报文交互会很快恢复正常。

2.3 LCP链路协商成功

广域网二层技术_第4张图片

  • 如图所示,R1和R2使用串行链路相连,运行PPP。当物理层链路变为可用状态之后,R1和R2使用LCP协商链路参数。本例中,R1首先发送一个LCP报文。
  • R1向R2发送Configure-Request报文,此报文包含在发送者(R1)上配置的链路层参数,每个链路层参数使用“类型,长度,取值”的结构表示。
  • 当R2收到此Configure-Request报文之后,如果R2能识别此报文中的所有链路层参数,并且认为每个参数的取值都是可以接受的,则向R1回应一个Configure-Ack报文。
  • 在没有收到Configure-Ack报文的情况下,每隔3秒重传一次Configure-Request报文,如果连续10次发送Configure-Request报文仍然没有收到Configure-Ack报文,则认为对端不可用,停止发送Configure-Request报文。

注:完成上述过程只是表明R2认为R1上的链路参数配置是可接受的。R2也需要向R1发送Configure-Request报文,使R1检测R2上的链路参数配置是不是可接受的。

2.4 LCP链路协商参数不成功

广域网二层技术_第5张图片

  • 当R2收到R1发送的Configure-Request报文之后,如果R2能识别此报文中携带的所有链路层参数,但是认为部分或全部参数的取值不能接受,即参数的取值协商不成功,则R2需要向R1回应一个Configure-Nak报文。
  • 在这个Configure-Nak报文中,只包含不能接受的那部分链路层参数列表,每一个包含在此报文中链路层参数的取值均被修改为此报文的发送者(R2)上可以接受的取值(或取值范围)。
  • 在收到Configure-Nak报文之后,R1需要根据此报文中的链路层参数重新选择本地使用的相关参数,并重新发送一个Configure-Request。
  • 连续五次协商仍然不成功的参数将被禁用,不再继续协商。

2.5 LCP链路协商参数不能识别

广域网二层技术_第6张图片

  • 当R2收到R1发送的Configure-Request报文之后,如果R2不能识别此报文中携带的部分或全部链路层参数,则R2需要向R1回应一个Configure-Reject报文。
  • 在此Configure-Reject报文中,只包含不被识别的那部分链路层参数列表。
  • 在收到Configure-Reject报文之后,1需要向R2重新发送一个Configure-Request报文,在新的Configure-Request报文中,不再包含不被对端(R2)识别的参数。

2.6 LCP检测链路状态

广域网二层技术_第7张图片

  • LCP建立连接之后,可以使用Echo-Request报文和Echo-Reply报文检测链路状态,收到一个Echo-Request报文之后应当回应一个Echo-Reply报文,表示链路状态正常。
  • VRP平台默认每隔10秒发送一次Echo-Request报文。

2.7 LCP连接关闭

广域网二层技术_第8张图片

  • 认证不成功或者管理员手工关闭等原因可以使LCP关闭已经建立的连接。
  • LCP关闭连接使用Terminate-Request报文和Terminate-Ack报文,Terminate-Request报文用于请求对端关闭连接,一旦收到一个Terminate-Request报文,LCP必须回应一个Terminate-Ack报文确认连接关闭。
  • 在没有收到Terminate-Ack报文的情况下,每隔3秒重传一次Terminate-Request报文,连续两次重传没有收到Terminate-Ack报文,则认为对端不可用,连接关闭。

3 PAP认证协议

3.1 PAP报文类型

广域网二层技术_第9张图片

3.2 PAP工作原理

广域网二层技术_第10张图片

  • 被认证方将配置的用户名和密码信息使用Authenticate-Request报文以明文方式发送给认证方,本例中,用户名为“huawei”,密码为“hello”;
  • 认证方收到被认证方发送的用户名和密码信息之后,根据本地配置的用户名和密码数据库检查用户名和密码信息是否正确匹配,如果正确,则返回Authenticate-Ack报文,表示认证成功,如果不能正确匹配,则返回Authenticate-Nak报文,表示认证失败。

4 CHAP认证协议

4.1 CHAP报文类型

广域网二层技术_第11张图片

  • 使用Challenge对密码做加密运算的算法为MD5{ Identifier+密码+Challenge },意思是将Identifier、密码和Challenge三部分连成一个字符串整体,然后对此字符串做MD5运算,得到一个16字节长的摘要信息,在Response报文中Data字段包含的加密运算之后的密码信息就是此摘要信息。

4.2 CHAP工作原理

广域网二层技术_第12张图片

  • CHAP的认证过程需要三次报文的交互。为了匹配请求报文和回应报文,报文中含有Identifier字段,一次认证过程所使用的报文均使用相同的Identifier信息。

  • CHAP单向验证过程分为两种情况:验证方配置了用户名和验证方没有配置用户名。推荐使用验证方配置用户名的方式,这样可以对验证方的用户名进行确认。

  • 验证方配置了用户名的验证过程(即接口配置命令ppp chap user username):
    • 验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge),并同时将本端的用户名附带上一起发送给被验证方。
    • 被验证方接到验证方的验证请求后,先检查本端接口上是否配置了ppp chap password命令,如果配置了该命令,则被验证方将生成的密文((Identifier+密码+随机数)的MD5)和自己的用户名发回验证方(Response)。如果接口上未配置ppp chap password命令,则根据此报文中验证方的用户名在本端的用户表查找该用户对应的密码,将密文((Identifier+密码+随机数)的MD5)和被验证方自己的用户名发回验证方(Response)
    • 验证方将自己本身保存的密码、Identifier和随机数进行MD5算法,和收到respone中的密文进行比较,以验证认证是否正确。
  • 验证方没有配置用户名(即接口没有配置命令ppp chap user username):
    • 验证方主动发起验证请求,验证方向被验证方发送一些随机产生的报文(Challenge)。
    • 被验证方接到验证方的验证请求后,利用Identifier、ppp chap password命令配置的CHAP密码和随机数进行MD5算法,将生成的密文和自己的用户名发回验证方(Response)。
    • 验证方将自己本身保存的密码、Identifier和随机数进行MD5算法,和收到respone中的密文进行比较,以验证认证是否正确。

5 NCP协议

5.1 IPCP静态协商IP地址

广域网二层技术_第13张图片

  • PCP,用于协商控制IP参数,使PPP可用于传输IP数据包。
  • PCP使用和LCP相同的协商机制、报文类型,但IPCP并非调用LCP,只是工作过程、报文等和LCP相同。
  • 拓扑描述
    • 两端配置的IP地址分别为12.1.1.1/24和12.1.1.2/24(两端IP地址即使不在同一网段也会通过IPCP协商)。
    • 两端静态配置IP地址的时候协商过程如下:
    • R1和R2都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;
    • R1和R2接收到对端的Configure-Request报文之后,检查其中的IP地址,如果IP地址是一个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可以使用该地址,回应一个Configure-Ack报文。
    • 通过IPCP发送的信息,PPP链路的两端都可以知道对端使用的32位IP地址。

5.2 IPCP动态协商IP地址

广域网二层技术_第14张图片

  • 如图所示,R1配置为请求对端分配IP地址,R2配置静态IP地址12.1.1.2/24,并且启用R2给对端分配IP地址的能力,给R1分配IP地址12.1.1.1。
  • 两端动态协商IP地址的过程如下:
    • R1向R2发送一个Configure-Request报文,此报文中含有IP地址0.0.0.0,一个含有0.0.0.0的IP地址的Configure-Request报文表示向对端请求IP地址;
    • R2收到上述Configure-Request报文后,认为其中包含的地址(0.0.0.0)不合法,使用Configure-Nak回应一个新的IP地址12.1.1.1;
    • R1收到此Configure-Nak报文之后,更新本地IP地址,并重新发送一个Configure-Request报文,包含新的IP地址12.1.1.1;
    • R2收到Configure-Request报文后,认为其中包含的IP地址为合法地址,回应一个Configure-Ack报文;
    • 同时,R2也要向R1发送Configure-Request报文请求使用地址12.1.1.2,R1认为此地址合法,回应Configure-Ack报文。

6 MP基本原理

MultiLink PPP允许将报文分片,分片将从多个点对点链路上送到同一个目的地。

  • MP基本原理
    • 增加带宽,将多个PPP链路捆绑使用
  • MP方式下链路协商过程
    • LCP阶段,也需验证对端接口是否工作在MP方式下
    • NCP阶段,根据MP-Group接口或指定虚拟接口模板的各项NCP参数(如IP地址等)进行NCP协商
  • 实现方式
    • 虚拟接口模板方式
    • MP-Group方式

二、PPPoE

1 DSL

1.1 DSL应用场景

  • 数字用户线路DSL是以电话线为传输介质的传输技术。

广域网二层技术_第15张图片

  • DSL是一种利用现有电话网络实现数据通信的宽带技术。在使用DSL接入网络时,用户侧会安装调制解调器,然后通过现有的电话线与数字用户线路接入复用器(DSLAM)相连。DSLAM是各种DSL系统的局端设备,属于最后一公里接入设备。
  • 然后,DSLAM通过高速ATM网络或者以太网将用户的数据流量转发给宽带远程接入服务器(BRAS)。BRAS是面向宽带网络应用的接入网关,位于骨干网的边缘层。

1.2 PPPoE在DSL中的应用

广域网二层技术_第16张图片

  • 一个接入设备连接多个远程主机,同时还能提过认证计费功能
  • 运营商希望通过同一台接入设备来连接远程的多个主机,同时接入设备能够提供访问控制和计费功能。在众多的接入技术中,把多个主机连接到接入设备的最经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产生了在以太网上传输PPP报文的技术,即PPPoE。
  • PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并运用PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。
  • PPPoE技术解决了用户上网收费等实际应用问题,得到了宽带接入运营商的认可并被广泛应用。

2 PPPoE概述

  • 使PPP应用于以太网以实现广播式的网络中多台主机连接到远端的接入服务器的技术
  • PPPoE组网结构采用Client/Server 模型

广域网二层技术_第17张图片

  • PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备连入因特网,并运用PPP协议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。

3 PPPoE报文格式

  • PPPoE报文是使用Ethernet格式来进行封装的。

广域网二层技术_第18张图片

  • PPPoE报文是使用Ethernet格式进行封装的,Ethernet中各字段解释如下:
    • DMAC:表示目的设备的MAC地址,通常为以太网单播目的地址或者以太网广播地址(0xFFFFFFFF)。
    • SMAC:表示源设备的以太网MAC地址。

4 PPPoE会话建立过程

广域网二层技术_第19张图片

  • PPPoE可分为三个阶段,即Discovery阶段、Session阶段和Terminate阶段。
  • Discovery阶段:
    • PPPoE Client广播发送一个PADI(PPPoE Active Discovery Initial)报文,在此报文中包含PPPoE Client想要得到的服务类型信息。
    • 所有的PPPoE Server收到PADI报文之后,将其中请求的服务与自己能够提供的服务进行比较,如果可以提供,则单播回复一个PADO(PPPoE Active Discovery Offer)报文。
    • 根据网络的拓扑结构,PPPoE Client可能收到多个PPPoE Server发送的PADO报文,PPPoE Client选择最先收到的PADO报文对应的PPPoE Server做为自己的PPPoE Server,并单播发送一个PADR(PPPoE Active Discovery Request)报文。
    • PPPoE Server产生一个唯一的会话ID(Session ID),标识和PPPoE Client的这个会话,通过发送一个PADS(PPPoE Active Discovery Session-confirmation)报文把会话ID发送给PPPoE Client,会话建立成功后便进入PPPoE Session阶段。
    • 完成之后通信双方都会知道PPPoE的Session_ID以及对方以太网地址,它们共同确定了唯一的PPPoE Session。
  • Seesion阶段:
    • PPPoE Session上的PPP协商和普通的PPP协商方式一致。
    • PPPoE Session的PPP协商成功后,就可以承载PPP数据报文。
    • 在PPPoE Session阶段所有的以太网数据包都是单播发送的。
  • Terminate阶段:
    • 进入PPPoE Session阶段后,PPPoE Client和PPPoE Server都可以通过发送PADT报文的方式来结束PPPoE连接。PADT数据包可以在会话建立以后的任意时刻单播发送。在发送或接收到PADT后,就不允许再使用该会话发送PPP流量了。

5 PPPoE协议报文

  • PPPoE通过这五种类型的报文来建立和终结PPPoE会话。

广域网二层技术_第20张图片

  • PADI(PPPoE Active Discovery Initiation)报文:用户主机发起的PPPoE服务器探测报文,目的MAC地址为广播地址。
  • PADO(PPPoE Active Discovery Offer)报文:PPPoE服务器收到PADI报文之后的回应报文,目的MAC地址为客户端主机的MAC地址。
  • PADR(PPPoE Active Discovery Request)报文:用户主机收到PPPoE服务器回应的PADO报文后,单播发起的请求报文,目的地址为此用户选定的那个PPPoE服务器的MAC地址。
  • PADS(PPPoE Active Discovery Session Configuration)报文:PPPoE服务器分配一个唯一的会话进程ID,并通过PADS报文发送给主机。
  • PADT(PPPoE Active Discovery Terminate)报文:当用户或者服务器需要终止会话时,可以发送这种PADT报文。

三、FR

1 帧中继基本概念

  • 帧中继接口类型
    • DTE,用户设备
    • DCE,运营商设备
    • NNI,帧中继交换机之间的接口格式
  • 虚电路VC
    • 建立在两台网络设备之间共享网络的逻辑电路,包括PVC和SVC
  • DLCI
    • 用于区分虚电路

广域网二层技术_第21张图片

  • 帧中继接口类型:
    • 用户设备被称作数据终端设备DTE(Data Terminal Equipment),相应的接口类型就是DTE。
    • 为用户设备提供接入的设备,属于网络设备,被称为数据电路终结设备DCE(Data Circuit-terminating Equipment),相应的接口类型就是DCE或NNI(Network-to-Network Interface)。
    • 用户设备和网络设备之间的接口类型为用户-网络接口UNI(User-to-Network Interface),相应接口采用DTE或DCE。
    • 帧中继交换机之间的接口类型为NNI,相应接口采用NNI。
  • 虚电路VC(Virtual Circuit)是建立在两台网络设备之间共享网络的逻辑电路。
    • 根据建立方式,可以将虚电路分为两种类型:
    • 永久虚电路PVC(Permanent Virtual Circuit):手工设置产生的虚电路。
    • 交换虚电路SVC(Switching Virtual Circuit):通过协议协商自动创建和删除的虚电路。
    • 对于DTE侧设备,PVC的状态完全由DCE侧的设备决定。对于DCE侧设备,PVC的状态由网络来决定。
  • 虚电路通过数据链路连接标识DLCI(Data Link Connection Identifier)区分,DLCI只在本地接口和与之直接相连的对端接口有效,不具有全局有效性。在帧中继网络中,不同的物理接口上数值相同的DLCI并不表示是同一条虚连接。

2 LMI协议

  • 本地管理接口 ,用来监控永久虚电路状态
  • LMI协议用于管理PVC,包括 PVC的增加、删除,PVC链路完整性检测,PVC的状态维护

广域网二层技术_第22张图片

  • LMI(Local Management Interface ):本地管理接口 ,用来监控永久虚电路状态
    • 系统支持三种本地管理接口协议:ITU-T的Q.933 Annex A,ANSI的T1.617 Annex D和非标准兼容协议。其中,非标准兼容协议用于和其他厂商设备对接。
    • 对于DTE侧设备,永久虚电路的状态完全由DCE侧设备决定。对于DCE侧设备,永久虚电路的状态由网络来决定。在两台网络设备直接连接的情况下,DCE侧设备的虚电路状态是由设备管理员来设置的。
  • LMI协商:
    • DTE端定时发送状态查询消息(Status Enquiry)。
    • DCE端收到询问消息后,用状态消息(Status)应答状态询问消息(Status Enquiry)。
    • DTE解析收到的应答消息(Status),以了解链路状态和PVC状态。
    • 当两端设备LMI协商报文收发正确的情况下,链路协议状态变为Up状态,PVC状态变为Active状态。
    • 帧中继LMI协商通过。

3 InARP协议

  • 解析每条虚电路连接的对端设备的IP地址

广域网二层技术_第23张图片

  • 当帧中继LMI协商通过,PVC状态变为Active后,PVC开始InARP协商过程:
    • 如果本地接口上已配置了协议地址,那么设备就在该虚电路上发送Inverse ARP请求报文给对端设备。该请求报文包含有本地的协议地址。
    • 对端设备收到该请求后,可以获得本端设备的协议地址,从而生成地址映射,并发送Inverse ARP响应报文进行响应。
    • 本端收到Inverse ARP响应报文后,解析报文中的对端地址,也生成地址映射。
    • R1端生成地址映射(12.1.1.2<—>100),R2端生成地址映射(12.1.1.1<—>100)。
  • 如果已经手工配置了静态MAP或已经建立了动态MAP,则无论该静态MAP中的对端地址正确与否,都不会在该虚电路上发送Inverse ARP请求报文给对端,只有在没有MAP的情况下才会向对端发送Inverse ARP请求报文。

4 帧中继和水平分割

广域网二层技术_第24张图片

  • RTB通告给RTA一条路由信息,但由于水平分割机制,RTA不能通过接收此路由信息的Serial1/0/0接口将此路由信息转发给RTC。
  • HUB SPOKE模型 在RIP环境中水平分割默认关闭的,子接口peer
  • 为了减少路由环路的产生,路由协议的水平分割机制不允许路由器把从一个接口接收到的路由更新信息再从该接口发送出去。水平分割机制虽然可以减少路由环路的产生,但有时也会影响网络的正常通信。例如,本例中,RTB想通过RTA转发路由信息给RTC,但由于开启了水平分割,RTA无法通过S1/0/0接口向RTC转发RTB的路由信息。

5 子接口

  • 解决水平分割的问题
  • 子接口类型包括点到点子接口和多点子接口

广域网二层技术_第25张图片

  • 子接口可以解决水平分割的问题,一个物理接口可以包含多个逻辑子接口。每一个子接口使用一个或多个DLCI连接到对端的路由器。路由器之间需要经过帧中继的网络相连。
    • 在串口线路上定义这些逻辑子接口,每一个子接口使用一个或多个DLCI连接到对端的路由器。在子接口上配置了DLCI后,还需要建立目的端协议地址和该DLCI的映射。
    • 如图所示,虽然R4上仅有一个物理串口S0,但是在物理串口S0上现在定义了S0.1子接口上的DLCI到R1,S0.2子接口的DLCI到R2, S0.3子接口上的DLCI到R3。
  • 子接口类型:
    • 点到点(point-to-point)子接口:用于连接单个远端目标。一个子接口只配一条PVC,不用配置静态地址映射就可唯一地确定对端设备。所以,在给子接口配置PVC时已经隐含地确定了对端地址。
    • 点到多点(point-to-multipoint)子接口:用于连接多个远端目标。一个子接口上配置多条PVC,每条PVC都和它相连的远端协议地址建立地址映射,这样,不同的PVC就可以到达不同的远端而不会混淆。必须要通过手工配置地址映射,或者通过逆向地址解析协议来动态建立地址映射。

四、HDLC

1 HDLC概述

  • High-level Data Link Control,高级数据链路控制,简称HDLC,是一种面向比特的链路层协议。

广域网二层技术_第26张图片

  • HDLC思科独有 工作同步
  • ISO制定的HDLC是一种面向比特的通信规则。HDLC传送的信息单位为帧。作为面向比特的同步数据控制协议的典型,HDLC具有如下特点:

    1. 协议不依赖于任何一种字符编码集;
    2. 数据报文可透明传输,用于透明传输的“0比特插入法”易于硬件实现;
    3. 全双工通信,不必等待确认可连续发送数据,有较高的数据链路传输效率;
    4. 所有帧均采用CRC校验,并对信息帧进行编号,可防止漏收或重收,传输可靠性高;
    5. 传输控制功能与处理功能分离,具有较大的灵活性和较完善的控制功能。

2 HDLC帧结构

  • lHDLC有三种类型的帧:信息帧、监控帧、无编号帧。

广域网二层技术_第27张图片

3 HDLC接口地址借用

  • 完整的HDLC帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成。

    1. 标志字段为01111110,用以标志帧的开始与结束,也可以作为帧与帧之间的填充字符。
    2. 地址字段携带的是地址信息。
    3. 控制字段用于构成各种命令及响应,以便对链路进行监视与控制。发送方利用控制字段来通知接收方来执行约定的操作;相反,接收方用该字段作为对命令的响应,报告已经完成的操作或状态的变化。
    4. 信息字段可以包含任意长度的二进制数,其上限由FCS字段或通讯节点的缓存容量来决定,目前用得较多的是1000-2000比特,而下限可以是0,即无信息字段。监控帧中不能有信息字段。
    5. 帧检验序列字段可以使用16位CRC对两个标志字段之间的内容进行校验。
  • HDLC有三种类型的帧:

    1. 信息帧(I帧)用于传送有效信息或数据,通常简称为I帧。
    2. 监控帧(S帧)用于差错控制和流量控制,通常称为S帧。S帧的标志是控制字段的前两个比特位为“10”。S帧不带信息字段,只有6个字节即48个比特。
    3. 无编号帧(U帧)简称U帧。U帧用于提供对链路的建立、拆除以及多种控制功能。

结语

你可能感兴趣的:(HCIE,广域网二层技术,通信协议)