|
1 |
| -# The Network Simulator, Version 3 |
| 1 | +# FISim: Future Internet Architecture Simulator |
2 | 2 |
|
3 | 3 | ## Table of Contents
|
4 | 4 |
|
5 |
| -1) [An overview](#an-open-source-project) |
6 |
| -2) [Building ns-3](#building-ns-3) |
7 |
| -3) [Running ns-3](#running-ns-3) |
8 |
| -4) [Getting access to the ns-3 documentation](#getting-access-to-the-ns-3-documentation) |
9 |
| -5) [Working with the development version of ns-3](#working-with-the-development-version-of-ns-3) |
| 5 | +1) [Overview](#overview) |
| 6 | +2) [Build Network](#build-network) |
| 7 | +3) [Run FISim](#running-fisim) |
| 8 | +4) [Cybertwin Network](#cybertwin-network) |
| 9 | +5) [Content Centric Network](#content-centric-network) |
10 | 10 |
|
11 |
| -> **NOTE**: Much more substantial information about ns-3 can be found at |
12 |
| -<https://www.nsnam.org> |
| 11 | +## Overview |
13 | 12 |
|
14 |
| -## An Open Source project |
| 13 | +FISim is an open-source network simulator dedicated to FIA (Future Internet Architecture), based on [NS-3](https://www.nsnam.org). |
15 | 14 |
|
16 |
| -ns-3 is a free open source project aiming to build a discrete-event |
17 |
| -network simulator targeted for simulation research and education. |
18 |
| -This is a collaborative project; we hope that |
19 |
| -the missing pieces of the models we have not yet implemented |
20 |
| -will be contributed by the community in an open collaboration |
21 |
| -process. |
| 15 | +## Build Network |
22 | 16 |
|
23 |
| -The process of contributing to the ns-3 project varies with |
24 |
| -the people involved, the amount of time they can invest |
25 |
| -and the type of model they want to work on, but the current |
26 |
| -process that the project tries to follow is described here: |
27 |
| -<https://www.nsnam.org/developers/contributing-code/> |
| 17 | +FISim utilizes YAML-based configuration files to construct network topologies, thereby greatly simplifying the work of researchers and practitioners. |
28 | 18 |
|
29 |
| -This README excerpts some details from a more extensive |
30 |
| -tutorial that is maintained at: |
31 |
| -<https://www.nsnam.org/documentation/latest/> |
| 19 | +## Running FISim |
32 | 20 |
|
33 |
| -## Building ns-3 |
| 21 | +Running FISim is quite straightforward; once you have defined the network topology, system configuration, and applications, you can easily use the commands provided by FISim to compile and run your simulation. |
34 | 22 |
|
35 |
| -The code for the framework and the default models provided |
36 |
| -by ns-3 is built as a set of libraries. User simulations |
37 |
| -are expected to be written as simple programs that make |
38 |
| -use of these ns-3 libraries. |
| 23 | +## Cybertwin Network |
39 | 24 |
|
40 |
| -To build the set of default libraries and the example |
41 |
| -programs included in this package, you need to use the |
42 |
| -tool 'ns3'. Detailed information on how to use ns3 is |
43 |
| -included in the file doc/build.txt |
| 25 | +In cloud computing, the Internet is shifting from end-to-end to cloud-to-end connections. Concurrently, the rapid advancement of the Internet of Everything (IoE) and its applications is increasing mobile Internet traffic and services, challenging the existing end-to-end network architecture in terms of mobility, security, and availability. To address these challenges, the Cybertwin network architecture has been proposed. The Cybertwin network introduces the Cybertwin |
44 | 26 |
|
45 |
| -However, the real quick and dirty way to get started is to |
46 |
| -type the command |
| 27 | +>Cybertwin is a digital representation of humans or things in virtual cyberspace, created for functions such as communication assistance, network data logging, and digital asset ownership. It aims to replace the traditional end-to-end communication model with a cybertwin-based approach. |
47 | 28 |
|
48 |
| -```shell |
49 |
| -./ns3 configure --enable-examples |
50 |
| -``` |
| 29 | +concept into networking and presents a new communication model. Additionally, it introduces a novel cloud network operating system and cloud operator to manage network resources. Key concepts of the Cybertwin network include infrastructure, the Cybertwin based communication model, the cloud network operating system, and the cloud operator. For more details, see~\cite{Cybertwin,cybertwin2} |
51 | 30 |
|
52 |
| -followed by |
| 31 | +## Content Centric Network |
53 | 32 |
|
54 |
| -```shell |
55 |
| -./ns3 |
56 |
| -``` |
| 33 | +Content-Centric Networking (CCN) is an innovative approach to network architecture that is designed to make content the primary focus of the network, rather than the traditional host-centric model where communication is based on the location of the host . In CCN, data is named and addressed, and the network is responsible for delivering that data to the requester, regardless of where the data is located. This is achieved through a publish/subscribe model where consumers request data by name, and the network delivers the data from the nearest node that has it available, which can improve efficiency, especially for popular content that can be cached close to the consumer. |
57 | 34 |
|
58 |
| -in the directory which contains this README file. The files |
59 |
| -built will be copied in the build/ directory. |
| 35 | +CCN includes features such as in-network caching, which allows for the storage of content at various points throughout the network, reducing the need to retrieve content from its original source each time it is requested. This can lead to significant improvements in latency and bandwidth usage. Additionally, CCN is designed to be more resilient and secure, as content can be verified and authenticated through digital signatures before it is processed by routers or consumers . |
60 | 36 |
|
61 |
| -The current codebase is expected to build and run on the |
62 |
| -set of platforms listed in the [release notes](RELEASE_NOTES.md) |
63 |
| -file. |
| 37 | +The architecture of CCN is such that it can naturally support scalability, efficiency, and security. It does this by decoupling content from its location, allowing networks to handle increased traffic by caching popular content closer to users, reducing the distance data must travel and balancing loads more effectively across the network . Security in CCN is inherently content-centric, with data packets including cryptographic signatures that ensure content integrity and authenticity, regardless of where the content is stored or how it is transmitted. |
64 | 38 |
|
65 |
| -Other platforms may or may not work: we welcome patches to |
66 |
| -improve the portability of the code to these other platforms. |
| 39 | +CCN has the potential to greatly enhance the way content is delivered over the internet, making it more suitable for modern applications such as streaming media, content delivery networks, and mobile applications where users frequently change locations . It represents a significant shift from traditional host-centric network architectures towards a more flexible, efficient, and secure content-centric networking approach . |
67 | 40 |
|
68 |
| -## Running ns-3 |
69 |
| - |
70 |
| -On recent Linux systems, once you have built ns-3 (with examples |
71 |
| -enabled), it should be easy to run the sample programs with the |
72 |
| -following command, such as: |
73 |
| - |
74 |
| -```shell |
75 |
| -./ns3 run simple-global-routing |
76 |
| -``` |
77 |
| - |
78 |
| -That program should generate a `simple-global-routing.tr` text |
79 |
| -trace file and a set of `simple-global-routing-xx-xx.pcap` binary |
80 |
| -pcap trace files, which can be read by `tcpdump -tt -r filename.pcap` |
81 |
| -The program source can be found in the examples/routing directory. |
82 |
| - |
83 |
| -## Getting access to the ns-3 documentation |
84 |
| - |
85 |
| -Once you have verified that your build of ns-3 works by running |
86 |
| -the simple-point-to-point example as outlined in 3) above, it is |
87 |
| -quite likely that you will want to get started on reading |
88 |
| -some ns-3 documentation. |
89 |
| - |
90 |
| -All of that documentation should always be available from |
91 |
| -the ns-3 website: <https://www.nsnam.org/documentation/>. |
92 |
| - |
93 |
| -This documentation includes: |
94 |
| - |
95 |
| -- a tutorial |
96 |
| -- a reference manual |
97 |
| -- models in the ns-3 model library |
98 |
| -- a wiki for user-contributed tips: <https://www.nsnam.org/wiki/> |
99 |
| -- API documentation generated using doxygen: this is |
100 |
| - a reference manual, most likely not very well suited |
101 |
| - as introductory text: |
102 |
| - <https://www.nsnam.org/doxygen/index.html> |
103 |
| - |
104 |
| -## Working with the development version of ns-3 |
105 |
| - |
106 |
| -If you want to download and use the development version of ns-3, you |
107 |
| -need to use the tool `git`. A quick and dirty cheat sheet is included |
108 |
| -in the manual, but reading through the git |
109 |
| -tutorials found in the Internet is usually a good idea if you are not |
110 |
| -familiar with it. |
111 |
| - |
112 |
| -If you have successfully installed git, you can get |
113 |
| -a copy of the development version with the following command: |
114 |
| - |
115 |
| -```shell |
116 |
| -git clone https://gitlab.com/nsnam/ns-3-dev.git |
117 |
| -``` |
118 |
| - |
119 |
| -However, we recommend to follow the Gitlab guidelines for starters, |
120 |
| -that includes creating a Gitlab account, forking the ns-3-dev project |
121 |
| -under the new account's name, and then cloning the forked repository. |
122 |
| -You can find more information in the [manual](https://www.nsnam.org/docs/manual/html/working-with-git.html). |
0 commit comments