Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ubiquitous Computing Lab NS-3 Basic 박성진

Similar presentations


Presentation on theme: "Ubiquitous Computing Lab NS-3 Basic 박성진"— Presentation transcript:

1 Ubiquitous Computing Lab NS-3 Basic 박성진 xkqpekdl@naver.com

2 C ontents 2 1. Starting ns-3 3 II. Key abstraction 6 III. Logging 8 IV. Command Line Argument 10 V. TCP in ns-3 11 VI. Term Project 23

3 Starting ns-3 Ubiquitous Computing Lab  ns-3 는 ? Discrete event network simulator 실제 환경과 매우 유사한 가상의 네트워크를 구축 교육과 연구 목적으로 오픈 소스로 제공 계층 구조를 가지며 패킷 기반의 통신 프로토콜 3

4 Starting ns-3 Ubiquitous Computing Lab  리눅스 환경 구축 (windows 에서 사용할 경우 ) virtual machine : VirtualBox, Vmware ubuntu 최신 버전 (v.14.04) 설치  ns-3 설치 홈페이지 (https://www.nsnam.org/)https://www.nsnam.org/ 최신 버전 (ns-3.24.1) download 후에 압축풀기 빌드 테스트 4

5 Starting ns-3 Ubiquitous Computing Lab  실행하기 5

6 Key abstraction Ubiquitous Computing Lab  Node Computing device, host, end system Represented in C++ by the class Node  Application Ns-3 applications run on Nodes to drive simulations Represented in C++ by the class Application ex) UdpEchoClientApplication, UdpEchoServerApplication  Channel One connects a Node to an object representing a communication channel Represented in C++ by the class Channel ex) CsmaChannel, PointToPointChannel, WifiChannel 6

7 Key abstraction Ubiquitous Computing Lab  Net Device NIC(Network Interface Card) Represented in C++ by the class NetDevice a Node may be connected to more than one channel via multiple NetDevices  Topology Helpers Combine many distinct operations into an easy to use Create a NetDevice, add a Mac address Install that net device on a Node, configure the node’s protocol stack Connect the NetDevice to a Channel 7

8 Logging Ubiquitous Computing Lab  Define a log component NS_LOG_COMPONENT(name);  Enable a log component LogComponentEnable(name, level);  Log Type LOG_ERROR : log error messages LOG_WARN : log warning messages LOG_DEBURG : log relatively rare, ad-hoc debugging messages LOG_INFO : log informational messages about program progress LOG_FUNCTION : log a message describing each function called LOG_LOGIC : log messages describing logical flow LOG_ALL : log everything mentioned above 8

9 Logging Ubiquitous Computing Lab  Log component instances https://www.nsnam.org/docs/release/3.24/doxygen/_log_component_list.ht ml https://www.nsnam.org/docs/release/3.24/doxygen/_log_component_list.ht ml 9

10 Command Line Arguments Ubiquitous Computing Lab  OverridingDefault Attributes declare the command line parser CommandLine cmd; cmd.parse (argc, argv);./waf --run“scratch/first --ns3::PointToPointNetDevice::DataRate=5Mbps”  Hooking Your Own Values uint32_t nPackets = 1; CommandLine cmd; cmd.AddValue(“nPackets”, “Number of packets to echo”, nPackets); cmd.parse (argc, argv);./waf --run“scratch/first --nPackets=2” 10

11 TCP in ns-3 Ubiquitous Computing Lab  Sending procedure of TCP  examples/tcp/tcp-large-transfer.cc (Ln 207) Send  src/internet/model/tcp-socket-base.cc (Ln 618) SendPendingData 11

12 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-socket-base.cc (Ln 2120) SendDataPacket 12

13 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-socket-base.cc (Ln 2007) TCP header and option 13

14 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-socket-base.cc (Ln 2040) SendPacket 14

15 TCP in ns-3 Ubiquitous Computing Lab  Congestion control of TCP  src/internet/model/tcp-l4-protocol.cc (Ln 65) 15

16 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-tahoe.cc (Ln 104) 16

17 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-tahoe.cc (Ln 113) Slow start Congestion avoidance 17

18 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-tahoe.cc (Ln 137) Fast retransmit 18

19 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-tahoe.cc (Ln 157) Time out 19

20 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-reno.cc (Ln 165) Fast recovery 20

21 TCP in ns-3 Ubiquitous Computing Lab  src/internet/model/tcp-reno.cc (Ln 123) Fast recovery 21

22 TCP in ns-3 Ubiquitous Computing Lab  TCP comparison in ns-3 examples/tcp/tcp-variants-comparison.cc(Ln 223) 22

23 Term Project Ubiquitous Computing Lab  TCP 프로토콜 제안 및 성능 비교 시나리오 (examples/tcp/tcp-variants-comparison.cc) 시나리오 파일을 scratch 폴더로 복사 P2P 통신 (source -> gateway -> sink) MTU(Maximum Transmission Unit) : 400 총 전송 시간 : 100 초 Source Gateway Sink Flow1 Flow2 23

24 Term Project Ubiquitous Computing Lab  TCP 프로토콜 제안 및 성능 비교 Burst Error Model 에러 발생 비율을 설정 24

25 Term Project Ubiquitous Computing Lab  TCP 프로토콜 제안 및 성능 비교 에러 모델 참조 : src/network/utils/error-model.cc 25

26 Term Project Ubiquitous Computing Lab  TCP 프로토콜 제안 및 성능 비교 Flow monitor 26

27 Term Project Ubiquitous Computing Lab  TCP 프로토콜 제안 및 성능 비교 성능 비교 : 실패한 패킷의 개수, 총 지연 시간 27

28 Term Project Ubiquitous Computing Lab  소스코드 및 헤더 파일 추가 src/internet/wscript 파일에 작성 28

29 Term Project Ubiquitous Computing Lab  소스코드 및 헤더 파일 추가 src/internet/wscript 파일에 작성 29

30 Term Project Ubiquitous Computing Lab  채점 방식 완성도 (30)  제안한 프로토콜이 더 나은 성능을 보이는가 ? 프로토콜 분석 (30)  프로토콜에 대한 이해 및 분석이 제대로 이루어졌는가 ? 역할 분담 (10)  역할 분담이 고른가 ? 구성원들의 참여도가 고른가 ? 보고서 및 코드 주석 (20) 발표 (10) 30

31 Term Project Ubiquitous Computing Lab  일정 조원 구성 : 3 인 ( 단, 조 편성이 안되었을 경우 임의로 편성, 메일로 통지 ) 문의 사항 : 박성진, xkqpekdl@naver.com 조구성 ~ 11 월 10 일 구현 최종 발표 보고서 및 코드제출 기말고사 1 주일 이후 31

32 Q&A Thank you 32


Download ppt "Ubiquitous Computing Lab NS-3 Basic 박성진"

Similar presentations


Ads by Google