Windows、Linux、VxWorks中一个网口绑定多个IP的方法

Windows下实现

    打开“本地连接”的属性,在internet协议的属性中配置IP地址、网关、掩码等,而在这里还有一个“高级”的功能。点击internet属性右下角的“高级”按钮进入高级配置界面,可以在此处给本地连接再添加IP地址和网关,这些IP地址可以跟之前在internet属性中配置的IP地址不同网段,这样别人就可以通过不同的IP地址去访问你的电脑,你的电脑也能被不同网段的电脑所访问,而且你的电脑也能同时访问不同网段的电脑。

 Linux下实现
     在Linux下配置IP地址是通过命令“ifconfig eth0 IP地址  netmask  子网掩码”来实现的,而只要把这个命令稍微改一下就能实现给一个网口添加一个IP,修改后的命令格式为:“ifconfig eth0:0 IP地址 netmask 子网掩码”,要再加一个IP地址只要改成eth0:1就行了,依此类推。
   
 VxWorks下实现

     Vxworks下通过函数ifAddrAdd()实现, 函数原型 ifAddrAdd (char *interfaceName, char *interfaceAddress,  char *broadcastAddress, int subnetMask)。

对于MPC8280的motfcc0端口,添加一个IP的方法:

ifAddrAdd("motfcc0",100.100.1.1,NULL,0xffffff00)

    这个实现有两种方法。一种是直接在usrAppInit.c里面添加上面这条语句,直接编译进内核映像。另一种更灵活的方法是通过应用程序加载,应用程序通过解析配置文件来确定新添加的IP,这样在修改IP的时候,只需要修改配置文件即可,不需要重新编译映像。本质上解析得到参数后调用ifAddrAdd函数。

sysParaInit.cpp中实现
SysParaxmlConfigeFileParser();  //解析配置文件WebServiceIpAddrConfig.xml
/*添加*/
 for(i = 0; i < sIpAddrParaDataStruct.iMotfcc0IpAddNum; i++)
    {
        ifAddrAdd("motfcc0",sIpAddrParaDataStruct.cMotfcc0Ipadd[i],NULL,0xffffff00);
    }
配置文件WebServiceIpAddrConfig.xml中的配置语句:
   

你可能感兴趣的:(杂)