车联网TBOX开发实战三,APN路由转发

接上一篇TSP业务,感觉有必要再补充一下扩展技术点,APN拨号完后网络数据如何流通,走哪个链路,如何走,通过什么形式实现

解答这个问题之前,

先看下一个典型的整车网络架构(以太网为主)

典型整车以太网架构图

下面逐步拆解相关技术点

APN1:用于TSP专用连接,一般走的私有专线网络,确保足够的安全和通讯质量

此链路上的业务,只用于车控和数据本身,其他ECU基本没有通讯的需求,有也是通过此链路代理。所以此链路上的业务,直接绑定APN1网卡即可

绑定网卡发送,介绍如下三种方式

TCP连接绑定:

cpp 复制代码
// 采用SO_BINDTODEVICE 选项,例如APN1网卡名为APN1_NETDEV_NAME
    if (setsockopt(sockfd, SOL_SOCKET, SO_BINDTODEVICE, APN1_NETDEV_NAME,  strlen(APN1_NETDEV_NAME)) < 0) {
        perror("setsockopt绑定网卡失败");
        close(sockfd);
        return EXIT_FAILURE;
    }

MQTT连接绑定:

cpp 复制代码
// 绑定APN1网卡,APN1_NETDEV_NAME
    if (mosquitto_socket_bind(mosq, APN1_NETDEV_NAME) != MOSQ_ERR_SUCCESS) {
        fprintf(stderr, "Failed to bind to IP address.\n");
        mosquitto_destroy(mosq);
        mosquitto_lib_cleanup();
        return 1;
    }

系统路由配置绑定,此种方式最为灵活和便捷及适配性最好

bash 复制代码
#APN1网卡ip为apn1_ip_address
ip route add 'tsp_ip' via 'apn1_ip_address'

APN2和APN3,相比于APN1只用于内部业务,需要对外设备增加数据转发配置

图中有2个外部典型ECU示例,一个是智能驾驶ECU,一个是车机大屏ECU,两者都是通过以太网连接,通过TBOX连通网络,典型业务为访问公网和ota服务

整车针对内部以太网设备管理,一般通过VLAN技术管理

VLAN(Virtual Local Area Network)是一种通过逻辑划分而非物理连接将网络设备分组的技术。它允许在同一物理网络基础设施上创建多个独立的广播域,提升网络安全性、灵活性和管理效率。

VLAN的优势

安全性增强 :隔离广播域,限制未授权访问。
资源优化 :减少不必要的广播流量,提升带宽利用率。
管理便捷 :逻辑分组简化网络调整,无需物理改动。
灵活性:支持跨物理位置的设备分组

图示有两个VLAN,VLAN1和VLAN2

VLAN1配置为走APN3,只能访问公网

VLAN2配置为APN2,只能访问OTA服务

其中涉及到VLAN和路由配置技术,这属于典型的计算机网络知识范畴,不是车载独有的技术概念,也充分体现出TBOX作为网络管理终端的"网联"核心功能

在此不做过多VLAN和路由等基础概念介绍,后续有时间可以补充,网络其实我也可以写一个专栏讲解,毕竟那也是我的专长,O(∩_∩)O哈哈~,就看有没有充分的时间了,准确说偷不偷懒,不偷懒肯定可以写。

典型VLAN配置过程:创建VLAN设备(根据VLAN ID),配置设备ip和mac,配置优先级,使能设备,例如:

bash 复制代码
# 创建Vlan设备
ip link add link $DEV name $vlanID type vlan id $ID
# 配置优先级
vconfig set_egress_map $vlanID 0 $PRI
# 配置IP 及 使能
ifconfig $vlanID $IP netmask 255.255.0.0 up

创建完之后的效果,ifconfig可以查看到Vlan网卡信息如下,比如设备名为eth0,ID为1

bash 复制代码
# 针对eth0网卡,添加Vlan1
eth0.1    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet6 addr: xxxx::ff:xxx:1000/64 Scope: Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:394 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:1692 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:32382 TX bytes:100040 

VLAN都是事先分配和规划好的资源,一般只需开机配置一次即可

在配置完后,就到了路由配置

主要配置命令为:

bash 复制代码
#配置ip 走向不同vlan
ip route add via 'eth0.2_ip_range2' dev 'APN2_NETDEV_NAME' metric 101
#默认走APN3
ip route add defaule via 'eth0.1_ip_range1' dev 'APN3_NETDEV_NAME' metric 100

总结一下,对于网络方面,TBOX其实就相当于一个路由器,且与路由器具备相同的防火墙和路由表管理方式,只是策略有点差异而已

涉及到的扩展技术

  1. 网络安全,例如部分端口关闭,默认公共服务端口修改,网络攻击防火墙策略等
  2. 数据限流,针对部分关键业务做QOS
  3. 采用静态ARP提升防护安全
  4. 网络日志,记录完整的网络策略日志
相关推荐
网络研究院12 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智12 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest12 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_12 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_9618451512 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序猿阿伟12 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
InHand云飞小白12 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G12 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
江华森12 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒12 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php