All Projects → nyuwireless-unipd → Ns3 Mmwave

nyuwireless-unipd / Ns3 Mmwave

Licence: gpl-2.0
ns-3 module for simulating mmWave-based cellular systems. See https://ieeexplore.ieee.org/document/8344116/ (open access) as a reference.

Projects that are alternatives of or similar to Ns3 Mmwave

Toxy
Hackable HTTP proxy for resiliency testing and simulated network conditions
Stars: ✭ 2,698 (+1496.45%)
Mutual labels:  network, simulation
Metta
An information security preparedness tool to do adversarial simulation.
Stars: ✭ 867 (+413.02%)
Mutual labels:  network, simulation
Particles
A particle simulation engine based on a port of d3-force
Stars: ✭ 104 (-38.46%)
Mutual labels:  network, simulation
Libae
redis's async event loop library
Stars: ✭ 160 (-5.33%)
Mutual labels:  network
Zxrequestblock
基于NSURLProtocol一句话实现iOS应用底层所有网络请求拦截(含网页ajax请求拦截【不支持WKWebView】)、一句话实现防抓包(使Thor,Charles,Burp等代理抓包方式全部失效,且即使开启了代理,也不影响App内部的正常请求)。包含http-dns解决方法,有效防止DNS劫持。用于分析http,https请求等
Stars: ✭ 160 (-5.33%)
Mutual labels:  network
Mrboom Libretro
Mr.Boom is an 8 player Bomberman clone for RetroArch/Libretro
Stars: ✭ 162 (-4.14%)
Mutual labels:  network
Libhv
🔥 比libevent、libuv更易用的国产网络库。A c/c++ network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
Stars: ✭ 3,355 (+1885.21%)
Mutual labels:  network
Joincap
Merge multiple pcap files together, gracefully.
Stars: ✭ 159 (-5.92%)
Mutual labels:  network
Simplenet
An easy-to-use, event-driven, asynchronous network application framework compiled with Java 11.
Stars: ✭ 164 (-2.96%)
Mutual labels:  network
Mjrl
Reinforcement learning algorithms for MuJoCo tasks
Stars: ✭ 162 (-4.14%)
Mutual labels:  simulation
Litenetlib
Lite reliable UDP library for Mono and .NET
Stars: ✭ 2,179 (+1189.35%)
Mutual labels:  network
Nettop
Utility to show network traffic (both TCP and UDP v4 and v6) split by process and remote host
Stars: ✭ 162 (-4.14%)
Mutual labels:  network
Iptools
PHP Library for manipulating network addresses (IPv4 and IPv6)
Stars: ✭ 163 (-3.55%)
Mutual labels:  network
React Native Network Logger
An HTTP network request monitor for React Native with in-app interface for iOS and Android with no native code
Stars: ✭ 161 (-4.73%)
Mutual labels:  network
Cs offer
计算机学科基础知识和主流编程语言相关内容的总结
Stars: ✭ 2,016 (+1092.9%)
Mutual labels:  network
Ndlib
Network Diffusion Library - (for NetworkX and iGraph)
Stars: ✭ 159 (-5.92%)
Mutual labels:  simulation
Tinn
A tiny neural network library
Stars: ✭ 1,944 (+1050.3%)
Mutual labels:  network
Pycat
Python network tool, similar to Netcat with custom features.
Stars: ✭ 162 (-4.14%)
Mutual labels:  network
Powershell ipv4networkscanner
Powerful asynchronus IPv4 network scanner for PowerShell
Stars: ✭ 161 (-4.73%)
Mutual labels:  network
Sparkle
🎇 A modern particle engine running on GPU, using c++14 and OpenGL 4.4.
Stars: ✭ 162 (-4.14%)
Mutual labels:  simulation

mmWave ns-3 module

This is an ns-3 mmWave module for the simulation of 5G mmWave cellular networks. A description of this module can be found on IEEExplore (open access).

