基于IP over TS系统网段内地址扩展技术的研究
5 自适应邻接表法
5.1 自适应邻接表原理
自适应邻接表法基于邻接表法。但它解决了邻接表法中缺乏灵活性的问题。自适应邻接表法不再需要手动统计IP地址和编辑邻接表。它自动获取各自网段中的邻接表并发送到对端进行交换,特别适合对移动设备和临时设备提供无线网络接入。同时自适应邻接表法也避免了发送过多的地址信息数据而占用有效数据带宽。自适应邻接表法如下:(1)系统开机,IPoverTS设备向全网段内发送ARP数据包,在一定的时间内(10 s)将收到ARP回复的主机IP地址记录入存根;(2)IPoverTS两端交换存根,并将交换后的存根进行Hash映射;(3)如果有主机上线,主机将发送一个ARP消息确保IP地址不冲突。IPoverTS系统查找对端IP地址列表。如果此IP地址可用,则将该IP地址加入地址列表存根并准备发送修改消息至对端。如果此IP地址不可用(对端存在该IP地址);则IP over TS系统回复该ARP消息表明此IP不可用(IP地址存在冲突);(4)IP over TS系统每隔10 min向网络中的每台主机广播ARP数据包用来轮询下线的主机同时修改存根,将修改操作发至对端网络。
通过上述4个步骤,IP over TS系统就可知任意时刻网络两端的地址信息并确认是否为欺骗,转发数据包。
5.2 存根交换帧
TS的标准格式由MPEG2标准组制定。其中PID规定传输流中的数据类型。PID是在TS帧头中预留的13比特数据。对于第1次存根交换和IP数据交换,采用指定PID标识。如果要添加或删除一台主机信息,PID的生成规则如下:
PID 0b00000 0000 0000
添加:0b00001 XXXX xxxx;其中XXXX XXXX表明主机地址。
删除:0b00010 XXXX xxxx;其中XXXX XXXX表明主机地址。
在该PID出现的情况下,TS中的数据只有2种类型:一种是带有IP数据的载荷数据包和单纯发送修改消息的数据包。这两种包可通过IP封装算法进行区分。同时考虑到A类和B类地址的问题,通过子网掩码的运算来确定多少个TS修改帧决定一台主机地址。A类地址需3个TS帧修改一个主机地址,B类地址需2个 TS帧,C类地址需1个。
自适应邻接表法需2个原始socket协同工作。ARPsocket用来处理ARP相关的所有消息。IP socket用来捕获发往该MAC地址的所有数据包。同时,和邻接表法一样。自适应邻接表法由于在无线信道传输的过程中剔除了MAC层帧头信息,这样在无线信道中每传送1个IP数据包就可省14个字节的流量,进一步提高了系统信道的有效利用率。
5.3 自适应邻接表实现
5.3.1 数据捕获线程
5.4 自适应邻接表法的测试及结果分析
自适应邻接表的测试方法和链路扩展法的测试方法相同,测试结果如图4所示。可看出,采用自适应邻接表法后。信道有效数据的稳定性和占有率都与邻接表法保持一致,优点是增加了系统配置的灵活性。
6 结论
链路扩展法可解决IP over TS系统在同网段内地址扩展问题,但对于无线信道该方法存在着有效数据占有率不稳定且不足的问题。针对这些问题,将链路扩展法改进为邻接表法,同时针对邻接表法缺失灵活性的问题将其改进为自适应邻接表法。通过航天某返回舱数传链路项目的测试表明,自适应邻接表法可有效解决IP over TS系统在同网段内地址扩展问题,能够使无线信道的有效数据占用率趋于稳定并有所提高。将该方法应用在无线信道的实时图像传输系统,图像质量得到了明显改善。
评论