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

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

解答这个问题之前,

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

典型整车以太网架构图

下面逐步拆解相关技术点

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

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

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

TCP连接绑定:

// 采用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连接绑定:

// 绑定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;
    }

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

#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,配置优先级,使能设备,例如:

# 创建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

# 针对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都是事先分配和规划好的资源,一般只需开机配置一次即可

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

主要配置命令为:

#配置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. 网络日志,记录完整的网络策略日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WindLOR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值