ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

加油站站级网络部署方案:VLAN划分、断网续传与避坑指南

加油站站级网络部署方案:VLAN划分、断网续传与避坑指南 简介这份PPT面向加油站信息化建设人员、网络工程技术人员及石油销售企业运维管理者系统讲解我国石油加油站管理系统站级网络部署方案帮助解决站级局域网从物理布线到设备互联的落地设计问题。资源包共1个文件为PPT演示文稿大小约1011KB内容以提纲与图示结合的方式呈现便于培训讲解与方案汇报。目前已有60人学习下载。资料围绕网络物理部署展开涵盖局域网平面布置图、专业设备互联、综合布线系统与施工规范四大模块并给出星型拓扑以前庭控制器为中心与环形拓扑LonWorks两种模型。读者可从中获取布线系统组成、核心节点设备、接入线路与终端设备的配置思路掌握IEEE802.3U、EIA/TIA568、GB/T50311-2000等标准要求以及RS485、RS232、电流环线缆的规格与长度限制。方案还对比传统与站级综合布线系统差异明确工作区、水平区、管理区、设备间等子系统的建设原则与验收要点适合作为加油站网络规划、施工与运维的参考指南。1. 加油站站级网络部署一份 PPT 背后真正要落地的那些事加油站每天要处理加油流水、油品进销存、IC 卡支付、液位仪数据、视频监控这些系统如果各自为政站级网络就是一团乱麻。所谓「站级网络部署方案」核心就一件事把加油站内部这些设备、终端、服务器用一张可靠的局域网串起来再通过一条受控链路把数据同步到上级管理平台。它解决的是数据孤岛、断网丢单、设备互不通信的问题适合连锁油站的信息化负责人、集成商工程师、以及需要给加油站做网络改造的运维人员。很多人以为这就是拉根网线、配个路由器的事真到现场才发现加油机通信协议不统一、液位仪走的是串口、视频要单独 VLAN、断网时收银不能停——这些才是方案里真正值钱的部分。下面按「先想清楚架构、再动手配、最后避坑」的顺序把这份 PPT 该讲透的东西讲透。2. 站级网络到底分几层从加油机到管理平台的链路拆解2.1 为什么加油站网络不能照搬办公室组网办公室组网追求的是人人能上网、WiFi 覆盖好加油站网络的第一诉求完全不同业务连续性优先于带宽。加油机在断网时必须能继续加油并本地记账收银台在上级平台不可达时要能离线开票液位仪数据不能因为网络抖动就丢包——这些数据丢了轻则对账不平重则安全监控失效。所以站级网络在设计上要遵循三个原则。第一是分区隔离把加油机控制网络、收银办公网络、视频监控网络、液位仪/罐区仪表网络分成不同的 VLAN 或物理网段互不干扰。加油机控制协议常见的是各类私有串口协议或厂商 TCP 协议对时延和丢包极其敏感一旦和视频流混在一个广播域里高峰期卡顿是必然的。第二是本地自治站级要有一台本地服务器或工控机跑站级管理系统负责本地数据缓存、断网续传、本地报表。第三是单点出口可控站级到上级平台的链路只有一条主链路加一条备份链路所有上行数据经过统一的边界设备方便做访问控制、流量审计和故障切换。我一般会把站级网络画成三层终端接入层加油机、液位仪、POS、摄像头、办公 PC、站级汇聚层接入交换机 站级服务器 边界路由/防火墙、上行链路层主备链路到上级平台。这份 PPT 如果只画了一张拓扑图却没讲清这三层的职责边界那它落地时一定会出问题。2.2 站级核心设备选型与 IP 规划表设备选型不需要追求高大上但要满足工业环境和业务隔离要求。下面这张表是我做站级方案时常用的设备清单和规划思路可以直接对照现场情况调整。设备/角色常见选型要求部署位置关键说明接入交换机8~24 口千兆支持 VLAN、端口隔离加油机区/收银区/监控区各一台或一台划分 VLAN加油机口建议百兆即可但交换机要支持风暴抑制站级服务器工控机或小型塔式服务器双网卡收银室或机房一块网卡接业务 VLAN一块接上行链路边界路由/防火墙支持双 WAN、策略路由、IPSec机房主备链路切换靠它不是靠服务器液位仪网关串口转以太网模块或厂商专用网关罐区把 RS-232/485 转成 TCP注意波特率匹配视频 NVR支持双网口、ONVIF监控区一个口接摄像头 VLAN一个口接办公 VLAN 做回传UPS在线式续航 ≥30 分钟机房断电站级设备要撑到数据落盘IP 规划上我习惯按 VLAN 分段业务终端用 192.168.X.0/24加油机控制用 10.X.X.0/24视频用 172.X.X.0/24上行互联用 30 位掩码的小网段。这样做的目的是让路由表干净出问题时一个ping就能判断是哪一层断了。注意加油机厂商如果指定了固定 IP 段以厂商为准不要强行改否则售后不认。2.3 从零画出一张可落地的站级拓扑动手画拓扑之前先把现场设备清单列全几台加油机、几台液位仪、几路摄像头、几台收银 POS、有没有自助终端、上级平台给的接入方式是什么专线、APN、还是普通宽带加隧道。清单不全拓扑就是废纸。画拓扑的步骤我一般这样走定边界先确定站级出口设备放在哪上级平台给的 IP、掩码、网关、认证方式是什么。这一步没确认后面全白做。定 VLAN按业务类型分 VLAN每个 VLAN 一个网段写清楚网关在哪个设备上。定服务器位置站级服务器放在哪个 VLAN它需要访问哪些设备哪些设备需要访问它。定路由站内各 VLAN 之间是否需要互通通常收银要访问站级服务器办公 PC 要访问上级平台但加油机 VLAN 和视频 VLAN 之间默认不通。定冗余主链路断了怎么切切换时间业务能不能忍UPS 撑不撑得住。画完拓扑后拿这张图去现场对一遍端口比在办公室改十遍都管用。3. 动手配置VLAN 划分、路由策略与断网续传的落地命令3.1 交换机 VLAN 与端口隔离配置示例下面以常见的国产二层/三层交换机命令行风格为例不同品牌命令有差异逻辑一致。假设站级用一台 24 口交换机端口 1-8 接加油机9-16 接收银和办公17-20 接摄像头21-24 上联。# 创建 VLAN vlan 10 name oilmachine vlan 20 name office vlan 30 name camera vlan 40 name uplink exit # 配置加油机端口1-8划入 VLAN 10开启端口隔离和风暴抑制 interface range gigabitEthernet 0/1-8 switchport mode access switchport access vlan 10 port-isolate enable group 1 storm-control broadcast level 5 storm-control multicast level 5 no shutdown exit # 配置办公端口9-16划入 VLAN 20 interface range gigabitEthernet 0/9-16 switchport mode access switchport access vlan 20 no shutdown exit # 配置摄像头端口17-20划入 VLAN 30 interface range gigabitEthernet 0/17-20 switchport mode access switchport access vlan 30 no shutdown exit # 配置上联口21-24Trunk 放行所有业务 VLAN interface range gigabitEthernet 0/21-24 switchport mode trunk switchport trunk allowed vlan 10,20,30,40 no shutdown exit这段配置的逻辑说明port-isolate enable让加油机端口之间二层隔离防止一台加油机中毒或广播风暴影响其他加油机storm-control限制广播和组播比例加油机协议里如果有广播报文不限制会拖垮整网。参数上广播抑制 5% 是个保守值现场如果发现加油机通信异常可以先临时关掉风暴抑制测试确认不是误杀再调阈值。Trunk 口放行 VLAN 列表要精确不要图省事写all否则视频流量可能泛洪到加油机 VLAN。3.2 站级服务器双网卡与策略路由站级服务器通常需要两块网卡一块接业务 VLAN比如 VLAN 20负责和收银、办公通信一块接上行链路VLAN 40 或直接接边界设备负责和上级平台同步。如果只有一块网卡所有流量走同一个网关一旦上行链路拥塞本地收银也会卡。# 假设服务器是 Linuxeth0 接业务 VLANeth1 接上行 # 配置 eth0 ip addr add 192.168.20.10/24 dev eth0 ip link set eth0 up # 配置 eth1 ip addr add 10.40.0.2/30 dev eth1 ip link set eth1 up # 默认路由走上行 ip route add default via 10.40.0.1 dev eth1 # 业务网段走 eth0不经过上行 ip route add 192.168.20.0/24 dev eth0 ip route add 192.168.10.0/24 via 192.168.20.1 dev eth0 # 上级平台网段走 eth1 ip route add 172.16.0.0/16 via 10.40.0.1 dev eth1逻辑说明默认路由走上行保证服务器能访问上级平台业务网段和加油机网段明确走 eth0避免本地流量绕到上行再回来。参数上10.40.0.2/30这种小掩码互联地址是常见做法只留两个可用 IP减少扫描面。如果现场上级平台要求用特定源 IP还需要加ip route的src参数或配合 iptables 做 SNAT。3.3 断网续传本地缓存与同步队列怎么设计断网续传是站级方案里最容易被忽略、出事最狠的部分。上级平台不可达时加油流水、液位数据、报警记录必须先在本地落库网络恢复后按顺序补传。设计要点有三个本地队列持久化、同步幂等、补传限速。import sqlite3 import time import requests # 本地缓存库持久化到磁盘 conn sqlite3.connect(/data/station_cache.db) conn.execute(CREATE TABLE IF NOT EXISTS sync_queue ( id INTEGER PRIMARY KEY AUTOINCREMENT, biz_type TEXT, payload TEXT, created_at INTEGER, retry_count INTEGER DEFAULT 0, status TEXT DEFAULT pending )) conn.commit() def enqueue(biz_type, payload): conn.execute( INSERT INTO sync_queue (biz_type, payload, created_at) VALUES (?, ?, ?), (biz_type, payload, int(time.time())) ) conn.commit() def sync_worker(upper_url, batch_size50): while True: rows conn.execute( SELECT id, biz_type, payload FROM sync_queue WHERE statuspending AND retry_count 10 ORDER BY id LIMIT ?, (batch_size,) ).fetchall() if not rows: time.sleep(5) continue for row in rows: rid, biz_type, payload row try: resp requests.post( f{upper_url}/api/{biz_type}, datapayload, timeout10, headers{X-Idempotency-Key: f{biz_type}-{rid}} ) if resp.status_code 200: conn.execute(UPDATE sync_queue SET statusdone WHERE id?, (rid,)) else: conn.execute( UPDATE sync_queue SET retry_countretry_count1 WHERE id?, (rid,) ) except Exception: conn.execute( UPDATE sync_queue SET retry_countretry_count1 WHERE id?, (rid,) ) conn.commit() time.sleep(1) # 补传限速避免恢复瞬间打满上行逻辑说明sync_queue表用 SQLite 持久化断电不丢X-Idempotency-Key保证同一笔业务重复提交时上级平台能去重retry_count限制重试次数避免坏数据无限重试堵住队列time.sleep(1)是补传限速网络刚恢复时如果几千条记录同时发上行链路会被打满反而影响正常业务。参数上batch_size我一般设 50retry_count上限设 10超过的进人工处理队列。注意SQLite 在工控机上要放在有断电保护的存储上否则数据库损坏比丢数据更麻烦。4. 避坑与排查站级网络部署中最容易翻车的五件事4.1 加油机通信时通时断重启交换机就好现象加油机白天正常早晚高峰偶尔掉线重启接入交换机后恢复过几天又出现。原因加油机控制报文里可能有广播或未知单播交换机 MAC 地址表被刷爆或者端口隔离没做一台加油机的异常流量影响了同 VLAN 其他设备。解决先查交换机 MAC 地址表和 CPU 利用率确认是不是广播风暴。然后在加油机端口上开端口隔离和风暴抑制把广播抑制阈值从 5% 逐步往下调找到不影响业务的临界值。如果加油机厂商协议本身有心跳机制确认心跳间隔和交换机老化时间是否匹配必要时把 MAC 老化时间调长。4.2 断网后收银能开票但恢复后数据对不上现象断网期间收银正常网络恢复后上级平台显示部分流水缺失或重复。原因本地缓存没有持久化或者同步时没有幂等键上级平台把重试的同一笔流水当成两笔。解决检查本地缓存是否落盘SQLite 文件是否在断电保护存储上同步接口是否带唯一业务键。如果上级平台不支持幂等需要在站级做去重表发送前先查本地是否已成功。另外注意时间同步断网期间站级服务器时间如果漂移补传数据的时间戳会乱建议站级配 NTP断网时用本地时钟但记录偏移量。4.3 视频监控一开加油机就变慢现象摄像头全部上线后加油机通信延迟明显增加收银也变卡。原因视频和业务没做 VLAN 隔离或者上联口带宽不够视频流挤占了业务带宽。解决确认摄像头在独立 VLAN上联口如果是千兆检查是否所有 VLAN 都走同一个上联口。如果上联口是百兆视频必须本地 NVR 存储不要往上级传。另外检查交换机的 QoS 配置给加油机 VLAN 和收银 VLAN 设高优先级视频设低优先级。我一般会在上联口做限速视频 VLAN 限制在总带宽的 30% 以内。4.4 液位仪数据偶尔丢一条查不到原因现象液位仪数据大部分正常偶尔缺一条没有规律。原因串口转以太网网关的波特率、数据位、校验位和液位仪不匹配或者网关的 TCP 连接超时时间太短液位仪还没发完就断了。解决先核对液位仪手册上的串口参数逐项和网关配置比对。然后把网关的 TCP 超时时间调长开启心跳保活。如果液位仪是轮询式确认轮询间隔大于液位仪响应时间。现场用串口调试工具抓一次原始数据比在办公室猜半天有用。4.5 主备链路切换后部分业务不通现象主链路断了备份链路起来但站级服务器能通上级平台收银却访问不了站级服务器。原因切换后路由变了但站内 VLAN 间路由或防火墙策略没跟着切或者备份链路的 MTU 和主链路不一致大包被丢。解决检查边界设备的策略路由是否对主备链路都生效站内服务器和收银之间的路由是否依赖主链路网关。MTU 问题用ping -M do -s 1472逐段测找到实际可用 MTU 后调整接口 MTU 或 TCP MSS。切换测试一定要在业务低峰期做并且提前通知收银。5. 进阶技巧用一份配置基线把站级网络管起来站级网络部署完不是终点后面还有巡检、变更、故障复盘。我自己的习惯是给每个站建一份配置基线把交换机的 VLAN 配置、端口角色、IP 规划、路由表、防火墙策略导出成文本存到版本管理里。每次现场变更后更新基线下次出问题先 diff 当前配置和基线一眼就能看出哪里被改过。具体做法用脚本定期登录站级设备拉配置和基线比对有差异就告警。下面是一个简单的 Python 示例用netmiko拉交换机配置并做 diff。from netmiko import ConnectHandler import difflib device { device_type: huawei, host: 192.168.20.1, username: admin, password: ******, } def get_config(): with ConnectHandler(**device) as conn: return conn.send_command(display current-configuration) def diff_with_baseline(current, baseline_path): with open(baseline_path, r, encodingutf-8) as f: baseline f.read() diff difflib.unified_diff( baseline.splitlines(), current.splitlines(), lineterm, fromfilebaseline, tofilecurrent ) return \n.join(diff) if __name__ __main__: current get_config() result diff_with_baseline(current, /data/baseline/station_a.cfg) if result: print(配置有变更请检查) print(result) else: print(配置与基线一致)逻辑说明send_command拉取当前配置difflib做行级 diff有差异就输出。参数上device_type根据交换机品牌调整华为是huawei思科是cisco_iosH3C 是hp_comware。基线文件按站名命名放在只读目录里避免误改。这个脚本可以挂到定时任务里每天跑一次变更告警发到运维群。另一个技巧是给每个 VLAN 写一句用途注释在交换机配置里用description标清楚。比如interface vlan 10下面写description oil-machine-control半年后回来看配置不用翻文档就知道这个 VLAN 是干嘛的。血泪经验站级网络出故障时最耗时的不是修而是搞清楚「这个口接的是什么」。配置注释和基线管理就是给自己留的后悔药。最后说一个验证方法新站部署完做一次断网演练。拔掉上行链路模拟断网 30 分钟观察加油机是否正常、收银是否能开票、本地缓存是否增长、恢复后数据是否完整补传。这个演练比任何文档都能暴露问题。我现在的习惯是每个站上线前必须过一遍断网演练不过不签字。希望帮到你。本文还有配套的精品资源点击获取
返回列表