The mmWave module for ns-3 can be used to simulate 5G cellular networks at mmWave frequencies. This module builds on top of the LTE one, and currently includes features such as:

  • Support of a wide range of channel models, including the model based on 3GPP TR 38.901 for frequencies between 0.5 and 100 GHz. Ray tracing and measured traces can also be used.

  • Custom PHY and MAC classes supporting the 3GPP NR frame structure and numerologies. They support dynamic TDD, and are parameterized and highly customizable in order to be flexible enough for testing different designs.

  • Custom schedulers for the dynamic TDD format

  • Carrier Aggregation at the MAC layer

  • Enhancements to the RLC layer with re-segmentation of packets for retransmissions

  • Dual Connectivity with LTE base stations, with fast secondary cell handover and channel tracking

  • Simulation of core network elements (with also the MME as a real node)

The following papers describe in detail the features implemented in the mmWave module:

These other papers describe features that were implemented in older releases:

If you use this module in your research, please cite M. Mezzavilla, M. Zhang, M. Polese, R. Ford, S. Dutta, S. Rangan, M. Zorzi, "End-to-End Simulation of 5G mmWave Networks," in IEEE Communications Surveys & Tutorials, vol. 20, no. 3, pp. 2237-2263, thirdquarter 2018. bibtex available here

Future work

We are actively developing new features for the mmWave module, including:

  • 3GPP NR beam tracking
  • 3GPP NR Integrated Access and Backhaul feature (see this repo for more details)

About

This module is being developed by NYU Wireless and the University of Padova. This work was supported in part by the U.S. Department of Commerce National Institute of Standards and Technology through the Project “An End-to-End Research Platform for Public Safety Communications above 6 GHz” under Award 70NANB17H16.

Authors

The authors of the mmWave module are listed in this file.

License

This software is licensed under the terms of the GNU GPLv2, as like as ns-3. See the LICENSE file for more details.

The Network Simulator, Version 3

Table of Contents:

  1. An overview
  2. Building ns-3
  3. Running ns-3
  4. Getting access to the ns-3 documentation
  5. Working with the development version of ns-3

Note: Much more substantial information about ns-3 can be found at http://www.nsnam.org

  1. An Open Source project

ns-3 is a free open source project aiming to build a discrete-event network simulator targeted for simulation research and education.
This is a collaborative project; we hope that the missing pieces of the models we have not yet implemented will be contributed by the community in an open collaboration process.

The process of contributing to the ns-3 project varies with the people involved, the amount of time they can invest and the type of model they want to work on, but the current process that the project tries to follow is described here: http://www.nsnam.org/developers/contributing-code/

This README excerpts some details from a more extensive tutorial that is maintained at: http://www.nsnam.org/documentation/latest/

  1. Building ns-3

The code for the framework and the default models provided by ns-3 is built as a set of libraries. User simulations are expected to be written as simple programs that make use of these ns-3 libraries.

To build the set of default libraries and the example programs included in this package, you need to use the tool 'waf'. Detailed information on how use waf is included in the file doc/build.txt

However, the real quick and dirty way to get started is to type the command ./waf configure --enable-examples followed by ./waf (If errors occurred during the build process, type the following command CXXFLAGS="-Wall" ./waf configure --enable-examples followed by ./waf) in the the directory which contains this README file. The files built will be copied in the build/ directory.

The current codebase is expected to build and run on the set of platforms listed in the RELEASE_NOTES file.

Other platforms may or may not work: we welcome patches to improve the portability of the code to these other platforms.

  1. Running ns-3

On recent Linux systems, once you have built ns-3 (with examples enabled), it should be easy to run the sample programs with the following command, such as:

./waf --run simple-global-routing

That program should generate a simple-global-routing.tr text trace file and a set of simple-global-routing-xx-xx.pcap binary pcap trace files, which can be read by tcpdump -tt -r filename.pcap The program source can be found in the examples/routing directory.

  1. Getting access to the ns-3 documentation

Once you have verified that your build of ns-3 works by running the simple-point-to-point example as outlined in 4) above, it is quite likely that you will want to get started on reading some ns-3 documentation.

All of that documentation should always be available from the ns-3 website: http:://www.nsnam.org/documentation/.

This documentation includes:

  1. Working with the development version of ns-3

If you want to download and use the development version of ns-3, you need to use the tool 'mercurial'. A quick and dirty cheat sheet is included in doc/mercurial.txt but reading through the mercurial tutorials included on the mercurial website is usually a good idea if you are not familiar with it.

If you have successfully installed mercurial, you can get a copy of the development version with the following command: "hg clone http://code.nsnam.org/ns-3-dev"

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].