본문 바로가기
자격증, 교육

컴퓨터활용능력시험 2급 필기 - 2과목 스프레드시트 (2018개정), TCP/IP 망에서 ACK Pacing을 이용한 Congestion Avoidance 방안

by Casey,Riley 2020. 2. 25.
반응형

컴퓨터활용능력시험 2급 필기 - 2과목 스프레드시트 (2018개정)

01 컴활2급필기-제2과목 스프레드시트.pdf
0.39MB
02 컴활2급필기-제2과목 스프레드시트.pdf
0.54MB
03 컴활2급필기-제2과목 스프레드시트.pdf
1.03MB
04 컴활2급필기-제2과목 스프레드시트.pdf
0.36MB
05 컴활2급필기-제2과목 스프레드시트.pdf
0.64MB
06 컴활2급필기-제2과목 스프레드시트.pdf
0.56MB
07 컴활2급필기-제2과목 스프레드시트.pdf
0.46MB
08 컴활2급필기-제2과목 스프레드시트-r.pdf
1.04MB
09 컴활2급필기-제2과목 스프레드시트.pdf
0.60MB
10 컴활2급필기-제2과목 스프레드시트.pdf
0.79MB

탐새 01단원 셀 입력 컴퓨터활용능력 2급 필기 2 1 화면구성 목차 2 셀 이동 3 셀 선택 4 데이터 입력 화면 구성 ① 파일메뉴 ② 빠른실행도구모음 ③ 제목표시줄 ④ 리본메뉴 ⑤ 이름상자 ⑥ 수식입력줄 ⑦ 행 머리글 ⑧ 열 머리글 ⑨ 셀 포인터 ⑩ 워크시트 ⑪ 시트 탭 ⑫ 상태표시줄 셀 이동 • 마지막 행으로 셀을 이동하려면 Ctrl+↓을 누르면 1,048,576번째 행으로 이동된다. • 마지막 열로 셀 이동 하려면 Ctrl+→ 을 누르면 되는데 16,384번째인 [XFD]열로 이동된다. • A1으로 셀을 이동하려면 Ctrl+Home을 누르면 된다. • Tab, Shift+Tab : 좌, 우로 이동한다. • Enter, Shift+Enter : 상, 하로 이동한다. • Home : 해당 행의 A열로 이동한다. • Ctrl+End : 데이터 범위의 맨 오른쪽 아래 셀로 이동한다. • PgUp, PgDn : 한 화면 위로 아래로 이동한다. • Alt+PgUp, Alt+PgDn : 한 화면 좌, 우로 이동한다. • Ctrl+PgUp, Ctrl+PgDn : 현재 시트의 앞, 뒤 시트로 이동한다. • F5 : 이동하고자 하는 셀 주소를 직접 입력할 수 있다. 셀 선택 셀 선택  연속된 셀을 선택 : Shift+클릭, 또는 Shift+ 방향키  비연속된 셀을 선택 : Ctrl+클릭  한 행을 전체 선택하려면 행머리글을 클릭, 또는 Shift+SpaceBar  한 열을 전체 선택하려면 열머리글을 클릭, 또는 Ctrl+SpaceBar  워크시트 전체를 선택하려면 행 머리글과 열 머리글이 교차하는 부분에 있는 모두선택을 클릭 또는 Ctrl+A, 또는 Ctrl+Shift+SpaceBar를 누른다. 행 삽입 또는 삭제  행번호에서 바로가기메뉴-[삽입] 또는 [삭제] 너비 조절 • 열 번호(A, B, C...)에서 바로가기메뉴-[열 너비] 데이터 입력 1. 데이터 입력 하나의 셀에 여러 줄로 데이터를 입력하려면 Alt+Enter누른다. 여러 셀에 동일한 내용을 입력하려면 범위지정 후 데이터를 입력하고 Ctrl+Enter를 누른다. 2. 문자 데이터 기본적으로 왼쪽을 기준으로 정렬된다. 숫자데이터를 문자데이터 형식으로 입력하려면 숫자 데이터 앞에 ‘(따옴표)를 입력한 후 내용을 입력한다. 3. 숫자 데이터 분수는 0을 입력하고 한칸 띄운다음에 입력한다. (예 0 1/2) 4. 날짜/시간 데이터 날짜를 입력할 때는 ‘/’나 ‘-’기호를 이용하여 입력한다. (예. 2017-10-31) 시간을 입력할때는 :(콜론)을 이용하여 시, 분, 초를 구분한다. (예. 1:41) 5. 기호 입력 "ㅁ“- [한자]-Tab키 [삽입]탭-[텍스트]그룹-[기호]명령을 선택한다.

