개인 공부 39

확률 및 통계 - 1. Discrete Proability Distributions

* Experiment : 실제 혹은 가상의 과정에서 도출될 수 있는 결과를 만드는 행위. ( ex: Rolling a dice - { 1, 2, 3, 4, 5, 6 }, Tossing a coin - { Head, Tail } ) Def 1.1 * Random Variable : experiment에서 도출된 결과. ( ex: X가 rolling dice의 결과라고 했을 시, X=1 은 주사위를 굴려 1이 나왔다는 뜻이다.) * Sample Space : 모든 가능한 결과의 집합이다. (Ω) * 만약 모든 Sample Space가 Countable하다면, Random Variable은 Discrete(이산)이다. (Discrete : finite, infinite) * Event : Sample spa..

개인 공부 2024.03.07

NS-3 독학 - 5.fifth.cc

주어진 example Topology를 보면 2개의 노드가 "TCP" protocol을 사용해서 p2p link 연결이 되어있다. 해당 channel은 transmission rate 5 Mbps, delay : 2 ms 이며, IP는 10.1.1.0, SubnetMask 255.255.255.0을 사용하는 것 같다. 주어진 주석을 보면 다음과 같이 쓰여있다. 대충 읽어보면 sender socket 쪽의 TCP cwnd의 변화를 보고싶고, 이를 Tracing 해보자는 것 같다. 일반적으로, flow를 만들기 위해 on-off application을 사용한다. 그러나 on-off application socket은 Application이 시작될 때까지 생성되지 않으며, 따라서 configuration ti..

개인 공부 2024.01.15

NS-3 독학 - 4.fourth.cc(Tracing)

fourth.cc는 지금까지와 다르게 토폴로지를 가정하고 시뮬레이션 환경을 구성하는 것이 아니라 시뮬레이터를 돌리며 로그를 찍는 방법을 다루고 있다.(TCP throughput, error rate, SNR 등) 따라서 해당 기법을 배우면 IRSML에서 필요로 하는 데이터들을 뽑아내는 방법을 고안해낼 수 있을 것 같다. (현재까지의 학습으로 Wireless network를 구성하는 법, PCAP 읽는 법, LOG를 찍어 data 추출하는 법을 할 수 있게 되었다.) * https://velog.io/@choiyhking/6-NS-3-Tracing 를 참조함. * Tracing NS-3에서 output을 얻는 전략은 크게 2가지가 있다. 1. bulk output 메커니즘을 사용해 그 output에서 da..

개인 공부 2024.01.13

NS-3 독학 - 3.Third.cc

second.cc에서 {n0,n5,n6,n7}이 Wifi (10.1.3.0)으로 연결되어있는 구조가 추가되었다. 이를 구현해보겠다. int main(int argc, char* argv[]) { bool verbose = true; uint32_t nCsma = 3; uint32_t nWifi = 3; bool tracing = false; CommandLine cmd(__FILE__); cmd.AddValue("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma); cmd.AddValue("nWifi", "Number of wifi STA devices", nWifi); cmd.AddValue("verbose", "Tell echo applications..

개인 공부 2024.01.12

NS-3 독학 - 2. Second.cc

NS-3 example 코드들의 2번째, Second.cc를 분석해보겠다. 토폴로지를 살펴보면, n0와 n1은 first.cc와 같이 구성되어있다. 다만, n1~n4는 10.1.2.0의 IP를 가진 LAN에 있다. int main(int argc, char* argv[]) { bool verbose = true; uint32_t nCsma = 3; CommandLine cmd(__FILE__); cmd.AddValue("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma); cmd.AddValue("verbose", "Tell echo applications to log if true", verbose); cmd.Parse(argc, argv); if (v..

개인 공부 2024.01.11

NS-3 독학 - 1. First.cc

- VS code에서 ns-3를 돌릴 예정이다. 따라서 vs code에 ns-3가 설치된 Linux를 연결해줄 필요가 있다. 1. VS code 설치 https://code.visualstudio.com/ 2. WSL 원격 연결, C,C++ Extension 설치 (python으로 해도 되는 것 같지만 나는 C++이 더 편해서 .cc code들로 진행을 했다.) 3. Terminal에서 필요한 패키지 설치 및 ns-3가 설치된 경로에서 VS code 실행 - sudo apt-get update -y - sudo apt-get install xdg-utils -y - sudo apt-get install gcc -y - sudo apt-get install gdb - code . (WSL 환경에서 VSCo..

개인 공부 2024.01.11

NS-3 독학 - 0. 설치하기

다양한 컴퓨터 네트워크 분야의 논문들을 읽어보니 이들을 직접 구현해보기 위해서는 결국 시뮬레이터의 필요성이 강하게 느껴졌다. 따라서 나도 직접 시뮬레이터를 돌려서 데이터 셋을 뽑아보고 이를 기반으로 논문들의 내용을 구현해보고자 NS-3를 공부하게 되었다. 일단 공부하려면 설치부터 하여야하기에, 설치법을 알아보도록 하겠다. - Linux 환경에서 NS-3를 구성 나는 Ubuntu 22.04.3 LTS를 사용하였다. 그 후, ns-3.40 버전을 다운받았다. (*링크 : https://www.nsnam.org/) ns-3.40을 다운받는 곳에 보면 documentation이 있다. 여기서 Tutorial을 보면 친절히 설치법이 다 설명되어있다. 만약 후에 이 글을 보고 설치하다가 버전이 달라 설치가 안되면 ..

개인 공부 2024.01.10