说明

之前介绍了以太网二层封装在TCP/IP协议里面工作的过程,其实除了EtherⅡ的封装以外,二层封装还有PPP、FR等许多协议,这里注意介绍两个常用到的,PPP和FR,FR其实在实际中用的并不多了,但是在RS的考试中,任然是必考点,不过这里主要介绍在路由信息有的情况下,二层封装的重要性以及工作过程,为了后续的动态路由协议在FR情况下的不同情况做准备。PPP这里主要介绍下它们协商的过程和一些特性,其余的没什么的了,其实,在卷一中根本没提及过PPP,因为Cisco默认封装的是HDLC,不像H3C和HW一样,默认为PPP。

PPP:Point-to-Point protocol,点对点协议

建立、配置及测试数据链路层的链路控制协议 (LCP,Link control Protocol)。它允许通信双方进行协商,以确定不同的选项
其实,PPP协议主要在NA的课程中会涉及到,但是,NP和IE都不会在将PPP的协议了,我们都知道PPP协议有两个控制协议,一个为LCP,一个为NCP。

协议 0021 IP数据报文
协议 C021 链路控制数据
协议 8021 网络控制数据

针对不同的网络层协议的网络控制协议(NCP :Network Control Protocol) 当前定义的有网络层有IP、OSI、AppleTalk.
PPP好处 : 1、支持同步与异步链路

2、支持验证,安全性有保证

3、支持IP地址的协商,扩展性比较灵活。

4、通过LCP来控制链路的建立

5、通过NCP来支持多种网络层协议

根据图上定义的IP,并且封装类型为PPP,我们都知道PPP会协商出32位主机路由,通过抓包来分析,它们怎么协商的。

LCP:当接口UP的时候,两端设备会通过LCP向对方发送配置信息报文 (Configure Request),一旦收到一个配置成功信息的包(Configure-Ack ),那么就完成了LCP的建立,如果有验证的话,那么会携带在LCP的字段里面,对方回复了ACK后,就开始交换验证需要的参数,来完成LCP的认证,最后建立LCP的连接 。

先看最开始的4个抓包,分别为两个Request,两个ACK。

展开内容查看。

code:为Request,注意Options:为0x0x0c5a0c,在查看对应的ACK信息

对应的ACK信息,code :ACK,Option也为 0x0x0c5a0c。

这里为双向的,也就是LCP的建立是双方都进行确认的,如果有PAP或者CHAP认证的话,也会在LCP阶段进行完成。

NCP:负责上层网络协议的选择或者多个协议,如果是IP网络的话,那么就会发送 IPCP的 (Configure Request)信息,包含自己的IP地址,当对端收到以后,会回复一个(configure ACK),表示收到了,同时还会记录在路由表中,由于没有携带子网掩码,所以默认为32位主机路由。

cdp信息可以忽略掉,是Cisco默认发送的,除了CDP外,有两队request,也有两队ACK。

大部分信息跟LCP的内容一致,只是opions包含的是自己的接口IP地址。

ACK的内容也基本上一样,只是对应的Options是回应这个IP的。 当回应以后,就会把这个IP地址作为主机路由出现在路由表中。

关闭主机路由的特性,在有时候,我们不希望它出现主机路由,那么可以通过在接口下输入 no peer neighbor-route,总有人说关闭后,主机路由还在,这是因为PPP的两个控制阶段已经协商完毕,这时候必须让它们重新协商才行,就是shutdown接口,然后在开启。

这样,主机路由就消失了。

keepalive:在建立后,PPP会每10s发送一次keealive包,来探测对方的存在,通过LCP的Echo request,那么对方必须回复一个Echo reply来确认双方存在,如果3个包还没有收到回复,那么就会断开连接。这也是PPP为什么能作于计费的一个特性。

帧中继 : Frame relay :在数据链路层用简化的方法传送和交换数据单元的快速分组交换技术。
帧中继特点 : 1、帧中继协议以帧的形式传递数据信息

