|
楼主 |
发表于 2003-4-28 08:25:47
|
显示全部楼层
附上:Cellular IP v1.1for liunx安装说明。
大家能帮看看,给个意见。
Cellular IP v1.1 for Linux
Click here to download the source code distribution
1. Hardware and Software
2. Code at a Glance
3. Installing Cellular IP
4. What else do I need to know?
5. Running Mobile IP with Cellular IP
6. Download Area
Frequently Asked Questions
1. Hardware and Software
The hardware requirements for running Cellular IP are as follows.
PCs and laptops/mini-laptops: The following type of computers are required: at least two or more pentium PCs configured to operate as base stations, one pentium PC configured to operate as a gateway preferably with a clock speed higher or equal to 200 MHz; and one notebook computer/ palmtop (e.g., Librettos) to run the mobile host module.
Wireless Adapter Cards: Currently we support the following air interface cards: high speed WaveLan and Aironet. Please use a WaveLan/Aironet PCMCIA card for mobile host and waveLan/Aironet ISA(PCI) cards for base stations. The WaveLan and Aironet cards are 802.11 compatible but cannot talk to each other!. So use the same type of cards for your testbed. Regarding device drivers, only WaveLan device drivers supports SNR based handoff. Hence, if you want to support SNR-based handoff where handoff is performed based on the measurement of control signal strength from Base Stations, you should use WaveLan cards. You can use any WaveLan device driver that supports the SPY function (SICOGIWSPY and SIOCSIWSPY) that is needed for measuring signal strength from Base Stations. If your WaveLan device driver does not support this function, we recommend you to download and use Andy's WaveLAN device driver (For installation detail, see Installation instruction below.) For Aironet card, you can use any device driver that works for your system. But, SNR-based handoff is currently not supported for Aironet.
Before attempting to run and test Cellular IP, you will need to configure your testbed accordingly. An example of an experimental environment is given in the overview section of this web site. Here is more information about hardware setup.
Once the basic hardware is set up you need to configure the network interface cards to communicate with each other. For shared Ethernet network setup, all wired network card should be configured by typing following commands
ifconfig interface_name ip_address netmask 0x******** up
The netmask depends on the your specific hardware setup.
route add default gw router_ip
For wireless network setup you have to set an IP address and netmask but you don't need to set the default router. Setting up the default router will be done automatically when the mobile host detects the beacon signal sent from the base station. For dedicated Ethernet network setup, you should follow the same procedure. Note that in the case of wired network cards (e.g., used for base stations) the default router does not need to be setup.
Make sure you meet the hardware requirements listed above and the software requirements listed below.
Operating Systems: Cellular IP v1.1 for Linux runs under Linux kernel version 2.2.12 and 2.2.14. (For other kernel version 2.2.x, it may work but currently hiswe have not tested t.) The Linux implementation can interoperate with other machines (Gateway, Base Station, or Mobile) that run Cellular IP v1.0 under FreeBSD, for example.
Programming Languages: To compile the Cellular IP software suite for base station and gateway modules you need standard cc or gcc compilers. In addition, to execute the mobile host module you need Tcl\TK 8.x.
Additional Software Packages (Optional): The Cellular IP protocol operates transparently with respect to all application level software. You can use any Internet application to test the protocol and testbed configuration. Using a web browser is one simple example. If you want to test more dynamic applications, you can use vic for networked video and vat/speakFreely for networked audio
2. Code at a Glance
The Cellular IP tar file consist of several c source code and configuration files. These files can be configured to form gateways, base stations and mobile stations. Each mobile host supports a simple management tool (written in tck/tk) that provides status. The following table provides a summary of the source code distribution.
Optional Mobile IP foreign agent code is provided for those interested in interworking Cellular IP and Mobile IP.
file name type description executable
cipnode.c c code running on the gateway of CIP and base station cipnode
cip_pcap.c c code packet-capture module for cipnode
cipnode.conf configuration configuration file for cipnode
cipnode_BaseStation.conf configuration configuration example file for cipnode as Base Station
cipnode_Gateway.conf configuration configuration example file for cipnode as Gateway
cipmobile.c c code running on the mobile host cipmobile
cipmobile_pcap.c c code packet-capture module for cipmobile
cipmobile.conf configuration configuration file for cipmobile
cip tcl/tk code graphic user interface for cipmobile cip
Advertisement.c c code Mobile IP FA advertisement
CheckandDecap.c c code Mobile IP FA
Decapsulation module
RegisterCenter.c c code Mobile IP FA
Makefile Makefile Makefile for compiling Cellular IP code. Makefile
wvlan-startup shell script example shell script to activate the Ad Hoc mode in WaveLan card. wvlan-startup
3. Installing Cellular IP v1.1 for Linux
Follow the 6 step procedure to build the Cellular IP system:
1) If you are using WaveLAN card, make sure you have a proper device driver that can support SPY function (SIOCGIWSPY and SIOCSIWSPY) and Ad hoc mode. We recommend you to use Andy's WaveLAN device driver. You can download it from his web site.
For example, if your linux kernel version is 2.2.14, you can download pcmcia-cs-3.1.15.tar.gz and wireless_tools.20.tar.gz from Andy's website and install those. For installation detail, you can consult his web site.
For the Aironet card, you may use any device driver.
(Regarding device drivers, only WaveLan device drivers supports SNR based handoff. Hence, if you want to support SNR-based handoff where handoff is performed based on the measurement of control signal strength from Base Stations, you should use WaveLan cards. You can use any WaveLan device driver that supports the SPY function (SICOGIWSPY and SIOCSIWSPY) that is needed for measuring signal strength from Base Stations. If your WaveLan device driver does not support this function, we recommend you to download and use Andy's WaveLAN device driver. For Aironet card, you can use any device driver. The SNR-based handoff is currently not supported for Aironet.)
2) Make sure you have libpcap. You can check it by examing whether /usr/include/pcap exist or not. If not, you should download and install any libpcap package that you want:
For example, if you're using Red Hat Linux version 6.1 (kernel version is 2.2.14), you can download libpcap-0.4-19.i386.rpm from rpm repository and can install it by just executing:
rpm -i libpcap-0.4-19.i386.rpm
3) Download cip-1.1.tar.gz. Once you have downloaded, uncompress and untar the gzip file under any directory where you want to locate Cellular IP v1.1:
gunzip cip-1.1.tar.gz
tar xvf cip-1.1.tar
Then, you can see the directoty; ./cip-1.1/
4) Change directory to cip-1.1. Open and configure Makefile by modifying compiler tag:
- If you use WaveLAN card, remove '_' in -DWICACHE_ to activate WaveLAN card, resulting in:
${CC} ${CFLAG} -c cipmobile.c -DWICACHE -DANCACHE_ -DDEBUG_ -DD_DEBUG_
(As default, WaveLAN card is activated. So, you'll find the same line in the Makefile as the above.)
- If you use Aironet card instead of the WaveLAN card, remove -DWICACHE to deactivate WaveLAN card and remove '_' in -DANCACHE_ to activate Aironet card, resulting in:
${CC} ${CFLAG} -c cipmobile.c -DANCACHE -DDEBUG_ -DD_DEBUG_
Please note that the wireless interface for the mobile host and base station should be same type. Aironet cards *can not* talk to wavelan cards and vice versa.
- If you want to test the Cellular IP/ Mobile IP interworking feature simply remove '_' in -DMOBILE_IP_ to activate Mobile IP internetworking, resulting in:
${CC} ${CFLAG} -c cipnode.c -DDEBUG_ -DMOBILE_IP
(As default, Cellular IP/ MOBIL IP internetworking is deactivated.)
5) Now, you can compile Cellular IP v1.1 for Linux by executing:
make
and can find binary files: cipnode, RegCenter, and cipmobile.
6) Configure cipnode.conf and cipmobile.conf; if the machine will be used as Gateway or Base Station, you will configure cipnode.conf. For the Mobile host, you will configure cipmobile.conf. For configuration details, refer to the picture below. In the cip-1.1 directory, you can find cipnode_Gateway.conf for the Gateway configuration example and cipnode_BaseStation.conf for the Base Station configuratoin example.
cipnode.conf is the configuration file that needs to be modified to reflect the hardware configuration, For example, if cipnode is used as gateway, here is a sample cipnode.conf file that configures the following Cellular IP testbed:
Figure 1. Shared Network Setup
Note that the interface name in your system for each mobile host may be different from Figure 1.
Here is the gateway config file.
%%%%%%%%%%%%% gateway configuration file%%%%%%%%%%%
GW: YES % if this is gateway it is Yes otherwise NO
IF YES, default router's IP address: (wire, ep0, 128.59.68.1)
% basic format is (medium, interface of local machine, ip address of remote machine)
% if medium is wired network: wire otherwise: wireless
% if cellularip protocol used in dedicated ethernet
% ep0 is the interface name which is directly attached to default router of
% the network.
IF NO, neighbor, uplink direction:
% this is not used in Gateway
leaf neighbours(s): (wire, ep0, 128.59.68.251), (wire, ep0, 128.59.68.252)
% same format as above
% these are for the leaf neighbours if it is on shared ethernet
paging cache: YES % if Paging Cache is available
If yes then size: 0 % in packets
route-timeout: 3000 % timeout value in route-cache in milliseconds
paging-timeout: 30000 % timeout value in page-cache in milliseconds
max number of mobiles in cache: 100 % maximum # of mobile that node handle
max number of node interfaces: 10 % number of interface of machine
GW IP address: 128.59.68.250 % ip address of cellular IP gateway
If the cipnode is used as a base station here is a sample cipnode.conf file that you can modify. Let's say we are configuring base station 1 for example:
%%%%%%%%%%%%% gateway configuration file%%%%%%%%%%%
GW: NO % this is not gateway
IF YES, default router's IP address: % not used in base station
IF NO, neighbor, uplink direction: (wire,ep1, 128.59.68.250)
%(medium, interface name, dstIP)
leaf neighbours(s): (wireless, wl0) % if leaf is wireless we assume that it is used as
% as base station so it doesn't know the
% corresponding mobile host's ip address in advance.
paging cache: YES % if Paging Cache is available
route-timeout: 3000 % in milliseconds
paging-timeout: 30000 % in milliseconds
max number of mobiles in cache: 100
max number of node interfaces: 10
GW IP address: 128.59.68.250
%%%%%%%%%%%%% End of gateway configuration file%%%%%%%%%%%
You can apply the same procedure when configures base station 2.
In case you are using a dedicated link, here is an example for the following hardware setup shown in Figure 2:
Figure 2. Dedicated Network Setup
The gateway configuration is as follows:
leaf neighbours(s): (wire, ep1, 128.59.69.253), (wire, ep2, 128.59.68.254)
Base station 1 and 2 use configuration:
IF NO, neighbor, uplink direction: (wire,ep2, 128.59.68.251)
The mobile host's cipmobile.conf:
wireless interface: wi3 %wireless interface name
mobile's IP address: 128.59.69.71
air interface name: mobile-air
route-update-time: 100 %in milliseconds
paging-upate-time: 10000 %in milliseconds
acitve-state-timeout: 5000 %in milliseconds
handoff: 0
% if it is automatic in regular time interval: 0
% or based on SNR measured with beacon: 1
7) Now, you can run Cellular IP v1.1 for Linux:
- To run a Gateway, just type:
./cipnode
If you want to use other name(xxxx.conf) as configuration file other than cipnode.conf, type:
./cipnode xxxx.conf
- To run a Base Station, first make sure that your wireless interface (WaveLAN or Aironet) is Ad hoc mode. For example, if you use WaveLAN card and Andy's driver under Kernel version 2.2.14-5.0, you can activate Ad hoc mode by executing:
cardctl eject
insmod /lib/modules/2.2.14-5.0/pcmcia/wvlan_cs.o port_type=3
cardctl insert
ifconfig (The usual process to activate network interface card)
Then, like Gateway, you can run Base Station by executing:
./cipnode or ./cipnode xxxx.conf
- For a Mobile host, firstly check the version and location of wish that is the windowing shell of tkl/tk. Then, modify the first line in cip script file. For example, if your machine has wish of tcl/tk version 8.0 in /usr/bin, then the first line in cip script file would be:
#! /usr/bin/wish8.0 -f
Similar to the Base Station, make sure that your wireless interface works in Ad hoc mode.
Now, you can run the Mobile station simply by typing:
./cip
4. What else do I need to know?
If you are not using the Mobile IP with Cellular IP there is one important thing to do in the router which the Cellular IP gateway is attached to. The router should be configured to forward all the packets destined to the mobile host (e.g., 128.59.69.71) to the Cellular IP gateway. Please check with your system administrator to do this.
If you are using Mobile IP you do not need to do this. The mobile host's Home Agent will forward all packets to its Foreign Agent which is co-located with the Cellular IP gateway.
5. Running Mobile IP with Cellular IP v1.1
Since the Mobile IP source code used in our testbed is copy right protected we can not distribute it. However, you can download any Mobile IP code for use. We have provided the source for the Foreign Agent that has to interact with the Cellular IP protocol.
1) Download and install any standard implementation of
Mobile IP (in compliance with RFC 2002) from
http://www.monarch.cs.cmu.edu/mobile_ipv4.html
http://www.cs.pdx.edu/research/SMN/index.html
http://mip.ee.nus.edu.sg/
http://anchor.cs.binghamton.edu/~mobileip/
http://playground.Sun.COM/pub/mobile-ip/
2) Configure and run Mobile IP according to instructions
from the documentations of downloaded implementation.
3) Enable Mobile IP support in Cellular IP source code by adding
${CC} ${CFLAG} -c cipnode.c
to
${CC} ${CFLAG} -c cipnode.c -DMOBILE_IP
to the Makefile then recompile it.
Note that Cellular IP gateway will
simulates a standard Foreign Agent in Mobile IP.
We can provide additional help for interworking in need.
6. Download Area
Before downloading Cellular IP v1.1, please read the following:
This is unpublished proprietary software developed as part of the COMET Group, Center for Telecommunications Research (CTR) at Columbia University. This software is to be used for research and exploratory development purposes only; it may not be used for or incorporated in commercial products or services without the prior written permission of the CTR.
All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the COMET Group, Center for Telecommunications Research at Columbia University.
Software and Information furnished in this page is believed to be accurate and reliable. It is distributed as is, with absolutely no warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability of fitness for a particular purpose. The entire risk as to the quality and performance of the programs is with you. Should the programs prove defective, or cause any damage, CTR assumes no responsibility to that cost or damage. CTR also assumes no responsibility for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any intellectual property rights. Software and Information is subject to change without notice.
更详细说明看:http://www.comet.columbia.edu/cellularip/manual.htm |
|