Presentation is loading. Please wait.

Presentation is loading. Please wait.

네트워크 설계 및 실험 실습 제목 : 5장 트래픽 생성과 추적 파일 분 석 1.

Similar presentations


Presentation on theme: "네트워크 설계 및 실험 실습 제목 : 5장 트래픽 생성과 추적 파일 분 석 1."— Presentation transcript:

1 네트워크 설계 및 실험 실습 제목 : 5장 트래픽 생성과 추적 파일 분 석 1

2 보고서 목차 1. 실습 목적 2. 실습 환경 3. 실습 내용 및 방법 4. 실험 전 학습준비 5. 실습 결과 및 고찰
보고서 목차   1. 실습 목적 2. 실습 환경 3. 실습 내용 및 방법 4. 실험 전 학습준비 5. 실습 결과 및 고찰 6. 기타   - 참여원 활동내역   - 실습결과물

3 1. 실습목적  - NS-2에서 트래픽을 생성하는 방법과 네트워크의 각 노드와 링크를 지나가는 패킷을 담은 파일인 추적(trace)파일을 분석하는 방법을 파악하여 네트워크의 성능 및 품질 평가에 활용하고자 한다. ◎ 주된 실습 내용 - ns-2에서 링크와 큐(queue) 구조 및 추적파일 포맷 이해     - ns-2에서 트래픽을 생성하는 기본 방법 네 가지와 ftp 방법 사용 - tracefile 제작.확인용 c프로그램 작성 - ns-2의 추적파일 분석: 동적속도, 패킷손실율 및 ftp 업로드 속도 계산

4 2. 실습환경 <컴퓨터 환경>   기종 및 사양 : AMD Athlon(tm) 64 X2 Dual Core Processor GHz, 1.86GB RAM   운영체제 : Microsoft Windows XP Professional Version Service Pack 12  <범용 소프트웨어>   gcc, gdb, ns-2(버전2.30), awk, gnuplot, 셀(shell) 프로그래밍   <자작 소프트웨어>   Simtl

5 3. 실습내용 및 방법 순번 진행 사항 기타 사항 1 Ns-2의 링크, 큐, ftp 방법 등의 자료 준비 확인
자료(준비사항) 확인 2 사전 준비된 자료의 유용한 정보 추출 및 공유 자료 검토 및 공유 3 추출된 자료를 서로 간의 연계 자료 연계 4 프로그램 실행 및 결과물 추출 실습 5 산출된 결과 및 준비된 자료를 바탕으로 보고서 작성 보고서 작성 6 실습 완료 완료

6 4. 실습 전 학습 준비 (1) otcl과 샘플 tcl 프로그램 이해
(2) ns-2에서 링크와 큐(queue) 구조 및 추적(trace) 파일 포맷 공부 (3) ns-2에서 트래픽을 생성하는 기본 방법 네 가지와 ftp 사용 방법 공부 (4) 패킷 drop 비율(손실율) 및 ftp 속도 계산 awk 프로그램 작성 (5) shell 프로그램 참조(do_chap5) (6) 실험절차에 따른 선행실험

7 (1) otcl과 샘플 tcl 프로그램 이해 Otcl 개요
otcl은 MIT에서 구현한 Object tcl을 말하는 것으로 Tcl/Tk(X-Window Toolkit)를 오브젝트 기반 프로그래밍을 위해 확장한 것이다. otcl 구조의 특징은 tcl과 같이 철저하게 동적으로 확장할 수 있도록 설계되었으며, 다른 언어를 포함하기 보다는 tcl 문법과 개념을 바탕으로 개발된 것으로써 강력한 오브젝트 프로그래밍 시스템에 비해 간결하고 이식이 가능한 구조를 갖고 있다 키워드 -Class:  class정의  -instproc: class의 메소드 정의  -instvar:  class의 멤버 변수정의  -self: 자신을 가리키는 객체 ( this와 같음)  -next: next-most shadowed method(자신에서 가장 가까운 instance procedure)  -new: 객체 생성후 레퍼런스 리턴(c++ new 와 유사함)