2、帧中继协议是面向连接的交换技术

3、帧中继可以在一条物理链路上提供多虚链路

4、帧中继链路层完成统计复用、帧透明传输和错误检测等功能

5、帧中继提供一套合理的带宽管理和防止拥塞的机制

IP地址信息、接口信息如图所示。

一:帧中继交换机的搭建

Cisco-FR(config)#frame-relay switching :开启FR交换机功能

Cisco-FR(config)#interface s1/0
Cisco-FR(config-if)#encapsulation frame-relay :封装帧中继
Cisco-FR(config-if)#frame-relay intf-type dce :FR的类型为DCCE
Cisco-FR(config-if)#frame-relay route 102 interface s1/1 201 做静态映射,带有DLI 102的数据包从s1/1的201出去
Cisco-FR(config-if)#frame-relay route 103 interface s1/2 301 静态映射,带有DLCI 103的数据包从S1/2 301出去
Cisco-FR(config-if)#clock rate 64000 在GNS3或小凡上不需要敲入,但是在PT和真机都需要
Cisco-FR(config-if)#no shutdown

Cisco-FR(config)#interface s1/1
Cisco-FR(config-if)#encapsulation frame-relay
Cisco-FR(config-if)#frame-relay intf-type dce
Cisco-FR(config-if)#clock rate 64000
Cisco-FR(config-if)#frame-relay route 201 interface s1/0 102
Cisco-FR(config-if)#no shutdown

Cisco-FR(config)#interface s1/2
Cisco-FR(config-if)#encapsulation frame-relay
Cisco-FR(config-if)#frame-relay intf-type dce
Cisco-FR(config-if)#frame-relay route 301 interface s1/0 103
Cisco-FR(config-if)#clock rate 64000
Cisco-FR(config-if)#no shutdown

二、客户端配置帧中继的接入端

Cisco-R1(config)#int s1/0
Cisco-R1(config-if)#encapsulation frame-relay
Cisco-R1(config-if)#frame-relay map ip 12.1.1.2 102 broadcast
Cisco-R1(config-if)#frame-relay map ip 12.1.1.3 103 broadcast

Cisco-R2(config)#int s1/0
Cisco-R2(config-if)#encapsulation frame-relay
Cisco-R2(config-if)#frame-relay map ip 12.1.1.1 201 broadcast

Cisco-R3(config)#int s1/0
Cisco-R3(config-if)#encapsulation frame-relay
Cisco-R3(config-if)#frame-relay map ip 12.1.1.1 301 broadcast

注意:这里接口都是没有shutdown的,注意是为了等会查看帧中继之间的协商过程

boardcost参数的含义:在帧中继中,依靠的是DLCI号来传递的,那么本身不具备有广播的能力,这个参数的含义是,一旦加上了这个参数的PVC,一个广播或者组播的数据过来,那么就会像这些有boardcost参数的PVC下都复制一份发送出去,来实现广播和组播的效果。也就是把一个广播变成多个单播发送出去。

三:分析FR与接入端直接的协商过程,以及map下的各种状态。

Cisco-FR上的每个PVC的状态都是inacive的,表示接入端的静态映射或者接口出现了故障问题

1、开启Cisco-R1的s1/0接口,抓包分析接入端和FW的端口协商状态

