updated LTE user docs and RELEASE_NOTES for EmuEpcHelper

This commit is contained in:
Nicola Baldo
2014-07-03 16:43:58 +02:00
parent 057f56133b
commit 19653b4a77
3 changed files with 105 additions and 1 deletions

View File

@@ -22,6 +22,9 @@ Supported platforms
New user-visible features
-------------------------
- The LTE module now supports the transport of the S1-U, X2-U and X2-C
interfaces over emulated links via the new helper class EmuEpcHelper.
Bugs fixed
----------
- Bug 1921 - Icmpv6L4Protocol::ForgeEchoRequest returns a malformed packet

View File

@@ -144,5 +144,18 @@ References
"Effects of time-to-trigger parameter on handover performance in SON-based LTE systems",
Communications (APCC), 2010 16th Asia-Pacific Conference on, pp.492-496, Oct. 31 2010--Nov. 3 2010
.. [Bbojovic2014] B. Bojovic, N. Baldo, "A new Channel and QoS Aware Scheduler to enhance the capacity of Voice over LTE systems", SDD conference 2014, preprint version is available: <http://www.cttc.es/?post_type=publication&p=5226>
.. [Bbojovic2014] B. Bojovic, N. Baldo, `"A new Channel and QoS Aware
Scheduler to enhance the capacity of Voice over LTE systems"
<http://www.cttc.es/publication/a-new-channel-and-qos-aware-scheduler-to-enhance-the-capacity-of-voice-over-lte-systems/>`_,
in Proceedings of 11th International Multi-Conference on Systems,
Signals & Devices (SSD14), Castelldefels, 11-14 February 2014,
Castelldefels (Spain).
.. [Baldo2014] N. Baldo, R. Martínez, P. Dini, R. Vilalta, M. Miozzo,
R. Casellas, R. Muñoz, `"A Testbed for Fixed Mobile Convergence
Experimentation: ADRENALINE-LENA Integration"
<http://www.cttc.es/publication/a-testbed-for-fixed-mobile-convergence-experimentation-adrenaline-lena-integration/>`_,
in Proceedings of European Wireless 2014, 14-16 May 2014, Barcelona
(Spain).

View File

@@ -927,6 +927,94 @@ That's all! You can now start your simulation as usual::
Using the EPC with emulation mode
---------------------------------
In the previous section we used PointToPoint links for the connection between the eNBs and the SGW (S1-U interface) and among eNBs (X2-U and X2-C interfaces). The LTE module supports using emulated links instead of PointToPoint links. This is achieved by just replacing the creation of ``LteHelper`` and ``EpcHelper`` with the following code::
Ptr<LteHelper> lteHelper = CreateObject<LteHelper> ();
Ptr<EmuEpcHelper> epcHelper = CreateObject<EmuEpcHelper> ();
lteHelper->SetEpcHelper (epcHelper);
epcHelper->Initialize ();
The attributes ``ns3::EmuEpcHelper::sgwDeviceName`` and ``ns3::EmuEpcHelper::enbDeviceName`` are used to set the name of the devices used for transporting the S1-U, X2-U and X2-C interfaces at the SGW and eNB, respectively. We will now show how this is done in an example where we execute the example program ``lena-simple-epc-emu`` using two virtual ethernet interfaces.
First of all we build ns-3 appropriately::
# configure
./waf configure --enable-sudo --enable-modules=lte,fd-net-device --enable-examples
# build
./waf
Then we setup two virtual ethernet interfaces, and start wireshark to look at the traffic going through::
# note: you need to be root
# create two paired veth devices
ip link add name veth0 type veth peer name veth1
ip link show
# enable promiscuous mode
ip link set veth0 promisc on
ip link set veth1 promisc on
# bring interfaces up
ip link set veth0 up
ip link set veth1 up
# start wireshark and capture on veth0
wireshark &
We can now run the example program with the simulated clock::
./waf --run lena-simple-epc-emu --command="%s --ns3::EmuEpcHelper::sgwDeviceName=veth0 --ns3::EmuEpcHelper::enbDeviceName=veth1"
Using wireshark, you should see ARP resolution first, then some GTP
packets exchanged both in uplink and downlink.
The default setting of the example program is 1 eNB and 1UE. You can change this via command line parameters, e.g.::
./waf --run lena-simple-epc-emu --command="%s --ns3::EmuEpcHelper::sgwDeviceName=veth0 --ns3::EmuEpcHelper::enbDeviceName=veth1 --nEnbs=2 --nUesPerEnb=2"
To get a list of the available parameters::
./waf --run lena-simple-epc-emu --command="%s --PrintHelp"
To run with the realtime clock: it turns out that the default debug
build is too slow for realtime. Softening the real time constraints
with the BestEffort mode is not a good idea: something can go wrong
(e.g., ARP can fail) and, if so, you won't get any data packets out.
So you need a decent hardware and the optimized build with statically
linked modules::
./waf configure -d optimized --enable-static --enable-modules=lte --enable-examples --enable-sudo
Then run the example program like this::
./waf --run lena-simple-epc-emu --command="%s --ns3::EmuEpcHelper::sgwDeviceName=veth0 --ns3::EmuEpcHelper::enbDeviceName=veth1 --simulatorImplementationType=ns3::RealtimeSimulatorImpl --ns3::RealtimeSimulatorImpl::SynchronizationMode=HardLimit"
note the HardLimit setting, which will cause the program to terminate
if it cannot keep up with real time.
The approach described in this section can be used with any type of
net device. For instance, [Baldo2014]_ describes how it was used to
run an emulated LTE-EPC network over a real multi-layer packet-optical
transport network.
.. _sec-network-attachment:
Network Attachment