탐새 02단원 셀 채우기 컴퓨터활용능력 2급 필기 2 1 지우기 목차 2 채우기 3 메모 4 엑셀옵션 지우기  모두 지우기 : 셀에 입력된 데이터, 서식, 메모등 모두 삭제한다.  서식 지우기 : 셀에 입력된 데이터는 그대로 두고 서식만 삭제한다.  내용 지우기 ; 셀에 입력된 서식은 그대로 두고 내용만 삭제한다. 키보드의 Delete를 누르는 것과 같다  메모 지우기 : 셀에 삽입되어 있는 메모만 삭제한다. 사용자 지정 목록 추가 [파일]-[옵션]-[고급]-[사용자 지정 목록 편집] 채우기 계열 채우기 [홈]-[편집]-[채우기]-[계열] • 방향 : 자동채우기를 실행할 방향을 행과 열중에서 선택한다. • 유형 :  선형-단계값만큼 더하여 입력한다.  급수 : 단계값만큼 곱하여 입력한다.  날짜 : 날짜 단위에서 지정한 값만큼 증가하여 입력한다.  자동 채우기 : 채우기 핸들로 자동채우기를 수행한 것과 같은 결과를 표시한다. • 추세 단계 값 : 연속 데이터의 증가 또는 감소할 값을 지정한다. • 종료 값 : 연속 데이터가 끝나는 값을 지정한다. 메모  메모는 셀에 입력된 데이터에 대한 보충설명을 하는 곳이다.  데이터를 삭제해도 메모는 삭제되지 않는다.  시트에 삽입된 메모를 시트에 표시된대로 인쇄하거나 시트 끝에 모아서 인쇄할 수 있다. ([페이지레이아웃]탭-[페이지설정]그룹의 옵션-[시트]-[메모]에서 설정) 엑셀 옵션 • 선택영역에 미니도구모음 표시 : 특정 셀이나 개체를 마우스 오른쪽 버튼으로 누를 경우 미니 도구 모음을 표시한다. • 실시간 미리 보기 사용 : 글꼴, 글꼴 색등의 선택사항을 마우 스로 가리키면 문서에 적용될 모습을 미리 보여준다 • 다음 글꼴 사용 : 새 통합 문서를 열었을 때 적용할 표준 글 꼴과 크기, 보기 형식, 기본적으로 생성되는 워크시트의 수 를 지정한다. • 사용자 이름 : 사용자 이름을 지정한다.

탐새 02단원 셀 채우기 컴퓨터활용능력 2급 필기 2 1 지우기 목차 2 채우기 3 메모 4 엑셀옵션 지우기  모두 지우기 : 셀에 입력된 데이터, 서식, 메모등 모두 삭제한다.  서식 지우기 : 셀에 입력된 데이터는 그대로 두고 서식만 삭제한다.  내용 지우기 ; 셀에 입력된 서식은 그대로 두고 내용만 삭제한다. 키보드의 Delete를 누르는 것과 같다  메모 지우기 : 셀에 삽입되어 있는 메모만 삭제한다. 사용자 지정 목록 추가 [파일]-[옵션]-[고급]-[사용자 지정 목록 편집] 채우기 계열 채우기 [홈]-[편집]-[채우기]-[계열] • 방향 : 자동채우기를 실행할 방향을 행과 열중에서 선택한다. • 유형 :  선형-단계값만큼 더하여 입력한다.  급수 : 단계값만큼 곱하여 입력한다.  날짜 : 날짜 단위에서 지정한 값만큼 증가하여 입력한다.  자동 채우기 : 채우기 핸들로 자동채우기를 수행한 것과 같은 결과를 표시한다. • 추세 단계 값 : 연속 데이터의 증가 또는 감소할 값을 지정한다. • 종료 값 : 연속 데이터가 끝나는 값을 지정한다. 메모  메모는 셀에 입력된 데이터에 대한 보충설명을 하는 곳이다.  데이터를 삭제해도 메모는 삭제되지 않는다.  시트에 삽입된 메모를 시트에 표시된대로 인쇄하거나 시트 끝에 모아서 인쇄할 수 있다. ([페이지레이아웃]탭-[페이지설정]그룹의 옵션-[시트]-[메모]에서 설정) 엑셀 옵션 • 선택영역에 미니도구모음 표시 : 특정 셀이나 개체를 마우스 오른쪽 버튼으로 누를 경우 미니 도구 모음을 표시한다. • 실시간 미리 보기 사용 : 글꼴, 글꼴 색등의 선택사항을 마우 스로 가리키면 문서에 적용될 모습을 미리 보여준다 • 다음 글꼴 사용 : 새 통합 문서를 열었을 때 적용할 표준 글 꼴과 크기, 보기 형식, 기본적으로 생성되는 워크시트의 수 를 지정한다. • 사용자 이름 : 사용자 이름을 지정한다.