LMI:Local Management interface 本地管理接口:在帧中继中与路由器之间,路由器(DTE)发送status enquiry(探测请求包) 而帧中继的一般为DCE 回复status,来保证双方是否链路正常{这里注意的是,发送请求包只能是DTE端,而DCE只能回复。这也是为什么帧中继交换知道客户的链路正常和DLCI号(在enquiry中会携带)

携带了DLCI号,但是,不知道为什么用wirehark抓包显示是错误的。

再次看,FW上PVC的状态

注意:这里active是针对output DLCI号,这里102和103的都为active了。

再看,Cisco-R1上PVC的状态

都为inacive状态,为什么? 因为FW上面针对102去往201,103去往301的状态为inactive,也就是说201和301的PVC接入端链路出现了问题,或者没有正确配置静态映射,导致在staus enquiry中携带的DLC与帧中继的DLCI号对应上。

inactive状态:对端的链路出现了故障

deleted状态:本地静态指定的DLCI号不在帧中继中存在。

问题来啦,那么Cisco-R1是怎么知道对方出现了故障或者配置不正确呢?
其实,很简单,是FW告诉Cisco-R1的。

帧中继每30s,会把自己PVC status发送给路由器,当路由器收到后,如果本地静态指定了DLCI号 与帧中继发送过来的一致,那么就会处于两个状态,一个为inactive,这个状态是因为帧中继中映射的出方向处于inactive的状态,所以觉得也没有必要发送数据过去,当对端处于active时,那么本地状态也会为active。

抓包里面携带了PVC的status,但是,DLCI的HIGH和LOW不知道为什么是这样现实。

还可以通过debug frame-reply lmi 查看

status 0x00代表active,如果是0x02的话,就代表inactive

3、LMI的类型
LMI:也有三种类型 cisco | ansi | q933a 如果没有指定是通过协商来决定的,当一个接口up的时候,会同时发送这三种类型的LMI给帧中继,优先Cisco,最终协商的是cisco。LMI的类型是针对Cisco-FR来说的,也就是说FW指定了为什么,那么协商的时候就是指定的类型,否则默认是cisco

把Cisco-R1的LMI类型改为ansi,再次抓包
Cisco-FR(config-if)#frame-relay lmi-type ansi


接入端发送了一个enquiry的请求,类型为LMI ,但是FW回应的是Q.933 的Staus,紧接着接入端也发送Q.933的enquiry的请求了。

四:invrse ARP的工作原理
也许在配置帧中继的时候,最喜欢敲的一个命令就是no arp frame-relay和no frame-relay inverse-arp,是否真的有必要敲这句话呢?
其实,可以发现我在配置帧中继的时候,没有敲过这句话,因为接入端只要配置了静态map的时候,那么它就不会发送inverse ARP来动态获取DLCI号了。

Cisco-R1(config-if)#no frame-relay map ip 12.1.1.2 102 broadcast
Cisco-R1(config-if)#no frame-relay map ip 12.1.1.3 103 broadcast

这时候,把Cisco-R1的静态映射给去掉,然后,在Cisco-R2和Cisco-R1抓包,查看是否会发送ARP请求 (在Cisco-R1上之前抓包查看过,只有enquiry的包,没有ARP,因为它有静态map存在。)

这时候,就是简单的Cisco-R1——-FR———–Cisco-R2,都通过ARP获取映射,来分析下原理

inverse ARP 原理:当Cisco-R1封装了FR,接口UP的时候,就会发送LMI的探测包,当收到帧中继的LMI回复的时候,这个回复包会携带这个接口属于的DLCI号,这时候Cisco-R1就会发送inverse ARP请求,请求的内容包含 发送者的硬件地址为0,源IP为Cisco-R1目的硬件地址(任意值) 目的IP为0.0.0.0 DLCI号为102(FR通过LMI回复包得到),然后发送到FR上,FR查看本地DLCI对应关系,102置换成201,发送给Cisco-R2 ,Cisco-R2也收到了LMI的回复包,知道DLCI号为201,当收到ARP请求时候,它就知道去往Cisco-R1走201出去,并且会回复ARP请求,源地址为自己,硬件地址还是为0,目的地址为Cisco-R1,目的硬件地址为任意值,通过DLCI号 201发送出去,FR收到后 对应DLCI映射关系,从102发出,到达Cisco-R1,Cisco-R1就会在动态的在map中显示去往Cisco-R2 从DLCI号102出去,状态为active dynamic。 Cisco-R2获取去往Cisco-R1的原理也是一样的,并且Cisco-R1 与 Cisco-R2 几乎同时发起inverse ARP请求。 在实际环境中除了Full Mash环境,否则不要用inverse ARP,会造成DLCI与地址解析错误,显示为0.0.0.0与DLCI号的显示,解决办法,关闭no frame-rely inverse-arp no arp frame-rely 然后保存 重启。 clear frame-relay inarp 也无效。这也是RS CCIE考试中容易遇到的问题。

案例分析:二层封装的重要性

这个也是这次要说明的主题,其实很多人都有个误区,认为只要学习到对方的路由,就会认为数据包能够正常转发了,之前分析过在以太网环境下,如果通过ARP获取的MAC地址信息不对的话,那么不管是否有路由存在,那么通信是不正常的。

环境很简单,运行RIPv2,在Cisco-R2与Cisco-R3上面只有一个静态map就是关于Cisco-R1的12.1.1.1的,现在的测试就是,当RIP收敛完全以后,是否能ping通3.3.3.3。 配置省略了,这里主要讨论封装问题。


发现路由已经收敛完成了。

不同,为什么? 我们可以发现关于3.3.3.3的下一跳是12.1.1.3,而Cisco-R2本身就一个静态map关于12.1.1.1的,所有在有路由的情况下,它想发送数据包出去,但是二层封装的时候,发现没有关于12.1.1.3的封装信息,也就是DLCI号。

通过debug信息,它提示encapsulaion failed,封装失败。
解决办法就是在Cisco-R2和Cisco-R3上在添加静态映射,这里注意DLCI号是可以复用的,也就是说,12.1.1.1和12.1.1.3都是从201发送出去,至于对方是否转发这数据包,Cisco-R2本身是不关心的,它只看是否有映射。 当前,这里Cisco-R1是有Cisco-R3的映射的,所以,Cisco-R1代为转发了。
Cisco-R2(config-if)#frame-relay map ip 12.1.1.3 201 broadcast

Cisco-R3(config-if)#frame-relay map ip 12.1.1.2 301 broadcast

这个问题,很容易在动态路由协议中出现的,包括OSPF、EIGRP、RIP、ISIS(它还需要映射CLNS地址)

总结:这次只要介绍了二层封装,关于PPP和FR的协商过程,和一些主要的地方, 特别是需要明白二层封装的重要性,只有这样才会在以后的工作中或者考试中快速的进行排错。

如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路Blog(其他平台同名),版权归网络之路Blog所有,原创不易,侵权必究,觉得有帮助的,关注、转发、点赞支持下!~。

TCPIP卷一(2):二层封装之–PPP与FR相关推荐

  1. 二层技术——点对点协议ppp以及NBMA网络MGRE的tunnel隧道技术以及二层综合实验

    二层技术-数据链路层:-核心功能–介质访问控制功能-控制物理层 网络类型: 1)MA–BMA.NBMA:多路访问–在一个网段内节点数量不限制 2)点到点:在一个网段只能两个节点存在,出现第三个节点时, ...

  2. TCPIP卷一(1):二层封装与路由器转发数据过程

    二层封装 为什么需要了解二层封装呢? 因为在一个路由器转发数据包的时候,除了知道目的地怎么去(有路由),还需要二层的正确封装,否则就算有路由的话,也无法进行通信. 这是卷一提到过的,虽然没有像协议卷一 ...

  3. 计算机网络进阶 ---- 网络类型 ---- 二层封装协议 ---- HDLC ---- PPP ---- pap认证 ---- chap认证 ---- 详解

    一.网络类型: [1]点到点 (Peer to Peer – p2p) ---- 在一个网段中,只能部署两个节点: [2]MA(Multiple Access) ---- 多路访问 ---- 一个网段 ...

  4. HCIP版———二层技术——点对点协议ppp以及NBMA网络MGRE的tunnel隧道技术以及二层综合实验

    一.网络类型: 点到点 BMA:广播型多路访问 – 在一个MA网络中同时存在广播(洪泛)机制 NBMA:非广播型多路访问-在一个MA网络中,没有洪泛机制 MA:多路访问 在一个网段内,存在的节点数量不 ...

  5. 广域网技术(二层封装技术)

    广域网技术(二层封装技术) (LAN:局域网   WAN:广域网   WLAN:无线局域网   VLAN:虚拟局域网)(最早带宽:两根铜丝64kbit/s) 1.二层 - 数据链路层 (1)分类:不同 ...

  6. TCPIP卷一(8):EIGRP的组建和邻居状态机

    说明 EIGRP的出现,原本Cisco只是打算为了让EIGRP代替IGRP支持无类别路由选择而出现的,随着在开发的时期,许多学术上的建议使得EIGRP以一个更加强大的协议出现,有时候,我们称为具有链路 ...

  7. 用pppoe封装的ppp帧头部不包含标志_一文读懂计算机底层网络原理,包括TCP、UDP、header,什么是包、帧、段等关键问题...

    说到计算机网络原理,大家可能马上联想到,七层协议,传输层,链路层,三次握手四次挥手:前端的同学,还会想到我们用Crome F12的network里面的headers,状态码等.后端同学可能会联想到,抓 ...

  8. tcpip卷一二三区别_八年级物理期末试卷(内附初三期末卷)

    初三期末卷请在后台回复关键词:初三期末卷 2020学年度(上)期末检测 八年级物理试题 温馨提示: 1.本试卷共6页,满分为100分.考试时间90分钟. 2.答卷前务必将自己的学校.班级.姓名.座位号 ...

  9. H3C基本实验:PPP、FR配置实验

     一.实验目的和要求 概念:PPP(Point_to_Point Protocol)协议是在点到点链路上承载网络层数据包的一种链路层协议,由于它能够提供用户验证,且易于扩充.支持同/异步物理链路, ...

