Skip to content

DBC201/inet_smartgrid

Repository files navigation

This is a fork of INET++, specifically inet-4.5.2-4e9a4990d0 (v4.5.2). The original repo along with the source code can be found at: https://github.com/inet-framework/inet/tree/v4.5.2.

The purpose of this fork is to simulate smart grid communications for research purposes.

Following changes were made:

  • IEC61850 Packet definitions were added: f514139
  • End to end delay measurement for real-time was added: 9fdbe05
  • Eth to UDP tunneling was added: 5e19c4d
  • Parsing for IEC61850 packets were added: 7b55588
  • A replay interface that replays a given PCAP file was added: 355471a, which requires the linking of the pcap library. The pcap library can be found at: https://www.tcpdump.org
  • An OT-SDN switch with a custom classifier was added: 6a14984, 9bade6d
  • A CustomIOSwitch is implemented to simulate a switch with I/O processing: 1c3ec7c
  • A Goose Semantic Attacker is implemented to be used with the CustomIOSwitch: 13e5789, based on Hoyos et. al. 2012
  • A verifier that detects attacks using multiple channels were added: 5a9824c, 4a17b14, 283bfd3. 4a17b14 requires linking with the crypto library. The crypto library can be found at: https://www.openssl.org
  • A SV FDI Attacker is implemented to be used with the CustomIOSwitch: c2395ba, based on Hong et. al. 2022
  • A simple one way forwarder is implemented to be used with DualVerifierApp: 341aab1
  • A SimpleSvVerifierApp that orders packet traffic by strictly incrementing smpCnt values is implemented: a466dc6
  • A SvVerifierHashmapApp that uses a hash map to store the packets and check for duplicates is implemented: cf25119. xxhash is used for hashing. It can be found at: https://github.com/Cyan4973/xxHash
  • A SvPduParser is added to parse the SV PDU and extract the fields such as smpCnt value: d7e2cdb

---Below is the continuation to the original readme.---

badge 1 badge 2

INET Framework for OMNEST/OMNeT++

The INET framework is an open-source communication networks simulation package, written for the OMNEST/OMNeT++ simulation system. The INET framework contains models for numerous wired and wireless protocols, a detailed physical layer model, application models and more. See the CREDITS file for the names of people who have contributed to the INET Framework.

IMPORTANT: The INET Framework is continuously being improved: new parts are added, bugs are corrected, and so on. We cannot assert that any protocol implemented here will work fully according to the specifications. YOU ARE RESPONSIBLE YOURSELF FOR MAKING SURE THAT THE MODELS YOU USE IN YOUR SIMULATIONS WORK CORRECTLY, AND YOU'RE GETTING VALID RESULTS.

Contributions are highly welcome. You can make a difference!

See the WHATSNEW file for recent changes.

GETTING STARTED

You may start by downloading and installing the INET framework. Read the INSTALL file for further information.

Then you can gather initial experience by starting some examples or following a tutorial or showcase (see the /examples, /showcases or /tutorials folder). After that, you can learn the NED language from the OMNeT++ manual & sample simulations.

After that, you may write your own topologies using the NED language. You may assign some of the submodule parameters in NED files. You may leave some of them unassigned.

Then, you may assign unassigned module parameters in omnetpp.ini of your simulation. (You can refer to sample simulations & manual for the content of omnetpp.ini)

Finally, you will be ready to run your simulation. As you see, you may use the INET framework without writing any C++ code, as long as you use the available modules.

To implement new protocols or modify existing ones, you'll need to add your code somewhere under the src directory. If you add new files under the 'src' directory you will need to regenerate the makefiles (using the 'make makefiles' command).

If you want to use external interfaces in INET, enable the "Emulation" feature either in the IDE or using the inet_featuretool then regenerate the INET makefile using 'make makefiles'.

About

Fork of INET library for OMNeT++ to simulate Smart Grid Communications

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Contributors