8 (2) ns-2에서 링크와 큐(queue) 구조 및 추적(trace) 파일 포맷
1) 링크 단방향 링크(Simplex Link) 단방향 링크는 한쪽 방향으로만 데이터를 보낼 수 있는 링크의 형태로 ns 명령과 옵션에 의해서 대역폭, 전송지연, 링크의 큐 형태가 결정된다. 노드 사이에 임의의 대역폭과 전송지연, 그리고 해당 링크의 큐 형태를 결정하는 ns 명령어는 다음과 같은 형태를 갖는다. - $ns simplex-link node1 node2 bw delay queue_type 위 명령은 node1과 node2사이에 대역폭 bw, 전송지연 delay, 큐는 queue_type에 의해서 선택되는 큐(queue)의 형태를 갖는 단방향 링크를 생성하도록 한다. Queue_type에 의해 정의될 수 있는 큐 형태로는 Drop-Tail, RED, CBQ, WFQ, SFQ등이 있으며, 앞의 큐 형태에서 변화된 큐도 사용된다. 일반적으로 ns 시뮬레이터에는 각 옵션에 대한 디폴트 값이 정해져 있다. 대역폭의 디폴트 값은 1.5Mbits/sec로 정의되어 있고 시간지연의 디폴트 값은 100ms로 정해져 있지만, 이러한 옵션은 사용자가 원하는 값으로 변화시켜 사용할 수 있다. (그림 1)은 노드 n0와 노드 n1 사이에 대역폭이 8Mbps, 전송지연이 0.1ms, 그리고 drop-tail 큐 형태를 갖는 단방향 링크를 설정하는 예를 보여주고 있다.

9 양방향 링크(Duplex Link) 한쪽 방향으로만 데이터를 보낼 수 있는 단방향 링크와는 달리 양쪽 방향으로 데이터를 전송할 수 있는 링크를 양방향 링크라고 정의한다. 링크 특성을 정의하기 위해 사용되는 옵션은 단방향 링크에서와 같다. 양방향 링크를 정의하기 위해 사용되는 명령어는 다음과 같다. - $ns duplex-link node1 node2 bw delay queue_type 위 명령은 node1과 node2사이에 대역폭 bw, 전송지연 delay, 큐는 queue_type에 의해서 선택되는 큐 형태를 갖는 양방향 링크를 생성하도록 한다. 각 옵션에 대한 디폴트 값과 큐 형태는 단방향 링크의 경우와 동일하다. (그림 2)는 노드 r0와 노드 r1 사이에 대역폭이 800Kbps, 전송지연이 100ms, 그리고 drop-tail 큐 형태를 갖는 양방향 링크를 설정하는 예를 보여주고 있다.

10 2) 큐(queue) 큐란? 각 노드들 사이 link 구간의 문이라 봐도 무관. 즉 상단 그림에서 node I 와 j 사이에 링크 i-j의 양 끝 부분(노드 內 연결된 부분)으로 노드 I에서 packet이 노드 j를 거치는 과정상 패킷에 발생된 event를 구체적으로 표현 해줄 수 있다 3) trace 파일 포맷 ns-2에서 각 packet 들이 각 node 와 큐를 지나면서 발생된 사건(event) 정보를 하나의 레코드내에 관리하며 예를 들면 하단의 그림과 같다. 열을 기준으로 봤을 때, 1열은 이벤트의 종류(상단의 파란글씨), 2열은 이벤트 발생시간, 3열은 송신노드 번호, 4열은 수신노드 번호, 5열은 패킷 종류, 6열은 패킷크기, 7열은 구분자, 8열은 흐름 식별자, 등등 이 된다

11 (3) ns-2에서 트래픽을 생성하는 기본 방법 네 가지와 ftp 사용 방법
1) exponential ON/OFF traffic ON 동안은 패킷크기(size)에 정의된 크기의 패킷을 속도(rate)에 정의된 데이터 전달속도로 동일한 시간 간격으로 발생시키고, OFF 동안은 트래픽 발생을 중단한다. ON과 OFF의 지속시간은 서로 독립적인 지수분포를 따르며, 이들의 평균은 각각 burst와 idle에 정의된 값으로 설정된다. 아래 그림에서 볼 때 평균 burst 시간=1/α, 평균 idle 시간=1/β 이 된다.

