网络报文处理流程

报文处理流程

WLAN网络中的数据包括管理报文和业务数据报文。管理报文必须采用CAPWAP隧道进行转发,而业务数据报文除了可以采用CAPWAP隧道转发之外,还可以采用直接转发方式和Soft-GRE转发方式。

管理报文用来传送AC与AP之间的管理数据,存在于AC和AP之间。业务数据报文主要是传送WLAN用户上网时的数据,存在于STA和上层网络之间。

WLAN网络中,STA和AP间的报文为802.11报文,AP作为STA和有线网络间的桥梁,完成802.11报文的终结并转换为802.3报文,然后向有线网络中进行转发。

WLAN网络中,针对管理报文和业务数据报文分别配置不同的VLAN tag。下面用VLAN m、VLAN m'表示管理VLAN,VLAN s、VLAN s'表示业务VLAN,分别介绍管理报文和业务报文的转发流程。

  • 当AP与AC间为二层组网时,VLAN m与VLAN m'相同,VLAN s与VLAN s'相同;
  • 当AP与AC间为三层组网时,VLAN m与VLAN m'不相同,VLAN s与VLAN s'不相同。

对于WLAN网络的漫游场景,根据STA是否在同一个子网内漫游,可以将漫游分为二层漫游和三层漫游。漫游场景的管理报文转发处理流程与一般的WLAN场景没有区别,都必须采用CAPWAP隧道进行转发。而业务数据报文除了可以采用CAPWAP隧道转发之外,还可以采用直接转发方式。

管理报文的转发处理流程

如图1所示,

  • 上行(AP-->AC):管理报文由AP封装在CAPWAP报文中;由连接AP的Switch标记管理VLAN m;AC将CAPWAP报文解封装并终结管理VLAN m'。
  • 下行(AC-->AP):管理报文由AC封装在CAPWAP报文并标记管理VLAN m';由连接AP的Switch终结VLAN m;AP接收CAPWAP报文后解封装。

中间网络设备需配置和透传管理VLAN m。

图1 管理报文转发处理流程图

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