탐새 04단원 셀서식 컴퓨터활용능력 2급 필기 2 1 셀서식 목차 2 사용자 지정 서식 3 날짜 서식 4 맞춤 셀 서식  [셀서식]-[표시형식]-[사용자지정]  # : 유효한 자리수만 표시하고 유효하지 않은 0은 표시하지 않는다.  0 : 유효하지 않은 자리수는 0으로 표시한다.  #,###  #,##0  @ : 문자 데이터의 표시위치를 지정한다.  , : 서식의 마지막에 쉼표(,)를 지정하면 오른쪽부터 3자리를 생략하다. (예. 입력자료 123000 서식#,###, 출력자료 123) 사용자 지정 서식  사용자 지정 서식은 양수, 음수, 0, 텍스트 순서로 표시형식을 한꺼번에 지정할 수 있다.  (예. #,##0;[빨강](#,##0);0.00;@“님”) 날짜 서식  yy : 연도 중 뒤의 두 자리만 표시  yyyy : 연도를 네 자리로 표시  m : 월을 1~12로 표시  mm : 월을 01~12로 표시  mmm:월을 Jan~Dec로 표시  mmmm : 월을 January~December로 표시  d : 일을 1~31로 표시  dd : 일을 01~31로 표시 ddd : 요일을 Sun~Sat로 표시 dddd: 요일을 Sunday~Saturday로 표시 aaa : 요일을 월~일 로 표시 aaaa : 요일을 월요일~일요일로 표시 맞춤 조건부서식  조건부 서식은 특정 조건이나 기준에 따라 셀 범위의 모양을 변경하여 시각화하여 원하는 사항을 쉽 게 확인할 수 있다. 조건에 맞는 셀 범위는 해당 조건에 따라 서식이 지정되고 조건에 맞지 않는 셀 범 위는 조건에 따라 서식이 지정되지 않는다  [홈]→[스타일]→[조건부 서식]

탐새 06단원 함수 컴퓨터활용능력 2급 필기 2 1 연산자 목차 2 오류표시 3 통계함수 4 수학함수 연산자  산술 연산자 : +(더하기) -(빼기) *(곱하기) /(나누기) ^(거듭제곱)  비교 연산자 : >(초과, 크다) <(미만, 작다) >=(이상, 크거나 같다) <=(이하, 작거나 같다) <>(같지않다) =(같다)  텍스트 연산자 : &연산자  참조 연산자  콜론(:), 범위 연산자  쉼표(,), 결합 연산자  공백(), 교점 연산자  주소  상대주소 : (예. C4, G5)  절대주소 : (예. $C$4, $B$7)  혼합주소 : (예. C$3, $D4) 오류 표시 ① 직급이 1급이고 부서가 판매부인 인원은 몇 명인가? =COUNTIFS(D4:D11,“1급”,C4:C11,“판매부”) ① 직급이 1급이고 부서가 판매부인 급여의 평균은 얼마인가? =AVERAGEIFS(E4:E11,D4:D11,“1급”,C4:C11,“판매부”)

탐새 07단원 함수2 컴퓨터활용능력 2급 필기 2 1 텍스트함수 목차 2 논리함수 3 참조함수 4 데이터베이스함수 =IF(AND(C3>=70, D3>=70, E3>=70),"우수","") =DCOUNTA(A2:F11,5,E13:E14)

탐새 09단원 필터 컴퓨터활용능력 2급 필기 2 1 데이터유효성검사 목차 2 자동필터 3 고급필터 4 텍스트나누기 데이터유효성검사 ① [데이터]탭-[데이터도구]그룹-[데이터유효성 검사]- [데이터유효성검사] 자동필터  필터는 많은 양의 데이터 중에서 특정한 조건에 맞는 레코드만 추출하여 보여주는 기능이다.  2개이상의 필드에 조건이 설정된 경우 AND조건으로 결합된다.  [데이터]탭-[정렬 및 필터]그룹-[필터] 고급필터  고급필터는 자동필터에 비해서 다양한 조건을 사용하여 데이터를 추출할 수 있다. 외부데이터 가져오기 • 텍스트파일 가져오기  텍스트 파일의 내용이 일정한 너비나 특정한 기호로 구분되어 있는 경우 엑셀화면으로 가져올 수 있는 기능이다.  구분기호는 텝, 세미콜론, 쉼표, 공백등의 구분기호가 제공되며 사용자가 구분기호를 입력할 수 있다.  외부데이터 가져오기  SQL, dBASE, Access등에서 사용하는 파일을 엑셀화면으로 가져오는 기능이다.  [데이터]-[외부데이터 가져오기]그룹에서 가져올 데이터 형식을 클릭한다. 텍스트나누기 텍스트 나누기  하나의 셀에 입력되어 있는 데이터를 일정한 너비로 분리하여 각각의 셀에 입력하는 기능이다.  [데이터]-[데이터 도구]-[텍스트 나누기]

