车联网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. 网络日志,记录完整的网络策略日志
相关推荐
2401_834636994 小时前
从零吃透 K8s 网络:ServiceIngressMetalLB 实操手册
网络·容器·kubernetes
for_ever_love__5 小时前
python基础语法学习: 变量, 输入输出, 运算符
网络·python·学习
huainingning6 小时前
RJ DHCPV6 无状态配置成功案例
网络·智能路由器
恒拓高科WorkPlus6 小时前
从“可选项”到“必选项”——私有化部署即时通讯如何重塑企业协作新底座
大数据·网络·人工智能
上海云盾商务经理杨杨7 小时前
权限绕过漏洞渗透实战!突破登录验证访问后台功能
网络·安全
雾沉川7 小时前
Wireshark v4.4.7.0 网络抓包工具安装与实操技术教程
网络·测试工具·wireshark
treesforest7 小时前
你的IP干净吗?
网络·网络协议·tcp/ip·跨境电商·ip归属地查询·跨境
运维行者_8 小时前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
zbtlink9 小时前
路由器安全深度解析:从WPA3协议到自动化审计
网络·网络安全·智能路由器·wps
艺杯羹9 小时前
LLM越狱与安全护栏攻防大演进:从奶奶漏洞到输入输出双重检测模型
网络·安全·网络安全·ai·llm·大语言模型·ai安全