【WLAN从入门到精通-基础篇】第9期——直接转发和隧道转发

AC FIT AP架构的网络中存在两种报文,一类是AC管理控制AP的报文,称为管理报文(也叫控制报文),另一类是STA的用户数据报文,称为业务报文

556c113eb0e56.png

如上图所示,图中的虚线表示报文的转发路径。管理报文只在AC和AP之间的网络中传输,需要经过CAPWAP隧道转发。业务报文在STA和STA要访问的网络之间传输。业务报文存在两种转发方式,直接转发(本地转发)和隧道转发(集中转发),隧道转发方式下业务报文需要经过CAPWAP隧道转发,直接转发方式下不经过CAPWAP隧道转发。

本期分享的内容是直接转发和隧道转发两种方式下业务报文的转发处理流程,为便于理解,我们先来了解管理报文的转发处理流程。

管理报文的转发处理流程

结合下面的图来分析管理报文的转发处理流程。组网较为简单,旨在便于描述原理。

556c114d8a080.png

从上往下看图,右侧报文结构简图从右往左看。图上的Payload看做是AC想要发送给AP的实际有效信息,即管理报文的实际内容。(直接转发和隧道转发是针对业务报文而言的,管理报文和直接转发、隧道转发没有半毛钱关系,管理报文只有一种转发处理流程。)

一、封装

AC在发送Payload前,需要先把Payload封装在CAPWAP隧道中。所谓封装在CAPWAP隧道中,实际就是在Payload报文外面增加一节CAPWAP字段,这样“看起来”只要是有CAPWAP字段的报文就认为是封装在了CAPWAP隧道中。

增加CAPWAP字段后,再增加UDP/IP字段和802.3字段,这里的802.3字段表示这个报文将要通过有线的以太网进行传输。

最后,AC还要给这个报文加上管理VLAN。所谓管理VLAN,是指报文在CAPWAP封装后添加的外层VLAN。在AC与AP间的网络中,管理报文会一直带着管理VLAN进行转发处理。

二、传输

结合实际的配置来看,AC到AP间的网络都需要允许携带管理VLAN的报文通过,以保证管理报文能够在AC和AP间正常传输。

1、如果AC与AP间的网络是三层组网,管理VLAN会在报文转发过程中随之改变,图中的VLAN m’≠VLAN m。(这里是以在交换机Switch上进行三层转发为例,为便于记忆,m取management的第一个字母。)

2、如果AC与AP间的网络是二层组网,管理VLAN会保持不变,则图中的VLAN m’=VLAN m。

三、解除封装

当报文从上游到下游转发到直连AP的接口,即图中Switch连接AP的接口时,需要去掉报文外层的管理VLAN,再将剩下的报文内容发送给AP。默认情况下,AP只能识别处理不带有管理VLAN的管理报文并解除CAPWAP封装,识别出管理报文的具体内容Payload。

结合实际的配置,直连AP的设备接口通常都要求配置PVID为管理VLAN,目的就是在此接口发送报文给AP的时候,去掉报文外层的管理VLAN。

当然,如果接口上没有配置PVID,或者说AP接收到的报文就是带有管理VLAN,也是有应对方法的,这时候需要针对AP配置management-vlan为管理VLAN m,这样AP在接收到带有管理VLAN的报文后,还是能够识别并去掉管理VLAN,解除CAPWAP封装,解析出Payload。

 

以上分析的是AC发送管理报文给AP的过程,AP发送管理报文给AC的过程,只要把上面的流程倒过来理解就可以了。AP发送经过CAPWAP封装后的报文到直连AP的接口时,Switch会给报文加上管理VLAN,再转发给AC。到达AC后,由AC去掉管理VLAN,解封CAPWAP封装,获取报文信息内容。

业务报文的直接转发处理流程

结合下图来分析直接转发方式下业务报文的转发处理流程。

556c115c84afc.png

同样上面往下,右边往左看图。图上的Payload是STA访问的网络设备发送给STA的实际有效信息,即业务报文的实际内容。图中有两个AC,如果AC处在中转站处,表示是AC直连式组网;如果AC处在酱油党处,表示是AC旁挂式组网;不是指有两个AC同时存在于网络中。无论AC处于哪里,业务报文都是按照同样的转发路径,从Internet一直转发到STA。

一、封装

发送给STA的Payload在进入网络的时候就会进行一次封装,这个封装不是指CAPWAP封装,而是在Payload报文外面增加一段802.3字段和添加业务VLAN(在图中未体现UDP/IP字段,可以理解为已经包含在了Payload中)。业务VLAN即是指业务报文外层的VLAN。

直接转发方式下,业务报文不会进行CAPWAP封装。

二、传输

结合实际的配置来看,直接转发方式下,从上层网络Internet到AP之间都是要允许携带业务VLAN的报文通过,以保证业务报文能够在Internet和STA间正常传输。

1、AC直连组网场景下,AC处在如图中的中转站处,在收到上层网络发送来的Payload信息后,会和其它的交换机一样只进行报文转发,不进行CAPWAP封装,图中的中转站AC收到的报文和交换机收到的报文格式是一致的,且AC的任务也是和交换机一样转发业务报文给下一个网络设备,

2、AC旁挂组网场景下,AC处在如图中的酱油党处,是不会收到业务报文的,在这种场景下,业务报文根本不需要经过AC,直接经过交换机和AP就转发给STA了。

同样业务VLAN在转发过程中也可能存在VLAN变化的情况:

1、如果上层网络Internet到AP之间是三层组网,业务VLAN会在报文转发过程中随之改变,图中的VLAN s’≠VLAN s。(这里是以在交换机Switch上进行三层转发为例,为便于记忆,s取service的第一个字母。)