탐새 10단원 데이터분석 컴퓨터활용능력 2급 필기 2 1 인쇄 목차 2 정렬 3 부분합 4 목표값찾기 인쇄  문서의 여백, 용지방향, 크기, 인쇄영역, 페이지 나누기, 인쇄제목등을 설정한다.  [페이지 레이아웃]→[페이지 설정]옵션을 클릭한다. 정렬  정렬이란 데이터를 특정기준에 따라 순서대로 재배치하는 기능이다.  정렬 기준은 최대 64개까지 지정할 수 있다.  오름차순정렬 : 0→9, ㄱ→ㅎ, A→Z, 내림차순정렬 : 0→0, ㅎ→ㄱ, Z→A  값, 셀 색, 글꼴 색 등을 기준으로 정렬할 수 있다. • 공백(빈 셀)은 오름차순, 내림차순에 관계없이 항상 가장 마지막에 표시된다.  오름차순정렬순서 : 숫자→특수문자→영문(소문자→대문자)→한글→논리값→오류값→공백 셀  [데이터]탭-[정렬 및 필터]그룹-[정렬] 부분합  부분합은 워크시트에 입력된 자료들을 그룹별로 분류하고 해당 그룹별로 특정한 계산을 수행하는 기 능으로서 기준이 되는 필드는 반드시 정렬되어 있어야 한다.  사용할 수 있는 함수는 합계, 개수, 평균, 최대값, 최소값, 곱, 숫자 개수, 표준 편차, 표본 표준 편차, 표본 분산, 분산이 있다. 피벗테이블  피벗 테이블 보고서는 데이터를 요약하고 분석하고 탐색하며 요약 데이터를 제공하는 데 유용하다.  행과 열을 이용하여 원본 데이터를 다양한 방식으로 요약하여 표시할 수 있다.  [삽입]탭- [표]그룹-[피벗 테이블]-[피벗 테이블] 피벗차트 피벗차트  피벗차트는 피벗 테이블의 데이터를 이용하여 작성한 차트로, 피벗 테이블에서 항목이나 필드에 변화 를 주면 피벗 차트도 변경된다. 피벗 차트를 작성하면 자동으로 피벗 테이블도 작성된다  피벗 테이블과 피벗 차트를 함께 만든 후 피벗 테이블을 삭제하면 피벗 차트는 일반 차트로 변경된다.  [삽입]탭- [표]그룹-[피벗 테이블]-[피벗 차트] 목표값 찾기  목표값 찾기 기능은 임의의 목표로 하는 값을 정해놓고 이 목표값을 달성하기위하여 특정한 셀값은 얼마이 어야 하는가를 알고 싶은 경우에 유용하게 사용할 수 있는 기능이다.  [데이터]→[데이터 도구]→[가상 분석]→[목표값 찾기] 전체 평균을 78점으로 하려면 ‘호기주학생의 엑셀점수는 몇점이어야 하는가?

***********************

