ns3 7

Node Packet Drop Ratio를 예측하기 위한 Feature Selection-2

Google Colab을 이용하여 100개의 result csv 파일을 80개의 Training, 20개의 Test data로 분류하고 학습을 해 Decision Tree Feature selection을 진행하였다. 초기 생각했던 디자인과 다르게 각 노드의 Queue Length와 각 노드의 Throughput을 추가 데이터로 삽입하고 학습을 했다. 결과가 내가 생각한 Feature 들 만으로 DT가 잘 분류를 해냈으면 좋았을 텐데, DT의 Accuracy Score가 Training 0.509, Test 0.5104가 나왔다. 이것을 어떻게 받아들여야할지가 고민이다. Adhoc Network의 복잡성이 있는데 그 환경에서 DT가 0.5104의 Error rate을 낸다는 것은 어느정도 합리적이라고 봐..

학부연구생 2024.04.02

문제 해결을 위한 시뮬레이션 제작 및 Tracing source 추출-추가 구현

구현의 목표 - 구현을 마치고, 해당 코드에서 뽑아낸 데이터를 기반으로 Feature Selection을 하면서 뭔가 이상함을 느꼈다. 우선 최종으로 포스팅한 코드에서 단순히 시뮬레이션을 100번 반복해서 100개의 csv를 뽑아내게 바꿨었는데, 해당 100개의 csv를 80개를 train, 20개를 test로 지정한 DT에서 Y-val인 Packet Drop (PhyRxDrop으로 측정함) 과 Neighbor Node와의 관계가 0.88이 나와버린 것이다. 조금 생각을 해봤는데, 우선 내가 측정하고 싶은건 "프토토콜의 변경으로 인한 PDR의 감소"인데 Phy에서 찍은거 자체가 말이 안되는 것 같다. 또한, NNeighbor가 많다면 자신이 path로 이용될 확률이 높아 그냥 drop 패킷 수가 높게 찍..

구현 2024.03.28

문제 해결을 위한 시뮬레이션 제작 및 Tracing source 추출-2

이전 구현에서 구한 결과 csv 파일을 검토하던 중, 이상한 점을 발견했다. 일정 시간 이후에는 각 노드들의 Remaining energy가 반복되었던 것이다. 하여, 어떤 점이 문제일까 생각해보았는데, 각 노드들의 초기 에너지 세팅 값과 반복되는 energy 패턴에 연관성이 있음을 발견했다. 초기 에너지 세팅을 해준 값이 너무 작은 점, Trans&Recv 절차에 소모되는 에너지 양을 지나치게 크고, 통일 시킨 점이 문제로 생각된다. 따라서 에너지 소모 부분을 랜덤하게 세팅해주고, 코드를 재구성 하였다. 또한 전체적으로 다양한 랜덤 값을 가지게 코드를 변형하였다. #include #include #include #include #include #include #include #include #inclu..

학부연구생 2024.03.14

문제 해결을 위한 시뮬레이션 제작 및 Tracing source 추출-1

이전 포스팅에 기록했던 곳에서 교수님과 상의 몇가지 아이디어가 추가되었지만, 우선 큰 골자를 디자인하겠다. 1. 시뮬레이션 상황 구현 준비 우선 Wireless Mesh Network, Mobile Adhoc Network, SDN, Centralized Dynamic Routing을 가정하겠다. 따라서 가정 시나리오는 다음과 같다. SDN controller는 각 node에 대한 정보를 알고있고, 이를 이용해 routing을 해준다. 그리고 GW에 연결이 가능한 노드들이 GateWay 노드가 되게 된다. 또한 각 노드의 성능의 차이를 주어야 노드 간의 level이 발생하게 되므로 노드들의 성능도 랜덤하게 주어야할 것 같다. 크게 나눠보면 Adhoc node에서의 라우팅 요청 -> SDN Controll..

학부연구생 2024.03.13

IRSML 시뮬레이션 직접 구성하기 - 4

우선 구해낸 데이터가 옳게 구한 데이터이든 아니든 간에 어짜피 아니라 판단되면 나중에 csv 파일에 들어갈 데이터만 바꿔서 다시 실행해주면 된다고 생각한다. 따라서 구현-3 에서 구현한 코드에 결과물을 csv로 정리해서 나오게 추가 구현을 해주고, 이를 Colab에 옮겨서 일단 학습부터 해볼 것이다. 더보기 #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace ns3; std::vector QL; std::vector TP; uint32_t APnum = 3; void makeCsvFile(const std..

구현 2024.02.22

IRSML 시뮬레이션 직접 구성하기 - 3

최근에 개인적인 사정으로 정신이 없었던 것 같다. 그 와중 모각코 활동과 병행하느라 정말로 오랜만에 포스팅을 하게된 거 같다. 따라서 이전 내용을 정리해보면 1. ns-3로 논문에 제시된 토폴로지가 아닌 간소화된 토폴로지를 짤 것임. 2. Adhoc network 토폴로지를 구성할 것이며, 3개의 AP, 12개의 MH를 구성하였음. 더보기 자세한 파라미터 1. 총 시뮬레이션 시간 : 250초 2. 500x500 m^2 정사각형 스테이지 3. 각 MH의 Speed는 0~20 m/s 까지 분포 4. 각 MH의 Pause time은 0~2초까지 분포 5. RandomWayPoint model 사용 6. wifi standard = 802.11ac 7. MaxPropagationLossModel을 사용, Max..

구현 2024.02.14

(NS-3) IRSML 시뮬레이션 직접 구성하기 - 2

결국 기존 논문에 제시된 시뮬레이션 토폴로지로 Adhoc network data를 뽑아내는데는 실패했다. 다음은 최종으로 건드렸던 코드이다. #include #include #include #include "ns3/core-module.h" #include "ns3/network-module.h" #include "ns3/applications-module.h" #include "ns3/mobility-module.h" #include "ns3/config-store-module.h" #include "ns3/netanim-module.h" #include "ns3/internet-module.h" #include "ns3/yans-wifi-helper.h" #include "ns3/flow-monito..

구현 2024.02.06