如图2所示,直接转发模式下,业务数据报文不经过CAPWAP封装。

  • 上行(STA-->Internet):AP收到STA的802.11格式的上行业务数据,由AP直接转换为802.3报文并标记业务VLAN s后向目的地发送。
  • 下行(Internet-->STA):下行业务数据以802.3报文到达AP(由上层网络设备标记业务VLAN s'),由AP转换为802.11格式发送给STA。

中间网络设备需配置和透传业务VLAN s,这种组网模式下,AC一般旁挂在核心交换机或汇聚交换机上,不承担数据业务转发功能,只对AP进行管理。如果AC处于直连位置时,数据报文也需要通过AC进行转发,此时AC可视为承担汇聚交换机功能。

图2 业务数据报文直接转发处理流程图

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

如图3所示,AP与AC之间同时建立控制隧道和数据隧道,WLAN用户业务数据和管理报文分别封装在CAPWAP数据报文和CAPWAP控制报文中,在CAPWAP隧道中传递。

  • 上行(STA-->Internet):AP收到STA的802.11格式的上行业务数据,由AP直接转换为802.3报文并标记业务VLAN s,然后AP封装上行业务数据到CAPWAP报文中;由连接AP的交换机标记管理VLAN m;AC接收后解CAPWAP封装并终结VLAN m'。
  • 下行(Internet-->STA):下行业务数据由AC封装到CAPWAP报文中,AC允许携带VLAN s的报文通过并对该报文标记VLAN m',由AC标记业务VLAN s和管理VLAN m';由连接AP的交换机终结VLAN m;由AP接收后解CAPWAP封装并终结VLAN s,并将802.3报文转换为802.11报文发送给STA。

封装后的报文在CAPWAP报文外层使用管理VLAN m,AP与AC之间的网络设备只能透传管理VLAN m,而对封装在CAPWAP报文内的业务VLAN s不能放通。

AC处于直连和旁挂位置时,封装后的数据包都需要由AC处理和转发。

图3 业务数据报文CAPWAP隧道转发处理流程图

业务数据报文Soft-GRE转发的处理流程

如图4所示,Soft-GRE转发模式下,业务数据报文在Soft-GRE隧道中传输。

  • AP收到终端的802.11格式的上行业务数据,由AP直接转换为802.3报文并封装在Soft-GRE隧道中传输至网关BRAS,由BRAS进行Soft-GRE解封装并对业务数据进行统一计费和认证。
  • 下行业务数据从BRAS处开始封装在Soft-GRE隧道中传输至AP,由AP进行Soft-GRE解封装并转换为802.11格式发送给终端。

中间网络设备需要保证AP和BRAS间路由可达,业务数据报文才能在Soft-GRE隧道建立后正常传输。

图4 业务数据报文Soft-GRE转发处理流程图

二层漫游场景业务数据报文转发的处理流程

如图5所示,二层漫游后STA仍然在原来的子网中,FAP(Foreign AP)/FAC(Foreign AC)对二层漫游用户的报文转发同普通新上线用户没有区别,直接在FAP/FAC本地的网络转发,不需要通过AC间隧道转回到HAP(Home AP)/HAC(Home AC)中转。

  • 漫游前:HAP接收到STA发送的业务报文并发送给HAC,由HAC直接向目的地发送。下行业务数据通过HAC到达HAP后,由HAP发送给STA。
  • 漫游后:FAP接收到STA发送的业务报文并发送给FAC,由FAC直接向目的地发送。下行业务数据通过FAC到达FAP后,由FAP发送给STA。

图5 二层漫游场景业务数据报文转发的处理流程图

三层漫游场景业务数据报文转发的处理流程

三层漫游时,用户漫游前后不在同一个子网中,为了支持用户漫游后仍能正常访问漫游前的网络,需要将用户流量通过隧道转发到原来的子网进行中转。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465949.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

反应式编程

反应式编程 前言1 反应式编程概览2 初识 Reactor2.1 绘制反应式流图2.2 添加 Reactor 依赖 3.使用常见的反应式操作3.1 创建反应式类型3.2 组合反应式类型3.3 转换和过滤反应式流3.4 在反应式类型上执行逻辑操作 总结 前言 你有过订阅报纸或者杂志的经历吗?互联网的确从传统的…

BYTEVALUE 百为流控路由器远程命令执行漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

JavaWeb:SpringBootWeb登录认证 --黑马笔记

1.登录认证 登录认证,如果只是简单的判断用户名和密码在数据库中是否对应相等来实现这个需求是有问题的,它只是徒有其表,我们不登陆也可以访问后端系统页面,真正的登录功能应该是:登陆后才能访问后端系统页面&#xf…

Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性

什么是对象和类 什么是 Python 类、类对象、实例对象 类变量、实例变量/类属性、实例属性 前言 只是叫法不一样 实例属性 实例变量 类属性 类变量 个人认为叫属性更恰当 类属性和实例属性区别 类属性,所有实例对象共享该属性实例属性,属于某一…

数据库恢复

文章目录 前言一、事务1.概念2.定义语句3.ACID特性 二、数据库恢复的必要性1.为什么要进行数据库恢复2.数据库恢复机制的作用 三、数据恢复使用的技术1.数据转储2.登记日志文件 四 、不同故障的数据恢复策略1.事务内部的故障2.系统故障3.介质故障 五、具有检查点的恢复技术1.检…

跟着pink老师前端入门教程-day24

四、移动端WEB开发之响应式布局 1、响应式开发 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的。 1.2 响应式布局容器 响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果。 原理…

springboot181基于springboot的乐享田园系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

CSS基础---新手入门级详解

CSS:层叠样式表 CSS&#xff08;Cascading Style Sheets,层叠样式表&#xff09;&#xff0c;是一种用来为结构化文档添加样式&#xff08;字体、间距和颜色&#xff09;的计算机语言&#xff0c;css扩展名为.css。 实例: <!DOCTYPE html><html> <head><…

通过容器化释放云的力量

NCSC (英国国家网络安全中心) 经常被问到的一个问题是是否在云中使用容器。这是一个简单的问题&#xff0c;但答案非常微妙&#xff0c;因为容器化的使用方式有很多种&#xff0c;其中一些方法比其他方法效果更好。 今天&#xff0c;我们发布了有关使用容器化的安全指南&#…

C++ //练习 5.19 编写一段程序,使用do while循环重复地执行下述任务:首先提示用户输入两个string对象,然后挑出较短的那个并输出它。

C Primer&#xff08;第5版&#xff09; 练习 5.19 练习 5.19 编写一段程序&#xff0c;使用do while循环重复地执行下述任务&#xff1a;首先提示用户输入两个string对象&#xff0c;然后挑出较短的那个并输出它。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#x…

没更新的日子也在努力呀,布局2024!

文章目录 ⭐ 没更新的日子也在努力呀⭐ 近期的一个状态 - 已圆满⭐ 又到了2024的许愿时间了⭐ 开发者要如何去 "创富" ⭐ 没更新的日子也在努力呀 感觉很久没有更新视频了&#xff0c;好吧&#xff0c;其实真的很久没有更新短视频了。最近的一两个月真的太忙了&#…

SpringBoot3整合Knife4j

前置&#xff1a; 官网&#xff1a;快速开始 | Knife4j gitee&#xff1a;swagger-bootstrap-ui-demo: knife4j 以及swagger-bootstrap-ui 集成框架示例项目 - Gitee.com 1.依赖引入&#xff1a; ps&#xff1a;json处理需要引入相关包 <dependency><groupId>c…

【PTA|期末复习|编程题】数组相关编程题(一)

目录 7-1 乘法口诀数列 (20分) 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 样例解释&#xff1a; 代码 7-2 矩阵列平移(20分) 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; …

尚硅谷 Vue3+TypeScript 学习笔记(下)

目录 五、组件通信 5.1. 【props】 5.2. 【自定义事件】 5.3. 【mitt】 5.4.【v-model】 5.5.【$attrs】 5.6. 【$refs、$parent】 5.7. 【provide、inject】 5.8. 【pinia】 5.9. 【slot】 1. 默认插槽 2. 具名插槽 3. 作用域插槽 六、其它 API 6.1.【shallowR…

BIO、NIO、Netty演化总结

关于BIO&#xff08;关于Java NIO的的思考-CSDN博客&#xff09;和NIO&#xff08;关于Java NIO的的思考-CSDN博客&#xff09;在之前的博客里面已经有详细的讲解&#xff0c;这里再总结一下最近学习netty源码的的心得体会 在之前的NIO博客中我们知道接受客户端连接和IO事件的…

MySQL篇----第二十二篇

系列文章目录 文章目录 系列文章目录前言一、什么是表级锁二、什么是页级锁三、什么是行级锁四、什么是悲观锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

【ES】--ES集成热更新自定义词库(字典)

目录 一、问题描述二、具体实施1、Tomcat实现远程扩展字典2、验证生效3、ES配置远程扩展字典4、为何不重启ES能实现热更新 一、问题描述 问题现象: 前面完成了自定义分词器词库集成到ES中。在实际项目中词库是时刻在变更的&#xff0c;但又不希望重启ES&#xff0c;对此我们应…

C++:面向对象——类的构造

1.1学会面向对象的编程思想 面向对象的英文缩写是OO&#xff0c;它是一种设计思想。 面向对象有3大特点&#xff1a;封装、继承和多态。 1.封装 封装有两个作用&#xff0c;一个是将不同的小对象封装成一个大对象&#xff1b;另外一个是把一部分内部属性和功能对外界屏蔽。…

mac无法往硬盘里存东西 Mac硬盘读不出来怎么办 Mac硬盘格式 硬盘检测工具

mac有时候会出现一些问题&#xff0c;比如无法往硬盘里存东西&#xff0c;或者无法往硬盘上拷贝文件。这些问题会给用户带来很大的困扰&#xff0c;影响正常的工作和学习。那么&#xff0c;mac无法往硬盘里存东西&#xff0c;mac无法往硬盘上拷贝怎么办呢&#xff1f;软妹子将为…

关于node与node-sass那些事

昨晚找了之前的一个项目想要复习下&#xff0c;结果npm i报错&#xff0c;大致意思就是noda-sass的版本和node的对不上&#xff0c;那怎么办呢&#xff1a; 1.换node版本&#xff0c;那好吧&#xff0c;首先要明白&#xff0c;对应的版本关系 2.然后我开始用nvm换node版本&am…