|
1 引言
截止到2019年11月25日,RIPE NCC(欧洲地区换联网注册网络协调中心)宣布最后一批 IPv4 地址已经分配完毕,其负责的欧洲、中东、中亚部分地区将完全停止 IPv4 地址。目前越来越多的客户在使用 NT35E&NT26E 模组时,需要支持 IPv6 的功能,本文档给出利尔达移芯平台 Cat.1 模组 IPv6 的开启和使用流程和测试方法。
2 IPv4 与 IPv6
图 2.1 IPv4&IPv6
2.1 IPv4
IPv4,IP 是指 Internet Protocol,互联网协议;V 即 version,版本的意思;4 即是第 4版本。
图 2.2 电脑端查看 IPv4
IPv4 地址由二进制,32 位表示。我们都知道每 8 位为 1 字节,即 IPv4 地址由 4 字节组成,地址空间共 232=4,294,967,296。人们为了方便阅读和记忆,通常我们用点分十进制来表示。即 4 字节的每一个字节用十进制表示,中间用点分隔。
格式:NNN.NNN.NNN.NNN
示例:172.16.1.255
图 2.3 IPv4 地址格式
网络数据传输流程类似于我们寄送快递一样,发送的数据内容好比要寄的物品,发送时会经过 TCP/IP 协议模型中的每一层进行封装,即应用层→传输层→网络层→数据链路层→物理层。
图2.4 数据传输流程架构
IPv4就是网络层的协议,由IP头部+数据部分组成。
图2.5 IPv4报文
2.2 IPv6
IPv4理论上最多可拥有43亿个地址,其中还有一些是私有地址,保留地址等,加上互联网用户的数量和多样化都是呈现爆炸式增长,实际的地址在分配过程中也会存在低效的情况,所以耗尽是不可避免的。基于这样的情况IPv6诞生了。
IPv6的出现,主要是解决IPv4地址空间耗尽的问题,同时其他方面跟IPv4也改进了很多。IPv6地址空间比IPv4大到不敢想象,号称可以给地球上的每一个沙子配一个IP地址,这辈子都用不完。
IPv6总长度是128比特,为了方便阅读,通过会分成8个组来表示,每组用4位的16进制表示,共8*4*4=128bit,地址空间共大小:2128=340282366920938463463374607431768211456
示例:FC00:0000:130F:0000:0000:09C0:876A:130B
图2.7 IPv6地址格式
为了书写方便,IPv6还提供了压缩格式,以上述IPv6地址为例,具体压缩规则为:每组中的前导“0”都可以省略,所以上述地址可写为:FC00:0:130F:0:0:9C0:876A:130B 地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替,所以上述地址又可以进一步简写为:FC00:0:130F::9C0:876A:130B
图2.6 IPv6报文
不同的是,IPv6的首部是固定长度,而IPv4是可变的,也就是IPv6相比IPv4精简很多。
图2.7 IPv6报文格式
简单总结IPv6的特点:
图2.8 IPv6 vs IPv4
2.3 IPv4迁移到IPv6
现在企业都已经开始部署IPv6了(如京东、淘宝、美团等),而IPv6和IPv4互相不兼容(看报文格式就知道了,格式不同就是全新的协议),很多之前部署IPv4的场景不可能立即全部替换IPv6,会带来很多的损失,如金融行业,业务中断一秒要损失多少?
所以,目前会使用一些技术来过渡,慢慢平滑迁移。
1、双栈技术
2、隧道技术
3、协议转换技术(NAT-PT)
3 模组IPv6使用流程
模组默认IPv4单栈模式,本章节给出NT35E&NT26E模组开启IPv6的应用指导。测试IPv6时需要使用支持IPv6的SIM卡,目前手机卡都支持IPv6功能
3.1 IPv6单栈操作流程
AT+CGATT=1 // 手动附着,兼容海思、展锐,移芯模组可不发送该指令
OK
AT+CGDCONT=0,"IPV6" // 设置终端单栈登录
OK
AT+LRST //重启
OK
^boot.rom'v\0\0\0'!\n
Lierda
AT+CGDCONT? //确认设置结果
+CGDCONT: 0,"IPV6",,,,,,,,,,,,,
OK
AT+CGATT? //确认网络附着
+CGATT: 1
OK
AT+CGPADDR //查看分配IP
+CGPADDR: 0,"36.14.4.113.14.64.71.147.23.51.93.72.214.34.95.169"
OK
AT+LPING=www.qq.com //Ping包测试,qq IPv6服务器
OK
+LPING: 2402:4e00:1430:1301:0:9227:79d3:ffd1,0,38
AT+LPING=2408:4001:214:d20b:8847:326e:f728:5f5c //Ping包测试,利尔达IPv6服务器
OK
+LPING: 2408:4001:214:d20b:8847:326e:f728:5f5c,0,162
3.2 IPv4&IPv6双栈操作流程
AT+CGATT=1 // 手动附着,兼容海思、展锐,移芯模组可不发送该指令
OK
AT+CGDCONT=0,"IPV4V6" // 设置终端双栈登录
OK
AT+LRST //重启
OK
^boot.rom'v\0\0\0'!\n
Lierda
AT+CGDCONT? //确认设置结果
+CGDCONT: 0,"IPV4V6",,,,,,,,,,,,,
OK
AT+CGATT? //确认网络附着
+CGATT: 1
OK
AT+CGPADDR //查看分配IP
+CGPADDR: 0,"10.3.31.46","36.14.4.113.14.1.6.115.23.51.94.99.124.202.118.32"
OK
AT+LPING=www.baidu.com //Ping包测试,百度IPv4服务器
OK
+LPING: 180.101.49.14,0,46
AT+LPING=www.qq.com //Ping包测试,qq IPv6服务器
OK
+LPING: 2402:4e00:1430:1301:0:9227:79d3:ffd1,0,38
AT+LPING=2408:4001:214:d20b:8847:326e:f728:5f5c //Ping包测试,利尔达IPv6服务器
OK
+LPING: 2408:4001:214:d20b:8847:326e:f728:5f5c,0,162
4 常见问题&解决方法
4.1 实验室白卡无法获取IPv6地址
使用手机卡可以获取到IPv6,实验室白卡无法获取到IPv6地址时,可以发送指令:AT+ECCFG="Ipv6RsForTestSim",1
备注:该指令重启生效,测试完IPv6之后如果需要重新测试IPv4,需要设置回默认值:AT+ECCFG="Ipv6RsForTestSim",0
4.2 开启多路承载测试通信
实际应用中如果用户需要多路承载测试链路通信,可通过开启不同承载,不同协议栈来操作,流程示例如下(这里以IPv4为例,IPv6多路承载开启失败,后期更新):
AT+CGPADDR //查看分配IP
+CGPADDR: 1,"10.133.121.39"
OK
AT+CGDCONT=5,"IPV4V6","ctnet" //设置第5路承载开启IPv4(电信卡),IPv6开启失败待排查
OK
AT+CGACT? //确认链路承载是否开启
+CGACT: 1,1
+CGACT: 5,0
OK
AT+CGACT=1,5 //确认链路承载是否开启
OK
AT+CGACT? //确认链路承载开启成功
+CGACT: 1,1
+CGACT: 5,1
OK
AT+CGPADDR //第5路承载获取IP成功
+CGPADDR: 1,"10.133.121.39"
+CGPADDR: 5,"10.133.93.209"
5 相关文档及术语缩写
序号 | 文档名称 | 注释 | 1 | Lierda NT35E&NT26E-CN AT命令手册 | | 2 | | |
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|