TOA(tcp option adress)安装

7 篇文章 0 订阅
7 篇文章 0 订阅

1.说明

1.1.场景说明

TOA 属于 4层转发系统的一个功能模块,缺省情况下服务经过 4层转发系统,服务源站查看到的请求IP为NAT的回源地址,这对于一些特殊业务来说(比如游戏),是无法满足的,TOA的功能就是让真实源服务源站获取访问者真实IP地址,该模块安装在源站服务器上。以下为 TOA 的局限性:

  • 仅支持 TCP 协议
  • 仅支持 IPv4
  • 仅支持 Linux 操作系统

1.2.前提条件

  • 编译TOA 内核模块时,当前的内核版本与需与内核开发包版本保持一致

  • 需要 root 权限

  • 在代理节点开启对应转发规则

  • 使用任意客户端访问代理节点业务IP,源站正常可以看到客户端IP,而代理节点业务IP

2.安装

2.1.共通

sudo yum -y install gcc
sudo yum -y install make
sudo yum -y install kernel-devel-`uname -r`
sudo yum -y install kernel-headers-`uname -r`

进入toa内核目录:cd /lib/modules/uname -r/kernel/net/toa/
卸载toa,执行:rmmod toa
重新挂载本目录下的新的toa,执行:modprobe toa (或 insmod ./toa.ko) 若无任何报错,即为安装成功,
通过命令:lsmod | grep toa ,将会显示出已安装的toa模块

2.2.Centos6

2.6.32-754.9.1.el6.x86_64

2.3.Centos7

3.10.0-327.el7.x86_64
系统源码包下载地址

2.3.0.原理

TOA的kind(即代码字段opcode)采用的是254 tcp options
ipv4时占用Options 8字节,ipv6时将占用20字节
在这里插入图片描述在这里插入图片描述

2.3.1.源码编译

git clone https://github.com/Huawei/TCP_option_address.git
cd src
make

2.3.2.加载内核

执行如下命令,加载内核模块。
sudo insmod toa.ko
执行如下命令,验证模块加载情况,查看内核输出信息。
dmesg | grep TOA
若提示信息包含“TOA: toa loaded”,说明内核模块加载成功。
可执行lsmod|grep toa命令检测 toa 模块加载情况
通过执行 modprobe toa 命令手动加载

2.3.3.开机启动自动加载

vi /etc/sysconfig/modules/toa.modules
#!/bin/sh
toapath=/root/toa/toa.ko
/sbin/modinfo -F filename $toapath > /dev/null 2>&1

if [ $? -eq 0 ]; then

/sbin/insmod $toapath

fi

chmod +x /etc/sysconfig/modules/toa.modules

或者

echo “modprobe toa” >> /etc/rc.d/rc.local

3.参考

toa模块-编译centos5/6版本
toa协议源码解析
腾讯云toa.pdf
TOA 实现原理
TOA与Proxy Protocol

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TOA(Time of Arrival)定位是一种利用传输信号的到达时间来确定接收器位置的方法。在给定的参考节点位置和参考节点到接收器的距离情况下,可以使用TOA定位算法来估计接收器的位置。 根据提供的引用,以下是TOA定位的实现步骤: 1. 建立模型:首先,需要确定四个参考节点(锚点)的位置和每个参考节点到接收器的距离。这个信息可以通过测量或其他方法获得。 2. 使用matlab实现:根据参考节点的位置和距离,可以使用matlab编写代码来估计接收器的位置。该代码可以计算接收器的坐标,并以三维坐标的形式输出结果。 3. 运行结果:运行代码后,可以得到接收器的位置结果。这个结果通常以坐标形式给出,即接收器在三维空间中的x、y、z坐标。 除了上述内容,引用提供了关于TOA定位的更详细的实现过程。根据该引用,我们可以通过数学公式和矩阵计算来求解接收器的位置。具体步骤如下: 1. 建立方程:根据四个参考节点的位置和它们到接收器的距离,可以建立一个方程组。 2. 消除高次项:对方程组进行三次差分操作,以消除高次项,从而得到一个更容易求解的方程组。 3. 矩阵求解:将方程组转换为矩阵形式,即A * c = b,其中A是一个可逆矩阵。通过求解这个矩阵方程,可以得到接收器的坐标。 根据引用提供的matlab代码,可以使用matlab来实现TOA定位算法。根据引用的描述,也可以使用数学公式和矩阵计算来求解接收器的位置。 希望上述信息对你有所帮助。如果你需要更详细的信息或者其他方面的帮助,请随时告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值