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

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
네트워크 설계 및 실험 실습 제목 : 5 장 트래픽 생성과 추적 파일 분 석 1. 보고서 목차 1. 실습 목적 2. 실습 환경 3. 실습 내용 및 방법 4. 실험 전 학습준비 5. 실습 결과 및 고찰 6. 기타 - 참여원 활동내역 - 실습결과물.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
Power Java 제3장 이클립스 사용하기.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
최윤정 Java 프로그래밍 클래스 상속 최윤정
로봇 소프트웨어.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
뇌를 자극하는 Windows Server 2012 R2
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Windows Server 장. 사고를 대비한 데이터 백업.
VoIP (Voice Over Internet Protocol)
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
Chapter 13 Wired LANs: Ethernet.
제 14장 Multicast & Broadcast
8장. 원격지 시스템 관리하기.
소리가 작으면 이어폰 사용 권장!.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
자바 5.0 프로그래밍.
제9장 네트워크 성능 및 품질 평가 과 목 : 네트워크 설계 및 실험 조 명 : 1 조
제7장 백본 부하 모델링 및 생성 1 과 목 : 네트워크 설계 및 실험 조 명 : 1 조
3장. CentOS 리눅스 설치.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
자바 5.0 프로그래밍.
프로그래밍 개요
시스템 인터페이스 Lab3 Unix 사용법 실습.
27장. 모듈화 프로그래밍.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
제8장 백본 부하 모델링 및 생성 2 과 목 : 네트워크 설계 및 실험 조 명 : 1 조
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
제10장 네트워크 성능 및 품질 평가 과 목 : 네트워크 설계 및 실험 조 명 : 1 조 조 원 : 김성태. 이연화. 임시목
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
DK-128 직렬통신 기초 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
OpenCV 설정 2.21 만든이 딩딩.
05. General Linear List – Homework
3. 모듈 (5장. 모듈).
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
MIDP 네트워크 프로그래밍 ps lab 김윤경.
김덕용 게임 엔진론 Project 2차발표.
TERM PROJECT 최종 보고 발표 안내 2010 컴퓨터공학실험(Ⅰ).
소리가 작으면 이어폰 사용 권장!.
Wake On Lan 발표자: 김 홍 기 김홍기 조성오
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
6 객체.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

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

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

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

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

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

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

(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 와 유사함)

(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 큐 형태를 갖는 단방향 링크를 설정하는 예를 보여주고 있다.

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

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열은 흐름 식별자, 등등 이 된다

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

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

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

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}

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

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

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

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

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

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