2、如果上层网络Internet到AP之间是二层组网,业务VLAN会保持不变,则图中的VLAN s’=VLAN s。

结合实际的配置来看,直接转发方式下,从上层网络到AP之间都是要允许携带业务VLAN的报文通过。

三、去除业务VLAN

当业务报文从上游到下游转发到AP时,AP也要对接收到的报文进行两项处理,先是将外层的业务VLAN去掉,然后将原有的802.3字段改为802.11字段,802.11字段表示这个报文将采用无线传输的方式转发出去。处理完成后,AP将业务报文无线传输给STA。

四、解析业务报文

STA接收到业务报文后,去除掉外层的802.11字段,剩余的Payload字段被STA解析处理后就可以识别出具体内容了。由于STA无法识别带有VLAN的报文,所以AP在发送报文给STA前,必须要先去掉业务报文中的VLAN。

 

以上分析的是上层网络发送业务报文给STA的过程,STA发送报文到上层网络的过程,也是把上面的流程倒过来理解就可以了。STA要在报文外层加上802.11字段,将报文以无线传输的方式发送给AP,AP将收到的报文先转换为802.3格式,再添加业务VLAN,通过上层的各级网络设备,将报文转发传输到目的地。

业务报文的隧道转发处理流程

同样看下图来分析隧道转发方式下业务报文的转发处理流程。

556c117193edc.png

图上的Payload是STA访问的网络设备发送给STA的实际有效信息,即业务报文的实际内容,以AC直连式组网为例说明。

一、封装

和直接转发一样,发给STA的Payload在进入网络的时候就会进行封装,不是CAPWAP封装,而是在Payload报文外面增加802.3字段和添加业务VLAN(在图中未体现UDP/IP字段,可以理解为已经包含在了Payload中)。完成后业务报文将径直发给AC。隧道转发方式下,所有的业务报文都必须转发到AC

AC接收到业务报文后,会进行CAPWAP封装,将收到的整个业务报文看做一个新的Payload,在外层添加CAPWAP字段,增加UDP/IP字段和802.3字段。最后再为业务报文加上管理VLAN。可以看出AC上处理业务报文的过程和处理管理报文的过程是相同的。

在AC与AP间的网络中,业务报文会一直带着管理VLAN进行转发处理。

二、传输

结合实际的配置来看,隧道转发方式下,从上层网络Internet到AC之间的网络设备上要允许携带业务VLAN的报文通过,在AC和AP间的网络设备上要允许携带管理VLAN的报文通过。以保证业务报文能够在Internet和STA间正常传输。

因为AC和AP间的网络上业务报文是CAPWAP封装的对象,业务VLAN可以看做是新的Payload的一部分,不会被网络设备感知到,所以这段网络上只要求允许携带管理VLAN的报文通过即可。只要管理VLAN能够通过,业务VLAN同样也就打包在管理VLAN中通过了。

同样管理VLAN在转发过程中也可能存在VLAN变化的情况:

1、如果AC与AP间的网络是三层组网,管理VLAN会在报文转发过程中随之改变,图中的VLAN m’≠VLAN m。

2、如果AC与AP间的网络是二层组网,管理VLAN会保持不变,则图中的VLAN m’=VLAN m。

三、去除业务VLAN

当报文从上游到下游转发到直连AP的接口,即图中Switch连接AP的接口时,需要去掉报文外层的管理VLAN,然后把剩下的报文内容发送给AP。如果不去掉,则需要在AP上配置management-vlan,这块原理和管理VLAN的处理流程一致。不同点在于下面AP的处理方式。

AP除了需要解除CAPWAP封装外,还需要把业务VLAN去掉,再将VLAN后的802.3字段替换为802.11报文,因为业务报文是发送给STA的,需要把不带VLAN的业务报文通过无线方式传送到STA处,这样STA才能最终接收到能够识别的数据。

四、解析业务报文

最终STA解析业务报文内容的流程和直接转发方式下的一样,STA接收到业务报文后,去除掉外层的802.11字段,剩余的Payload字段被STA解析处理即可。同样由于STA无法识别带有VLAN的报文,所以AP在发送报文给STA前,必须要先去掉业务报文中的VLAN。

 

以上分析的是隧道转发方式下上层网络发送业务报文给AP的过程,AP发送报文到上层网络的过程,同样也是把上面的流程倒过来理解就可以了。

隧道转发方式与直接转发方式的优缺点比较

由于直接转发方式和隧道转发方式下对业务报文存在有不同的处理流程,两种方式之间互相对比,各自存在着一些优缺点。隧道转发方式中,由于所有的业务数据都需要转发到AC,所以在AC上容易集中管理和控制业务报文,并且由于业务报文都封装在了CAPWAP隧道中,提高了业务报文的安全性。但是同样由于所有业务报文都转发给AC,对AC的报文处理能力要求较高。直接转发方式的特点则刚好与隧道转发相反。优缺点对比表如下:

 

数据转发方式

优点

缺点

隧道转发

AC集中转发数据报文,安全性更高,方便集中管理和控制,新增设备部署配置方便,对现网改动小。

业务数据必须经过AC封装转发,报文转发效率比直接转发方式低,AC所受压力大。

直接转发

业务数据不需要经过AC封装转发,报文转发效率高,AC所受压力小。

业务数据不便于集中管理和控制,新增设备部署对现网改动大。

组网选用隧道转发还是直接转发,需要结合实际的需求和现网状况才能选择出更适合自己的方式。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值