12 2) Pareto ON/OFF traffic exponential ON/OFF traffic과 동일하나 ON과 OFF의 지속시간이 서로 독립적인 파레토 분포를 따르며, 이들의 평균은 각각 burst와 idle 값에 의해 결정된다. 파레토 분포는 지수분포보다 tail 분포의 값이 큰 특징을 갖는데, shape에 의해 파레토 분포의 구체적 특성이 결정된다. 그림 5.3에서 shape=α가 된다. ON 동안은 패킷크기(size)에 정의된 크기의 패킷을 속도(rate)에 정의된 데이터 전달속도로 동일한 시간 간격으로 발생시키고, OFF 동안은 트래픽 발생을 중단한다.

13 실제 측정한 트래픽 데이터로 인가할 트래픽을 생성하는 방법이다
3) CBR traffic 패킷크기(size)에 정의된 크기의 패킷을 속도(rate)에 정의된 데이터 전달속도로 동일한 시간 간격으로 발생시킨다. 다시 말해서 exponential ON/OFF에서 OFF 구간이 없는 경우와 동일하다. 참고로 CBR traffic하에서 발생 패킷간 시간 간격은 일정하게 또는 램덤하게 할 수 있다. 4) Tracefile traffic 실제 측정한 트래픽 데이터로 인가할 트래픽을 생성하는 방법이다

14 5)기본 트래픽 흐름 생성(4 가지) 이번 실험을 위해 4 가지 기본 트래픽 흐름(세션) 생성 함수를 다음과 같이 procedure로 구성하였다 ns는 simulator object, src와 dst는 발.착신 노드번호, burst와 idle은 트래픽이 발생/중단되는 구간의 평균 시간간격, size는 패킷의 크기, rate는 평균 데이터 전달 속도, 그리고 fid는 흐름 id로 nam에서 흐름의 색깔을 구분하기 위한 것이다 proc create_exp_flow {ns src dst burst size idle rate fid } proc create_pareto_flow {ns src dst burst size idle rate shape fid} proc create_cbr_flow {ns src dst size rate fid} proc create_tracefile_flow {ns src dst tracefile fid}

15 6) ftp 흐름생성 ns-2에서는 ftp와 telnet 응용을 제공하고 있는데, 본 과목에서는 ftp를 사용하여 다운로드, 업로드 속도를 측정한다. ftp 흐름(세션) 생성 함수를 다음과 같이 procedure로 구성하였다.   proc create_ftp_flow {ns src dst fid}   여기서 ns는 simulator object, src와 dst는 발.착신 노드번호이다. fid는 흐름 id로 nam에서 흐름의 색깔을 구분하기 위한 것이다. 프로그램 코드와 사용 예는 샘플 tcl 프로그램을 참조하기 바란다.   참고로 ns-2에서 TCP가 수용할 수 있는 최대 패킷크기 packetSize_는 1000바이트의 기본값을 갖는다. 이 값을 어떤 값, 예로 1500바이트로 변경하려면 다음과 같이 한다.   Agent/TCP set packetSize_ 1500

16 5. 실습 결과 및 고찰 샘플네트워크 생성 및 일반 트래픽 생성

17 (2) 큐 크기 조정 및 패킷 DROP 확인

18 (3) 동적 트랙픽 속도 계산 및 그래프 작성

19 (4) 패킷 DROP율 계산 (5) ftp uproad 속도 계산

20 참여원 활동 내역 조원 역할 및 활동내역 이연화 (조장) ns-2에서 트래픽을 생성하는 기본 방법 네 가지 학습과 보고서 작성 및 발표 김성태 패킷 drop 비율(손실율) 및 ftp 속도 계산 awk 프로그램 작성 임시목 ftp 사용 방법과 shell 프로그램 참조 최서수 ns-2에서 링크와 큐(queue) 구조 및 추적(trace) 파일 포맷 학습 김진현 otcl과 샘플 tcl 프로그램 이해


Download ppt "네트워크 설계 및 실험 실습 제목 : 5장 트래픽 생성과 추적 파일 분 석 1."

Similar presentations


Ads by Google