TCP/IP 망에서 ACK Pacing을 이용한 Congestion Avoidance 방안  요 약 TCP congestion control은 각 sender가 congestion을 감지하기 위해서 패킷 손실에 의존하 고 있으며,결국 이것은 지나친 source window의 감소와 bandwidth under-utilization을 초 래하게 된다. 이러한 문제를 해결하고 TCP의 성능을 보다 직접적으로 향상시키기 위해서 본 논문에서는 feedback loop에 더욱 빠른 congestion indication mechanism을 적용하여 패 킷 손실을 최소화함으로써 source window 감소와 timeout이 일어나는 상황을 최소화하여 TCP의 성능을 향상시킬 수 있는 방안을 제시하고 모의 실험울 통해 결과를 확인하였다. 1. 서론 TCP congestion contrd 에서 TCP는 congestion을 감 지하기 위해서 패킷 손실에 의존하고 있으며, 결국 이것은 지 나친 TCP sender 의 window 감소와 bandwidth under-utilization을 초래하게 된다. 본 논문에서 제안하고자 하는 방안은 액세스 망의 edge router에서 RTT의 변화를 고려하여 forward path상에 서 congestion이 곧 일어날 것이라는 것을 예측을 통해 backward path상으로의 ACK 패킷들을 delaying 시킴 으로써 congestion에 의해 패킷 손실이 일어나기 전에 TCP의 sender로 하여금 network으로 주입되는 traffic 의 양올 조절하도록 하여 전체적인 TCP의 성능을 개선하 고자 한다. 2장에서는 본 논문에서 제안하는 RTT의 변화를 고려하 여 ACK pacing을 통한 TCP 프로토콜 성능 개선 방안의 작동에 대해서 설명한다. 그리고 3장에서는 시뮬레이션을 통해 제안하는 방식을 평가하고 마지막으로 4장에서 결론 을 제시한다. 2. 제안하는 TCP 성능 개선 방안 기존의 Drop-from-Front 게이트웨이의 경우 여전히 패 킷들의 back-to-back 손실과 unfairness를 야기한다. 또 본 연구는 한국과학재단의 지원으로 이루어졌습니다. (과제번호: 98-0101-07-01-3) 한 RED 게이트웨이를 통한 접근방법의 경우에도,전송 지연시간이 크다면 여전히 timeout들을 야기 시킴으로써 송신지가 slow start phase로 들어가게 되어 결국 지나친 TCP sender 의 window 감소와 bandwidth under -utilization을 초래한다. 송신지 기반의 접근 방안 역시 end system에서의 복잡도를 높이고,또한 현재 TCP 구 현에 상당한 수정들을 요구하고 있다.[6] 2.1. 제안하는 방안 본 논문에서는 제안하는 방안은 액세스 망의 edge router 에서 RTT의 변화를 고려하여 forward path상에서 congestion 이 곧 일어날 것이라는 것올 예측하여 backward path상으로의 ACK 패킷들을 delaying 시킴 으로써 congestion에 의해 패킷 손실이 일어나기 전에 TCP의 sender로 하여금 network에로 주입되는 traffic 의 양을 조절하도록 하여 전체적인 TCP의 성능을 개선하 고자 하는 것이다. 여기서 사용되어지는 ACK delaying 의 기본적인 생각은 TCP sender의 window growth가 feedback 되어지는 ACK packet들의 rate에 의존하고 있 다는 것에 근거하고 있다. 따라서 congestion 동안 feedback 되어지는 ACK packet들을 delaying 시키는 것은 TCP sender로 하여금 network에로 주입되는 traffic의 양을 제한하도록 하는 효과를 얻을 수 있다. 즉 패킷 손실을 최소화함으로써 TCP timeout들을 줄이고, queue의 증가를 제어함으로써 성능향상을 얻고자 한다. 제안하는 방안의 라우터 구조는 < 그림 1 > 에 나타나 있다. 2. 2. 제안 알고리즘의 동작 이 절에서는 제시하고자 하는 방안을 congestion detection, ACK packet creation from data packet, delaying ACKs등의 세 가지 부분으로 나누어 살펴보고 자 한다. congestion detection은 해당 라우터에서의 buffer overflow가 발생하기 전에 congestion을 알리기 위해 사용되어진다. 또한 forward path상에서의 buffer Overflow 로 인한 packet loss 가 발생하기 전에 congestion올 알리기 위해 사용되어진다. ACK packet creation from data packet 부분은 일반적 인 data traffic 에서 ACK flow를 분리시키기 위해 요구되어 지는 것이 다. Delaying ACKs 부분은 ACK flow의 rate를 조절하 기 위해 사용되어진다. < 그림 1 > 제안 방안의 라우터 구조 2.2.1. Congestion detection # 해당 라우터에서의 congestion detection : queue length를 monitor하여 queue length가 미리 정해진 threshold 값올 초과할 때 이것은 곧 buffer overflow 에 의한 packet loss가 일어날 수 있음을 의미한다. # forward path 상에서의 congestion detection : TCP source로부터 도착하는 packet의 도착 시각을 기억하 고 그 packet에 해당하는 ACK packet 이 현재 라우터 에 도착할 때,그 시각 차를 이용하여 현재 해당 connection의 RTT를 구한다. 또한 해당 connection 마다 minimun RTT와 max RTT를 계속해서 유지 하고,mean_RTT를 정의한다. 현재 도착한 ACK에 의해 얻어지는 현재의 RTT값이 현재의 mean_RTT 값보다 클 경우 적절한 time 값으로 이 ACK를 delay 시켜 TCP source에게로 내보낸다. 또한 mean_RTT 의 fraction 값을 구하여 만약 현재의 RTT 값이 mean_RTT보다 작고 또한 mearᄂ RTT_fractiOn값 보다 작을 경우 현재 ACK 버퍼에 저장되어 있는 ACK들의 TCP source에게로의 release rate올 높이 도록 한다. mean_RTT와 mean_RTT _fraction올 구하는 방법은 다음과 같다. 여기서 y 값은 본 논문에 서의 모든 시뮬레이션의 경우에 있어 3/4 로 설정한다. mean_RTT = (min_RTT + max_RTT) / 2 mean_RTT_fraction = /* mean_RTT < 식 1 > mean_RTT와 mean_RTTJraction 2.2.2. ACK packet creation from data packet ACK를 identify 하기 위해서 라우터는 TCP/EP packet 에서의 ACK bit올 check해야 한다. 그러나,ACK가 delay되어서는 안돼는 data packet으로 piggyback 될 수 있다. 따라서 ACK information올 data packet들과 분리시켜 새로운 ACK packet들을 만들 필요가 있다. 이 렇게 만들어진 ACK packet들을 저장하기 위 해 〈그림 1〉과 같이 각 connection마다 buffer가 요구되어진다. 2.2.3. Delaying ACKs ACKs의 flow는 delaying ACKs의 방법에 따라서 shaping되어 진다. 제안하는 방안에서는 ACK buffer들 에서 ACK를 release하는 rate이 계산되어지고 그 rate에 따라 ACK들이 release 되어진다. delaying ACK 방안은 TCP의 slow start phase와 congestion avoidance phase가 서로 다른 방법으로 window size를 중가시키기 때문에 이 다른 두 개의 phase에 미치는 영향은 같지 않 다. 즉, slow start phase의 경우에서는 ACK들은 congestion avoidance phase에서 보다 더 큰 time interval을 가지고 release 되어져야 한다. 기존의 논문에 서는 라우터들이 TCP source들의 window size를 계속 해서 유지하는 하는 방안올 제시하고 있다. 그러나 실제 network상에서는 TCP source들의 다양한 version들로 인해 TCP source들의 window size들올 유지하는 것은 어렵다. 따라서, slow start phase에서의 경우에서와 congestion avoidance phase의 경우를 모두 고려하여 얼마만큼 지연시킬 것인지에 대한 파라미터 값올 계산한 다. 이것은 < 식 2〉에서 보여진다. TCP의 sender가 slow start phase예 있옳 때 61나의 ACKI 방있8 때 전송B 수 있는 0 킷 수 : 3개 TCP의 sender가 conoesllon avoidance phase예 있옳 때 하나의 ACKI 방았8 때 전송할 수 있는 0|킷 수 : 2)1 MSS(Maximum Seomen! Size): m byte Edge 라우터의 outgoing link의 bandwidth : 8 Mbps 2*8«(m+40) • (현지1 connec(jong| 수 1 s iaro«_delay.tlme(sec) & 3. 8*호+4이 • ( M connection의 수) nedlum.dalty.lime * l«oe.delay.linie/2 !mal.delayjime = medum.detayJme/2 < 식 2 > 지연시간의 계산 이제 이러한 세 가지 부분이 함께 동작하는 알고리즘에 대 해서 살펴보도록 하겠다. 이 알고리즘은 ACK 패킷이 도 착할 때 수행되어지며 RTT는 송신지로부터 데이터 패킷 이 도착할 때 시각과 해당 패킷에 대한 ACK 패킷이 수신 지로부터 도착할 때 그 시간차에 의해 얻어진다. 제안하는 방안의 알고리즘의 동작은 다음과 같이 현재 ACK 버퍼의 상태에 따라 크게 두 가지로 나뉜다. ① ACK 패킷이 도착했을 때 해당 connection의 ACK 버퍼가 비어 있는 경우 • 이 ACK 패킷에 의해 얻어진 현재의 RTT 값이 mean_RTT 값보다 크면 congestion이 곧 일어날 수 있는 상황으로 고려하고 해당 ACK 패킷올 ACK 버 퍼에 넣고 ACK flow의 delaying 시간 간격을 가장 긴 large_delay_time으로 설정한다. # 현재 큐 길이가 queue_threshold 값보다 클 경우도 이 ACK 패킷을 ACK 버퍼에 넣고 delaying 시간 간 180 - 격을 large_delay_time으로 설정한다. • 위의 두 가지 경우가 모두 아닌 경우, 이 ACK 패킷 은 송신지에게 바로 전달되어 진다. ② ACK 패킷이 도착했을 때 해당 connection의 ACK 버퍼가 비어 있지 않는 경우 • 이 경우 아직 delaying된 ACK 패킷이 있으므로 이 ACK 패킷은 무조건 버퍼에로 저장된다. 이 때 이 ACK 패킷에 의해 현재의 RTT가 구해지고 이 RTT 값을 이용하여 ACK release rate를 산출한다. • 만약 현재의 RTT가 mean_RTT 값보다 크면 현재 의 ACK flow들의 delaying 간격 시간을 가장 긴 large_delay_time으로 설정한다. • 현재 버퍼의 크기가 queue_threshold 값보다 클 경 우도 large _delay_time으로 설정한다. • 위의 두 가지가 모두 아닌 경우 다시 현재의 RTT가 mean_RTT_fraction 보다 작은지 알아본다. 만약 현재의 RTT가 mear니 nT_fraction 보다 작다면 네트워크의 상황이 어느 정도 개선되었다고 예측하여 현재의 ACK flow들의 delaying 간격시간을 가장 작은 smalᄂdelay_time 으로 설정하여 가용한 bandwidth 의 사용 가능성을 높인다. • 그렇지 않고 현재의 RTT가 mear니 lTT_fraction 보다 크면 현재의 ACK flow들의 delaying 간격 시 간을 중간값인 mediunᄂdelay_time으로 설정한다. 이러한 처리동작을 통해 송신지에게 network의 현재 상 황에 대해 더욱 빠르게 알려 줌으로써 congestion으로 인 한 패킷 손실을 최소화하고 TCP 프로토콜의 수정없이 성 능을 개선할 수 있다. < 그림 2 > 에서 여기서 설명한 처리 동작을 흐름도의 형태로 나타내었다. 3. 성능 평가 및 분석 3.1. 모의 실험 모 a 의 구성 본문에서 제안하는 방안의 성능을 실험하기 위해서 본 논문에서는 시물레이터로 mil3에서 개발한 event-driven 방식의 네트웍 시뮬레이터인 OPNET 7.0 이라는 simulation tool을 사용하였다. 본 논문의 시뮬레이션의 목적은 여 러 IP datagram network 환경에서 Drop-Tail 라우터를 사용하는 일반적인 TCP나 RED의 경우에서보 다 더 나은 throughput과 fairness level을 보여 주는 효 율적인 방안임을 보이고자 함에 있다. 본 모의 실험에서 사용하려고 하는 TCP 위의 애플리케이 션으로는 FTP를 사용하였다. 즉, 트래픽의 대부분이 송신 지 (FTP Server) 에서 수신지 (FTP Client) 방향으로 흐 르게 하였다. 한번 connection이 이루어진 후, 모의 실험 이 끝날 때까지 계속해서 데이터 전송이 Server로부터 Client로 홀러간다. Server 1은 Client 1에게로 그리고 Server 2는 Client 2에게로 FTP 서비스를 제공하는 형 태로 각 Client들이 각 Server들과 연결되는 구성이며,또 한 각 호스트에서 사용되어지는 TCP는 OPNET에서 제 공하는 RFC 793, RFC 1122, RFC 2001, RFC 2018을 반영하는 TCP Reno 버전을 사용하였으며 최대 세그먼트 크기는 1440 byte로 하였다. 다음〈표 1 > 에서 TCP의 파 라미터 구성을 보여준다. < 그림 2 > 제안 방안의 동작 알고리즘 Parameters TCP Maximum Segment Size TCP Segment Size (including header) IP Datagram Size (including header) Receive Buffer Size TCP Server clock resolution < 표 1 > 시물레이션 TCP 파라미터 전송하는 파일의 크기는 1.6Mbyte로 정하였고, 이 논문에 서 제안하는 방안과 RED 라우터를 사용하는 경우에서의 성능 비교 및 특성 파악을 보여 주었다. 3.2. 전송지연 시간이 모두 같은 경우 3.2.1. 시을레이선 모엘 I 호스트들과 라우터 사이의 링크전송속도는 15Mbps, 라우 터들 사이는 3Mbps 이다. 그리고, 호스트들과 라우터 사이 의 전송 지연을 1ms, 라우터들간은 5ms로 가정하였다. 모든 TCP connection은 100초부터 동시에 전송을 시작 하고 총 시뮬레이션시간은 150초이다. 그리고, 라우터들의 버퍼 크기는 40개의 패킷올 받아들일 수 있도록 정하였다. < 그림 3 > 에서 시뮬레이션 네트웍 구조를 보여준다. 또한 RED의 경우에서 각 라우터 에서 사용되 어 지 는 파라 미터 값들은 < 표 2 > 에서, 그리고 제안되는 방안에서 사용 되어 지는 값들은 < 표 3 > 에서 보여지는 것과 같다. Value 1440 bytes 1460 bytes 1480 bytes 65536 bytes 200 ms < 그림 3 > 시물레이션 네트워크 구조 (전송지연 시간이 같은 경무) Parameters Value Parameters Weight Value 0.002 lar«e_delay_time 0.02 queue threshold 0.05 sec MaxThreshold 10 packets mediunᄂdelay _time 0.025 sec MinThreshold 20 packets smalᄂdelay_time MaxP < 표 2 > 시클레이션 RED < 표 3 > 시물레이션 Modified 라우터 파라미터 I access edge 라우터 파라미터 I 0.0125 sec 30 packets 3.2.2. 시둘레이션 결과 및 분석 I 〈그림 4 > 는 Client 1이 server로부터 1.6Mbyte의 파일 을 전송 받는 동안 걸린 시간과 Client 측에서 수신된 세 그먼트 순차번호의 증가를 보여주는 그래프이며 가로축은 시뮬레이션 시간의 중가, 세로축은 순차번호의 크기를 나 타낸다. 3.3. 전송지연 시간이 서로 다른 경우 3.3.1. 시을레이션 모엘 I I 앞에서 살펴본 경우와는 달리 라우터 1과 라우터 2사이에 전송 지연시간을 20ms로 변경하고, FTP server와 client 의 개수를 각각 4개씩 더 추가하였다. 라우터들의 버퍼 크 기는 80개의 패킷을 받아들일 수 있도록 수정하였다. 이외 의 링크 전송 속도 등은 앞에서의 경우와 같다. 26000000 < 그림 4 > Client 1 에서 수신 데이터 세그먼트 순차번호 〈그림 5 > Server 1 에서 Congestion Window 변화 < 그림 4 > 에서는 제안하는 방식을 적용시킨 edge 라우터 를 사용하여 얻은 결과가 congestion에 의한 패킷 손실이 거의 발생하지 않고 있으며 따라서 그에 따른 재전송이나 timeout 또한 거의 일어나고 있지 않음을 보이고 있다. 따 라서 Client에서 수신된 데이터 세그먼트 순차 번호의 중 가가 거의 계속해서 중가하는 것을 볼 수 있다. 따라서 connection0] 처음 설정시에〈표1 > 에서 Receive Buffer Size의 값인 65535 bytes가 ssthresh로 설정되기 때문에 제안된 방안의 TCP connection 들의 congestion window들은 패킷 손실 없이 65535 bytes까지 slow start phase에서 동작하고나서 congestion avoidance phase로 들어가는 것을 알 수 있다. 이는 congestion을 미리 예측하여 트래픽을 shaping시키는 효과를 얻게 됨으 로써 현재 송신지가 비록 slow start phase에 있으나 송 신지가 burst한 트래픽이 발생되지 않도록 하여 패킷 손 실이 일어 나는 것을 막고 있기 때문이다. 다음 그림들은 제안 방안의 edge 라우터를 적용시킨 경우 와 RED 라우터를 적용시킨 경우에서의 송신지 측에서의 congestion window 크기의 변화를 비교하여 보여준다. 〈그림 5 > 에서 RED 라우터를 적용시킨 경우 average queue size에 따라 미 리 congestion 상황을 예측하여 패 킷들이 현재의 queue가 꽉 차기 전에 버려지게 되는 방법 을 사용하기 때문에 잦은 패킷손실이 발생되고 있는 것을 볼 수 있다. 그러나 본 논문에서 제안된 방안을 적용했을 경우에서는 congestion 상황을 예측하여 패킷을 버려서 송신지 측의 전송률을 낮추기보다는 송신지 측으로 feedback되고 있는 ACK 패킷들을 delaying 시킴으로써 송신지 측의 전송률을 낮추도록 한다. 이 결과 송신지에서 는 congestion 상황을 더욱 빨리 알고 대처함으로써 패킷 손실을 줄일 수 있는 것이다. 〈그림 6 > 은 시물레이션 상에서의 throughput을 나타내 고 있다. RED 라우터의 경우보다 더 나은 throughput을 제공하고 있다는 것을 보여 준다. 제안되는 방안이 패킷 손실에 의한 송신지 측에서의 timeout이나 window의 감 소가 일어나는 상황을 현저히 줄임으로써 connection 2의 경우에서는 거의 2배에 가까운 성능향상이 나타나고 있다. < 그림 6 > 각 cOnnecti이"1 들의 Throughput (bytes/sec) < 그림 7 > 에서 이 절에서 시물레이션하고자 하는 네트워 크 구조를 보여준다. 또한 이 네트워크 구조를 가지고 비 교할 RED 라우터 의 경우에 각 라우터에서 사용되 어 지는 파라미터 값들은 < 표 4 > 에서, 그리고 제안되는 방안에서 사용되어지는 edge 라우터에서의 파라미터 값들은 < 표 5 > 에서 보여지는 것과 같다. < 그림 7 > 시물레이션 네트워크 구조 (전송지연 시간이 다른 경우) Parameters larKe_delay_time Value Parameters 0.075 sec Weight mediurrᄂ delay_time 0.05 sec MaxThreshold smal ᄂ delay_time queue threshold 60 packets MaxP 〈표 4 > 시물레이션 Modified Value 0.002 30 packets 0.025 sec MinThreshold 60 packets 0.02 < 표 5 > 시율레이션 RED access edge 라무터 파라미터 II 라우터 파라미터 ᅵᅵ 3.3.2. 시둘레이션 결과 및 분석 I I < 그림 8 > 과 < 그림 9 > 는 RED 방안과 제안되는 방안을 각각 사용하여 각각의 client들이 각각의 server로부터 - 182 - 1.6Mbyte의 파일을 전송 받는 동안 걸린 시간과 세그먼 트 순차번호의 증가를 보여주는 그래프이다. < 그림 8〉에서 볼 수 있듯이 RED를 사용하는 TCP의 경 우에서는 모든 connection들이 같은 시각에 동시에 connection올 설정하고 전송을 시작하지만 전송 지연 시 간이 적은 경로를 가지는 connection들이 보다 훨씬 빨리 전송을 완료하는 것을 쉽게 알 수 있다. 이것은 전송 지연 시간이 적은 경로를 가지는 connection들이 네트워크의 상황에 대해 더 빨리 feedback을 받고 대처함으로써 얻어 지는 결과이다. 이 결과로서 전송 지연 시간이 긴 connection들은 손해를 볼 수밖에 없는 결과를 초래하게 된다. 이것은 같은 네트워크 자원올 공유한다는 점에서 fairness가 떨어지는 결과를 초래한다. 안들에 비해 두드러진 결과를 얻을 수 있었다. 따라서 액세스 망에서의 edge 라우터에 본 논문에서 제안 하는 TCP 성능 개선 방안을 위한 edge 라우터를 사용한 다면 백본망에서 트래픽 관리와 패킷 전송 요구등올 단순 화시키고 네트워크 edge에서 복잡도를 부가하는 현재의 흐름에 부합할 수 있으며 또한 TCP 프로토콜 자체의 구 현에 있어서의 수정없이 더 나은 성능을 제공할 수 있을 것으로 본다. 즉,제안된 방안은 TCP의 트래픽 제어 루프 를 end-to-end 루프에서, 송신지로부터 제안된 방안이 구현된 액세스 망의 edge 라우터상의 경로로 트래픽 제어 루프를 줄임으로써 트래픽 제어의 반응이 더욱 빨라져 더 나은 결과를 얻을 수 있다는 것이다. 그리고,향후 연구과제로는 본 논문에서 제안하는 제어 방 식을 실제로 구현하여 LAN, WAN등과 같은 다양한 실 제 환경에서 성능을 확인해 보아야 할 것이며,제안된 방 안에서 좀 더 고려하여야 할 부분은 connection의 수가 중가함에 따른 processing overhead에 대한 해결책에 대 한 연구와 ACK delaying의 누적에 의해 발생되어질 수 있는 timeout에 대한 적응방안들에 대한 연구들이 요구된 다. < 그림 8 > RED에서의 수신 데이터 세그먼트 순차번호 그러나 제안하는 방안의 경우 < 그림 9〉의 세그먼트 순차 번호의 증가율을 살펴보면 모든 connection들이 거의 같 은 throughput을 갖는 것을 알 수 있다. 이것은 네트워크 에 대한 정보를 송신지 측으로 좀 더 빨리 반영하고 있다 는 것으로 해석 할 수 있으며 패킷 손실이 일어나고 있지 않다. 이는 서로 다른 여러 개의 connection들이 네트워 크의 상황에 대해 적절하게 예측하고 있어 패킷 손실 없이 서로 가용한 대역폭을 서로 거의 균등하게 차지하고 있음 올 뜻한다.

반응형