最新文章

  1. ACM题集以及各种总结大全(转)
  2. [翻译]一步步教你配置SQL SERVER合并复制(四)提高Distributor的安全性
  3. android如何添加gif,Android加载Gif和ImageView的通用解决方案:android-gif-drawable(1)...
  4. svn merger的时候 报远程主机强迫_SVN与Git比较的优缺点差异
  5. 计组-I/O系统的基本概念
  6. less css用法思维导图
  7. LeetCode 980. 不同路径 III(DFS+回溯)
  8. javaWeb -- 虚拟主机以及虚拟目录映射的配置
  9. 后序遍历的非递归算法python_Python非递归实现二叉树的后续遍历
  10. 启用了文件索引,干脆连文件都找不到了
  11. 柯西分布——正态分布的兄弟
  12. Android手机步数怎么统计的,手机中运动步数是如何计算的?(15个回答)
  13. 计算机微软云同步怎样安装软件,在windows10/8/7系统安装和设置OneDrive 同步文件...
  14. 如何冻结Excel中的行
  15. IDEA中怎么创建xml文件
  16. 如何安装svelte_svelte js框架介绍编译器
  17. tar.gz 与 tar.xz
  18. Download 文件下载
  19. 数据挖掘比赛常用数据处理函数
  20. 人体结构怎么画?如何画好人体比例?

热门文章

  1. python进行Excel处理
  2. ClickHouse入门到精通
  3. 2021年起重机械指挥考试总结及起重机械指挥考试技巧
  4. 已知两边和夹角求第三边长_已知任意三角形的两边和夹角,怎样用三角函数求出第三边的长度...
  5. 嵌入式是什么?为什么引入嵌入式技术?嵌入式技术的优缺点?
  6. excel 单元格插入图片
  7. Python实现BOA蝴蝶优化算法优化支持向量机分类模型(SVC算法)项目实战
  8. jmeter---Throughput(吞吐量)系列
  9. left join 和 left outer join (可解决多个表left join的问题)
  10. 工作站 显卡 测试软件,【戴尔Precision 3530移动图形工作站笔记本使用总结】配置|硬盘|显卡|屏幕|续航_摘要频道_什么值得买...