ProjectList2021 2022
ProjectList2021 2022
Wireless network
Project List – 1st Semester /2021-2022
Rules [1/2]
• Each topic/1 group {no overlapped topic} • Each group
• At most 3 members
• Ratio of project scores {mixed of ratio 1 & ratio 2}
• Criteria 1 Ratio
• 30% in theory: operations, design, algorithms, standards
• 35-50% in demo: testing/experimental scenarios, trace/log files, input parameters, output metrics,...
• 35-50% in opensource-code analysis: files/DIR, main data structures, compile & debug steps, /initialization,
flow diagram of functions calls [transmitting, receiving, forwarding, processing,...], debug & verification
• Critera-2 Ratio
• 60% presentation performance (no absences are allowed) (include Q&A with lecturer)
• Can be presented in both Vietnamese and English (English would have bonus points)
• 35% reports, slides, codes/apps/logs, demos
• English report would have bonus points
• 5% participation in the other presentations {in other slots}
Rules [2/2]
• Format:
• No. of Pages: at least 50 pages, at most 150 pages
• Font: Time News Roman 12, with line spacing 1.5
• Languages: Vietnamese or English (English would have bonus points)
• Structure of report:
• Cover page with topic title
• Table of contents [use MS WORD cross-references]
• List of acronyms/abbreviations
• List of figures [use MS WORD cross-references]
• List of tables [use MS WORD cross-references]
• Part 01: Introduction (optional)
• Part 02: Related work/Literature review // Trình bày lại các kiến thức/công nghệ/nghiên cứu liên quan theo cách hiểu và ngôn ngữ của các bạn.
• Part 03: Methodology/Architecture Design/Concept (can be yours or of related work)
• Part 04: Code analysis/Compile/Debugging/Tracing/Logging, Demo Scenarios/Arch.,
• Part 05: Demos/ Experimental Implementation/Results
• Part 06: Conclusions (optional)
• Workloads table (write in detail who ‘s responsible for each task in the project
• List of references
• APPENDIXES
Project List – Network emulation/simulation
• Network simulator 3: https://www.nsnam.org |
https://github.com/nsnam
• https://github.com/GNS3/gns3-gui
• TC/Linux Kernel:
https://access.redhat.com/documentation/en-us/red_hat_enterprise
_linux/8/html/configuring_and_managing_networking/linux-traffic-co
ntrol_configuring-and-managing-networking
• DummyNet: https://www.freebsd.org/cgi/man.cgi?dummynet
Project List – Network emulation/simulation
• Network simulator 3: https://www.nsnam.org | https://github.com/nsnam
• Requirements (ratio: 30% theory + 70% experiment):
• Related work: https://sci-hub.se/https://link.springer.com/chapter/10.1007/978-3-642-12331-3_
2
• Source-code/Protocol/Algorithm/Specification analysis :
• general architecture/concept/function called flow of the Network simulator 3,
• Flow of the simulation when it starts: how nodes operate (send, transmit, receive)
• Some of the following criteria should be done (more on experimenting)
• Topology must have at least 3 nodes.
• Plugins/Libs: install 3 libs/plugins at least (Ex: PyGraphViz)
• Demos of at least 2 wireless technologies (Ex: 802.11ax/ac/n, Zigbee, 3G/4G)
• Low-noise scenario vs. noisy scenario (measure bandwidth, loss-rate, latency)
• Low-node count vs. high-node count scenario (measure bandwidth, loss-rate, latency)
• Multiple access: CSMA/CA simulation
• Various applications at application layer (optional)
Project List –
Network
emulation/simulation
• https://github.com/GNS3/gns3-gui
• Requirements (ratio: 30% theory + 70% experiment):
• Source-code/Protocol/Algorithm/Specification analysis
• General architecture/concept/
• function called flow of the Graphical Network simulator 3
• Some of the following criteria should be done:
• Demos of at least 3 wireless technologies (Ex: 802.11ax/ac/n, Zigbee, 3G/4G)
• Topology should look likes the Picture in background
• Low-noise scenario vs. noisy scenario (measure bandwidth, loss-rate, latency)
• Low-node count vs. high-node count scenario (measure bandwidth, loss-rate, latency)
• Multiple access: CSMA/CA simulation
• Various applications at application layer (optional)
Project List – Network emulation/simulation
• Traffic Control/Linux Kernel – Link Emulation
Requirements (ratio: 50% theory + 50% experiment):
• Source-code/Protocol/Algorithm/Specification analysis :
• Related work: https://hal.inria.fr/inria-00425613/document
• general architecture/concept/function called flow diagram of the TC inside Linux Kernel
• How Traffic Control IP datagram, rules, …
• Some of the following criteria should be done:
• Should use Alpine light-weighed Linux for virtualization
• Demos of at least 5 rules ( bandwidth limitation, artificially latency, loss-rate)
• Each scenario must have topology design: at least 3 nodes ( VM(s) / containers), 1 node acts as router (which has 2 NIC(s))
• Measure bandwidth, loss-rate, jitter, latency/RTT (using Iperf2/3, Ping )
• High node-code experiment(optional).
• Non-emulation vs emulation.
• System clock/timing: impact on the Emulation (optional)
• Real-world scenario (optional)
Project List – Network emulation/simulation
• DummyNet – Link Emulation
Requirements (ratio: 50% theory + 50% experiment):
• Source-code/Protocol/Algorithm/Specification analysis :
• Related work: http://caia.swin.edu.au/reports/160226A/CAIA-TR-160226A.pdf
• general architecture/concept/function called flow diagram of the DummyNet
• How DummyNet IP datagram, rules, …
• Some of the following criteria should be done:
• FreeBSD (Unix) : http://freebsd.org
• Demos of at least 5 rules ( bandwidth limitation, artificially latency, loss-rate)
• Each scenario must have topology design: at least 3 nodes ( VM(s) / containers), 1 node acts as router (which has 2 NIC(s))
• Measure bandwidth, loss-rate, jitter, latency/RTT (using Iperf2/3, Ping )
• High node-count experiment (optional).
• Non-emulation vs emulation.
• System clock/timing: impact on the Emulation (optional)
• Vs. Real-world scenario. (optional)
Project List – Wireless/Wireless security
• Wifi WPA 3:
https://www.wi-fi.org/download.php?file=/sites/default/files/private/
WPA3_Specification_v3.0.pdf
• Aircrack-NG + Hashcat:
• Long-range wireless protocol:
• Zigbee: https://zigbeealliance.org/solution/zigbee/
• LoRA: https://lora-alliance.org/about-lorawan/
Project List – Wireless/Wireless security
• Aircrack-NG + Hashcat(GPU):
Requirements (40% Theory + 60% Experiment):
• Source-code analysis:
• general architecture/concept/function called flow of the Aircrack-aireplay, air-mon
• How Aircrack can create MITM attack (de-auth method explain, how it capture WPA2/3 4-way
handshake)
• Optional: source analysis HashCat
• Some of the following criteria should be done:
• Topology must have: 1 AP + 1 victim station + 1 attacker station (Laptop with Kali linux)
• Wireless security scenarios: WPA2-Personal, WPA2-Enterpise, WPA3.
• Wireless 802.11n at least (ac/ax optional)
• Password strength: at least 8-9 characters (alpha-numberic) | using Dictionary attack
• Logs: *.pcap, *.hcappx , 4-way handshakes logs.
Project List – Wireless/Wireless security
• WPA3
Requirements (60% Theory + 40% Experiment)):
• Source-code/Protocol/Algorithm/Specification analysis :
• general architecture/concept/specification of the WPA3
• How to avoid key(wifi password) penetration
• 4-way handshake mechanism.
• How keys are store on Access Point.
• Some of the following criteria should be done:
• Can use Aircrack/Wireshark to capture WPA3 4-way handshake related packet.
• Must have: 1 AP + 1 station (2 station is optional)
• Wireless security scenario: WPA3.
• Wireless 802.11n at least (ac/ax optional)
• Password strength: 8 characters (alphanumberic)
• Logs: *.pcap, 4-way handshakes logs.
Project List – Wireless/Wireless security
Long-range wireless protocol:
• Zigbee: https://zigbeealliance.org/solution/zigbee/
• LoRA: https://lora-alliance.org/about-lorawan/
Requirements (75% theory + 25% experiment):
• Source-code/Protocol/Algorithm/Specification analysis :
• general architecture/concept/specification of the ZigBee/LoRA
• Packet structures, operation distance, frequency band, channel no. ,..
• How zigbee/loRA handle Multiple Access (CSMA/?)
• How zigbee/loRA it minimize energy-usage and maintain long-range communication.
• Some of the following criteria should be done:
• Real embedded devices experiment are optional (bonus point), demo sending Zigbee/LoRA packets across communication channel,
energy usage measuring.
• https://hshop.vn/collections/lora
• https://hshop.vn/collections/zigbee
• Various-distance experiments (real-device/emulation/simulation)
• Non-noise vs. noisy experiments (emulation/simulation)
• Captured packet, logs.
Project List – Embedded OS/Routing
software
• RouterOS: OpenWRT: https://openwrt.org | OpenSense
• ContikiOS: https://github.com/contiki-os/contiki
• BalenaOS: https://www.balena.io/os/
• AODV + OLSRd:
• https://github.com/OLSR/olsrd
• https://github.com/erimatnor/aodv-uu
• Netfilter: https://www.netfilter.org | kernel.org
• B.A.T.M.A.N:
https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConc
ept
Project List – Embedded OS/Routing
software
• AODV+OLSRd:
• https://github.com/OLSR/olsrd
• https://github.com/erimatnor/aodv-uu
Requirements (60% Theory + 40% Experiment):
• Source-code/Protocol/Algorithm/Specification analysis :
• general concept/algorithm of the AODV and OLSRd
• Packet structures, transmission rate/slots.
• How nodes maintain routing info.(init, sharing recover routing table) in MANET
• Some of the following criteria should be done:
• Real-devices (laptop) experiment is welcome, at least 3 nodes ( ~ 3 PC)
• Virtual emulation devices (3 VM(s)), each of 3 nodes must install routing software
• AODV vs. OLSRd amount of routing packets, overhead (~ delay from routing))
• Measure bandwidth, loss-rate, latency.
• Captured packet, logs (wireshark, tcpdump)
Project List – Embedded OS/Routing
software
• Netfilter: https://www.netfilter.org | Linux Kernel .org
• Requirement (60% Theory + 40% Experiment)
• Source-code/Protocol/Algorithm/Specification analysis :
• How it’s been adopted by modern network applications.
• General architecture/concept/function called flow of the Netfilter inside Linux Kernel
• How Traffic Control IP , TCP Segment, UDP datagram, rules,…
• Hooks position to apply Netfilter rule.
• Data structures of ip.c, tcp.c, udp.c inside Linux kernel source code AND data structure of NetworkFilter related object such
as Rule, Hooks, …
• Linux Kernel 4.x , kernel 5.x vs older Netfiler in older version of kernel
• Some of the following criteria should be done:
• Demos of at least 10 rules ( bandwidth limitation, artificially latency, loss-rate): each rule should have a separated *.c program
• Each scenario must have topology design: at least 3 nodes ( VM(s) / containers), 1 node acts as router (which has 2 NIC(s))
• Measure bandwidth, loss-rate, jitter, latency/RTT (using Iperf2/3, Ping )
• High node of nodes experiment.
• Non-filter vs filtering.
• Blocked by IP, port , packet pattern (ex: tcp syn flood)
Project List – Embedded OS/Routing
software
• B.A.T.M.A.N:
https://www.open-mesh.org/projects/open-mesh/wiki/BATMANConcept
Requirements (75% Theory + 25% experiment):
• Source-code/Protocol/Algorithm/Specification analysis:
• general architecture/concept/algorithm of the BATMAN
• Packet structures, transmission rate/slots.
• How nodes maintain routing info.(init, sharing recover routing table) in MANET
• How it’s been adopted in real-world applications (give at least 3 example)
• Some of the following criteria should be done:
• Real-devices (laptop) experiment is welcome, at least 3 nodes ( ~ 3 PC)
• Virtual devices (3 VM(s)), each of 3 nodes must install routing software
• The amount of routing packets, overhead (~ delay from routing))
• Captured packet, logs (wireshark, tcpdump.)
Project List – Embedded OS/Routing
software
• OpenWRT: https://openwrt.org
• ContikiOS: https://github.com/contiki-os/contiki
• BalenaOS: https://www.balena.io/os/
Requirements (50% theory + 50% experiment):
• Source-code/Protocol/Algorithm/Specification analysis:
• General architecture/concept/component diagrams of the 3 OS(s)
• OS features, services (give at least 3-4 popular examples).
• At least 3 well-known libs/plugins for each OS.
• Implement a service/lib for those OS(s) (optional).
• Some of the following criteria should be done:
• Real-devices (router(TPLink)) for OpenWRT experiment is optional( bonus point).
• If using VM(s), topology must have at least 3 Subnet(s), demos at least 3 services (ex: DHCP, firewall, VPN, …)
• Real-devices ContikiOS/BalenaOS ( RaspberryPI, Aduino).
• Implementation of simple library for the 3 OS(s).
• Demo of at least 2 function (Ex: blinking LED) if using real-devices
• Virtual devices (3 VM(s)), each of 1 nodes must install routing software
• Videos of compiling tool/software,
Project List – Virtualization container
• LXC container virtualization: https://linuxcontainers.org
• http://Kubernetes.io - container orchestration software: Kubernetes (*)
Requirements:
(60% theory + 40% experiment applied for (NT131.M11.MMCL)
(50% theory + 50% experiment applied for (NT131.M12.MMCL)
• Source-code/Protocol/Algorithm/Specification analysis :
• General architecture/concept/component diagrams of the LXC container technology
• General architecture/concept/component diagrams of the Kubernetes (*)
• LXC container ‘s features, services (give at least 3-4 popular examples).
• Implement a service/lib using LXC container (optional).
• Some of the following criteria should be done:
• Demo how-to compile/debug LXC Container: debug processes info(s), resource monitor
• Demo how-to encapsulate and run a service/process/application inside the LXC container.
• Demo how-to connect two LXC containers via a virtual network adapter on a single host/machine.
• Demo how-to run LXC container under Kubernetes orchestration. (*)
*: NT131.M11.MMCL class must include this
Project List – Virtualization container
• Containerd container virtualization: http://containerd.io
• http://Kubernetes.io - container orchestration software: Kubernetes (*)
(60% theory + 40% experiment applied for (NT131.M11.MMCL)
(50% theory + 50% experiment applied for (NT131.M12.MMCL)
• Source-code/Protocol/Algorithm/Specification analysis:
• General architecture/concept/component diagrams of the Containerd technology
• General architecture/concept/component diagrams of the Kubernetes (*)
• Containerd container ‘s features, services (give at least 3-4 popular examples).
• Implement a service/lib for using containerd (optional).
• Some of the following criteria should be done:
• Demo how-to compile/debug Containerd : debug processes info(s), resource monitor
• Demo how-to encapsulate and run a service/process/application inside the Containerd.
• Demo how-to connect two Containerd via a virtual network adapter on a single host/machine.
• Demo how-to run Containerd under Kubernetes orchestration. (*)
*: NT131.M11.MMCL class must include this
Project List – Virtualization container
• Kubernetes (k8s) container orchestration: http://kubernetes.io (only
apply for (NT131.M12.MMCL)
Requirements (60% theory + 40% experiment):
• Source-code/Protocol/Algorithm/Specification analysis:
• General architecture/concept/component diagrams of the Kubernetes.
• Detailed explanations of each components.
• K8s‘s features, services (give at least 4-5 popular examples).
• Some of the following criteria should be done:
• Demo how-to run/deploy a K8s cluster: 3 nodes (virtual machines)
• Demo how-to write K8s descriptor files (service.yml, deployment.yaml, …) include
explanation
• Deploy an example of the well-known IoTs services platform on K8s (do your research)
Project List – IoT Message Protocols ( only
for NT131.M12.MMCL)
MQTT - https://mqtt.org
Requirements (60% theory + 40% experiment):
• Source-code/Protocol/Algorithm/Specification analysis:
• Specification/concept/component diagrams of MQTT protocol.
• Detailed explanations of each components/packet structure.
• Give at least 3-4 well-known use-cases and example (explain in detail).
• Some of the following criteria should be done:
• Demo topology: 1 MQTT broker(include Message server) + or 1 separated server + at
least 1 Client (Message producer) (real-device likes Raspberry, Arduino are welcome)
• Demo application: can be anything (do your research) or your implementation
(recommended)
• Demo scenarios: intense load vs. normal load in MQTT broker
Project List – Mobile Protocols ( only for
NT131.M12.MMCL)
Massive MIMO in 5G: https://arxiv.org/pdf/1304.6690.pdf,
https://arxiv.org/pdf/1511.08689.pdf
Requirements (80% theory + 20% survey):
• Source-code/Protocol/Algorithm/Specification analysis:
• Specification/concept/algorithm of normal MIMO
• Specification/concept/algorithm of Massive MIMO
• Specification/concept/algorithm of Massive MIMO in 5G
• Give 3-4 well-known wireless/mobile technologies that adopted Massive MIMO.
• Some of the following criteria should be done:
• Do a survey/research about how many Massive MIMO implementation in real-world 5G
technologies